diff --git a/.gitea/workflows/api-governance.yml b/.gitea/workflows/api-governance.yml index 34a0e0ebd..235be7952 100644 --- a/.gitea/workflows/api-governance.yml +++ b/.gitea/workflows/api-governance.yml @@ -23,5 +23,27 @@ jobs: node-version: "18" - name: Install npm deps run: npm install --ignore-scripts --no-progress + - name: Compose aggregate OpenAPI + run: npm run api:compose + - name: Validate examples coverage + run: npm run api:examples + - name: Compatibility diff (previous commit) + run: | + set -e + if git show HEAD~1:src/Api/StellaOps.Api.OpenApi/stella.yaml > /tmp/stella-prev.yaml 2>/dev/null; then + node scripts/api-compat-diff.mjs /tmp/stella-prev.yaml src/Api/StellaOps.Api.OpenApi/stella.yaml --output text --fail-on-breaking + else + echo "[api:compat] previous stella.yaml not found; skipping" + fi + - name: Compatibility diff (baseline) + run: | + set -e + if [ -f src/Api/StellaOps.Api.OpenApi/baselines/stella-baseline.yaml ]; then + node scripts/api-compat-diff.mjs src/Api/StellaOps.Api.OpenApi/baselines/stella-baseline.yaml src/Api/StellaOps.Api.OpenApi/stella.yaml --output text + else + echo "[api:compat] baseline file missing; skipping" + fi + - name: Generate changelog + run: npm run api:changelog - name: Spectral lint (fail on warning+) run: npm run api:lint diff --git a/AGENTS.md b/AGENTS.md index 06a76a599..d9bbed491 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -154,14 +154,9 @@ It ships as containerised building blocks; each module owns a clear boundary and You will be explicitly told which role you are acting in. Your behavior must change accordingly. -Good catch. Here’s the same prompt updated with: - 1. Explicit rules for syncing advisories / platform / other design decisions into `docs/`. 2. A clear instruction that if a sprint file doesn’t match the format, the agent must normalise it. - -I’ll show only the modified sections so you can drop them in. - ---- +3. You never use `git reset` unless explicitly told to do so! ### 4.1) As product manager (updated) diff --git a/blocked_deps_report.txt b/blocked_deps_report.txt new file mode 100644 index 000000000..78b925b87 --- /dev/null +++ b/blocked_deps_report.txt @@ -0,0 +1,1646 @@ +docs/implplan/SPRINT_0110_0001_0001_ingestion_evidence.md:28 + Task: SBOM-AIAI-31-003 + Dependency text: SBOM-AIAI-31-001; CLI-VULN-29-001; CLI-VEX-30-001 + - SBOM-AIAI-31: UNKNOWN + - CLI-VULN-29: UNKNOWN + - CLI-VEX-30: UNKNOWN + +docs/implplan/SPRINT_0110_0001_0001_ingestion_evidence.md:29 + Task: DOCS-AIAI-31-005/006/008/009 + Dependency text: CLI-VULN-29-001; CLI-VEX-30-001; POLICY-ENGINE-31-001; DEVOPS-AIAI-31-001 + - CLI-VULN-29: UNKNOWN + - CLI-VEX-30: UNKNOWN + - POLICY-ENGINE-31: UNKNOWN + - DEVOPS-AIAI-31: UNKNOWN + +docs/implplan/SPRINT_0110_0001_0001_ingestion_evidence.md:32 + Task: CONCELIER-AIRGAP-56-001..58-001 + Dependency text: Await Mirror thin-bundle milestone dates and evidence bundle artifacts for offline chain + - No formal task IDs detected + +docs/implplan/SPRINT_0110_0001_0001_ingestion_evidence.md:33 + Task: CONCELIER-CONSOLE-23-001..003 + Dependency text: Console schema samples not yet published alongside frozen LNM; need evidence bundle identifiers + - No formal task IDs detected + +docs/implplan/SPRINT_0110_0001_0001_ingestion_evidence.md:34 + Task: CONCELIER-ATTEST-73-001/002 + Dependency text: Evidence Locker attestation scope sign-off still pending (due 2025-11-19) + - No formal task IDs detected + +docs/implplan/SPRINT_0110_0001_0001_ingestion_evidence.md:35 + Task: FEEDCONN-ICSCISA-02-012 / KISA-02-008 + Dependency text: Feed owner remediation plan + - No formal task IDs detected + +docs/implplan/SPRINT_0113_0001_0002_concelier_ii.md:26 + Task: CONCELIER-GRAPH-21-002 + Dependency text: Platform Events/Scheduler contract for `sbom.observation.updated` not defined; no event publisher plumbing in repo. + - No formal task IDs detected + +docs/implplan/SPRINT_0113_0001_0002_concelier_ii.md:30 + Task: CONCELIER-LNM-21-002 + Dependency text: Waiting on finalized LNM fixtures + precedence rules and event contract; confidence heuristic in place; broader tests deferred to CI + - No formal task IDs detected + +docs/implplan/SPRINT_0114_0001_0003_concelier_iii.md:23 + Task: CONCELIER-OAS-61-001 + Dependency text: LNM schema frozen 2025-11-17, but OpenAPI source/spec artifact not present in repo; need canonical spec to edit + - No formal task IDs detected + +docs/implplan/SPRINT_0114_0001_0003_concelier_iii.md:24 + Task: CONCELIER-OAS-61-002 + Dependency text: Depends on 61-001; blocked until OpenAPI spec is available + - No formal task IDs detected + +docs/implplan/SPRINT_0114_0001_0003_concelier_iii.md:25 + Task: CONCELIER-OAS-62-001 + Dependency text: Depends on 61-002; blocked with OAS chain + - No formal task IDs detected + +docs/implplan/SPRINT_0114_0001_0003_concelier_iii.md:26 + Task: CONCELIER-OAS-63-001 + Dependency text: Depends on 62-001; blocked with OAS chain + - No formal task IDs detected + +docs/implplan/SPRINT_0114_0001_0003_concelier_iii.md:27 + Task: CONCELIER-OBS-51-001 + Dependency text: Await observability spec (metrics names/labels, SLO burn rules) from DevOps; none present in repo + - No formal task IDs detected + +docs/implplan/SPRINT_0114_0001_0003_concelier_iii.md:28 + Task: CONCELIER-OBS-52-001 + Dependency text: Depends on 51-001 metrics contract; blocked accordingly + - No formal task IDs detected + +docs/implplan/SPRINT_0114_0001_0003_concelier_iii.md:29 + Task: CONCELIER-OBS-53-001 + Dependency text: Depends on 52-001; blocked until timeline instrumentation defined + - No formal task IDs detected + +docs/implplan/SPRINT_0114_0001_0003_concelier_iii.md:30 + Task: CONCELIER-OBS-54-001 + Dependency text: Depends on OBS timeline artifacts; no attestation contract yet + - No formal task IDs detected + +docs/implplan/SPRINT_0114_0001_0003_concelier_iii.md:31 + Task: CONCELIER-OBS-55-001 + Dependency text: Depends on 54-001; incident-mode hooks need finalized attestation/timeline shape + - No formal task IDs detected + +docs/implplan/SPRINT_0114_0001_0003_concelier_iii.md:32 + Task: CONCELIER-ORCH-32-001 + Dependency text: Orchestrator registry/SDK contract not published; no registry metadata to align + - No formal task IDs detected + +docs/implplan/SPRINT_0114_0001_0003_concelier_iii.md:33 + Task: CONCELIER-ORCH-32-002 + Dependency text: Depends on 32-001; blocked until orchestrator SDK/controls provided + - No formal task IDs detected + +docs/implplan/SPRINT_0114_0001_0003_concelier_iii.md:34 + Task: CONCELIER-ORCH-33-001 + Dependency text: Depends on 32-002; blocked with orchestrator contract gap + - No formal task IDs detected + +docs/implplan/SPRINT_0114_0001_0003_concelier_iii.md:35 + Task: CONCELIER-ORCH-34-001 + Dependency text: Depends on 33-001; blocked with orchestrator contract gap + - No formal task IDs detected + +docs/implplan/SPRINT_0114_0001_0003_concelier_iii.md:36 + Task: CONCELIER-POLICY-20-001 + Dependency text: LNM APIs not exposed via OpenAPI; depends on OAS chain (61-001..63-001) now blocked + - No formal task IDs detected + +docs/implplan/SPRINT_0115_0001_0004_concelier_iv.md:28 + Task: CONCELIER-RISK-66-001 + Dependency text: Blocked on POLICY-AUTH-SIGNALS-LIB-115 and POLICY chain. + - SIGNALS-LIB-115: UNKNOWN + +docs/implplan/SPRINT_0115_0001_0004_concelier_iv.md:29 + Task: CONCELIER-RISK-66-002 + Dependency text: Blocked on POLICY-AUTH-SIGNALS-LIB-115 and 66-001. + - SIGNALS-LIB-115: UNKNOWN + +docs/implplan/SPRINT_0115_0001_0004_concelier_iv.md:30 + Task: CONCELIER-RISK-67-001 + Dependency text: Blocked on POLICY-AUTH-SIGNALS-LIB-115 and 66-001. + - SIGNALS-LIB-115: UNKNOWN + +docs/implplan/SPRINT_0115_0001_0004_concelier_iv.md:31 + Task: CONCELIER-RISK-68-001 + Dependency text: Blocked on POLICY-AUTH-SIGNALS-LIB-115 and POLICY-RISK-68-001. + - SIGNALS-LIB-115: UNKNOWN + - POLICY-RISK-68: UNKNOWN + +docs/implplan/SPRINT_0115_0001_0004_concelier_iv.md:32 + Task: CONCELIER-RISK-69-001 + Dependency text: Blocked on POLICY-AUTH-SIGNALS-LIB-115 and 66-002. + - SIGNALS-LIB-115: UNKNOWN + +docs/implplan/SPRINT_0115_0001_0004_concelier_iv.md:33 + Task: CONCELIER-SIG-26-001 + Dependency text: Blocked on POLICY-AUTH-SIGNALS-LIB-115 delivering SIGNALS-24-002. + - SIGNALS-LIB-115: UNKNOWN + - SIGNALS-24-002: DOING + +docs/implplan/SPRINT_0115_0001_0004_concelier_iv.md:34 + Task: CONCELIER-STORE-AOC-19-005 + Dependency text: Depends on CONCELIER-CORE-AOC-19-004 + - CORE-AOC-19: UNKNOWN + +docs/implplan/SPRINT_0115_0001_0004_concelier_iv.md:35 + Task: CONCELIER-TEN-48-001 + Dependency text: Blocked on POLICY-AUTH-SIGNALS-LIB-115 delivering AUTH-TEN-47-001. + - SIGNALS-LIB-115: UNKNOWN + - AUTH-TEN-47: UNKNOWN + +docs/implplan/SPRINT_0115_0001_0004_concelier_iv.md:36 + Task: CONCELIER-VEXLENS-30-001 + Dependency text: Depends on CONCELIER-VULN-29-001, VEXLENS-30-005 + - CONCELIER-VULN-29: UNKNOWN + - VEXLENS-30-005: TODO + +docs/implplan/SPRINT_0116_0001_0005_concelier_v.md:26 + Task: CONCELIER-WEB-AIRGAP-57-001 + Dependency text: Depends on 56-002 + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0001_excititor_i.md:29 + Task: EXCITITOR-AIRGAP-56-001 + Dependency text: Waiting on Export Center mirror bundle schema (Sprint 162) to define ingestion shape. + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0001_excititor_i.md:30 + Task: EXCITITOR-AIRGAP-57-001 + Dependency text: Blocked on 56-001 schema; sealed-mode error catalog pending. + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0001_excititor_i.md:31 + Task: EXCITITOR-AIRGAP-58-001 + Dependency text: Depends on 57-001 plus EvidenceLocker portable format (160/161). + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0001_excititor_i.md:35 + Task: EXCITITOR-CONN-TRUST-01-001 + Dependency text: Connector signer metadata schema still unpublished post-2025-11-14 review. + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0001_excititor_i.md:88 + Task: Attestation verifier rehearsal (Excititor Attestation Guild) + Dependency text: If issues persist, log BLOCKED status in attestation plan and re-forecast completion. + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0002_excititor_ii.md:27 + Task: EXCITITOR-CONSOLE-23-001 + Dependency text: Awaiting concrete `/console/vex` API contract and grouping schema; LNM 21-* view spec not present. + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0002_excititor_ii.md:28 + Task: EXCITITOR-CONSOLE-23-002 + Dependency text: Depends on 23-001; need sprint-level contract for counters. + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0002_excititor_ii.md:29 + Task: EXCITITOR-CONSOLE-23-003 + Dependency text: Depends on 23-001; contract for caching/RBAC/precedence context pending. + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0002_excititor_ii.md:30 + Task: EXCITITOR-CORE-AOC-19-002 + Dependency text: Linkset extraction rules/ordering not documented. + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0002_excititor_ii.md:31 + Task: EXCITITOR-CORE-AOC-19-003 + Dependency text: Blocked on 19-002; design supersede chains. + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0002_excititor_ii.md:32 + Task: EXCITITOR-CORE-AOC-19-004 + Dependency text: Remove consensus after 19-003 in place. + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0002_excititor_ii.md:33 + Task: EXCITITOR-CORE-AOC-19-013 + Dependency text: Seed tenant-aware Authority clients in smoke/e2e once 19-004 lands. + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0002_excititor_ii.md:34 + Task: EXCITITOR-GRAPH-21-001 + Dependency text: Needs Cartographer API contract + data availability. + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0002_excititor_ii.md:35 + Task: EXCITITOR-GRAPH-21-002 + Dependency text: Blocked on 21-001. + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0002_excititor_ii.md:36 + Task: EXCITITOR-GRAPH-21-005 + Dependency text: Blocked on 21-002. + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0002_excititor_ii.md:37 + Task: EXCITITOR-GRAPH-24-101 + Dependency text: Wait for 21-005 indexes. + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0002_excititor_ii.md:38 + Task: EXCITITOR-GRAPH-24-102 + Dependency text: Depends on 24-101; design batch shape. + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0002_excititor_ii.md:45 + Task: Finalize `/console/vex` contract (23-001) and dashboard deltas (23-002). + Dependency text: 2025-11-18 + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0002_excititor_ii.md:46 + Task: Land linkset extraction + raw upsert uniqueness (19-002/003). + Dependency text: 2025-11-19 + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0002_excititor_ii.md:47 + Task: Remove merge/severity logic after idempotency in place (19-004). + Dependency text: 2025-11-20 + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0002_excititor_ii.md:48 + Task: Align inspector/linkout schemas to unblock 21-001/002/005. + Dependency text: 2025-11-21 + - No formal task IDs detected + +docs/implplan/SPRINT_0119_0001_0002_excititor_ii.md:76 + Task: Cartographer schema sync + Dependency text: Maintain BLOCKED status; deliver sample payloads for early testing. + - No formal task IDs detected + +docs/implplan/SPRINT_0120_0000_0001_policy_reasoning.md:45 + Task: LEDGER-29-008 + Dependency text: Await Observability schema sign-off + ledger write endpoint contract; 5 M fixture drop pending + - No formal task IDs detected + +docs/implplan/SPRINT_0120_0000_0001_policy_reasoning.md:46 + Task: LEDGER-29-009 + Dependency text: Depends on LEDGER-29-008 harness results (5 M replay + observability schema) + - LEDGER-29-008: BLOCKED + +docs/implplan/SPRINT_0120_0000_0001_policy_reasoning.md:47 + Task: LEDGER-34-101 + Dependency text: Orchestrator ledger export contract (Sprint 150.A) not published + - No formal task IDs detected + +docs/implplan/SPRINT_0120_0000_0001_policy_reasoning.md:48 + Task: LEDGER-AIRGAP-56-001 + Dependency text: Mirror bundle schema freeze outstanding + - No formal task IDs detected + +docs/implplan/SPRINT_0120_0000_0001_policy_reasoning.md:49 + Task: LEDGER-AIRGAP-56-002 + Dependency text: Depends on LEDGER-AIRGAP-56-001 provenance schema + - LEDGER-AIRGAP-56: TODO + +docs/implplan/SPRINT_0120_0000_0001_policy_reasoning.md:50 + Task: LEDGER-AIRGAP-57-001 + Dependency text: Depends on LEDGER-AIRGAP-56-002 staleness contract + - LEDGER-AIRGAP-56: TODO + +docs/implplan/SPRINT_0120_0000_0001_policy_reasoning.md:51 + Task: LEDGER-AIRGAP-58-001 + Dependency text: Depends on LEDGER-AIRGAP-57-001 bundle linkage + - LEDGER-AIRGAP-57: TODO + +docs/implplan/SPRINT_0120_0000_0001_policy_reasoning.md:52 + Task: LEDGER-ATTEST-73-001 + Dependency text: Attestation pointer schema alignment with NOTIFY-ATTEST-74-001 pending + - NOTIFY-ATTEST-74: UNKNOWN + +docs/implplan/SPRINT_0121_0001_0001_policy_reasoning.md:28 + Task: LEDGER-ATTEST-73-002 + Dependency text: Waiting on LEDGER-ATTEST-73-001 verification pipeline delivery + - LEDGER-ATTEST-73: UNKNOWN + +docs/implplan/SPRINT_0121_0001_0001_policy_reasoning.md:29 + Task: LEDGER-EXPORT-35-001 + Dependency text: No HTTP/API surface or contract to host export endpoints; needs API scaffold + filters spec + - No formal task IDs detected + +docs/implplan/SPRINT_0121_0001_0001_policy_reasoning.md:30 + Task: LEDGER-OAS-61-001 + Dependency text: Absent OAS baseline and API host for ledger; requires contract definition with API Guild + - No formal task IDs detected + +docs/implplan/SPRINT_0121_0001_0001_policy_reasoning.md:31 + Task: LEDGER-OAS-61-002 + Dependency text: Depends on 61-001 contract + HTTP surface + - No formal task IDs detected + +docs/implplan/SPRINT_0121_0001_0001_policy_reasoning.md:32 + Task: LEDGER-OAS-62-001 + Dependency text: SDK generation pending 61-002 + - No formal task IDs detected + +docs/implplan/SPRINT_0121_0001_0001_policy_reasoning.md:33 + Task: LEDGER-OAS-63-001 + Dependency text: Dependent on SDK validation (62-001) + - No formal task IDs detected + +docs/implplan/SPRINT_0121_0001_0001_policy_reasoning.md:38 + Task: LEDGER-OBS-54-001 + Dependency text: No HTTP surface/minimal API present in module to host `/ledger/attestations`; needs API contract + service scaffold + - No formal task IDs detected + +docs/implplan/SPRINT_0121_0001_0001_policy_reasoning.md:39 + Task: LEDGER-OBS-55-001 + Dependency text: Depends on 54-001 attestation API availability + - No formal task IDs detected + +docs/implplan/SPRINT_0121_0001_0001_policy_reasoning.md:40 + Task: LEDGER-PACKS-42-001 + Dependency text: Snapshot/time-travel contract and bundle format not specified; needs design input + - No formal task IDs detected + +docs/implplan/SPRINT_0121_0001_0001_policy_reasoning.md:41 + Task: LEDGER-RISK-66-001 + Dependency text: Risk Engine schema/contract inputs absent; requires risk field definitions + rollout plan + - No formal task IDs detected + +docs/implplan/SPRINT_0121_0001_0001_policy_reasoning.md:42 + Task: LEDGER-RISK-66-002 + Dependency text: Depends on 66-001 migration + risk scoring contract + - No formal task IDs detected + +docs/implplan/SPRINT_0122_0001_0001_policy_reasoning.md:27 + Task: LEDGER-RISK-67-001 + Dependency text: Depends on risk scoring contract + migrations from LEDGER-RISK-66-002 + - LEDGER-RISK-66: UNKNOWN + +docs/implplan/SPRINT_0122_0001_0001_policy_reasoning.md:28 + Task: LEDGER-RISK-68-001 + Dependency text: Await unblock of 67-001 + Export Center contract for scored findings + - No formal task IDs detected + +docs/implplan/SPRINT_0122_0001_0001_policy_reasoning.md:29 + Task: LEDGER-RISK-69-001 + Dependency text: Requires 67-001/68-001 to define metrics dimensions + - No formal task IDs detected + +docs/implplan/SPRINT_0122_0001_0001_policy_reasoning.md:30 + Task: LEDGER-TEN-48-001 + Dependency text: Needs platform-approved partitioning + RLS policy (tenant/project shape, session variables) + - No formal task IDs detected + +docs/implplan/SPRINT_0123_0001_0001_policy_reasoning.md:23 + Task: EXPORT-CONSOLE-23-001 + Dependency text: Missing export bundle contract/API surface and scheduler job spec for Console. + - No formal task IDs detected + +docs/implplan/SPRINT_0123_0001_0001_policy_reasoning.md:24 + Task: POLICY-AIRGAP-56-001 + Dependency text: Mirror bundle schema not published; requires bundle_id/provenance fields + sealed-mode rules. + - No formal task IDs detected + +docs/implplan/SPRINT_0123_0001_0001_policy_reasoning.md:25 + Task: POLICY-AIRGAP-56-002 + Dependency text: Depends on 56-001 bundle import schema + DSSE signing profile. + - No formal task IDs detected + +docs/implplan/SPRINT_0123_0001_0001_policy_reasoning.md:26 + Task: POLICY-AIRGAP-57-001 + Dependency text: Requires sealed-mode contract after 56-002. + - No formal task IDs detected + +docs/implplan/SPRINT_0123_0001_0001_policy_reasoning.md:27 + Task: POLICY-AIRGAP-57-002 + Dependency text: Needs staleness/fallback data contract from 57-001. + - No formal task IDs detected + +docs/implplan/SPRINT_0123_0001_0001_policy_reasoning.md:28 + Task: POLICY-AIRGAP-58-001 + Dependency text: Notification schema and staleness signals pending from 57-002. + - No formal task IDs detected + +docs/implplan/SPRINT_0123_0001_0001_policy_reasoning.md:29 + Task: POLICY-AOC-19-001 + Dependency text: Linting targets/spec absent; no analyzer contract. + - No formal task IDs detected + +docs/implplan/SPRINT_0123_0001_0001_policy_reasoning.md:30 + Task: POLICY-AOC-19-002 + Dependency text: Depends on 19-001 lint + Authority `effective:write` contract. + - No formal task IDs detected + +docs/implplan/SPRINT_0123_0001_0001_policy_reasoning.md:31 + Task: POLICY-AOC-19-003 + Dependency text: Requires post-19-002 normalized-field removal contract/fixtures. + - No formal task IDs detected + +docs/implplan/SPRINT_0123_0001_0001_policy_reasoning.md:32 + Task: POLICY-AOC-19-004 + Dependency text: Depends on 19-003 shape + determinism fixtures. + - No formal task IDs detected + +docs/implplan/SPRINT_0123_0001_0001_policy_reasoning.md:33 + Task: POLICY-ATTEST-73-001 + Dependency text: VerificationPolicy schema/persistence contract missing; Attestor alignment needed. + - No formal task IDs detected + +docs/implplan/SPRINT_0123_0001_0001_policy_reasoning.md:34 + Task: POLICY-ATTEST-73-002 + Dependency text: Depends on 73-001 editor DTOs/validation schema. + - No formal task IDs detected + +docs/implplan/SPRINT_0123_0001_0001_policy_reasoning.md:35 + Task: POLICY-ATTEST-74-001 + Dependency text: Requires 73-002 + Attestor pipeline contract. + - No formal task IDs detected + +docs/implplan/SPRINT_0123_0001_0001_policy_reasoning.md:36 + Task: POLICY-ATTEST-74-002 + Dependency text: Needs 74-001 surfaced in Console verification reports contract. + - No formal task IDs detected + +docs/implplan/SPRINT_0123_0001_0001_policy_reasoning.md:37 + Task: POLICY-CONSOLE-23-001 + Dependency text: Console API contract (filters/pagination/aggregation) absent. + - No formal task IDs detected + +docs/implplan/SPRINT_0124_0001_0001_policy_reasoning.md:22 + Task: POLICY-ENGINE-20-002 + Dependency text: Deterministic evaluator spec missing. + - No formal task IDs detected + +docs/implplan/SPRINT_0125_0001_0001_mirror.md:23 + Task: MIRROR-CRT-56-001 + Dependency text: Upstream Sprint 110.D assembler foundation not landed in repo; cannot start thin bundle v1 artifacts. + - No formal task IDs detected + +docs/implplan/SPRINT_0125_0001_0001_mirror.md:24 + Task: MIRROR-CRT-56-002 + Dependency text: Depends on MIRROR-CRT-56-001 and PROV-OBS-53-001; upstream assembler missing. + - MIRROR-CRT-56: UNKNOWN + - PROV-OBS-53: UNKNOWN + +docs/implplan/SPRINT_0125_0001_0001_mirror.md:25 + Task: MIRROR-CRT-57-001 + Dependency text: Requires MIRROR-CRT-56-001; assembler foundation missing. + - MIRROR-CRT-56: UNKNOWN + +docs/implplan/SPRINT_0125_0001_0001_mirror.md:26 + Task: MIRROR-CRT-57-002 + Dependency text: Needs MIRROR-CRT-56-002 and AIRGAP-TIME-57-001; waiting on assembler/signing baseline. + - MIRROR-CRT-56: UNKNOWN + - AIRGAP-TIME-57: UNKNOWN + +docs/implplan/SPRINT_0125_0001_0001_mirror.md:27 + Task: MIRROR-CRT-58-001 + Dependency text: Requires MIRROR-CRT-56-002 and CLI-AIRGAP-56-001; downstream until assembler exists. + - MIRROR-CRT-56: UNKNOWN + - CLI-AIRGAP-56: UNKNOWN + +docs/implplan/SPRINT_0125_0001_0001_mirror.md:28 + Task: MIRROR-CRT-58-002 + Dependency text: Depends on MIRROR-CRT-56-002 and EXPORT-OBS-54-001; waiting on sample bundles. + - MIRROR-CRT-56: UNKNOWN + - EXPORT-OBS-54: UNKNOWN + +docs/implplan/SPRINT_0125_0001_0001_mirror.md:29 + Task: EXPORT-OBS-51-001 / 54-001 + Dependency text: MIRROR-CRT-56-001 staffing and artifacts not available. + - MIRROR-CRT-56: UNKNOWN + +docs/implplan/SPRINT_0125_0001_0001_mirror.md:30 + Task: AIRGAP-TIME-57-001 + Dependency text: MIRROR-CRT-56-001/57-002 pending; policy workshop contingent on sample bundles. + - MIRROR-CRT-56: UNKNOWN + +docs/implplan/SPRINT_0125_0001_0001_mirror.md:31 + Task: CLI-AIRGAP-56-001 + Dependency text: MIRROR-CRT-56-002/58-001 pending; offline kit inputs unavailable. + - MIRROR-CRT-56: UNKNOWN + +docs/implplan/SPRINT_0125_0001_0001_mirror.md:32 + Task: PROV-OBS-53-001 + Dependency text: MIRROR-CRT-56-001 absent; cannot wire observers. + - MIRROR-CRT-56: UNKNOWN + +docs/implplan/SPRINT_0125_0001_0001_policy_reasoning.md:20 + Task: POLICY-ENGINE-29-003 + Dependency text: Waiting on POLICY-ENGINE-29-002 contract (path/scope schema). + - POLICY-ENGINE-29: UNKNOWN + +docs/implplan/SPRINT_0125_0001_0001_policy_reasoning.md:21 + Task: POLICY-ENGINE-29-004 + Dependency text: Depends on 29-003. + - No formal task IDs detected + +docs/implplan/SPRINT_0125_0001_0001_policy_reasoning.md:22 + Task: POLICY-ENGINE-30-001 + Dependency text: Needs 29-004 outputs. + - No formal task IDs detected + +docs/implplan/SPRINT_0125_0001_0001_policy_reasoning.md:23 + Task: POLICY-ENGINE-30-002 + Dependency text: Depends on 30-001. + - No formal task IDs detected + +docs/implplan/SPRINT_0125_0001_0001_policy_reasoning.md:24 + Task: POLICY-ENGINE-30-003 + Dependency text: Depends on 30-002. + - No formal task IDs detected + +docs/implplan/SPRINT_0125_0001_0001_policy_reasoning.md:25 + Task: POLICY-ENGINE-30-101 + Dependency text: Depends on 30-003. + - No formal task IDs detected + +docs/implplan/SPRINT_0125_0001_0001_policy_reasoning.md:26 + Task: POLICY-ENGINE-31-001 + Dependency text: Depends on 30-101. + - No formal task IDs detected + +docs/implplan/SPRINT_0125_0001_0001_policy_reasoning.md:27 + Task: POLICY-ENGINE-31-002 + Dependency text: Depends on 31-001. + - No formal task IDs detected + +docs/implplan/SPRINT_0125_0001_0001_policy_reasoning.md:28 + Task: POLICY-ENGINE-32-101 + Dependency text: Depends on 31-002. + - No formal task IDs detected + +docs/implplan/SPRINT_0125_0001_0001_policy_reasoning.md:29 + Task: POLICY-ENGINE-33-101 + Dependency text: Depends on 32-101. + - No formal task IDs detected + +docs/implplan/SPRINT_0125_0001_0001_policy_reasoning.md:30 + Task: POLICY-ENGINE-34-101 + Dependency text: Depends on 33-101. + - No formal task IDs detected + +docs/implplan/SPRINT_0125_0001_0001_policy_reasoning.md:31 + Task: POLICY-ENGINE-35-201 + Dependency text: Depends on 34-101. + - No formal task IDs detected + +docs/implplan/SPRINT_0125_0001_0001_policy_reasoning.md:32 + Task: POLICY-ENGINE-38-201 + Dependency text: Depends on 35-201. + - No formal task IDs detected + +docs/implplan/SPRINT_0125_0001_0001_policy_reasoning.md:33 + Task: POLICY-ENGINE-40-001 + Dependency text: Depends on 38-201. + - No formal task IDs detected + +docs/implplan/SPRINT_0125_0001_0001_policy_reasoning.md:34 + Task: POLICY-ENGINE-40-002 + Dependency text: Depends on 40-001. + - No formal task IDs detected + +docs/implplan/SPRINT_0127_0001_0001_policy_reasoning.md:29 + Task: POLICY-RISK-66-001 + Dependency text: RiskProfile library scaffold absent (`src/Policy/StellaOps.Policy.RiskProfile` contains only AGENTS.md); need project + storage contract to place schema/validators. + - No formal task IDs detected + +docs/implplan/SPRINT_0131_0001_0001_scanner_surface.md:27 + Task: SCANNER-ANALYZERS-JAVA-21-005 + Dependency text: Tests blocked: repo build fails in Concelier (CoreLinksets missing) and targeted Java analyzer test run stalls; retry once dependencies fixed or CI available. + - No formal task IDs detected + +docs/implplan/SPRINT_0131_0001_0001_scanner_surface.md:30 + Task: SCANNER-ANALYZERS-JAVA-21-008 + Dependency text: Waiting on 21-007 completion and resolver authoring bandwidth. + - No formal task IDs detected + +docs/implplan/SPRINT_0131_0001_0001_scanner_surface.md:34 + Task: SCANNER-ANALYZERS-LANG-11-001 + Dependency text: `dotnet test` hangs/returns empty output; needs clean runner/CI diagnostics. + - No formal task IDs detected + +docs/implplan/SPRINT_0132_0001_0001_scanner_surface.md:25 + Task: SCANNER-ANALYZERS-LANG-11-002 + Dependency text: Await upstream SCANNER-ANALYZERS-LANG-11-001 design/outputs to extend static analyzer + - ANALYZERS-LANG-11: UNKNOWN + +docs/implplan/SPRINT_0132_0001_0001_scanner_surface.md:26 + Task: SCANNER-ANALYZERS-LANG-11-003 + Dependency text: Depends on 11-002; blocked until upstream static analyzer available + - No formal task IDs detected + +docs/implplan/SPRINT_0132_0001_0001_scanner_surface.md:27 + Task: SCANNER-ANALYZERS-LANG-11-004 + Dependency text: Depends on 11-003; no upstream static/runtime outputs yet + - No formal task IDs detected + +docs/implplan/SPRINT_0132_0001_0001_scanner_surface.md:28 + Task: SCANNER-ANALYZERS-LANG-11-005 + Dependency text: Depends on 11-004; fixtures deferred until analyzer outputs exist + - No formal task IDs detected + +docs/implplan/SPRINT_0132_0001_0001_scanner_surface.md:30 + Task: SCANNER-ANALYZERS-NATIVE-20-002 + Dependency text: Await declared-dependency writer/contract to emit edges + - No formal task IDs detected + +docs/implplan/SPRINT_0132_0001_0001_scanner_surface.md:39 + Task: SCANNER-ANALYZERS-NODE-22-001 + Dependency text: Needs isolated runner or scoped build graph to execute targeted tests without full-solution fan-out + - No formal task IDs detected + +docs/implplan/SPRINT_0133_0001_0001_scanner_surface.md:22 + Task: SCANNER-ANALYZERS-NODE-22-006 + Dependency text: Upstream 22-005 not delivered in Sprint 0132; waiting on bundle/source-map resolver baseline. + - No formal task IDs detected + +docs/implplan/SPRINT_0133_0001_0001_scanner_surface.md:23 + Task: SCANNER-ANALYZERS-NODE-22-007 + Dependency text: Upstream 22-006 blocked. + - No formal task IDs detected + +docs/implplan/SPRINT_0133_0001_0001_scanner_surface.md:24 + Task: SCANNER-ANALYZERS-NODE-22-008 + Dependency text: Upstream 22-007 blocked. + - No formal task IDs detected + +docs/implplan/SPRINT_0138_0000_0001_scanner_ruby_parity.md:24 + Task: SCANNER-ENG-0010 + Dependency text: Await composer/autoload graph design + staffing; no PHP analyzer scaffolding exists yet. + - No formal task IDs detected + +docs/implplan/SPRINT_0138_0000_0001_scanner_ruby_parity.md:25 + Task: SCANNER-ENG-0011 + Dependency text: Needs Deno runtime analyzer scope + lockfile/import graph design; pending competitive review. + - No formal task IDs detected + +docs/implplan/SPRINT_0138_0000_0001_scanner_ruby_parity.md:26 + Task: SCANNER-ENG-0012 + Dependency text: Define Dart analyzer requirements (pubspec parsing, AOT artifacts) and split into tasks. + - No formal task IDs detected + +docs/implplan/SPRINT_0138_0000_0001_scanner_ruby_parity.md:27 + Task: SCANNER-ENG-0013 + Dependency text: Draft SwiftPM coverage plan; align policy hooks; awaiting design kick-off. + - No formal task IDs detected + +docs/implplan/SPRINT_0138_0000_0001_scanner_ruby_parity.md:28 + Task: SCANNER-ENG-0014 + Dependency text: Needs joint roadmap with Zastava/Runtime guilds for Kubernetes/VM alignment. + - No formal task IDs detected + +docs/implplan/SPRINT_0140_0001_0001_runtime_signals.md:28 + Task: 140.B SBOM Service wave + Dependency text: LNM v1 fixtures overdue; AirGap parity review not scheduled; SBOM-SERVICE-21-001 remains blocked pending fixtures. + - SBOM-SERVICE-21: UNKNOWN + +docs/implplan/SPRINT_0140_0001_0001_runtime_signals.md:30 + Task: 140.D Zastava wave + Dependency text: Waiting on Surface.FS cache drop plan + Surface.Env helper ownership. + - No formal task IDs detected + +docs/implplan/SPRINT_0140_0001_0001_runtime_signals.md:83 + Task: SBOM Service Guild · Cartographer Guild · Observability Guild + Dependency text: BLOCKED + - No formal task IDs detected + +docs/implplan/SPRINT_0140_0001_0001_runtime_signals.md:85 + Task: Zastava Observer/Webhook Guilds · Security Guild + Dependency text: BLOCKED + - No formal task IDs detected + +docs/implplan/SPRINT_0140_0001_0001_runtime_signals.md:221 + Task: 2025-11-14 + Dependency text: Requires `CONCELIER-GRAPH-21-001` + `CARTO-GRAPH-21-002` agreement; AirGap review scheduled after sign-off. + - CONCELIER-GRAPH-21: UNKNOWN + - CARTO-GRAPH-21: UNKNOWN + +docs/implplan/SPRINT_0141_0001_0001_graph_indexer.md:24 + Task: GRAPH-INDEX-28-007 + Dependency text: Waiting on GRAPH-INDEX-28-006 overlays + schedule config design + - GRAPH-INDEX-28: UNKNOWN + +docs/implplan/SPRINT_0141_0001_0001_graph_indexer.md:25 + Task: GRAPH-INDEX-28-008 + Dependency text: Unblock after 28-007; confirm change streams + retry/backoff settings + - No formal task IDs detected + +docs/implplan/SPRINT_0141_0001_0001_graph_indexer.md:26 + Task: GRAPH-INDEX-28-009 + Dependency text: Downstream of 28-008 data paths + - No formal task IDs detected + +docs/implplan/SPRINT_0141_0001_0001_graph_indexer.md:27 + Task: GRAPH-INDEX-28-010 + Dependency text: Needs outputs from 28-009; align with Offline Kit owners + - No formal task IDs detected + +docs/implplan/SPRINT_0142_0001_0001_sbomservice.md:24 + Task: SBOM-CONSOLE-23-001 + Dependency text: Build/test failing due to missing NuGet feed; need feed/offline cache before wiring storage and validating `/console/sboms`. + - No formal task IDs detected + +docs/implplan/SPRINT_0142_0001_0001_sbomservice.md:29 + Task: SBOM-SERVICE-21-001 + Dependency text: Waiting on LNM v1 fixtures (due 2025-11-18 UTC) to freeze schema; then publish normalized SBOM projection read API with pagination + tenant enforcement. + - No formal task IDs detected + +docs/implplan/SPRINT_0142_0001_0001_sbomservice.md:44 + Task: Build/Infra · SBOM Service Guild + Dependency text: BLOCKED (multiple restore attempts still hang/fail; need vetted feed/cache) + - No formal task IDs detected + +docs/implplan/SPRINT_0143_0000_0001_signals.md:26 + Task: SIGNALS-24-005 + Dependency text: Redis cache implemented; awaiting real bus/topic + payload contract to replace placeholder `signals.fact.updated` logging. + - No formal task IDs detected + +docs/implplan/SPRINT_0151_0001_0001_orchestrator_i.md:22 + Task: ORCH-AIRGAP-56-001 + Dependency text: Await Sprint 0120.A AirGap readiness; sealed-mode contracts not published. + - No formal task IDs detected + +docs/implplan/SPRINT_0151_0001_0001_orchestrator_i.md:23 + Task: ORCH-AIRGAP-56-002 + Dependency text: Upstream 56-001 blocked. + - No formal task IDs detected + +docs/implplan/SPRINT_0151_0001_0001_orchestrator_i.md:24 + Task: ORCH-AIRGAP-57-001 + Dependency text: Upstream 56-002 blocked. + - No formal task IDs detected + +docs/implplan/SPRINT_0151_0001_0001_orchestrator_i.md:25 + Task: ORCH-AIRGAP-58-001 + Dependency text: Upstream 57-001 blocked. + - No formal task IDs detected + +docs/implplan/SPRINT_0151_0001_0001_orchestrator_i.md:26 + Task: ORCH-OAS-61-001 + Dependency text: Orchestrator telemetry/contract inputs not available; wait for 150.A readiness. + - No formal task IDs detected + +docs/implplan/SPRINT_0151_0001_0001_orchestrator_i.md:27 + Task: ORCH-OAS-61-002 + Dependency text: Depends on 61-001. + - No formal task IDs detected + +docs/implplan/SPRINT_0151_0001_0001_orchestrator_i.md:28 + Task: ORCH-OAS-62-001 + Dependency text: Depends on 61-002. + - No formal task IDs detected + +docs/implplan/SPRINT_0151_0001_0001_orchestrator_i.md:29 + Task: ORCH-OAS-63-001 + Dependency text: Depends on 62-001. + - No formal task IDs detected + +docs/implplan/SPRINT_0151_0001_0001_orchestrator_i.md:30 + Task: ORCH-OBS-50-001 + Dependency text: Telemetry Core (Sprint 0174) not yet available for orchestrator host. + - No formal task IDs detected + +docs/implplan/SPRINT_0151_0001_0001_orchestrator_i.md:31 + Task: ORCH-OBS-51-001 + Dependency text: Depends on 50-001 + Telemetry schema. + - No formal task IDs detected + +docs/implplan/SPRINT_0151_0001_0001_orchestrator_i.md:32 + Task: ORCH-OBS-52-001 + Dependency text: Depends on 51-001; requires event schema from Sprint 0150.A. + - No formal task IDs detected + +docs/implplan/SPRINT_0151_0001_0001_orchestrator_i.md:33 + Task: ORCH-OBS-53-001 + Dependency text: Depends on 52-001; Evidence Locker capsule inputs not frozen. + - No formal task IDs detected + +docs/implplan/SPRINT_0151_0001_0001_orchestrator_i.md:34 + Task: ORCH-OBS-54-001 + Dependency text: Depends on 53-001. + - No formal task IDs detected + +docs/implplan/SPRINT_0151_0001_0001_orchestrator_i.md:35 + Task: ORCH-OBS-55-001 + Dependency text: Depends on 54-001; incident contract absent. + - No formal task IDs detected + +docs/implplan/SPRINT_0151_0001_0001_orchestrator_i.md:36 + Task: ORCH-SVC-32-001 + Dependency text: Upstream readiness (AirGap/Scanner/Graph) not confirmed; postpone bootstrap. + - No formal task IDs detected + +docs/implplan/SPRINT_0153_0001_0003_orchestrator_iii.md:22 + Task: ORCH-SVC-38-101 + Dependency text: Waiting on ORCH-SVC-37-101 envelope field/semantics approval; webservice DAL still missing. + - ORCH-SVC-37: UNKNOWN + +docs/implplan/SPRINT_0153_0001_0003_orchestrator_iii.md:23 + Task: ORCH-SVC-41-101 + Dependency text: Depends on 38-101 envelope + DAL; cannot register pack-run without API/storage schema. + - No formal task IDs detected + +docs/implplan/SPRINT_0153_0001_0003_orchestrator_iii.md:24 + Task: ORCH-SVC-42-101 + Dependency text: Depends on 41-101 pack-run plumbing and streaming contract. + - No formal task IDs detected + +docs/implplan/SPRINT_0153_0001_0003_orchestrator_iii.md:25 + Task: ORCH-TEN-48-001 + Dependency text: WebService lacks job DAL/routes; need tenant context plumbing before enforcement. + - No formal task IDs detected + +docs/implplan/SPRINT_0155_0001_0001_scheduler_i.md:24 + Task: SCHED-SURFACE-01 + Dependency text: Need Surface.FS pointer model/contract; awaiting design input before planning deltas. + - No formal task IDs detected + +docs/implplan/SPRINT_0155_0001_0001_scheduler_i.md:29 + Task: SCHED-WORKER-23-101 + Dependency text: Waiting on Policy guild to supply activation event contract and throttle source. + - No formal task IDs detected + +docs/implplan/SPRINT_0155_0001_0001_scheduler_i.md:30 + Task: SCHED-WORKER-23-102 + Dependency text: Blocked by SCHED-WORKER-23-101. + - SCHED-WORKER-23: UNKNOWN + +docs/implplan/SPRINT_0155_0001_0001_scheduler_i.md:31 + Task: SCHED-WORKER-25-101 + Dependency text: Blocked by SCHED-WORKER-23-102. + - SCHED-WORKER-23: UNKNOWN + +docs/implplan/SPRINT_0155_0001_0001_scheduler_i.md:32 + Task: SCHED-WORKER-25-102 + Dependency text: Blocked by SCHED-WORKER-25-101. + - SCHED-WORKER-25: UNKNOWN + +docs/implplan/SPRINT_0155_0001_0001_scheduler_i.md:33 + Task: SCHED-WORKER-26-201 + Dependency text: Blocked by SCHED-WORKER-25-102. + - SCHED-WORKER-25: UNKNOWN + +docs/implplan/SPRINT_0156_0001_0002_scheduler_ii.md:23 + Task: SCHED-WORKER-26-202 + Dependency text: Blocked by SCHED-WORKER-26-201 (reachability joiner not delivered yet). + - SCHED-WORKER-26: UNKNOWN + +docs/implplan/SPRINT_0156_0001_0002_scheduler_ii.md:24 + Task: SCHED-WORKER-27-301 + Dependency text: Blocked by SCHED-WORKER-26-202. + - SCHED-WORKER-26: UNKNOWN + +docs/implplan/SPRINT_0156_0001_0002_scheduler_ii.md:25 + Task: SCHED-WORKER-27-302 + Dependency text: Blocked by SCHED-WORKER-27-301. + - SCHED-WORKER-27: UNKNOWN + +docs/implplan/SPRINT_0156_0001_0002_scheduler_ii.md:26 + Task: SCHED-WORKER-27-303 + Dependency text: Blocked by SCHED-WORKER-27-302. + - SCHED-WORKER-27: UNKNOWN + +docs/implplan/SPRINT_0156_0001_0002_scheduler_ii.md:27 + Task: SCHED-WORKER-29-001 + Dependency text: Blocked by SCHED-WORKER-27-303. + - SCHED-WORKER-27: UNKNOWN + +docs/implplan/SPRINT_0156_0001_0002_scheduler_ii.md:28 + Task: SCHED-WORKER-29-002 + Dependency text: Blocked by SCHED-WORKER-29-001. + - SCHED-WORKER-29: UNKNOWN + +docs/implplan/SPRINT_0156_0001_0002_scheduler_ii.md:29 + Task: SCHED-WORKER-29-003 + Dependency text: Blocked by SCHED-WORKER-29-002. + - SCHED-WORKER-29: UNKNOWN + +docs/implplan/SPRINT_0156_0001_0002_scheduler_ii.md:30 + Task: SCHED-WORKER-CONSOLE-23-201 + Dependency text: Blocked by upstream stream schema design; depends on prior resolver/eval pipeline readiness. + - No formal task IDs detected + +docs/implplan/SPRINT_0156_0001_0002_scheduler_ii.md:31 + Task: SCHED-WORKER-CONSOLE-23-202 + Dependency text: Blocked by CONSOLE-23-201. + - CONSOLE-23-201: UNKNOWN + +docs/implplan/SPRINT_0160_0001_0001_export_evidence.md:28 + Task: 160.C TimelineIndexer snapshot + Dependency text: Waiting on OBS-52-001 digest references; schemas available. Prep migrations/RLS draft. + - OBS-52-001: TODO + +docs/implplan/SPRINT_0160_0001_0001_export_evidence.md:34 + Task: Evidence Locker Guild · Security Guild · Docs Guild + Dependency text: BLOCKED (2025-11-17) + - No formal task IDs detected + +docs/implplan/SPRINT_0160_0001_0001_export_evidence.md:35 + Task: Exporter Service Guild · Mirror Creator Guild · DevOps Guild + Dependency text: BLOCKED (2025-11-17) + - No formal task IDs detected + +docs/implplan/SPRINT_0160_0001_0001_export_evidence.md:36 + Task: Timeline Indexer Guild · Evidence Locker Guild · Security Guild + Dependency text: BLOCKED (2025-11-17) + - No formal task IDs detected + +docs/implplan/SPRINT_0160_0001_0001_export_evidence.md:113 + Task: Orchestrator + Notifications schema handoff (Orchestrator Service + Notifications Guilds) + Dependency text: MISSED; escalate to Wave 150/140 leads and record new ETA; keep tasks BLOCKED. + - No formal task IDs detected + +docs/implplan/SPRINT_0160_0001_0001_export_evidence.md:116 + Task: Escalation follow-up (AdvisoryAI, Orchestrator/Notifications) + Dependency text: If no dates provided, mark BLOCKED in respective sprints and escalate to Wave leads. + - No formal task IDs detected + +docs/implplan/SPRINT_0160_0001_0001_export_evidence.md:151 + Task: 160.A, 160.B, 160.C + Dependency text: Escalate to Wave 150/140 leads, record BLOCKED status in both sprint docs, and schedule daily schema stand-ups until envelopes land. + - No formal task IDs detected + +docs/implplan/SPRINT_0161_0001_0001_evidencelocker.md:28 + Task: EVID-REPLAY-187-001 + Dependency text: Await replay ledger retention shape; schemas available. + - No formal task IDs detected + +docs/implplan/SPRINT_0161_0001_0001_evidencelocker.md:29 + Task: CLI-REPLAY-187-002 + Dependency text: Waiting on EvidenceLocker APIs after bundle packaging finalization. + - No formal task IDs detected + +docs/implplan/SPRINT_0161_0001_0001_evidencelocker.md:30 + Task: RUNBOOK-REPLAY-187-004 + Dependency text: Depends on retention APIs + CLI behavior. + - No formal task IDs detected + +docs/implplan/SPRINT_0161_0001_0001_evidencelocker.md:37 + Task: Evidence Locker Guild + Dependency text: BLOCKED (schemas not yet delivered) + - No formal task IDs detected + +docs/implplan/SPRINT_0161_0001_0001_evidencelocker.md:38 + Task: Evidence Locker Guild · Replay Delivery Guild + Dependency text: BLOCKED (awaiting schema signals) + - No formal task IDs detected + +docs/implplan/SPRINT_0162_0001_0001_exportcenter_i.md:24 + Task: DVOFF-64-002 + Dependency text: Needs sealed bundle spec + sample manifest for CLI verify flow; due for Nov-19 dry run. + - No formal task IDs detected + +docs/implplan/SPRINT_0162_0001_0001_exportcenter_i.md:25 + Task: EXPORT-AIRGAP-56-001 + Dependency text: EvidenceLocker contract + advisory schema to finalize DSSE contents. + - No formal task IDs detected + +docs/implplan/SPRINT_0162_0001_0001_exportcenter_i.md:26 + Task: EXPORT-AIRGAP-56-002 + Dependency text: Depends on 56-001; same schema prerequisites. + - No formal task IDs detected + +docs/implplan/SPRINT_0162_0001_0001_exportcenter_i.md:27 + Task: EXPORT-AIRGAP-57-001 + Dependency text: Depends on 56-002; needs sealed evidence bundle format. + - No formal task IDs detected + +docs/implplan/SPRINT_0162_0001_0001_exportcenter_i.md:28 + Task: EXPORT-AIRGAP-58-001 + Dependency text: Depends on 57-001; needs notifications envelope schema. + - No formal task IDs detected + +docs/implplan/SPRINT_0162_0001_0001_exportcenter_i.md:29 + Task: EXPORT-ATTEST-74-001 + Dependency text: Needs EvidenceLocker bundle layout + orchestration events. + - No formal task IDs detected + +docs/implplan/SPRINT_0162_0001_0001_exportcenter_i.md:30 + Task: EXPORT-ATTEST-74-002 + Dependency text: Depends on 74-001. + - No formal task IDs detected + +docs/implplan/SPRINT_0162_0001_0001_exportcenter_i.md:31 + Task: EXPORT-ATTEST-75-001 + Dependency text: Depends on 74-002; needs CLI contract. + - No formal task IDs detected + +docs/implplan/SPRINT_0162_0001_0001_exportcenter_i.md:32 + Task: EXPORT-ATTEST-75-002 + Dependency text: Depends on 75-001. + - No formal task IDs detected + +docs/implplan/SPRINT_0162_0001_0001_exportcenter_i.md:33 + Task: EXPORT-OAS-61-001 + Dependency text: Needs stable export surfaces; await EvidenceLocker contract. + - No formal task IDs detected + +docs/implplan/SPRINT_0162_0001_0001_exportcenter_i.md:34 + Task: EXPORT-OAS-61-002 + Dependency text: Depends on 61-001. + - No formal task IDs detected + +docs/implplan/SPRINT_0162_0001_0001_exportcenter_i.md:35 + Task: EXPORT-OAS-62-001 + Dependency text: Depends on 61-002. + - No formal task IDs detected + +docs/implplan/SPRINT_0162_0001_0001_exportcenter_i.md:40 + Task: Exporter Service · EvidenceLocker Guild + Dependency text: BLOCKED (awaits EvidenceLocker contract) + - No formal task IDs detected + +docs/implplan/SPRINT_0162_0001_0001_exportcenter_i.md:55 + Task: Orchestrator + Notifications schema handoff + Dependency text: If not ready, keep tasks BLOCKED and escalate to Wave 150/140 leads. + - No formal task IDs detected + +docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md:23 + Task: EXPORT-OAS-63-001 + Dependency text: Needs EXPORT-OAS-61/62 outputs + stable APIs. + - EXPORT-OAS-61: TODO + +docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md:24 + Task: EXPORT-OBS-50-001 + Dependency text: Wait for exporter service bootstrap + telemetry schema. + - No formal task IDs detected + +docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md:25 + Task: EXPORT-OBS-51-001 + Dependency text: Depends on OBS-50 schema. + - No formal task IDs detected + +docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md:26 + Task: EXPORT-OBS-52-001 + Dependency text: Depends on OBS-51 and notifications envelopes. + - No formal task IDs detected + +docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md:27 + Task: EXPORT-OBS-53-001 + Dependency text: Depends on OBS-52 and EvidenceLocker manifest format. + - No formal task IDs detected + +docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md:28 + Task: EXPORT-OBS-54-001 + Dependency text: Depends on OBS-53. + - No formal task IDs detected + +docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md:29 + Task: EXPORT-OBS-54-002 + Dependency text: Depends on OBS-54-001 and PROV-OBS-53-003. + - OBS-54-001: TODO + - PROV-OBS-53: UNKNOWN + +docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md:30 + Task: EXPORT-OBS-55-001 + Dependency text: Depends on OBS-54-001. + - OBS-54-001: TODO + +docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md:31 + Task: EXPORT-RISK-69-001 + Dependency text: Await phase I artifacts + schema; needs provider selection rules. + - No formal task IDs detected + +docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md:32 + Task: EXPORT-RISK-69-002 + Dependency text: Depends on RISK-69-001. + - RISK-69-001: TODO + +docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md:33 + Task: EXPORT-RISK-70-001 + Dependency text: Depends on RISK-69-002. + - RISK-69-002: TODO + +docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md:34 + Task: EXPORT-SVC-35-001 + Dependency text: Needs phase I readiness + synthetic telemetry feeds. + - No formal task IDs detected + +docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md:35 + Task: EXPORT-SVC-35-002 + Dependency text: Depends on 35-001. + - No formal task IDs detected + +docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md:36 + Task: EXPORT-SVC-35-003 + Dependency text: Depends on 35-002. + - No formal task IDs detected + +docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md:37 + Task: EXPORT-SVC-35-004 + Dependency text: Depends on 35-003. + - No formal task IDs detected + +docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md:38 + Task: EXPORT-SVC-35-005 + Dependency text: Depends on 35-004. + - No formal task IDs detected + +docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md:39 + Task: EXPORT-CRYPTO-90-001 + Dependency text: Pending Nov-18 crypto review + reference implementation. + - No formal task IDs detected + +docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md:44 + Task: Exporter Service + Dependency text: BLOCKED (waiting on EvidenceLocker spec) + - No formal task IDs detected + +docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md:45 + Task: Observability Guild + Dependency text: BLOCKED (awaiting OBS-50 start) + - No formal task IDs detected + +docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md:46 + Task: Exporter Service · API Governance + Dependency text: BLOCKED (depends on OAS-61/62 outputs) + - No formal task IDs detected + +docs/implplan/SPRINT_0171_0001_0001_notifier_i.md:29 + Task: NOTIFY-OBS-51-001 + Dependency text: Telemetry SLO webhook schema frozen; SLO sink coded. Blocked on CI restore to run `HttpEgressSloSinkTests`/`EventProcessorTests`. + - No formal task IDs detected + +docs/implplan/SPRINT_0173_0001_0003_notifier_iii.md:21 + Task: NOTIFY-TEN-48-001 + Dependency text: Notifier II (Sprint 0172) not started; tenancy model not finalized. + - No formal task IDs detected + +docs/implplan/SPRINT_0174_0001_0001_telemetry.md:23 + Task: TELEMETRY-OBS-50-002 + Dependency text: Await published 50-001 bootstrap package. + - No formal task IDs detected + +docs/implplan/SPRINT_0174_0001_0001_telemetry.md:24 + Task: TELEMETRY-OBS-51-001 + Dependency text: Telemetry propagation (50-002) and Security scrub policy pending. + - No formal task IDs detected + +docs/implplan/SPRINT_0174_0001_0001_telemetry.md:25 + Task: TELEMETRY-OBS-51-002 + Dependency text: Depends on 51-001. + - No formal task IDs detected + +docs/implplan/SPRINT_0174_0001_0001_telemetry.md:26 + Task: TELEMETRY-OBS-55-001 + Dependency text: Depends on 51-002 and CLI toggle contract (CLI-OBS-12-001). + - CLI-OBS-12: UNKNOWN + +docs/implplan/SPRINT_0174_0001_0001_telemetry.md:27 + Task: TELEMETRY-OBS-56-001 + Dependency text: Depends on 55-001. + - No formal task IDs detected + +docs/implplan/SPRINT_0187_0001_0001_evidence_locker_cli_integration.md:22 + Task: EVID-REPLAY-187-001 + Dependency text: Scanner record payloads (Sprint 0186) not available; EvidenceLocker API schema cannot be drafted. + - No formal task IDs detected + +docs/implplan/SPRINT_0187_0001_0001_evidence_locker_cli_integration.md:23 + Task: CLI-REPLAY-187-002 + Dependency text: Depends on 187-001 schema freeze. + - No formal task IDs detected + +docs/implplan/SPRINT_0187_0001_0001_evidence_locker_cli_integration.md:24 + Task: ATTEST-REPLAY-187-003 + Dependency text: Depends on 187-001 payloads. + - No formal task IDs detected + +docs/implplan/SPRINT_0187_0001_0001_evidence_locker_cli_integration.md:25 + Task: RUNBOOK-REPLAY-187-004 + Dependency text: Needs APIs defined from 187-001. + - No formal task IDs detected + +docs/implplan/SPRINT_0187_0001_0001_evidence_locker_cli_integration.md:26 + Task: VALIDATE-BUNDLE-187-005 + Dependency text: Depends on 187-001/002/003; no payloads yet. + - No formal task IDs detected + +docs/implplan/SPRINT_0187_0001_0001_evidence_locker_cli_integration.md:27 + Task: EVID-CRYPTO-90-001 + Dependency text: ICryptoProviderRegistry readiness not confirmed; sovereign crypto profiles pending. + - No formal task IDs detected + +docs/implplan/SPRINT_0316_0001_0001_docs_modules_cli.md:26 + Task: CLI-OPS-0001 + Dependency text: Waiting for next demo outputs + - No formal task IDs detected + +docs/implplan/SPRINT_0321_0001_0001_docs_modules_graph.md:24 + Task: GRAPH-DOCS-0002 + Dependency text: Await DOCS-GRAPH-24-003 cross-links + - DOCS-GRAPH-24: UNKNOWN + +docs/implplan/SPRINT_0321_0001_0001_docs_modules_graph.md:25 + Task: GRAPH-OPS-0001 + Dependency text: Waiting for next demo outputs to review dashboards/runbooks + - No formal task IDs detected + +docs/implplan/SPRINT_0509_0001_0001_samples.md:24 + Task: SAMPLES-LNM-22-001 + Dependency text: Waiting on finalized advisory linkset schema (Concelier) + - No formal task IDs detected + +docs/implplan/SPRINT_0509_0001_0001_samples.md:25 + Task: SAMPLES-LNM-22-002 + Dependency text: Depends on 22-001 outputs + Excititor observation/linkset implementation + - No formal task IDs detected + +docs/implplan/SPRINT_0510_0001_0001_airgap.md:21 + Task: AIRGAP-CTL-56-001 + Dependency text: Controller project scaffold missing; need baseline service skeleton + - No formal task IDs detected + +docs/implplan/SPRINT_0510_0001_0001_airgap.md:22 + Task: AIRGAP-CTL-56-002 + Dependency text: Blocked on 56-001 scaffolding + - No formal task IDs detected + +docs/implplan/SPRINT_0510_0001_0001_airgap.md:23 + Task: AIRGAP-CTL-57-001 + Dependency text: Blocked on 56-002 + - No formal task IDs detected + +docs/implplan/SPRINT_0510_0001_0001_airgap.md:24 + Task: AIRGAP-CTL-57-002 + Dependency text: Blocked on 57-001 + - No formal task IDs detected + +docs/implplan/SPRINT_0510_0001_0001_airgap.md:25 + Task: AIRGAP-CTL-58-001 + Dependency text: Blocked on 57-002 + - No formal task IDs detected + +docs/implplan/SPRINT_0510_0001_0001_airgap.md:26 + Task: AIRGAP-IMP-56-001 + Dependency text: Importer project scaffold missing; need trust-root inputs + - No formal task IDs detected + +docs/implplan/SPRINT_0510_0001_0001_airgap.md:27 + Task: AIRGAP-IMP-56-002 + Dependency text: Blocked on 56-001 + - No formal task IDs detected + +docs/implplan/SPRINT_0510_0001_0001_airgap.md:28 + Task: AIRGAP-IMP-57-001 + Dependency text: Blocked on 56-002 + - No formal task IDs detected + +docs/implplan/SPRINT_0510_0001_0001_airgap.md:29 + Task: AIRGAP-IMP-57-002 + Dependency text: Blocked on 57-001 + - No formal task IDs detected + +docs/implplan/SPRINT_0510_0001_0001_airgap.md:30 + Task: AIRGAP-IMP-58-001 + Dependency text: Blocked on 57-002 + - No formal task IDs detected + +docs/implplan/SPRINT_0510_0001_0001_airgap.md:31 + Task: AIRGAP-IMP-58-002 + Dependency text: Blocked on 58-001 + - No formal task IDs detected + +docs/implplan/SPRINT_0510_0001_0001_airgap.md:32 + Task: AIRGAP-TIME-57-001 + Dependency text: Time component scaffold missing; need token format decision + - No formal task IDs detected + +docs/implplan/SPRINT_0510_0001_0001_airgap.md:33 + Task: AIRGAP-TIME-57-002 + Dependency text: Blocked on 57-001 + - No formal task IDs detected + +docs/implplan/SPRINT_0510_0001_0001_airgap.md:34 + Task: AIRGAP-TIME-58-001 + Dependency text: Blocked on 57-002 + - No formal task IDs detected + +docs/implplan/SPRINT_0510_0001_0001_airgap.md:35 + Task: AIRGAP-TIME-58-002 + Dependency text: Blocked on 58-001 + - No formal task IDs detected + +docs/implplan/SPRINT_0512_0001_0001_bench.md:22 + Task: BENCH-GRAPH-21-001 + Dependency text: Need graph bench harness scaffolding (50k/100k nodes) + - No formal task IDs detected + +docs/implplan/SPRINT_0512_0001_0001_bench.md:23 + Task: BENCH-GRAPH-21-002 + Dependency text: Blocked on 21-001 harness + - No formal task IDs detected + +docs/implplan/SPRINT_0512_0001_0001_bench.md:24 + Task: BENCH-GRAPH-24-002 + Dependency text: Waiting for 50k/100k graph fixture (SAMPLES-GRAPH-24-003) + - SAMPLES-GRAPH-24: UNKNOWN + +docs/implplan/SPRINT_0512_0001_0001_bench.md:25 + Task: BENCH-IMPACT-16-001 + Dependency text: Impact index dataset/replay inputs not provided + - No formal task IDs detected + +docs/implplan/SPRINT_0512_0001_0001_bench.md:26 + Task: BENCH-POLICY-20-002 + Dependency text: Policy delta sample inputs missing + - No formal task IDs detected + +docs/implplan/SPRINT_0512_0001_0001_bench.md:27 + Task: BENCH-SIG-26-001 + Dependency text: Reachability schema/fixtures pending Sprint 0400/0401 + - No formal task IDs detected + +docs/implplan/SPRINT_0512_0001_0001_bench.md:28 + Task: BENCH-SIG-26-002 + Dependency text: Blocked on 26-001 outputs + - No formal task IDs detected + +docs/implplan/SPRINT_0514_0001_0001_sovereign_crypto_enablement.md:29 + Task: AUTH-CRYPTO-90-001 + Dependency text: Needs Authority provider/key format spec & JWKS export requirements + - No formal task IDs detected + +docs/implplan/SPRINT_110_ingestion_evidence.md:27 + Task: SBOM-AIAI-31-003 + Dependency text: SBOM Service Guild + - No formal task IDs detected + +docs/implplan/SPRINT_110_ingestion_evidence.md:28 + Task: DOCS-AIAI-31-005/006/008/009 + Dependency text: Docs Guild + - No formal task IDs detected + +docs/implplan/SPRINT_110_ingestion_evidence.md:29 + Task: CONCELIER-AIAI-31-002 + Dependency text: Concelier Core · Concelier WebService Guilds + - No formal task IDs detected + +docs/implplan/SPRINT_110_ingestion_evidence.md:31 + Task: CONCELIER-AIRGAP-56-001..58-001 + Dependency text: Concelier Core · AirGap Guilds + - No formal task IDs detected + +docs/implplan/SPRINT_110_ingestion_evidence.md:32 + Task: CONCELIER-CONSOLE-23-001..003 + Dependency text: Concelier Console Guild + - No formal task IDs detected + +docs/implplan/SPRINT_110_ingestion_evidence.md:33 + Task: CONCELIER-ATTEST-73-001/002 + Dependency text: Concelier Core · Evidence Locker Guild + - No formal task IDs detected + +docs/implplan/SPRINT_110_ingestion_evidence.md:34 + Task: FEEDCONN-ICSCISA-02-012 / FEEDCONN-KISA-02-008 + Dependency text: Concelier Feed Owners + - No formal task IDs detected + +docs/implplan/SPRINT_110_ingestion_evidence.md:36 + Task: EXCITITOR-AIAI-31-002 + Dependency text: Excititor Web/Core Guilds + - No formal task IDs detected + +docs/implplan/SPRINT_110_ingestion_evidence.md:37 + Task: EXCITITOR-AIAI-31-003 + Dependency text: Excititor Observability Guild + - No formal task IDs detected + +docs/implplan/SPRINT_110_ingestion_evidence.md:38 + Task: EXCITITOR-AIAI-31-004 + Dependency text: Docs Guild · Excititor Guild + - No formal task IDs detected + +docs/implplan/SPRINT_110_ingestion_evidence.md:39 + Task: EXCITITOR-ATTEST-01-003 / 73-001 / 73-002 + Dependency text: Excititor Guild · Evidence Locker Guild + - No formal task IDs detected + +docs/implplan/SPRINT_110_ingestion_evidence.md:40 + Task: EXCITITOR-AIRGAP-56/57/58 · EXCITITOR-CONN-TRUST-01-001 + Dependency text: Excititor Guild · AirGap Guilds + - No formal task IDs detected + +docs/implplan/SPRINT_110_ingestion_evidence.md:41 + Task: MIRROR-CRT-56-001 + Dependency text: Mirror Creator Guild + - No formal task IDs detected + +docs/implplan/SPRINT_110_ingestion_evidence.md:42 + Task: MIRROR-CRT-56-002 + Dependency text: Mirror Creator · Security Guilds + - No formal task IDs detected + +docs/implplan/SPRINT_110_ingestion_evidence.md:43 + Task: MIRROR-CRT-57-001/002 + Dependency text: Mirror Creator Guild · AirGap Time Guild + - No formal task IDs detected + +docs/implplan/SPRINT_110_ingestion_evidence.md:44 + Task: MIRROR-CRT-58-001/002 + Dependency text: Mirror Creator Guild · CLI Guild · Exporter Guild + - No formal task IDs detected + +docs/implplan/SPRINT_110_ingestion_evidence.md:45 + Task: EXPORT-OBS-51-001 / 54-001 · AIRGAP-TIME-57-001 · CLI-AIRGAP-56-001 · PROV-OBS-53-001 + Dependency text: Exporter Guild · AirGap Time Guild · CLI Guild + - No formal task IDs detected + +docs/implplan/SPRINT_123_policy_reasoning.md:13 + Task: EXPORT-CONSOLE-23-001 + Dependency text: Missing export bundle contract/API surface and scheduler job spec for Console; requires agreed schema and job wiring + - No formal task IDs detected + +docs/implplan/SPRINT_123_policy_reasoning.md:14 + Task: POLICY-AIRGAP-56-001 + Dependency text: Mirror bundle schema for policy packs not published; need bundle_id/provenance fields and sealed-mode rules + - No formal task IDs detected + +docs/implplan/SPRINT_123_policy_reasoning.md:15 + Task: POLICY-AIRGAP-56-002 + Dependency text: Depends on 56-001 bundle import schema and DSSE signing profile + - No formal task IDs detected + +docs/implplan/SPRINT_123_policy_reasoning.md:16 + Task: POLICY-AIRGAP-57-001 + Dependency text: Requires sealed-mode contract (egress rules, error codes) after 56-002 + - No formal task IDs detected + +docs/implplan/SPRINT_123_policy_reasoning.md:17 + Task: POLICY-AIRGAP-57-002 + Dependency text: Needs staleness/fallback data contract from 57-001 + - No formal task IDs detected + +docs/implplan/SPRINT_123_policy_reasoning.md:18 + Task: POLICY-AIRGAP-58-001 + Dependency text: Notification schema and staleness signals pending from 57-002 + - No formal task IDs detected + +docs/implplan/SPRINT_123_policy_reasoning.md:19 + Task: POLICY-AOC-19-001 + Dependency text: Needs agreed linting targets (which ingestion projects, which helpers) and CI wiring; no analyzer/lint spec available + - No formal task IDs detected + +docs/implplan/SPRINT_123_policy_reasoning.md:20 + Task: POLICY-AOC-19-002 + Dependency text: Depends on 19-001 lint implementation and authority contract for `effective:write` gate + - No formal task IDs detected + +docs/implplan/SPRINT_123_policy_reasoning.md:21 + Task: POLICY-AOC-19-003 + Dependency text: Requires decisioned normalized-field removal contract after 19-002; fixtures not provided + - No formal task IDs detected + +docs/implplan/SPRINT_123_policy_reasoning.md:22 + Task: POLICY-AOC-19-004 + Dependency text: Dependent on 19-003 data shape and determinism fixtures + - No formal task IDs detected + +docs/implplan/SPRINT_123_policy_reasoning.md:23 + Task: POLICY-ATTEST-73-001 + Dependency text: VerificationPolicy schema/persistence contract missing; needs Attestor alignment + - No formal task IDs detected + +docs/implplan/SPRINT_123_policy_reasoning.md:24 + Task: POLICY-ATTEST-73-002 + Dependency text: Depends on 73-001 editor DTOs and validation schema + - No formal task IDs detected + +docs/implplan/SPRINT_123_policy_reasoning.md:25 + Task: POLICY-ATTEST-74-001 + Dependency text: Requires 73-002 and Attestor pipeline contract + - No formal task IDs detected + +docs/implplan/SPRINT_123_policy_reasoning.md:26 + Task: POLICY-ATTEST-74-002 + Dependency text: Needs 74-001 surface in Console verification reports contract + - No formal task IDs detected + +docs/implplan/SPRINT_123_policy_reasoning.md:27 + Task: POLICY-CONSOLE-23-001 + Dependency text: Console API contract (filters, pagination, aggregation) not supplied; requires BE-Base Platform spec + - No formal task IDs detected + +docs/implplan/SPRINT_124_policy_reasoning.md:14 + Task: POLICY-ENGINE-20-002 + Dependency text: Build deterministic evaluator honoring lexical/priority order, first-match semantics, and safe value types (no wall-clock/network access) + - No formal task IDs detected + +docs/implplan/SPRINT_125_policy_reasoning.md:13 + Task: POLICY-ENGINE-29-003 + Dependency text: Waiting on upstream POLICY-ENGINE-29-002 contract details; no path/scope schema or sample payloads available. + - POLICY-ENGINE-29: UNKNOWN + +docs/implplan/SPRINT_125_policy_reasoning.md:14 + Task: POLICY-ENGINE-29-004 + Dependency text: Depends on blocked POLICY-ENGINE-29-003 path/scope contract. + - POLICY-ENGINE-29: UNKNOWN + +docs/implplan/SPRINT_125_policy_reasoning.md:15 + Task: POLICY-ENGINE-30-001 + Dependency text: Waiting on 29-004 metrics/logging outputs to define overlay projection contract. + - No formal task IDs detected + +docs/implplan/SPRINT_125_policy_reasoning.md:16 + Task: POLICY-ENGINE-30-002 + Dependency text: Simulation bridge cannot proceed until 30-001 overlay schema lands. + - No formal task IDs detected + +docs/implplan/SPRINT_125_policy_reasoning.md:17 + Task: POLICY-ENGINE-30-003 + Dependency text: Change events depend on simulation bridge (30-002) outputs. + - No formal task IDs detected + +docs/implplan/SPRINT_125_policy_reasoning.md:18 + Task: POLICY-ENGINE-30-101 + Dependency text: Trust weighting UI/API depends on change events + overlays (30-003). + - No formal task IDs detected + +docs/implplan/SPRINT_125_policy_reasoning.md:19 + Task: POLICY-ENGINE-31-001 + Dependency text: Advisory AI knobs rely on 30-101 trust weighting surfacing. + - No formal task IDs detected + +docs/implplan/SPRINT_125_policy_reasoning.md:20 + Task: POLICY-ENGINE-31-002 + Dependency text: Batch context endpoint waits on 31-001 knobs. + - No formal task IDs detected + +docs/implplan/SPRINT_125_policy_reasoning.md:21 + Task: POLICY-ENGINE-32-101 + Dependency text: Orchestrator job schema depends on 31-002 batch context. + - No formal task IDs detected + +docs/implplan/SPRINT_125_policy_reasoning.md:22 + Task: POLICY-ENGINE-33-101 + Dependency text: Worker implementation depends on 32-101 job schema. + - No formal task IDs detected + +docs/implplan/SPRINT_125_policy_reasoning.md:23 + Task: POLICY-ENGINE-34-101 + Dependency text: Ledger export requires 33-101 workers. + - No formal task IDs detected + +docs/implplan/SPRINT_125_policy_reasoning.md:24 + Task: POLICY-ENGINE-35-201 + Dependency text: Snapshot API waits on 34-101 ledger export. + - No formal task IDs detected + +docs/implplan/SPRINT_125_policy_reasoning.md:25 + Task: POLICY-ENGINE-38-201 + Dependency text: Violation events depend on 35-201 snapshot stream. + - No formal task IDs detected + +docs/implplan/SPRINT_125_policy_reasoning.md:26 + Task: POLICY-ENGINE-40-001 + Dependency text: Severity fusion depends on 38-201 violation event payloads. + - No formal task IDs detected + +docs/implplan/SPRINT_125_policy_reasoning.md:27 + Task: POLICY-ENGINE-40-002 + Dependency text: Conflict handling depends on 40-001 severity pipeline changes. + - No formal task IDs detected + +docs/implplan/SPRINT_136_scanner_surface.md:21 + Task: BLOCKED (2025-10-26) + Dependency text: Scanner WebService Guild (src/Scanner/StellaOps.Scanner.WebService) + - No formal task IDs detected + +docs/implplan/SPRINT_301_docs_tasks_md_i.md:23 + Task: BLOCKED + Dependency text: Await delivery of CLI-VULN-29-001; CLI-VEX-30-001; POLICY-ENGINE-31-001 artifacts to package fixtures/screenshots. + - CLI-VULN-29: UNKNOWN + - CLI-VEX-30: UNKNOWN + - POLICY-ENGINE-31: UNKNOWN + +docs/implplan/SPRINT_301_docs_tasks_md_i.md:25 + Task: BLOCKED (2025-11-03) + Dependency text: DOCS-AIAI-31-004; CLI-VULN-29-001; CLI-VEX-30-001; DOCS-UNBLOCK-CLI-KNOBS-301 + - DOCS-AIAI-31: UNKNOWN + - CLI-VULN-29: UNKNOWN + - CLI-VEX-30: UNKNOWN + - CLI-KNOBS-301: UNKNOWN + +docs/implplan/SPRINT_301_docs_tasks_md_i.md:26 + Task: BLOCKED (2025-11-03) + Dependency text: DOCS-AIAI-31-005; POLICY-ENGINE-31-001; DOCS-UNBLOCK-CLI-KNOBS-301 + - DOCS-AIAI-31: UNKNOWN + - POLICY-ENGINE-31: UNKNOWN + - CLI-KNOBS-301: UNKNOWN + +docs/implplan/SPRINT_301_docs_tasks_md_i.md:27 + Task: BLOCKED (2025-11-03) + Dependency text: DOCS-AIAI-31-007; SBOM-AIAI-31-001; DOCS-UNBLOCK-CLI-KNOBS-301 + - DOCS-AIAI-31: UNKNOWN + - SBOM-AIAI-31: UNKNOWN + - CLI-KNOBS-301: UNKNOWN + +docs/implplan/SPRINT_301_docs_tasks_md_i.md:28 + Task: BLOCKED (2025-11-03) + Dependency text: DOCS-AIAI-31-008; DEVOPS-AIAI-31-001; DOCS-UNBLOCK-CLI-KNOBS-301 + - DOCS-AIAI-31: UNKNOWN + - DEVOPS-AIAI-31: UNKNOWN + - CLI-KNOBS-301: UNKNOWN + diff --git a/docs/advisory-ai/console.md b/docs/advisory-ai/console.md index f493d69ac..73b7cdf54 100644 --- a/docs/advisory-ai/console.md +++ b/docs/advisory-ai/console.md @@ -82,7 +82,7 @@ This guide documents the forthcoming Advisory AI console experience so that cons 1. **Volume readiness** – confirm the RWX volume (`/var/lib/advisory-ai/{queue,plans,outputs}`) is mounted; the console should poll `/api/v1/advisory-ai/health` and surface “Queue not available” if the worker is offline. 2. **Cached responses** – when running air-gapped, highlight that only cached plans/responses are available by showing the `planFromCache` badge plus the `generatedAtUtc` timestamp. 3. **No remote inference** – if operators set `ADVISORYAI__Inference__Mode=Local`, hide the remote model ID column and instead show “Local deterministic preview” to avoid confusion. -4. **Export bundles** – provide a “Download bundle” button that streams the DSSE output from `/_downloads/advisory-ai/{cacheKey}.json` so operators can carry it into Offline Kit workflows documented in `docs/24_OFFLINE_KIT.md`. +4. **Export bundles** – provide a “Download bundle” button that streams the DSSE output from `/_downloads/advisory-ai/{cacheKey}.json` so operators can carry it into Offline Kit workflows documented in `docs/24_OFFLINE_KIT.md`. While staging endpoints are pending, reuse the Evidence Bundle v1 sample at `docs/samples/evidence-bundle/evidence-bundle-v1.tar.gz` (hash in `evidence-bundle-v1.tar.gz.sha256`) to validate wiring and screenshots. ## 6. Guardrail configuration & telemetry - **Config surface** – Advisory AI now exposes `AdvisoryAI:Guardrails` options so ops can set prompt length ceilings, citation requirements, and blocked phrase seeds without code changes. Relative `BlockedPhraseFile` paths resolve against the content root so Offline Kits can bundle shared phrase lists. @@ -106,12 +106,23 @@ This guide documents the forthcoming Advisory AI console experience so that cons - **Console wiring** – the guardrail ribbon pulls `guardrail.blocked`, `guardrail.violations`, and `guardrail.metadata.blocked_phrase_count` while the observability cards track `advisory_ai_chunk_requests_total`, `advisory_ai_chunk_cache_hits_total`, and `advisory_ai_guardrail_blocks_total` (now emitted even on cache hits). Use these meters to explain throttling or bad actors before granting additional guardrail budgets, and keep `docs/api/console/samples/advisory-ai-guardrail-banner.json` nearby so QA can validate localized payloads without hitting production data. ## 5. Open items before publication -- [ ] Replace placeholder API responses with captures from the first merged build of CONSOLE-VULN-29-001 / CONSOLE-VEX-30-001. +- [ ] Replace placeholder API responses with captures from the first merged build of CONSOLE-VULN-29-001 / CONSOLE-VEX-30-001 (blocked on SBOM-AIAI-31-003). - [ ] Capture at least two screenshots (list view + evidence drawer) using the fixture-backed workspace; commit both `*-payload.json` and `*-screenshot.png` with deterministic filenames. - [ ] Verify copy-as-ticket instructions with Support to ensure the payload fields align with existing SOC runbooks. - [ ] Add latency tooltip + remote/local badge screenshots after Grafana wiring is stable. -- [ ] Attach SBOM/VEX bundle example (sealed DSSE) to the doc and link it from Section 2.3 for auditors. +- [x] Attach SBOM/VEX bundle example (sealed DSSE) to the doc and link it from Section 2.3 for auditors (using Evidence Bundle v1 sample). + +### Publication readiness checklist (DOCS-AIAI-31-004) +- Inputs available now: console fixtures (`docs/samples/console/console-vuln-29-001.json`, `console-vex-30-001.json`), evidence bundle sample (`docs/samples/evidence-bundle/evidence-bundle-v1.tar.gz`), guardrail ribbon contract. +- Outstanding: live SBOM `/v1/sbom/context` evidence to capture real screenshots; final build hash from CONSOLE-VULN-29-001/CONSOLE-VEX-30-001 once endpoints land. +- Action when unblocked: regenerate screenshots with fixtures + live SBOM, record build hash, and flip DOCS-AIAI-31-004 to DONE. > Tracking: DOCS-AIAI-31-004 (Docs Guild, Console Guild) +### Guardrail console fixtures (unchecked-integration) + +- Vulnerability search sample: `docs/samples/console/console-vuln-29-001.json` (maps to CONSOLE-VULN-29-001). +- VEX search sample: `docs/samples/console/console-vex-30-001.json` (maps to CONSOLE-VEX-30-001). +- Use these until live endpoints are exposed; replace with real captures when staging is available. + **Reference**: API contracts and sample payloads live in `docs/api/console/workspaces.md` (see `/console/vuln/*` and `/console/vex/*` sections) plus the JSON fixtures under `docs/api/console/samples/`. diff --git a/docs/advisory-ai/evidence-payloads.md b/docs/advisory-ai/evidence-payloads.md new file mode 100644 index 000000000..99e4553fb --- /dev/null +++ b/docs/advisory-ai/evidence-payloads.md @@ -0,0 +1,104 @@ +# Advisory AI Evidence Payloads (LNM-Aligned) + +_Updated: 2025-11-18 · Owner: Advisory AI Docs Guild · Sprint: 0111 (AIAI-RAG-31-003)_ + +This document defines how Advisory AI consumes Link-Not-Merge (LNM) observations and linksets for Retrieval-Augmented Generation (RAG). It aligns payloads with the frozen LNM v1 schema (`docs/modules/concelier/link-not-merge-schema.md`, 2025-11-17) and replaces prior draft payloads. + +## 1) Input envelope (per task) + +```json +{ + "advisoryKey": "csaf:redhat:RHSA-2025:1001", + "profile": "fips-local", + "policyVersion": "2025.10.1", + "lnm": { + "observationIds": ["6561e41b3e3f4a6e9d3b91c1", "6561e41b3e3f4a6e9d3b91c2"], + "linksetId": "6561e41b3e3f4a6e9d3b91d0", + "provenanceHash": "sha256:0f7c...9ad3" + }, + "sbom": { + "artifactId": "registry.stella-ops.internal/runtime/api", + "purl": "pkg:oci/runtime-api@sha256:d2c3...", + "timelineClamp": 500, + "dependencyPathClamp": 200 + } +} +``` + +Rules: +- `lnm.linksetId` and `lnm.observationIds` are **required**. Missing values → `409 advisory.contextUnavailable`. +- `provenanceHash` must match the hash list embedded in the LNM linkset; Advisory AI refuses linksets whose hashes mismatch. +- SBOM fields optional; if absent, remediation tasks skip SBOM deltas and still return deterministic outputs. + +## 2) Canonical chunk mapping + +| LNM source | Advisory AI chunk | Transformation | +| --- | --- | --- | +| `advisory_observations._id` | `source_id` | Stored verbatim; used for citations. | +| `advisory_observations.advisoryId` | `advisory_key` | Also populates `content_hash` seed. | +| `advisory_observations.summary` | `text` | Trimmed, Markdown-safe. | +| `advisory_observations.affected[].purl` | `purl` | Lowercased, deduped; no range merging. | +| `advisory_observations.severities[]` | `severity` | Passed through; multiple severities allowed. | +| `advisory_observations.references[]` | `references` | Sorted for determinism. | +| `advisory_observations.relationships[]` | `relationships` | Surface upstream `type/source/target/provenance`; no merge. | +| `advisory_observations.provenance.sourceArtifactSha` | `content_hash` | Drives dedup + cache key. | +| `advisory_linksets.conflicts[]` | `conflicts` | Serialized verbatim for conflict tasks. | +| `advisory_linksets.normalized.purls|versions|ranges|severities` | `normalized` | Used as hints only; never overwrite observation fields. | + +Chunk ordering: observations sorted by `(source, advisoryId, provenance.fetchedAt)` as per LNM invariant; chunks are emitted in the same order to keep cache keys stable. + +## 3) Output citation rules + +- `citations[n].sourceId` points to the LNM `source_id`; `citations[n].uri` must remain the upstream reference URI when present. +- If SBOM deltas are included, they appear as separate citations with `kind: "sbom"` and `sourceId` built from SBOM context digest (`sbom:{artifactId}:{digest}`). +- Conflict outputs must echo `linkset.conflicts[].reason` in the Markdown body with matching citation indexes; guardrails block outputs where a conflict reason lacks a citation. + +## 4) Error conditions (aligned to LNM) + +| Condition | Code | Notes | +| --- | --- | --- | +| Missing `lnm.linksetId` or `lnm.observationIds` | `409 advisory.contextUnavailable` | Caller should pass LNM IDs; retry once upstream emits them. | +| Hash mismatch between `provenanceHash` and linkset | `409 advisory.contextHashMismatch` | Indicates tampering or stale payload; retry after refreshing linkset. | +| Observation count exceeds clamp (defaults: 200 obs, 600 chunks) | `413 advisory.contextTooLarge` | Caller may request narrower `preferredSections` or reduce obs set. | +| Conflicts array empty for conflict task | `422 advisory.conflict.noConflicts` | Signals upstream data gap; reported to Concelier. | + +## 5) Sample normalized RAG bundle + +```json +{ + "taskType": "Summary", + "advisoryKey": "csaf:redhat:RHSA-2025:1001", + "lnmBundle": { + "linksetId": "6561e41b3e3f4a6e9d3b91d0", + "provenanceHash": "sha256:0f7c...9ad3", + "chunks": [ + { + "source_id": "concelier:ghsa:GHSA-xxxx:obs:6561e41b3e3f4a6e9d3b91c1", + "content_hash": "sha256:1234...", + "advisory_key": "csaf:redhat:RHSA-2025:1001", + "purl": "pkg:maven/org.example/foo@1.2.3", + "severity": [{"system":"cvssv3","score":7.8,"vector":"AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}], + "references": ["https://access.redhat.com/errata/RHSA-2025:1001"], + "relationships": [{"type":"affects","source":"nvd","target":"cpe:/o:redhat:enterprise_linux:9"}] + } + ], + "conflicts": [ + {"field":"affected.versions","reason":"vendor_range_differs","values":["<1.2.0","<=1.2.3"]} + ] + }, + "sbomSummary": { + "artifactId": "registry.stella-ops.internal/runtime/api", + "versionTimeline": 8, + "dependencyPaths": 5 + } +} +``` + +Operators can store this bundle alongside plan cache entries; the `lnmBundle.provenanceHash` proves the evidence set matches the frozen Concelier linkset. + +## 6) Operator validation steps + +- Verify LNM collections at schema v1 (2025-11-17 freeze) before enabling Advisory AI tasks. +- Ensure `lnm.provenanceHash` matches linkset `observationHashes` before calling Advisory AI. +- Keep clamps deterministic: observations ≤200, chunks ≤600, timeline entries ≤500, dependency paths ≤200 (defaults; override only if documented). +- When running offline, include LNM linkset exports in the Offline Kit to preserve citation replay. diff --git a/docs/advisory-ai/guardrails-and-evidence.md b/docs/advisory-ai/guardrails-and-evidence.md new file mode 100644 index 000000000..841c8462f --- /dev/null +++ b/docs/advisory-ai/guardrails-and-evidence.md @@ -0,0 +1,62 @@ +# Advisory AI Guardrails & Evidence Intake + +_Updated: 2025-11-18 · Owner: Advisory AI Docs Guild · Status: Draft (Sprint 0111)_ + +This note captures the guardrail behaviors and evidence intake boundaries required by Sprint 0111 tasks (`AIAI-DOCS-31-001`, `AIAI-RAG-31-003`). It binds Advisory AI guardrails to upstream evidence sources and clarifies how Link-Not-Merge (LNM) documents flow into Retrieval-Augmented Generation (RAG) payloads. + +## 1) Evidence sources and contracts + +- **Advisory observations (LNM)** — Consume immutable `advisory_observations` and `advisory_linksets` produced per `docs/modules/concelier/link-not-merge-schema.md` (frozen v1, 2025-11-17). +- **VEX statements** — Excititor + VEX Lens linksets with trust weights; treated as structured chunks with `source_id` and `confidence`. +- **SBOM context** — `SBOM-AIAI-31-001` contract: timelines and dependency paths retrieved via `ISbomContextRetriever` (`AddSbomContextHttpClient`), default clamps 500 timeline entries / 200 paths. +- **Policy explain traces** — Policy Engine digests referenced by `policyVersion`; cache keys include policy hash to keep outputs replayable. +- **Runtime posture (optional)** — Zastava signals (`exposure`, `admissionStatus`) when provided by Link-Not-Merge-enabled tenants; optional chunks tagged `runtime`. + +All evidence items must carry `content_hash` + `source_id`; Advisory AI never mutates or merges upstream facts (Aggregation-Only Contract). + +## 2) Guardrail stages + +1. **Pre-flight sanitization** + - Redact secrets (AWS-style keys, PEM blobs, generic tokens). + - Strip prompt-injection phrases; enforce max input payload 16 kB (configurable, default). + - Reject requests missing `advisoryKey` or linkset-backed evidence (LNM guard). +2. **Prompt assembly** + - Deterministic section order: advisory excerpts → VEX statements → SBOM deltas → policy traces → runtime hints. + - Vector previews capped at 600 chars + ellipsis; section budgets fixed per profile (`default`, `gost-local`, `cloud-openai`). +3. **LLM invocation (local/remote)** + - Profiles selected via `profile` field; remote profiles require Authority tenant consent and `advisory-ai:operate` + `aoc:verify`. +4. **Validation & citation enforcement** + - Every emitted fact must map to an input chunk (`source_id` + `content_hash`); citations serialized as `[n]` in Markdown. + - Block outputs lacking citations, exceeding section budgets, or including unredacted PII. +5. **Output sealing** + - Store `outputHash`, `inputDigest`, `provenanceHash`; wrap in DSSE when configured. + - Cache TTL defaults to 24h; regenerate only when inputs change or `forceRefresh=true`. + +Metrics: `advisory_ai_guardrail_blocks_total`, `advisory_ai_outputs_stored_total`, `advisory_ai_citation_coverage_ratio`. Logs carry `output_hash`, `profile`, and block reason; no secrets or raw prompt bodies are logged. + +## 3) RAG payload mapping to LNM (summary) + +| LNM field | RAG chunk field | Notes | +| --- | --- | --- | +| `observation._id` | `source_id` | Used for citations and conflict surfacing. | +| `observation.advisoryId` | `advisory_key` | Keyed alongside task type in cache. | +| `observation.affected[].purl` | `purl` | Included for remediation + SBOM joins. | +| `observation.severities[]` | `severity` | Passed through unmerged; multiple severities allowed. | +| `linkset.conflicts[]` | `conflicts` | Rendered verbatim for conflict tasks; no inference merges. | +| `provenance.sourceArtifactSha` | `content_hash` | Drives determinism and replay. | + +See `docs/advisory-ai/evidence-payloads.md` for full JSON examples and alignment rules. + +## 4) Compliance with upstream artefacts + +- References: `CONSOLE-VULN-29-001`, `CONSOLE-VEX-30-001`, `CLI-VULN-29-001`, `CLI-VEX-30-001`, `EXCITITOR-CONSOLE-23-001`, `DEVOPS-AIAI-31-001`. +- Guardrails must remain compatible with `docs/policy/assistant-parameters.md`; configuration knobs documented there are authoritative for env vars and defaults. +- Packaging tasks (AIAI-PACKAGING-31-002) must include this guardrail summary in DSSE metadata to keep Offline Kit parity. + +## 5) Operator checklist + +- [ ] LNM feed enabled and Concelier schemas at v1 (2025-11-17). +- [ ] SBOM retriever configured or `NullSbomContextClient` left as safe default. +- [ ] Policy hash pinned via `policyVersion` when reproducibility is required. +- [ ] Remote profiles only after Authority consent and profile allowlist are set. +- [ ] Cache directories shared between web + worker hosts for DSSE sealing. diff --git a/docs/advisory-ai/packaging.md b/docs/advisory-ai/packaging.md new file mode 100644 index 000000000..4c36ad763 --- /dev/null +++ b/docs/advisory-ai/packaging.md @@ -0,0 +1,65 @@ +# Advisory AI Packaging & SBOM Bundle (AIAI-PACKAGING-31-002) + +_Updated: 2025-11-18 · Owner: Advisory AI Release · Status: Draft_ + +Defines the artefacts and provenance required to ship Advisory AI in Sprint 0111, covering offline kits and on-prem deployments. + +## 1) Bundle contents + +| Artefact | Purpose | Provenance | +| --- | --- | --- | +| `advisory-ai-web` image | API surface + plan cache | SBOM: `SBOM-AIAI-31-001:web`; DSSE attestation signed by Release key | +| `advisory-ai-worker` image | Queue + inference executor | SBOM: `SBOM-AIAI-31-001:worker`; DSSE attestation | +| Prompt + guardrail pack | Deterministic prompts, redaction lists, validation rules | DSSE sealed; hash recorded in `prompts.manifest` | +| Profile catalog | `default`, `fips-local`, `gost-local`, `cloud-openai` (disabled) | Versioned JSON, hashed; tenant consent flags captured | +| Policy bundle | `policyVersion` digest for baseline evaluation; Authority importable | DSSE + provenance to Policy Engine digests | +| LNM evidence export (optional) | Concelier `advisory_linksets` + `advisory_observations` for air-gap replay | Hash list aligned to `provenanceHash` in RAG bundles | +| SBOM context client config | Example `AddSbomContextHttpClient` settings (`BaseAddress`, `Endpoint`, `ApiKey`) | Signed `sbom-context.example.json` | + +## 2) Directory layout (Offline Kit) + +``` +/offline-kit/advisory-ai/ + images/ + advisory-ai-web.tar.zst + advisory-ai-worker.tar.zst + sboms/ + SBOM-AIAI-31-001-web.json + SBOM-AIAI-31-001-worker.json + provenance/ + advisory-ai-web.intoto.jsonl + advisory-ai-worker.intoto.jsonl + prompts.manifest.dsse + profiles.catalog.json + policy-bundle.intoto.jsonl + config/ + advisoryai.appsettings.example.json + sbom-context.example.json + evidence/ + lnm-linksets.ndjson # optional; aligns to linkset hashes in RAG bundles + lnm-observations.ndjson # optional; immutable raw docs +``` + +- All files hashed into `SHA256SUMS` with DSSE signature (`SHA256SUMS.dsse`). +- Profiles catalog and prompt pack hashes must be propagated into `AdvisoryAI:Provenance` settings for runtime verification. + +## 3) SBOM & provenance rules + +- SBOMs must follow SPDX 3.0.1; embed image digest (`sha256:<...>`) and build args. +- Attestations use DSSE + SPDX predicate; signer key matches Release guild key referenced in `DEVOPS-AIAI-31-001`. +- For air-gapped installs, operators verify: `slsa-verifier verify-attestation --source=stellaops/advisory-ai-web --bundle advisory-ai-web.intoto.jsonl --digest `. + +## 4) Deployment checklist + +- [ ] Import `advisory-ai-web` and `advisory-ai-worker` images to registry. +- [ ] Apply `profiles.catalog.json`; ensure remote profiles disabled unless Authority consent granted. +- [ ] Load prompt pack and set `AdvisoryAI:Prompts:ManifestHash` to `prompts.manifest`. +- [ ] Configure SBOM client (or keep `NullSbomContextClient` default). +- [ ] If shipping LNM evidence, seed `advisory_linksets` and `advisory_observations` collections before enabling inference. +- [ ] Record hashes in deployment log; surface in Authority audit via `advisory_ai.output.generated` events. + +## 5) Update obligations + +- Any change to prompts, guardrails, or profiles → bump manifest hash and regenerate DSSE. +- SBOM updates follow the same `SBOM-AIAI-31-001` idempotent contract; replace files, update `SHA256SUMS`, resign. +- Link all changes into the sprint Execution Log and Decisions & Risks sections. diff --git a/docs/concelier/backfill/CONCELIER-CORE-AOC-19-004.md b/docs/concelier/backfill/CONCELIER-CORE-AOC-19-004.md new file mode 100644 index 000000000..0852532a0 --- /dev/null +++ b/docs/concelier/backfill/CONCELIER-CORE-AOC-19-004.md @@ -0,0 +1,45 @@ +# CONCELIER-CORE-AOC-19-004 · Backfill prerequisites + +Purpose: prep safety rails so CONCELIER-STORE-AOC-19-005 can execute the raw-linkset backfill and rollback without risk to offline kits or prod Mongo. + +## Inputs +- Dataset: `out/concelier/backfill/linksets-m0.ndjson` (deterministic export, compressed with `gzip`), hash: `TBD` (publish after staging upload). +- Target database: `concelier` (Mongo), collections `advisory_linksets` and `advisory_observations`. +- Offline kit bundle: `out/offline/concelier-linksets-m0.tar.gz` (mirrors the NDJSON used for Mongo ingest). + +## Execution checklist +1) **Dry-run import** in staging: + - `scripts/concelier/import_linksets.sh --input out/concelier/backfill/linksets-m0.ndjson.gz --dry-run` + - Verify no merge counters / no inferred severity fields. +2) **Backup** prod collections: + - `mongodump -d concelier -c advisory_linksets -o backups/2025-11-19-pre-aoc19-004/` + - `mongodump -d concelier -c advisory_observations -o backups/2025-11-19-pre-aoc19-004/` +3) **Rollback script staged**: + - `scripts/concelier/rollback_aoc19_004.sh` restores both collections from above dump, then runs `db.advisory_linksets.createIndex` to re-seat deterministic indexes. +4) **Gate flags**: + - Ensure `LinkNotMerge.Enabled=true` and `AggregationOnly.Enabled=false` in Concelier WebService/appsettings for the rehearsal window. +5) **Observability hooks**: + - Enable structured logs `Concelier:Backfill:*` and SLO timer for import duration. +6) **Determinism probe** (post-import): + - Run `dotnet test src/Concelier/__Tests/StellaOps.Concelier.WebService.Tests --filter BackfillDeterminism` in CI; expect zero diff versus golden hashes in `src/Concelier/seed-data/backfill-det-golden.json`. + +## Rollback procedure +``` +scripts/concelier/rollback_aoc19_004.sh \ + --dump backups/2025-11-19-pre-aoc19-004 \ + --db concelier +``` +Post-rollback verification: rerun the determinism probe and confirm `AggregationOnly.Enabled=false`. + +## Evidence to attach after execution +- Mongo dump hash (SHA256 of archive). +- Import log excerpt showing counts and zero merge counters. +- Determinism test TRX. +- Offline kit bundle hash. + +## Owners & contacts +- Concelier Storage Guild (primary) +- DevOps Guild (rollback + backups) + +## Notes +- No schema changes; pure data backfill. If newer Link-Not-Merge fixtures arrive, refresh dataset/hash before scheduling. diff --git a/docs/concelier/backfill/linksets-m0-readme.md b/docs/concelier/backfill/linksets-m0-readme.md new file mode 100644 index 000000000..cfe8ff352 --- /dev/null +++ b/docs/concelier/backfill/linksets-m0-readme.md @@ -0,0 +1,14 @@ +# linksets-m0 dataset plan (CONCELIER-CORE-AOC-19-004) + +Purpose: produce deterministic dataset for STORE-AOC-19-005 rehearsal. + +Generated artefacts: +- `out/concelier/backfill/linksets-m0.ndjson.gz` — placeholder deterministic NDJSON (stub until real export). +- `out/concelier/backfill/linksets-m0.ndjson.gz.sha256` — SHA256 `21df438c534eca99225a31b6dd488f9ea91cda25745f5ab330f9499dbea7d64e`. + +Generation instructions (replace stub when real export is ready): +1) Export from staging Mongo using `scripts/concelier/export_linksets.sh --tenant default --output out/concelier/backfill/linksets-m0.ndjson.gz --gzip`. +2) Verify determinism: `python3 scripts/hash_ndjson.py out/concelier/backfill/linksets-m0.ndjson.gz` and compare across two runs (hashes must match). +3) Update `.sha256` file with the new hash. + +Status: stub dataset and hash published 2025-11-19 to unblock rehearsal scheduling; replace with real export when available. diff --git a/docs/implplan/SPRINT_0110_0001_0001_ingestion_evidence.md b/docs/implplan/SPRINT_0110_0001_0001_ingestion_evidence.md index f099c15b9..dc774ab55 100644 --- a/docs/implplan/SPRINT_0110_0001_0001_ingestion_evidence.md +++ b/docs/implplan/SPRINT_0110_0001_0001_ingestion_evidence.md @@ -22,33 +22,59 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | -| 1 | DOCS-AIAI-31-004 | DOING | CONSOLE-VULN-29-001; CONSOLE-VEX-30-001; SBOM-AIAI-31-001/003 | Docs Guild · Console Guild | Guardrail console doc; screenshots + SBOM evidence pending. | +| P1 | PREP-CONCELIER-AIRGAP-56-001-58-001-AWAIT-MIR | TODO | Due 2025-11-21 · Accountable: Concelier Core · AirGap Guilds | Concelier Core · AirGap Guilds | Await Mirror thin-bundle milestone dates and evidence bundle artifacts for offline chain.

Document artefact/deliverable for CONCELIER-AIRGAP-56-001..58-001 and publish location so downstream tasks can proceed. | +| P2 | PREP-CONCELIER-CONSOLE-23-001-003-CONSOLE-SCH | TODO | Due 2025-11-21 · Accountable: Concelier Console Guild | Concelier Console Guild | Console schema samples not yet published alongside frozen LNM; need evidence bundle identifiers.

Document artefact/deliverable for CONCELIER-CONSOLE-23-001..003 and publish location so downstream tasks can proceed. | +| P3 | PREP-CONCELIER-ATTEST-73-001-002-EVIDENCE-LOC | TODO | Due 2025-11-21 · Accountable: Concelier Core · Evidence Locker Guild | Concelier Core · Evidence Locker Guild | Evidence Locker attestation scope sign-off still pending (due 2025-11-19).

Document artefact/deliverable for CONCELIER-ATTEST-73-001/002 and publish location so downstream tasks can proceed. | +| P4 | PREP-FEEDCONN-ICSCISA-02-012-KISA-02-008-FEED | TODO | Due 2025-11-21 · Accountable: Concelier Feed Owners | Concelier Feed Owners | Feed owner remediation plan.

Document artefact/deliverable for FEEDCONN-ICSCISA-02-012 / KISA-02-008 and publish location so downstream tasks can proceed. | +| 0 | PREP-ART-56-001 | DONE (2025-11-19) | Due 2025-11-21 · Accountable: Mirror Creator Guild | Mirror Creator Guild | Milestone-0 thin bundle sample published at `out/mirror/thin/mirror-thin-m0-sample.tar.gz` (SHA256 `bd1013885a27f651e28331c7a240d417d265bd411d09b51b47bd7c2196659674`) with layout/commands documented in `docs/modules/mirror/milestone-0-thin-bundle.md`. | +| 0.1 | PREP-EVIDENCE-BDL-01 | DONE (2025-11-19) | Due 2025-11-21 · Accountable: Evidence Locker Guild · Excititor Guild | Evidence Locker Guild · Excititor Guild | Evidence Bundle v1 contract published at `docs/modules/evidence-locker/evidence-bundle-v1.md` with sample tarball + hashes under `docs/samples/evidence-bundle/`; includes manifest schema, payload ordering, determinism rules, and transparency handling. | +| 0.2 | PREP-CONSOLE-FIXTURES-29 | DONE (2025-11-19) | Due 2025-11-21 · Accountable: Console Guild · Docs Guild | Console Guild · Docs Guild | Console fixtures published at `docs/samples/console/console-vuln-29-001.json` and `docs/samples/console/console-vex-30-001.json`; hashes stored with CLI guardrail bundles under `out/console/guardrails/`. Final screenshots still depend on SBOM evidence. | +| 0.3 | PREP-CHUNK-API-31 | DONE (2025-11-19) | Due 2025-11-21 · Accountable: Excititor Guild · Advisory AI Guild | Excititor Guild · Advisory AI Guild | Chunk API contract documented and sample NDJSON published at `docs/samples/excititor/chunks-sample.ndjson` (hash in `.sha256`); contract details in `docs/modules/excititor/evidence-contract.md`. | +| 0.4 | PREP-ATTEST-SCOPE-73 | DONE (2025-11-19) | Due 2025-11-21 · Accountable: Evidence Locker Guild · Concelier Guild | Evidence Locker Guild · Concelier Guild | Attestation scope note published at `docs/modules/evidence-locker/attestation-scope-note.md` with required claims + builder example; transparency/offline guidance included. | +| 0.5 | PREP-CONN-METADATA-01 | TODO | Due 2025-11-21 · Accountable: Excititor Connectors Guild | Excititor Connectors Guild | Publish connector signer metadata schema (fingerprints, issuer tiers, bundle references) for MSRC/Oracle/Ubuntu/Stella connectors.

Provide JSON schema, migration guidance, and sample records to align trust enrichment across connectors. | +| 0.6 | PREP-BUILD-HARNESS-110 | DONE (2025-11-19) | Due 2025-11-21 · Accountable: Concelier Build/Tooling Guild | Concelier Build/Tooling Guild | Added runner profile `tools/linksets-ci.sh` using `tools/dotnet-filter.sh` with no `workdir:` injection, AppDomain disabled, and deterministic `ResultsDirectory`; documented invocation and cache expectations to unblock `/linksets` tests in CI. | +| 0.7 | PREP-FEEDCONN-ICS-KISA-PLAN | DONE (2025-11-19) | Due 2025-11-21 · Accountable: Concelier Feed Owners · Product Advisory Guild | Concelier Feed Owners · Product Advisory Guild | Remediation/runbook plan published at `docs/modules/concelier/feeds/icscisa-kisa.md` with cadence, backlog cleanup, normalized fields, owners, and review date; provenance note at `docs/modules/concelier/feeds/icscisa-kisa-provenance.md`. | +| 1 | DOCS-AIAI-31-004 | TODO | CONSOLE-VULN-29-001; CONSOLE-VEX-30-001; SBOM-AIAI-31-003 | Docs Guild · Console Guild | Guardrail console doc; fixtures published at `docs/samples/console/console-vuln-29-001.json` and `docs/samples/console/console-vex-30-001.json`; awaiting SBOM evidence for final screenshots. | | 2 | AIAI-31-009 | DONE (2025-11-12) | — | Advisory AI Guild | Regression suite + `AdvisoryAI:Guardrails` config landed with perf budgets. | -| 3 | AIAI-31-008 | BLOCKED (2025-11-16) | AIAI-31-006/007; DEVOPS-AIAI-31-001 | Advisory AI Guild · DevOps Guild | Package inference on-prem container, remote toggle, Helm/Compose manifests, scaling/offline guidance. | -| 4 | SBOM-AIAI-31-003 | BLOCKED (2025-11-16) | SBOM-AIAI-31-001; CLI-VULN-29-001; CLI-VEX-30-001 | SBOM Service Guild · Advisory AI Guild | Advisory AI hand-off kit for `/v1/sbom/context`; smoke test with tenants. | +| 3 | AIAI-31-008 | TODO | Prereqs AIAI-31-006 (DONE 2025-11-04) & AIAI-31-007 (DONE 2025-11-06) delivered; start packaging and loop DevOps for observability hand-off during QA. | Advisory AI Guild · DevOps Guild | Package inference on-prem container, remote toggle, Helm/Compose manifests, scaling/offline guidance. | +| 4 | SBOM-AIAI-31-003 | BLOCKED (2025-11-16) | CLI-VULN-29-001; CLI-VEX-30-001 | SBOM Service Guild · Advisory AI Guild | Advisory AI hand-off kit for `/v1/sbom/context`; smoke test with tenants. | | 5 | DOCS-AIAI-31-005/006/008/009 | BLOCKED | CLI-VULN-29-001; CLI-VEX-30-001; POLICY-ENGINE-31-001; DEVOPS-AIAI-31-001 | Docs Guild | CLI/policy/ops docs paused pending upstream artefacts. | -| 6 | CONCELIER-AIAI-31-002 | DOING | CONCELIER-GRAPH-21-001/002; CARTO-GRAPH-21-002 (Link-Not-Merge) | Concelier Core · WebService Guilds | LNM schema drafted (`docs/modules/concelier/link-not-merge-schema.md`) + sample payloads; wiring can proceed while review runs. | +| 6 | CONCELIER-AIAI-31-002 | BLOCKED | CONCELIER-GRAPH-21-001/002; CARTO-GRAPH-21-002 (Link-Not-Merge) | Concelier Core · WebService Guilds | LNM schema drafted; awaiting upstream approval and OpenAPI exposure before continuing wiring. | | 7 | CONCELIER-AIAI-31-003 | DONE (2025-11-12) | — | Concelier Observability Guild | Telemetry counters/histograms live for Advisory AI dashboards. | -| 8 | CONCELIER-AIRGAP-56-001..58-001 | BLOCKED | Await Mirror thin-bundle milestone dates and evidence bundle artifacts for offline chain | Concelier Core · AirGap Guilds | Mirror/offline provenance chain; proceed against frozen contracts. | -| 9 | CONCELIER-CONSOLE-23-001..003 | BLOCKED | Console schema samples not yet published alongside frozen LNM; need evidence bundle identifiers | Concelier Console Guild | Console advisory aggregation/search helpers; proceed on frozen schema. | -| 10 | CONCELIER-ATTEST-73-001/002 | BLOCKED | Evidence Locker attestation scope sign-off still pending (due 2025-11-19) | Concelier Core · Evidence Locker Guild | Attestation inputs + transparency metadata; needs implementation using frozen bundle contract. | -| 11 | FEEDCONN-ICSCISA-02-012 / KISA-02-008 | BLOCKED | Feed owner remediation plan | Concelier Feed Owners | Overdue provenance refreshes. | +| 8 | CONCELIER-AIRGAP-56-001..58-001 | BLOCKED | PREP-ART-56-001; PREP-EVIDENCE-BDL-01 | Concelier Core · AirGap Guilds | Mirror/offline provenance chain; proceed against frozen contracts. | +| 9 | CONCELIER-CONSOLE-23-001..003 | BLOCKED | PREP-CONSOLE-FIXTURES-29; PREP-EVIDENCE-BDL-01 | Concelier Console Guild | Console advisory aggregation/search helpers; proceed on frozen schema. | +| 10 | CONCELIER-ATTEST-73-001/002 | TODO | PREP-ATTEST-SCOPE-73; PREP-EVIDENCE-BDL-01 | Concelier Core · Evidence Locker Guild | Attestation inputs + transparency metadata; implement using frozen Evidence Bundle v1 and scope note (`docs/modules/evidence-locker/attestation-scope-note.md`). | +| 11 | FEEDCONN-ICSCISA-02-012 / KISA-02-008 | BLOCKED | PREP-FEEDCONN-ICS-KISA-PLAN | Concelier Feed Owners | Overdue provenance refreshes. | | 12 | EXCITITOR-AIAI-31-001 | DONE (2025-11-09) | — | Excititor Web/Core Guilds | Normalised VEX justification projections shipped. | -| 13 | EXCITITOR-AIAI-31-002 | DOING (2025-11-18) | Contract/doc updates landed; chunk tests blocked on local runner; CI execution required | Excititor Web/Core Guilds | Chunk API for Advisory AI feeds; limits/headers/logging implemented; awaiting CI test run. | -| 14 | EXCITITOR-AIAI-31-003 | DOING (2025-11-18) | EXCITITOR-AIAI-31-002 | Excititor Observability Guild | Chunk API telemetry/logging added (outcome + signature + info log); validate in CI. | -| 15 | EXCITITOR-AIAI-31-004 | DOING (2025-11-18) | EXCITITOR-AIAI-31-002 | Docs Guild · Excititor Guild | Chunk API docs updated (limits, headers, NDJSON example, OpenAPI excerpt); waiting on CI confirmation. | +| 13 | EXCITITOR-AIAI-31-002 | BLOCKED (2025-11-19) | Contract/doc updates landed; tests cannot execute locally (vstest harness missing DLL); needs CI runner. | Excititor Web/Core Guilds | Chunk API for Advisory AI feeds; limits/headers/logging implemented; awaiting CI test run. | +| 14 | EXCITITOR-AIAI-31-003 | BLOCKED (2025-11-19) | EXCITITOR-AIAI-31-002 (tests pending in CI) | Excititor Observability Guild | Chunk API telemetry/logging added; validation blocked until 31-002 tests run in CI. | +| 15 | EXCITITOR-AIAI-31-004 | BLOCKED (2025-11-19) | EXCITITOR-AIAI-31-002 (tests pending in CI) | Docs Guild · Excititor Guild | Chunk API docs updated; publication gated on CI results for 31-002. | | 16 | EXCITITOR-ATTEST-01-003 / 73-001 / 73-002 | TODO | EXCITITOR-AIAI-31-002; Evidence Bundle v1 frozen (2025-11-17) | Excititor Guild · Evidence Locker Guild | Attestation scope + payloads; proceed on frozen bundle contract. | | 17 | EXCITITOR-AIRGAP-56/57/58 · CONN-TRUST-01-001 | TODO | Link-Not-Merge v1 frozen; attestation plan now unblocked | Excititor Guild · AirGap Guilds | Air-gap ingest + connector trust tasks; proceed with frozen schema. | -| 18 | MIRROR-CRT-56-001 | DOING (2025-11-17) | Thin bundle staffed; record primary+backup and start milestone-0 this week | Mirror Creator Guild | Kickoff in flight; deliver minimal thin bundle v1 + sample. | +| 18 | MIRROR-CRT-56-001 | BLOCKED (2025-11-19) | Upstream assembler code not landed; milestone-0 sample published; waiting for real thin bundle output. | Mirror Creator Guild | Kickoff in flight; replace sample with real thin bundle v1 + manifest/hashes once assembler commits land. | | 19 | MIRROR-CRT-56-002 | TODO | Depends on MIRROR-CRT-56-001 thin bundle milestone | Mirror Creator · Security Guilds | Proceed once thin bundle artifacts present. | | 20 | MIRROR-CRT-57-001/002 | TODO | MIRROR-CRT-56-001 thin bundle milestone | Mirror Creator Guild · AirGap Time Guild | Proceed after thin bundle; staffing assigned. | | 21 | MIRROR-CRT-58-001/002 | TODO | MIRROR-CRT-56-001 thin bundle milestone; upstream contracts frozen | Mirror Creator · CLI · Exporter Guilds | Start once thin bundle + sample available. | | 22 | EXPORT-OBS-51-001 / 54-001 · AIRGAP-TIME-57-001 · CLI-AIRGAP-56-001 · PROV-OBS-53-001 | TODO | MIRROR-CRT-56-001 thin bundle milestone (2025-11-17) | Exporter Guild · AirGap Time · CLI Guild | Proceed once thin bundle artifacts land. | -| 23 | BUILD-TOOLING-110-001 | DOING (2025-11-17) | Use `tools/dotnet-filter.sh`; rerun Concelier `/linksets` tests; fix compile fallout; CI runner still needed to bypass vstest arg rejection | Concelier Build/Tooling Guild | Remove injected `workdir:` MSBuild switch or execute tests in clean runner to unblock `/linksets` validation. | +| 23 | BUILD-TOOLING-110-001 | BLOCKED (2025-11-20) | Mongo2Go now starts with vendored OpenSSL 1.1 and collection registration; `/linksets` tests still timing out connecting to mongod (connection refused). Need CI runner or local mongod override to stabilize. | Concelier Build/Tooling Guild | Remove injected `workdir:` MSBuild switch or execute tests in clean runner to unblock `/linksets` validation. Action: run `tools/linksets-ci.sh` in CI and attach TRX; fallback to new agent pool if NuGet hangs. | ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | +| 2025-11-19 | Reconfirmed SBOM-AIAI-31-003, DOCS-AIAI-31-005/006/008/009, CONCELIER air-gap/console/attest, and FEEDCONN-ICSCISA/KISA tracks remain BLOCKED pending CLI-VULN/CLI-VEX artefacts, Evidence Locker attestation scope, console fixtures, mirror thin bundle, and feed remediation plan (PREP-FEEDCONN-ICS-KISA-PLAN). | Project Mgmt | +| 2025-11-19 | Completed PREP-FEEDCONN-ICS-KISA-PLAN: published remediation/runbook plan and provenance note under `docs/modules/concelier/feeds/`; FEEDCONN-ICSCISA-02-012 / KISA-02-008 may proceed once remediation runs start. | Implementer | +| 2025-11-19 | Flipped DOCS-AIAI-31-004, CONCELIER-AIAI-31-002, EXCITITOR-AIAI-31-002/003/004, MIRROR-CRT-56-001, BUILD-TOOLING-110-001 to BLOCKED pending console endpoints/SBOM-31-003, LNM approval, CI runners, and assembler code landing. | Implementer | +| 2025-11-19 | Ran `tools/linksets-ci.sh`; build succeeded but no TRX produced (tests not discovered). BUILD-TOOLING-110-001 remains BLOCKED; next step is CI agent with vstest discovery working or alternative runner. | Implementer | +| 2025-11-20 | Updated DOCS-AIAI-31-004 with publication-readiness checklist, fixtures, and evidence bundle links; still waiting on SBOM-AIAI-31-003 + live console endpoints for screenshots. | Implementer | +| 2025-11-20 | Retried `tools/linksets-ci.sh`; tests now discover but Mongo2Go fails to start (missing `libcrypto.so.1.1` in runner). Aborted at 16s; BUILD-TOOLING-110-001 remains BLOCKED pending runner with OpenSSL 1.1 libs. | Implementer | +| 2025-11-20 | Added Mongo linkset collection registration and updated `tools/linksets-ci.sh` to seed `LD_LIBRARY_PATH` with vendored OpenSSL 1.1. Rerun: mongod starts, tests execute but fail on missing `IMongoCollection` before the registration fix; rerun in CI should proceed further. | Implementer | +| 2025-11-19 | Retried `dotnet test ... --filter Linksets` (with/without restore, TRX, blame timeout); builds succeed but vstest still discovers zero Linksets tests and emits no TRX. BUILD-TOOLING-110-001 remains BLOCKED; requires CI agent with working test discovery. | Implementer | +| 2025-11-19 | Packaged `StellaOps.Policy.AuthSignals` 0.1.0-alpha into `local-nugets/` for CONCELIER/POLICY/EXCITITOR consumers. | Implementer | +| 2025-11-19 | Published console fixtures (`docs/samples/console/console-vuln-29-001.json`, `console-vex-30-001.json`) so DOCS-AIAI-31-004 can proceed while awaiting SBOM evidence. | Implementer | +| 2025-11-19 | Completed PREP-ART-56-001: published milestone-0 thin bundle sample + hash and documentation to unblock downstream mirror consumers. | Implementer | +| 2025-11-19 | Completed PREP-EVIDENCE-BDL-01: published Evidence Bundle v1 contract and sample bundle with hashes to unblock attestation/air-gap tracks. | Implementer | +| 2025-11-19 | Completed PREP-CONSOLE-FIXTURES-29 with console fixtures; PREP-CHUNK-API-31 with chunk NDJSON sample; PREP-BUILD-HARNESS-110 with CI runner profile `tools/linksets-ci.sh`. | Implementer | | 2025-11-09 | Captured initial wave scope, interlocks, risks for SBOM/CLI/Policy/DevOps artefacts, Link-Not-Merge schemas, Excititor justification backlog, Mirror commitments. | Sprint 110 leads | | 2025-11-13 | Refreshed tracker ahead of 14–15 Nov checkpoints; outstanding asks: SBOM/CLI/Policy/DevOps ETAs, Link-Not-Merge approval, Mirror staffing. | Sprint 110 leads | | 2025-11-16 | Updated task board: marked Advisory AI packaging, Concelier air-gap/console/attestation tracks, Excititor chunk/attestation/air-gap tracks, and all Mirror tracks as BLOCKED pending schema approvals, Evidence Locker contract, Mirror staffing decisions. | Implementer | @@ -88,6 +114,8 @@ | 2025-11-17 | Tried `dotnet test ... --filter Linksets --no-build` (without wrapper); vstest still rejects DLL as “invalid test source”; tests not run. | Implementer | | 2025-11-17 | Added working-directory marker to sprint scope for clarity on cross-module coordination. | Implementer | | 2025-11-18 | Assessed air-gap/console/attestation tracks; all still blocked pending Mirror thin-bundle dates, published console schemas, and Evidence Locker attestation scope. Updated Delivery Tracker statuses accordingly. | Implementer | +| 2025-11-19 | Updated SBOM-AIAI-31-003 dependency list: SBOM-AIAI-31-001 is now DONE, remaining blocker is CLI-VULN-29-001/CLI-VEX-30-001. | Project Mgmt | +| 2025-11-19 | Published stub thin bundle sample + hash, CLI-VULN/CLI-VEX guardrail artefacts, and attestation scope note; tasks remain blocked only on remaining upstream contracts. | Project Mgmt | ## Decisions & Risks ### Decisions in flight diff --git a/docs/implplan/SPRINT_0113_0001_0002_concelier_ii.md b/docs/implplan/SPRINT_0113_0001_0002_concelier_ii.md index fc236d6ca..cab0123ea 100644 --- a/docs/implplan/SPRINT_0113_0001_0002_concelier_ii.md +++ b/docs/implplan/SPRINT_0113_0001_0002_concelier_ii.md @@ -22,12 +22,14 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | +| P1 | PREP-CONCELIER-GRAPH-21-002-PLATFORM-EVENTS-S | TODO | Due 2025-11-21 · Accountable: Concelier Core Guild · Scheduler Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Concelier Core Guild · Scheduler Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Platform Events/Scheduler contract for `sbom.observation.updated` not defined; no event publisher plumbing in repo.

Document artefact/deliverable for CONCELIER-GRAPH-21-002 and publish location so downstream tasks can proceed. | +| P2 | PREP-CONCELIER-LNM-21-002-WAITING-ON-FINALIZE | TODO | Due 2025-11-21 · Accountable: Concelier Core Guild · Data Science Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Concelier Core Guild · Data Science Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Waiting on finalized LNM fixtures + precedence rules and event contract; confidence heuristic in place; broader tests deferred to CI.

Document artefact/deliverable for CONCELIER-LNM-21-002 and publish location so downstream tasks can proceed. | | 1 | CONCELIER-GRAPH-21-001 | DONE | LNM sample fixtures with scopes/relationships added; observation/linkset query tests passing | Concelier Core Guild · Cartographer Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Extend SBOM normalization so relationships/scopes are stored as raw observation metadata with provenance pointers for graph joins. | -| 2 | CONCELIER-GRAPH-21-002 | BLOCKED | Platform Events/Scheduler contract for `sbom.observation.updated` not defined; no event publisher plumbing in repo. | Concelier Core Guild · Scheduler Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Publish `sbom.observation.updated` events with tenant/context and advisory refs; facts only, no judgments. | +| 2 | CONCELIER-GRAPH-21-002 | BLOCKED | PREP-CONCELIER-GRAPH-21-002-PLATFORM-EVENTS-S | Concelier Core Guild · Scheduler Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Publish `sbom.observation.updated` events with tenant/context and advisory refs; facts only, no judgments. | | 3 | CONCELIER-GRAPH-24-101 | TODO | Depends on 21-002 | Concelier WebService Guild (`src/Concelier/StellaOps.Concelier.WebService`) | `/advisories/summary` bundles observation/linkset metadata (aliases, confidence, conflicts) for graph overlays; upstream values intact. | | 4 | CONCELIER-GRAPH-28-102 | TODO | Depends on 24-101 | Concelier WebService Guild (`src/Concelier/StellaOps.Concelier.WebService`) | Evidence batch endpoints keyed by component sets with provenance/timestamps; no derived severity. | | 5 | CONCELIER-LNM-21-001 | DONE | Start of Link-Not-Merge chain | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Define immutable `advisory_observations` model (per-source fields, version ranges, severity text, provenance metadata, tenant guards). | -| 6 | CONCELIER-LNM-21-002 | BLOCKED | Waiting on finalized LNM fixtures + precedence rules and event contract; confidence heuristic in place; broader tests deferred to CI | Concelier Core Guild · Data Science Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Correlation pipelines output linksets with confidence + conflict markers, avoiding value collapse. | +| 6 | CONCELIER-LNM-21-002 | BLOCKED | PREP-CONCELIER-LNM-21-002-WAITING-ON-FINALIZE | Concelier Core Guild · Data Science Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Correlation pipelines output linksets with confidence + conflict markers, avoiding value collapse. | | 7 | CONCELIER-LNM-21-003 | TODO | Depends on 21-002 | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Record disagreements (severity, CVSS, references) as structured conflict entries. | | 8 | CONCELIER-LNM-21-004 | TODO | Depends on 21-003 | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Remove legacy merge/dedup logic; add guardrails/tests to keep ingestion append-only; document linkset supersession. | | 9 | CONCELIER-LNM-21-005 | TODO | Depends on 21-004 | Concelier Core Guild · Platform Events Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Emit `advisory.linkset.updated` events with delta descriptions + observation ids (tenant + provenance only). | @@ -41,6 +43,7 @@ ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-17 | Started CONCELIER-GRAPH-21-001: added raw linkset scopes + relationships (provenance) through contracts, ingest mapper, storage mapping, and sanitization; new Mongo mapping test added. | Implementer | | 2025-11-18 | Paused CONCELIER-GRAPH-21-001 pending LNM sample fixtures with scopes/relationships and graph acceptance tests; cannot validate normalization output deterministically. | Implementer | | 2025-11-17 | Reran AdvisoryObservationDocumentFactoryTests after targeted restore; pass on focused suite (no-build); continue wiring downstream graph consumers next. | Implementer | @@ -72,4 +75,4 @@ | --- | --- | --- | --- | | Link-Not-Merge schema finalization (CONCELIER-LNM-21-001+) | Tasks 1–15 | Concelier Core · Cartographer · Platform Events | Resolved: v1 frozen 2025-11-17 with add-only rule; fixtures pending. | | Scheduler / Platform Events contract for `sbom.observation.updated` | Tasks 2, 5–15 | Scheduler Guild · Platform Events Guild | Needs joint schema/telemetry review. | -| Object storage contract for raw payloads | Tasks 10–12 | Storage Guild · DevOps Guild | To be defined alongside 21-103. | +| Object storage contract for raw payloads | Tasks 10–12 | Storage Guild · DevOps Guild | To be defined alongside 21-103. | \ No newline at end of file diff --git a/docs/implplan/SPRINT_0114_0001_0003_concelier_iii.md b/docs/implplan/SPRINT_0114_0001_0003_concelier_iii.md index 34bcae157..9aaad0b83 100644 --- a/docs/implplan/SPRINT_0114_0001_0003_concelier_iii.md +++ b/docs/implplan/SPRINT_0114_0001_0003_concelier_iii.md @@ -20,24 +20,41 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | -| 1 | CONCELIER-OAS-61-001 | BLOCKED | LNM schema frozen 2025-11-17, but OpenAPI source/spec artifact not present in repo; need canonical spec to edit | Concelier Core Guild · API Contracts Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Update OpenAPI spec so observation/linkset/timeline endpoints document provenance fields, tenant scopes, AOC guarantees (no consensus fields). | -| 2 | CONCELIER-OAS-61-002 | BLOCKED | Depends on 61-001; blocked until OpenAPI spec is available | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Examples library (conflict linksets, multi-source severity, timeline snippets) demonstrating raw advisory surfaces without merges; wire into docs/SDKs. | -| 3 | CONCELIER-OAS-62-001 | BLOCKED | Depends on 61-002; blocked with OAS chain | Concelier Core Guild · SDK Generator Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | SDK smoke tests for advisory search/pagination/conflict handling ensuring provenance fields preserved and no inferred verdicts. | -| 4 | CONCELIER-OAS-63-001 | BLOCKED | Depends on 62-001; blocked with OAS chain | Concelier Core Guild · API Governance Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Implement Sunset/Deprecation headers + timeline notices for legacy endpoints being retired; discourage merge-era APIs. | -| 5 | CONCELIER-OBS-51-001 | BLOCKED | Await observability spec (metrics names/labels, SLO burn rules) from DevOps; none present in repo | Concelier Core Guild · DevOps Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Emit ingestion latency, queue depth, and AOC violation metrics with burn-rate alerts to prove pipeline health. | -| 6 | CONCELIER-OBS-52-001 | BLOCKED | Depends on 51-001 metrics contract; blocked accordingly | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Timeline records for ingest/normalization/linkset updates containing trace IDs, conflict summaries, evidence hashes—facts only for replay. | -| 7 | CONCELIER-OBS-53-001 | BLOCKED | Depends on 52-001; blocked until timeline instrumentation defined | Concelier Core Guild · Evidence Locker Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Evidence locker bundles (raw doc, normalization diff, linkset) with Merkle manifests for audit replay without live Mongo. | -| 8 | CONCELIER-OBS-54-001 | BLOCKED | Depends on OBS timeline artifacts; no attestation contract yet | Concelier Core Guild · Provenance Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Attach DSSE attestations to advisory batches; expose verification APIs; link attestation IDs into timeline/ledger. | -| 9 | CONCELIER-OBS-55-001 | BLOCKED | Depends on 54-001; incident-mode hooks need finalized attestation/timeline shape | Concelier Core Guild · DevOps Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Incident-mode hooks (extra sampling, retention overrides, redaction guards) to collect more raw evidence without mutating content. | -| 10 | CONCELIER-ORCH-32-001 | BLOCKED | Orchestrator registry/SDK contract not published; no registry metadata to align | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Register every advisory connector with orchestrator (metadata, auth scopes, rate policies) for transparent, reproducible scheduling. | -| 11 | CONCELIER-ORCH-32-002 | BLOCKED | Depends on 32-001; blocked until orchestrator SDK/controls provided | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Adopt orchestrator worker SDK in ingestion loops; emit heartbeats/progress/artifact hashes for deterministic replays. | -| 12 | CONCELIER-ORCH-33-001 | BLOCKED | Depends on 32-002; blocked with orchestrator contract gap | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Honor orchestrator pause/throttle/retry controls with structured errors and persisted checkpoints. | -| 13 | CONCELIER-ORCH-34-001 | BLOCKED | Depends on 33-001; blocked with orchestrator contract gap | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Execute orchestrator-driven backfills reusing artifact hashes/signatures, logging provenance, and pushing run metadata to ledger. | -| 14 | CONCELIER-POLICY-20-001 | BLOCKED | LNM APIs not exposed via OpenAPI; depends on OAS chain (61-001..63-001) now blocked | Concelier WebService Guild (`src/Concelier/StellaOps.Concelier.WebService`) | Provide batch advisory lookup APIs for Policy Engine (purl/advisory filters, tenant scopes, explain metadata) so policy joins raw evidence without inferred outcomes. | +| P1 | PREP-CONCELIER-OAS-61-001-LNM-SCHEMA-FROZEN-2 | BLOCKED | Due 2025-11-21 · Accountable: Concelier Core Guild · API Contracts Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Concelier Core Guild · API Contracts Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | LNM schema frozen 2025-11-17, but OpenAPI source/spec artifact not present in repo; need canonical spec to edit.

Document artefact/deliverable for CONCELIER-OAS-61-001 and publish location so downstream tasks can proceed. | +| P2 | PREP-CONCELIER-OAS-61-002-DEPENDS-ON-61-001-B | BLOCKED | Due 2025-11-21 · Accountable: Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Depends on 61-001; blocked until OpenAPI spec is available.

Document artefact/deliverable for CONCELIER-OAS-61-002 and publish location so downstream tasks can proceed. | +| P3 | PREP-CONCELIER-OAS-62-001-DEPENDS-ON-61-002-B | BLOCKED | Due 2025-11-21 · Accountable: Concelier Core Guild · SDK Generator Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Concelier Core Guild · SDK Generator Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Depends on 61-002; blocked with OAS chain.

Document artefact/deliverable for CONCELIER-OAS-62-001 and publish location so downstream tasks can proceed. | +| P4 | PREP-CONCELIER-OAS-63-001-DEPENDS-ON-62-001-B | BLOCKED | Due 2025-11-21 · Accountable: Concelier Core Guild · API Governance Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Concelier Core Guild · API Governance Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Depends on 62-001; blocked with OAS chain.

Document artefact/deliverable for CONCELIER-OAS-63-001 and publish location so downstream tasks can proceed. | +| P5 | PREP-CONCELIER-OBS-51-001-AWAIT-OBSERVABILITY | BLOCKED | Due 2025-11-21 · Accountable: Concelier Core Guild · DevOps Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Concelier Core Guild · DevOps Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Await observability spec (metrics names/labels, SLO burn rules) from DevOps; none present in repo.

Document artefact/deliverable for CONCELIER-OBS-51-001 and publish location so downstream tasks can proceed. | +| P6 | PREP-CONCELIER-OBS-52-001-DEPENDS-ON-51-001-M | BLOCKED | Due 2025-11-21 · Accountable: Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Depends on 51-001 metrics contract; blocked accordingly.

Document artefact/deliverable for CONCELIER-OBS-52-001 and publish location so downstream tasks can proceed. | +| P7 | PREP-CONCELIER-OBS-53-001-DEPENDS-ON-52-001-B | BLOCKED | Due 2025-11-21 · Accountable: Concelier Core Guild · Evidence Locker Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Concelier Core Guild · Evidence Locker Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Depends on 52-001; blocked until timeline instrumentation defined.

Document artefact/deliverable for CONCELIER-OBS-53-001 and publish location so downstream tasks can proceed. | +| P8 | PREP-CONCELIER-OBS-54-001-DEPENDS-ON-OBS-TIME | BLOCKED | Due 2025-11-21 · Accountable: Concelier Core Guild · Provenance Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Concelier Core Guild · Provenance Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Depends on OBS timeline artifacts; no attestation contract yet.

Document artefact/deliverable for CONCELIER-OBS-54-001 and publish location so downstream tasks can proceed. | +| P9 | PREP-CONCELIER-OBS-55-001-DEPENDS-ON-54-001-I | BLOCKED | Due 2025-11-21 · Accountable: Concelier Core Guild · DevOps Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Concelier Core Guild · DevOps Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Depends on 54-001; incident-mode hooks need finalized attestation/timeline shape.

Document artefact/deliverable for CONCELIER-OBS-55-001 and publish location so downstream tasks can proceed. | +| P10 | PREP-CONCELIER-ORCH-32-001-ORCHESTRATOR-REGIS | BLOCKED | Due 2025-11-21 · Accountable: Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Orchestrator registry/SDK contract not published; no registry metadata to align.

Document artefact/deliverable for CONCELIER-ORCH-32-001 and publish location so downstream tasks can proceed. | +| P11 | PREP-CONCELIER-ORCH-32-002-DEPENDS-ON-32-001 | BLOCKED | Due 2025-11-21 · Accountable: Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Depends on 32-001; blocked until orchestrator SDK/controls provided.

Document artefact/deliverable for CONCELIER-ORCH-32-002 and publish location so downstream tasks can proceed. | +| P12 | PREP-CONCELIER-ORCH-33-001-DEPENDS-ON-32-002 | BLOCKED | Due 2025-11-21 · Accountable: Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Depends on 32-002; blocked with orchestrator contract gap.

Document artefact/deliverable for CONCELIER-ORCH-33-001 and publish location so downstream tasks can proceed. | +| P13 | PREP-CONCELIER-ORCH-34-001-DEPENDS-ON-33-001 | BLOCKED | Due 2025-11-21 · Accountable: Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Depends on 33-001; blocked with orchestrator contract gap.

Document artefact/deliverable for CONCELIER-ORCH-34-001 and publish location so downstream tasks can proceed. | +| P14 | PREP-CONCELIER-POLICY-20-001-LNM-APIS-NOT-EXP | BLOCKED | Due 2025-11-21 · Accountable: Concelier WebService Guild (`src/Concelier/StellaOps.Concelier.WebService`) | Concelier WebService Guild (`src/Concelier/StellaOps.Concelier.WebService`) | LNM APIs not exposed via OpenAPI; depends on OAS chain (61-001..63-001) now blocked.

Document artefact/deliverable for CONCELIER-POLICY-20-001 and publish location so downstream tasks can proceed. | +| 1 | CONCELIER-OAS-61-001 | BLOCKED | PREP-CONCELIER-OAS-61-001-LNM-SCHEMA-FROZEN-2 | Concelier Core Guild · API Contracts Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Update OpenAPI spec so observation/linkset/timeline endpoints document provenance fields, tenant scopes, AOC guarantees (no consensus fields). | +| 2 | CONCELIER-OAS-61-002 | BLOCKED | PREP-CONCELIER-OAS-61-002-DEPENDS-ON-61-001-B | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Examples library (conflict linksets, multi-source severity, timeline snippets) demonstrating raw advisory surfaces without merges; wire into docs/SDKs. | +| 3 | CONCELIER-OAS-62-001 | BLOCKED | PREP-CONCELIER-OAS-62-001-DEPENDS-ON-61-002-B | Concelier Core Guild · SDK Generator Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | SDK smoke tests for advisory search/pagination/conflict handling ensuring provenance fields preserved and no inferred verdicts. | +| 4 | CONCELIER-OAS-63-001 | BLOCKED | PREP-CONCELIER-OAS-63-001-DEPENDS-ON-62-001-B | Concelier Core Guild · API Governance Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Implement Sunset/Deprecation headers + timeline notices for legacy endpoints being retired; discourage merge-era APIs. | +| 5 | CONCELIER-OBS-51-001 | BLOCKED | PREP-CONCELIER-OBS-51-001-AWAIT-OBSERVABILITY | Concelier Core Guild · DevOps Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Emit ingestion latency, queue depth, and AOC violation metrics with burn-rate alerts to prove pipeline health. | +| 6 | CONCELIER-OBS-52-001 | BLOCKED | PREP-CONCELIER-OBS-52-001-DEPENDS-ON-51-001-M | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Timeline records for ingest/normalization/linkset updates containing trace IDs, conflict summaries, evidence hashes—facts only for replay. | +| 7 | CONCELIER-OBS-53-001 | BLOCKED | PREP-CONCELIER-OBS-53-001-DEPENDS-ON-52-001-B | Concelier Core Guild · Evidence Locker Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Evidence locker bundles (raw doc, normalization diff, linkset) with Merkle manifests for audit replay without live Mongo. | +| 8 | CONCELIER-OBS-54-001 | BLOCKED | PREP-CONCELIER-OBS-54-001-DEPENDS-ON-OBS-TIME | Concelier Core Guild · Provenance Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Attach DSSE attestations to advisory batches; expose verification APIs; link attestation IDs into timeline/ledger. | +| 9 | CONCELIER-OBS-55-001 | BLOCKED | PREP-CONCELIER-OBS-55-001-DEPENDS-ON-54-001-I | Concelier Core Guild · DevOps Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Incident-mode hooks (extra sampling, retention overrides, redaction guards) to collect more raw evidence without mutating content. | +| 10 | CONCELIER-ORCH-32-001 | BLOCKED | PREP-CONCELIER-ORCH-32-001-ORCHESTRATOR-REGIS | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Register every advisory connector with orchestrator (metadata, auth scopes, rate policies) for transparent, reproducible scheduling. | +| 11 | CONCELIER-ORCH-32-002 | BLOCKED | PREP-CONCELIER-ORCH-32-002-DEPENDS-ON-32-001 | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Adopt orchestrator worker SDK in ingestion loops; emit heartbeats/progress/artifact hashes for deterministic replays. | +| 12 | CONCELIER-ORCH-33-001 | BLOCKED | PREP-CONCELIER-ORCH-33-001-DEPENDS-ON-32-002 | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Honor orchestrator pause/throttle/retry controls with structured errors and persisted checkpoints. | +| 13 | CONCELIER-ORCH-34-001 | BLOCKED | PREP-CONCELIER-ORCH-34-001-DEPENDS-ON-33-001 | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Execute orchestrator-driven backfills reusing artifact hashes/signatures, logging provenance, and pushing run metadata to ledger. | +| 14 | CONCELIER-POLICY-20-001 | BLOCKED | PREP-CONCELIER-POLICY-20-001-LNM-APIS-NOT-EXP | Concelier WebService Guild (`src/Concelier/StellaOps.Concelier.WebService`) | Provide batch advisory lookup APIs for Policy Engine (purl/advisory filters, tenant scopes, explain metadata) so policy joins raw evidence without inferred outcomes. | ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Normalized PREP task IDs (ORCH 32-002/33-001/34-001) to drop stray trailing hyphen so dependencies match. | Project Mgmt | +| 2025-11-19 | Marked all PREP tasks P1–P14 BLOCKED while upstream OpenAPI, observability, orchestrator, and policy artefacts are missing; downstream tasks remain gated. | Project Mgmt | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-08 | Archived completed/historic work to `docs/implplan/archived/tasks.md`. | Planning | | 2025-11-16 | Normalised sprint file to standard template and renamed from `SPRINT_114_concelier_iii.md` to `SPRINT_0114_0001_0003_concelier_iii.md`; no semantic changes. | Planning | | 2025-11-18 | Marked OAS tasks (61-001..63-001) BLOCKED: LNM schema is frozen but no OpenAPI source/spec exists in repo to update; downstream OAS/SDK tasks inherit block. | Concelier Core | diff --git a/docs/implplan/SPRINT_0115_0001_0004_concelier_iv.md b/docs/implplan/SPRINT_0115_0001_0004_concelier_iv.md index f9d7883b3..7172b860a 100644 --- a/docs/implplan/SPRINT_0115_0001_0004_concelier_iv.md +++ b/docs/implplan/SPRINT_0115_0001_0004_concelier_iv.md @@ -20,8 +20,12 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | -| 0 | POLICY-AUTH-SIGNALS-LIB-115 | DOING | Drafted minimal shared contract models (P/A/S) in `src/__Libraries/StellaOps.PolicyAuthoritySignals.Contracts`; needs upstream ratification. | Policy Guild · Authority Guild · Signals Guild · Platform Guild | Ship minimal schemas and typed models (NuGet/shared lib) for Concelier, Excititor, and downstream services; include fixtures and versioning notes. | -| 1 | CONCELIER-POLICY-20-002 | DOING | Implement using shared contracts draft (POLICY-AUTH-SIGNALS-LIB-115). | Concelier Core Guild · Policy Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Expand linkset builders with vendor equivalence, NEVRA/PURL normalization, version-range parsing so policy joins are accurate without prioritizing sources. | +| P1 | PREP-CONCELIER-CORE-AOC-19-004 | DONE (2025-11-19) | Prereq doc published at `docs/concelier/backfill/CONCELIER-CORE-AOC-19-004.md`; dataset hash pending after staging upload. | Concelier Core/Storage Guild · DevOps Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Storage.Mongo`) | Backfill prerequisites documented (dataset path, backup/rollback script, determinism probe). STORE-AOC-19-005 can schedule rehearsal once dataset hash is published. | +| P1a | PREP-CONCELIER-CORE-AOC-19-004-HASH | DONE (2025-11-19) | Due 2025-11-22 · Accountable: Concelier Core/Storage Guild | Concelier Core/Storage Guild | Stub deterministic dataset + SHA256 (`21df438c534eca99225a31b6dd488f9ea91cda25745f5ab330f9499dbea7d64e`) published in `out/concelier/backfill/`; README updated. Replace with real export when available, but rehearsal can schedule now. | +| P2 | PREP-AUTH-TEN-47-001 | DONE (2025-11-19) | Contract doc + fixture published at `docs/modules/authority/tenant-scope-47-001.md` and `docs/modules/authority/fixtures/auth-ten-47-001.json`. | Authority Guild · Policy Guild | Deliver tenant-scope contract (`AUTH-TEN-47-001`) covering fields, RBAC, and audit requirements; post schema + fixtures for Concelier enforcement tasks. | +| P3 | PREP-CONCELIER-VULN-29-001 | DONE (2025-11-19) | Bridge contract published at `docs/modules/concelier/bridges/vuln-29-001.md`; sample fixture location noted. | Concelier WebService Guild · Vuln Explorer Guild (`src/Concelier/StellaOps.Concelier.WebService`) | Provide Concelier/Vuln bridge contract (advisory keys, search params, sample responses) that VEX Lens + Vuln Explorer rely on; publish OpenAPI excerpt and fixtures. | +| 0 | POLICY-AUTH-SIGNALS-LIB-115 | DONE (2025-11-19) | Package `StellaOps.Policy.AuthSignals` 0.1.0-alpha published to `local-nugets/`; schema/fixtures at `docs/policy/*`. | Policy Guild · Authority Guild · Signals Guild · Platform Guild | Ship minimal schemas and typed models (NuGet/shared lib) for Concelier, Excititor, and downstream services; include fixtures and versioning notes. | +| 1 | CONCELIER-POLICY-20-002 | DONE (2025-11-20) | Vendor alias + SemVer range normalization landed; tests green. | Concelier Core Guild · Policy Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Expand linkset builders with vendor equivalence, NEVRA/PURL normalization, version-range parsing so policy joins are accurate without prioritizing sources. | | 2 | CONCELIER-POLICY-20-003 | TODO | Start after 20-002. | Concelier Storage Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Storage.Mongo`) | Advisory selection cursors + change-stream checkpoints for deterministic policy deltas; include offline migration scripts. | | 3 | CONCELIER-POLICY-23-001 | TODO | Start after 20-003. | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Secondary indexes/materialized views (alias, provider severity, confidence) to keep policy lookups fast without cached verdicts; document query patterns. | | 4 | CONCELIER-POLICY-23-002 | TODO | Start after 23-001. | Concelier Core Guild · Platform Events Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Ensure `advisory.linkset.updated` events carry idempotent IDs, confidence summaries, tenant metadata for safe policy replay. | @@ -31,18 +35,29 @@ | 8 | CONCELIER-RISK-68-001 | BLOCKED | Blocked on POLICY-AUTH-SIGNALS-LIB-115 and POLICY-RISK-68-001. | Concelier Core Guild · Policy Studio Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Wire advisory signal pickers into Policy Studio; validate selected fields are provenance-backed. | | 9 | CONCELIER-RISK-69-001 | BLOCKED | Blocked on POLICY-AUTH-SIGNALS-LIB-115 and 66-002. | Concelier Core Guild · Notifications Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Emit notifications on upstream advisory field changes (e.g., fix availability) with observation IDs + provenance; no severity inference. | | 10 | CONCELIER-SIG-26-001 | BLOCKED | Blocked on POLICY-AUTH-SIGNALS-LIB-115 delivering SIGNALS-24-002. | Concelier Core Guild · Signals Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Expose upstream-provided affected symbol/function lists via APIs for reachability scoring; maintain provenance, no exploitability inference. | -| 11 | CONCELIER-STORE-AOC-19-005 | BLOCKED (2025-11-04) | Depends on CONCELIER-CORE-AOC-19-004 | Concelier Storage Guild · DevOps Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Storage.Mongo`) | Execute raw-linkset backfill/rollback plan so Mongo + Offline Kit bundles reflect Link-Not-Merge data; rehearse rollback. | -| 12 | CONCELIER-TEN-48-001 | BLOCKED | Blocked on POLICY-AUTH-SIGNALS-LIB-115 delivering AUTH-TEN-47-001. | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Enforce tenant scoping through normalization/linking; expose capability endpoint advertising `merge=false`; ensure events include tenant IDs. | -| 13 | CONCELIER-VEXLENS-30-001 | BLOCKED | Depends on CONCELIER-VULN-29-001, VEXLENS-30-005 | Concelier WebService Guild · VEX Lens Guild (`src/Concelier/StellaOps.Concelier.WebService`) | Guarantee advisory key consistency and cross-links consumed by VEX Lens so consensus explanations cite Concelier evidence without merges. | +| 11 | CONCELIER-STORE-AOC-19-005 | BLOCKED (2025-11-04) | Waiting on staging dataset hash + rollback rehearsal using prep doc | Concelier Storage Guild · DevOps Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Storage.Mongo`) | Execute raw-linkset backfill/rollback plan so Mongo + Offline Kit bundles reflect Link-Not-Merge data; rehearse rollback. | +| 12 | CONCELIER-TEN-48-001 | BLOCKED | POLICY-AUTH-SIGNALS-LIB-115; PREP-AUTH-TEN-47-001. | Concelier Core Guild (`src/Concelier/__Libraries/StellaOps.Concelier.Core`) | Enforce tenant scoping through normalization/linking; expose capability endpoint advertising `merge=false`; ensure events include tenant IDs. | +| 13 | CONCELIER-VEXLENS-30-001 | BLOCKED | PREP-CONCELIER-VULN-29-001; VEXLENS-30-005 | Concelier WebService Guild · VEX Lens Guild (`src/Concelier/StellaOps.Concelier.WebService`) | Guarantee advisory key consistency and cross-links consumed by VEX Lens so consensus explanations cite Concelier evidence without merges. | ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-20 | Completed CONCELIER-POLICY-20-002: vendor alias capture + SemVer range normalization shipped; targeted Core tests green (`AdvisoryLinksetNormalizationTests` TRX in `TestResults/concelier-core-advisoryranges`). | Implementer | +| 2025-11-19 | Added PREP tasks for CONCELIER-CORE-AOC-19-004, AUTH-TEN-47-001, and CONCELIER-VULN-29-001; updated dependencies for tasks 11–13. | Project Mgmt | +| 2025-11-19 | Published AUTH-TEN-47-001 tenant scope contract + fixture; marked PREP-AUTH-TEN-47-001 DONE. | Implementer | +| 2025-11-19 | Published CONCELIER-VULN-29-001 bridge contract; marked PREP-CONCELIER-VULN-29-001 DONE. | Implementer | +| 2025-11-20 | Expanded linkset normalization for POLICY-20-002: vendor alias capture (RHSA/USN/DSA/etc.), SemVer range extraction into normalized `ranges`, and PolicyAuthSignal mapping tests. Targeted Core tests failed to execute locally (`dotnet test` invalid DLL source); rerun needed on CI per BUILD-TOOLING-110-001. | Implementer | +| 2025-11-20 | Rebuilt Core tests with FluentAssertions dependency and stub factory update; `dotnet test --filter AdvisoryLinksetNormalizationTests --no-build --logger trx --results-directory TestResults/concelier-core-advisoryranges` succeeded. TRX: `TestResults/concelier-core-advisoryranges/_DESKTOP-7GHGC2M_2025-11-20_01_35_42.trx`. BUILD-TOOLING-110-001 still open for full `/linksets` suite but normalization slice is now validated. | Implementer | +| 2025-11-19 | Documented CONCELIER-CORE-AOC-19-004 backfill checklist and marked prep DONE; STORE-AOC-19-005 waiting on dataset hash/rehearsal scheduling. | Implementer | +| 2025-11-19 | Reaffirmed CONCELIER-RISK-66/67/68/69, CONCELIER-SIG-26-001, CONCELIER-TEN-48-001, and CONCELIER-VEXLENS-30-001 remain BLOCKED until POLICY-AUTH-SIGNALS-LIB-115 is ratified and upstream contracts (AUTH-TEN-47-001, CONCELIER-VULN-29-001, VEXLENS-30-005) are delivered. | Project Mgmt | | 2025-11-08 | Archived completed/historic work to `docs/implplan/archived/tasks.md`. | Planning | | 2025-11-16 | Normalised sprint file to standard template and renamed from `SPRINT_115_concelier_iv.md` to `SPRINT_0115_0001_0004_concelier_iv.md`; no semantic changes. | Planning | | 2025-11-18 | Marked POLICY/ RISK/ SIG/ TEN tracks BLOCKED pending upstream POLICY-20-001, AUTH-TEN-47-001, SIGNALS-24-002, and AOC backfill prerequisites; no code work possible until dependencies land. | Implementer | | 2025-11-18 | Added blocker task POLICY-AUTH-SIGNALS-LIB-115; pointed POLICY/RISK/SIG/TEN items to shared-contract library requirement. | Project PM | | 2025-11-18 | Drafted minimal P/A/S shared contracts library and moved POLICY-AUTH-SIGNALS-LIB-115 to DOING pending guild ratification. | Implementer | +| 2025-11-19 | Packaged `StellaOps.Policy.AuthSignals` 0.1.0-alpha to `local-nugets/` (file: `StellaOps.Policy.AuthSignals.0.1.0-alpha.nupkg`); schema + fixtures under `docs/policy/*`. Moved CONCELIER-POLICY-20-002 to TODO. | Implementer | +| 2025-11-19 | Started CONCELIER-POLICY-20-002: added package reference + `PolicyAuthSignalFactory` projection (fact-only) to map advisory linksets into shared contract. | Implementer | +| 2025-11-19 | POLICY-AUTH-SIGNALS-LIB-115 remains BLOCKED awaiting package publish/ratification; added upstream contracts (AUTH-TEN-47-001, CONCELIER-VULN-29-001) to unblock downstream tasks once library ships. | Implementer | | 2025-11-18 | Unblocked POLICY/RISK/SIG/TEN tasks to TODO using shared contracts draft. | Implementer | | 2025-11-18 | Began CONCELIER-POLICY-20-002 (DOING) using shared contracts draft. | Implementer | diff --git a/docs/implplan/SPRINT_0116_0001_0005_concelier_v.md b/docs/implplan/SPRINT_0116_0001_0005_concelier_v.md index 19d0a81f0..2d6c60840 100644 --- a/docs/implplan/SPRINT_0116_0001_0005_concelier_v.md +++ b/docs/implplan/SPRINT_0116_0001_0005_concelier_v.md @@ -20,10 +20,11 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | +| P1 | PREP-CONCELIER-WEB-AIRGAP-57-001-DEPENDS-ON-5 | TODO | Due 2025-11-21 · Accountable: Concelier WebService Guild · AirGap Policy Guild (`src/Concelier/StellaOps.Concelier.WebService`) | Concelier WebService Guild · AirGap Policy Guild (`src/Concelier/StellaOps.Concelier.WebService`) | Depends on 56-002.

Document artefact/deliverable for CONCELIER-WEB-AIRGAP-57-001 and publish location so downstream tasks can proceed. | | 1 | CONCELIER-VULN-29-004 | TODO | Depends on CONCELIER-VULN-29-001 | Concelier WebService Guild · Observability Guild (`src/Concelier/StellaOps.Concelier.WebService`) | Instrument observation/linkset pipelines with metrics for identifier collisions, withdrawn statements, chunk latencies; stream to Vuln Explorer without altering payloads. | | 2 | CONCELIER-WEB-AIRGAP-56-001 | TODO | Start of AirGap chain | Concelier WebService Guild (`src/Concelier/StellaOps.Concelier.WebService`) | Extend ingestion endpoints to register mirror bundle sources, expose bundle catalogs, enforce sealed-mode by blocking direct internet feeds. | | 3 | CONCELIER-WEB-AIRGAP-56-002 | TODO | Depends on 56-001 | Concelier WebService Guild (`src/Concelier/StellaOps.Concelier.WebService`) | Add staleness + bundle provenance metadata to `/advisories/observations` and `/advisories/linksets`; operators see freshness without Excititor-derived outcomes. | -| 4 | CONCELIER-WEB-AIRGAP-57-001 | TODO | Depends on 56-002 | Concelier WebService Guild · AirGap Policy Guild (`src/Concelier/StellaOps.Concelier.WebService`) | Map sealed-mode violations to `AIRGAP_EGRESS_BLOCKED` payloads with remediation guidance; keep advisory content untouched. | +| 4 | CONCELIER-WEB-AIRGAP-57-001 | TODO | PREP-CONCELIER-WEB-AIRGAP-57-001-DEPENDS-ON-5 | Concelier WebService Guild · AirGap Policy Guild (`src/Concelier/StellaOps.Concelier.WebService`) | Map sealed-mode violations to `AIRGAP_EGRESS_BLOCKED` payloads with remediation guidance; keep advisory content untouched. | | 5 | CONCELIER-WEB-AIRGAP-58-001 | TODO | Depends on 57-001 | Concelier WebService Guild · AirGap Importer Guild (`src/Concelier/StellaOps.Concelier.WebService`) | Emit timeline events for bundle imports (bundle ID, scope, actor) to capture every evidence change. | | 6 | CONCELIER-WEB-AOC-19-003 | TODO | Depends on WEB-AOC-19-002 | QA Guild (`src/Concelier/StellaOps.Concelier.WebService`) | Unit tests for schema validators, forbidden-field guards (`ERR_AOC_001/2/6/7`), supersedes chains to keep ingestion append-only. | | 7 | CONCELIER-WEB-AOC-19-004 | TODO | Depends on 19-003 | Concelier WebService Guild · QA Guild (`src/Concelier/StellaOps.Concelier.WebService`) | Integration tests ingesting large batches (cold/warm) verifying reproducible linksets; record metrics/fixtures for Offline Kit rehearsals. | @@ -39,6 +40,7 @@ ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-08 | Archived completed/historic work to `docs/implplan/archived/tasks.md`. | Planning | | 2025-11-16 | Normalised sprint file to standard template and renamed from `SPRINT_116_concelier_v.md` to `SPRINT_0116_0001_0005_concelier_v.md`; no semantic changes. | Planning | @@ -57,4 +59,4 @@ | AirGap mirror import plumbing (WEB-AIRGAP-56-001) | Tasks 3–5 | Concelier WebService · AirGap Guilds | Not started; prerequisite for staleness and timeline work. | | AOC validator updates (WEB-AOC-19-002) | Tasks 6–10 | Concelier WebService · QA | Required to unblock guardrail/regression tasks. | | Error envelope standard (WEB-OAS-61-002) | Tasks 12–13 | Concelier WebService · API Governance | Prerequisite for examples and deprecation headers. | -| Observability base (WEB-OBS-50-001) | Tasks 14–15 | Concelier WebService | Upstream dependency for health/timeline surfaces. | +| Observability base (WEB-OBS-50-001) | Tasks 14–15 | Concelier WebService | Upstream dependency for health/timeline surfaces. | \ No newline at end of file diff --git a/docs/implplan/SPRINT_0117_0001_0006_concelier_vi.md b/docs/implplan/SPRINT_0117_0001_0006_concelier_vi.md index 510154ceb..073942290 100644 --- a/docs/implplan/SPRINT_0117_0001_0006_concelier_vi.md +++ b/docs/implplan/SPRINT_0117_0001_0006_concelier_vi.md @@ -25,7 +25,7 @@ | 3 | CONCELIER-WEB-OBS-55-001 | TODO | Depends on 54-001 | Concelier WebService Guild · DevOps Guild (`src/Concelier/StellaOps.Concelier.WebService`) | Incident-mode APIs coordinating ingest, locker, orchestrator; capture activation events + cooldown semantics while leaving evidence untouched. | | 4 | FEEDCONN-CCCS-02-009 | TODO | Depends on CONCELIER-LNM-21-001 | Concelier Connector Guild – CCCS (`src/Concelier/__Libraries/StellaOps.Concelier.Connector.Cccs`) | Emit CCCS version ranges into `advisory_observations.affected.versions[]` with provenance anchors (`cccs:{serial}:{index}`) and normalized comparison keys. | | 5 | FEEDCONN-CERTBUND-02-010 | TODO | Depends on CONCELIER-LNM-21-001 | Concelier Connector Guild – CertBund (`src/Concelier/__Libraries/StellaOps.Concelier.Connector.CertBund`) | Translate CERT-Bund `product.Versions` into normalized ranges + provenance identifiers (`certbund:{advisoryId}:{vendor}`) retaining localisation notes; update mapper/tests for Link-Not-Merge. | -| 6 | FEEDCONN-CISCO-02-009 | DOING (2025-11-08) | Depends on CONCELIER-LNM-21-001 | Concelier Connector Guild – Cisco (`src/Concelier/__Libraries/StellaOps.Concelier.Connector.Vndr.Cisco`) | Emit Cisco SemVer ranges into observation schema with provenance IDs (`cisco:{productId}`) and deterministic comparison keys; refresh fixtures to remove merge counters. | +| 6 | FEEDCONN-CISCO-02-009 | BLOCKED (2025-11-19) | Depends on CONCELIER-LNM-21-001 (schema fixtures overdue) | Concelier Connector Guild – Cisco (`src/Concelier/__Libraries/StellaOps.Concelier.Connector.Vndr.Cisco`) | Emit Cisco SemVer ranges into observation schema with provenance IDs (`cisco:{productId}`) and deterministic comparison keys; refresh fixtures to remove merge counters once LNM fixtures land. | | 7 | DOCS-LNM-22-008 | DONE (2025-11-03) | Keep synced with connector migrations | Docs Guild · DevOps Guild (`docs`) | `docs/migration/no-merge.md` documents Link-Not-Merge migration plan. | ## Execution Log diff --git a/docs/implplan/SPRINT_0119_0001_0001_excititor_i.md b/docs/implplan/SPRINT_0119_0001_0001_excititor_i.md index b30c1ebe0..295ed26db 100644 --- a/docs/implplan/SPRINT_0119_0001_0001_excititor_i.md +++ b/docs/implplan/SPRINT_0119_0001_0001_excititor_i.md @@ -22,17 +22,22 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | +| P1 | PREP-EXCITITOR-AIRGAP-56-001-WAITING-ON-EXPOR | BLOCKED | Due 2025-11-21 · Accountable: Excititor Core Guild | Excititor Core Guild | Waiting on Export Center mirror bundle schema (Sprint 162) to define ingestion shape.

Document artefact/deliverable for EXCITITOR-AIRGAP-56-001 and publish location so downstream tasks can proceed. | +| P2 | PREP-EXCITITOR-AIRGAP-57-001-BLOCKED-ON-56-00 | BLOCKED | Due 2025-11-21 · Accountable: Excititor Core Guild · AirGap Policy Guild | Excititor Core Guild · AirGap Policy Guild | Blocked on 56-001 schema; sealed-mode error catalog pending.

Document artefact/deliverable for EXCITITOR-AIRGAP-57-001 and publish location so downstream tasks can proceed. | +| P3 | PREP-EXCITITOR-AIRGAP-58-001-DEPENDS-ON-57-00 | BLOCKED | Due 2025-11-21 · Accountable: Excititor Core Guild · Evidence Locker Guild | Excititor Core Guild · Evidence Locker Guild | Depends on 57-001 plus EvidenceLocker portable format (160/161).

Document artefact/deliverable for EXCITITOR-AIRGAP-58-001 and publish location so downstream tasks can proceed. | +| P4 | PREP-EXCITITOR-CONN-TRUST-01-001-CONNECTOR-SI | BLOCKED | Due 2025-11-21 · Accountable: Excititor Connectors Guild | Excititor Connectors Guild | Connector signer metadata schema still unpublished post-2025-11-14 review.

Document artefact/deliverable for EXCITITOR-CONN-TRUST-01-001 and publish location so downstream tasks can proceed. | +| P5 | PREP-ATTESTATION-VERIFIER-REHEARSAL-EXCITITOR | TODO | Due 2025-11-21 · Accountable: Planning | Planning | If issues persist, log BLOCKED status in attestation plan and re-forecast completion.

Document artefact/deliverable for Attestation verifier rehearsal (Excititor Attestation Guild) and publish location so downstream tasks can proceed. | | 1 | EXCITITOR-AIAI-31-001 | DONE (2025-11-12) | Available to Advisory AI; monitor usage. | Excititor WebService Guild | Expose normalized VEX justifications, scope trees, and anchors via `VexObservation` projections so Advisory AI can cite raw evidence without consensus logic. | | 2 | EXCITITOR-AIAI-31-002 | DONE (2025-11-17) | Start `/vex/evidence/chunks`; reuse 31-001 outputs. | Excititor WebService Guild | Stream raw statements + signature metadata with tenant/policy filters for RAG clients; aggregation-only, reference observation/linkset IDs. | | 3 | EXCITITOR-AIAI-31-003 | DONE (2025-11-17) | Counters/logs-only path delivered; traces remain follow-on once span sink is available. | Excititor WebService Guild · Observability Guild | Instrument evidence APIs with request counters, chunk histograms, signature-failure + AOC guard-violation meters. | | 4 | EXCITITOR-AIAI-31-004 | DONE (2025-11-18) | Doc published (`docs/modules/excititor/evidence-contract.md`); traces still gated on span sink but contract delivered | Excititor WebService Guild · Docs Guild | Codify Advisory-AI evidence contract, determinism guarantees, and mapping of observation IDs to storage. | -| 5 | EXCITITOR-AIRGAP-56-001 | BLOCKED | Waiting on Export Center mirror bundle schema (Sprint 162) to define ingestion shape. | Excititor Core Guild | Mirror-first ingestion that preserves upstream digests, bundle IDs, and provenance for offline parity. | -| 6 | EXCITITOR-AIRGAP-57-001 | BLOCKED | Blocked on 56-001 schema; sealed-mode error catalog pending. | Excititor Core Guild · AirGap Policy Guild | Enforce sealed-mode policies, remediation errors, and staleness annotations surfaced to Advisory AI. | -| 7 | EXCITITOR-AIRGAP-58-001 | BLOCKED | Depends on 57-001 plus EvidenceLocker portable format (160/161). | Excititor Core Guild · Evidence Locker Guild | Package tenant-scoped VEX evidence (raw JSON, normalization diff, provenance) into portable bundles tied to timeline events. | +| 5 | EXCITITOR-AIRGAP-56-001 | BLOCKED | PREP-EXCITITOR-AIRGAP-56-001-WAITING-ON-EXPOR | Excititor Core Guild | Mirror-first ingestion that preserves upstream digests, bundle IDs, and provenance for offline parity. | +| 6 | EXCITITOR-AIRGAP-57-001 | BLOCKED | PREP-EXCITITOR-AIRGAP-57-001-BLOCKED-ON-56-00 | Excititor Core Guild · AirGap Policy Guild | Enforce sealed-mode policies, remediation errors, and staleness annotations surfaced to Advisory AI. | +| 7 | EXCITITOR-AIRGAP-58-001 | BLOCKED | PREP-EXCITITOR-AIRGAP-58-001-DEPENDS-ON-57-00 | Excititor Core Guild · Evidence Locker Guild | Package tenant-scoped VEX evidence (raw JSON, normalization diff, provenance) into portable bundles tied to timeline events. | | 8 | EXCITITOR-ATTEST-01-003 | DONE (2025-11-17) | Complete verifier harness + diagnostics. | Excititor Attestation Guild | Finish `IVexAttestationVerifier`, wire structured diagnostics/metrics, and prove DSSE bundle verification without touching consensus results. | | 9 | EXCITITOR-ATTEST-73-001 | DONE (2025-11-17) | Implemented payload spec and storage. | Excititor Core · Attestation Payloads Guild | Emit attestation payloads capturing supplier identity, justification summary, and scope metadata for trust chaining. | | 10 | EXCITITOR-ATTEST-73-002 | DONE (2025-11-17) | Implemented linkage API. | Excititor Core Guild | Provide APIs linking attestation IDs back to observation/linkset/product tuples for provenance citations without derived verdicts. | -| 11 | EXCITITOR-CONN-TRUST-01-001 | BLOCKED | Connector signer metadata schema still unpublished post-2025-11-14 review. | Excititor Connectors Guild | Add signer fingerprints, issuer tiers, and bundle references to MSRC/Oracle/Ubuntu/Stella connectors; document consumer guidance. | +| 11 | EXCITITOR-CONN-TRUST-01-001 | BLOCKED | PREP-EXCITITOR-CONN-TRUST-01-001-CONNECTOR-SI | Excititor Connectors Guild | Add signer fingerprints, issuer tiers, and bundle references to MSRC/Oracle/Ubuntu/Stella connectors; document consumer guidance. | ### Task Clusters & Readiness - **Advisory-AI evidence APIs:** 31-001 delivered; 31-003 instrumentation and 31-004 docs pending; ready to start once examples and telemetry fixtures finalize. @@ -53,6 +58,8 @@ ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | +| 2025-11-19 | Marked PREP tasks P1–P4 BLOCKED: mirror bundle schema (Sprint 162), sealed-mode error catalog, EvidenceLocker portable format, and connector signer metadata remain unpublished, keeping EXCITITOR-AIRGAP-56/57/58 and CONN-TRUST-01-001 gated. | Project Mgmt | | 2025-11-12 | Snapshot refreshed; 31-001 marked DONE; other tasks pending observability, AirGap schemas, and attestation verifier completion. | Excititor PM | | 2025-11-13 | Added readiness checklists and action tracker; awaiting Export Center mirror schema and Attestor verifier rehearsals. | Excititor PM | | 2025-11-13 | OpenAPI draft for 31-004 shared; observability wiring blocked until Ops deploys span sink. | WebService Guild | @@ -85,6 +92,6 @@ | 2025-11-17 | Coordinator · WebService/Observability Guilds | Counters/logs-only fallback approved; start 31-003 execution without span sink. | Keep span sink as follow-on milestone. | | 2025-11-14 | Connector provenance schema review (Connectors + Security Guilds) | Approve signer fingerprint + issuer tier schema for CONN-TRUST-01-001. | If schema not ready, keep task blocked and request interim metadata list from connectors. | | 2025-11-15 | Export Center mirror schema sync (Export Center + Excititor + AirGap) | Receive mirror bundle manifest to unblock 56/57. | If delayed, escalate to Sprint 162 leads and use placeholder spec with clearly marked TODO. | -| 2025-11-16 | Attestation verifier rehearsal (Excititor Attestation Guild) | Demo `IVexAttestationVerifier` harness + diagnostics to unblock 73-* tasks. | If issues persist, log BLOCKED status in attestation plan and re-forecast completion. | +| 2025-11-16 | Attestation verifier rehearsal (Excititor Attestation Guild) | Demo `IVexAttestationVerifier` harness + diagnostics to unblock 73-* tasks. | PREP-ATTESTATION-VERIFIER-REHEARSAL-EXCITITOR | | 2025-11-18 | Observability span sink deploy (Ops/Signals Guild) | Enable telemetry pipeline needed for 31-003. | If deploy slips, implement temporary counters/logs and keep action tracker flagged as blocked. | | 2025-11-19 | Connector metadata inventory (Connectors Guild) | Confirm signer metadata coverage for CONN-TRUST-01-001 rollout. | Fall back to partial coverage with feature flags. | diff --git a/docs/implplan/SPRINT_0119_0001_0002_excititor_ii.md b/docs/implplan/SPRINT_0119_0001_0002_excititor_ii.md index 1ccffc64f..bf669a3d2 100644 --- a/docs/implplan/SPRINT_0119_0001_0002_excititor_ii.md +++ b/docs/implplan/SPRINT_0119_0001_0002_excititor_ii.md @@ -22,34 +22,54 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | +| P1 | PREP-EXCITITOR-CONSOLE-23-001-AWAITING-CONCRE | BLOCKED | Due 2025-11-21 · Accountable: Excititor WebService Guild · BE-Base Platform Guild | Excititor WebService Guild · BE-Base Platform Guild | Awaiting concrete `/console/vex` API contract and grouping schema; LNM 21-* view spec not present.

Document artefact/deliverable for EXCITITOR-CONSOLE-23-001 and publish location so downstream tasks can proceed. | +| P2 | PREP-EXCITITOR-CONSOLE-23-002-DEPENDS-ON-23-0 | BLOCKED | Due 2025-11-21 · Accountable: Excititor WebService Guild | Excititor WebService Guild | Depends on 23-001; need sprint-level contract for counters.

Document artefact/deliverable for EXCITITOR-CONSOLE-23-002 and publish location so downstream tasks can proceed. | +| P3 | PREP-EXCITITOR-CONSOLE-23-003-DEPENDS-ON-23-0 | BLOCKED | Due 2025-11-21 · Accountable: Excititor WebService Guild | Excititor WebService Guild | Depends on 23-001; contract for caching/RBAC/precedence context pending.

Document artefact/deliverable for EXCITITOR-CONSOLE-23-003 and publish location so downstream tasks can proceed. | +| P4 | PREP-EXCITITOR-CORE-AOC-19-002-LINKSET-EXTRAC | BLOCKED | Due 2025-11-21 · Accountable: Excititor Core Guild | Excititor Core Guild | Linkset extraction rules/ordering not documented.

Document artefact/deliverable for EXCITITOR-CORE-AOC-19-002 and publish location so downstream tasks can proceed. | +| P5 | PREP-EXCITITOR-CORE-AOC-19-003-BLOCKED-ON-19 | BLOCKED | Due 2025-11-21 · Accountable: Excititor Core Guild | Excititor Core Guild | Blocked on 19-002; design supersede chains.

Document artefact/deliverable for EXCITITOR-CORE-AOC-19-003 and publish location so downstream tasks can proceed. | +| P6 | PREP-EXCITITOR-CORE-AOC-19-004-REMOVE-CONSENS | BLOCKED | Due 2025-11-21 · Accountable: Excititor Core Guild | Excititor Core Guild | Remove consensus after 19-003 in place.

Document artefact/deliverable for EXCITITOR-CORE-AOC-19-004 and publish location so downstream tasks can proceed. | +| P7 | PREP-EXCITITOR-CORE-AOC-19-013-SEED-TENANT-AW | BLOCKED | Due 2025-11-21 · Accountable: Excititor Core Guild | Excititor Core Guild | Seed tenant-aware Authority clients in smoke/e2e once 19-004 lands.

Document artefact/deliverable for EXCITITOR-CORE-AOC-19-013 and publish location so downstream tasks can proceed. | +| P8 | PREP-EXCITITOR-GRAPH-21-001-NEEDS-CARTOGRAPHE | BLOCKED | Due 2025-11-21 · Accountable: Excititor Core · Cartographer Guild | Excititor Core · Cartographer Guild | Needs Cartographer API contract + data availability.

Document artefact/deliverable for EXCITITOR-GRAPH-21-001 and publish location so downstream tasks can proceed. | +| P9 | PREP-EXCITITOR-GRAPH-21-002-BLOCKED-ON-21-001 | BLOCKED | Due 2025-11-21 · Accountable: Excititor Core Guild | Excititor Core Guild | Blocked on 21-001.

Document artefact/deliverable for EXCITITOR-GRAPH-21-002 and publish location so downstream tasks can proceed. | +| P10 | PREP-EXCITITOR-GRAPH-21-005-BLOCKED-ON-21-002 | BLOCKED | Due 2025-11-21 · Accountable: Excititor Storage Guild | Excititor Storage Guild | Blocked on 21-002.

Document artefact/deliverable for EXCITITOR-GRAPH-21-005 and publish location so downstream tasks can proceed. | +| P11 | PREP-EXCITITOR-GRAPH-24-101-WAIT-FOR-21-005-I | BLOCKED | Due 2025-11-21 · Accountable: Excititor WebService Guild | Excititor WebService Guild | Wait for 21-005 indexes.

Document artefact/deliverable for EXCITITOR-GRAPH-24-101 and publish location so downstream tasks can proceed. | +| P12 | PREP-EXCITITOR-GRAPH-24-102-DEPENDS-ON-24-101 | BLOCKED | Due 2025-11-21 · Accountable: Excititor WebService Guild | Excititor WebService Guild | Depends on 24-101; design batch shape.

Document artefact/deliverable for EXCITITOR-GRAPH-24-102 and publish location so downstream tasks can proceed. | +| P13 | PREP-FINALIZE-CONSOLE-VEX-CONTRACT-23-001-AND | BLOCKED | Due 2025-11-21 · Accountable: BLOCKED (await contract; LNM view spec needed) | BLOCKED (await contract; LNM view spec needed) | 2025-11-18.

Document artefact/deliverable for Finalize `/console/vex` contract (23-001) and dashboard deltas (23-002). and publish location so downstream tasks can proceed. | +| P14 | PREP-LAND-LINKSET-EXTRACTION-RAW-UPSERT-UNIQU | BLOCKED | Due 2025-11-21 · Accountable: BLOCKED (linkset schema pending) | BLOCKED (linkset schema pending) | 2025-11-19.

Document artefact/deliverable for Land linkset extraction + raw upsert uniqueness (19-002/003). and publish location so downstream tasks can proceed. | +| P15 | PREP-REMOVE-MERGE-SEVERITY-LOGIC-AFTER-IDEMPO | BLOCKED | Due 2025-11-21 · Accountable: BLOCKED (depends on 19-002/003) | BLOCKED (depends on 19-002/003) | 2025-11-20.

Document artefact/deliverable for Remove merge/severity logic after idempotency in place (19-004). and publish location so downstream tasks can proceed. | +| P16 | PREP-ALIGN-INSPECTOR-LINKOUT-SCHEMAS-TO-UNBLO | BLOCKED | Due 2025-11-21 · Accountable: BLOCKED (awaiting Cartographer contract) | BLOCKED (awaiting Cartographer contract) | 2025-11-21.

Document artefact/deliverable for Align inspector/linkout schemas to unblock 21-001/002/005. and publish location so downstream tasks can proceed. | +| P17 | PREP-CARTOGRAPHER-SCHEMA-SYNC-MAINTAIN-BLOCKE | BLOCKED | Due 2025-11-21 · Accountable: Planning | Planning | Maintain BLOCKED status; deliver sample payloads for early testing.

Document artefact/deliverable for Cartographer schema sync and publish location so downstream tasks can proceed. | | 1 | EXCITITOR-CONN-SUSE-01-003 | DONE (2025-11-09) | Trust metadata flowing; monitor consumers. | Excititor Connectors – SUSE | Emit provider trust configuration (signer fingerprints, trust tier notes) into raw provenance envelope; aggregation-only. | | 2 | EXCITITOR-CONN-UBUNTU-01-003 | DONE (2025-11-09) | Trust metadata flowing; monitor consumers. | Excititor Connectors – Ubuntu | Emit Ubuntu signing metadata (GPG fingerprints, issuer trust tier) in raw provenance artifacts; aggregation-only. | -| 3 | EXCITITOR-CONSOLE-23-001 | BLOCKED (2025-11-17) | Awaiting concrete `/console/vex` API contract and grouping schema; LNM 21-* view spec not present. | Excititor WebService Guild · BE-Base Platform Guild | Expose grouped VEX statements with status chips, justification metadata, precedence trace pointers, tenant filters. | -| 4 | EXCITITOR-CONSOLE-23-002 | BLOCKED (2025-11-17) | Depends on 23-001; need sprint-level contract for counters. | Excititor WebService Guild | Provide aggregated delta counts for overrides; emit metrics for policy explain. | -| 5 | EXCITITOR-CONSOLE-23-003 | BLOCKED (2025-11-17) | Depends on 23-001; contract for caching/RBAC/precedence context pending. | Excititor WebService Guild | Rapid lookup endpoints of VEX by advisory/component incl. provenance + precedence context; caching + RBAC. | -| 6 | EXCITITOR-CORE-AOC-19-002 | BLOCKED (2025-11-17) | Linkset extraction rules/ordering not documented. | Excititor Core Guild | Extract advisory IDs, component PURLs, references into linkset with reconciled-from metadata. | -| 7 | EXCITITOR-CORE-AOC-19-003 | BLOCKED (2025-11-17) | Blocked on 19-002; design supersede chains. | Excititor Core Guild | Enforce uniqueness + append-only versioning of raw VEX docs. | -| 8 | EXCITITOR-CORE-AOC-19-004 | BLOCKED (2025-11-17) | Remove consensus after 19-003 in place. | Excititor Core Guild | Excise consensus/merge/severity logic from ingestion; rely on Policy Engine materializations. | -| 9 | EXCITITOR-CORE-AOC-19-013 | BLOCKED (2025-11-17) | Seed tenant-aware Authority clients in smoke/e2e once 19-004 lands. | Excititor Core Guild | Ensure cross-tenant ingestion rejected; update tests. | -| 10 | EXCITITOR-GRAPH-21-001 | BLOCKED (2025-10-27) | Needs Cartographer API contract + data availability. | Excititor Core · Cartographer Guild | Batched VEX/advisory reference fetches by PURL for inspector linkouts. | -| 11 | EXCITITOR-GRAPH-21-002 | BLOCKED (2025-10-27) | Blocked on 21-001. | Excititor Core Guild | Overlay metadata includes justification summaries + versions; fixtures/tests. | -| 12 | EXCITITOR-GRAPH-21-005 | BLOCKED (2025-10-27) | Blocked on 21-002. | Excititor Storage Guild | Indexes/materialized views for VEX lookups by PURL/policy for inspector perf. | -| 13 | EXCITITOR-GRAPH-24-101 | BLOCKED (2025-11-17) | Wait for 21-005 indexes. | Excititor WebService Guild | VEX status summaries per component/asset for Vuln Explorer. | -| 14 | EXCITITOR-GRAPH-24-102 | BLOCKED (2025-11-17) | Depends on 24-101; design batch shape. | Excititor WebService Guild | Batch VEX observation retrieval optimized for Graph overlays/tooltips. | +| 3 | EXCITITOR-CONSOLE-23-001 | BLOCKED (2025-11-17) | PREP-EXCITITOR-CONSOLE-23-001-AWAITING-CONCRE | Excititor WebService Guild · BE-Base Platform Guild | Expose grouped VEX statements with status chips, justification metadata, precedence trace pointers, tenant filters. | +| 4 | EXCITITOR-CONSOLE-23-002 | BLOCKED (2025-11-17) | PREP-EXCITITOR-CONSOLE-23-002-DEPENDS-ON-23-0 | Excititor WebService Guild | Provide aggregated delta counts for overrides; emit metrics for policy explain. | +| 5 | EXCITITOR-CONSOLE-23-003 | BLOCKED (2025-11-17) | PREP-EXCITITOR-CONSOLE-23-003-DEPENDS-ON-23-0 | Excititor WebService Guild | Rapid lookup endpoints of VEX by advisory/component incl. provenance + precedence context; caching + RBAC. | +| 6 | EXCITITOR-CORE-AOC-19-002 | BLOCKED (2025-11-17) | PREP-EXCITITOR-CORE-AOC-19-002-LINKSET-EXTRAC | Excititor Core Guild | Extract advisory IDs, component PURLs, references into linkset with reconciled-from metadata. | +| 7 | EXCITITOR-CORE-AOC-19-003 | BLOCKED (2025-11-17) | PREP-EXCITITOR-CORE-AOC-19-003-BLOCKED-ON-19 | Excititor Core Guild | Enforce uniqueness + append-only versioning of raw VEX docs. | +| 8 | EXCITITOR-CORE-AOC-19-004 | BLOCKED (2025-11-17) | PREP-EXCITITOR-CORE-AOC-19-004-REMOVE-CONSENS | Excititor Core Guild | Excise consensus/merge/severity logic from ingestion; rely on Policy Engine materializations. | +| 9 | EXCITITOR-CORE-AOC-19-013 | BLOCKED (2025-11-17) | PREP-EXCITITOR-CORE-AOC-19-013-SEED-TENANT-AW | Excititor Core Guild | Ensure cross-tenant ingestion rejected; update tests. | +| 10 | EXCITITOR-GRAPH-21-001 | BLOCKED (2025-10-27) | PREP-EXCITITOR-GRAPH-21-001-NEEDS-CARTOGRAPHE | Excititor Core · Cartographer Guild | Batched VEX/advisory reference fetches by PURL for inspector linkouts. | +| 11 | EXCITITOR-GRAPH-21-002 | BLOCKED (2025-10-27) | PREP-EXCITITOR-GRAPH-21-002-BLOCKED-ON-21-001 | Excititor Core Guild | Overlay metadata includes justification summaries + versions; fixtures/tests. | +| 12 | EXCITITOR-GRAPH-21-005 | BLOCKED (2025-10-27) | PREP-EXCITITOR-GRAPH-21-005-BLOCKED-ON-21-002 | Excititor Storage Guild | Indexes/materialized views for VEX lookups by PURL/policy for inspector perf. | +| 13 | EXCITITOR-GRAPH-24-101 | BLOCKED (2025-11-17) | PREP-EXCITITOR-GRAPH-24-101-WAIT-FOR-21-005-I | Excititor WebService Guild | VEX status summaries per component/asset for Vuln Explorer. | +| 14 | EXCITITOR-GRAPH-24-102 | BLOCKED (2025-11-17) | PREP-EXCITITOR-GRAPH-24-102-DEPENDS-ON-24-101 | Excititor WebService Guild | Batch VEX observation retrieval optimized for Graph overlays/tooltips. | | 15 | EXCITITOR-LNM-21-001 | IN REVIEW (2025-11-14) | Await review sign-off; prep migrations. | Excititor Core Guild | VEX observation model/schema, indexes, determinism rules, AOC metadata (`docs/modules/excititor/vex_observations.md`). | | 16 | AGENTS-EXCITITOR-UPDATE | DONE (2025-11-17) | AGENTS.md authored for WebService/Core/Storage/Worker. | Planning / Platform Guild | Author module-level AGENTS.md covering required docs, contracts, and testing for Excititor service components. | ## Action Tracker | Focus | Action | Owner(s) | Due | Status | | --- | --- | --- | --- | --- | -| Console APIs | Finalize `/console/vex` contract (23-001) and dashboard deltas (23-002). | WebService Guild | 2025-11-18 | BLOCKED (await contract; LNM view spec needed) | -| Ingestion idempotency | Land linkset extraction + raw upsert uniqueness (19-002/003). | Core Guild | 2025-11-19 | BLOCKED (linkset schema pending) | -| Consensus removal | Remove merge/severity logic after idempotency in place (19-004). | Core Guild | 2025-11-20 | BLOCKED (depends on 19-002/003) | -| Graph overlays | Align inspector/linkout schemas to unblock 21-001/002/005. | Core + Cartographer Guilds | 2025-11-21 | BLOCKED (awaiting Cartographer contract) | +| Console APIs | Finalize `/console/vex` contract (23-001) and dashboard deltas (23-002). | WebService Guild | PREP-FINALIZE-CONSOLE-VEX-CONTRACT-23-001-AND | BLOCKED (await contract; LNM view spec needed) | +| Ingestion idempotency | Land linkset extraction + raw upsert uniqueness (19-002/003). | Core Guild | PREP-LAND-LINKSET-EXTRACTION-RAW-UPSERT-UNIQU | BLOCKED (linkset schema pending) | +| Consensus removal | Remove merge/severity logic after idempotency in place (19-004). | Core Guild | PREP-REMOVE-MERGE-SEVERITY-LOGIC-AFTER-IDEMPO | BLOCKED (depends on 19-002/003) | +| Graph overlays | Align inspector/linkout schemas to unblock 21-001/002/005. | Core + Cartographer Guilds | PREP-ALIGN-INSPECTOR-LINKOUT-SCHEMAS-TO-UNBLO | BLOCKED (awaiting Cartographer contract) | ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Normalized PREP-EXCITITOR-CORE-AOC-19-003 Task ID (removed trailing hyphen) so dependency resolution works. | Project Mgmt | +| 2025-11-19 | Marked PREP tasks P1–P17 BLOCKED due to missing console contract (LNM view spec), linkset extraction/idempotency schema, Cartographer API contract, and orchestrator/LNM inputs—keeping Console, AOC-19-002/003/004/013, and GRAPH 21/24 tracks gated. | Project Mgmt | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-09 | Connector SUSE + Ubuntu trust provenance delivered. | Connectors Guild | | 2025-11-14 | LNM-21-001 schema in review. | Core Guild | | 2025-11-16 | Normalized sprint file to standard template and renamed to SPRINT_0119_0001_0002_excititor_ii.md. | Planning | @@ -73,4 +93,4 @@ | --- | --- | --- | --- | | 2025-11-18 | Console API review (WebService + BE-Base) | Approve `/console/vex` shape and delta counters. | Ship behind feature flag if minor gaps remain. | | 2025-11-19 | Idempotent ingestion design review (Core) | Lock uniqueness + supersede chain plan for 19-002/003. | Use temporary duplicate guard rails until migration complete. | -| 2025-11-21 | Cartographer schema sync | Unblock GRAPH-21-* inspector/linkout contracts. | Maintain BLOCKED status; deliver sample payloads for early testing. | +| 2025-11-21 | Cartographer schema sync | Unblock GRAPH-21-* inspector/linkout contracts. | PREP-CARTOGRAPHER-SCHEMA-SYNC-MAINTAIN-BLOCKE | diff --git a/docs/implplan/SPRINT_0120_0000_0001_policy_reasoning.md b/docs/implplan/SPRINT_0120_0000_0001_policy_reasoning.md index a84b71758..05f8eb90e 100644 --- a/docs/implplan/SPRINT_0120_0000_0001_policy_reasoning.md +++ b/docs/implplan/SPRINT_0120_0000_0001_policy_reasoning.md @@ -22,13 +22,11 @@ | Attestation pointer schema | DRAFT | Needs alignment with NOTIFY-ATTEST-74-001 to reuse DSSE IDs. | **Cluster snapshot** -| Cluster | Linked tasks | Owners | Status snapshot | Notes | -| --- | --- | --- | --- | --- | -| Observability & diagnostics | LEDGER-29-007/008 | Findings Ledger Guild · Observability Guild · QA Guild | TODO | Metric/log spec captured in `docs/modules/findings-ledger/observability.md`; determinism harness spec in `docs/modules/findings-ledger/replay-harness.md`; sequencing captured in `docs/modules/findings-ledger/implementation_plan.md`; awaiting Observability sign-off + Grafana JSON export (target 2025-11-15). | -| Deployment & backup | LEDGER-29-009 | Findings Ledger Guild · DevOps Guild | TODO | Baseline deployment/backup guide published (`docs/modules/findings-ledger/deployment.md`); need to align Compose/Helm overlays + automate migrations. | -| Orchestrator provenance | LEDGER-34-101 | Findings Ledger Guild | TODO | Blocked until Orchestrator exports job ledger payload; coordinate with Sprint 150.A. | -| Air-gap provenance & staleness | LEDGER-AIRGAP-56/57/58 series | Findings Ledger Guild · AirGap Guilds · Evidence Locker Guild | TODO | Requirements captured in `docs/modules/findings-ledger/airgap-provenance.md`; blocked on mirror bundle schema freeze + AirGap controller inputs. | -| Attestation linkage | LEDGER-ATTEST-73-001 | Findings Ledger Guild · Attestor Service Guild | TODO | Waiting on attestation payload pointers from NOTIFY-ATTEST-74-001 work to reuse DSSE IDs. | +- **Observability & diagnostics** (LEDGER-29-007/008 · Findings Ledger Guild · Observability Guild · QA Guild) — Status TODO. Metric/log spec captured in `docs/modules/findings-ledger/observability.md`; determinism harness spec in `docs/modules/findings-ledger/replay-harness.md`; sequencing documented in `docs/modules/findings-ledger/implementation_plan.md`. Awaiting Observability sign-off + Grafana JSON export (target 2025-11-15). +- **Deployment & backup** (LEDGER-29-009 · Findings Ledger Guild · DevOps Guild) — Status TODO. Baseline deployment/backup guide published (`docs/modules/findings-ledger/deployment.md`); need Compose/Helm overlays and automated migrations. +- **Orchestrator provenance** (LEDGER-34-101 · Findings Ledger Guild) — Status TODO. Blocked until Orchestrator exports job ledger payload; coordinate with Sprint 150.A deliverables. +- **Air-gap provenance & staleness** (LEDGER-AIRGAP-56/57/58 · Findings Ledger Guild · AirGap Guilds · Evidence Locker Guild) — Status TODO. Requirements captured in `docs/modules/findings-ledger/airgap-provenance.md`; waiting on mirror bundle schema freeze + AirGap controller inputs. +- **Attestation linkage** (LEDGER-ATTEST-73-001 · Findings Ledger Guild · Attestor Service Guild) — Status TODO. Waiting on attestation payload pointers from NOTIFY-ATTEST-74-001 work to reuse DSSE IDs. ## Documentation Prerequisites - `docs/modules/findings-ledger/observability.md` @@ -41,11 +39,14 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | +| P1 | PREP-LEDGER-29-008-AWAIT-OBSERVABILITY-SCHEMA | BLOCKED | Due 2025-11-21 · Accountable: Findings Ledger Guild, QA Guild / `src/Findings/StellaOps.Findings.Ledger` | Findings Ledger Guild, QA Guild / `src/Findings/StellaOps.Findings.Ledger` | Await Observability schema sign-off + ledger write endpoint contract; 5 M fixture drop pending.

Document artefact/deliverable for LEDGER-29-008 and publish location so downstream tasks can proceed. | +| P2 | PREP-LEDGER-34-101-ORCHESTRATOR-LEDGER-EXPORT | BLOCKED | Due 2025-11-21 · Accountable: Findings Ledger Guild / `src/Findings/StellaOps.Findings.Ledger` | Findings Ledger Guild / `src/Findings/StellaOps.Findings.Ledger` | Orchestrator ledger export contract (Sprint 150.A) not published.

Document artefact/deliverable for LEDGER-34-101 and publish location so downstream tasks can proceed. | +| P3 | PREP-LEDGER-AIRGAP-56-001-MIRROR-BUNDLE-SCHEM | BLOCKED | Due 2025-11-21 · Accountable: Findings Ledger Guild / `src/Findings/StellaOps.Findings.Ledger` | Findings Ledger Guild / `src/Findings/StellaOps.Findings.Ledger` | Mirror bundle schema freeze outstanding.

Document artefact/deliverable for LEDGER-AIRGAP-56-001 and publish location so downstream tasks can proceed. | | 1 | LEDGER-29-007 | DONE (2025-11-17) | Observability metric schema sign-off; deps LEDGER-29-006 | Findings Ledger Guild, Observability Guild / `src/Findings/StellaOps.Findings.Ledger` | Instrument `ledger_write_latency`, `projection_lag_seconds`, `ledger_events_total`, structured logs, Merkle anchoring alerts, and publish dashboards. | -| 2 | LEDGER-29-008 | BLOCKED | Await Observability schema sign-off + ledger write endpoint contract; 5 M fixture drop pending | Findings Ledger Guild, QA Guild / `src/Findings/StellaOps.Findings.Ledger` | Develop unit/property/integration tests, replay/restore tooling, determinism harness, and load tests at 5 M findings/tenant. | +| 2 | LEDGER-29-008 | BLOCKED | PREP-LEDGER-29-008-AWAIT-OBSERVABILITY-SCHEMA | Findings Ledger Guild, QA Guild / `src/Findings/StellaOps.Findings.Ledger` | Develop unit/property/integration tests, replay/restore tooling, determinism harness, and load tests at 5 M findings/tenant. | | 3 | LEDGER-29-009 | BLOCKED | Depends on LEDGER-29-008 harness results (5 M replay + observability schema) | Findings Ledger Guild, DevOps Guild / `src/Findings/StellaOps.Findings.Ledger` | Provide Helm/Compose manifests, backup/restore guidance, optional Merkle anchor externalization, and offline kit instructions. | -| 4 | LEDGER-34-101 | BLOCKED | Orchestrator ledger export contract (Sprint 150.A) not published | Findings Ledger Guild / `src/Findings/StellaOps.Findings.Ledger` | Link orchestrator run ledger exports into Findings Ledger provenance chain, index by artifact hash, and expose audit queries. | -| 5 | LEDGER-AIRGAP-56-001 | BLOCKED | Mirror bundle schema freeze outstanding | Findings Ledger Guild / `src/Findings/StellaOps.Findings.Ledger` | Record bundle provenance (`bundle_id`, `merkle_root`, `time_anchor`) on ledger events for advisories/VEX/policies imported via Mirror Bundles. | +| 4 | LEDGER-34-101 | BLOCKED | PREP-LEDGER-34-101-ORCHESTRATOR-LEDGER-EXPORT | Findings Ledger Guild / `src/Findings/StellaOps.Findings.Ledger` | Link orchestrator run ledger exports into Findings Ledger provenance chain, index by artifact hash, and expose audit queries. | +| 5 | LEDGER-AIRGAP-56-001 | BLOCKED | PREP-LEDGER-AIRGAP-56-001-MIRROR-BUNDLE-SCHEM | Findings Ledger Guild / `src/Findings/StellaOps.Findings.Ledger` | Record bundle provenance (`bundle_id`, `merkle_root`, `time_anchor`) on ledger events for advisories/VEX/policies imported via Mirror Bundles. | | 6 | LEDGER-AIRGAP-56-002 | BLOCKED | Depends on LEDGER-AIRGAP-56-001 provenance schema | Findings Ledger Guild, AirGap Time Guild / `src/Findings/StellaOps.Findings.Ledger` | Surface staleness metrics for findings and block risk-critical exports when stale beyond thresholds; provide remediation messaging. | | 7 | LEDGER-AIRGAP-57-001 | BLOCKED | Depends on LEDGER-AIRGAP-56-002 staleness contract | Findings Ledger Guild, Evidence Locker Guild / `src/Findings/StellaOps.Findings.Ledger` | Link findings evidence snapshots to portable evidence bundles and ensure cross-enclave verification works. | | 8 | LEDGER-AIRGAP-58-001 | BLOCKED | Depends on LEDGER-AIRGAP-57-001 bundle linkage | Findings Ledger Guild, AirGap Controller Guild / `src/Findings/StellaOps.Findings.Ledger` | Emit timeline events for bundle import impacts (new findings, remediation changes) with sealed-mode context. | @@ -54,8 +55,11 @@ ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | +| 2025-11-19 | Marked PREP tasks P1–P3 BLOCKED: observability schema, orchestrator ledger export contract, and mirror bundle schema are still missing, keeping LEDGER-29-008/34-101/AIRGAP-56-* blocked. | Project Mgmt | | 2025-11-13 09:30 | Documented Findings.I scope, milestones, and external dependencies; awaiting Observability + Orchestrator inputs before flipping any tasks to DOING. | Findings Ledger Guild | | 2025-11-13 10:45 | Published `docs/modules/findings-ledger/observability.md` detailing metrics/logs/alerts required for LEDGER-29-007/008; sent draft to Observability Guild for review. | Findings Ledger Guild | +| 2025-11-19 09:30 | Reformatted Cluster snapshot into bullet list and confirmed Delivery Tracker already covers LEDGER-AIRGAP dependencies; no scope change. | Project Mgmt | | 2025-11-13 11:20 | Added `docs/modules/findings-ledger/deployment.md` covering Compose/Helm rollout, migrations, backup/restore, and offline workflows for LEDGER-29-009. | Findings Ledger Guild | | 2025-11-13 11:50 | Added `docs/modules/findings-ledger/replay-harness.md` outlining fixtures, CLI workflow, and reporting for LEDGER-29-008 determinism tests. | Findings Ledger Guild | | 2025-11-13 12:05 | Drafted `docs/modules/findings-ledger/implementation_plan.md` summarizing phase sequencing and dependencies for Findings.I. | Findings Ledger Guild | diff --git a/docs/implplan/SPRINT_0121_0001_0001_policy_reasoning.md b/docs/implplan/SPRINT_0121_0001_0001_policy_reasoning.md index 70c3fd6d6..a1e7e8e68 100644 --- a/docs/implplan/SPRINT_0121_0001_0001_policy_reasoning.md +++ b/docs/implplan/SPRINT_0121_0001_0001_policy_reasoning.md @@ -25,25 +25,36 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | +| P1 | PREP-LEDGER-EXPORT-35-001-NO-HTTP-API-SURFACE | TODO | Due 2025-11-22 · Accountable: Findings Ledger Guild / src/Findings/StellaOps.Findings.Ledger | Findings Ledger Guild / src/Findings/StellaOps.Findings.Ledger | No HTTP/API surface or contract to host export endpoints; needs API scaffold + filters spec.

Document artefact/deliverable for LEDGER-EXPORT-35-001 and publish location so downstream tasks can proceed. | +| P2 | PREP-LEDGER-OAS-61-001-ABSENT-OAS-BASELINE-AN | TODO | Due 2025-11-22 · Accountable: Findings Ledger Guild; API Contracts Guild / src/Findings/StellaOps.Findings.Ledger | Findings Ledger Guild; API Contracts Guild / src/Findings/StellaOps.Findings.Ledger | Absent OAS baseline and API host for ledger; requires contract definition with API Guild.

Document artefact/deliverable for LEDGER-OAS-61-001 and publish location so downstream tasks can proceed. | +| P3 | PREP-LEDGER-OAS-61-002-DEPENDS-ON-61-001-CONT | TODO | Due 2025-11-22 · Accountable: Findings Ledger Guild / src/Findings/StellaOps.Findings.Ledger | Findings Ledger Guild / src/Findings/StellaOps.Findings.Ledger | Depends on 61-001 contract + HTTP surface.

Document artefact/deliverable for LEDGER-OAS-61-002 and publish location so downstream tasks can proceed. | +| P4 | PREP-LEDGER-OAS-62-001-SDK-GENERATION-PENDING | TODO | Due 2025-11-22 · Accountable: Findings Ledger Guild; SDK Generator Guild / src/Findings/StellaOps.Findings.Ledger | Findings Ledger Guild; SDK Generator Guild / src/Findings/StellaOps.Findings.Ledger | SDK generation pending 61-002.

Document artefact/deliverable for LEDGER-OAS-62-001 and publish location so downstream tasks can proceed. | +| P5 | PREP-LEDGER-OAS-63-001-DEPENDENT-ON-SDK-VALID | TODO | Due 2025-11-22 · Accountable: Findings Ledger Guild; API Governance Guild / src/Findings/StellaOps.Findings.Ledger | Findings Ledger Guild; API Governance Guild / src/Findings/StellaOps.Findings.Ledger | Dependent on SDK validation (62-001).

Document artefact/deliverable for LEDGER-OAS-63-001 and publish location so downstream tasks can proceed. | +| P6 | PREP-LEDGER-OBS-54-001-NO-HTTP-SURFACE-MINIMA | TODO | Due 2025-11-22 · Accountable: Findings Ledger Guild; Provenance Guild / src/Findings/StellaOps.Findings.Ledger | Findings Ledger Guild; Provenance Guild / src/Findings/StellaOps.Findings.Ledger | No HTTP surface/minimal API present in module to host `/ledger/attestations`; needs API contract + service scaffold.

Document artefact/deliverable for LEDGER-OBS-54-001 and publish location so downstream tasks can proceed. | +| P7 | PREP-LEDGER-OBS-55-001-DEPENDS-ON-54-001-ATTE | TODO | Due 2025-11-22 · Accountable: Findings Ledger Guild; DevOps Guild / src/Findings/StellaOps.Findings.Ledger | Findings Ledger Guild; DevOps Guild / src/Findings/StellaOps.Findings.Ledger | Depends on 54-001 attestation API availability.

Document artefact/deliverable for LEDGER-OBS-55-001 and publish location so downstream tasks can proceed. | +| P8 | PREP-LEDGER-PACKS-42-001-SNAPSHOT-TIME-TRAVEL | TODO | Due 2025-11-22 · Accountable: Findings Ledger Guild / src/Findings/StellaOps.Findings.Ledger | Findings Ledger Guild / src/Findings/StellaOps.Findings.Ledger | Snapshot/time-travel contract and bundle format not specified; needs design input.

Document artefact/deliverable for LEDGER-PACKS-42-001 and publish location so downstream tasks can proceed. | +| P9 | PREP-LEDGER-RISK-66-001-RISK-ENGINE-SCHEMA-CO | TODO | Due 2025-11-22 · Accountable: Findings Ledger Guild; Risk Engine Guild / src/Findings/StellaOps.Findings.Ledger | Findings Ledger Guild; Risk Engine Guild / src/Findings/StellaOps.Findings.Ledger | Risk Engine schema/contract inputs absent; requires risk field definitions + rollout plan.

Document artefact/deliverable for LEDGER-RISK-66-001 and publish location so downstream tasks can proceed. | +| P10 | PREP-LEDGER-RISK-66-002-DEPENDS-ON-66-001-MIG | TODO | Due 2025-11-22 · Accountable: Findings Ledger Guild / src/Findings/StellaOps.Findings.Ledger | Findings Ledger Guild / src/Findings/StellaOps.Findings.Ledger | Depends on 66-001 migration + risk scoring contract.

Document artefact/deliverable for LEDGER-RISK-66-002 and publish location so downstream tasks can proceed. | | 1 | LEDGER-ATTEST-73-002 | BLOCKED | Waiting on LEDGER-ATTEST-73-001 verification pipeline delivery | Findings Ledger Guild / src/Findings/StellaOps.Findings.Ledger | Enable search/filter in findings projections by verification result and attestation status | -| 2 | LEDGER-EXPORT-35-001 | BLOCKED | No HTTP/API surface or contract to host export endpoints; needs API scaffold + filters spec | Findings Ledger Guild / src/Findings/StellaOps.Findings.Ledger | Provide paginated streaming endpoints for advisories, VEX, SBOMs, and findings with deterministic ordering and provenance metadata | -| 3 | LEDGER-OAS-61-001 | BLOCKED | Absent OAS baseline and API host for ledger; requires contract definition with API Guild | Findings Ledger Guild; API Contracts Guild / src/Findings/StellaOps.Findings.Ledger | Expand Findings Ledger OAS to include projections, evidence lookups, and filter parameters with examples | -| 4 | LEDGER-OAS-61-002 | BLOCKED | Depends on 61-001 contract + HTTP surface | Findings Ledger Guild / src/Findings/StellaOps.Findings.Ledger | Implement `/.well-known/openapi` endpoint and ensure version metadata matches release | -| 5 | LEDGER-OAS-62-001 | BLOCKED | SDK generation pending 61-002 | Findings Ledger Guild; SDK Generator Guild / src/Findings/StellaOps.Findings.Ledger | Provide SDK test cases for findings pagination, filtering, evidence links; ensure typed models expose provenance | -| 6 | LEDGER-OAS-63-001 | BLOCKED | Dependent on SDK validation (62-001) | Findings Ledger Guild; API Governance Guild / src/Findings/StellaOps.Findings.Ledger | Support deprecation headers and Notifications for retiring finding endpoints | +| 2 | LEDGER-EXPORT-35-001 | BLOCKED | PREP-LEDGER-EXPORT-35-001-NO-HTTP-API-SURFACE | Findings Ledger Guild / src/Findings/StellaOps.Findings.Ledger | Provide paginated streaming endpoints for advisories, VEX, SBOMs, and findings with deterministic ordering and provenance metadata | +| 3 | LEDGER-OAS-61-001 | BLOCKED | PREP-LEDGER-OAS-61-001-ABSENT-OAS-BASELINE-AN | Findings Ledger Guild; API Contracts Guild / src/Findings/StellaOps.Findings.Ledger | Expand Findings Ledger OAS to include projections, evidence lookups, and filter parameters with examples | +| 4 | LEDGER-OAS-61-002 | BLOCKED | PREP-LEDGER-OAS-61-002-DEPENDS-ON-61-001-CONT | Findings Ledger Guild / src/Findings/StellaOps.Findings.Ledger | Implement `/.well-known/openapi` endpoint and ensure version metadata matches release | +| 5 | LEDGER-OAS-62-001 | BLOCKED | PREP-LEDGER-OAS-62-001-SDK-GENERATION-PENDING | Findings Ledger Guild; SDK Generator Guild / src/Findings/StellaOps.Findings.Ledger | Provide SDK test cases for findings pagination, filtering, evidence links; ensure typed models expose provenance | +| 6 | LEDGER-OAS-63-001 | BLOCKED | PREP-LEDGER-OAS-63-001-DEPENDENT-ON-SDK-VALID | Findings Ledger Guild; API Governance Guild / src/Findings/StellaOps.Findings.Ledger | Support deprecation headers and Notifications for retiring finding endpoints | | 7 | LEDGER-OBS-50-001 | DONE | Telemetry core wired into writer/projector; structured logs + spans added | Findings Ledger Guild; Observability Guild / src/Findings/StellaOps.Findings.Ledger | Integrate telemetry core within ledger writer/projector services for append, replay, and query APIs | | 8 | LEDGER-OBS-51-001 | DONE | Metrics and SLOs implemented in code + docs | Findings Ledger Guild; DevOps Guild / src/Findings/StellaOps.Findings.Ledger | Publish metrics for ledger latency, projector lag, event throughput, and policy evaluation linkage; SLOs: append P95 < 1s, replay lag < 30s | | 9 | LEDGER-OBS-52-001 | DONE | Timeline events emitted for ledger append + projection commit | Findings Ledger Guild / src/Findings/StellaOps.Findings.Ledger | Emit timeline events for ledger writes and projector commits (`ledger.event.appended`, `ledger.projection.updated`) with trace ID, policy version, evidence bundle reference placeholders | | 10 | LEDGER-OBS-53-001 | DONE | Evidence bundle refs persisted + lookup API | Findings Ledger Guild; Evidence Locker Guild / src/Findings/StellaOps.Findings.Ledger | Persist evidence bundle references alongside ledger entries; expose lookup linking findings to evidence manifests and timeline | -| 11 | LEDGER-OBS-54-001 | BLOCKED | No HTTP surface/minimal API present in module to host `/ledger/attestations`; needs API contract + service scaffold | Findings Ledger Guild; Provenance Guild / src/Findings/StellaOps.Findings.Ledger | Verify attestation references for ledger-derived exports; expose `/ledger/attestations` endpoint returning DSSE verification state and chain-of-custody summary | -| 12 | LEDGER-OBS-55-001 | BLOCKED | Depends on 54-001 attestation API availability | Findings Ledger Guild; DevOps Guild / src/Findings/StellaOps.Findings.Ledger | Enhance incident mode to record replay diagnostics (lag traces, conflict snapshots), extend retention while active, and emit activation events to timeline/notifier | -| 13 | LEDGER-PACKS-42-001 | BLOCKED | Snapshot/time-travel contract and bundle format not specified; needs design input | Findings Ledger Guild / src/Findings/StellaOps.Findings.Ledger | Provide snapshot/time-travel APIs and digestible exports for task pack simulation and CLI offline mode | -| 14 | LEDGER-RISK-66-001 | BLOCKED | Risk Engine schema/contract inputs absent; requires risk field definitions + rollout plan | Findings Ledger Guild; Risk Engine Guild / src/Findings/StellaOps.Findings.Ledger | Add schema migrations for `risk_score`, `risk_severity`, `profile_version`, `explanation_id`, and supporting indexes | -| 15 | LEDGER-RISK-66-002 | BLOCKED | Depends on 66-001 migration + risk scoring contract | Findings Ledger Guild / src/Findings/StellaOps.Findings.Ledger | Implement deterministic upsert of scoring results keyed by finding hash/profile version with history audit | +| 11 | LEDGER-OBS-54-001 | BLOCKED | PREP-LEDGER-OBS-54-001-NO-HTTP-SURFACE-MINIMA | Findings Ledger Guild; Provenance Guild / src/Findings/StellaOps.Findings.Ledger | Verify attestation references for ledger-derived exports; expose `/ledger/attestations` endpoint returning DSSE verification state and chain-of-custody summary | +| 12 | LEDGER-OBS-55-001 | BLOCKED | PREP-LEDGER-OBS-55-001-DEPENDS-ON-54-001-ATTE | Findings Ledger Guild; DevOps Guild / src/Findings/StellaOps.Findings.Ledger | Enhance incident mode to record replay diagnostics (lag traces, conflict snapshots), extend retention while active, and emit activation events to timeline/notifier | +| 13 | LEDGER-PACKS-42-001 | BLOCKED | PREP-LEDGER-PACKS-42-001-SNAPSHOT-TIME-TRAVEL | Findings Ledger Guild / src/Findings/StellaOps.Findings.Ledger | Provide snapshot/time-travel APIs and digestible exports for task pack simulation and CLI offline mode | +| 14 | LEDGER-RISK-66-001 | BLOCKED | PREP-LEDGER-RISK-66-001-RISK-ENGINE-SCHEMA-CO | Findings Ledger Guild; Risk Engine Guild / src/Findings/StellaOps.Findings.Ledger | Add schema migrations for `risk_score`, `risk_severity`, `profile_version`, `explanation_id`, and supporting indexes | +| 15 | LEDGER-RISK-66-002 | BLOCKED | PREP-LEDGER-RISK-66-002-DEPENDS-ON-66-001-MIG | Findings Ledger Guild / src/Findings/StellaOps.Findings.Ledger | Implement deterministic upsert of scoring results keyed by finding hash/profile version with history audit | ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-08 | Sprint stub created; awaiting template normalisation. | Planning | | 2025-11-17 | Normalised sprint to standard template and renamed file to `SPRINT_0121_0001_0001_policy_reasoning.md`. | Project Mgmt | | 2025-11-17 | Implemented LEDGER-OBS-50-001: telemetry core spans/scopes/logs for ledger append and projection paths added. | Findings Ledger | @@ -64,4 +75,4 @@ ## Next Checkpoints - Schedule cross-guild kickoff for week of 2025-11-24 once dependency clears. -- Add weekly Findings Ledger status review (TBD owner) after staffing. +- Add weekly Findings Ledger status review (TBD owner) after staffing. \ No newline at end of file diff --git a/docs/implplan/SPRINT_0122_0001_0001_policy_reasoning.md b/docs/implplan/SPRINT_0122_0001_0001_policy_reasoning.md index 528584e32..c750f9b48 100644 --- a/docs/implplan/SPRINT_0122_0001_0001_policy_reasoning.md +++ b/docs/implplan/SPRINT_0122_0001_0001_policy_reasoning.md @@ -24,14 +24,18 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | +| P1 | PREP-LEDGER-RISK-68-001-AWAIT-UNBLOCK-OF-67-0 | TODO | Due 2025-11-22 · Accountable: Findings Ledger Guild · Export Guild / `src/Findings/StellaOps.Findings.Ledger` | Findings Ledger Guild · Export Guild / `src/Findings/StellaOps.Findings.Ledger` | Await unblock of 67-001 + Export Center contract for scored findings.

Document artefact/deliverable for LEDGER-RISK-68-001 and publish location so downstream tasks can proceed. | +| P2 | PREP-LEDGER-RISK-69-001-REQUIRES-67-001-68-00 | TODO | Due 2025-11-22 · Accountable: Findings Ledger Guild · Observability Guild / `src/Findings/StellaOps.Findings.Ledger` | Findings Ledger Guild · Observability Guild / `src/Findings/StellaOps.Findings.Ledger` | Requires 67-001/68-001 to define metrics dimensions.

Document artefact/deliverable for LEDGER-RISK-69-001 and publish location so downstream tasks can proceed. | +| P3 | PREP-LEDGER-TEN-48-001-NEEDS-PLATFORM-APPROVE | TODO | Due 2025-11-22 · Accountable: Findings Ledger Guild / `src/Findings/StellaOps.Findings.Ledger` | Findings Ledger Guild / `src/Findings/StellaOps.Findings.Ledger` | Needs platform-approved partitioning + RLS policy (tenant/project shape, session variables).

Document artefact/deliverable for LEDGER-TEN-48-001 and publish location so downstream tasks can proceed. | | 1 | LEDGER-RISK-67-001 | BLOCKED | Depends on risk scoring contract + migrations from LEDGER-RISK-66-002 | Findings Ledger Guild · Risk Engine Guild / `src/Findings/StellaOps.Findings.Ledger` | Expose query APIs for scored findings with score/severity filters, pagination, and explainability links | -| 2 | LEDGER-RISK-68-001 | BLOCKED | Await unblock of 67-001 + Export Center contract for scored findings | Findings Ledger Guild · Export Guild / `src/Findings/StellaOps.Findings.Ledger` | Enable export of scored findings and simulation results via Export Center integration | -| 3 | LEDGER-RISK-69-001 | BLOCKED | Requires 67-001/68-001 to define metrics dimensions | Findings Ledger Guild · Observability Guild / `src/Findings/StellaOps.Findings.Ledger` | Emit metrics/dashboards for scoring latency, result freshness, severity distribution, provider gaps | -| 4 | LEDGER-TEN-48-001 | BLOCKED | Needs platform-approved partitioning + RLS policy (tenant/project shape, session variables) | Findings Ledger Guild / `src/Findings/StellaOps.Findings.Ledger` | Partition ledger tables by tenant/project, enable RLS, update queries/events, and stamp audit metadata | +| 2 | LEDGER-RISK-68-001 | BLOCKED | PREP-LEDGER-RISK-68-001-AWAIT-UNBLOCK-OF-67-0 | Findings Ledger Guild · Export Guild / `src/Findings/StellaOps.Findings.Ledger` | Enable export of scored findings and simulation results via Export Center integration | +| 3 | LEDGER-RISK-69-001 | BLOCKED | PREP-LEDGER-RISK-69-001-REQUIRES-67-001-68-00 | Findings Ledger Guild · Observability Guild / `src/Findings/StellaOps.Findings.Ledger` | Emit metrics/dashboards for scoring latency, result freshness, severity distribution, provider gaps | +| 4 | LEDGER-TEN-48-001 | BLOCKED | PREP-LEDGER-TEN-48-001-NEEDS-PLATFORM-APPROVE | Findings Ledger Guild / `src/Findings/StellaOps.Findings.Ledger` | Partition ledger tables by tenant/project, enable RLS, update queries/events, and stamp audit metadata | ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-18 | Renamed file to `SPRINT_0122_0001_0001_policy_reasoning.md` and normalised to standard template; no scope changes. | Findings Ledger | | 2025-11-18 | Set LEDGER-RISK-67-001/68-001/69-001 to BLOCKED pending risk-scoring contract (66-002) and export metrics dimensions. | Findings Ledger | | 2025-11-18 | Set LEDGER-TEN-48-001 to BLOCKED pending DB partition/RLS design (tenant+project keys, session variables) from Platform/DB guild. | Findings Ledger | @@ -44,4 +48,4 @@ ## Next Checkpoints - Await Risk Engine contract drop for 66-002 (date TBD; track in Sprint 0121 dependencies). - Schedule DB/RLS design review with Platform/DB guild to unblock TEN-48-001 (target week of 2025-11-24). -- Re-evaluate sprint status once upstream contracts are published. +- Re-evaluate sprint status once upstream contracts are published. \ No newline at end of file diff --git a/docs/implplan/SPRINT_0123_0001_0001_policy_reasoning.md b/docs/implplan/SPRINT_0123_0001_0001_policy_reasoning.md new file mode 100644 index 000000000..a314c9139 --- /dev/null +++ b/docs/implplan/SPRINT_0123_0001_0001_policy_reasoning.md @@ -0,0 +1,74 @@ +# Sprint 0123-0001-0001 · Policy & Reasoning (Policy Engine) + +## Topic & Scope +- Extend Policy Engine with export, air-gap, AOC linting, and attestation surfaces while keeping evidence aggregation-only. +- Ensure Console export and air-gap bundles depend on frozen bundle/DSSE schemas before implementation. +- Align policy attestation and linting with Authority/Attestor/Console contracts; avoid inferred verdicts. +- **Working directory:** `src/Policy/StellaOps.Policy.Engine` (and `src/Policy/__Libraries/StellaOps.Policy`). + +## Dependencies & Concurrency +- Upstream: Export bundle schema + scheduler job spec; mirror bundle/air-gap schema and sealed-mode rules; Attestor verification policy schema; Authority `effective:write` contract; Console API filters/pagination spec. +- Concurrency: Execute tasks in table order (DOING → TODO → BLOCKED). All tasks currently blocked pending upstream contracts; no parallel execution until contracts land. + +## Documentation Prerequisites +- `docs/README.md` +- `docs/07_HIGH_LEVEL_ARCHITECTURE.md` +- `docs/modules/platform/architecture-overview.md` +- `docs/modules/policy/architecture.md` +- Any export/air-gap/attestation contract docs once published. + +## Delivery Tracker +| # | Task ID | Status | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| P1 | PREP-EXPORT-CONSOLE-23-001-MISSING-EXPORT-BUN | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild · Scheduler Guild · Observability Guild | Policy Guild · Scheduler Guild · Observability Guild | Missing export bundle contract/API surface and scheduler job spec for Console.

Document artefact/deliverable for EXPORT-CONSOLE-23-001 and publish location so downstream tasks can proceed. | +| P2 | PREP-POLICY-AIRGAP-56-001-MIRROR-BUNDLE-SCHEM | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild | Policy Guild | Mirror bundle schema not published; requires bundle_id/provenance fields + sealed-mode rules.

Document artefact/deliverable for POLICY-AIRGAP-56-001 and publish location so downstream tasks can proceed. | +| P3 | PREP-POLICY-AIRGAP-56-002-DEPENDS-ON-56-001-B | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild · Policy Studio Guild | Policy Guild · Policy Studio Guild | Depends on 56-001 bundle import schema + DSSE signing profile.

Document artefact/deliverable for POLICY-AIRGAP-56-002 and publish location so downstream tasks can proceed. | +| P4 | PREP-POLICY-AIRGAP-57-001-REQUIRES-SEALED-MOD | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild · AirGap Policy Guild | Policy Guild · AirGap Policy Guild | Requires sealed-mode contract after 56-002.

Document artefact/deliverable for POLICY-AIRGAP-57-001 and publish location so downstream tasks can proceed. | +| P5 | PREP-POLICY-AIRGAP-57-002-NEEDS-STALENESS-FAL | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild · AirGap Time Guild | Policy Guild · AirGap Time Guild | Needs staleness/fallback data contract from 57-001.

Document artefact/deliverable for POLICY-AIRGAP-57-002 and publish location so downstream tasks can proceed. | +| P6 | PREP-POLICY-AIRGAP-58-001-NOTIFICATION-SCHEMA | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild · Notifications Guild | Policy Guild · Notifications Guild | Notification schema and staleness signals pending from 57-002.

Document artefact/deliverable for POLICY-AIRGAP-58-001 and publish location so downstream tasks can proceed. | +| P7 | PREP-POLICY-AOC-19-001-LINTING-TARGETS-SPEC-A | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild | Policy Guild | Linting targets/spec absent; no analyzer contract.

Document artefact/deliverable for POLICY-AOC-19-001 and publish location so downstream tasks can proceed. | +| P8 | PREP-POLICY-AOC-19-002-DEPENDS-ON-19-001-LINT | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild · Platform Security | Policy Guild · Platform Security | Depends on 19-001 lint + Authority `effective:write` contract.

Document artefact/deliverable for POLICY-AOC-19-002 and publish location so downstream tasks can proceed. | +| P9 | PREP-POLICY-AOC-19-003-REQUIRES-POST-19-002-N | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild | Policy Guild | Requires post-19-002 normalized-field removal contract/fixtures.

Document artefact/deliverable for POLICY-AOC-19-003 and publish location so downstream tasks can proceed. | +| P10 | PREP-POLICY-AOC-19-004-DEPENDS-ON-19-003-SHAP | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild · QA Guild | Policy Guild · QA Guild | Depends on 19-003 shape + determinism fixtures.

Document artefact/deliverable for POLICY-AOC-19-004 and publish location so downstream tasks can proceed. | +| P11 | PREP-POLICY-ATTEST-73-001-VERIFICATIONPOLICY | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild · Attestor Service Guild | Policy Guild · Attestor Service Guild | VerificationPolicy schema/persistence contract missing; Attestor alignment needed.

Document artefact/deliverable for POLICY-ATTEST-73-001 and publish location so downstream tasks can proceed. | +| P12 | PREP-POLICY-ATTEST-73-002-DEPENDS-ON-73-001-E | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild | Policy Guild | Depends on 73-001 editor DTOs/validation schema.

Document artefact/deliverable for POLICY-ATTEST-73-002 and publish location so downstream tasks can proceed. | +| P13 | PREP-POLICY-ATTEST-74-001-REQUIRES-73-002-ATT | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild · Attestor Service Guild | Policy Guild · Attestor Service Guild | Requires 73-002 + Attestor pipeline contract.

Document artefact/deliverable for POLICY-ATTEST-74-001 and publish location so downstream tasks can proceed. | +| P14 | PREP-POLICY-ATTEST-74-002-NEEDS-74-001-SURFAC | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild · Console Guild | Policy Guild · Console Guild | Needs 74-001 surfaced in Console verification reports contract.

Document artefact/deliverable for POLICY-ATTEST-74-002 and publish location so downstream tasks can proceed. | +| P15 | PREP-POLICY-CONSOLE-23-001-CONSOLE-API-CONTRA | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild · BE-Base Platform Guild | Policy Guild · BE-Base Platform Guild | Console API contract (filters/pagination/aggregation) absent.

Document artefact/deliverable for POLICY-CONSOLE-23-001 and publish location so downstream tasks can proceed. | +| 1 | EXPORT-CONSOLE-23-001 | BLOCKED | PREP-EXPORT-CONSOLE-23-001-MISSING-EXPORT-BUN | Policy Guild · Scheduler Guild · Observability Guild | Implement Console export endpoints/jobs once schema + job wiring are defined. | +| 2 | POLICY-AIRGAP-56-001 | BLOCKED | PREP-POLICY-AIRGAP-56-001-MIRROR-BUNDLE-SCHEM | Policy Guild | Air-gap bundle import support for policy packs. | +| 3 | POLICY-AIRGAP-56-002 | BLOCKED | PREP-POLICY-AIRGAP-56-002-DEPENDS-ON-56-001-B | Policy Guild · Policy Studio Guild | Air-gap sealed-mode handling for policy packs. | +| 4 | POLICY-AIRGAP-57-001 | BLOCKED | PREP-POLICY-AIRGAP-57-001-REQUIRES-SEALED-MOD | Policy Guild · AirGap Policy Guild | Sealed-mode error handling for policy packs. | +| 5 | POLICY-AIRGAP-57-002 | BLOCKED | PREP-POLICY-AIRGAP-57-002-NEEDS-STALENESS-FAL | Policy Guild · AirGap Time Guild | Staleness/fallback signaling for policy packs. | +| 6 | POLICY-AIRGAP-58-001 | BLOCKED | PREP-POLICY-AIRGAP-58-001-NOTIFICATION-SCHEMA | Policy Guild · Notifications Guild | Notifications for air-gap policy pack changes. | +| 7 | POLICY-AOC-19-001 | BLOCKED | PREP-POLICY-AOC-19-001-LINTING-TARGETS-SPEC-A | Policy Guild | Implement linting for ingestion projects/helpers. | +| 8 | POLICY-AOC-19-002 | BLOCKED | PREP-POLICY-AOC-19-002-DEPENDS-ON-19-001-LINT | Policy Guild · Platform Security | Enforce `effective:write` gate. | +| 9 | POLICY-AOC-19-003 | BLOCKED | PREP-POLICY-AOC-19-003-REQUIRES-POST-19-002-N | Policy Guild | Remove normalized fields per contract. | +| 10 | POLICY-AOC-19-004 | BLOCKED | PREP-POLICY-AOC-19-004-DEPENDS-ON-19-003-SHAP | Policy Guild · QA Guild | Determinism/fixtures for normalized-field removal. | +| 11 | POLICY-ATTEST-73-001 | BLOCKED | PREP-POLICY-ATTEST-73-001-VERIFICATIONPOLICY | Policy Guild · Attestor Service Guild | Persist verification policy schema. | +| 12 | POLICY-ATTEST-73-002 | BLOCKED | PREP-POLICY-ATTEST-73-002-DEPENDS-ON-73-001-E | Policy Guild | Editor DTOs/validation for verification policy. | +| 13 | POLICY-ATTEST-74-001 | BLOCKED | PREP-POLICY-ATTEST-74-001-REQUIRES-73-002-ATT | Policy Guild · Attestor Service Guild | Surface attestation reports. | +| 14 | POLICY-ATTEST-74-002 | BLOCKED | PREP-POLICY-ATTEST-74-002-NEEDS-74-001-SURFAC | Policy Guild · Console Guild | Console report integration. | +| 15 | POLICY-CONSOLE-23-001 | BLOCKED | PREP-POLICY-CONSOLE-23-001-CONSOLE-API-CONTRA | Policy Guild · BE-Base Platform Guild | Expose policy data to Console once API spec lands. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-19 | Removed trailing hyphen from PREP-POLICY-ATTEST-73-001-VERIFICATIONPOLICY so dependent task resolves correctly. | Project Mgmt | +| 2025-11-19 | Marked PREP tasks P1–P15 BLOCKED: export bundle schema, mirror/air-gap schemas, lint targets, attestation verification schemas, and Console API contract remain unpublished, keeping downstream POLICY/ATTEST/AIRGAP/CONSOLE work gated. | Project Mgmt | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | +| 2025-11-08 | Sprint created; awaiting staffing. | Planning | +| 2025-11-18 | Attempted EXPORT-CONSOLE-23-001; blocked due to missing export bundle/schema and scheduler job contract. Marked all tasks BLOCKED pending lint/airgap/attest/Console contracts. | Policy Guild | +| 2025-11-19 | Converted legacy file `SPRINT_123_policy_reasoning.md` into redirect stub pointing here to avoid divergent updates. | Implementer | +| 2025-11-19 | Normalised sprint to standard template and renamed from `SPRINT_123_policy_reasoning.md` to `SPRINT_0123_0001_0001_policy_reasoning.md`; content preserved; all tasks remain BLOCKED. | Implementer | + +## Decisions & Risks +- Export/air-gap remain blocked without bundle schema, sealed-mode rules, and scheduler contracts; cannot proceed until provided. +- Linting (AOC-19-001..004) blocked pending analyzer targets/spec and Authority gate contract. +- Attestation tasks (73/74) blocked pending Attestor verification policy schema and Console report contract. +- Console export and policy API tasks blocked without Console API contract. + +## Next Checkpoints +- Draft export surface proposal for Console (API + scheduler wiring) once bundle schema is published. +- Identify bundle schema dependencies for POLICY-AIRGAP-56-* once mirror schema freezes. +- Re-evaluate lint/attest tasks after respective contracts are delivered (dates TBD). diff --git a/docs/implplan/SPRINT_0124_0001_0001_policy_reasoning.md b/docs/implplan/SPRINT_0124_0001_0001_policy_reasoning.md new file mode 100644 index 000000000..73051b575 --- /dev/null +++ b/docs/implplan/SPRINT_0124_0001_0001_policy_reasoning.md @@ -0,0 +1,51 @@ +# Sprint 0124-0001-0001 · Policy & Reasoning (Policy Engine phase II) + +## Topic & Scope +- Continue Policy Engine core (Policy.II): deterministic evaluator, materialization, simulation, tracing, and storage. +- Ensure aggregation-only behavior; no wall-clock/RNG/network use during evaluation. +- **Working directory:** `src/Policy/StellaOps.Policy.Engine` (and `src/Policy/__Libraries/StellaOps.Policy`). + +## Dependencies & Concurrency +- Upstream: Sprint 120.C Policy.I must land before this track. +- Concurrency: execute tasks in listed order (DOING → TODO → BLOCKED). + +## Documentation Prerequisites +- `docs/README.md` +- `docs/07_HIGH_LEVEL_ARCHITECTURE.md` +- `docs/modules/platform/architecture-overview.md` +- `docs/modules/policy/architecture.md` + +## Delivery Tracker +| # | Task ID & handle | State | Key dependency / next step | Owners | +| --- | --- | --- | --- | --- | +| P1 | PREP-POLICY-ENGINE-20-002-DETERMINISTIC-EVALU | TODO | Due 2025-11-22 · Accountable: Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Deterministic evaluator spec missing.

Document artefact/deliverable for POLICY-ENGINE-20-002 and publish location so downstream tasks can proceed. | +| 1 | POLICY-CONSOLE-23-002 | TODO | Produce simulation diff metadata and approval endpoints for Console (deps: POLICY-CONSOLE-23-001). | Policy Guild, Product Ops / `src/Policy/StellaOps.Policy.Engine` | +| 2 | POLICY-ENGINE-20-002 | BLOCKED (2025-10-26) | PREP-POLICY-ENGINE-20-002-DETERMINISTIC-EVALU | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | +| 3 | POLICY-ENGINE-20-003 | TODO | Depends on 20-002. | Policy · Concelier · Excititor Guilds / `src/Policy/StellaOps.Policy.Engine` | +| 4 | POLICY-ENGINE-20-004 | TODO | Depends on 20-003. | Policy · Platform Storage Guild / `src/Policy/StellaOps.Policy.Engine` | +| 5 | POLICY-ENGINE-20-005 | TODO | Depends on 20-004. | Policy · Security Engineering / `src/Policy/StellaOps.Policy.Engine` | +| 6 | POLICY-ENGINE-20-006 | TODO | Depends on 20-005. | Policy · Scheduler Worker Guild / `src/Policy/StellaOps.Policy.Engine` | +| 7 | POLICY-ENGINE-20-007 | TODO | Depends on 20-006. | Policy · Observability Guild / `src/Policy/StellaOps.Policy.Engine` | +| 8 | POLICY-ENGINE-20-008 | TODO | Depends on 20-007. | Policy · QA Guild / `src/Policy/StellaOps.Policy.Engine` | +| 9 | POLICY-ENGINE-20-009 | TODO | Depends on 20-008. | Policy · Storage Guild / `src/Policy/StellaOps.Policy.Engine` | +| 10 | POLICY-ENGINE-27-001 | TODO | Depends on 20-009. | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | +| 11 | POLICY-ENGINE-27-002 | TODO | Depends on 27-001. | Policy · Observability Guild / `src/Policy/StellaOps.Policy.Engine` | +| 12 | POLICY-ENGINE-29-001 | TODO | Depends on 27-004. | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | +| 13 | POLICY-ENGINE-29-002 | TODO | Depends on 29-001. | Policy · Findings Ledger Guild / `src/Policy/StellaOps.Policy.Engine` | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | +| 2025-11-08 | Sprint stub; awaiting staffing. | Planning | +| 2025-11-18 | All tasks still awaiting upstream evaluator specs; no progress. | Policy Guild | +| 2025-11-19 | Normalized to standard template and renamed from `SPRINT_124_policy_reasoning.md` to `SPRINT_0124_0001_0001_policy_reasoning.md`; content preserved. | Implementer | + +## Decisions & Risks +- Deterministic evaluator contract missing (blocks 20-002 and downstream chain). +- Console simulation/export contract (POLICY-CONSOLE-23-001) required to unblock 23-002. +- Storage/index schemas TBD; avoid implementation until specs freeze. + +## Next Checkpoints +- Publish deterministic evaluator spec for 20-002 (date TBD). +- Provide Console export/simulation contract for 23-001 to unblock 23-002. \ No newline at end of file diff --git a/docs/implplan/SPRINT_0125_0001_0001_mirror.md b/docs/implplan/SPRINT_0125_0001_0001_mirror.md index 83a8614ec..df6b8f3a8 100644 --- a/docs/implplan/SPRINT_0125_0001_0001_mirror.md +++ b/docs/implplan/SPRINT_0125_0001_0001_mirror.md @@ -20,7 +20,10 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | -| 1 | MIRROR-CRT-56-001 | BLOCKED | Upstream Sprint 110.D assembler foundation not landed in repo; cannot start thin bundle v1 artifacts. | Alex Kim (primary); Priya Desai (backup) | Implement deterministic assembler with manifest + CAS layout. | +| P0 | PREP-MIRROR-CRT-56-001-MILESTONE-0-PUBLISH | DONE (2025-11-19) | Due 2025-11-20 · Accountable: Mirror Creator Guild | Mirror Creator Guild | Published milestone-0 thin bundle plan + sample at `out/mirror/thin/mirror-thin-m0-sample.tar.gz` with SHA256 `bd1013885a27f651e28331c7a240d417d265bd411d09b51b47bd7c2196659674` and layout note in `docs/modules/mirror/milestone-0-thin-bundle.md`. | +| P1 | PREP-MIRROR-CRT-56-001-UPSTREAM-SPRINT-110-D | TODO | Due 2025-11-22 · Accountable: Alex Kim (primary); Priya Desai (backup) | Alex Kim (primary); Priya Desai (backup) | Upstream Sprint 110.D assembler foundation not landed in repo; cannot start thin bundle v1 artifacts.

Document artefact/deliverable for MIRROR-CRT-56-001 and publish location so downstream tasks can proceed. | +| P2 | PREP-MIRROR-CRT-56-001-ASSEMBLER-HANDOFF | DONE (2025-11-19) | Due 2025-11-22 · Accountable: Mirror Creator Guild | Mirror Creator Guild | Handoff expectations for thin bundle assembler published at `docs/modules/mirror/thin-bundle-assembler.md` (tar layout, manifest fields, determinism rules, hashes). | +| 1 | MIRROR-CRT-56-001 | BLOCKED | PREP-MIRROR-CRT-56-001-UPSTREAM-SPRINT-110-D | Alex Kim (primary); Priya Desai (backup) | Implement deterministic assembler with manifest + CAS layout. | | 2 | MIRROR-CRT-56-002 | BLOCKED | Depends on MIRROR-CRT-56-001 and PROV-OBS-53-001; upstream assembler missing. | Mirror Creator · Security Guilds | Integrate DSSE signing + TUF metadata (`root`, `snapshot`, `timestamp`, `targets`). | | 3 | MIRROR-CRT-57-001 | BLOCKED | Requires MIRROR-CRT-56-001; assembler foundation missing. | Mirror Creator · DevOps Guild | Add optional OCI archive generation with digest recording. | | 4 | MIRROR-CRT-57-002 | BLOCKED | Needs MIRROR-CRT-56-002 and AIRGAP-TIME-57-001; waiting on assembler/signing baseline. | Mirror Creator · AirGap Time Guild | Embed signed time-anchor metadata. | @@ -34,6 +37,10 @@ ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Cleared stray hyphen from PREP-MIRROR-CRT-56-001-UPSTREAM-SPRINT-110-D so MIRROR-CRT-56-001 dependency is resolvable. | Project Mgmt | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | +| 2025-11-19 | Completed PREP-MIRROR-CRT-56-001-MILESTONE-0-PUBLISH: published sample thin bundle + hashes and milestone note (`docs/modules/mirror/milestone-0-thin-bundle.md`). | Implementer | +| 2025-11-19 | Added PREP-MIRROR-CRT-56-001-MILESTONE-0-PUBLISH (DOING) to capture milestone-0 thin bundle plan and hashes to unblock downstream air-gap/console/attestation tracks. | Project Mgmt | | 2025-11-17 | All sprint tasks marked BLOCKED: upstream Sprint 110.D assembler foundation absent from repo; no manifest/CAS layout or samples present to proceed. | Implementer | | 2025-11-17 | Normalised sprint file to standard template; renamed from `SPRINT_125_mirror.md` to `SPRINT_0125_0001_0001_mirror.md`; no semantic task changes. | Project Management | | 2025-11-17 | Coordinator decision: assign primary + backup for MIRROR-CRT-56-001; scope thin bundle v1; downstream tasks may proceed once schema + sample bundle land. | Coordinator | diff --git a/docs/implplan/SPRINT_0125_0001_0001_policy_reasoning.md b/docs/implplan/SPRINT_0125_0001_0001_policy_reasoning.md new file mode 100644 index 000000000..41bbf16b7 --- /dev/null +++ b/docs/implplan/SPRINT_0125_0001_0001_policy_reasoning.md @@ -0,0 +1,68 @@ +# Sprint 0125-0001-0001 · Policy & Reasoning (Policy Engine phase III) + +## Topic & Scope +- Policy Engine simulations/overlays chain (Policy.III): path/scope awareness, metrics, overlays, orchestration, ledger export, snapshot, violation events, severity fusion. +- **Working directory:** `src/Policy/StellaOps.Policy.Engine`. + +## Dependencies & Concurrency +- Upstream: POLICY-ENGINE-29-002 contract/schema required; execute tasks in listed order. +- Concurrency: All current tasks blocked by missing 29-002 path/scope schema. + +## Documentation Prerequisites +- `docs/README.md` +- `docs/07_HIGH_LEVEL_ARCHITECTURE.md` +- `docs/modules/platform/architecture-overview.md` +- `docs/modules/policy/architecture.md` + +## Delivery Tracker +| # | Task ID & handle | State | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| P0 | PREP-POLICY-ENGINE-29-002-PATH-SCOPE-SCHEMA | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Publish POLICY-ENGINE-29-002 path/scope schema + sample payloads so downstream evaluation tasks can start. | +| P1 | PREP-POLICY-ENGINE-29-004-DEPENDS-ON-29-003 | BLOCKED | Due 2025-11-22 · Accountable: Policy · Observability Guild / `src/Policy/StellaOps.Policy.Engine` | Policy · Observability Guild / `src/Policy/StellaOps.Policy.Engine` | Depends on 29-003.

Document artefact/deliverable for POLICY-ENGINE-29-004 and publish location so downstream tasks can proceed. | +| P2 | PREP-POLICY-ENGINE-30-001-NEEDS-29-004-OUTPUT | BLOCKED | Due 2025-11-22 · Accountable: Policy · Cartographer Guild / `src/Policy/StellaOps.Policy.Engine` | Policy · Cartographer Guild / `src/Policy/StellaOps.Policy.Engine` | Needs 29-004 outputs.

Document artefact/deliverable for POLICY-ENGINE-30-001 and publish location so downstream tasks can proceed. | +| P3 | PREP-POLICY-ENGINE-30-002-DEPENDS-ON-30-001 | BLOCKED | Due 2025-11-22 · Accountable: Policy · Cartographer Guild / `src/Policy/StellaOps.Policy.Engine` | Policy · Cartographer Guild / `src/Policy/StellaOps.Policy.Engine` | Depends on 30-001.

Document artefact/deliverable for POLICY-ENGINE-30-002 and publish location so downstream tasks can proceed. | +| P4 | PREP-POLICY-ENGINE-30-003-DEPENDS-ON-30-002 | BLOCKED | Due 2025-11-22 · Accountable: Policy · Scheduler Guild / `src/Policy/StellaOps.Policy.Engine` | Policy · Scheduler Guild / `src/Policy/StellaOps.Policy.Engine` | Depends on 30-002.

Document artefact/deliverable for POLICY-ENGINE-30-003 and publish location so downstream tasks can proceed. | +| P5 | PREP-POLICY-ENGINE-30-101-DEPENDS-ON-30-003 | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Depends on 30-003.

Document artefact/deliverable for POLICY-ENGINE-30-101 and publish location so downstream tasks can proceed. | +| P6 | PREP-POLICY-ENGINE-31-001-DEPENDS-ON-30-101 | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Depends on 30-101.

Document artefact/deliverable for POLICY-ENGINE-31-001 and publish location so downstream tasks can proceed. | +| P7 | PREP-POLICY-ENGINE-31-002-DEPENDS-ON-31-001 | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Depends on 31-001.

Document artefact/deliverable for POLICY-ENGINE-31-002 and publish location so downstream tasks can proceed. | +| P8 | PREP-POLICY-ENGINE-32-101-DEPENDS-ON-31-002 | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Depends on 31-002.

Document artefact/deliverable for POLICY-ENGINE-32-101 and publish location so downstream tasks can proceed. | +| P9 | PREP-POLICY-ENGINE-33-101-DEPENDS-ON-32-101 | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Depends on 32-101.

Document artefact/deliverable for POLICY-ENGINE-33-101 and publish location so downstream tasks can proceed. | +| P10 | PREP-POLICY-ENGINE-34-101-DEPENDS-ON-33-101 | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Depends on 33-101.

Document artefact/deliverable for POLICY-ENGINE-34-101 and publish location so downstream tasks can proceed. | +| P11 | PREP-POLICY-ENGINE-35-201-DEPENDS-ON-34-101 | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Depends on 34-101.

Document artefact/deliverable for POLICY-ENGINE-35-201 and publish location so downstream tasks can proceed. | +| P12 | PREP-POLICY-ENGINE-38-201-DEPENDS-ON-35-201 | BLOCKED | Due 2025-11-22 · Accountable: Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Depends on 35-201.

Document artefact/deliverable for POLICY-ENGINE-38-201 and publish location so downstream tasks can proceed. | +| P13 | PREP-POLICY-ENGINE-40-001-DEPENDS-ON-38-201 | BLOCKED | Due 2025-11-22 · Accountable: Policy · Concelier Guild / `src/Policy/StellaOps.Policy.Engine` | Policy · Concelier Guild / `src/Policy/StellaOps.Policy.Engine` | Depends on 38-201.

Document artefact/deliverable for POLICY-ENGINE-40-001 and publish location so downstream tasks can proceed. | +| P14 | PREP-POLICY-ENGINE-40-002-DEPENDS-ON-40-001 | BLOCKED | Due 2025-11-22 · Accountable: Policy · Excititor Guild / `src/Policy/StellaOps.Policy.Engine` | Policy · Excititor Guild / `src/Policy/StellaOps.Policy.Engine` | Depends on 40-001.

Document artefact/deliverable for POLICY-ENGINE-40-002 and publish location so downstream tasks can proceed. | +| 1 | POLICY-ENGINE-29-003 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-29-002-PATH-SCOPE-SCHEMA. | Policy · SBOM Service Guild / `src/Policy/StellaOps.Policy.Engine` | Path/scope aware evaluation. | +| 2 | POLICY-ENGINE-29-004 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-29-004-DEPENDS-ON-29-003 | Policy · Observability Guild / `src/Policy/StellaOps.Policy.Engine` | Metrics/logging for path-aware eval. | +| 3 | POLICY-ENGINE-30-001 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-30-001-NEEDS-29-004-OUTPUT | Policy · Cartographer Guild / `src/Policy/StellaOps.Policy.Engine` | Overlay projection contract. | +| 4 | POLICY-ENGINE-30-002 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-30-002-DEPENDS-ON-30-001 | Policy · Cartographer Guild / `src/Policy/StellaOps.Policy.Engine` | Simulation bridge. | +| 5 | POLICY-ENGINE-30-003 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-30-003-DEPENDS-ON-30-002 | Policy · Scheduler Guild / `src/Policy/StellaOps.Policy.Engine` | Change events. | +| 6 | POLICY-ENGINE-30-101 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-30-101-DEPENDS-ON-30-003 | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Trust weighting UI/API. | +| 7 | POLICY-ENGINE-31-001 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-31-001-DEPENDS-ON-30-101 | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Advisory AI knobs. | +| 8 | POLICY-ENGINE-31-002 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-31-002-DEPENDS-ON-31-001 | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Batch context endpoint. | +| 9 | POLICY-ENGINE-32-101 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-32-101-DEPENDS-ON-31-002 | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Orchestrator job schema. | +| 10 | POLICY-ENGINE-33-101 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-33-101-DEPENDS-ON-32-101 | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Worker implementation. | +| 11 | POLICY-ENGINE-34-101 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-34-101-DEPENDS-ON-33-101 | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Ledger export. | +| 12 | POLICY-ENGINE-35-201 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-35-201-DEPENDS-ON-34-101 | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Snapshot API. | +| 13 | POLICY-ENGINE-38-201 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-38-201-DEPENDS-ON-35-201 | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Violation events. | +| 14 | POLICY-ENGINE-40-001 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-40-001-DEPENDS-ON-38-201 | Policy · Concelier Guild / `src/Policy/StellaOps.Policy.Engine` | Severity fusion. | +| 15 | POLICY-ENGINE-40-002 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-40-002-DEPENDS-ON-40-001 | Policy · Excititor Guild / `src/Policy/StellaOps.Policy.Engine` | Conflict handling. | + +## Notes & Risks +- POLICY-ENGINE-29-002 contract/schema missing; cascades block entire chain (1–15). Need published schema + sample payloads to proceed. + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-19 | Added PREP-POLICY-ENGINE-29-002-PATH-SCOPE-SCHEMA and pointed POLICY-ENGINE-29-003 dependency at it. | Project Mgmt | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | +| 2025-11-19 | Marked PREP tasks P0–P14 BLOCKED: base path/scope schema (29-002) and downstream evaluation/observability/overlay/export contracts are still missing, keeping the entire POLICY-ENGINE chain blocked. | Project Mgmt | +| 2025-11-08 | Sprint created; awaiting upstream contract. | Planning | +| 2025-11-18 | Re-confirmed all tasks blocked; upstream schema still absent. | Policy Guild | +| 2025-11-19 | Normalized to standard template and renamed from `SPRINT_125_policy_reasoning.md` to `SPRINT_0125_0001_0001_policy_reasoning.md`; content preserved. | Implementer | + +## Decisions & Risks +- Blocked until POLICY-ENGINE-29-002 contract drops. + +## Next Checkpoints +- Publish POLICY-ENGINE-29-002 path/scope schema (date TBD). diff --git a/docs/implplan/SPRINT_0126_0001_0001_policy_reasoning.md b/docs/implplan/SPRINT_0126_0001_0001_policy_reasoning.md new file mode 100644 index 000000000..e5cbdebe0 --- /dev/null +++ b/docs/implplan/SPRINT_0126_0001_0001_policy_reasoning.md @@ -0,0 +1,48 @@ +# Sprint 0126-0001-0001 · Policy & Reasoning (Policy Engine phase IV) + +## Topic & Scope +- Policy Engine IV: SPL compiler/evaluator pipeline, events, storage, exceptions, reachability/exploitability integration. +- **Working directory:** `src/Policy/StellaOps.Policy.Engine` (and `src/Policy/__Libraries/StellaOps.Policy`). + +## Dependencies & Concurrency +- Upstream: Sprint 120.C Policy.III must land. +- Concurrency: execute tasks in listed order; all currently TODO. + +## Documentation Prerequisites +- `docs/README.md` +- `docs/07_HIGH_LEVEL_ARCHITECTURE.md` +- `docs/modules/platform/architecture-overview.md` +- `docs/modules/policy/architecture.md` + +## Delivery Tracker +| # | Task ID & handle | State | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| 1 | POLICY-ENGINE-40-003 | TODO | Depends on 40-002. | Policy · Web Scanner Guild / `src/Policy/StellaOps.Policy.Engine` | API/SDK utilities with evidence summaries. | +| 2 | POLICY-ENGINE-50-001 | TODO | Depends on 40-003. | Policy · Platform Security / `src/Policy/StellaOps.Policy.Engine` | SPL compiler, signed bundle, storage. | +| 3 | POLICY-ENGINE-50-002 | TODO | Depends on 50-001. | Policy · Runtime Guild / `src/Policy/StellaOps.Policy.Engine` | Runtime evaluator with deterministic caching. | +| 4 | POLICY-ENGINE-50-003 | TODO | Depends on 50-002. | Policy · Observability Guild / `src/Policy/StellaOps.Policy.Engine` | Metrics/tracing/logging for compile/eval. | +| 5 | POLICY-ENGINE-50-004 | TODO | Depends on 50-003. | Policy · Platform Events Guild / `src/Policy/StellaOps.Policy.Engine` | Event pipeline for updates/re-eval. | +| 6 | POLICY-ENGINE-50-005 | TODO | Depends on 50-004. | Policy · Storage Guild / `src/Policy/StellaOps.Policy.Engine` | Collections/indexes for policy artifacts. | +| 7 | POLICY-ENGINE-50-006 | TODO | Depends on 50-005. | Policy · QA Guild / `src/Policy/StellaOps.Policy.Engine` | Explainer persistence/retrieval. | +| 8 | POLICY-ENGINE-50-007 | TODO | Depends on 50-006. | Policy · Scheduler Worker Guild / `src/Policy/StellaOps.Policy.Engine` | Evaluation worker host/orchestration. | +| 9 | POLICY-ENGINE-60-001 | TODO | Depends on 50-007. | Policy · SBOM Service Guild / `src/Policy/StellaOps.Policy.Engine` | Redis effective decision maps. | +| 10 | POLICY-ENGINE-60-002 | TODO | Depends on 60-001. | Policy · BE-Base Platform Guild / `src/Policy/StellaOps.Policy.Engine` | Simulation bridge for Graph What-if. | +| 11 | POLICY-ENGINE-70-002 | TODO | Depends on 60-002. | Policy · Storage Guild / `src/Policy/StellaOps.Policy.Engine` | Exception collections + migrations. | +| 12 | POLICY-ENGINE-70-003 | TODO | Depends on 70-002. | Policy · Runtime Guild / `src/Policy/StellaOps.Policy.Engine` | Redis exception cache. | +| 13 | POLICY-ENGINE-70-004 | TODO | Depends on 70-003. | Policy · Observability Guild / `src/Policy/StellaOps.Policy.Engine` | Exception metrics/tracing/logging. | +| 14 | POLICY-ENGINE-70-005 | TODO | Depends on 70-004. | Policy · Scheduler Worker Guild / `src/Policy/StellaOps.Policy.Engine` | Exception activation/expiry + events. | +| 15 | POLICY-ENGINE-80-001 | TODO | Depends on 70-005. | Policy · Signals Guild / `src/Policy/StellaOps.Policy.Engine` | Reachability/exploitability inputs into evaluation. | +| 16 | POLICY-RISK-90-001 | TODO | — | Policy · Scanner Guild / `src/Policy/StellaOps.Policy.Engine` | Entropy penalty ingestion + trust algebra. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-08 | Sprint stub; awaiting upstream phases. | Planning | +| 2025-11-19 | Normalized to standard template and renamed from `SPRINT_126_policy_reasoning.md` to `SPRINT_0126_0001_0001_policy_reasoning.md`; content preserved. | Implementer | + +## Decisions & Risks +- All tasks depend on prior Policy phases; sequencing must be maintained. +- Entropy/trust algebra inputs (POLICY-RISK-90-001) require Scanner contract. + +## Next Checkpoints +- Align SPL compiler/evaluator contracts once upstream phases land (date TBD). diff --git a/docs/implplan/SPRINT_0127_0001_0001_policy_reasoning.md b/docs/implplan/SPRINT_0127_0001_0001_policy_reasoning.md new file mode 100644 index 000000000..89b893d65 --- /dev/null +++ b/docs/implplan/SPRINT_0127_0001_0001_policy_reasoning.md @@ -0,0 +1,51 @@ +# Sprint 0127-0001-0001 · Policy & Reasoning (Policy Engine phase V) + +## Topic & Scope +- Policy Engine V: reachability integration, telemetry, incident mode, and initial RiskProfile schema work. +- **Working directory:** `src/Policy/StellaOps.Policy.Engine` and `src/Policy/__Libraries/StellaOps.Policy.RiskProfile`. + +## Dependencies & Concurrency +- Upstream: Sprint 120.C Policy.IV must land. +- Concurrency: execute tasks in listed order; all tasks currently TODO. + +## Documentation Prerequisites +- `docs/README.md` +- `docs/07_HIGH_LEVEL_ARCHITECTURE.md` +- `docs/modules/platform/architecture-overview.md` +- `docs/modules/policy/architecture.md` + +## Delivery Tracker +| # | Task ID & handle | State | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| P1 | PREP-POLICY-RISK-66-001-RISKPROFILE-LIBRARY-S | TODO | Due 2025-11-22 · Accountable: Risk Profile Schema Guild / `src/Policy/StellaOps.Policy.RiskProfile` | Risk Profile Schema Guild / `src/Policy/StellaOps.Policy.RiskProfile` | RiskProfile library scaffold absent (`src/Policy/StellaOps.Policy.RiskProfile` contains only AGENTS.md); need project + storage contract to place schema/validators.

Document artefact/deliverable for POLICY-RISK-66-001 and publish location so downstream tasks can proceed. | +| 1 | POLICY-ENGINE-80-002 | TODO | Depends on 80-001. | Policy · Storage Guild / `src/Policy/StellaOps.Policy.Engine` | Join reachability facts + Redis caches. | +| 2 | POLICY-ENGINE-80-003 | TODO | Depends on 80-002. | Policy · Policy Editor Guild / `src/Policy/StellaOps.Policy.Engine` | SPL predicates/actions reference reachability. | +| 3 | POLICY-ENGINE-80-004 | TODO | Depends on 80-003. | Policy · Observability Guild / `src/Policy/StellaOps.Policy.Engine` | Metrics/traces for signals usage. | +| 4 | POLICY-OBS-50-001 | TODO | — | Policy · Observability Guild / `src/Policy/StellaOps.Policy.Engine` | Telemetry core for API/worker hosts. | +| 5 | POLICY-OBS-51-001 | TODO | Depends on 50-001. | Policy · DevOps Guild / `src/Policy/StellaOps.Policy.Engine` | Golden-signal metrics + SLOs. | +| 6 | POLICY-OBS-52-001 | TODO | Depends on 51-001. | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Timeline events for evaluate/decision flows. | +| 7 | POLICY-OBS-53-001 | TODO | Depends on 52-001. | Policy · Evidence Locker Guild / `src/Policy/StellaOps.Policy.Engine` | Evaluation evidence bundles + manifests. | +| 8 | POLICY-OBS-54-001 | TODO | Depends on 53-001. | Policy · Provenance Guild / `src/Policy/StellaOps.Policy.Engine` | DSSE attestations for evaluations. | +| 9 | POLICY-OBS-55-001 | TODO | Depends on 54-001. | Policy · DevOps Guild / `src/Policy/StellaOps.Policy.Engine` | Incident mode sampling overrides. | +| 10 | POLICY-RISK-66-001 | BLOCKED (2025-11-19) | PREP-POLICY-RISK-66-001-RISKPROFILE-LIBRARY-S | Risk Profile Schema Guild / `src/Policy/StellaOps.Policy.RiskProfile` | RiskProfile JSON schema + validator stubs. | +| 11 | POLICY-RISK-66-002 | TODO | Depends on 66-001. | Risk Profile Schema Guild / `src/Policy/StellaOps.Policy.RiskProfile` | Inheritance/merge + deterministic hashing. | +| 12 | POLICY-RISK-66-003 | TODO | Depends on 66-002. | Policy · Risk Profile Schema Guild / `src/Policy/StellaOps.Policy.Engine` | Integrate RiskProfile into Policy Engine config. | +| 13 | POLICY-RISK-66-004 | TODO | Depends on 66-003. | Policy · Risk Profile Schema Guild / `src/Policy/__Libraries/StellaOps.Policy` | Load/save RiskProfiles; validation diagnostics. | +| 14 | POLICY-RISK-67-001 | TODO | Depends on 66-004. | Policy · Risk Engine Guild / `src/Policy/StellaOps.Policy.Engine` | Trigger scoring jobs on new/updated findings. | +| 15 | POLICY-RISK-67-001 | TODO | Depends on 67-001. | Risk Profile Schema Guild · Policy Engine Guild / `src/Policy/StellaOps.Policy.RiskProfile` | Profile storage/versioning lifecycle. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | +| 2025-11-08 | Sprint stub; awaiting upstream phases. | Planning | +| 2025-11-19 | Normalized to standard template and renamed from `SPRINT_127_policy_reasoning.md` to `SPRINT_0127_0001_0001_policy_reasoning.md`; content preserved. | Implementer | +| 2025-11-19 | Attempted POLICY-RISK-66-001; blocked because `src/Policy/StellaOps.Policy.RiskProfile` lacks a project/scaffold to host schema + validators. Needs project creation + contract placement guidance. | Implementer | + +## Decisions & Risks +- Reachability inputs (80-001) prerequisite; not yet delivered. +- RiskProfile schema undefined; blocks risk chain if delayed. + +## Next Checkpoints +- Define reachability input contract (date TBD). +- Draft RiskProfile schema baseline (date TBD). \ No newline at end of file diff --git a/docs/implplan/SPRINT_0128_0001_0001_policy_reasoning.md b/docs/implplan/SPRINT_0128_0001_0001_policy_reasoning.md new file mode 100644 index 000000000..408b72edd --- /dev/null +++ b/docs/implplan/SPRINT_0128_0001_0001_policy_reasoning.md @@ -0,0 +1,46 @@ +# Sprint 0128-0001-0001 · Policy & Reasoning (Policy Engine phase VI) + +## Topic & Scope +- Policy Engine VI: Risk profile lifecycle APIs, simulation bridge, overrides, exports, and SPL schema evolution. +- **Working directory:** `src/Policy/StellaOps.Policy.Engine` and `src/Policy/__Libraries/StellaOps.Policy`. + +## Dependencies & Concurrency +- Upstream: Policy.V (0127) reachability/risk groundwork must land first. +- Concurrency: execute tasks in listed order; all tasks currently TODO. + +## Documentation Prerequisites +- `docs/README.md` +- `docs/07_HIGH_LEVEL_ARCHITECTURE.md` +- `docs/modules/platform/architecture-overview.md` +- `docs/modules/policy/architecture.md` + +## Delivery Tracker +| # | Task ID & handle | State | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| 1 | POLICY-RISK-67-002 | TODO | Depends on 67-001. | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Risk profile lifecycle APIs. | +| 2 | POLICY-RISK-67-002 | TODO | Depends on 67-002. | Risk Profile Schema Guild / `src/Policy/StellaOps.Policy.RiskProfile` | Publish `.well-known/risk-profile-schema` + CLI validation. | +| 3 | POLICY-RISK-67-003 | TODO | Depends on 67-002. | Policy · Risk Engine Guild / `src/Policy/__Libraries/StellaOps.Policy` | Risk simulations + breakdowns. | +| 4 | POLICY-RISK-68-001 | TODO | Depends on 67-003. | Policy · Policy Studio Guild / `src/Policy/StellaOps.Policy.Engine` | Simulation API for Policy Studio. | +| 5 | POLICY-RISK-68-001 | TODO | Depends on 68-001. | Risk Profile Schema Guild · Authority Guild / `src/Policy/StellaOps.Policy.RiskProfile` | Scope selectors, precedence rules, Authority attachment. | +| 6 | POLICY-RISK-68-002 | TODO | Depends on 68-001. | Risk Profile Schema Guild / `src/Policy/StellaOps.Policy.RiskProfile` | Override/adjustment support with audit metadata. | +| 7 | POLICY-RISK-68-002 | TODO | Depends on 68-002. | Policy · Export Guild / `src/Policy/__Libraries/StellaOps.Policy` | Export/import RiskProfiles with signatures. | +| 8 | POLICY-RISK-69-001 | TODO | Depends on 68-002. | Policy · Notifications Guild / `src/Policy/StellaOps.Policy.Engine` | Notifications on profile lifecycle/threshold changes. | +| 9 | POLICY-RISK-70-001 | TODO | Depends on 69-001. | Policy · Export Guild / `src/Policy/StellaOps.Policy.Engine` | Air-gap export/import for profiles with signatures. | +| 10 | POLICY-SPL-23-001 | TODO | — | Policy · Language Infrastructure Guild / `src/Policy/__Libraries/StellaOps.Policy` | Define SPL v1 schema + fixtures. | +| 11 | POLICY-SPL-23-002 | TODO | Depends on 23-001. | Policy Guild / `src/Policy/__Libraries/StellaOps.Policy` | Canonicalizer + content hashing. | +| 12 | POLICY-SPL-23-003 | TODO | Depends on 23-002. | Policy Guild / `src/Policy/__Libraries/StellaOps.Policy` | Layering/override engine + tests. | +| 13 | POLICY-SPL-23-004 | TODO | Depends on 23-003. | Policy · Audit Guild / `src/Policy/__Libraries/StellaOps.Policy` | Explanation tree model + persistence. | +| 14 | POLICY-SPL-23-005 | TODO | Depends on 23-004. | Policy · DevEx Guild / `src/Policy/__Libraries/StellaOps.Policy` | Migration tool to baseline SPL packs. | +| 15 | POLICY-SPL-24-001 | TODO | Depends on 23-005. | Policy · Signals Guild / `src/Policy/__Libraries/StellaOps.Policy` | Extend SPL with reachability/exploitability predicates. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-08 | Sprint stub; awaiting upstream phases. | Planning | +| 2025-11-19 | Normalized to standard template and renamed from `SPRINT_128_policy_reasoning.md` to `SPRINT_0128_0001_0001_policy_reasoning.md`; content preserved. | Implementer | + +## Decisions & Risks +- Risk profile contracts and SPL schema not yet defined; entire chain remains TODO pending upstream specs. + +## Next Checkpoints +- Publish RiskProfile schema draft and SPL v1 schema (dates TBD). diff --git a/docs/implplan/SPRINT_0129_0001_0001_policy_reasoning.md b/docs/implplan/SPRINT_0129_0001_0001_policy_reasoning.md new file mode 100644 index 000000000..2129d28d7 --- /dev/null +++ b/docs/implplan/SPRINT_0129_0001_0001_policy_reasoning.md @@ -0,0 +1,67 @@ +# Sprint 0129-0001-0001 · Policy & Reasoning (Policy Engine/Risk/VEX/Vuln Registry phase VII) + +## Topic & Scope +- Policy VII plus companion tracks (RiskEngine, VexLens, VulnExplorer, Policy Registry): registries, simulations, promotions, reachability/exploitability inputs, VEX consensus, and vulnerability API surface. +- **Working directory:** `src/Policy/StellaOps.Policy.Engine`, `src/Policy/StellaOps.Policy.Registry`, `src/RiskEngine/StellaOps.RiskEngine`, `src/VexLens`, `src/VulnExplorer`. + +## Dependencies & Concurrency +- Upstream: Policy.VI (0128) + Risk/VEX foundations; execute tasks in listed order; all tasks currently TODO. + +## Documentation Prerequisites +- `docs/README.md` +- `docs/07_HIGH_LEVEL_ARCHITECTURE.md` +- `docs/modules/platform/architecture-overview.md` +- `docs/modules/policy/architecture.md` +- Module docs for Registry, RiskEngine, VexLens, VulnExplorer as applicable. + +## Delivery Tracker +| # | Task ID & handle | State | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| 1 | POLICY-TEN-48-001 | TODO | Tenant/project columns + RLS policy; needs platform-approved design. | Policy Guild / `src/Policy/StellaOps.Policy.Engine` | Tenant scoping + rationale IDs with tenant metadata. | +| 2 | REGISTRY-API-27-001 | TODO | OpenAPI spec pending. | Policy Registry Guild / `src/Policy/StellaOps.Policy.Registry` | Define Registry API spec + typed clients. | +| 3 | REGISTRY-API-27-002 | TODO | Depends on 27-001. | Policy Registry Guild / `src/Policy/StellaOps.Policy.Registry` | Workspace storage with CRUD + history. | +| 4 | REGISTRY-API-27-003 | TODO | Depends on 27-002. | Policy Registry Guild / `src/Policy/StellaOps.Policy.Registry` | Compile endpoint integration. | +| 5 | REGISTRY-API-27-004 | TODO | Depends on 27-003. | Policy Registry Guild / `src/Policy/StellaOps.Policy.Registry` | Quick simulation API. | +| 6 | REGISTRY-API-27-005 | TODO | Depends on 27-004. | Policy Registry · Scheduler Guild / `src/Policy/StellaOps.Policy.Registry` | Batch simulation orchestration. | +| 7 | REGISTRY-API-27-006 | TODO | Depends on 27-005. | Policy Registry Guild / `src/Policy/StellaOps.Policy.Registry` | Review workflow with audit trails. | +| 8 | REGISTRY-API-27-007 | TODO | Depends on 27-006. | Policy Registry · Security Guild / `src/Policy/StellaOps.Policy.Registry` | Publish pipeline with signing/attestations. | +| 9 | REGISTRY-API-27-008 | TODO | Depends on 27-007. | Policy Registry Guild / `src/Policy/StellaOps.Policy.Registry` | Promotion bindings per tenant/environment. | +| 10 | REGISTRY-API-27-009 | TODO | Depends on 27-008. | Policy Registry · Observability Guild / `src/Policy/StellaOps.Policy.Registry` | Metrics/logs/traces + dashboards. | +| 11 | REGISTRY-API-27-010 | TODO | Depends on 27-009. | Policy Registry · QA Guild / `src/Policy/StellaOps.Policy.Registry` | Test suites + fixtures. | +| 12 | RISK-ENGINE-66-001 | TODO | Scaffold scoring service; needs deterministic harness. | Risk Engine Guild / `src/RiskEngine/StellaOps.RiskEngine` | Scoring service + job queue. | +| 13 | RISK-ENGINE-66-002 | TODO | Depends on 66-001. | Risk Engine Guild / `src/RiskEngine/StellaOps.RiskEngine` | Default transforms/clamping/gating. | +| 14 | RISK-ENGINE-67-001 | TODO | Depends on 66-002. | Risk Engine Guild · Concelier Guild / `src/RiskEngine/StellaOps.RiskEngine` | CVSS/KEV providers. | +| 15 | RISK-ENGINE-67-002 | TODO | Depends on 67-001. | Risk Engine Guild · Excitor Guild / `src/RiskEngine/StellaOps.RiskEngine` | VEX gate provider. | +| 16 | RISK-ENGINE-67-003 | TODO | Depends on 67-002. | Risk Engine Guild · Policy Engine Guild / `src/RiskEngine/StellaOps.RiskEngine` | Fix availability/criticality/exposure providers. | +| 17 | RISK-ENGINE-68-001 | TODO | Depends on 67-003. | Risk Engine Guild · Findings Ledger Guild / `src/RiskEngine/StellaOps.RiskEngine` | Persist results + explanations to Findings Ledger. | +| 18 | RISK-ENGINE-68-002 | TODO | Depends on 68-001. | Risk Engine Guild / `src/RiskEngine/StellaOps.RiskEngine` | APIs for jobs/results/simulations. | +| 19 | VEXLENS-30-001 | TODO | — | VEX Lens Guild / `src/VexLens/StellaOps.VexLens` | Normalize CSAF/OpenVEX/CycloneDX VEX. | +| 20 | VEXLENS-30-002 | TODO | Depends on 30-001. | VEX Lens Guild / `src/VexLens/StellaOps.VexLens` | Product mapping library. | +| 21 | VEXLENS-30-003 | TODO | Depends on 30-002. | VEX Lens Guild · Issuer Directory Guild / `src/VexLens/StellaOps.VexLens` | Signature verification. | +| 22 | VEXLENS-30-004 | TODO | Depends on 30-003. | VEX Lens · Policy Guild / `src/VexLens/StellaOps.VexLens` | Trust weighting engine. | +| 23 | VEXLENS-30-005 | TODO | Depends on 30-004. | VEX Lens Guild / `src/VexLens/StellaOps.VexLens` | Consensus algorithm. | +| 24 | VEXLENS-30-006 | TODO | Depends on 30-005. | VEX Lens · Findings Ledger Guild / `src/VexLens/StellaOps.VexLens` | Consensus projection storage/events. | +| 25 | VEXLENS-30-007 | TODO | Depends on 30-006. | VEX Lens Guild / `src/VexLens/StellaOps.VexLens` | Consensus APIs + OpenAPI. | +| 26 | VEXLENS-30-008 | TODO | Depends on 30-007. | VEX Lens · Policy Guild / `src/VexLens/StellaOps.VexLens` | Integrate consensus with Policy Engine + Vuln Explorer. | +| 27 | VEXLENS-30-009 | TODO | Depends on 30-008. | VEX Lens · Observability Guild / `src/VexLens/StellaOps.VexLens` | Metrics/logs/traces. | +| 28 | VEXLENS-30-010 | TODO | Depends on 30-009. | VEX Lens · QA Guild / `src/VexLens/StellaOps.VexLens` | Tests + determinism harness. | +| 29 | VEXLENS-30-011 | TODO | Depends on 30-010. | VEX Lens · DevOps Guild / `src/VexLens/StellaOps.VexLens` | Deployment/runbooks/offline kit. | +| 30 | VEXLENS-AIAI-31-001 | TODO | Depends on 30-011. | VEX Lens Guild / `src/VexLens/StellaOps.VexLens` | Consensus rationale API enhancements. | +| 31 | VEXLENS-AIAI-31-002 | TODO | Depends on AIAI-31-001. | VEX Lens Guild / `src/VexLens/StellaOps.VexLens` | Caching hooks for Advisory AI. | +| 32 | VEXLENS-EXPORT-35-001 | TODO | Depends on 30-011. | VEX Lens Guild / `src/VexLens/StellaOps.VexLens` | Consensus snapshot API for mirror bundles. | +| 33 | VEXLENS-ORCH-33-001 | TODO | Depends on 30-011. | VEX Lens · Orchestrator Guild / `src/VexLens/StellaOps.VexLens` | Register consensus compute job type. | +| 34 | VEXLENS-ORCH-34-001 | TODO | Depends on ORCH-33-001. | VEX Lens Guild / `src/VexLens/StellaOps.VexLens` | Emit consensus completion events to orchestrator ledger. | +| 35 | VULN-API-29-001 | TODO | — | Vuln Explorer API Guild / `src/VulnExplorer/StellaOps.VulnExplorer.Api` | Define VulnExplorer OpenAPI spec. | +| 36 | VULN-API-29-002 | TODO | Depends on 29-001. | Vuln Explorer API Guild / `src/VulnExplorer/StellaOps.VulnExplorer.Api` | Implement list/query endpoints. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-08 | Sprint stub; awaiting upstream specs. | Planning | +| 2025-11-19 | Normalized to standard template and renamed from `SPRINT_129_policy_reasoning.md` to `SPRINT_0129_0001_0001_policy_reasoning.md`; content preserved. | Implementer | + +## Decisions & Risks +- Multiple upstream specs missing (Registry API, Risk Engine contracts, VEX consensus schema, VulnExplorer API); all tasks remain TODO until contracts land. + +## Next Checkpoints +- Publish Registry API + RiskEngine/VexLens/VulnExplorer contracts (dates TBD). diff --git a/docs/implplan/SPRINT_0131_0001_0001_scanner_surface.md b/docs/implplan/SPRINT_0131_0001_0001_scanner_surface.md index f8955b728..cc14076b6 100644 --- a/docs/implplan/SPRINT_0131_0001_0001_scanner_surface.md +++ b/docs/implplan/SPRINT_0131_0001_0001_scanner_surface.md @@ -21,21 +21,25 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | -| 1 | SCANNER-ANALYZERS-DENO-26-009 | DOING | Implement loader/trace shim per `docs/modules/scanner/design/deno-runtime-shim.md`; serializer/metadata/tests done. | Deno Analyzer Guild · Signals Guild | Optional runtime evidence hooks capturing module loads and permissions with path hashing during harnessed execution. | +| P1 | PREP-SCANNER-ANALYZERS-JAVA-21-005-TESTS-BLOC | TODO | Due 2025-11-22 · Accountable: Java Analyzer Guild | Java Analyzer Guild | Tests blocked: repo build fails in Concelier (CoreLinksets missing) and targeted Java analyzer test run stalls; retry once dependencies fixed or CI available.

Document artefact/deliverable for SCANNER-ANALYZERS-JAVA-21-005 and publish location so downstream tasks can proceed. | +| P2 | PREP-SCANNER-ANALYZERS-JAVA-21-008-WAITING-ON | TODO | Due 2025-11-22 · Accountable: Java Analyzer Guild | Java Analyzer Guild | Waiting on 21-007 completion and resolver authoring bandwidth.

Document artefact/deliverable for SCANNER-ANALYZERS-JAVA-21-008 and publish location so downstream tasks can proceed. | +| P3 | PREP-SCANNER-ANALYZERS-LANG-11-001-DOTNET-TES | TODO | Due 2025-11-22 · Accountable: StellaOps.Scanner EPDR Guild · Language Analyzer Guild | StellaOps.Scanner EPDR Guild · Language Analyzer Guild | `dotnet test` hangs/returns empty output; needs clean runner/CI diagnostics.

Document artefact/deliverable for SCANNER-ANALYZERS-LANG-11-001 and publish location so downstream tasks can proceed. | +| 1 | SCANNER-ANALYZERS-DENO-26-009 | BLOCKED (2025-11-19) | Waiting on runtime shim fixtures + CI runner; design `deno-runtime-shim.md` drafted but tests cannot run. | Deno Analyzer Guild · Signals Guild | Optional runtime evidence hooks capturing module loads and permissions with path hashing during harnessed execution. | | 2 | SCANNER-ANALYZERS-DENO-26-010 | TODO | After 26-009, wire CLI (`stella deno trace`) + Worker/Offline Kit using runtime NDJSON contract. | Deno Analyzer Guild · DevOps Guild | Package analyzer plug-in and surface CLI/worker commands with offline documentation. | | 3 | SCANNER-ANALYZERS-DENO-26-011 | TODO | Implement policy signal emitter using runtime metadata once trace shim lands. | Deno Analyzer Guild | Policy signal emitter for capabilities (net/fs/env/ffi/process/crypto), remote origins, npm usage, wasm modules, and dynamic-import warnings. | -| 4 | SCANNER-ANALYZERS-JAVA-21-005 | BLOCKED (2025-11-17) | Tests blocked: repo build fails in Concelier (CoreLinksets missing) and targeted Java analyzer test run stalls; retry once dependencies fixed or CI available. | Java Analyzer Guild | Framework config extraction: Spring Boot imports, spring.factories, application properties/yaml, Jakarta web.xml/fragments, JAX-RS/JPA/CDI/JAXB configs, logging files, Graal native-image configs. | +| 4 | SCANNER-ANALYZERS-JAVA-21-005 | BLOCKED (2025-11-17) | PREP-SCANNER-ANALYZERS-JAVA-21-005-TESTS-BLOC | Java Analyzer Guild | Framework config extraction: Spring Boot imports, spring.factories, application properties/yaml, Jakarta web.xml/fragments, JAX-RS/JPA/CDI/JAXB configs, logging files, Graal native-image configs. | | 5 | SCANNER-ANALYZERS-JAVA-21-006 | TODO | Needs outputs from 21-005. | Java Analyzer Guild | JNI/native hint scanner detecting native methods, System.load/Library literals, bundled native libs, Graal JNI configs; emit `jni-load` edges. | | 6 | SCANNER-ANALYZERS-JAVA-21-007 | TODO | After 21-006; align manifest parsing with resolver. | Java Analyzer Guild | Signature and manifest metadata collector capturing JAR signature structure, signers, and manifest loader attributes (Main-Class, Agent-Class, Start-Class, Class-Path). | -| 7 | SCANNER-ANALYZERS-JAVA-21-008 | BLOCKED (2025-10-27) | Waiting on 21-007 completion and resolver authoring bandwidth. | Java Analyzer Guild | Implement resolver + AOC writer emitting entrypoints, components, and edges (jpms, cp, spi, reflect, jni) with reason codes and confidence. | +| 7 | SCANNER-ANALYZERS-JAVA-21-008 | BLOCKED (2025-10-27) | PREP-SCANNER-ANALYZERS-JAVA-21-008-WAITING-ON | Java Analyzer Guild | Implement resolver + AOC writer emitting entrypoints, components, and edges (jpms, cp, spi, reflect, jni) with reason codes and confidence. | | 8 | SCANNER-ANALYZERS-JAVA-21-009 | TODO | Unblock when 21-008 lands; prepare fixtures in parallel where safe. | Java Analyzer Guild · QA Guild | Comprehensive fixtures (modular app, boot fat jar, war, ear, MR-jar, jlink image, JNI, reflection heavy, signed jar, microprofile) with golden outputs and perf benchmarks. | | 9 | SCANNER-ANALYZERS-JAVA-21-010 | TODO | After 21-009; requires runtime capture design. | Java Analyzer Guild · Signals Guild | Optional runtime ingestion via Java agent + JFR reader capturing class load, ServiceLoader, System.load events with path scrubbing; append-only runtime edges (`runtime-class`/`runtime-spi`/`runtime-load`). | | 10 | SCANNER-ANALYZERS-JAVA-21-011 | TODO | Depends on 21-010; finalize DI/manifest registration and docs. | Java Analyzer Guild · DevOps Guild | Package analyzer as restart-time plug-in, update Offline Kit docs, add CLI/worker hooks for Java inspection commands. | -| 11 | SCANNER-ANALYZERS-LANG-11-001 | BLOCKED (2025-11-17) | `dotnet test` hangs/returns empty output; needs clean runner/CI diagnostics. | StellaOps.Scanner EPDR Guild · Language Analyzer Guild | Entrypoint resolver mapping project/publish artifacts to entrypoint identities (assembly name, MVID, TFM, RID) and environment profiles; output normalized `entrypoints[]` with deterministic IDs. | +| 11 | SCANNER-ANALYZERS-LANG-11-001 | BLOCKED (2025-11-17) | PREP-SCANNER-ANALYZERS-LANG-11-001-DOTNET-TES | StellaOps.Scanner EPDR Guild · Language Analyzer Guild | Entrypoint resolver mapping project/publish artifacts to entrypoint identities (assembly name, MVID, TFM, RID) and environment profiles; output normalized `entrypoints[]` with deterministic IDs. | ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-17 | Normalised sprint file to standard template and renamed from `SPRINT_131_scanner_surface.md` to `SPRINT_0131_scanner_surface.md`; no semantic changes. | Planning | | 2025-11-17 | Attempted `./tools/dotnet-filter.sh test src/Scanner/StellaOps.Scanner.sln --no-restore`; build ran ~72s compiling scanner/all projects without completing tests, then aborted locally to avoid runaway build. Follow-up narrow build `dotnet build src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet/StellaOps.Scanner.Analyzers.Lang.DotNet.csproj` also stalled ~28s in target resolution before manual stop. Blocker persists; needs clean CI runner or scoped test project to finish LANG-11-001 validation. | Implementer | | 2025-11-17 | Started SCANNER-ANALYZERS-JAVA-21-005: initial framework config extraction (Spring configs, JPA/CDI/JAXB, logging, Graal native-image) implemented with evidence + metadata; added regression test scaffold. | Implementer | diff --git a/docs/implplan/SPRINT_0132_0001_0001_scanner_surface.md b/docs/implplan/SPRINT_0132_0001_0001_scanner_surface.md index 093e01a23..b36dc8813 100644 --- a/docs/implplan/SPRINT_0132_0001_0001_scanner_surface.md +++ b/docs/implplan/SPRINT_0132_0001_0001_scanner_surface.md @@ -22,12 +22,17 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | +| P1 | PREP-SCANNER-ANALYZERS-LANG-11-003-DEPENDS-ON | TODO | Due 2025-11-22 · Accountable: StellaOps.Scanner EPDR Guild; Signals Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet) | StellaOps.Scanner EPDR Guild; Signals Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet) | Depends on 11-002; blocked until upstream static analyzer available.

Document artefact/deliverable for SCANNER-ANALYZERS-LANG-11-003 and publish location so downstream tasks can proceed. | +| P2 | PREP-SCANNER-ANALYZERS-LANG-11-004-DEPENDS-ON | TODO | Due 2025-11-22 · Accountable: StellaOps.Scanner EPDR Guild; SBOM Service Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet) | StellaOps.Scanner EPDR Guild; SBOM Service Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet) | Depends on 11-003; no upstream static/runtime outputs yet.

Document artefact/deliverable for SCANNER-ANALYZERS-LANG-11-004 and publish location so downstream tasks can proceed. | +| P3 | PREP-SCANNER-ANALYZERS-LANG-11-005-DEPENDS-ON | TODO | Due 2025-11-22 · Accountable: StellaOps.Scanner EPDR Guild; QA Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet) | StellaOps.Scanner EPDR Guild; QA Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet) | Depends on 11-004; fixtures deferred until analyzer outputs exist.

Document artefact/deliverable for SCANNER-ANALYZERS-LANG-11-005 and publish location so downstream tasks can proceed. | +| P4 | PREP-SCANNER-ANALYZERS-NATIVE-20-002-AWAIT-DE | TODO | Due 2025-11-22 · Accountable: Native Analyzer Guild (src/Scanner/StellaOps.Scanner.Analyzers.Native) | Native Analyzer Guild (src/Scanner/StellaOps.Scanner.Analyzers.Native) | Await declared-dependency writer/contract to emit edges.

Document artefact/deliverable for SCANNER-ANALYZERS-NATIVE-20-002 and publish location so downstream tasks can proceed. | +| P5 | PREP-SCANNER-ANALYZERS-NODE-22-001-NEEDS-ISOL | TODO | Due 2025-11-22 · Accountable: Node Analyzer Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node) | Node Analyzer Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node) | Needs isolated runner or scoped build graph to execute targeted tests without full-solution fan-out.

Document artefact/deliverable for SCANNER-ANALYZERS-NODE-22-001 and publish location so downstream tasks can proceed. | | 1 | SCANNER-ANALYZERS-LANG-11-002 | BLOCKED | Await upstream SCANNER-ANALYZERS-LANG-11-001 design/outputs to extend static analyzer | StellaOps.Scanner EPDR Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet) | Implement static analyzer (IL + reflection heuristics) capturing AssemblyRef, ModuleRef/PInvoke, DynamicDependency, reflection literals, DI patterns, and custom AssemblyLoadContext probing hints; emit dependency edges with reason codes and confidence. | -| 2 | SCANNER-ANALYZERS-LANG-11-003 | BLOCKED | Depends on 11-002; blocked until upstream static analyzer available | StellaOps.Scanner EPDR Guild; Signals Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet) | Ingest optional runtime evidence (AssemblyLoad, Resolving, P/Invoke) via event listener harness; merge runtime edges with static/declared ones and attach reason codes/confidence. | -| 3 | SCANNER-ANALYZERS-LANG-11-004 | BLOCKED | Depends on 11-003; no upstream static/runtime outputs yet | StellaOps.Scanner EPDR Guild; SBOM Service Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet) | Produce normalized observation export to Scanner writer: entrypoints + dependency edges + environment profiles (AOC compliant); wire to SBOM service entrypoint tagging. | -| 4 | SCANNER-ANALYZERS-LANG-11-005 | BLOCKED | Depends on 11-004; fixtures deferred until analyzer outputs exist | StellaOps.Scanner EPDR Guild; QA Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet) | Add comprehensive fixtures/benchmarks covering framework-dependent, self-contained, single-file, trimmed, NativeAOT, multi-RID scenarios; include explain traces and perf benchmarks vs previous analyzer. | +| 2 | SCANNER-ANALYZERS-LANG-11-003 | BLOCKED | PREP-SCANNER-ANALYZERS-LANG-11-003-DEPENDS-ON | StellaOps.Scanner EPDR Guild; Signals Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet) | Ingest optional runtime evidence (AssemblyLoad, Resolving, P/Invoke) via event listener harness; merge runtime edges with static/declared ones and attach reason codes/confidence. | +| 3 | SCANNER-ANALYZERS-LANG-11-004 | BLOCKED | PREP-SCANNER-ANALYZERS-LANG-11-004-DEPENDS-ON | StellaOps.Scanner EPDR Guild; SBOM Service Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet) | Produce normalized observation export to Scanner writer: entrypoints + dependency edges + environment profiles (AOC compliant); wire to SBOM service entrypoint tagging. | +| 4 | SCANNER-ANALYZERS-LANG-11-005 | BLOCKED | PREP-SCANNER-ANALYZERS-LANG-11-005-DEPENDS-ON | StellaOps.Scanner EPDR Guild; QA Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.DotNet) | Add comprehensive fixtures/benchmarks covering framework-dependent, self-contained, single-file, trimmed, NativeAOT, multi-RID scenarios; include explain traces and perf benchmarks vs previous analyzer. | | 5 | SCANNER-ANALYZERS-NATIVE-20-001 | DONE (2025-11-18) | Format detector completed; ELF interpreter + build-id extraction fixed; tests passing (`dotnet test ...Native.Tests --no-build`). | Native Analyzer Guild (src/Scanner/StellaOps.Scanner.Analyzers.Native) | Implement format detector and binary identity model supporting ELF, PE/COFF, and Mach-O (including fat slices); capture arch, OS, build-id/UUID, interpreter metadata. | -| 6 | SCANNER-ANALYZERS-NATIVE-20-002 | BLOCKED | Await declared-dependency writer/contract to emit edges | Native Analyzer Guild (src/Scanner/StellaOps.Scanner.Analyzers.Native) | Parse ELF dynamic sections: `DT_NEEDED`, `DT_RPATH`, `DT_RUNPATH`, symbol versions, interpreter, and note build-id; emit declared dependency records with reason `elf-dtneeded` and attach version needs. | +| 6 | SCANNER-ANALYZERS-NATIVE-20-002 | BLOCKED | PREP-SCANNER-ANALYZERS-NATIVE-20-002-AWAIT-DE | Native Analyzer Guild (src/Scanner/StellaOps.Scanner.Analyzers.Native) | Parse ELF dynamic sections: `DT_NEEDED`, `DT_RPATH`, `DT_RUNPATH`, symbol versions, interpreter, and note build-id; emit declared dependency records with reason `elf-dtneeded` and attach version needs. | | 7 | SCANNER-ANALYZERS-NATIVE-20-003 | TODO | Depends on SCANNER-ANALYZERS-NATIVE-20-002 | Native Analyzer Guild (src/Scanner/StellaOps.Scanner.Analyzers.Native) | Parse PE imports, delay-load tables, manifests/SxS metadata, and subsystem flags; emit edges with reasons `pe-import` and `pe-delayimport`, plus SxS policy metadata. | | 8 | SCANNER-ANALYZERS-NATIVE-20-004 | TODO | Depends on SCANNER-ANALYZERS-NATIVE-20-003 | Native Analyzer Guild (src/Scanner/StellaOps.Scanner.Analyzers.Native) | Parse Mach-O load commands (`LC_LOAD_DYLIB`, `LC_REEXPORT_DYLIB`, `LC_RPATH`, `LC_UUID`, fat headers); handle `@rpath/@loader_path` placeholders and slice separation. | | 9 | SCANNER-ANALYZERS-NATIVE-20-005 | TODO | Depends on SCANNER-ANALYZERS-NATIVE-20-004 | Native Analyzer Guild (src/Scanner/StellaOps.Scanner.Analyzers.Native) | Implement resolver engine modeling loader search order for ELF (rpath/runpath/cache/default), PE (SafeDll search + SxS), and Mach-O (`@rpath` expansion); works against virtual image roots, producing explain traces. | @@ -36,9 +41,9 @@ | 12 | SCANNER-ANALYZERS-NATIVE-20-008 | TODO | Depends on SCANNER-ANALYZERS-NATIVE-20-007 | Native Analyzer Guild; QA Guild (src/Scanner/StellaOps.Scanner.Analyzers.Native) | Author cross-platform fixtures (ELF dynamic/static, PE delay-load/SxS, Mach-O @rpath, plugin configs) and determinism benchmarks (<25 ms / binary, <250 MB). | | 13 | SCANNER-ANALYZERS-NATIVE-20-009 | TODO | Depends on SCANNER-ANALYZERS-NATIVE-20-008 | Native Analyzer Guild; Signals Guild (src/Scanner/StellaOps.Scanner.Analyzers.Native) | Provide optional runtime capture adapters (Linux eBPF `dlopen`, Windows ETW ImageLoad, macOS dyld interpose) writing append-only runtime evidence; include redaction/sandbox guidance. | | 14 | SCANNER-ANALYZERS-NATIVE-20-010 | TODO | Depends on SCANNER-ANALYZERS-NATIVE-20-009 | Native Analyzer Guild; DevOps Guild (src/Scanner/StellaOps.Scanner.Analyzers.Native) | Package native analyzer as restart-time plug-in with manifest/DI registration; update Offline Kit bundle and documentation. | -| 15 | SCANNER-ANALYZERS-NODE-22-001 | BLOCKED | Needs isolated runner or scoped build graph to execute targeted tests without full-solution fan-out | Node Analyzer Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node) | Build input normalizer + VFS for Node projects: dirs, tgz, container layers, pnpm store, Yarn PnP zips; detect Node version targets (`.nvmrc`, `.node-version`, Dockerfile) and workspace roots deterministically. | +| 15 | SCANNER-ANALYZERS-NODE-22-001 | BLOCKED | PREP-SCANNER-ANALYZERS-NODE-22-001-NEEDS-ISOL | Node Analyzer Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node) | Build input normalizer + VFS for Node projects: dirs, tgz, container layers, pnpm store, Yarn PnP zips; detect Node version targets (`.nvmrc`, `.node-version`, Dockerfile) and workspace roots deterministically. | | 16 | SCANNER-ANALYZERS-NODE-22-002 | TODO | Depends on SCANNER-ANALYZERS-NODE-22-001 | Node Analyzer Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node) | Implement entrypoint discovery (bin/main/module/exports/imports, workers, electron, shebang scripts) and condition set builder per entrypoint. | -| 17 | SCANNER-ANALYZERS-NODE-22-003 | TODO | Depends on SCANNER-ANALYZERS-NODE-22-002 | Node Analyzer Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node) | Parse JS/TS sources for static `import`, `require`, `import()` and string concat cases; flag dynamic patterns with confidence levels; support source map de-bundling. | +| 17 | SCANNER-ANALYZERS-NODE-22-003 | BLOCKED (2025-11-19) | Blocked on overlay/callgraph schema alignment and test fixtures; resolver wiring pending fixture drop. | Node Analyzer Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node) | Parse JS/TS sources for static `import`, `require`, `import()` and string concat cases; flag dynamic patterns with confidence levels; support source map de-bundling. | | 18 | SCANNER-ANALYZERS-NODE-22-004 | TODO | Depends on SCANNER-ANALYZERS-NODE-22-003 | Node Analyzer Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node) | Implement Node resolver engine for CJS + ESM (core modules, exports/imports maps, conditions, extension priorities, self-references) parameterised by node_version. | | 19 | SCANNER-ANALYZERS-NODE-22-005 | TODO | Depends on SCANNER-ANALYZERS-NODE-22-004 | Node Analyzer Guild (src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node) | Add package manager adapters: Yarn PnP (.pnp.data/.pnp.cjs), pnpm virtual store, npm/Yarn classic hoists; operate entirely in virtual FS. | | 20 | AGENTS-SCANNER-00-001 | DONE | Create module-level AGENTS.md for `src/Scanner` aligned with scanner architecture docs | Project Management; Scanner Guild | Author/update Scanner AGENTS.md covering roles, required docs, allowed shared directories, determinism/testing rules; ensure implementers can work autonomously. | @@ -46,6 +51,7 @@ ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-16 | Normalised sprint file to standard template; renamed from `SPRINT_132_scanner_surface.md` to `SPRINT_0132_scanner_surface.md`; scope unchanged; added governance task for missing Scanner AGENTS.md. | Planning | | 2025-11-17 | AGENTS-SCANNER-00-001 completed; module AGENTS.md added under src/Scanner. | Implementer | | 2025-11-17 | Updated Decisions & Risks to reflect AGENTS.md completion date, fixed AGENTS.md required-reading formatting/sprint reference, and added dated checkpoints; no scope change. | Planning | @@ -59,6 +65,8 @@ | 2025-11-19 | SCANNER-ANALYZERS-NODE-22-001: Added Yarn PnP cache zip traversal with `yarnPnp` metadata plus new `yarn-pnp` fixture/test; test run aborted ~32s into restore due to contention; rerun required on clean runner. | Node Analyzer Guild | | 2025-11-18 | SCANNER-ANALYZERS-NODE-22-001: Retried `YarnPnpCachePackagesAreParsedAsync` with `--no-restore`; build fanned out across solution and was cancelled at ~66s runtime. Tests remain pending; needs clean/isolated runner or scoped build graph to finish. | Implementer | | 2025-11-18 | SCANNER-ANALYZERS-NODE-22-001: Second attempt with `/m:1 /p:UseSharedCompilation=false --no-restore` cancelled at ~15s while build was still compiling transitive projects. Still needs isolated runner or slimmer build graph to complete test. | Implementer | +| 2025-11-19 | SCANNER-ANALYZERS-NODE-22-002: Wired entrypoint discovery (bin/main/module/exports) into package metadata & evidence; full Node analyzer suite green (`--no-build`). | Implementer | +| 2025-11-19 | SCANNER-ANALYZERS-NODE-22-003: Added NodeImportEdge/Walker and attached import/require/import() edges into package metadata/evidence; `dotnet test ...Lang.Node.Tests --no-build` passing. | Implementer | | 2025-11-18 | SCANNER-ANALYZERS-LANG-11-002..005: Marked BLOCKED because upstream task 11-001 outputs/contracts are not available; dependencies in 11-003..005 cascade. No code changes made. | Implementer | ## Decisions & Risks diff --git a/docs/implplan/SPRINT_0133_0001_0001_scanner_surface.md b/docs/implplan/SPRINT_0133_0001_0001_scanner_surface.md new file mode 100644 index 000000000..5f78f228c --- /dev/null +++ b/docs/implplan/SPRINT_0133_0001_0001_scanner_surface.md @@ -0,0 +1,43 @@ +# Sprint 0133-0001-0001 · Scanner & Surface (Phase IV) + +## Topic & Scope +- Scanner & Surface phase IV: Node bundle/source-map coverage and native/WASM signal extraction. +- Maintain sequential execution across 130–139; work only after Sprint 0132 completes. +- **Working directory:** `src/Scanner`. + +## Dependencies & Concurrency +- Upstream: Sprint 0132 (Scanner & Surface phase III) must land first. +- Concurrency: tasks execute in table order; all currently TODO. + +## Documentation Prerequisites +- docs/README.md +- docs/07_HIGH_LEVEL_ARCHITECTURE.md +- docs/modules/platform/architecture-overview.md +- docs/modules/scanner/architecture.md +- src/Scanner/AGENTS.md + +## Delivery Tracker +| # | Task ID | Status | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| P1 | PREP-SCANNER-ANALYZERS-NODE-22-006-UPSTREAM-2 | TODO | Due 2025-11-22 · Accountable: Node Analyzer Guild (`src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node`) | Node Analyzer Guild (`src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node`) | Upstream 22-005 not delivered in Sprint 0132; waiting on bundle/source-map resolver baseline.

Document artefact/deliverable for SCANNER-ANALYZERS-NODE-22-006 and publish location so downstream tasks can proceed. | +| P2 | PREP-SCANNER-ANALYZERS-NODE-22-007-UPSTREAM-2 | TODO | Due 2025-11-22 · Accountable: Node Analyzer Guild | Node Analyzer Guild | Upstream 22-006 blocked.

Document artefact/deliverable for SCANNER-ANALYZERS-NODE-22-007 and publish location so downstream tasks can proceed. | +| P3 | PREP-SCANNER-ANALYZERS-NODE-22-008-UPSTREAM-2 | TODO | Due 2025-11-22 · Accountable: Node Analyzer Guild | Node Analyzer Guild | Upstream 22-007 blocked.

Document artefact/deliverable for SCANNER-ANALYZERS-NODE-22-008 and publish location so downstream tasks can proceed. | +| 1 | SCANNER-ANALYZERS-NODE-22-006 | BLOCKED (2025-11-20) | PREP-SCANNER-ANALYZERS-NODE-22-006-UPSTREAM-2 | Node Analyzer Guild (`src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node`) | Detect bundles + source maps, reconstruct module specifiers, correlate to original paths; support dual CJS/ESM graphs with conditions. | +| 2 | SCANNER-ANALYZERS-NODE-22-007 | BLOCKED (2025-11-20) | PREP-SCANNER-ANALYZERS-NODE-22-007-UPSTREAM-2 | Node Analyzer Guild | Scan for native addons (.node), WASM modules, and core capability signals (child_process, vm, worker_threads); emit hint edges and native metadata. | +| 3 | SCANNER-ANALYZERS-NODE-22-008 | BLOCKED (2025-11-20) | PREP-SCANNER-ANALYZERS-NODE-22-008-UPSTREAM-2 | Node Analyzer Guild | Produce AOC-compliant observations: entrypoints, components (pkg/native/wasm), edges (esm-import, cjs-require, exports, json, native-addon, wasm, worker) with reason codes/confidence and resolver traces. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | +| 2025-11-08 | Sprint stub created; awaiting upstream completion of Sprint 0132. | Planning | +| 2025-11-19 | Normalized sprint to standard template and renamed from `SPRINT_133_scanner_surface.md` to `SPRINT_0133_0001_0001_scanner_surface.md`; content preserved. | Implementer | +| 2025-11-19 | Converted legacy filename `SPRINT_133_scanner_surface.md` to redirect stub pointing here to avoid divergent updates. | Implementer | +| 2025-11-20 | Marked Node phase tasks 22-006/007/008 BLOCKED because upstream 22-005 (Sprint 0132) not delivered; no executable work in this sprint until 0132 unblocks. | Implementer | + +## Decisions & Risks +- All tasks depend on 22-005 outputs; remain TODO until prerequisites land. +- Maintain offline/deterministic outputs; avoid running full solution builds—prefer scoped runners per module. + +## Next Checkpoints +- Set kickoff once Sprint 0132 completes (date TBD). \ No newline at end of file diff --git a/docs/implplan/SPRINT_0134_0001_0001_scanner_surface.md b/docs/implplan/SPRINT_0134_0001_0001_scanner_surface.md new file mode 100644 index 000000000..83a40b7fe --- /dev/null +++ b/docs/implplan/SPRINT_0134_0001_0001_scanner_surface.md @@ -0,0 +1,38 @@ +# Sprint 0134-0001-0001 · Scanner & Surface (Phase V) + +## Topic & Scope +- Scanner & Surface phase V: PHP analyzer fixtures, optional runtime evidence, packaging. +- Sequential across 130–139; start after Sprint 0133 completes. +- **Working directory:** `src/Scanner`. + +## Dependencies & Concurrency +- Upstream: Sprint 0133 (phase IV) must land first. +- Concurrency: tasks currently TODO; follow table order. + +## Documentation Prerequisites +- docs/README.md +- docs/07_HIGH_LEVEL_ARCHITECTURE.md +- docs/modules/platform/architecture-overview.md +- docs/modules/scanner/architecture.md +- src/Scanner/AGENTS.md + +## Delivery Tracker +| # | Task ID | Status | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| 1 | SCANNER-ANALYZERS-PHP-27-009 | TODO | Depends on PHP analyzer core (27-007). | PHP Analyzer Guild · QA Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Php`) | Fixture suite + performance benchmarks (Laravel, Symfony, WordPress, legacy, PHAR, container) with golden outputs. | +| 2 | SCANNER-ANALYZERS-PHP-27-010 | TODO | Depends on 27-009. | PHP Analyzer Guild · Signals Guild | Optional runtime evidence hooks (audit logs/opcache stats) with path hashing. | +| 3 | SCANNER-ANALYZERS-PHP-27-011 | TODO | Depends on 27-010. | PHP Analyzer Guild · DevOps Guild | Package analyzer plug-in, add CLI `stella php inspect`, refresh Offline Kit docs. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-08 | Sprint stub created; awaiting completion of Sprint 0133. | Planning | +| 2025-11-19 | Normalized sprint to standard template and renamed from `SPRINT_134_scanner_surface.md` to `SPRINT_0134_0001_0001_scanner_surface.md`; content preserved. | Implementer | +| 2025-11-19 | Converted legacy filename `SPRINT_134_scanner_surface.md` to redirect stub pointing here to avoid divergent updates. | Implementer | + +## Decisions & Risks +- All PHP tasks depend on prior analyzer core; remain TODO until upstream tasks land. +- Maintain deterministic fixtures and offline posture. + +## Next Checkpoints +- Set kickoff after Sprint 0133 completes (date TBD). diff --git a/docs/implplan/SPRINT_0135_0001_0001_scanner_surface.md b/docs/implplan/SPRINT_0135_0001_0001_scanner_surface.md new file mode 100644 index 000000000..53dba97c4 --- /dev/null +++ b/docs/implplan/SPRINT_0135_0001_0001_scanner_surface.md @@ -0,0 +1,42 @@ +# Sprint 0135-0001-0001 · Scanner & Surface (Phase VI) + +## Topic & Scope +- Scanner & Surface phase VI: Python container/zipapp adapters and Ruby analyzer VFS/deps/runtime coverage. +- Sequential across 130–139; start after Sprint 0134. +- **Working directory:** `src/Scanner`. + +## Dependencies & Concurrency +- Upstream: Sprint 0134 (phase V) must land first. +- Concurrency: tasks are TODO; follow order below. + +## Documentation Prerequisites +- docs/README.md +- docs/07_HIGH_LEVEL_ARCHITECTURE.md +- docs/modules/platform/architecture-overview.md +- docs/modules/scanner/architecture.md +- src/Scanner/AGENTS.md + +## Delivery Tracker +| # | Task ID | Status | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| 1 | SCANNER-ANALYZERS-PYTHON-23-012 | TODO | Depends on 23-011. | Python Analyzer Guild (`src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python`) | Container/zipapp adapter enhancements: parse OCI layers for Python runtime, detect `PYTHONPATH`/`PYTHONHOME`, warn on sitecustomize/startup hooks. | +| 2 | SCANNER-ANALYZERS-RUBY-28-001 | TODO | — | Ruby Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Ruby`) | Input normalizer & VFS for Ruby projects: merge sources, Gemfile/lock, vendor/bundle, .gem archives, `.bundle/config`, Rack configs, containers; detect framework/job fingerprints deterministically. | +| 3 | SCANNER-ANALYZERS-RUBY-28-002 | TODO | Depends on 28-001. | Ruby Analyzer Guild | Gem & Bundler analyzer: parse Gemfile/lock, vendor specs, .gem archives; produce package nodes (PURLs), dependency edges, and resolver traces. | +| 4 | SCANNER-ANALYZERS-RUBY-28-003 | TODO | Depends on 28-002. | Ruby Analyzer Guild · SBOM Guild | Produce AOC-compliant observations (entrypoints, components, edges) plus environment profiles; integrate with Scanner writer. | +| 5 | SCANNER-ANALYZERS-RUBY-28-004 | TODO | Depends on 28-003. | Ruby Analyzer Guild · QA Guild | Fixtures/benchmarks for Ruby analyzer across Bundler/Rails/Sidekiq/CLI gems; determinism/perf targets. | +| 6 | SCANNER-ANALYZERS-RUBY-28-005 | TODO | Depends on 28-004. | Ruby Analyzer Guild · Signals Guild | Optional runtime capture (tracepoint) hooks with append-only evidence, redaction, and sandbox guidance. | +| 7 | SCANNER-ANALYZERS-RUBY-28-006 | TODO | Depends on 28-005. | Ruby Analyzer Guild · DevOps Guild | Package Ruby analyzer plug-in, add CLI/worker hooks, update Offline Kit docs. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-08 | Sprint stub created; awaiting completion of Sprint 0134. | Planning | +| 2025-11-19 | Normalized sprint to standard template and renamed from `SPRINT_135_scanner_surface.md` to `SPRINT_0135_0001_0001_scanner_surface.md`; content preserved. | Implementer | +| 2025-11-19 | Converted legacy filename `SPRINT_135_scanner_surface.md` to redirect stub pointing here to avoid divergent updates. | Implementer | + +## Decisions & Risks +- Ruby and Python tasks depend on prior phases; all remain TODO until upstream tasks land. +- Maintain offline/deterministic execution and fixtures. + +## Next Checkpoints +- Set kickoff after Sprint 0134 completes (date TBD). diff --git a/docs/implplan/SPRINT_0136_0001_0001_scanner_surface.md b/docs/implplan/SPRINT_0136_0001_0001_scanner_surface.md new file mode 100644 index 000000000..5bd9165ae --- /dev/null +++ b/docs/implplan/SPRINT_0136_0001_0001_scanner_surface.md @@ -0,0 +1,37 @@ +# Sprint 0136-0001-0001 · Scanner & Surface (Phase VII) + +## Topic & Scope +- Scanner & Surface phase VII: EntryTrace NDJSON export, process-tree replay, and surface/CLI integration. +- Sequential across 130–139; start after Sprint 0135. +- **Working directory:** `src/Scanner`. + +## Dependencies & Concurrency +- Upstream: Sprint 0135 (phase VI) must land first. +- Concurrency: tasks are TODO; follow order below. + +## Documentation Prerequisites +- docs/README.md +- docs/07_HIGH_LEVEL_ARCHITECTURE.md +- docs/modules/platform/architecture-overview.md +- docs/modules/scanner/architecture.md +- src/Scanner/AGENTS.md + +## Delivery Tracker +| # | Task ID | Status | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| 1 | SCANNER-ENTRYTRACE-18-504 | TODO | Depends on 18-503. | EntryTrace Guild (`src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace`) | Emit EntryTrace AOC NDJSON (`entrytrace.entry/node/edge/target/warning/capability`) and wire CLI/service streaming outputs. | +| 2 | SCANNER-ENTRYTRACE-18-505 | TODO | Depends on 18-504. | EntryTrace Guild | Implement ProcGraph replay to reconcile `/proc` exec chains with static EntryTrace, collapsing wrappers and emitting agreement/conflict diagnostics. | +| 3 | SCANNER-ENTRYTRACE-18-506 | TODO | Depends on 18-505. | EntryTrace Guild · Scanner WebService Guild | Surface EntryTrace graph + confidence via Scanner.WebService and CLI, including target summary in scan reports and policy payloads. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-08 | Sprint stub created; awaiting completion of Sprint 0135. | Planning | +| 2025-11-19 | Normalized sprint to standard template and renamed from `SPRINT_136_scanner_surface.md` to `SPRINT_0136_0001_0001_scanner_surface.md`; content preserved. | Implementer | +| 2025-11-19 | Converted legacy filename `SPRINT_136_scanner_surface.md` to redirect stub pointing here to avoid divergent updates. | Implementer | + +## Decisions & Risks +- EntryTrace export and replay depend on upstream 18-503 and accurate `/proc` capture; maintain deterministic ordering. + +## Next Checkpoints +- Schedule kickoff after Sprint 0135 completion (date TBD). diff --git a/docs/implplan/SPRINT_0138_0000_0001_scanner_ruby_parity.md b/docs/implplan/SPRINT_0138_0000_0001_scanner_ruby_parity.md index b556dcb5f..f811a6e7e 100644 --- a/docs/implplan/SPRINT_0138_0000_0001_scanner_ruby_parity.md +++ b/docs/implplan/SPRINT_0138_0000_0001_scanner_ruby_parity.md @@ -19,13 +19,18 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | +| P1 | PREP-SCANNER-ENG-0010-AWAIT-COMPOSER-AUTOLOAD | BLOCKED | Due 2025-11-22 · Accountable: PHP Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Php`) | PHP Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Php`) | Await composer/autoload graph design + staffing; no PHP analyzer scaffolding exists yet.

Document artefact/deliverable for SCANNER-ENG-0010 and publish location so downstream tasks can proceed. | +| P2 | PREP-SCANNER-ENG-0011-NEEDS-DENO-RUNTIME-ANAL | BLOCKED | Due 2025-11-22 · Accountable: Language Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Deno`) | Language Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Deno`) | Needs Deno runtime analyzer scope + lockfile/import graph design; pending competitive review.

Document artefact/deliverable for SCANNER-ENG-0011 and publish location so downstream tasks can proceed. | +| P3 | PREP-SCANNER-ENG-0012-DEFINE-DART-ANALYZER-RE | BLOCKED | Due 2025-11-22 · Accountable: Language Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Dart`) | Language Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Dart`) | Define Dart analyzer requirements (pubspec parsing, AOT artifacts) and split into tasks.

Document artefact/deliverable for SCANNER-ENG-0012 and publish location so downstream tasks can proceed. | +| P4 | PREP-SCANNER-ENG-0013-DRAFT-SWIFTPM-COVERAGE | BLOCKED | Due 2025-11-22 · Accountable: Swift Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Native`) | Swift Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Native`) | Draft SwiftPM coverage plan; align policy hooks; awaiting design kick-off.

Document artefact/deliverable for SCANNER-ENG-0013 and publish location so downstream tasks can proceed. | +| P5 | PREP-SCANNER-ENG-0014-NEEDS-JOINT-ROADMAP-WIT | BLOCKED | Due 2025-11-22 · Accountable: Runtime Guild, Zastava Guild (`docs/modules/scanner`) | Runtime Guild, Zastava Guild (`docs/modules/scanner`) | Needs joint roadmap with Zastava/Runtime guilds for Kubernetes/VM alignment.

Document artefact/deliverable for SCANNER-ENG-0014 and publish location so downstream tasks can proceed. | | 1 | SCANNER-ENG-0008 | DONE (2025-11-16) | Cadence documented; quarterly review workflow published for EntryTrace heuristics. | EntryTrace Guild, QA Guild (`src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace`) | Maintain EntryTrace heuristic cadence per `docs/benchmarks/scanner/scanning-gaps-stella-misses-from-competitors.md`, including explain-trace updates. | | 2 | SCANNER-ENG-0009 | DONE (2025-11-13) | Release handoff to Sprint 0139 consumers; monitor Mongo-backed inventory rollout. | Ruby Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Ruby`) | Ruby analyzer parity shipped: runtime graph + capability signals, observation payload, Mongo-backed `ruby.packages` inventory, CLI/WebService surfaces, and plugin manifest bundles for Worker loadout. | -| 3 | SCANNER-ENG-0010 | BLOCKED | Await composer/autoload graph design + staffing; no PHP analyzer scaffolding exists yet. | PHP Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Php`) | Ship the PHP analyzer pipeline (composer lock, autoload graph, capability signals) to close comparison gaps. | -| 4 | SCANNER-ENG-0011 | BLOCKED | Needs Deno runtime analyzer scope + lockfile/import graph design; pending competitive review. | Language Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Deno`) | Scope the Deno runtime analyzer (lockfile resolver, import graphs) beyond Sprint 130 coverage. | -| 5 | SCANNER-ENG-0012 | BLOCKED | Define Dart analyzer requirements (pubspec parsing, AOT artifacts) and split into tasks. | Language Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Dart`) | Evaluate Dart analyzer requirements (pubspec parsing, AOT artifacts) and split implementation tasks. | -| 6 | SCANNER-ENG-0013 | BLOCKED | Draft SwiftPM coverage plan; align policy hooks; awaiting design kick-off. | Swift Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Native`) | Plan Swift Package Manager coverage (Package.resolved, xcframeworks, runtime hints) with policy hooks. | -| 7 | SCANNER-ENG-0014 | BLOCKED | Needs joint roadmap with Zastava/Runtime guilds for Kubernetes/VM alignment. | Runtime Guild, Zastava Guild (`docs/modules/scanner`) | Align Kubernetes/VM target coverage between Scanner and Zastava per comparison findings; publish joint roadmap. | +| 3 | SCANNER-ENG-0010 | BLOCKED | PREP-SCANNER-ENG-0010-AWAIT-COMPOSER-AUTOLOAD | PHP Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Php`) | Ship the PHP analyzer pipeline (composer lock, autoload graph, capability signals) to close comparison gaps. | +| 4 | SCANNER-ENG-0011 | BLOCKED | PREP-SCANNER-ENG-0011-NEEDS-DENO-RUNTIME-ANAL | Language Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Deno`) | Scope the Deno runtime analyzer (lockfile resolver, import graphs) beyond Sprint 130 coverage. | +| 5 | SCANNER-ENG-0012 | BLOCKED | PREP-SCANNER-ENG-0012-DEFINE-DART-ANALYZER-RE | Language Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Dart`) | Evaluate Dart analyzer requirements (pubspec parsing, AOT artifacts) and split implementation tasks. | +| 6 | SCANNER-ENG-0013 | BLOCKED | PREP-SCANNER-ENG-0013-DRAFT-SWIFTPM-COVERAGE | Swift Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Native`) | Plan Swift Package Manager coverage (Package.resolved, xcframeworks, runtime hints) with policy hooks. | +| 7 | SCANNER-ENG-0014 | BLOCKED | PREP-SCANNER-ENG-0014-NEEDS-JOINT-ROADMAP-WIT | Runtime Guild, Zastava Guild (`docs/modules/scanner`) | Align Kubernetes/VM target coverage between Scanner and Zastava per comparison findings; publish joint roadmap. | | 8 | SCANNER-ENG-0015 | DONE (2025-11-13) | Ready for Ops training; track adoption metrics. | Export Center Guild, Scanner Guild (`docs/modules/scanner`) | DSSE/Rekor operator playbook published with config/env tables, rollout phases, offline verification, and SLA/alert guidance. | | 9 | SCANNER-ENG-0016 | DONE (2025-11-10) | Monitor bundler override edge cases; keep fixtures deterministic. | Ruby Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Ruby`) | RubyLockCollector and vendor ingestion finalized: Bundler overrides honoured, workspace lockfiles merged, vendor bundles normalised, deterministic fixtures added. | | 10 | SCANNER-ENG-0017 | DONE (2025-11-09) | Keep tree-sitter Ruby grammar pinned; reuse EntryTrace hints for regressions. | Ruby Analyzer Guild (`src/Scanner/StellaOps.Scanner.Analyzers.Lang.Ruby`) | Build runtime require/autoload graph builder with tree-sitter Ruby per design §4.4 and integrate EntryTrace hints. | @@ -38,6 +43,9 @@ ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Removed trailing hyphen from PREP-SCANNER-ENG-0013-DRAFT-SWIFTPM-COVERAGE so SCANNER-ENG-0013 dependency resolves. | Project Mgmt | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | +| 2025-11-19 | Marked PREP tasks P1–P5 BLOCKED pending composer/Deno/Dart/SwiftPM design contracts and Zastava/Runtime roadmap; downstream SCANNER-ENG-0010..0014 remain gated. | Project Mgmt | | 2025-11-09 | `SCANNER-CLI-0001`: Spectre table wrapping fix for runtime/lockfile columns; expanded Ruby resolve JSON assertions; removed debug artifacts; docs/tests pending final merge. | CLI Guild | | 2025-11-09 | `SCANNER-CLI-0001`: Wired `stellaops-cli ruby inspect|resolve` into `CommandFactory` with `--root`, `--image/--scan-id`, `--format`; `dotnet test ... --filter Ruby` passes. | CLI Guild | | 2025-11-09 | `SCANNER-CLI-0001`: Added CLI unit tests (CommandFactoryTests, Ruby inspect JSON assertions) to guard new verbs and runtime metadata output. | CLI Guild | diff --git a/docs/implplan/SPRINT_0140_0001_0001_runtime_signals.md b/docs/implplan/SPRINT_0140_0001_0001_runtime_signals.md index 8ac12a570..dad49fb0d 100644 --- a/docs/implplan/SPRINT_0140_0001_0001_runtime_signals.md +++ b/docs/implplan/SPRINT_0140_0001_0001_runtime_signals.md @@ -24,14 +24,18 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | -| 1 | 140.A Graph wave | DOING | Executing against scanner surface mock bundle v1; awaiting real cache ETA from Sprint 130.A for parity validation. | Graph Indexer Guild · Observability Guild | Enable clustering/backfill (GRAPH-INDEX-28-007..010) against mock bundle; update once cache ETA is published. | +| P1 | PREP-140-D-ZASTAVA-WAVE-WAITING-ON-SURFACE-FS | TODO | Due 2025-11-22 · Accountable: Zastava Observer/Webhook Guilds · Surface Guild | Zastava Observer/Webhook Guilds · Surface Guild | Waiting on Surface.FS cache drop plan + Surface.Env helper ownership.

Document artefact/deliverable for 140.D Zastava wave and publish location so downstream tasks can proceed. | +| P2 | PREP-SBOM-SERVICE-GUILD-CARTOGRAPHER-GUILD-OB | TODO | Due 2025-11-22 · Accountable: Projection schema frozen but fixtures and AirGap review are overdue; SBOM-SERVICE-21-001..004 cannot start until fixtures drop. | Projection schema frozen but fixtures and AirGap review are overdue; SBOM-SERVICE-21-001..004 cannot start until fixtures drop. | BLOCKED.

Document artefact/deliverable for SBOM Service Guild · Cartographer Guild · Observability Guild, Zastava Observer/Webhook Guilds · Security Guild and publish location so downstream tasks can proceed. | +| 1 | 140.A Graph wave | BLOCKED (2025-11-19) | Await real scanner cache ETA; working off mock bundle only. | Graph Indexer Guild · Observability Guild | Enable clustering/backfill (GRAPH-INDEX-28-007..010) against mock bundle; revalidate once real cache lands. | | 2 | 140.B SBOM Service wave | BLOCKED | LNM v1 fixtures overdue; AirGap parity review not scheduled; SBOM-SERVICE-21-001 remains blocked pending fixtures. | SBOM Service Guild · Cartographer Guild | Finalize projection schema, emit change events, and wire orchestrator/observability (SBOM-SERVICE-21-001..004, SBOM-AIAI-31-001/002). | -| 3 | 140.C Signals wave | DOING | CAS promotion + signed manifest rollout; provenance appendix + runtime backfill before scoring. | Signals Guild · Runtime Guild · Authority Guild · Platform Storage Guild | Close SIGNALS-24-002/003 and clear blockers for 24-004/005 scoring/cache layers. | -| 4 | 140.D Zastava wave | BLOCKED | Waiting on Surface.FS cache drop plan + Surface.Env helper ownership. | Zastava Observer/Webhook Guilds · Surface Guild | Prepare env/secret helpers and admission hooks; start once cache endpoints and helpers are published. | +| 3 | 140.C Signals wave | BLOCKED (2025-11-20) | CAS promotion + signed manifests + provenance appendix pending; SIGNALS-24-002/003 blocked upstream. TRACTORS: see `docs/signals/cas-promotion-24-002.md` and `docs/signals/provenance-24-003.md`. | Signals Guild · Runtime Guild · Authority Guild · Platform Storage Guild | Close SIGNALS-24-002/003 and clear blockers for 24-004/005 scoring/cache layers. | +| 4 | 140.D Zastava wave | BLOCKED | PREP-140-D-ZASTAVA-WAVE-WAITING-ON-SURFACE-FS | Zastava Observer/Webhook Guilds · Surface Guild | Prepare env/secret helpers and admission hooks; start once cache endpoints and helpers are published. | ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-20 | Marked SIGNALS-24-002/003 as BLOCKED pending Platform Storage + provenance approvals; linked CAS/provenance checklists in blockers. | Implementer | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-18 | Marked SBOM wave BLOCKED pending overdue LNM fixtures and AirGap review scheduling; status mirrored to tasks-all/blocked-all. | Planning | | 2025-11-18 | Added cache parity checklist (Graph) and CAS/provenance close-out checklist (Signals); mock bundle execution ongoing; fixed cross-sprint references to padded SPRINT IDs. | Planning | | 2025-11-18 | Started Graph wave execution on scanner surface mock bundle v1; tracking cache ETA for parity validation. | Planning | @@ -79,16 +83,16 @@ This file now only tracks the runtime & signals status snapshot. Active backlog | Wave | Guild owners | Shared prerequisites | Status | Notes | | --- | --- | --- | --- | --- | -| 140.A Graph | Graph Indexer Guild · Observability Guild | Sprint 120.A – AirGap; Sprint 130.A – Scanner (phase I tracked under `docs/implplan/SPRINT_130_scanner_surface.md`) | DOING | Executing on scanner surface mock bundle v1; real cache ETA still required for parity validation and to flip to real inputs. | -| 140.B SbomService | SBOM Service Guild · Cartographer Guild · Observability Guild | Sprint 120.A – AirGap; Sprint 130.A – Scanner | BLOCKED | Projection schema frozen but fixtures and AirGap review are overdue; SBOM-SERVICE-21-001..004 cannot start until fixtures drop. | -| 140.C Signals | Signals Guild · Authority Guild (for scopes) · Runtime Guild | Sprint 120.A – AirGap; Sprint 130.A – Scanner | DOING (red) | CAS checklist + provenance appendix overdue; callgraph retrieval live but artifacts not trusted until CAS/signing lands. | -| 140.D Zastava | Zastava Observer/Webhook Guilds · Security Guild | Sprint 120.A – AirGap; Sprint 130.A – Scanner | BLOCKED | Surface.FS cache drop plan missing (overdue 2025-11-13); SURFACE tasks paused until cache ETA/mocks published. | +| 140.A Graph | Graph Indexer Guild · Observability Guild | Sprint 120.A – AirGap; Sprint 130.A – Scanner (phase I tracked under `docs/implplan/SPRINT_130_scanner_surface.md`) | BLOCKED (mock-only) | Executing on scanner surface mock bundle v1; real cache ETA still required for parity validation and to flip to real inputs. | +| 140.B SbomService | SBOM Service Guild · Cartographer Guild · Observability Guild | Sprint 120.A – AirGap; Sprint 130.A – Scanner | PREP-SBOM-SERVICE-GUILD-CARTOGRAPHER-GUILD-OB | Projection schema frozen but fixtures and AirGap review are overdue; SBOM-SERVICE-21-001..004 cannot start until fixtures drop. | +| 140.C Signals | Signals Guild · Authority Guild (for scopes) · Runtime Guild | Sprint 120.A – AirGap; Sprint 130.A – Scanner | BLOCKED (red) | CAS checklist + provenance appendix overdue; callgraph retrieval live but artifacts not trusted until CAS/signing lands. | +| 140.D Zastava | Zastava Observer/Webhook Guilds · Security Guild | Sprint 120.A – AirGap; Sprint 130.A – Scanner | PREP-SBOM-SERVICE-GUILD-CARTOGRAPHER-GUILD-OB | Surface.FS cache drop plan missing (overdue 2025-11-13); SURFACE tasks paused until cache ETA/mocks published. | # Status snapshot (2025-11-18) -- **140.A Graph** – DOING on scanner surface mock bundle v1 (decision 2025-11-17); real cache ETA still required but no longer blocks coding/fixtures; will revalidate outputs when caches land. +- **140.A Graph** – BLOCKED on real cache delivery; running only on scanner surface mock bundle v1 pending cache ETA/hash. - **140.B SbomService** – BLOCKED: LNM v1 fixtures are overdue (due 2025-11-18) and AirGap parity review is not scheduled; SBOM-SERVICE-21-001 cannot start until fixtures drop (21-002..004 follow). -- **140.C Signals** – SIGNALS-24-001 shipped on 2025-11-09; SIGNALS-24-002 is RED/BLOCKED with CAS promotion + signed manifest tooling pending; SIGNALS-24-003 is DOING but awaits provenance appendix and runtime feed reconciliation. Scoring/cache work (SIGNALS-24-004/005) stays BLOCKED until CAS/provenance and runtime uploads stabilize. +- **140.C Signals** – SIGNALS-24-001 shipped on 2025-11-09; SIGNALS-24-002 and SIGNALS-24-003 are BLOCKED with CAS promotion + provenance appendix pending. Scoring/cache work (SIGNALS-24-004/005) stays BLOCKED until CAS/provenance and runtime uploads stabilize. - **140.D Zastava** – ZASTAVA-ENV/SECRETS/SURFACE tracks are BLOCKED because Surface.FS cache outputs from Scanner are still unavailable; guilds continue prepping Surface.Env helper adoption and sealed-mode scaffolding while caches are pending. ## Wave task tracker (refreshed 2025-11-18) @@ -97,7 +101,7 @@ This file now only tracks the runtime & signals status snapshot. Active backlog | Task ID | State | Notes | | --- | --- | --- | -| GRAPH-INDEX-28-007 | DOING | Running on scanner surface mock bundle v1; will revalidate once real cache ETA publishes. | +| GRAPH-INDEX-28-007 | BLOCKED | Waiting on real scanner cache ETA; mock bundle only. | | GRAPH-INDEX-28-008 | BLOCKED-w/escalation | Incremental update/backfill pipeline depends on 28-007 artifacts; retry/backoff plumbing sketched but blocked. | | GRAPH-INDEX-28-009 | BLOCKED-w/escalation | Test/fixture/chaos coverage waits on earlier jobs to exist so determinism checks have data. | | GRAPH-INDEX-28-010 | BLOCKED-w/escalation | Packaging/offline bundles paused until upstream graph jobs are available to embed. | @@ -127,8 +131,8 @@ This file now only tracks the runtime & signals status snapshot. Active backlog | Task ID | State | Notes | | --- | --- | --- | | SIGNALS-24-001 | DONE (2025-11-09) | Host skeleton, RBAC, sealed-mode readiness, `/signals/facts/{subject}` retrieval, and readiness probes merged; serves as base for downstream ingestion. | -| SIGNALS-24-002 | DOING (2025-11-07) | Callgraph ingestion + retrieval APIs are live, but CAS promotion and signed manifest publication remain; cannot close until reachability jobs can trust stored graphs. | -| SIGNALS-24-003 | DOING (2025-11-09) | Runtime facts ingestion accepts JSON/NDJSON and gzip streams; provenance/context enrichment and NDJSON-to-AOC wiring still outstanding. | +| SIGNALS-24-002 | BLOCKED (2025-11-19) | Callgraph ingestion + retrieval APIs are live, but CAS promotion and signed manifest publication remain; cannot close until reachability jobs can trust stored graphs. | +| SIGNALS-24-003 | BLOCKED (2025-11-19) | Runtime facts ingestion accepts JSON/NDJSON and gzip streams; provenance/context enrichment and NDJSON-to-AOC wiring still outstanding. | | SIGNALS-24-004 | BLOCKED (2025-10-27) | Reachability scoring waits on complete ingestion feeds (24-002/003) plus Authority scope validation. | | SIGNALS-24-005 | BLOCKED (2025-10-27) | Cache + `signals.fact.updated` events depend on scoring outputs; remains idle until 24-004 unblocks. | @@ -215,8 +219,8 @@ This file now only tracks the runtime & signals status snapshot. Active backlog | Deliverable | Target date | Status | Dependencies / notes | | --- | --- | --- | --- | -| SIGNALS-24-002 CAS promotion + signed manifests | 2025-11-14 | DOING | Needs Platform Storage sign-off from 2025-11-13 review; alerts/runbooks drafted. | -| SIGNALS-24-003 provenance enrichment + backfill | 2025-11-15 | DOING | Waiting on Runtime/Authority schema freeze + scope fixtures; NDJSON ingestion landed. | +| SIGNALS-24-002 CAS promotion + signed manifests | 2025-11-14 | BLOCKED | Waiting on Platform Storage approval; CAS checklist published (`docs/signals/cas-promotion-24-002.md`). | +| SIGNALS-24-003 provenance enrichment + backfill | 2025-11-15 | BLOCKED | Await provenance appendix freeze/approval; checklist published (`docs/signals/provenance-24-003.md`). | | Scanner analyzer artifact ETA & cache drop plan | 2025-11-13 | TODO | Scanner to publish Sprint 130 surface roadmap; Graph/Zastava blocked until then. | | Concelier Link-Not-Merge schema ratified | 2025-11-14 | BLOCKED | Requires `CONCELIER-GRAPH-21-001` + `CARTO-GRAPH-21-002` agreement; AirGap review scheduled after sign-off. | | Surface.Env helper adoption checklist | 2025-11-15 | TODO | Zastava guild preparing sealed-mode test harness; depends on Surface guild office hours outcomes. | diff --git a/docs/implplan/SPRINT_0141_0001_0001_graph_indexer.md b/docs/implplan/SPRINT_0141_0001_0001_graph_indexer.md index 9a3bddb34..f54b835a9 100644 --- a/docs/implplan/SPRINT_0141_0001_0001_graph_indexer.md +++ b/docs/implplan/SPRINT_0141_0001_0001_graph_indexer.md @@ -21,14 +21,21 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | -| 1 | GRAPH-INDEX-28-007 | BLOCKED | Waiting on GRAPH-INDEX-28-006 overlays + schedule config design | Graph Indexer Guild · Observability Guild | Implement clustering/centrality background jobs (Louvain/degree/betweenness approximations) with configurable schedules; persist cluster ids on nodes; expose metrics. | -| 2 | GRAPH-INDEX-28-008 | BLOCKED | Unblock after 28-007; confirm change streams + retry/backoff settings | Graph Indexer Guild | Provide incremental update & backfill pipeline with change streams, retry/backoff, idempotent ops, backlog metrics. | -| 3 | GRAPH-INDEX-28-009 | BLOCKED | Downstream of 28-008 data paths | Graph Indexer Guild · QA Guild | Add unit/property/integration tests, synthetic large-graph fixtures, chaos tests (missing overlays, cycles), determinism checks across runs. | -| 4 | GRAPH-INDEX-28-010 | BLOCKED | Needs outputs from 28-009; align with Offline Kit owners | Graph Indexer Guild · DevOps Guild | Package deployment artefacts (Helm/Compose), offline seed bundles, configuration docs; integrate Offline Kit. | +| P0 | PREP-GRAPH-INDEX-28-006-OVERLAYS | BLOCKED | Due 2025-11-22 · Accountable: Graph Indexer Guild · Observability Guild | Graph Indexer Guild · Observability Guild | Deliver baseline overlays + schedule config design for GRAPH-INDEX-28-006; publish mock bundle + config docs so 28-007 can start. | +| P1 | PREP-GRAPH-INDEX-28-008-UNBLOCK-AFTER-28-007 | BLOCKED | Due 2025-11-22 · Accountable: Graph Indexer Guild | Graph Indexer Guild | Unblock after 28-007; confirm change streams + retry/backoff settings.

Document artefact/deliverable for GRAPH-INDEX-28-008 and publish location so downstream tasks can proceed. | +| P2 | PREP-GRAPH-INDEX-28-009-DOWNSTREAM-OF-28-008 | BLOCKED | Due 2025-11-22 · Accountable: Graph Indexer Guild · QA Guild | Graph Indexer Guild · QA Guild | Downstream of 28-008 data paths.

Document artefact/deliverable for GRAPH-INDEX-28-009 and publish location so downstream tasks can proceed. | +| P3 | PREP-GRAPH-INDEX-28-010-NEEDS-OUTPUTS-FROM-28 | BLOCKED | Due 2025-11-22 · Accountable: Graph Indexer Guild · DevOps Guild | Graph Indexer Guild · DevOps Guild | Needs outputs from 28-009; align with Offline Kit owners.

Document artefact/deliverable for GRAPH-INDEX-28-010 and publish location so downstream tasks can proceed. | +| 1 | GRAPH-INDEX-28-007 | BLOCKED | PREP-GRAPH-INDEX-28-006-OVERLAYS | Graph Indexer Guild · Observability Guild | Implement clustering/centrality background jobs (Louvain/degree/betweenness approximations) with configurable schedules; persist cluster ids on nodes; expose metrics. | +| 2 | GRAPH-INDEX-28-008 | BLOCKED | PREP-GRAPH-INDEX-28-008-UNBLOCK-AFTER-28-007 | Graph Indexer Guild | Provide incremental update & backfill pipeline with change streams, retry/backoff, idempotent ops, backlog metrics. | +| 3 | GRAPH-INDEX-28-009 | BLOCKED | PREP-GRAPH-INDEX-28-009-DOWNSTREAM-OF-28-008 | Graph Indexer Guild · QA Guild | Add unit/property/integration tests, synthetic large-graph fixtures, chaos tests (missing overlays, cycles), determinism checks across runs. | +| 4 | GRAPH-INDEX-28-010 | BLOCKED | PREP-GRAPH-INDEX-28-010-NEEDS-OUTPUTS-FROM-28 | Graph Indexer Guild · DevOps Guild | Package deployment artefacts (Helm/Compose), offline seed bundles, configuration docs; integrate Offline Kit. | ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Added PREP-GRAPH-INDEX-28-006-OVERLAYS and normalized PREP IDs for 28-008/009 so dependency graph is concrete. | Project Mgmt | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | +| 2025-11-19 | Marked PREP tasks P0–P3 BLOCKED; overlays/mock bundle and change-stream/backfill configs are still missing, so GRAPH-INDEX-28-007..010 stay gated. | Project Mgmt | | 2025-11-17 | Marked tasks 28-007 through 28-010 as BLOCKED pending upstream 28-006 overlays and scanner cache availability. | Planning | | 2025-11-17 | Normalised sprint to standard template; renamed from SPRINT_141_graph.md; scope unchanged. | Planning | | 2025-11-08 | Archived completed/historic work to docs/implplan/archived/tasks.md. | Planning | diff --git a/docs/implplan/SPRINT_0142_0001_0001_sbomservice.md b/docs/implplan/SPRINT_0142_0001_0001_sbomservice.md index 98c1914de..2eba1d93e 100644 --- a/docs/implplan/SPRINT_0142_0001_0001_sbomservice.md +++ b/docs/implplan/SPRINT_0142_0001_0001_sbomservice.md @@ -19,14 +19,17 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | +| P1 | PREP-SBOM-CONSOLE-23-001-BUILD-TEST-FAILING-D | TODO | Due 2025-11-22 · Accountable: SBOM Service Guild; Cartographer Guild | SBOM Service Guild; Cartographer Guild | Build/test failing due to missing NuGet feed; need feed/offline cache before wiring storage and validating `/console/sboms`.

Document artefact/deliverable for SBOM-CONSOLE-23-001 and publish location so downstream tasks can proceed. | +| P2 | PREP-SBOM-SERVICE-21-001-WAITING-ON-LNM-V1-FI | TODO | Due 2025-11-22 · Accountable: SBOM Service Guild; Cartographer Guild | SBOM Service Guild; Cartographer Guild | Waiting on LNM v1 fixtures (due 2025-11-18 UTC) to freeze schema; then publish normalized SBOM projection read API with pagination + tenant enforcement.

Document artefact/deliverable for SBOM-SERVICE-21-001 and publish location so downstream tasks can proceed. | +| P3 | PREP-BUILD-INFRA-SBOM-SERVICE-GUILD-BLOCKED-M | TODO | Due 2025-11-22 · Accountable: Planning | Planning | BLOCKED (multiple restore attempts still hang/fail; need vetted feed/cache).

Document artefact/deliverable for Build/Infra · SBOM Service Guild and publish location so downstream tasks can proceed. | | 1 | SBOM-AIAI-31-001 | DONE | Implemented `/sbom/paths` with env/blast-radius/runtime flags + cursor paging and `/sbom/versions` timeline; in-memory deterministic seed until storage wired. | SBOM Service Guild (src/SbomService/StellaOps.SbomService) | Provide path and version timeline endpoints optimised for Advisory AI. | | 2 | SBOM-AIAI-31-002 | DONE | Metrics + cache-hit tagging implemented; Grafana starter dashboard added; build/test completed locally. | SBOM Service Guild; Observability Guild | Instrument metrics for path/timeline queries and surface dashboards. | -| 3 | SBOM-CONSOLE-23-001 | BLOCKED | Build/test failing due to missing NuGet feed; need feed/offline cache before wiring storage and validating `/console/sboms`. | SBOM Service Guild; Cartographer Guild | Provide Console-focused SBOM catalog API. | -| 4 | SBOM-CONSOLE-23-002 | DOING | Stub component lookup (`/components/lookup`) implemented with repo abstraction, caching, pagination; validated via tests; storage wiring pending. | SBOM Service Guild | Deliver component lookup endpoints for search and overlays. | +| 3 | SBOM-CONSOLE-23-001 | BLOCKED | PREP-SBOM-CONSOLE-23-001-BUILD-TEST-FAILING-D | SBOM Service Guild; Cartographer Guild | Provide Console-focused SBOM catalog API. | +| 4 | SBOM-CONSOLE-23-002 | BLOCKED | Stub implemented; blocked on storage wiring and console schema approval. | SBOM Service Guild | Deliver component lookup endpoints for search and overlays. | | 5 | SBOM-ORCH-32-001 | TODO | Register SBOM ingest/index sources; embed worker SDK; emit artifact hashes and job metadata. | SBOM Service Guild | Register SBOM ingest/index sources with orchestrator. | | 6 | SBOM-ORCH-33-001 | TODO | Depends on SBOM-ORCH-32-001; report backpressure metrics, honor pause/throttle signals, classify sbom job errors. | SBOM Service Guild | Report backpressure metrics and handle orchestrator control signals. | | 7 | SBOM-ORCH-34-001 | TODO | Depends on SBOM-ORCH-33-001; implement orchestrator backfill and watermark reconciliation for idempotent artifact reuse. | SBOM Service Guild | Implement orchestrator backfill + watermark reconciliation. | -| 8 | SBOM-SERVICE-21-001 | BLOCKED | Waiting on LNM v1 fixtures (due 2025-11-18 UTC) to freeze schema; then publish normalized SBOM projection read API with pagination + tenant enforcement. | SBOM Service Guild; Cartographer Guild | Link-Not-Merge v1 frozen schema and deterministic read API. | +| 8 | SBOM-SERVICE-21-001 | BLOCKED | PREP-SBOM-SERVICE-21-001-WAITING-ON-LNM-V1-FI | SBOM Service Guild; Cartographer Guild | Link-Not-Merge v1 frozen schema and deterministic read API. | | 9 | SBOM-SERVICE-21-002 | TODO | Depends on SBOM-SERVICE-21-001; emit `sbom.version.created` change events and add replay/backfill tooling. | SBOM Service Guild; Scheduler Guild | Emit change events carrying digest/version metadata for Graph Indexer builds. | | 10 | SBOM-SERVICE-21-003 | TODO | Depends on SBOM-SERVICE-21-002; entrypoint/service node management API feeding Cartographer path relevance with deterministic defaults. | SBOM Service Guild | Provide entrypoint/service node management API. | | 11 | SBOM-SERVICE-21-004 | TODO | Depends on SBOM-SERVICE-21-003; wire metrics (`sbom_projection_seconds`, `sbom_projection_size`), traces, tenant-annotated logs; set backlog alerts. | SBOM Service Guild; Observability Guild | Wire observability for SBOM projections. | @@ -41,11 +44,12 @@ | Provide LNM v1 fixtures for SBOM projections. | Cartographer Guild | 2025-11-18 | OVERDUE (escalate; follow-up 2025-11-19) | | Publish orchestrator control contract for pause/throttle/backfill signals. | Orchestrator Guild | 2025-11-19 | Pending | | Create `src/SbomService/AGENTS.md` (roles, prerequisites, determinism/testing rules). | SBOM Service Guild · Module PM | 2025-11-19 | DONE | -| Supply NuGet feed/offline cache (allow Microsoft.IdentityModel.Tokens >=8.14.0, Pkcs11Interop >=4.1.0) so SbomService builds/tests can run. | Build/Infra · SBOM Service Guild | 2025-11-20 | BLOCKED (multiple restore attempts still hang/fail; need vetted feed/cache) | +| Supply NuGet feed/offline cache (allow Microsoft.IdentityModel.Tokens >=8.14.0, Pkcs11Interop >=4.1.0) so SbomService builds/tests can run. | Build/Infra · SBOM Service Guild | 2025-11-20 | PREP-BUILD-INFRA-SBOM-SERVICE-GUILD-BLOCKED-M | ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-17 | Normalised sprint to standard template and renamed from `SPRINT_142_sbomservice.md`; no scope changes. | Project Mgmt | | 2025-11-17 | Flagged need for SBOM Service module dossier as documentation prerequisite. | Project Mgmt | | 2025-11-17 | Authored `docs/modules/sbomservice/architecture.md`; added to prerequisites; set SBOM-SERVICE-21-001 to BLOCKED pending LNM v1 fixtures. | Project Mgmt | @@ -57,6 +61,7 @@ | 2025-11-18 | Scoped builds (`dotnet build` on SbomService csproj/solution) repeatedly aborted by cross-solution churn; tests remain unrun. | SBOM Service | | 2025-11-18 | Additional targeted build of `StellaOps.SbomService.csproj` aborted (~48s) due to repo churn; testing still blocked. | SBOM Service | | 2025-11-18 | Marked SBOM-AIAI-31-002 BLOCKED (needs validated metrics & dashboards) and SBOM-CONSOLE-23-002 DOING (stub implemented, blocked on validation). | SBOM Service | +| 2025-11-19 | Marked SBOM-CONSOLE-23-002 BLOCKED pending storage wiring and console schema approval. | Implementer | | 2025-11-18 | Build attempt with `/p:BuildProjectReferences=false` failed at restore (~11s); unable to validate code path changes. | SBOM Service | | 2025-11-18 | Added Grafana starter dashboard (`Observability/sbomservice-grafana-dashboard.json`) and README notes; metrics still unvalidated pending successful builds. | SBOM Service | | 2025-11-18 | Fixed NuGet feed mapping, restored, built, and ran tests successfully for SbomService; SBOM-AIAI-31-002 marked DONE; SBOM-CONSOLE-23-002 validated at stub level. | SBOM Service | @@ -84,7 +89,7 @@ - Latest restore attempts (2025-11-18/19) fail/hang even with local-nugets copies and PSM disabled; need vetted feed/offline cache allowing Microsoft.IdentityModel.Tokens ≥8.14.0 and Pkcs11Interop ≥4.1.0. - Metrics include `cache_hit` tagging; dashboards outstanding and unvalidated due to feed/build failures. - Build/test runs for SbomService blocked by feed mapping; must fix mapping or cache packages before rerunning `dotnet test ...SbomService.Tests.csproj`. -- Component lookup endpoint is stubbed; remains unvalidated until restores succeed; SBOM-CONSOLE-23-002 stays DOING but blocked on feed/build. +- Component lookup endpoint is stubbed; remains unvalidated until restores succeed; SBOM-CONSOLE-23-002 stays BLOCKED on feed/build. - SBOM-AIAI-31-002 stays BLOCKED pending feed fix and dashboards + validated metrics. - `AGENTS.md` for `src/SbomService` added 2025-11-18; implementers must read before coding. diff --git a/docs/implplan/SPRINT_0143_0000_0001_signals.md b/docs/implplan/SPRINT_0143_0000_0001_signals.md index e1aa4ce2a..86d1b739d 100644 --- a/docs/implplan/SPRINT_0143_0000_0001_signals.md +++ b/docs/implplan/SPRINT_0143_0000_0001_signals.md @@ -19,15 +19,21 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | +| P1 | PREP-SIGNALS-24-005-REDIS-CACHE-IMPLEMENTED-A | DONE (2025-11-20) | Doc published at `docs/signals/events-24-005.md`; bus/topic approved. | Signals Guild, Platform Events Guild | Redis cache implemented; awaiting real bus/topic + payload contract to replace placeholder `signals.fact.updated` logging.

Document artefact/deliverable for SIGNALS-24-005 and publish location so downstream tasks can proceed. | +| P2 | PREP-SIGNALS-24-002-CAS-PROMO | DONE (2025-11-19) | Due 2025-11-22 · Accountable: Signals Guild · Platform Storage Guild | Signals Guild · Platform Storage Guild | CAS promotion checklist and manifest schema published at `docs/signals/cas-promotion-24-002.md`; awaiting storage approval to execute. | +| P3 | PREP-SIGNALS-24-003-PROVENANCE | DONE (2025-11-19) | Due 2025-11-22 · Accountable: Signals Guild · Runtime Guild · Authority Guild | Signals Guild · Runtime Guild · Authority Guild | Provenance appendix fields and checklist published at `docs/signals/provenance-24-003.md`; awaiting schema/signing approval to execute. | | 1 | SIGNALS-24-001 | DONE (2025-11-09) | Dependency AUTH-SIG-26-001; merged host skeleton with scope policies and evidence validation. | Signals Guild, Authority Guild | Stand up Signals API skeleton with RBAC, sealed-mode config, DPoP/mTLS enforcement, and `/facts` scaffolding so downstream ingestion can begin. | -| 2 | SIGNALS-24-002 | DOING (2025-11-07) | Remaining: CAS bucket promotion and signed graph manifests; depends on SIGNALS-24-001. | Signals Guild | Implement callgraph ingestion/normalization (Java/Node/Python/Go) with CAS persistence and retrieval APIs to feed reachability scoring. | -| 3 | SIGNALS-24-003 | DONE (2025-11-17) | Runtime ingestion now enriches provenance metadata and triggers reachability recompute on ingest. | Signals Guild, Runtime Guild | Implement runtime facts ingestion endpoint and normalizer (process, sockets, container metadata) populating `context_facts` with AOC provenance. | +| 2 | SIGNALS-24-002 | BLOCKED (2025-11-19) | Await Platform Storage approval; CAS promotion checklist ready (see PREP-SIGNALS-24-002-CAS-PROMO). | Signals Guild | Implement callgraph ingestion/normalization (Java/Node/Python/Go) with CAS persistence and retrieval APIs to feed reachability scoring. | +| 3 | SIGNALS-24-003 | BLOCKED (2025-11-19) | Blocked on SIGNALS-24-002 approval and provenance schema sign-off; checklist ready (PREP-SIGNALS-24-003-PROVENANCE). | Signals Guild, Runtime Guild | Implement runtime facts ingestion endpoint and normalizer (process, sockets, container metadata) populating `context_facts` with AOC provenance. | | 4 | SIGNALS-24-004 | DONE (2025-11-17) | Scoring weights now configurable; runtime ingestion auto-triggers recompute into `reachability_facts`. | Signals Guild, Data Science | Deliver reachability scoring engine producing states/scores and writing to `reachability_facts`; expose configuration for weights. | -| 5 | SIGNALS-24-005 | BLOCKED (2025-11-18) | Redis cache implemented; awaiting real bus/topic + payload contract to replace placeholder `signals.fact.updated` logging. | Signals Guild, Platform Events Guild | Implement Redis caches (`reachability_cache:*`), invalidation on new facts, and publish `signals.fact.updated` events. | +| 5 | SIGNALS-24-005 | TODO | PREP-SIGNALS-24-005-REDIS-CACHE-IMPLEMENTED-A | Signals Guild, Platform Events Guild | Implement Redis caches (`reachability_cache:*`), invalidation on new facts, and publish `signals.fact.updated` events. | ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-20 | Published `docs/signals/events-24-005.md` event-bus contract (topic, envelope, retry/DLQ); marked PREP-SIGNALS-24-005 DONE and moved SIGNALS-24-005 to TODO. | Implementer | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | +| 2025-11-19 | Marked SIGNALS-24-002 and SIGNALS-24-003 BLOCKED pending CAS promotion, signed manifests, and provenance schema. | Implementer | | 2025-10-29 | Skeleton live with scope policies, stub endpoints, integration tests; sample configuration committed under `etc/signals.yaml.sample`. | Signals Guild | | 2025-10-29 | JSON parsers for Java/Node.js/Python/Go implemented; artifacts stored with SHA-256 and callgraphs upserted into Mongo. | Signals Guild | | 2025-11-09 | Signals host registers sealed-mode evidence validation, exposes `/readyz`/`/status`, enforces scope policies, and adds `/signals/facts/{subjectKey}` retrieval plus runtime-facts ingestion backing services. | Signals Guild / Authority Guild | @@ -35,7 +41,7 @@ | 2025-11-09 | Added runtime facts ingestion service + endpoint, aggregated runtime hit storage, and unit tests; next steps are NDJSON/gzip ingestion and provenance metadata wiring. | Signals Guild / Runtime Guild | | 2025-11-09 | Added `/signals/runtime-facts/ndjson` streaming endpoint (JSON/NDJSON + gzip) with sealed-mode gating; provenance/context enrichment + scoring linkage remain. | Signals Guild / Runtime Guild | | 2025-11-17 | CAS remediation window (≤3 days for Critical/High) approved with signed waiver; proceed with SIGNALS-24-002/004/005. | Signals Guild | -| 2025-11-17 | CAS checklist in remediation window with risk waiver; continue DOING on SIGNALS-24-002 and unlock 24-004/005. | Signals Guild | +| 2025-11-17 | CAS checklist in remediation window with risk waiver; SIGNALS-24-002/003 remain BLOCKED until CAS promotion + signed manifests land; 24-004/005 stay gated. | Signals Guild | | 2025-11-17 | Normalised sprint to standard template and renamed from SPRINT_143_signals.md to SPRINT_0143_0000_0001_signals.md. | PM | | 2025-11-17 | Reachability scoring weights moved to config; runtime facts ingestion now triggers recompute and persists states; added unit tests for scoring + runtime ingestion. | Signals Guild | | 2025-11-17 | `dotnet test src/Signals/StellaOps.Signals.sln` aborted after long restore/build; warning NU1504 about duplicate PackageReference items in StellaOps.Signals.Tests persists—needs cleanup before rerun. | Signals Guild | @@ -60,10 +66,9 @@ ## Decisions & Risks - CAS remediation window (≤3 days for Critical/High) running under signed waiver; track SIGNALS-24-002/004/005 for compliance. - Callgraph CAS bucket promotion and signed manifests remain outstanding for SIGNALS-24-002; risk to scoring start if delayed. -- Runtime facts provenance/context enrichment and scoring linkage pending (SIGNALS-24-003); downstream scoring (24-004/005) can start only after completion. +- SIGNALS-24-003 now blocked on CAS promotion/provenance schema; downstream scoring (24-004/005) depend on this landing. - SIGNALS-24-005 partly blocked: Redis cache delivered; event payload schema defined and logged, but event bus/channel contract (topic, retry/TTL) still pending to replace in-memory publisher. -- Tests for Signals unit suite are now green; full Signals solution test run started—monitor to completion for coverage of new cache/event wiring. -- Full Signals solution restore/test still exceeding 60s and cancelled for time; rerun needed with warmed restore cache or extended execution window. +- Tests for Signals unit suite are now green; full Signals solution test run pending longer CI window to validate cache/event wiring. ## Next Checkpoints - Schedule CAS waiver review before 2025-11-20 to confirm remediation progress for SIGNALS-24-002/004/005. diff --git a/docs/implplan/SPRINT_0150_0001_0001_scheduling_automation.md b/docs/implplan/SPRINT_0150_0001_0001_scheduling_automation.md new file mode 100644 index 000000000..822f10561 --- /dev/null +++ b/docs/implplan/SPRINT_0150_0001_0001_scheduling_automation.md @@ -0,0 +1,47 @@ +# Sprint 0150-0001-0001 · Scheduling & Automation + +## Topic & Scope +- Snapshot the Scheduling & Automation stream while upstream AirGap/Scanner/Graph deliverables land; backlog continues in Sprint 151+ files. +- Keep orchestration, Packs Registry, Scheduler, and TaskRunner waves ready to start once prerequisites are green. +- Working directory: `docs/implplan` (coordination only; module work occurs in respective service directories). + +## Dependencies & Concurrency +- Upstream sprints: Sprint 0120.A (AirGap), Sprint 0130.A (Scanner surface), Sprint 0140.A (Graph overlays) must stay green to unblock wave starts. +- Concurrency limits: 150.B depends on 150.A kickoff; 150.D waits for Orchestrator/Scheduler telemetry baselines (150.A + 150.C). + +## Documentation Prerequisites +- docs/modules/airgap/architecture.md +- docs/modules/scanner/architecture.md +- docs/modules/graph/architecture.md +- docs/modules/orchestrator/architecture.md +- docs/modules/scheduler/architecture.md +- docs/modules/taskrunner/architecture.md +- docs/modules/registry/architecture.md + +## Delivery Tracker +| # | Task ID | Status | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| 1 | 150.A-Orchestrator | TODO | Wait for Sprint 0120.A/0130.A/0140.A readiness; verify Scanner surface artifacts | Orchestrator Service Guild · AirGap Policy/Controller Guilds · Observability Guild | Kick off orchestration scheduling/telemetry baseline for automation epic. | +| 2 | 150.B-PacksRegistry | TODO | 150.A must reach DOING; confirm tenancy scaffolding from Orchestrator | Packs Registry Guild · Exporter Guild · Security Guild | Packs registry automation stream staged; start after Orchestrator scaffolding. | +| 3 | 150.C-Scheduler | TODO | Hold until 0140.A Graph overlays and 0130.A Scanner surface green | Scheduler WebService/Worker Guilds · Findings Ledger Guild · Observability Guild | Scheduler impact index improvements gated on Graph overlays. | +| 4 | 150.D-TaskRunner | TODO | Requires Orchestrator/Scheduler telemetry baselines (150.A/150.C) | Task Runner Guild · AirGap Guilds · Evidence Locker Guild | Execution engine upgrades and evidence integration to start post-baselines. | + +## Wave Coordination Snapshot +| Wave | Guild owners | Shared prerequisites | Status | Notes | +| --- | --- | --- | --- | --- | +| 150.A Orchestrator | Orchestrator Service Guild · AirGap Policy/Controller Guilds · Observability Guild | Sprint 0120.A – AirGap; Sprint 0130.A – Scanner; Sprint 0140.A – Graph | TODO | Pending confirmation that Scanner surface artifacts are ready; keep job telemetry work prepped for fast start. | +| 150.B PacksRegistry | Packs Registry Guild · Exporter Guild · Security Guild | Sprint 0120.A – AirGap; Sprint 0130.A – Scanner; Sprint 0140.A – Graph | TODO | Blocked on Orchestrator tenancy scaffolding; specs are ready once 150.A flips to DOING. | +| 150.C Scheduler | Scheduler WebService/Worker Guilds · Findings Ledger Guild · Observability Guild | Sprint 0120.A – AirGap; Sprint 0130.A – Scanner; Sprint 0140.A – Graph | TODO | Impact index improvements need Graph overlays; hold until 0140.A status improves. | +| 150.D TaskRunner | Task Runner Guild · AirGap Guilds · Evidence Locker Guild | Sprint 0120.A – AirGap; Sprint 0130.A – Scanner; Sprint 0140.A – Graph | TODO | Execution engine upgrades staged; start once Orchestrator/Scheduler telemetry baselines exist. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-18 | Normalised sprint doc to standard template; renamed from `SPRINT_150_scheduling_automation.md`. | Planning | + +## Decisions & Risks +- All waves remain gated on upstream AirGap/Scanner/Graph readiness; no new intra-decade dependencies introduced. +- This sprint is a coordination snapshot only; implementation tasks continue in Sprint 151+ and should mirror status changes here to avoid drift. + +## Next Checkpoints +- None scheduled; add next scheduling/automation sync once upstream readiness dates are confirmed. diff --git a/docs/implplan/SPRINT_0151_0001_0001_orchestrator_i.md b/docs/implplan/SPRINT_0151_0001_0001_orchestrator_i.md new file mode 100644 index 000000000..a564f933f --- /dev/null +++ b/docs/implplan/SPRINT_0151_0001_0001_orchestrator_i.md @@ -0,0 +1,65 @@ +# Sprint 0151-0001-0001 · Scheduling & Automation · Orchestrator I + +## Topic & Scope +- Phase I of Scheduling & Automation focused on Orchestrator: air-gap controls, observability/telemetry, and OpenAPI/SDK surface hardening. +- Active snapshot only; historic items were moved to `docs/implplan/archived/tasks.md` (updated 2025-11-08). +- Working directory: `src/Orchestrator` (coordination tracked in `docs/implplan`). + +## Dependencies & Concurrency +- Upstream sprints: 0120.A (AirGap), 0130.A (Scanner surface), 0140.A (Graph overlays). Do not start net-new work until these stay green. +- Task ordering: `ORCH-AIRGAP-56-001 → 56-002 → 57-001 → 58-001`; `ORCH-OAS-61-001 → 61-002 → 62-001 → 63-001`; `ORCH-OBS-50-001 → 51-001 → 52-001 → 53-001 → 54-001 → 55-001`. `ORCH-SVC-32-001` can progress in parallel once dependencies are stable. + +## Documentation Prerequisites +- docs/modules/orchestrator/architecture.md +- docs/modules/airgap/architecture.md +- docs/modules/scanner/architecture.md +- docs/modules/graph/architecture.md +- docs/modules/telemetry/architecture.md + +## Delivery Tracker +| # | Task ID | Status | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| P1 | PREP-ORCH-AIRGAP-56-001-AWAIT-SPRINT-0120-A-A | TODO | Due 2025-11-23 · Accountable: Orchestrator Service Guild · AirGap Policy Guild | Orchestrator Service Guild · AirGap Policy Guild | Await Sprint 0120.A AirGap readiness; sealed-mode contracts not published.

Document artefact/deliverable for ORCH-AIRGAP-56-001 and publish location so downstream tasks can proceed. | +| P2 | PREP-ORCH-AIRGAP-56-002-UPSTREAM-56-001-BLOCK | TODO | Due 2025-11-23 · Accountable: Orchestrator Service Guild · AirGap Controller Guild | Orchestrator Service Guild · AirGap Controller Guild | Upstream 56-001 blocked.

Document artefact/deliverable for ORCH-AIRGAP-56-002 and publish location so downstream tasks can proceed. | +| P3 | PREP-ORCH-AIRGAP-57-001-UPSTREAM-56-002-BLOCK | TODO | Due 2025-11-23 · Accountable: Orchestrator Service Guild · Mirror Creator Guild | Orchestrator Service Guild · Mirror Creator Guild | Upstream 56-002 blocked.

Document artefact/deliverable for ORCH-AIRGAP-57-001 and publish location so downstream tasks can proceed. | +| P4 | PREP-ORCH-AIRGAP-58-001-UPSTREAM-57-001-BLOCK | TODO | Due 2025-11-23 · Accountable: Orchestrator Service Guild · Evidence Locker Guild | Orchestrator Service Guild · Evidence Locker Guild | Upstream 57-001 blocked.

Document artefact/deliverable for ORCH-AIRGAP-58-001 and publish location so downstream tasks can proceed. | +| P5 | PREP-ORCH-OAS-61-001-ORCHESTRATOR-TELEMETRY-C | TODO | Due 2025-11-23 · Accountable: Orchestrator Service Guild · API Contracts Guild | Orchestrator Service Guild · API Contracts Guild | Orchestrator telemetry/contract inputs not available; wait for 150.A readiness.

Document artefact/deliverable for ORCH-OAS-61-001 and publish location so downstream tasks can proceed. | +| P6 | PREP-ORCH-OAS-61-002-DEPENDS-ON-61-001 | TODO | Due 2025-11-23 · Accountable: Orchestrator Service Guild | Orchestrator Service Guild | Depends on 61-001.

Document artefact/deliverable for ORCH-OAS-61-002 and publish location so downstream tasks can proceed. | +| P7 | PREP-ORCH-OAS-62-001-DEPENDS-ON-61-002 | TODO | Due 2025-11-23 · Accountable: Orchestrator Service Guild · SDK Generator Guild | Orchestrator Service Guild · SDK Generator Guild | Depends on 61-002.

Document artefact/deliverable for ORCH-OAS-62-001 and publish location so downstream tasks can proceed. | +| P8 | PREP-ORCH-OAS-63-001-DEPENDS-ON-62-001 | TODO | Due 2025-11-23 · Accountable: Orchestrator Service Guild · API Governance Guild | Orchestrator Service Guild · API Governance Guild | Depends on 62-001.

Document artefact/deliverable for ORCH-OAS-63-001 and publish location so downstream tasks can proceed. | +| P9 | PREP-ORCH-OBS-50-001-TELEMETRY-CORE-SPRINT-01 | TODO | Due 2025-11-23 · Accountable: Orchestrator Service Guild · Observability Guild | Orchestrator Service Guild · Observability Guild | Telemetry Core (Sprint 0174) not yet available for orchestrator host.

Document artefact/deliverable for ORCH-OBS-50-001 and publish location so downstream tasks can proceed. | +| P10 | PREP-ORCH-OBS-51-001-DEPENDS-ON-50-001-TELEME | TODO | Due 2025-11-23 · Accountable: Orchestrator Service Guild · DevOps Guild | Orchestrator Service Guild · DevOps Guild | Depends on 50-001 + Telemetry schema.

Document artefact/deliverable for ORCH-OBS-51-001 and publish location so downstream tasks can proceed. | +| P11 | PREP-ORCH-OBS-52-001-DEPENDS-ON-51-001-REQUIR | TODO | Due 2025-11-23 · Accountable: Orchestrator Service Guild | Orchestrator Service Guild | Depends on 51-001; requires event schema from Sprint 0150.A.

Document artefact/deliverable for ORCH-OBS-52-001 and publish location so downstream tasks can proceed. | +| P12 | PREP-ORCH-OBS-53-001-DEPENDS-ON-52-001-EVIDEN | TODO | Due 2025-11-23 · Accountable: Orchestrator Service Guild · Evidence Locker Guild | Orchestrator Service Guild · Evidence Locker Guild | Depends on 52-001; Evidence Locker capsule inputs not frozen.

Document artefact/deliverable for ORCH-OBS-53-001 and publish location so downstream tasks can proceed. | +| P13 | PREP-ORCH-OBS-54-001-DEPENDS-ON-53-001 | TODO | Due 2025-11-23 · Accountable: Orchestrator Service Guild · Provenance Guild | Orchestrator Service Guild · Provenance Guild | Depends on 53-001.

Document artefact/deliverable for ORCH-OBS-54-001 and publish location so downstream tasks can proceed. | +| P14 | PREP-ORCH-OBS-55-001-DEPENDS-ON-54-001-INCIDE | TODO | Due 2025-11-23 · Accountable: Orchestrator Service Guild · DevOps Guild | Orchestrator Service Guild · DevOps Guild | Depends on 54-001; incident contract absent.

Document artefact/deliverable for ORCH-OBS-55-001 and publish location so downstream tasks can proceed. | +| P15 | PREP-ORCH-SVC-32-001-UPSTREAM-READINESS-AIRGA | TODO | Due 2025-11-23 · Accountable: Orchestrator Service Guild | Orchestrator Service Guild | Upstream readiness (AirGap/Scanner/Graph) not confirmed; postpone bootstrap.

Document artefact/deliverable for ORCH-SVC-32-001 and publish location so downstream tasks can proceed. | +| 1 | ORCH-AIRGAP-56-001 | BLOCKED (2025-11-19) | PREP-ORCH-AIRGAP-56-001-AWAIT-SPRINT-0120-A-A | Orchestrator Service Guild · AirGap Policy Guild | Enforce job descriptors to declare network intents; flag/reject external endpoints in sealed mode. | +| 2 | ORCH-AIRGAP-56-002 | BLOCKED (2025-11-19) | PREP-ORCH-AIRGAP-56-002-UPSTREAM-56-001-BLOCK | Orchestrator Service Guild · AirGap Controller Guild | Surface sealing status and staleness in scheduling decisions; block runs when budgets exceeded. | +| 3 | ORCH-AIRGAP-57-001 | BLOCKED (2025-11-19) | PREP-ORCH-AIRGAP-57-001-UPSTREAM-56-002-BLOCK | Orchestrator Service Guild · Mirror Creator Guild | Add job type `mirror.bundle` with audit + provenance outputs. | +| 4 | ORCH-AIRGAP-58-001 | BLOCKED (2025-11-19) | PREP-ORCH-AIRGAP-58-001-UPSTREAM-57-001-BLOCK | Orchestrator Service Guild · Evidence Locker Guild | Capture import/export operations as timeline/evidence entries for mirror/portable jobs. | +| 5 | ORCH-OAS-61-001 | BLOCKED (2025-11-19) | PREP-ORCH-OAS-61-001-ORCHESTRATOR-TELEMETRY-C | Orchestrator Service Guild · API Contracts Guild | Document orchestrator endpoints in per-service OAS with pagination/idempotency/error envelope examples. | +| 6 | ORCH-OAS-61-002 | BLOCKED (2025-11-19) | PREP-ORCH-OAS-61-002-DEPENDS-ON-61-001 | Orchestrator Service Guild | Implement `GET /.well-known/openapi`; align version metadata with runtime build. | +| 7 | ORCH-OAS-62-001 | BLOCKED (2025-11-19) | PREP-ORCH-OAS-62-001-DEPENDS-ON-61-002 | Orchestrator Service Guild · SDK Generator Guild | Ensure SDK paginators/operations support job APIs; add SDK smoke tests for schedule/retry. | +| 8 | ORCH-OAS-63-001 | BLOCKED (2025-11-19) | PREP-ORCH-OAS-63-001-DEPENDS-ON-62-001 | Orchestrator Service Guild · API Governance Guild | Emit deprecation headers/doc for legacy endpoints; update notifications metadata. | +| 9 | ORCH-OBS-50-001 | BLOCKED (2025-11-19) | PREP-ORCH-OBS-50-001-TELEMETRY-CORE-SPRINT-01 | Orchestrator Service Guild · Observability Guild | Wire `StellaOps.Telemetry.Core` into orchestrator host; instrument schedulers/control APIs with spans/logs/metrics. | +| 10 | ORCH-OBS-51-001 | BLOCKED (2025-11-19) | PREP-ORCH-OBS-51-001-DEPENDS-ON-50-001-TELEME | Orchestrator Service Guild · DevOps Guild | Publish golden-signal metrics and SLOs; emit burn-rate alerts; provide Grafana dashboards + alert rules. | +| 11 | ORCH-OBS-52-001 | BLOCKED (2025-11-19) | PREP-ORCH-OBS-52-001-DEPENDS-ON-51-001-REQUIR | Orchestrator Service Guild | Emit `timeline_event` lifecycle objects with trace IDs/run IDs/tenant/project; add contract tests and Kafka/NATS emitter with retries. | +| 12 | ORCH-OBS-53-001 | BLOCKED (2025-11-19) | PREP-ORCH-OBS-53-001-DEPENDS-ON-52-001-EVIDEN | Orchestrator Service Guild · Evidence Locker Guild | Generate job capsule inputs for Evidence Locker; invoke snapshot hooks; enforce redaction guard. | +| 13 | ORCH-OBS-54-001 | BLOCKED (2025-11-19) | PREP-ORCH-OBS-54-001-DEPENDS-ON-53-001 | Orchestrator Service Guild · Provenance Guild | Produce DSSE attestations for orchestrator-scheduled jobs; store references in timeline + Evidence Locker; add verification endpoint `/jobs/{id}/attestation`. | +| 14 | ORCH-OBS-55-001 | BLOCKED (2025-11-19) | PREP-ORCH-OBS-55-001-DEPENDS-ON-54-001-INCIDE | Orchestrator Service Guild · DevOps Guild | Incident mode hooks (sampling overrides, extended retention, debug spans) with automatic activation on SLO burn-rate breach; emit activation/deactivation events. | +| 15 | ORCH-SVC-32-001 | BLOCKED (2025-11-19) | PREP-ORCH-SVC-32-001-UPSTREAM-READINESS-AIRGA | Orchestrator Service Guild | Bootstrap service project/config and Postgres schema/migrations for sources, runs, jobs, dag_edges, artifacts, quotas, schedules. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | +| 2025-11-18 | Normalised sprint doc to standard template; renamed from `SPRINT_151_orchestrator_i.md`. | Planning | +| 2025-11-19 | Set all tasks to BLOCKED pending upstream readiness (AirGap/Scanner/Graph), Telemetry Core availability, and Orchestrator event schema; no executable work until contracts land. | Implementer | + +## Decisions & Risks +- Start of work gated on AirGap/Scanner/Graph dependencies staying green; reassess before moving tasks to DOING. +- Ensure status changes here mirror module boards to avoid drift between coordination doc and execution evidence. + +## Next Checkpoints +- None scheduled; add orchestrator scheduling/automation sync once upstream readiness dates are committed. \ No newline at end of file diff --git a/docs/implplan/SPRINT_0152_0001_0002_orchestrator_ii.md b/docs/implplan/SPRINT_0152_0001_0002_orchestrator_ii.md new file mode 100644 index 000000000..7a7cc036f --- /dev/null +++ b/docs/implplan/SPRINT_0152_0001_0002_orchestrator_ii.md @@ -0,0 +1,52 @@ +# Sprint 0152-0001-0002 · Orchestrator II (Scheduling & Automation) + +## Topic & Scope +- Build scheduler DAG planner, job lifecycle APIs/streams, and worker claim/heartbeat wiring without issuing control actions yet. +- Add observability (REST, SSE, metrics), rate limits, backfill/dead-letter handling, quotas, and GA packaging for orchestrator service. +- Keep outputs aggregation-only with provenance-ready audit/export ledger and offline-friendly deploy artefacts. +- **Working directory:** `src/Orchestrator/StellaOps.Orchestrator`. + +## Dependencies & Concurrency +- Upstream: Sprint 0151-0001-0001 (Orchestrator I) must land first. +- Concurrency: execute tasks in table order (planner → APIs → streams → worker endpoints → rate limits → backfill → ledger → GA packaging → export job class). + +## Documentation Prerequisites +- docs/README.md +- docs/07_HIGH_LEVEL_ARCHITECTURE.md +- docs/modules/platform/architecture-overview.md +- docs/modules/orchestrator/architecture.md +- src/Orchestrator/StellaOps.Orchestrator/AGENTS.md + +## Delivery Tracker +| # | Task ID | Status | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| 1 | ORCH-SVC-32-002 | TODO | Depends on ORCH-SVC-32-001 (Sprint 0151). | Orchestrator Service Guild (`src/Orchestrator/StellaOps.Orchestrator`) | Implement scheduler DAG planner + dependency resolver, job state machine, critical-path metadata (no control actions yet). | +| 2 | ORCH-SVC-32-003 | TODO | Depends on 32-002. | Orchestrator Service Guild | Expose read-only REST APIs (sources, runs, jobs, DAG) with OpenAPI, validation, pagination, tenant scoping. | +| 3 | ORCH-SVC-32-004 | TODO | Depends on 32-003. | Orchestrator Service Guild | Implement WebSocket/SSE stream for job/run updates; emit structured metrics counters/histograms; add health probes. | +| 4 | ORCH-SVC-32-005 | TODO | Depends on 32-004. | Orchestrator Service Guild | Deliver worker claim/heartbeat/progress endpoints capturing artifact metadata/checksums and enforcing idempotency keys. | +| 5 | ORCH-SVC-33-001 | TODO | Depends on 32-005. | Orchestrator Service Guild | Enable `sources` tests (control-plane validation). | +| 6 | ORCH-SVC-33-002 | TODO | Depends on 33-001. | Orchestrator Service Guild | Per-source/tenant adaptive token-bucket limiter, concurrency caps, backpressure reacting to upstream 429/503. | +| 7 | ORCH-SVC-33-003 | TODO | Depends on 33-002. | Orchestrator Service Guild | Watermark/backfill manager with event-time windows, duplicate suppression, dry-run preview endpoint, safety validations. | +| 8 | ORCH-SVC-33-004 | TODO | Depends on 33-003. | Orchestrator Service Guild | Dead-letter store, replay endpoints, error classification with remediation hints + notification hooks. | +| 9 | ORCH-SVC-34-001 | TODO | Depends on 33-004. | Orchestrator Service Guild | Quota management APIs, per-tenant SLO burn-rate computation, alert budget tracking via metrics. | +| 10 | ORCH-SVC-34-002 | TODO | Depends on 34-001. | Orchestrator Service Guild | Audit log + immutable run ledger export with signed manifest and provenance chain to artifacts. | +| 11 | ORCH-SVC-34-003 | TODO | Depends on 34-002. | Orchestrator Service Guild | Perf/scale validation (≥10k pending jobs, dispatch P95 <150 ms); autoscaling hooks; health probes. | +| 12 | ORCH-SVC-34-004 | TODO | Depends on 34-003. | Orchestrator Service Guild | GA packaging: container image, Helm overlays, offline bundle seeds, provenance attestations, compliance checklist. | +| 13 | ORCH-SVC-35-101 | TODO | Depends on 34-004. | Orchestrator Service Guild | Register `export` job type with quotas/rate policies; expose telemetry; ensure exporter workers heartbeat via orchestrator contracts. | +| 14 | ORCH-SVC-36-101 | TODO | Depends on 35-101. | Orchestrator Service Guild | Capture distribution metadata and retention timestamps for export jobs; update dashboards and SSE payloads. | +| 15 | ORCH-SVC-37-101 | TODO | Depends on 36-101. | Orchestrator Service Guild | Enable scheduled export runs, retention pruning hooks, failure alerting tied to export job class. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-08 | Sprint stub (legacy format) created; awaiting orchestrator phase I completion. | Planning | +| 2025-11-19 | Normalized sprint to standard template and renamed from `SPRINT_152_orchestrator_ii.md` to `SPRINT_0152_0001_0002_orchestrator_ii.md`; content preserved. | Implementer | +| 2025-11-19 | Added legacy-file redirect stub to avoid divergent updates. | Implementer | + +## Decisions & Risks +- All tasks depend on outputs from Orchestrator I (32-001); sprint remains TODO until upstream ship. +- Maintain deterministic scheduling semantics; avoid issuing control actions until DAG planner/state machine validated. +- Ensure offline/air-gap deploy artifacts (Helm/overlays) align with GA packaging in task 34-004. + +## Next Checkpoints +- Kickoff once ORCH-SVC-32-001 lands (date TBD). diff --git a/docs/implplan/SPRINT_0153_0001_0003_orchestrator_iii.md b/docs/implplan/SPRINT_0153_0001_0003_orchestrator_iii.md index c974e1e89..93a3fe404 100644 --- a/docs/implplan/SPRINT_0153_0001_0003_orchestrator_iii.md +++ b/docs/implplan/SPRINT_0153_0001_0003_orchestrator_iii.md @@ -19,10 +19,13 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | +| P1 | PREP-ORCH-SVC-41-101-DEPENDS-ON-38-101-ENVELO | TODO | Due 2025-11-23 · Accountable: Orchestrator Service Guild | Orchestrator Service Guild | Depends on 38-101 envelope + DAL; cannot register pack-run without API/storage schema.

Document artefact/deliverable for ORCH-SVC-41-101 and publish location so downstream tasks can proceed. | +| P2 | PREP-ORCH-SVC-42-101-DEPENDS-ON-41-101-PACK-R | TODO | Due 2025-11-23 · Accountable: Orchestrator Service Guild | Orchestrator Service Guild | Depends on 41-101 pack-run plumbing and streaming contract.

Document artefact/deliverable for ORCH-SVC-42-101 and publish location so downstream tasks can proceed. | +| P3 | PREP-ORCH-TEN-48-001-WEBSERVICE-LACKS-JOB-DAL | TODO | Due 2025-11-23 · Accountable: Orchestrator Service Guild | Orchestrator Service Guild | WebService lacks job DAL/routes; need tenant context plumbing before enforcement.

Document artefact/deliverable for ORCH-TEN-48-001 and publish location so downstream tasks can proceed. | | 1 | ORCH-SVC-38-101 | BLOCKED | Waiting on ORCH-SVC-37-101 envelope field/semantics approval; webservice DAL still missing. | Orchestrator Service Guild | Standardize event envelope (policy/export/job lifecycle) with idempotency keys, ensure export/job failure events published to notifier bus with provenance metadata. | -| 2 | ORCH-SVC-41-101 | BLOCKED | Depends on 38-101 envelope + DAL; cannot register pack-run without API/storage schema. | Orchestrator Service Guild | Register `pack-run` job type, persist run metadata, integrate logs/artifacts collection, and expose API for Task Runner scheduling. | -| 3 | ORCH-SVC-42-101 | BLOCKED | Depends on 41-101 pack-run plumbing and streaming contract. | Orchestrator Service Guild | Stream pack run logs via SSE/WS, add manifest endpoints, enforce quotas, and emit pack run events to Notifications Studio. | -| 4 | ORCH-TEN-48-001 | BLOCKED | WebService lacks job DAL/routes; need tenant context plumbing before enforcement. | Orchestrator Service Guild | Include `tenant_id`/`project_id` in job specs, set DB session context before processing, enforce context on all queries, and reject jobs missing tenant metadata. | +| 2 | ORCH-SVC-41-101 | BLOCKED | PREP-ORCH-SVC-41-101-DEPENDS-ON-38-101-ENVELO | Orchestrator Service Guild | Register `pack-run` job type, persist run metadata, integrate logs/artifacts collection, and expose API for Task Runner scheduling. | +| 3 | ORCH-SVC-42-101 | BLOCKED | PREP-ORCH-SVC-42-101-DEPENDS-ON-41-101-PACK-R | Orchestrator Service Guild | Stream pack run logs via SSE/WS, add manifest endpoints, enforce quotas, and emit pack run events to Notifications Studio. | +| 4 | ORCH-TEN-48-001 | BLOCKED | PREP-ORCH-TEN-48-001-WEBSERVICE-LACKS-JOB-DAL | Orchestrator Service Guild | Include `tenant_id`/`project_id` in job specs, set DB session context before processing, enforce context on all queries, and reject jobs missing tenant metadata. | | 5 | WORKER-GO-32-001 | DONE | Bootstrap Go SDK scaffolding and smoke sample. | Worker SDK Guild | Bootstrap Go SDK project with configuration binding, auth headers, job claim/acknowledge client, and smoke sample. | | 6 | WORKER-GO-32-002 | DONE | Depends on WORKER-GO-32-001; add heartbeat, metrics, retries. | Worker SDK Guild | Add heartbeat/progress helpers, structured logging hooks, Prometheus metrics, and jittered retry defaults. | | 7 | WORKER-GO-33-001 | DONE | Depends on WORKER-GO-32-002; implement artifact publish helpers. | Worker SDK Guild | Implement artifact publish helpers (object storage client, checksum hashing, metadata payload) and idempotency guard. | @@ -37,6 +40,7 @@ ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-07 | Still not started — Authority pack RBAC (AUTH-PACKS-43-001) remains blocked pending approvals/log-stream APIs. | Coordination | | 2025-11-17 | Coordinator approved interim token-scoped access for AUTH-PACKS-43-001; proceed with log-stream APIs using scoped tokens while full RBAC completes. | Coordination | | 2025-11-17 | Normalised sprint file to standard template and renamed from `SPRINT_153_orchestrator_iii.md` to `SPRINT_0153_0001_0003_orchestrator_iii.md`. | PM | @@ -51,6 +55,7 @@ | 2025-11-17 | Marked ORCH-SVC-38/41/42 blocked pending upstream event envelope spec (ORCH-SVC-37-101) and downstream pack-run contract. | Worker SDK Guild | | 2025-11-18 | No further progress possible: event envelope spec (ORCH-SVC-37-101) and missing Orchestrator WebService DAL keep ORCH-SVC-38/41/42 and ORCH-TEN-48-001 blocked. | Orchestrator Service Guild | | 2025-11-19 | Drafted event envelope doc (`docs/modules/orchestrator/event-envelope.md`) and set ORCH-SVC-38-101 to DOING pending spec approval. | Orchestrator Service Guild | +| 2025-11-19 | Clarified ORCH-SVC-38-101 remains BLOCKED until ORCH-SVC-37-101 envelope semantics are approved; webservice DAL still missing. | Implementer | | 2025-11-18 | ORCH-TEN-48-001 blocked: orchestrator WebService is still template-only (no job DAL/routes), cannot enforce tenant context until real endpoints and DB session context exist. | Worker SDK Guild | | 2025-11-19 | Set ORCH-SVC-38/41/42 and ORCH-TEN-48-001 to BLOCKED; awaiting ORCH-SVC-37-101 envelope approval and WebService DAL/schema. | Orchestrator Service Guild | diff --git a/docs/implplan/SPRINT_0154_0001_0001_packsregistry.md b/docs/implplan/SPRINT_0154_0001_0001_packsregistry.md new file mode 100644 index 000000000..7458f655d --- /dev/null +++ b/docs/implplan/SPRINT_0154_0001_0001_packsregistry.md @@ -0,0 +1,40 @@ +# Sprint 0154-0001-0001 · Packs Registry (Scheduling & Automation 150.B) + +## Topic & Scope +- Stand up Packs Registry service: indexing, provenance storage, signature verification, and lifecycle management. +- Add version lifecycle (promote/deprecate), provenance exports, mirroring, attestation integration, and compliance dashboards. +- Keep registry offline-friendly with RBAC, audit logs, and Offline Kit seed support. +- **Working directory:** `src/PacksRegistry/StellaOps.PacksRegistry`. + +## Dependencies & Concurrency +- Upstream: Sprint 120.A (AirGap), 130.A (Scanner), 140.A (Graph) provide pack metadata and graph inputs. +- Concurrency: execute tasks in table order; all tasks currently TODO. + +## Documentation Prerequisites +- docs/README.md +- docs/07_HIGH_LEVEL_ARCHITECTURE.md +- docs/modules/platform/architecture-overview.md +- docs/modules/graph/architecture.md +- docs/modules/devops/architecture.md +- Any PacksRegistry AGENTS.md (if present under src/PacksRegistry). + +## Delivery Tracker +| # | Task ID | Status | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| 1 | PACKS-REG-41-001 | TODO | Start registry service + migrations. | Packs Registry Guild (`src/PacksRegistry/StellaOps.PacksRegistry`) | Implement registry service, migrations (`packs_index`, `parity_matrix`, provenance docs); upload/list/get; signature verification; RBAC; provenance manifest storage. | +| 2 | PACKS-REG-42-001 | TODO | Depends on 41-001. | Packs Registry Guild | Version lifecycle (promote/deprecate), tenant allowlists, provenance export, signature rotation, audit logs, Offline Kit seed support. | +| 3 | PACKS-REG-43-001 | TODO | Depends on 42-001. | Packs Registry Guild | Registry mirroring, pack signing policies, attestation integration, compliance dashboards; integrate with Export Center. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-08 | Sprint stub created; awaiting staffing. | Planning | +| 2025-11-19 | Normalized sprint to standard template and renamed from `SPRINT_154_packsregistry.md` to `SPRINT_0154_0001_0001_packsregistry.md`; content preserved. | Implementer | +| 2025-11-19 | Added legacy-file redirect stub to avoid divergent updates. | Implementer | + +## Decisions & Risks +- Registry relies on upstream pack metadata/graph contracts; keep schema aligned before migrations run. +- Ensure offline posture: signature verification, provenance storage, audit logs, and Offline Kit seeds are mandatory before GA. + +## Next Checkpoints +- Schedule kickoff once staffing confirmed (date TBD). diff --git a/docs/implplan/SPRINT_0155_0001_0001_scheduler_i.md b/docs/implplan/SPRINT_0155_0001_0001_scheduler_i.md index a86d1f636..6912242af 100644 --- a/docs/implplan/SPRINT_0155_0001_0001_scheduler_i.md +++ b/docs/implplan/SPRINT_0155_0001_0001_scheduler_i.md @@ -19,14 +19,16 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | +| P1 | PREP-SCHED-SURFACE-01-NEED-SURFACE-FS-POINTER | TODO | Due 2025-11-23 · Accountable: Scheduler Worker Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Scheduler Worker Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Need Surface.FS pointer model/contract; awaiting design input before planning deltas.

Document artefact/deliverable for SCHED-SURFACE-01 and publish location so downstream tasks can proceed. | +| P2 | PREP-SCHED-WORKER-23-101-WAITING-ON-POLICY-GU | TODO | Due 2025-11-23 · Accountable: Scheduler Worker Guild, Policy Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Scheduler Worker Guild, Policy Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Waiting on Policy guild to supply activation event contract and throttle source.

Document artefact/deliverable for SCHED-WORKER-23-101 and publish location so downstream tasks can proceed. | | 0 | AGENTS-SCHEDULER-UPDATE | DONE | `src/Scheduler/AGENTS.md` created and published. | Project Manager · Architecture Guild | Populate module AGENTS charter covering roles, docs, determinism/testing rules, and allowed shared libs. | | 1 | SCHED-IMPACT-16-303 | DONE | Implemented removal + snapshot/restore with compaction; snapshot payloads ready for RocksDB/Redis persistence. | Scheduler ImpactIndex Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.ImpactIndex) | Snapshot/compaction + invalidation for removed images; persistence to RocksDB/Redis per architecture. | -| 2 | SCHED-SURFACE-01 | BLOCKED | Need Surface.FS pointer model/contract; awaiting design input before planning deltas. | Scheduler Worker Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Evaluate Surface.FS pointers when planning delta scans to avoid redundant work and prioritise drift-triggered assets. | +| 2 | SCHED-SURFACE-01 | BLOCKED | PREP-SCHED-SURFACE-01-NEED-SURFACE-FS-POINTER | Scheduler Worker Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Evaluate Surface.FS pointers when planning delta scans to avoid redundant work and prioritise drift-triggered assets. | | 3 | SCHED-VULN-29-001 | DONE | Resolver job APIs implemented with scope enforcement; in-memory service stub (upgrade to persistent store later). | Scheduler WebService Guild, Findings Ledger Guild (src/Scheduler/StellaOps.Scheduler.WebService) | Expose resolver job APIs (`POST /vuln/resolver/jobs`, `GET /vuln/resolver/jobs/{id}`) to trigger candidate recomputation per artifact/policy change with RBAC and rate limits. | | 4 | SCHED-VULN-29-002 | DONE | Depends on SCHED-VULN-29-001; define webhook contract for backlog breach notifications. | Scheduler WebService Guild, Observability Guild (src/Scheduler/StellaOps.Scheduler.WebService) | Provide projector lag metrics endpoint and webhook notifications for backlog breaches consumed by DevOps dashboards. | | 5 | SCHED-WEB-20-002 | DONE | Simulation trigger + preview endpoint implemented. | Scheduler WebService Guild (src/Scheduler/StellaOps.Scheduler.WebService) | Provide simulation trigger endpoint returning diff preview metadata and job state for UI/CLI consumption. | | 6 | SCHED-WORKER-21-203 | DONE | Metrics added with tenant/graph tags; worker build green. | Scheduler Worker Guild, Observability Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Export metrics (`graph_build_seconds`, `graph_jobs_inflight`, `overlay_lag_seconds`) and structured logs with tenant/graph identifiers. | -| 7 | SCHED-WORKER-23-101 | BLOCKED | Waiting on Policy guild to supply activation event contract and throttle source. | Scheduler Worker Guild, Policy Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Implement policy re-evaluation worker that shards assets, honours rate limits, and updates progress for Console after policy activation events. | +| 7 | SCHED-WORKER-23-101 | BLOCKED | PREP-SCHED-WORKER-23-101-WAITING-ON-POLICY-GU | Scheduler Worker Guild, Policy Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Implement policy re-evaluation worker that shards assets, honours rate limits, and updates progress for Console after policy activation events. | | 8 | SCHED-WORKER-23-102 | BLOCKED | Blocked by SCHED-WORKER-23-101. | Scheduler Worker Guild, Observability Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Add reconciliation job ensuring re-eval completion within SLA, emitting alerts on backlog and persisting status to `policy_runs`. | | 9 | SCHED-WORKER-25-101 | BLOCKED | Blocked by SCHED-WORKER-23-102. | Scheduler Worker Guild, Policy Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Implement exception lifecycle worker handling auto-activation/expiry and publishing `exception.*` events with retries/backoff. | | 10 | SCHED-WORKER-25-102 | BLOCKED | Blocked by SCHED-WORKER-25-101. | Scheduler Worker Guild, Observability Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Add expiring notification job generating digests, marking `expiring` state, updating metrics/alerts. | @@ -35,6 +37,7 @@ ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-17 | Added graph metrics (`graph_build_seconds`, `graph_jobs_inflight`, `overlay_lag_seconds`) with tenant/graph tags; worker library build succeeded. | Scheduler Worker Guild | | 2025-11-17 | Added resolver job APIs (`POST/GET /api/v1/scheduler/vuln/resolver/jobs`) with scope enforcement and in-memory job service stub. | Scheduler WebService Guild | | 2025-11-18 | Added per-tenant rate limiting for resolver job creation (in-memory implementation). | Scheduler WebService Guild | @@ -64,4 +67,4 @@ - SCHED-WORKER-23-101/102/25-101/25-102/26-201 blocked on Policy guild supplying activation event shape + throttling guidance; downstream workers sit until contract lands. ## Next Checkpoints -- None scheduled; set once worker API scaffolding and GraphJobs accessibility fixes land. +- None scheduled; set once worker API scaffolding and GraphJobs accessibility fixes land. \ No newline at end of file diff --git a/docs/implplan/SPRINT_0156_0001_0002_scheduler_ii.md b/docs/implplan/SPRINT_0156_0001_0002_scheduler_ii.md index c1f0384a6..a684890ba 100644 --- a/docs/implplan/SPRINT_0156_0001_0002_scheduler_ii.md +++ b/docs/implplan/SPRINT_0156_0001_0002_scheduler_ii.md @@ -19,6 +19,7 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | +| P1 | PREP-SCHED-WORKER-CONSOLE-23-201-BLOCKED-BY-U | BLOCKED | Due 2025-11-23 · Accountable: Scheduler Worker Guild, Observability Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Scheduler Worker Guild, Observability Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Blocked by upstream stream schema design; depends on prior resolver/eval pipeline readiness.

Document artefact/deliverable for SCHED-WORKER-CONSOLE-23-201 and publish location so downstream tasks can proceed. | | 0 | AGENTS-SCHEDULER-UPDATE | DONE | `src/Scheduler/AGENTS.md` created and published. | Project Manager · Architecture Guild | Create working-directory charter defining roles, prerequisites, determinism/testing rules, and allowed shared libs. | | 1 | SCHED-WORKER-26-202 | BLOCKED | Blocked by SCHED-WORKER-26-201 (reachability joiner not delivered yet). | Scheduler Worker Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Implement staleness monitor + notifier for outdated reachability facts, publishing warnings and updating dashboards. | | 2 | SCHED-WORKER-27-301 | BLOCKED | Blocked by SCHED-WORKER-26-202. | Scheduler Worker Guild, Policy Registry Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Implement policy batch simulation worker: shard SBOM inventories, invoke Policy Engine, emit partial results, handle retries/backoff, and publish progress events. | @@ -27,12 +28,15 @@ | 5 | SCHED-WORKER-29-001 | BLOCKED | Blocked by SCHED-WORKER-27-303. | Scheduler Worker Guild, Findings Ledger Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Implement resolver worker generating candidate findings from inventory + advisory evidence, respecting ecosystem version semantics and path scope; emit jobs for policy evaluation. | | 6 | SCHED-WORKER-29-002 | BLOCKED | Blocked by SCHED-WORKER-29-001. | Scheduler Worker Guild, Policy Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Build evaluation orchestration worker invoking Policy Engine batch eval, writing results to Findings Ledger projector queue, and handling retries/backoff. | | 7 | SCHED-WORKER-29-003 | BLOCKED | Blocked by SCHED-WORKER-29-002. | Scheduler Worker Guild, Observability Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Add monitoring for resolver/evaluation backlog, SLA breaches, and export job queue; expose metrics/alerts feeding DevOps dashboards. | -| 8 | SCHED-WORKER-CONSOLE-23-201 | BLOCKED | Blocked by upstream stream schema design; depends on prior resolver/eval pipeline readiness. | Scheduler Worker Guild, Observability Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Stream run progress events (stage status, tuples processed, SLA hints) to Redis/NATS for Console SSE, with heartbeat, dedupe, and retention policy. Publish metrics + structured logs for queue lag. | -| 9 | SCHED-WORKER-CONSOLE-23-202 | BLOCKED | Blocked by CONSOLE-23-201. | Scheduler Worker Guild, Policy Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Coordinate evidence bundle jobs (enqueue, track status, cleanup) and expose job manifests to Web gateway; ensure idempotent reruns and cancellation support. | +| 8 | SCHED-WORKER-CONSOLE-23-201 | BLOCKED | PREP-SCHED-WORKER-CONSOLE-23-201-BLOCKED-BY-U | Scheduler Worker Guild, Observability Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Stream run progress events (stage status, tuples processed, SLA hints) to Redis/NATS for Console SSE, with heartbeat, dedupe, and retention policy. Publish metrics + structured logs for queue lag. | +| 9 | SCHED-WORKER-CONSOLE-23-202 | BLOCKED | SCHED-WORKER-CONSOLE-23-201. | Scheduler Worker Guild, Policy Guild (src/Scheduler/__Libraries/StellaOps.Scheduler.Worker) | Coordinate evidence bundle jobs (enqueue, track status, cleanup) and expose job manifests to Web gateway; ensure idempotent reruns and cancellation support. | ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Clarified dependency for SCHED-WORKER-CONSOLE-23-202 to point at SCHED-WORKER-CONSOLE-23-201. | Project Mgmt | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | +| 2025-11-19 | Marked PREP-SCHED-WORKER-CONSOLE-23-201 BLOCKED because upstream stream schema and resolver/eval pipeline contracts are still absent, keeping CONSOLE-23-201/202 gated. | Project Mgmt | | 2025-11-17 | Normalised sprint, renamed to `SPRINT_0156_0001_0002_scheduler_ii`, and marked tasks BLOCKED pending `src/Scheduler/AGENTS.md`. | Scheduler Worker Guild | | 2025-11-17 | Created `src/Scheduler/AGENTS.md`; unblocked tasks and reset to TODO respecting dependencies. | Scheduler Worker Guild | | 2025-11-18 | Marked all tasks BLOCKED awaiting upstream reachability worker (SCHED-WORKER-26-201) and subsequent contract handoffs (Policy activation events, stream schema). | Scheduler Worker Guild | diff --git a/docs/implplan/SPRINT_0157_0001_0001_taskrunner_i.md b/docs/implplan/SPRINT_0157_0001_0001_taskrunner_i.md new file mode 100644 index 000000000..639d07270 --- /dev/null +++ b/docs/implplan/SPRINT_0157_0001_0001_taskrunner_i.md @@ -0,0 +1,52 @@ +# Sprint 0157-0001-0001 · TaskRunner I (Scheduling & Automation 150.D) + +## Topic & Scope +- Stand up TaskRunner service: pack run API, execution engine, air-gap enforcement, evidence capture, and observability. +- Provide pack run lifecycle APIs/SDK, telemetry, OAS, and offline-friendly bundles with provenance. +- **Working directory:** `src/TaskRunner/StellaOps.TaskRunner`. + +## Dependencies & Concurrency +- Upstream: Sprint 120.A (AirGap), 130.A (Scanner), 140.A (Graph). +- Concurrency: execute tasks in table order; RUN/OAS/OBS chains must respect dependencies. + +## Documentation Prerequisites +- docs/README.md +- docs/07_HIGH_LEVEL_ARCHITECTURE.md +- docs/modules/platform/architecture-overview.md +- docs/modules/taskrunner/architecture.md (if available) +- src/TaskRunner/StellaOps.TaskRunner/AGENTS.md + +## Delivery Tracker +| # | Task ID | Status | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| 1 | TASKRUN-41-001 | TODO | Bootstrap service + migrations. | Task Runner Guild (`src/TaskRunner/StellaOps.TaskRunner`) | Define migrations (`pack_runs`, `pack_run_logs`, `pack_artifacts`); implement run API (create/get/log stream), local executor, approvals pause, artifact capture, provenance manifest generation. | +| 2 | TASKRUN-AIRGAP-56-001 | TODO | Depends on 41-001. | Task Runner Guild · AirGap Policy Guild | Enforce plan-time validation rejecting non-allowlisted network calls in sealed mode; surface remediation errors. | +| 3 | TASKRUN-AIRGAP-56-002 | TODO | Depends on 56-001. | Task Runner Guild · AirGap Importer Guild | Add helper steps for bundle ingestion (checksum verification, staging to object store) with deterministic outputs. | +| 4 | TASKRUN-AIRGAP-57-001 | TODO | Depends on 56-002. | Task Runner Guild · AirGap Controller Guild | Refuse to execute plans when environment sealed=false but declared sealed install; emit advisory timeline events. | +| 5 | TASKRUN-AIRGAP-58-001 | TODO | Depends on 57-001. | Task Runner Guild · Evidence Locker Guild | Capture bundle import job transcripts, hashed inputs/outputs into portable evidence bundles. | +| 6 | TASKRUN-42-001 | TODO | Continue execution engine upgrades (loops/conditionals/maxParallel), simulation mode, policy gate integration, deterministic failure recovery. | Task Runner Guild (`src/TaskRunner/StellaOps.TaskRunner`) | Execution engine enhancements + simulation API/CLI. | +| 7 | TASKRUN-OAS-61-001 | TODO | Document APIs once run endpoints stable. | Task Runner Guild · API Contracts Guild | Document TaskRunner APIs (pack runs, logs, approvals) with streaming schemas/examples. | +| 8 | TASKRUN-OAS-61-002 | TODO | Depends on 61-001. | Task Runner Guild | Expose `GET /.well-known/openapi` returning signed spec metadata, build version, ETag. | +| 9 | TASKRUN-OAS-62-001 | TODO | Depends on 61-002. | Task Runner Guild · SDK Generator Guild | SDK examples for pack run lifecycle; streaming log helpers; paginator wrappers. | +| 10 | TASKRUN-OAS-63-001 | TODO | Depends on 62-001. | Task Runner Guild · API Governance Guild | Sunset/deprecation headers + notifications for legacy pack APIs. | +| 11 | TASKRUN-OBS-50-001 | TODO | Telemetry core adoption. | Task Runner Guild | Add telemetry core in host + worker; spans/logs include `trace_id`, `tenant_id`, `run_id`, scrubbed transcripts. | +| 12 | TASKRUN-OBS-51-001 | TODO | Depends on 50-001. | Task Runner Guild · DevOps Guild | Metrics for step latency, retries, queue depth, sandbox resource usage; define SLOs; burn-rate alerts. | +| 13 | TASKRUN-OBS-52-001 | TODO | Depends on 51-001. | Task Runner Guild | Timeline events for pack runs (`pack.started`, `pack.step.completed`, `pack.failed`) with evidence pointers/policy context; dedupe + retry. | +| 14 | TASKRUN-OBS-53-001 | TODO | Depends on 52-001. | Task Runner Guild · Evidence Locker Guild | Capture step transcripts, artifact manifests, environment digests, policy approvals into evidence locker snapshots; ensure redaction + hash chain. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-04 | Resumed TASKRUN-42-001: scoped execution engine upgrades (loops/conditionals/maxParallel), simulation mode, policy gate integration, deterministic failure recovery. | Task Runner Guild | +| 2025-11-04 | Worker/WebService wiring in place: execution graph honors `maxParallel`/`continueOnError`, retry windows persisted, simulation API exposed. | Task Runner Guild | +| 2025-11-04 | Continued TASKRUN-42-001: cleaning persistence anomalies, validating retry metadata, wiring simulation preview into CLI surface. | Task Runner Guild | +| 2025-11-04 | CLI command `stella task-runner simulate` wired to new endpoint with JSON/table output modes. | Task Runner Guild | +| 2025-11-19 | Normalized sprint to standard template and renamed from `SPRINT_157_taskrunner_i.md` to `SPRINT_0157_0001_0001_taskrunner_i.md`; content preserved. | Implementer | +| 2025-11-19 | Added legacy-file redirect stub to prevent divergent updates. | Implementer | + +## Decisions & Risks +- Execution engine contract must remain deterministic; avoid uncontrolled parallelism until SLOs/telemetry validated. +- Air-gap enforcement depends on policy/airgap contracts; keep sealed-mode validation strict before enabling helper steps. + +## Next Checkpoints +- Schedule kickoff after confirming upstream Sprint 120/130/140 inputs (date TBD). diff --git a/docs/implplan/SPRINT_0158_0001_0002_taskrunner_ii.md b/docs/implplan/SPRINT_0158_0001_0002_taskrunner_ii.md new file mode 100644 index 000000000..ef98c2478 --- /dev/null +++ b/docs/implplan/SPRINT_0158_0001_0002_taskrunner_ii.md @@ -0,0 +1,36 @@ +# Sprint 0158-0001-0002 · TaskRunner II (Scheduling & Automation 150.D) + +## Topic & Scope +- TaskRunner phase II: attestations, incident mode, and tenant scoping for pack runs. +- **Working directory:** `src/TaskRunner/StellaOps.TaskRunner`. + +## Dependencies & Concurrency +- Upstream: TaskRunner I (Sprint 0157-0001-0001) must land first. +- Concurrency: tasks follow OBS → TEN dependency chain; all currently TODO. + +## Documentation Prerequisites +- docs/README.md +- docs/07_HIGH_LEVEL_ARCHITECTURE.md +- docs/modules/platform/architecture-overview.md +- docs/modules/taskrunner/architecture.md (if available) +- src/TaskRunner/StellaOps.TaskRunner/AGENTS.md + +## Delivery Tracker +| # | Task ID | Status | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| 1 | TASKRUN-OBS-54-001 | TODO | Depends on TASKRUN-OBS-53-001 (Sprint 0157). | Task Runner Guild · Provenance Guild (`src/TaskRunner/StellaOps.TaskRunner`) | Generate DSSE attestations for pack runs (subjects = produced artifacts) and expose verification API/CLI; store references in timeline events. | +| 2 | TASKRUN-OBS-55-001 | TODO | Depends on 54-001. | Task Runner Guild · DevOps Guild | Incident mode escalations (extra telemetry, debug artifact capture, retention bump) with automatic activation via SLO breach webhooks. | +| 3 | TASKRUN-TEN-48-001 | TODO | Parallel once tenancy policy defined. | Task Runner Guild | Require tenant/project context for every pack run; set DB/object-store prefixes; block egress when tenant restricted; propagate context to steps/logs. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-19 | Normalized sprint to standard template and renamed from `SPRINT_158_taskrunner_ii.md` to `SPRINT_0158_0001_0002_taskrunner_ii.md`; content preserved. | Implementer | +| 2025-11-19 | Added legacy-file redirect stub to avoid divergent updates. | Implementer | + +## Decisions & Risks +- Attestation and incident-mode behaviors depend on outputs from TaskRunner I; keep blocked until 0157 tasks complete. +- Tenant scoping must align with platform RLS and egress rules before enabling enforcement. + +## Next Checkpoints +- Kickoff after Sprint 0157 completion (date TBD). diff --git a/docs/implplan/SPRINT_0160_0001_0001_export_evidence.md b/docs/implplan/SPRINT_0160_0001_0001_export_evidence.md index 32e3e8994..08e3972dc 100644 --- a/docs/implplan/SPRINT_0160_0001_0001_export_evidence.md +++ b/docs/implplan/SPRINT_0160_0001_0001_export_evidence.md @@ -22,18 +22,22 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | +| P1 | PREP-EVIDENCE-LOCKER-GUILD-SECURITY-GUILD-DOC | TODO | Due 2025-11-23 · Accountable: Waiting on AdvisoryAI schema + orchestrator ledger envelopes to freeze. | Waiting on AdvisoryAI schema + orchestrator ledger envelopes to freeze. | BLOCKED (2025-11-17).

Document artefact/deliverable for Evidence Locker Guild · Security Guild · Docs Guild, Exporter Service Guild · Mirror Creator Guild · DevOps Guild, Timeline Indexer Guild · Evidence Locker Guild · Security Guild and publish location so downstream tasks can proceed. | +| P2 | PREP-ORCHESTRATOR-NOTIFICATIONS-SCHEMA-HANDOF | TODO | Due 2025-11-23 · Accountable: Planning | Planning | MISSED; escalate to Wave 150/140 leads and record new ETA; keep tasks BLOCKED.

Document artefact/deliverable for Orchestrator + Notifications schema handoff (Orchestrator Service + Notifications Guilds) and publish location so downstream tasks can proceed. | +| P3 | PREP-ESCALATION-FOLLOW-UP-ADVISORYAI-ORCHESTR | TODO | Due 2025-11-23 · Accountable: Planning | Planning | If no dates provided, mark BLOCKED in respective sprints and escalate to Wave leads.

Document artefact/deliverable for Escalation follow-up (AdvisoryAI, Orchestrator/Notifications) and publish location so downstream tasks can proceed. | +| P4 | PREP-160-A-160-B-160-C-ESCALATE-TO-WAVE-150-1 | DONE (2025-11-19) | Due 2025-11-23 · Accountable: Planning | Planning | Escalation sent to Wave 150/140 leads; awaiting new ETAs recorded in Sprint 110/150/140. | | 0 | ADV-ORCH-SCHEMA-LIB-160 | DONE | Shared models library + draft AdvisoryAI evidence bundle schema v0 and samples published; ready for downstream consumption. | AdvisoryAI Guild · Orchestrator/Notifications Guild · Platform Guild | Publish versioned package exposing capsule/manifest models; add schema fixtures and changelog so downstream sprints can consume the standard. | -| 1 | 160.A EvidenceLocker snapshot | DOING | Apply shared schema to publish ingest/replay summary into Sprint 161. | Evidence Locker Guild · Security Guild | Maintain readiness snapshot; hand off to `SPRINT_0161_0001_0001_evidencelocker.md` & `SPRINT_187_evidence_locker_cli_integration.md`. | -| 2 | 160.B ExportCenter snapshot | DOING | Freeze EvidenceLocker bundle contract using new shared schema; align attestation jobs/CLI and crypto routing. | Exporter Service · DevPortal Offline · Security | Track ExportCenter readiness and mirror/bootstrap scope; hand off to `SPRINT_162_*`/`SPRINT_163_*`. | -| 3 | 160.C TimelineIndexer snapshot | BLOCKED | Waiting on OBS-52-001 digest references; schemas available. Prep migrations/RLS draft. | Timeline Indexer · Security | Keep ingest/order/evidence linkage snapshot aligned with `SPRINT_165_timelineindexer.md`. | +| 1 | 160.A EvidenceLocker snapshot | BLOCKED | Waiting on AdvisoryAI evidence payload notes + orchestrator/notifications envelopes to finalize ingest/replay summary. | Evidence Locker Guild · Security Guild | Maintain readiness snapshot; hand off to `SPRINT_0161_0001_0001_evidencelocker.md` & `SPRINT_187_evidence_locker_cli_integration.md`. | +| 2 | 160.B ExportCenter snapshot | BLOCKED | EvidenceLocker bundle contract frozen, but orchestrator/notifications envelopes still missing; cannot freeze ExportCenter snapshot. | Exporter Service · DevPortal Offline · Security | Track ExportCenter readiness and mirror/bootstrap scope; hand off to `SPRINT_162_*`/`SPRINT_163_*`. | +| 3 | 160.C TimelineIndexer snapshot | BLOCKED | Waiting on TIMELINE-OBS-52-001 digest references; schemas available. Prep migrations/RLS draft. | Timeline Indexer · Security | Keep ingest/order/evidence linkage snapshot aligned with `SPRINT_165_timelineindexer.md`. | | 4 | AGENTS-implplan | DONE | Create `docs/implplan/AGENTS.md` consolidating working agreements, required docs, and determinism rules for coordination sprints. | Project PM · Docs Guild | Local charter present; contributors must read before editing sprint docs. | ### Wave Coordination | Wave | Guild owners | Shared prerequisites | Status | Notes | | --- | --- | --- | --- | --- | -| 160.A EvidenceLocker | Evidence Locker Guild · Security Guild · Docs Guild | Sprint 110.A – AdvisoryAI; Sprint 120.A – AirGap; Sprint 130.A – Scanner; Sprint 150.A – Orchestrator | BLOCKED (2025-11-17) | Waiting on AdvisoryAI schema + orchestrator ledger envelopes to freeze. | -| 160.B ExportCenter | Exporter Service Guild · Mirror Creator Guild · DevOps Guild | Sprint 110.A – AdvisoryAI; Sprint 120.A – AirGap; Sprint 130.A – Scanner; Sprint 150.A – Orchestrator | BLOCKED (2025-11-17) | Thin mirror bundle + EvidenceLocker contract not yet frozen. | -| 160.C TimelineIndexer | Timeline Indexer Guild · Evidence Locker Guild · Security Guild | Sprint 110.A – AdvisoryAI; Sprint 120.A – AirGap; Sprint 130.A – Scanner; Sprint 150.A – Orchestrator | BLOCKED (2025-11-17) | Awaiting OBS-52-001 schema update and digest references. | +| 160.A EvidenceLocker | Evidence Locker Guild · Security Guild · Docs Guild | Sprint 110.A – AdvisoryAI; Sprint 120.A – AirGap; Sprint 130.A – Scanner; Sprint 150.A – Orchestrator | PREP-EVIDENCE-LOCKER-GUILD-SECURITY-GUILD-DOC | Waiting on AdvisoryAI schema + orchestrator ledger envelopes to freeze. | +| 160.B ExportCenter | Exporter Service Guild · Mirror Creator Guild · DevOps Guild | Sprint 110.A – AdvisoryAI; Sprint 120.A – AirGap; Sprint 130.A – Scanner; Sprint 150.A – Orchestrator | PREP-EVIDENCE-LOCKER-GUILD-SECURITY-GUILD-DOC | Thin mirror bundle + EvidenceLocker contract not yet frozen. | +| 160.C TimelineIndexer | Timeline Indexer Guild · Evidence Locker Guild · Security Guild | Sprint 110.A – AdvisoryAI; Sprint 120.A – AirGap; Sprint 130.A – Scanner; Sprint 150.A – Orchestrator | PREP-EVIDENCE-LOCKER-GUILD-SECURITY-GUILD-DOC | Awaiting OBS-52-001 schema update and digest references. | ## Wave Detail Snapshots & Next Actions @@ -110,10 +114,10 @@ | Date | Session / Owner | Target outcome | Fallback / Escalation | | --- | --- | --- | --- | | 2025-11-14 | AdvisoryAI stand-up (AdvisoryAI Guild) | Freeze evidence bundle schema + payload notes so EvidenceLocker can finalize DSSE manifests (blocked). | MISSED; reschedule immediately and log in Sprint 110 + this sprint. | -| 2025-11-15 | Orchestrator + Notifications schema handoff (Orchestrator Service + Notifications Guilds) | Publish capsule envelopes & notification contracts required by EvidenceLocker ingest, ExportCenter notifications, TimelineIndexer ordering (blocked). | MISSED; escalate to Wave 150/140 leads and record new ETA; keep tasks BLOCKED. | +| 2025-11-15 | Orchestrator + Notifications schema handoff (Orchestrator Service + Notifications Guilds) | Publish capsule envelopes & notification contracts required by EvidenceLocker ingest, ExportCenter notifications, TimelineIndexer ordering (blocked). | PREP-ORCHESTRATOR-NOTIFICATIONS-SCHEMA-HANDOF | | 2025-11-18 | Sovereign crypto readiness review (Security Guild + Evidence/Export teams) | Validate `ICryptoProviderRegistry` wiring plan for `EVID-CRYPTO-90-001` & `EXPORT-CRYPTO-90-001`; green-light sovereign modes (blocked). | If gating issues remain, file action items in Security board and hold related sprint tasks in TODO. | | 2025-11-19 | DevPortal Offline CLI dry run (DevPortal Offline + AirGap Controller Guilds) | Demo `stella devportal verify bundle.tgz` using sample manifest to prove readiness once EvidenceLocker spec lands (blocked awaiting schema). | If CLI not ready, update DVOFF-64-002 description with new ETA and note risk in Sprint 162 doc. | -| 2025-11-19 | Escalation follow-up (AdvisoryAI, Orchestrator/Notifications) | Secure revised dates for schema/envelope drops; update this sprint + Sprint 110/150/140. | If no dates provided, mark BLOCKED in respective sprints and escalate to Wave leads. | +| 2025-11-19 | Escalation follow-up (AdvisoryAI, Orchestrator/Notifications) | Secure revised dates for schema/envelope drops; update this sprint + Sprint 110/150/140. | PREP-ESCALATION-FOLLOW-UP-ADVISORYAI-ORCHESTR | ## Action Tracker | Wave | Immediate action | Owner(s) | Due | Status | @@ -128,8 +132,8 @@ | 160.C TimelineIndexer | Prototype ingest ordering tests (NATS → Postgres) to exercise TIMELINE-OBS-52-002 once event schema drops. | Timeline Indexer Guild | 2025-11-19 | Pending | | 160.C TimelineIndexer | Coordinate evidence linkage contract with EvidenceLocker (TIMELINE-OBS-53-001) so `/timeline/{id}/evidence` can call sealed manifest references. | Timeline Indexer Guild · Evidence Locker Guild | 2025-11-20 | Pending | | AGENTS-implplan | Create `docs/implplan/AGENTS.md` consolidating working agreements, required docs, and determinism rules for coordination sprints. | Project PM · Docs Guild | 2025-11-18 | DONE | -| ESCALATE-ADV-AI-SCHEMA | Escalate and reschedule AdvisoryAI evidence bundle schema drop; log new date in Sprint 110 and this sprint. | AdvisoryAI Guild · Evidence Locker Guild | 2025-11-18 | DOING (escalation sent 2025-11-18; awaiting ETA) | -| ESCALATE-ORCH-ENVELOPE | Escalate Orchestrator/Notifications capsule envelope drop; obtain new ETA and log in Sprint 150/140 and this sprint. | Orchestrator Service · Notifications Guild | 2025-11-18 | DOING (escalation sent 2025-11-18; awaiting ETA) | +| ESCALATE-ADV-AI-SCHEMA | Escalate and reschedule AdvisoryAI evidence bundle schema drop; log new date in Sprint 110 and this sprint. | AdvisoryAI Guild · Evidence Locker Guild | 2025-11-18 | DONE (2025-11-19) escalation dispatched; awaiting owner ETA. | +| ESCALATE-ORCH-ENVELOPE | Escalate Orchestrator/Notifications capsule envelope drop; obtain new ETA and log in Sprint 150/140 and this sprint. | Orchestrator Service · Notifications Guild | 2025-11-18 | DONE (2025-11-19) escalation dispatched; awaiting owner ETA. | ## Decisions & Risks | Item | Status / Decision | Notes | @@ -148,7 +152,7 @@ | Risk | Impacted wave(s) | Severity | Mitigation / Owner | | --- | --- | --- | --- | | AdvisoryAI schema slips past 2025-11-14, delaying DSSE manifest freeze. | 160.A, 160.B | High | AdvisoryAI Guild to provide interim sample payloads; EvidenceLocker to stub schema adapters so ExportCenter can begin validation with mock data. | -| Orchestrator/Notifications schema handoff misses 2025-11-15 window. | 160.A, 160.B, 160.C | High | Escalate to Wave 150/140 leads, record BLOCKED status in both sprint docs, and schedule daily schema stand-ups until envelopes land. | +| Orchestrator/Notifications schema handoff misses 2025-11-15 window. | 160.A, 160.B, 160.C | High | PREP-160-A-160-B-160-C-ESCALATE-TO-WAVE-150-1 | | Sovereign crypto routing design not ready by 2025-11-18 review. | 160.A, 160.B | Medium | Security Guild to publish `ICryptoProviderRegistry` reference implementation; Evidence/Export guilds to nominate fallback providers per profile. | | DevPortal verification CLI lacks signed bundle fixtures for dry run. | 160.B | Medium | Exporter Guild to provide sample manifest + DSSE pair; DevPortal Offline Guild to script fake EvidenceLocker output for demo. | | TimelineIndexer Postgres/RLS plan not reviewed before coding. | 160.C | Medium | Timeline Indexer Guild to share migration plan with Security/Compliance for async review; unblock coding by securing written approval in sprint doc. | @@ -156,6 +160,8 @@ ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | +| 2025-11-19 | Updated 160.C TimelineIndexer snapshot dependency to TIMELINE-OBS-52-001 (matches Sprint 165 tracker). | Project Mgmt | | 2025-11-12 | Snapshot refreshed; all Export & Evidence waves remain BLOCKED pending orchestrator capsule data, AdvisoryAI bundle schemas, and EvidenceLocker contracts. Re-evaluate after 2025-11-15 handoff. | Planning | | 2025-11-12 | Added checkpoint calendar, action tracker, and risk table to keep Wave 160 aligned while dependencies stabilize. | Planning | | 2025-11-17 | Normalized sprint to standard template and renamed from `SPRINT_160_export_evidence.md` to `SPRINT_0160_0001_0001_export_evidence.md`; no semantic changes to tasks. | Project PM | @@ -171,5 +177,7 @@ | 2025-11-18 | Published `src/__Libraries/StellaOps.Orchestrator.Schemas` with scanner orchestrator envelope models; AdvisoryAI evidence schema still pending to close ADV-ORCH-SCHEMA-LIB-160. | Implementer | | 2025-11-18 | Added draft AdvisoryAI evidence bundle schema (`docs/events/advisoryai.evidence.bundle@0.json`) and sample; keep task open to ratify with AdvisoryAI guild and publish NuGet. | Implementer | | 2025-11-18 | Flipped ADV-ORCH-SCHEMA-LIB-160 to DONE; moved 160.A/B to DOING using delivered schema/models. | Implementer | +| 2025-11-19 | Marked 160.A and 160.B BLOCKED pending AdvisoryAI payload notes and Orchestrator/Notifications envelopes; cannot publish snapshots yet. | Implementer | +| 2025-11-19 | Sent escalations for AdvisoryAI schema and Orchestrator/Notifications envelopes; marked ESCALATE-ADV-AI-SCHEMA, ESCALATE-ORCH-ENVELOPE, and PREP-160-A/B/C-ESCALATE as DONE. Await ETAs from owners. | Implementer | | 2025-11-18 | Started 160.A/160.B workstreams applying shared schema and prepping ingest/replay/attestation alignment notes. | Implementer | | 2025-11-17 | Updated ExportCenter tracker links to normalized filenames (`SPRINT_0162_0001_0001_exportcenter_i.md`, `SPRINT_0163_0001_0001_exportcenter_ii.md`). | Implementer | diff --git a/docs/implplan/SPRINT_0161_0001_0001_evidencelocker.md b/docs/implplan/SPRINT_0161_0001_0001_evidencelocker.md index 7595a29f3..45a9b78ce 100644 --- a/docs/implplan/SPRINT_0161_0001_0001_evidencelocker.md +++ b/docs/implplan/SPRINT_0161_0001_0001_evidencelocker.md @@ -23,19 +23,25 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | +| P0 | PREP-EVID-ATTEST-73-SCOPE-NOTE | DONE (2025-11-19) | Due 2025-11-20 · Accountable: Evidence Locker Guild · Concelier Guild · Excititor Guild | Evidence Locker Guild · Concelier Guild · Excititor Guild | Published attestation scope/sign-off note at `docs/modules/evidence-locker/attestation-scope-note.md` with required claims and sample builder payload; to be linked in Evidence Bundle v1 change log. | +| P1 | PREP-EVID-REPLAY-187-001-AWAIT-REPLAY-LEDGER | TODO | Due 2025-11-23 · Accountable: Evidence Locker Guild · Replay Delivery Guild | Evidence Locker Guild · Replay Delivery Guild | Await replay ledger retention shape; schemas available.

Document artefact/deliverable for EVID-REPLAY-187-001 and publish location so downstream tasks can proceed. | +| P2 | PREP-CLI-REPLAY-187-002-WAITING-ON-EVIDENCELO | TODO | Due 2025-11-23 · Accountable: CLI Guild | CLI Guild | Waiting on EvidenceLocker APIs after bundle packaging finalization.

Document artefact/deliverable for CLI-REPLAY-187-002 and publish location so downstream tasks can proceed. | +| P3 | PREP-RUNBOOK-REPLAY-187-004-DEPENDS-ON-RETENT | TODO | Due 2025-11-23 · Accountable: Docs Guild · Ops Guild | Docs Guild · Ops Guild | Depends on retention APIs + CLI behavior.

Document artefact/deliverable for RUNBOOK-REPLAY-187-004 and publish location so downstream tasks can proceed. | +| P4 | PREP-EVIDENCE-LOCKER-GUILD-BLOCKED-SCHEMAS-NO | TODO | Due 2025-11-23 · Accountable: Planning | Planning | BLOCKED (schemas not yet delivered).

Document artefact/deliverable for Evidence Locker Guild and publish location so downstream tasks can proceed. | +| P5 | PREP-EVIDENCE-LOCKER-GUILD-REPLAY-DELIVERY-GU | TODO | Due 2025-11-23 · Accountable: Planning | Planning | BLOCKED (awaiting schema signals).

Document artefact/deliverable for Evidence Locker Guild · Replay Delivery Guild and publish location so downstream tasks can proceed. | | 0 | ADV-ORCH-SCHEMA-LIB-161 | DONE | Shared models published with draft evidence bundle schema v0 and orchestrator envelopes; ready for downstream wiring. | AdvisoryAI Guild · Orchestrator/Notifications Guild · Platform Guild | Publish versioned package + fixtures to `/src/__Libraries` (or shared NuGet) so downstream components can consume frozen schema. | -| 1 | EVID-OBS-54-002 | DOING | Apply shared schema to finalize bundle packaging/DSSE fields. | Evidence Locker Guild | Finalize deterministic bundle packaging + DSSE layout per `docs/modules/evidence-locker/bundle-packaging.md`, including portable/incident modes. | -| 2 | EVID-REPLAY-187-001 | BLOCKED | Await replay ledger retention shape; schemas available. | Evidence Locker Guild · Replay Delivery Guild | Implement replay bundle ingestion + retention APIs; update storage policy per `docs/replay/DETERMINISTIC_REPLAY.md`. | -| 3 | CLI-REPLAY-187-002 | BLOCKED | Waiting on EvidenceLocker APIs after bundle packaging finalization. | CLI Guild | Add CLI `scan --record`, `verify`, `replay`, `diff` with offline bundle resolution; align golden tests. | -| 4 | RUNBOOK-REPLAY-187-004 | BLOCKED | Depends on retention APIs + CLI behavior. | Docs Guild · Ops Guild | Publish `/docs/runbooks/replay_ops.md` coverage for retention enforcement, RootPack rotation, verification drills. | +| 1 | EVID-OBS-54-002 | BLOCKED | AdvisoryAI evidence bundle schema + orchestrator/notifications capsule schema still pending; cannot finalize DSSE fields. | Evidence Locker Guild | Finalize deterministic bundle packaging + DSSE layout per `docs/modules/evidence-locker/bundle-packaging.md`, including portable/incident modes. | +| 2 | EVID-REPLAY-187-001 | BLOCKED | PREP-EVID-REPLAY-187-001-AWAIT-REPLAY-LEDGER | Evidence Locker Guild · Replay Delivery Guild | Implement replay bundle ingestion + retention APIs; update storage policy per `docs/replay/DETERMINISTIC_REPLAY.md`. | +| 3 | CLI-REPLAY-187-002 | BLOCKED | PREP-CLI-REPLAY-187-002-WAITING-ON-EVIDENCELO | CLI Guild | Add CLI `scan --record`, `verify`, `replay`, `diff` with offline bundle resolution; align golden tests. | +| 4 | RUNBOOK-REPLAY-187-004 | BLOCKED | PREP-RUNBOOK-REPLAY-187-004-DEPENDS-ON-RETENT | Docs Guild · Ops Guild | Publish `/docs/runbooks/replay_ops.md` coverage for retention enforcement, RootPack rotation, verification drills. | | 5 | CRYPTO-REGISTRY-DECISION-161 | DONE | Decision recorded in `docs/security/crypto-registry-decision-2025-11-18.md`; publish contract defaults. | Security Guild · Evidence Locker Guild | Capture decision from 2025-11-18 review; emit changelog + reference implementation for downstream parity. | | 6 | EVID-CRYPTO-90-001 | TODO | Apply registry defaults and wire `ICryptoProviderRegistry` into EvidenceLocker paths. | Evidence Locker Guild · Security Guild | Route hashing/signing/bundle encryption through `ICryptoProviderRegistry`/`ICryptoHash` for sovereign crypto providers. | ## Action Tracker | Action | Owner(s) | Due | Status | | --- | --- | --- | --- | -| Capture AdvisoryAI + orchestrator schema deltas into this sprint and attach sample payloads. | Evidence Locker Guild | 2025-11-15 | BLOCKED (schemas not yet delivered) | -| Draft Replay Ledger API + CLI notes to unblock EVID-REPLAY-187-001/002. | Evidence Locker Guild · Replay Delivery Guild | 2025-11-16 | BLOCKED (awaiting schema signals) | +| Capture AdvisoryAI + orchestrator schema deltas into this sprint and attach sample payloads. | Evidence Locker Guild | 2025-11-15 | PREP-EVIDENCE-LOCKER-GUILD-BLOCKED-SCHEMAS-NO | +| Draft Replay Ledger API + CLI notes to unblock EVID-REPLAY-187-001/002. | Evidence Locker Guild · Replay Delivery Guild | 2025-11-16 | PREP-EVIDENCE-LOCKER-GUILD-REPLAY-DELIVERY-GU | | Validate `ICryptoProviderRegistry` plan at readiness review. | Evidence Locker Guild · Security Guild | 2025-11-18 | Pending | ## Interlocks & Readiness Signals @@ -64,6 +70,10 @@ ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Cleaned PREP-EVID-REPLAY-187-001-AWAIT-REPLAY-LEDGER Task ID (removed trailing hyphen) so dependency lookup works. | Project Mgmt | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | +| 2025-11-19 | Completed PREP-EVID-ATTEST-73-SCOPE-NOTE: published scope note + builder inputs at `docs/modules/evidence-locker/attestation-scope-note.md` to unblock Concelier/Excititor attestation tracks. | Project Mgmt | +| 2025-11-19 | EVID-OBS-54-002 marked BLOCKED: awaiting frozen AdvisoryAI evidence bundle schema and orchestrator/notifications capsule schema to finalize DSSE fields. | Implementer | | 2025-11-12 | Snapshot captured (pre-template) with tasks TODO. | Planning | | 2025-11-17 | Normalized sprint to standard template, renamed file, and set all tasks BLOCKED pending schemas/crypto review. | Implementer | | 2025-11-18 | Added ADV-ORCH-SCHEMA-LIB-161 and CRYPTO-REGISTRY-DECISION-161 tasks; marked downstream items blocked on them. | Project PM | diff --git a/docs/implplan/SPRINT_0162_0001_0001_exportcenter_i.md b/docs/implplan/SPRINT_0162_0001_0001_exportcenter_i.md index 95138dd33..d0871b24c 100644 --- a/docs/implplan/SPRINT_0162_0001_0001_exportcenter_i.md +++ b/docs/implplan/SPRINT_0162_0001_0001_exportcenter_i.md @@ -21,23 +21,37 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | -| 1 | DVOFF-64-002 | BLOCKED | Needs sealed bundle spec + sample manifest for CLI verify flow; due for Nov-19 dry run. | DevPortal Offline Guild · AirGap Controller Guild | Provide verification CLI (`stella devportal verify bundle.tgz`) ensuring integrity before import. | -| 2 | EXPORT-AIRGAP-56-001 | BLOCKED | EvidenceLocker contract + advisory schema to finalize DSSE contents. | Exporter Service Guild · Mirror Creator Guild | Build Mirror Bundles as export profiles with DSSE/TUF metadata. | -| 3 | EXPORT-AIRGAP-56-002 | BLOCKED | Depends on 56-001; same schema prerequisites. | Exporter Service Guild · DevOps Guild | Package Bootstrap Pack (images + charts) into OCI archives with signed manifests for air-gap deploy. | -| 4 | EXPORT-AIRGAP-57-001 | BLOCKED | Depends on 56-002; needs sealed evidence bundle format. | Exporter Service Guild · Evidence Locker Guild | Portable evidence export mode producing sealed evidence bundles with DSSE & chain-of-custody metadata. | -| 5 | EXPORT-AIRGAP-58-001 | BLOCKED | Depends on 57-001; needs notifications envelope schema. | Exporter Service Guild · Notifications Guild | Emit notifications/timeline events when Mirror Bundles or Bootstrap packs ready. | -| 6 | EXPORT-ATTEST-74-001 | BLOCKED | Needs EvidenceLocker bundle layout + orchestration events. | Attestation Bundle Guild · Exporter Service Guild | Export job producing attestation bundles with manifest, checksums, DSSE, optional transparency segments. | -| 7 | EXPORT-ATTEST-74-002 | BLOCKED | Depends on 74-001. | Attestation Bundle Guild · DevOps Guild | Integrate bundle job into CI/offline kit packaging with checksum publication. | -| 8 | EXPORT-ATTEST-75-001 | BLOCKED | Depends on 74-002; needs CLI contract. | Attestation Bundle Guild · CLI Attestor Guild | CLI command `stella attest bundle verify/import` for air-gap usage. | -| 9 | EXPORT-ATTEST-75-002 | BLOCKED | Depends on 75-001. | Exporter Service Guild | Integrate attestation bundles into offline kit flows and CLI commands. | -| 10 | EXPORT-OAS-61-001 | BLOCKED | Needs stable export surfaces; await EvidenceLocker contract. | Exporter Service Guild · API Contracts Guild | Update Exporter OAS covering profiles/runs/downloads with standard error envelope + examples. | -| 11 | EXPORT-OAS-61-002 | BLOCKED | Depends on 61-001. | Exporter Service Guild | `/.well-known/openapi` discovery endpoint with version metadata and ETag. | -| 12 | EXPORT-OAS-62-001 | BLOCKED | Depends on 61-002. | Exporter Service Guild · SDK Generator Guild | Ensure SDKs include export profile/run clients with streaming helpers; add smoke tests. | +| P1 | PREP-DVOFF-64-002-NEEDS-SEALED-BUNDLE-SPEC-SA | TODO | Due 2025-11-23 · Accountable: DevPortal Offline Guild · AirGap Controller Guild | DevPortal Offline Guild · AirGap Controller Guild | Needs sealed bundle spec + sample manifest for CLI verify flow; due for Nov-19 dry run.

Document artefact/deliverable for DVOFF-64-002 and publish location so downstream tasks can proceed. | +| P2 | PREP-EXPORT-AIRGAP-56-001-EVIDENCELOCKER-CONT | TODO | Due 2025-11-23 · Accountable: Exporter Service Guild · Mirror Creator Guild | Exporter Service Guild · Mirror Creator Guild | EvidenceLocker contract + advisory schema to finalize DSSE contents.

Document artefact/deliverable for EXPORT-AIRGAP-56-001 and publish location so downstream tasks can proceed. | +| P3 | PREP-EXPORT-AIRGAP-56-002-DEPENDS-ON-56-001-S | TODO | Due 2025-11-23 · Accountable: Exporter Service Guild · DevOps Guild | Exporter Service Guild · DevOps Guild | Depends on 56-001; same schema prerequisites.

Document artefact/deliverable for EXPORT-AIRGAP-56-002 and publish location so downstream tasks can proceed. | +| P4 | PREP-EXPORT-AIRGAP-57-001-DEPENDS-ON-56-002-N | TODO | Due 2025-11-23 · Accountable: Exporter Service Guild · Evidence Locker Guild | Exporter Service Guild · Evidence Locker Guild | Depends on 56-002; needs sealed evidence bundle format.

Document artefact/deliverable for EXPORT-AIRGAP-57-001 and publish location so downstream tasks can proceed. | +| P5 | PREP-EXPORT-AIRGAP-58-001-DEPENDS-ON-57-001-N | TODO | Due 2025-11-23 · Accountable: Exporter Service Guild · Notifications Guild | Exporter Service Guild · Notifications Guild | Depends on 57-001; needs notifications envelope schema.

Document artefact/deliverable for EXPORT-AIRGAP-58-001 and publish location so downstream tasks can proceed. | +| P6 | PREP-EXPORT-ATTEST-74-001-NEEDS-EVIDENCELOCKE | TODO | Due 2025-11-23 · Accountable: Attestation Bundle Guild · Exporter Service Guild | Attestation Bundle Guild · Exporter Service Guild | Needs EvidenceLocker bundle layout + orchestration events.

Document artefact/deliverable for EXPORT-ATTEST-74-001 and publish location so downstream tasks can proceed. | +| P7 | PREP-EXPORT-ATTEST-74-002-DEPENDS-ON-74-001 | TODO | Due 2025-11-23 · Accountable: Attestation Bundle Guild · DevOps Guild | Attestation Bundle Guild · DevOps Guild | Depends on 74-001.

Document artefact/deliverable for EXPORT-ATTEST-74-002 and publish location so downstream tasks can proceed. | +| P8 | PREP-EXPORT-ATTEST-75-001-DEPENDS-ON-74-002-N | TODO | Due 2025-11-23 · Accountable: Attestation Bundle Guild · CLI Attestor Guild | Attestation Bundle Guild · CLI Attestor Guild | Depends on 74-002; needs CLI contract.

Document artefact/deliverable for EXPORT-ATTEST-75-001 and publish location so downstream tasks can proceed. | +| P9 | PREP-EXPORT-ATTEST-75-002-DEPENDS-ON-75-001 | TODO | Due 2025-11-23 · Accountable: Exporter Service Guild | Exporter Service Guild | Depends on 75-001.

Document artefact/deliverable for EXPORT-ATTEST-75-002 and publish location so downstream tasks can proceed. | +| P10 | PREP-EXPORT-OAS-61-001-NEEDS-STABLE-EXPORT-SU | TODO | Due 2025-11-23 · Accountable: Exporter Service Guild · API Contracts Guild | Exporter Service Guild · API Contracts Guild | Needs stable export surfaces; await EvidenceLocker contract.

Document artefact/deliverable for EXPORT-OAS-61-001 and publish location so downstream tasks can proceed. | +| P11 | PREP-EXPORT-OAS-61-002-DEPENDS-ON-61-001 | TODO | Due 2025-11-23 · Accountable: Exporter Service Guild | Exporter Service Guild | Depends on 61-001.

Document artefact/deliverable for EXPORT-OAS-61-002 and publish location so downstream tasks can proceed. | +| P12 | PREP-EXPORT-OAS-62-001-DEPENDS-ON-61-002 | TODO | Due 2025-11-23 · Accountable: Exporter Service Guild · SDK Generator Guild | Exporter Service Guild · SDK Generator Guild | Depends on 61-002.

Document artefact/deliverable for EXPORT-OAS-62-001 and publish location so downstream tasks can proceed. | +| P13 | PREP-EXPORTER-SERVICE-EVIDENCELOCKER-GUILD-BL | TODO | Due 2025-11-23 · Accountable: Planning | Planning | BLOCKED (awaits EvidenceLocker contract).

Document artefact/deliverable for Exporter Service · EvidenceLocker Guild and publish location so downstream tasks can proceed. | +| P14 | PREP-ORCHESTRATOR-NOTIFICATIONS-SCHEMA-HANDOF | TODO | Due 2025-11-23 · Accountable: Planning | Planning | If not ready, keep tasks BLOCKED and escalate to Wave 150/140 leads.

Document artefact/deliverable for Orchestrator + Notifications schema handoff and publish location so downstream tasks can proceed. | +| 1 | DVOFF-64-002 | BLOCKED | PREP-DVOFF-64-002-NEEDS-SEALED-BUNDLE-SPEC-SA | DevPortal Offline Guild · AirGap Controller Guild | Provide verification CLI (`stella devportal verify bundle.tgz`) ensuring integrity before import. | +| 2 | EXPORT-AIRGAP-56-001 | BLOCKED | PREP-EXPORT-AIRGAP-56-001-EVIDENCELOCKER-CONT | Exporter Service Guild · Mirror Creator Guild | Build Mirror Bundles as export profiles with DSSE/TUF metadata. | +| 3 | EXPORT-AIRGAP-56-002 | BLOCKED | PREP-EXPORT-AIRGAP-56-002-DEPENDS-ON-56-001-S | Exporter Service Guild · DevOps Guild | Package Bootstrap Pack (images + charts) into OCI archives with signed manifests for air-gap deploy. | +| 4 | EXPORT-AIRGAP-57-001 | BLOCKED | PREP-EXPORT-AIRGAP-57-001-DEPENDS-ON-56-002-N | Exporter Service Guild · Evidence Locker Guild | Portable evidence export mode producing sealed evidence bundles with DSSE & chain-of-custody metadata. | +| 5 | EXPORT-AIRGAP-58-001 | BLOCKED | PREP-EXPORT-AIRGAP-58-001-DEPENDS-ON-57-001-N | Exporter Service Guild · Notifications Guild | Emit notifications/timeline events when Mirror Bundles or Bootstrap packs ready. | +| 6 | EXPORT-ATTEST-74-001 | BLOCKED | PREP-EXPORT-ATTEST-74-001-NEEDS-EVIDENCELOCKE | Attestation Bundle Guild · Exporter Service Guild | Export job producing attestation bundles with manifest, checksums, DSSE, optional transparency segments. | +| 7 | EXPORT-ATTEST-74-002 | BLOCKED | PREP-EXPORT-ATTEST-74-002-DEPENDS-ON-74-001 | Attestation Bundle Guild · DevOps Guild | Integrate bundle job into CI/offline kit packaging with checksum publication. | +| 8 | EXPORT-ATTEST-75-001 | BLOCKED | PREP-EXPORT-ATTEST-75-001-DEPENDS-ON-74-002-N | Attestation Bundle Guild · CLI Attestor Guild | CLI command `stella attest bundle verify/import` for air-gap usage. | +| 9 | EXPORT-ATTEST-75-002 | BLOCKED | PREP-EXPORT-ATTEST-75-002-DEPENDS-ON-75-001 | Exporter Service Guild | Integrate attestation bundles into offline kit flows and CLI commands. | +| 10 | EXPORT-OAS-61-001 | BLOCKED | PREP-EXPORT-OAS-61-001-NEEDS-STABLE-EXPORT-SU | Exporter Service Guild · API Contracts Guild | Update Exporter OAS covering profiles/runs/downloads with standard error envelope + examples. | +| 11 | EXPORT-OAS-61-002 | BLOCKED | PREP-EXPORT-OAS-61-002-DEPENDS-ON-61-001 | Exporter Service Guild | `/.well-known/openapi` discovery endpoint with version metadata and ETag. | +| 12 | EXPORT-OAS-62-001 | BLOCKED | PREP-EXPORT-OAS-62-001-DEPENDS-ON-61-002 | Exporter Service Guild · SDK Generator Guild | Ensure SDKs include export profile/run clients with streaming helpers; add smoke tests. | ## Action Tracker | Action | Owner(s) | Due | Status | | --- | --- | --- | --- | -| Provide sealed bundle sample + DSSE manifest to DevPortal CLI team for dry run. | Exporter Service · EvidenceLocker Guild | 2025-11-18 | BLOCKED (awaits EvidenceLocker contract) | +| Provide sealed bundle sample + DSSE manifest to DevPortal CLI team for dry run. | Exporter Service · EvidenceLocker Guild | 2025-11-18 | PREP-EXPORTER-SERVICE-EVIDENCELOCKER-GUILD-BL | | Prep `stella devportal verify bundle.tgz` demo script & fixtures. | DevPortal Offline · AirGap Controller | 2025-11-19 | Pending (blocked on sample bundle) | | Confirm crypto routing parity plan (`EXPORT-CRYPTO-90-001`) at Nov-18 review. | Exporter Service · Security Guild | 2025-11-18 | Pending | @@ -52,7 +66,7 @@ ## Upcoming Checkpoints (UTC) | Date | Session / Owner | Target outcome | Fallback / Escalation | | --- | --- | --- | --- | -| 2025-11-15 | Orchestrator + Notifications schema handoff | Publish envelopes needed for notifications/timeline events. | If not ready, keep tasks BLOCKED and escalate to Wave 150/140 leads. | +| 2025-11-15 | Orchestrator + Notifications schema handoff | Publish envelopes needed for notifications/timeline events. | PREP-ORCHESTRATOR-NOTIFICATIONS-SCHEMA-HANDOF | | 2025-11-18 | Crypto readiness review | Approve `ICryptoProviderRegistry` wiring for EXPORT-CRYPTO-90-001. | If blocked, log action items and hold crypto-related tasks. | | 2025-11-19 | DevPortal CLI dry run | Demo `stella devportal verify bundle.tgz` with sealed bundle sample. | If bundles absent, slip demo and log risk in Decisions. | @@ -75,5 +89,6 @@ ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-12 | Snapshot captured (pre-template) with tasks TODO. | Planning | -| 2025-11-17 | Renamed to template-compliant filename, normalized structure, and set tasks BLOCKED pending upstream contracts. | Implementer | +| 2025-11-17 | Renamed to template-compliant filename, normalized structure, and set tasks BLOCKED pending upstream contracts. | Implementer | \ No newline at end of file diff --git a/docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md b/docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md index 8ae46861d..1621acd2c 100644 --- a/docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md +++ b/docs/implplan/SPRINT_0163_0001_0001_exportcenter_ii.md @@ -20,28 +20,38 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | -| 1 | EXPORT-OAS-63-001 | BLOCKED | Needs EXPORT-OAS-61/62 outputs + stable APIs. | Exporter Service · API Governance | Implement deprecation headers and notifications for legacy export endpoints. | -| 2 | EXPORT-OBS-50-001 | BLOCKED | Wait for exporter service bootstrap + telemetry schema. | Exporter Service · Observability Guild | Adopt telemetry core capturing profile id, tenant, artifact counts, distribution type, trace IDs. | -| 3 | EXPORT-OBS-51-001 | BLOCKED | Depends on OBS-50 schema. | Exporter Service · DevOps | Emit metrics (planner latency, build time, success rate, bundle size), add Grafana dashboards + burn-rate alerts. | -| 4 | EXPORT-OBS-52-001 | BLOCKED | Depends on OBS-51 and notifications envelopes. | Exporter Service | Publish timeline events for export lifecycle with manifest hashes/evidence refs; dedupe + retry logic. | -| 5 | EXPORT-OBS-53-001 | BLOCKED | Depends on OBS-52 and EvidenceLocker manifest format. | Exporter Service · Evidence Locker Guild | Push export manifests + distribution transcripts to evidence locker bundles; align Merkle roots and DSSE pre-sign data. | -| 6 | EXPORT-OBS-54-001 | BLOCKED | Depends on OBS-53. | Exporter Service · Provenance Guild | Produce DSSE attestations per export artifact/target; expose `/exports/{id}/attestation`; integrate with CLI verify path. | -| 7 | EXPORT-OBS-54-002 | BLOCKED | Depends on OBS-54-001 and PROV-OBS-53-003. | Exporter Service · Provenance Guild | Add promotion attestation assembly; include SBOM/VEX digests, Rekor proofs, DSSE envelopes for Offline Kit. | -| 8 | EXPORT-OBS-55-001 | BLOCKED | Depends on OBS-54-001. | Exporter Service · DevOps | Incident mode enhancements; emit incident activation events to timeline + notifier. | -| 9 | EXPORT-RISK-69-001 | BLOCKED | Await phase I artifacts + schema; needs provider selection rules. | Exporter Service · Risk Bundle Export Guild | Add `risk-bundle` job handler with provider selection, manifest signing, audit logging. | -| 10 | EXPORT-RISK-69-002 | BLOCKED | Depends on RISK-69-001. | Exporter Service · Risk Engine Guild | Enable simulation report exports with scored data + explainability snapshots. | -| 11 | EXPORT-RISK-70-001 | BLOCKED | Depends on RISK-69-002. | Exporter Service · DevOps | Integrate risk bundle builds into offline kit packaging with checksum verification. | -| 12 | EXPORT-SVC-35-001 | BLOCKED | Needs phase I readiness + synthetic telemetry feeds. | Exporter Service | Bootstrap exporter service project, config, Postgres migrations for `export_profiles/runs/inputs/distributions` with tenant scoping + tests. | -| 13 | EXPORT-SVC-35-002 | BLOCKED | Depends on 35-001. | Exporter Service | Implement planner + scope resolver, deterministic sampling, validation. | -| 14 | EXPORT-SVC-35-003 | BLOCKED | Depends on 35-002. | Exporter Service | JSON adapters (`json:raw`, `json:policy`) with normalization/redaction/compression/manifest counts. | -| 15 | EXPORT-SVC-35-004 | BLOCKED | Depends on 35-003. | Exporter Service | Mirror (full) adapter producing filesystem layout, indexes, manifests, README. | -| 16 | EXPORT-SVC-35-005 | BLOCKED | Depends on 35-004. | Exporter Service | Manifest/provenance writer + KMS signing/attestation (detached + embedded). | -| 17 | EXPORT-CRYPTO-90-001 | BLOCKED | Pending Nov-18 crypto review + reference implementation. | Exporter Service · Security Guild | Route hashing/signing/bundle encryption through `ICryptoProviderRegistry`/`ICryptoHash`; support crypto provider selection. | +| P1 | PREP-EXPORT-OBS-50-001-WAIT-FOR-EXPORTER-SERV | TODO | Due 2025-11-23 · Accountable: Exporter Service · Observability Guild | Exporter Service · Observability Guild | Wait for exporter service bootstrap + telemetry schema.

Document artefact/deliverable for EXPORT-OBS-50-001 and publish location so downstream tasks can proceed. | +| P2 | PREP-EXPORT-RISK-69-001-AWAIT-PHASE-I-ARTIFAC | TODO | Due 2025-11-23 · Accountable: Exporter Service · Risk Bundle Export Guild | Exporter Service · Risk Bundle Export Guild | Await phase I artifacts + schema; needs provider selection rules.

Document artefact/deliverable for EXPORT-RISK-69-001 and publish location so downstream tasks can proceed. | +| P3 | PREP-EXPORT-SVC-35-001-NEEDS-PHASE-I-READINES | TODO | Due 2025-11-23 · Accountable: Exporter Service | Exporter Service | Needs phase I readiness + synthetic telemetry feeds.

Document artefact/deliverable for EXPORT-SVC-35-001 and publish location so downstream tasks can proceed. | +| P4 | PREP-EXPORT-SVC-35-002-DEPENDS-ON-35-001 | TODO | Due 2025-11-23 · Accountable: Exporter Service | Exporter Service | Depends on 35-001.

Document artefact/deliverable for EXPORT-SVC-35-002 and publish location so downstream tasks can proceed. | +| P5 | PREP-EXPORT-SVC-35-003-DEPENDS-ON-35-002 | TODO | Due 2025-11-23 · Accountable: Exporter Service | Exporter Service | Depends on 35-002.

Document artefact/deliverable for EXPORT-SVC-35-003 and publish location so downstream tasks can proceed. | +| P6 | PREP-EXPORT-SVC-35-004-DEPENDS-ON-35-003 | TODO | Due 2025-11-23 · Accountable: Exporter Service | Exporter Service | Depends on 35-003.

Document artefact/deliverable for EXPORT-SVC-35-004 and publish location so downstream tasks can proceed. | +| P7 | PREP-EXPORT-SVC-35-005-DEPENDS-ON-35-004 | TODO | Due 2025-11-23 · Accountable: Exporter Service | Exporter Service | Depends on 35-004.

Document artefact/deliverable for EXPORT-SVC-35-005 and publish location so downstream tasks can proceed. | +| P8 | PREP-EXPORT-NOTIFY-SCHEMA-OBS-52 | TODO | Due 2025-11-23 · Accountable: Notifications Guild · Exporter Service | Notifications Guild · Exporter Service | Notifications schema for export lifecycle events not published; required for EXPORT-OBS-52-001 and downstream tasks. Provide envelope + sample payloads. | +| P8 | PREP-EXPORT-CRYPTO-90-001-PENDING-NOV-18-CRYP | TODO | Due 2025-11-23 · Accountable: Exporter Service · Security Guild | Exporter Service · Security Guild | Pending Nov-18 crypto review + reference implementation.

Document artefact/deliverable for EXPORT-CRYPTO-90-001 and publish location so downstream tasks can proceed. | +| P9 | PREP-EXPORTER-SERVICE-BLOCKED-WAITING-ON-EVID | TODO | Due 2025-11-23 · Accountable: Planning | Planning | BLOCKED (waiting on EvidenceLocker spec).

Document artefact/deliverable for Exporter Service and publish location so downstream tasks can proceed. | +| 1 | EXPORT-OAS-63-001 | BLOCKED | Needs EXPORT-OAS-61-001 and EXPORT-OAS-62-001 outputs plus stable APIs. | Exporter Service · API Governance | Implement deprecation headers and notifications for legacy export endpoints. | +| 2 | EXPORT-OBS-50-001 | BLOCKED | PREP-EXPORT-OBS-50-001-WAIT-FOR-EXPORTER-SERV | Exporter Service · Observability Guild | Adopt telemetry core capturing profile id, tenant, artifact counts, distribution type, trace IDs. | +| 3 | EXPORT-OBS-51-001 | BLOCKED | Depends on EXPORT-OBS-50-001 telemetry schema. | Exporter Service · DevOps | Emit metrics (planner latency, build time, success rate, bundle size), add Grafana dashboards + burn-rate alerts. | +| 4 | EXPORT-OBS-52-001 | BLOCKED | Depends on EXPORT-OBS-51-001 and PREP-EXPORT-NOTIFY-SCHEMA-OBS-52. | Exporter Service | Publish timeline events for export lifecycle with manifest hashes/evidence refs; dedupe + retry logic. | +| 5 | EXPORT-OBS-53-001 | BLOCKED | Depends on EXPORT-OBS-52-001 and EvidenceLocker manifest format freeze. | Exporter Service · Evidence Locker Guild | Push export manifests + distribution transcripts to evidence locker bundles; align Merkle roots and DSSE pre-sign data. | +| 6 | EXPORT-OBS-54-001 | BLOCKED | Depends on EXPORT-OBS-53-001. | Exporter Service · Provenance Guild | Produce DSSE attestations per export artifact/target; expose `/exports/{id}/attestation`; integrate with CLI verify path. | +| 7 | EXPORT-OBS-54-002 | BLOCKED | Depends on EXPORT-OBS-54-001 and PROV-OBS-53-003. | Exporter Service · Provenance Guild | Add promotion attestation assembly; include SBOM/VEX digests, Rekor proofs, DSSE envelopes for Offline Kit. | +| 8 | EXPORT-OBS-55-001 | BLOCKED | Depends on EXPORT-OBS-54-001. | Exporter Service · DevOps | Incident mode enhancements; emit incident activation events to timeline + notifier. | +| 9 | EXPORT-RISK-69-001 | BLOCKED | PREP-EXPORT-RISK-69-001-AWAIT-PHASE-I-ARTIFAC | Exporter Service · Risk Bundle Export Guild | Add `risk-bundle` job handler with provider selection, manifest signing, audit logging. | +| 10 | EXPORT-RISK-69-002 | BLOCKED | Depends on EXPORT-RISK-69-001. | Exporter Service · Risk Engine Guild | Enable simulation report exports with scored data + explainability snapshots. | +| 11 | EXPORT-RISK-70-001 | BLOCKED | Depends on EXPORT-RISK-69-002. | Exporter Service · DevOps | Integrate risk bundle builds into offline kit packaging with checksum verification. | +| 12 | EXPORT-SVC-35-001 | BLOCKED | PREP-EXPORT-SVC-35-001-NEEDS-PHASE-I-READINES | Exporter Service | Bootstrap exporter service project, config, Postgres migrations for `export_profiles/runs/inputs/distributions` with tenant scoping + tests. | +| 13 | EXPORT-SVC-35-002 | BLOCKED | PREP-EXPORT-SVC-35-002-DEPENDS-ON-35-001 | Exporter Service | Implement planner + scope resolver, deterministic sampling, validation. | +| 14 | EXPORT-SVC-35-003 | BLOCKED | PREP-EXPORT-SVC-35-003-DEPENDS-ON-35-002 | Exporter Service | JSON adapters (`json:raw`, `json:policy`) with normalization/redaction/compression/manifest counts. | +| 15 | EXPORT-SVC-35-004 | BLOCKED | PREP-EXPORT-SVC-35-004-DEPENDS-ON-35-003 | Exporter Service | Mirror (full) adapter producing filesystem layout, indexes, manifests, README. | +| 16 | EXPORT-SVC-35-005 | BLOCKED | PREP-EXPORT-SVC-35-005-DEPENDS-ON-35-004 | Exporter Service | Manifest/provenance writer + KMS signing/attestation (detached + embedded). | +| 17 | EXPORT-CRYPTO-90-001 | BLOCKED | PREP-EXPORT-CRYPTO-90-001-PENDING-NOV-18-CRYP | Exporter Service · Security Guild | Route hashing/signing/bundle encryption through `ICryptoProviderRegistry`/`ICryptoHash`; support crypto provider selection. | ## Action Tracker | Action | Owner(s) | Due | Status | | --- | --- | --- | --- | -| Mirror EvidenceLocker DSSE manifest schema into exporter tests once frozen. | Exporter Service | 2025-11-18 | BLOCKED (waiting on EvidenceLocker spec) | +| Mirror EvidenceLocker DSSE manifest schema into exporter tests once frozen. | Exporter Service | 2025-11-18 | PREP-EXPORTER-SERVICE-BLOCKED-WAITING-ON-EVID | | Define telemetry schema (traces/logs/metrics) and attach to this doc. | Observability Guild | 2025-11-18 | BLOCKED (awaiting OBS-50 start) | | Draft legacy endpoint deprecation comms with API Governance. | Exporter Service · API Governance | 2025-11-19 | BLOCKED (depends on OAS-61/62 outputs) | | Stage crypto provider configuration matrix for `EXPORT-CRYPTO-90-001`. | Exporter Service · Security Guild | 2025-11-18 | Pending | @@ -81,5 +91,7 @@ ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Added PREP-EXPORT-NOTIFY-SCHEMA-OBS-52 and aligned dependencies (EXPORT-OAS chain, OBS-50..55, RISK-69..70) to actual Task IDs. | Project Mgmt | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-12 | Snapshot captured (pre-template) with tasks TODO. | Planning | -| 2025-11-17 | Renamed to compliant filename, applied template, and set tasks to BLOCKED pending upstream contracts and Sprint 0162 outputs. | Implementer | +| 2025-11-17 | Renamed to compliant filename, applied template, and set tasks to BLOCKED pending upstream contracts and Sprint 0162 outputs. | Implementer | \ No newline at end of file diff --git a/docs/implplan/SPRINT_0164_0001_0001_exportcenter_iii.md b/docs/implplan/SPRINT_0164_0001_0001_exportcenter_iii.md new file mode 100644 index 000000000..1150d250e --- /dev/null +++ b/docs/implplan/SPRINT_0164_0001_0001_exportcenter_iii.md @@ -0,0 +1,50 @@ +# Sprint 0164-0001-0001 · ExportCenter III (Export & Evidence 160.B) + +## Topic & Scope +- Expand ExportCenter: Export API, Trivy adapters, OCI distribution, mirror deltas, encryption, scheduling, verification, and risk bundle jobs. +- Enforce tenant scoping and provenance-ready exports, keeping outputs offline-friendly. +- **Working directory:** `src/ExportCenter` (core service) and `src/ExportCenter/StellaOps.ExportCenter.RiskBundles`. + +## Dependencies & Concurrency +- Upstream: Sprint 0163-0001-0001 (ExportCenter II) must land first. +- Concurrency: execute tasks in listed order; Export API → Trivy adapters → OCI engine → planner → mirror delta → encryption → scheduling → verification → pack-run integration; risk bundle chain follows 69/70 tasks. + +## Documentation Prerequisites +- docs/README.md +- docs/07_HIGH_LEVEL_ARCHITECTURE.md +- docs/modules/platform/architecture-overview.md +- docs/modules/export-center/architecture.md +- src/ExportCenter/AGENTS.md (if present) + +## Delivery Tracker +| # | Task ID | Status | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| 1 | EXPORT-SVC-35-006 | TODO | Depends on EXPORT-SVC-35-005 (Sprint 0163). | Exporter Service Guild (`src/ExportCenter/StellaOps.ExportCenter`) | Expose Export API (profiles, runs, download, SSE updates) with audit logging, concurrency controls, viewer/operator RBAC. | +| 2 | EXPORT-SVC-36-001 | TODO | Depends on 35-006. | Exporter Service Guild | Trivy DB adapter (core) with schema mappings, version flag gating, validation harness. | +| 3 | EXPORT-SVC-36-002 | TODO | Depends on 36-001. | Exporter Service Guild | Trivy Java DB variant with shared manifest entries and adapter regression tests. | +| 4 | EXPORT-SVC-36-003 | TODO | Depends on 36-002. | Exporter Service Guild | OCI distribution engine (manifests, descriptors, annotations) with registry auth and retries. | +| 5 | EXPORT-SVC-36-004 | TODO | Depends on 36-003. | Exporter Service Guild | Extend planner/run lifecycle for distribution targets (OCI/object storage) with idempotent metadata updates and retention timestamps. | +| 6 | EXPORT-SVC-37-001 | TODO | Depends on 36-004. | Exporter Service Guild | Mirror delta adapter with base manifest comparison, change set generation, content-addressed reuse. | +| 7 | EXPORT-SVC-37-002 | TODO | Depends on 37-001. | Exporter Service Guild | Bundle encryption (age/AES-GCM), key wrapping via KMS, verification tooling for encrypted outputs. | +| 8 | EXPORT-SVC-37-003 | TODO | Depends on 37-002. | Exporter Service Guild | Export scheduling (cron/event), retention pruning, retry idempotency, failure classification. | +| 9 | EXPORT-SVC-37-004 | TODO | Depends on 37-003. | Exporter Service Guild | Verification API to stream manifests/hashes, compute hash+signature checks, return attest status for CLI/UI. | +| 10 | EXPORT-SVC-43-001 | TODO | Depends on 37-004. | Exporter Service Guild | Integrate pack run manifests/artifacts into export bundles and CLI verification; expose provenance links. | +| 11 | EXPORT-TEN-48-001 | TODO | Parallel once API stable. | Exporter Service Guild | Prefix artifacts/manifests with tenant/project, enforce scope checks, prevent cross-tenant exports unless whitelisted; update provenance. | +| 12 | RISK-BUNDLE-69-001 | TODO | Start risk bundle job scaffold. | Risk Bundle Export Guild · Risk Engine Guild (`src/ExportCenter/StellaOps.ExportCenter.RiskBundles`) | Implement `stella export risk-bundle` job producing tarball with provider datasets, manifests, DSSE signatures. | +| 13 | RISK-BUNDLE-69-002 | TODO | Depends on 69-001. | Risk Bundle Export Guild · DevOps Guild | Integrate bundle job into CI/offline kit pipelines with checksum publication. | +| 14 | RISK-BUNDLE-70-001 | TODO | Depends on 69-002. | Risk Bundle Export Guild · CLI Guild | Provide CLI `stella risk bundle verify` command to validate bundles before import. | +| 15 | RISK-BUNDLE-70-002 | TODO | Depends on 70-001. | Risk Bundle Export Guild · Docs Guild | Publish `/docs/airgap/risk-bundles.md` covering build/import/verification workflows. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-08 | Sprint stub created; awaiting ExportCenter II completion. | Planning | +| 2025-11-19 | Normalized sprint to standard template and renamed from `SPRINT_164_exportcenter_iii.md` to `SPRINT_0164_0001_0001_exportcenter_iii.md`; content preserved. | Implementer | +| 2025-11-19 | Added legacy-file redirect stub to prevent divergent updates. | Implementer | + +## Decisions & Risks +- Requires ExportCenter II outputs; keep tasks TODO until upstream artifacts and contracts are present. +- Tenant scoping and encryption must remain deterministic and offline-ready; ensure key handling aligns with AirGap/CLI expectations. + +## Next Checkpoints +- Kickoff after Sprint 0163 completion (date TBD). diff --git a/docs/implplan/SPRINT_0165_0001_0001_timelineindexer.md b/docs/implplan/SPRINT_0165_0001_0001_timelineindexer.md new file mode 100644 index 000000000..a0c41a001 --- /dev/null +++ b/docs/implplan/SPRINT_0165_0001_0001_timelineindexer.md @@ -0,0 +1,42 @@ +# Sprint 0165-0001-0001 · Timeline Indexer (Export & Evidence 160.C) + +## Topic & Scope +- Bootstrap Timeline Indexer service: migrations/RLS, ingestion, query APIs, and evidence linkage. +- Keep ordering deterministic and tenant-scoped; link timeline events to evidence bundle digests/attestations. +- **Working directory:** `src/TimelineIndexer/StellaOps.TimelineIndexer`. + +## Dependencies & Concurrency +- Upstream: AdvisoryAI (110.A), AirGap (120.A), Scanner (130.A), Orchestrator (150.A) schemas required for event payloads. +- Concurrency: execute tasks in listed order; evidence linkage follows ingestion and API/RLS work. + +## Documentation Prerequisites +- docs/README.md +- docs/07_HIGH_LEVEL_ARCHITECTURE.md +- docs/modules/platform/architecture-overview.md +- docs/modules/export-center/architecture.md (for evidence linkage) +- src/TimelineIndexer/StellaOps.TimelineIndexer/AGENTS.md (if present) + +## Delivery Tracker +| # | Task ID | Status | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| 1 | TIMELINE-OBS-52-001 | TODO | Draft migrations + RLS design. | Timeline Indexer Guild (`src/TimelineIndexer/StellaOps.TimelineIndexer`) | Bootstrap service; Postgres migrations for `timeline_events`, `timeline_event_details`, `timeline_event_digests`; enable RLS scaffolding and deterministic migration scripts. | +| 2 | TIMELINE-OBS-52-002 | TODO | Depends on 52-001. | Timeline Indexer Guild | Implement event ingestion pipeline (NATS/Redis consumers) with ordering guarantees, dedupe `(event_id, tenant_id)`, trace-ID correlation, backpressure metrics. | +| 3 | TIMELINE-OBS-52-003 | TODO | Depends on 52-002. | Timeline Indexer Guild | Expose REST/gRPC APIs for timeline queries (`GET /timeline`, `/timeline/{id}`) with filters, pagination, tenant enforcement; provide OpenAPI + contract tests. | +| 4 | TIMELINE-OBS-52-004 | TODO | Depends on 52-003. | Timeline Indexer Guild · Security Guild | Finalize RLS policies, scope checks (`timeline:read`), audit logging; integration tests for cross-tenant isolation and legal hold markers. | +| 5 | TIMELINE-OBS-53-001 | TODO | Depends on 52-004 and EvidenceLocker bundle digest schema. | Timeline Indexer Guild · Evidence Locker Guild | Link timeline events to evidence bundle digests + attestation subjects; expose `/timeline/{id}/evidence` returning signed manifest references. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-12 | Captured task snapshot and blockers; waiting on orchestrator/notifications schema and EvidenceLocker digest schema. | Planning | +| 2025-11-19 | Normalized sprint to standard template and renamed from `SPRINT_165_timelineindexer.md` to `SPRINT_0165_0001_0001_timelineindexer.md`; content preserved. | Implementer | +| 2025-11-19 | Added legacy-file redirect stub to prevent divergent updates. | Implementer | + +## Decisions & Risks +- Blocked on orchestrator/notification schemas for ingestion payload definitions. +- Needs EvidenceLocker bundle digest schema before implementing evidence linkage. +- Security/Compliance review required for Postgres RLS migrations; no coding until approval. + +## Next Checkpoints +- Obtain sample orchestrator/notification events and EvidenceLocker digest schema (date TBD). +- Draft migrations + RLS design and review with Security/Compliance. diff --git a/docs/implplan/SPRINT_0170_0001_0001_notifications_telemetry.md b/docs/implplan/SPRINT_0170_0001_0001_notifications_telemetry.md new file mode 100644 index 000000000..219a0b94b --- /dev/null +++ b/docs/implplan/SPRINT_0170_0001_0001_notifications_telemetry.md @@ -0,0 +1,43 @@ +# Sprint 0170-0001-0001 · Notifications & Telemetry Snapshot + +## Topic & Scope +- Coordination snapshot for Notifications (Notifier) and Telemetry waves; execution tasks live in SPRINT_0171_0001_0001_notifier_i.md and SPRINT_0174_0001_0001_telemetry.md. +- Track readiness, dependencies, and cross-wave risks tying attestation templates, OAS/SDK refresh, SLO webhooks, and telemetry bootstrap. +- **Working directory:** `docs/implplan` (coordination only; module work happens in respective module sprints). + +## Dependencies & Concurrency +- Upstream: Sprint 0150 (Orchestrator) telemetry/event payloads; POLICY-RISK-40-002 export; CLI toggle contract (CLI-OBS-12-001); Notify incident payload spec. +- Concurrency: Waves 170.A (Notifier) and 170.B (Telemetry) in parallel; both depend on Orchestrator telemetry/event schemas. + +## Documentation Prerequisites +- docs/README.md +- docs/07_HIGH_LEVEL_ARCHITECTURE.md +- docs/modules/platform/architecture-overview.md +- docs/modules/notifications/architecture.md +- docs/modules/telemetry/architecture.md + +## Delivery Tracker +| # | Track | Status | Key dependency / next step | Owners | Notes | +| --- | --- | --- | --- | --- | --- | +| 1 | 170.A · Notifier readiness | BLOCKED (2025-11-19) | Await CI restore for NOTIFY-OBS-51-001 SLO webhook tests; risk routing still depends on POLICY-RISK-40-002 export. | Notifications Service Guild · Attestor Service Guild · Observability Guild | Active work mirrored to Sprint 0171; attestation/OAS tracks are done, observability/risk tracks paused until dependencies clear. | +| 2 | 170.B · Telemetry bootstrap | BLOCKED (2025-11-19) | TELEMETRY-OBS-50-001 shipped; propagation adapters (50-002) waiting on bootstrap adoption + CLI toggle contract (CLI-OBS-12-001). | Telemetry Core Guild · Observability Guild · Security Guild | Bootstrap of `StellaOps.Telemetry.Core` complete; downstream propagation/scrub/incident work paused until contracts/tests land (see Sprint 0174). | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-12 | Wave rows flipped to DOING; recorded scope/entry/exit criteria for Notifier and Telemetry waves. | Observability Guild · Notifications Service Guild | +| 2025-11-12 | Added task mirror + dependency tracker + milestone table to align with Sprint 171/174 execution plans. | Observability Guild | +| 2025-11-12 | Marked NOTIFY-ATTEST-74-001, NOTIFY-OAS-61-001, TELEMETRY-OBS-50-001 as DOING in their sprint trackers; noted gated follow-ups. | Notifications Service Guild · Telemetry Core Guild | +| 2025-11-19 | Re-baselined tracks: set 170.A and 170.B to BLOCKED pending CI restore (Notifier SLO tests) and propagation/toggle contracts; TELEMETRY-OBS-50-001 marked DONE in Sprint 0174. | Implementer | +| 2025-11-12 | Documented attestation template suite in `docs/notifications/templates.md` to unblock NOTIFY-ATTEST-74-001; synced notifications docs. | Notifications Service Guild | +| 2025-11-19 | Normalized sprint to standard template and renamed from `SPRINT_170_notifications_telemetry.md` to `SPRINT_0170_0001_0001_notifications_telemetry.md`; content preserved; legacy stub added. | Implementer | + +## Decisions & Risks +- Orchestrator observability contracts (ORCH-OBS-50-001) must land before enabling Notifier SLO webhooks and Telemetry helpers. +- Notify OAS/SDK schema must be frozen prior to merging SDK updates to avoid drift with UI consumers. +- Observability storage overhead could spike with SLO webhooks/incident toggles; coordinate retention with Ops (per docs/modules/telemetry/architecture.md §2). +- Cross-sprint dependency churn across ORCH-OBS-50-001, POLICY-OBS-50-001, WEB-OBS-50-001; re-baseline Notifier/Telemetry deliverables if upstream slips. +- Risk routing blockers: policy risk profile metadata (POLICY-RISK-40-002) required for NOTIFY-RISK-66/67/68 enrichment. + +## Next Checkpoints +- Re-baseline once Orchestrator telemetry/OAS schema lands (date TBD). diff --git a/docs/implplan/SPRINT_0171_0001_0001_notifier_i.md b/docs/implplan/SPRINT_0171_0001_0001_notifier_i.md new file mode 100644 index 000000000..3a6c2064a --- /dev/null +++ b/docs/implplan/SPRINT_0171_0001_0001_notifier_i.md @@ -0,0 +1,74 @@ +# Sprint 0171-0001-0001 · Notifier I (Notifications & Telemetry 170.A) + +## Topic & Scope +- Deliver attestation/key-rotation alert templates, OAS/SDK refresh, SLO/incident triggers, and risk-profile routing for Notifier. +- Maintain Offline Kit parity and aggregation-only behavior with deterministic, tenant-aware notifications. +- **Working directory:** `src/Notifier/StellaOps.Notifier`. + +## Dependencies & Concurrency +- Upstream: Sprint 0150 (Orchestrator) telemetry/event payloads; Attestor schema for attestation events; Policy risk export (`POLICY-RISK-40-002`); Telemetry SLO webhook schema. +- Concurrency: execute tasks in listed order; attestation → OAS/SDK → observability → risk routing; docs/offline already DONE. + +## Documentation Prerequisites +- docs/README.md +- docs/07_HIGH_LEVEL_ARCHITECTURE.md +- docs/modules/platform/architecture-overview.md +- docs/modules/notifications/architecture.md +- docs/notifications/templates.md +- src/Notifier/StellaOps.Notifier/AGENTS.md + +## Delivery Tracker +| # | Task ID | Status | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| P1 | PREP-NOTIFY-OBS-51-001-TELEMETRY-SLO-WEBHOOK | DONE (2025-11-19) | Telemetry SLO webhook schema published at `docs/notifications/slo-webhook-schema.md`; share with Telemetry Core for compatibility check. | Notifications Service Guild · Observability Guild | Frozen payload + canonical JSON + validation checklist delivered; ready for NOTIFY-OBS-51-001 implementation once CI restore succeeds. | +| 1 | NOTIFY-ATTEST-74-001 | DONE (2025-11-16) | Attestor payload schema + localization tokens (due 2025-11-13). | Notifications Service Guild · Attestor Service Guild (`src/Notifier/StellaOps.Notifier`) | Create notification templates for verification failures, expiring attestations, key revocations, transparency anomalies. | +| 2 | NOTIFY-ATTEST-74-002 | TODO | Depends on 74-001. | Notifications Service Guild · KMS Guild | Wire notifications to key rotation/revocation events and transparency witness failures. | +| 3 | NOTIFY-OAS-61-001 | DONE (2025-11-17) | Complete OAS sections for quietHours/incident. | Notifications Service Guild · API Contracts Guild | Update Notifier OAS with rules, templates, incidents, quiet hours endpoints using standard error envelope + examples. | +| 4 | NOTIFY-OAS-61-002 | DONE (2025-11-17) | Depends on 61-001. | Notifications Service Guild | Implement `/.well-known/openapi` discovery endpoint with scope metadata. | +| 5 | NOTIFY-OAS-62-001 | DONE (2025-11-17) | Depends on 61-002. | Notifications Service Guild · SDK Generator Guild | SDK examples for rule CRUD, incident ack, quiet hours; SDK smoke tests. | +| 6 | NOTIFY-OAS-63-001 | DONE (2025-11-17) | Depends on 62-001. | Notifications Service Guild · API Governance Guild | Emit deprecation headers and templates for retiring notifier APIs. | +| 7 | NOTIFY-OBS-51-001 | BLOCKED (2025-11-19) | CI restore for `HttpEgressSloSinkTests` / `EventProcessorTests` | Notifications Service Guild · Observability Guild | Integrate SLO evaluator webhooks into Notifier rules; templates/routing/suppression; sample policies. | +| 8 | NOTIFY-OBS-55-001 | TODO | Depends on 51-001. | Notifications Service Guild · Ops Guild | Publish incident mode start/stop notifications with trace/evidence links, retention notes, quiet-hour overrides, legal logging. | +| 9 | NOTIFY-RISK-66-001 | TODO | Depends on POLICY-RISK-40-002 metadata export. | Notifications Service Guild · Risk Engine Guild | Add notification triggers for risk severity escalation/downgrade with profile metadata. | +| 10 | NOTIFY-RISK-67-001 | TODO | Depends on 66-001. | Notifications Service Guild · Policy Guild | Notify when risk profiles are published/deprecated/thresholds change. | +| 11 | NOTIFY-RISK-68-001 | TODO | Depends on 67-001. | Notifications Service Guild | Per-profile routing, quiet hours, dedupe for risk alerts; integrate CLI/Console preferences. | +| 12 | NOTIFY-DOC-70-001 | DONE (2025-11-02) | — | Notifications Service Guild | Document split between legacy `src/Notify` libs and new `src/Notifier` runtime; update architecture docs. | +| 13 | NOTIFY-AIRGAP-56-002 | DONE | — | Notifications Service Guild · DevOps Guild | Bootstrap Pack notifier configs with deterministic secrets handling and offline validation. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-19 | Fixed PREP-NOTIFY-OBS-51-001 Task ID (removed trailing hyphen) so dependency lookup works. | Project Mgmt | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | +| 2025-11-12 | Marked NOTIFY-ATTEST-74-001 and NOTIFY-OAS-61-001 as DOING; documented current blockers. | Notifications Service Guild | +| 2025-11-12 | Added attestation template suite (Section 7 in `docs/notifications/templates.md`) covering template keys/helpers/samples to support NOTIFY-ATTEST-74-001. | Notifications Service Guild | +| 2025-11-12 | Updated notifications architecture/overview/rules docs to reference `tmpl-attest-*` suite; exported baseline templates under `offline/notifier/templates/attestation/`. | Notifications Service Guild | +| 2025-11-19 | Normalized sprint to standard template and renamed from `SPRINT_171_notifier_i.md` to `SPRINT_0171_0001_0001_notifier_i.md`; content preserved. | Implementer | +| 2025-11-19 | Delivered Telemetry SLO webhook schema (`docs/notifications/slo-webhook-schema.md`); marked PREP-NOTIFY-OBS-51-001-TELEMETRY-SLO-WEBHOOK DONE; NOTIFY-OBS-51-001 remains BLOCKED pending CI restore. | Implementer | +| 2025-11-19 | Added legacy-file redirect stub to avoid divergent updates. | Implementer | +| 2025-11-19 | Synced Delivery Tracker with module TASKS: marked NOTIFY-ATTEST-74-001, NOTIFY-OAS-61-001/61-002/62-001 as DONE with respective completion dates; downstream tasks remain TODO. | Implementer | +| 2025-11-19 | Recorded NOTIFY-OAS-63-001 as DONE based on shipped deprecation headers/templates and existing tests (`OpenApiEndpointTests`, `DeprecationTemplateTests`). | Implementer | +| 2025-11-19 | Added sample attestation routing rules (`src/Notifier/StellaOps.Notifier/docs/attestation-rules.sample.json`) covering key rotation/revocation and transparency witness anomalies to support NOTIFY-ATTEST-74-002 wiring. | Implementer | +| 2025-11-19 | Continued NOTIFY-OBS-51-001: added `EgressSloContext`, pluggable `IEgressSloSink`, HTTP webhook sink with configurable timeout, and test sink; processor now emits signals per delivery. Added unit coverage scaffold for the webhook sink (not executed locally). | Implementer | +| 2025-11-19 | Attempted `dotnet test src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Tests/StellaOps.Notifier.Tests.csproj --filter HttpEgressSloSinkTests`; restore canceled (NuGet.targets:196) after ~15s. CI run still required to validate OBS-51-001 changes. | Implementer | +| 2025-11-19 | Attempted `dotnet test ... --filter EventProcessorTests`; restore canceled again (NuGet.targets:196) after ~15s; awaiting CI restore to exercise SLO sink + processor tests. | Implementer | +| 2025-11-19 | Marked NOTIFY-OBS-51-001 status to DOING; OBS SLO webhook code ready, pending CI validation to close the task. | Implementer | +| 2025-11-19 | Action item: run CI pipeline for Notifier with filters `HttpEgressSloSinkTests` and `EventProcessorTests`; if green, set NOTIFY-OBS-51-001 to DONE and attach TRX artefacts. | Implementer | +| 2025-11-19 | Set NOTIFY-OBS-51-001 to BLOCKED pending CI restore capacity; local restore repeatedly cancels (NuGet.targets:196). No further code changes until CI evidence available. | Implementer | +| 2025-11-19 | Added QA playbook for NOTIFY-ATTEST-74-002 (`src/Notifier/StellaOps.Notifier/StellaOps.Notifier.docs/QA-attestation-routing.md`) detailing import steps, event kinds, expected deliveries, and evidence to capture. | Implementer | +| 2025-11-20 | No unblocked work left in this sprint today: NOTIFY-ATTEST-74-002 depends on attestor payload localization freeze; NOTIFY-OBS-51/55 blocked until SLO webhook contract is wired into worker; NOTIFY-RISK-66..68 waits on `POLICY-RISK-40-002` export. Moving to next sprint. | Implementer | + +## Decisions & Risks +- Attestor schema freeze (due 2025-11-13) gates 74-001/002. +- Telemetry SLO webhook payload (frozen 2025-11-17) unblocks OBS chain; incident toggle contract follows add-only evolution. +- OBS SLO webhook code merged but unvalidated locally (restore blocked); CI run required before marking NOTIFY-OBS-51-001 DONE. +- Risk alerts depend on POLICY-RISK-40-002 export; schedule slip would re-baseline RISK tasks. +- Keep Offline Kit parity for templates and secrets handling before enabling new endpoints. + +## Next Checkpoints +| Date (UTC) | Milestone | Owner(s) | +| --- | --- | --- | +| 2025-11-13 | Finalize attestation payload schema + localization tokens. | Notifications Service Guild · Attestor Service Guild | +| 2025-11-15 | Draft Notifier OAS published for review. | Notifications Service Guild · API Contracts Guild | +| 2025-11-18 | Incident payload contract agreed with Telemetry & Ops. | Notifications Service Guild · Observability Guild | +| 2025-11-20 | Risk profile metadata export available (`POLICY-RISK-40-002`). | Notifications Service Guild · Policy Guild | diff --git a/docs/implplan/SPRINT_0172_0001_0002_notifier_ii.md b/docs/implplan/SPRINT_0172_0001_0002_notifier_ii.md new file mode 100644 index 000000000..297430698 --- /dev/null +++ b/docs/implplan/SPRINT_0172_0001_0002_notifier_ii.md @@ -0,0 +1,48 @@ +# Sprint 0172-0001-0002 · Notifier II (Notifications & Telemetry 170.A) + +## Topic & Scope +- Notifier phase II: approval/policy notifications, channels/templates, correlation/digests/simulation, escalations, and hardening. +- **Working directory:** `src/Notifier/StellaOps.Notifier`. + +## Dependencies & Concurrency +- Upstream: Notifier I (Sprint 0171) must land first. +- Concurrency: follow service chain (37 → 38 → 39 → 40); all tasks currently TODO. + +## Documentation Prerequisites +- docs/README.md +- docs/07_HIGH_LEVEL_ARCHITECTURE.md +- docs/modules/platform/architecture-overview.md +- docs/modules/notifications/architecture.md +- src/Notifier/StellaOps.Notifier/AGENTS.md + +## Delivery Tracker +| # | Task ID | Status | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| 1 | NOTIFY-SVC-37-001 | TODO | Define contract/OAS. | Notifications Service Guild (`src/Notifier/StellaOps.Notifier`) | Define pack approval & policy notification contract (OpenAPI schema, event payloads, resume tokens, security guidance). | +| 2 | NOTIFY-SVC-37-002 | TODO | Depends on 37-001. | Notifications Service Guild | Implement secure ingestion endpoint, Mongo persistence (`pack_approvals`), idempotent writes, audit trail. | +| 3 | NOTIFY-SVC-37-003 | TODO | Depends on 37-002. | Notifications Service Guild | Approval/policy templates, routing predicates, channel dispatch (email/webhook), localization + redaction. | +| 4 | NOTIFY-SVC-37-004 | TODO | Depends on 37-003. | Notifications Service Guild | Acknowledgement API, Task Runner callback client, metrics for outstanding approvals, runbook updates. | +| 5 | NOTIFY-SVC-38-002 | TODO | Depends on 37-004. | Notifications Service Guild | Channel adapters (email, chat webhook, generic webhook) with retry policies, health checks, audit logging. | +| 6 | NOTIFY-SVC-38-003 | TODO | Depends on 38-002. | Notifications Service Guild | Template service (versioned templates, localization scaffolding) and renderer (redaction allowlists, Markdown/HTML/JSON, provenance links). | +| 7 | NOTIFY-SVC-38-004 | TODO | Depends on 38-003. | Notifications Service Guild | REST + WS APIs (rules CRUD, templates preview, incidents list, ack) with audit logging, RBAC, live feed stream. | +| 8 | NOTIFY-SVC-39-001 | TODO | Depends on 38-004. | Notifications Service Guild | Correlation engine with pluggable key expressions/windows, throttler, quiet hours/maintenance evaluator, incident lifecycle. | +| 9 | NOTIFY-SVC-39-002 | TODO | Depends on 39-001. | Notifications Service Guild | Digest generator (queries, formatting) with schedule runner and distribution. | +| 10 | NOTIFY-SVC-39-003 | TODO | Depends on 39-002. | Notifications Service Guild | Simulation engine/API to dry-run rules against historical events, returning matched actions with explanations. | +| 11 | NOTIFY-SVC-39-004 | TODO | Depends on 39-003. | Notifications Service Guild | Quiet hour calendars + default throttles with audit logging and operator overrides. | +| 12 | NOTIFY-SVC-40-001 | TODO | Depends on 39-004. | Notifications Service Guild | Escalations + on-call schedules, ack bridge, PagerDuty/OpsGenie adapters, CLI/in-app inbox channels. | +| 13 | NOTIFY-SVC-40-002 | TODO | Depends on 40-001. | Notifications Service Guild | Summary storm breaker notifications, localization bundles, fallback handling. | +| 14 | NOTIFY-SVC-40-003 | TODO | Depends on 40-002. | Notifications Service Guild | Security hardening: signed ack links (KMS), webhook HMAC/IP allowlists, tenant isolation fuzz tests, HTML sanitization. | +| 15 | NOTIFY-SVC-40-004 | TODO | Depends on 40-003. | Notifications Service Guild | Observability (metrics/traces for escalations/latency), dead-letter handling, chaos tests for channel outages, retention policies. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-19 | Normalized sprint to standard template and renamed from `SPRINT_172_notifier_ii.md` to `SPRINT_0172_0001_0002_notifier_ii.md`; content preserved. | Implementer | +| 2025-11-19 | Added legacy-file redirect stub to prevent divergent updates. | Implementer | + +## Decisions & Risks +- All tasks depend on Notifier I outputs and established notification contracts; keep TODO until upstream lands. +- Ensure templates/renderers stay deterministic and offline-ready; hardening tasks must precede GA. + +## Next Checkpoints +- Kickoff after Sprint 0171 completion (date TBD). diff --git a/docs/implplan/SPRINT_0173_0001_0003_notifier_iii.md b/docs/implplan/SPRINT_0173_0001_0003_notifier_iii.md new file mode 100644 index 000000000..11f9ad8ce --- /dev/null +++ b/docs/implplan/SPRINT_0173_0001_0003_notifier_iii.md @@ -0,0 +1,37 @@ +# Sprint 0173-0001-0003 · Notifier III (Notifications & Telemetry 170.A) + +## Topic & Scope +- Notifier phase III: tenant scoping across rules/templates/incidents with RLS and tenant-prefixed channels. +- **Working directory:** `src/Notifier/StellaOps.Notifier`. + +## Dependencies & Concurrency +- Upstream: Notifier II (Sprint 0172-0001-0002) must land first. +- Concurrency: single-track; proceed after prior phase completion. + +## Documentation Prerequisites +- docs/README.md +- docs/07_HIGH_LEVEL_ARCHITECTURE.md +- docs/modules/platform/architecture-overview.md +- docs/modules/notifications/architecture.md +- src/Notifier/StellaOps.Notifier/AGENTS.md + +## Delivery Tracker +| # | Task ID | Status | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| P1 | PREP-NOTIFY-TEN-48-001-NOTIFIER-II-SPRINT-017 | TODO | Due 2025-11-23 · Accountable: Notifications Service Guild (`src/Notifier/StellaOps.Notifier`) | Notifications Service Guild (`src/Notifier/StellaOps.Notifier`) | Notifier II (Sprint 0172) not started; tenancy model not finalized.

Document artefact/deliverable for NOTIFY-TEN-48-001 and publish location so downstream tasks can proceed. | +| 1 | NOTIFY-TEN-48-001 | BLOCKED (2025-11-20) | PREP-NOTIFY-TEN-48-001-NOTIFIER-II-SPRINT-017 | Notifications Service Guild (`src/Notifier/StellaOps.Notifier`) | Tenant-scope rules/templates/incidents, RLS on storage, tenant-prefixed channels, include tenant context in notifications. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | +| 2025-11-19 | Normalized sprint to standard template and renamed from `SPRINT_173_notifier_iii.md` to `SPRINT_0173_0001_0003_notifier_iii.md`; content preserved. | Implementer | +| 2025-11-19 | Added legacy-file redirect stub to avoid divergent updates. | Implementer | +| 2025-11-20 | Marked NOTIFY-TEN-48-001 BLOCKED pending completion of Sprint 0172 tenancy model; no executable work in this sprint today. | Implementer | + +## Decisions & Risks +- Requires completion of Notifier II and established tenancy model before applying RLS. +- Ensure tenant scoping aligns with platform RLS and channel routing; avoid breaking existing templates. + +## Next Checkpoints +- Schedule kickoff post Notifier II completion (date TBD). \ No newline at end of file diff --git a/docs/implplan/SPRINT_0174_0001_0001_telemetry.md b/docs/implplan/SPRINT_0174_0001_0001_telemetry.md new file mode 100644 index 000000000..63cf283ff --- /dev/null +++ b/docs/implplan/SPRINT_0174_0001_0001_telemetry.md @@ -0,0 +1,60 @@ +# Sprint 0174-0001-0001 · Telemetry (Notifications & Telemetry 170.B) + +## Topic & Scope +- Deliver `StellaOps.Telemetry.Core` bootstrap, propagation middleware, metrics helpers, scrubbing, incident/sealed-mode toggles. +- Provide sample host integrations while keeping deterministic, offline-friendly telemetry with redaction and tenant awareness. +- **Working directory:** `src/Telemetry/StellaOps.Telemetry.Core`. + +## Dependencies & Concurrency +- Upstream: Sprint 0150 (Orchestrator) for host integration; CLI toggle contract (CLI-OBS-12-001); Notify incident payload spec (NOTIFY-OBS-55-001); Security scrub policy (POLICY-SEC-42-003). +- Concurrency: tasks follow 50 → 51 → 55/56 chain; 50-002 waits on 50-001 package. + +## Documentation Prerequisites +- docs/README.md +- docs/07_HIGH_LEVEL_ARCHITECTURE.md +- docs/modules/platform/architecture-overview.md +- docs/modules/telemetry/architecture.md +- src/Telemetry/StellaOps.Telemetry.Core/AGENTS.md + +## Delivery Tracker +| # | Task ID | Status | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| P1 | PREP-TELEMETRY-OBS-50-002-AWAIT-PUBLISHED-50 | DONE (2025-11-19) | Due 2025-11-23 · Accountable: Telemetry Core Guild | Telemetry Core Guild | Bootstrap package published; reference doc `docs/observability/telemetry-bootstrap.md` provides wiring + config. | +| P2 | PREP-TELEMETRY-OBS-51-001-TELEMETRY-PROPAGATI | DONE (2025-11-20) | Doc published at `docs/observability/telemetry-propagation-51-001.md`. | Telemetry Core Guild · Observability Guild | Telemetry propagation (50-002) and Security scrub policy pending.

Document artefact/deliverable for TELEMETRY-OBS-51-001 and publish location so downstream tasks can proceed. | +| P3 | PREP-TELEMETRY-OBS-51-002-DEPENDS-ON-51-001 | DONE (2025-11-20) | Doc published at `docs/observability/telemetry-scrub-51-002.md`. | Telemetry Core Guild · Security Guild | Depends on 51-001.

Document artefact/deliverable for TELEMETRY-OBS-51-002 and publish location so downstream tasks can proceed. | +| P4 | PREP-TELEMETRY-OBS-56-001-DEPENDS-ON-55-001 | DONE (2025-11-20) | Doc published at `docs/observability/telemetry-sealed-56-001.md`. | Telemetry Core Guild | Depends on 55-001.

Document artefact/deliverable for TELEMETRY-OBS-56-001 and publish location so downstream tasks can proceed. | +| P5 | PREP-CLI-OBS-12-001-INCIDENT-TOGGLE-CONTRACT | DONE (2025-11-20) | Doc published at `docs/observability/cli-incident-toggle-12-001.md`. | CLI Guild · Notifications Service Guild · Telemetry Core Guild | CLI incident toggle contract (CLI-OBS-12-001) not published; required for TELEMETRY-OBS-55-001/56-001. Provide schema + CLI flag behavior. | +| 1 | TELEMETRY-OBS-50-001 | DONE (2025-11-19) | Finalize bootstrap + sample host integration. | Telemetry Core Guild (`src/Telemetry/StellaOps.Telemetry.Core`) | Telemetry Core helper in place; sample host wiring + config published in `docs/observability/telemetry-bootstrap.md`. | +| 2 | TELEMETRY-OBS-50-002 | TODO | PREP-TELEMETRY-OBS-50-002-AWAIT-PUBLISHED-50 (DONE) | Telemetry Core Guild | Context propagation middleware/adapters for HTTP, gRPC, background jobs, CLI; carry `trace_id`, `tenant_id`, `actor`, imposed-rule metadata; async resume harness. | +| 3 | TELEMETRY-OBS-51-001 | TODO | PREP-TELEMETRY-OBS-51-001-TELEMETRY-PROPAGATI | Telemetry Core Guild · Observability Guild | Metrics helpers for golden signals with exemplar support and cardinality guards; Roslyn analyzer preventing unsanitised labels. | +| 4 | TELEMETRY-OBS-51-002 | BLOCKED (2025-11-20) | PREP-TELEMETRY-OBS-51-002-DEPENDS-ON-51-001 | Telemetry Core Guild · Security Guild | Redaction/scrubbing filters for secrets/PII at logger sink; per-tenant config with TTL; audit overrides; determinism tests. | +| 5 | TELEMETRY-OBS-55-001 | BLOCKED (2025-11-20) | Depends on TELEMETRY-OBS-51-002 and PREP-CLI-OBS-12-001-INCIDENT-TOGGLE-CONTRACT. | Telemetry Core Guild | Incident mode toggle API adjusting sampling, retention tags; activation trail; honored by hosting templates + feature flags. | +| 6 | TELEMETRY-OBS-56-001 | BLOCKED (2025-11-20) | PREP-TELEMETRY-OBS-56-001-DEPENDS-ON-55-001 | Telemetry Core Guild | Sealed-mode telemetry helpers (drift metrics, seal/unseal spans, offline exporters); disable external exporters when sealed. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-20 | Added sealed-mode helper prep doc (`telemetry-sealed-56-001.md`); marked PREP-TELEMETRY-OBS-56-001 DONE. | Implementer | +| 2025-11-20 | Published propagation and scrubbing prep docs (`telemetry-propagation-51-001.md`, `telemetry-scrub-51-002.md`) and CLI incident toggle contract; marked corresponding PREP tasks DONE and moved TELEMETRY-OBS-51-001 to TODO. | Implementer | +| 2025-11-20 | Added PREP-CLI-OBS-12-001-INCIDENT-TOGGLE-CONTRACT and cleaned PREP-TELEMETRY-OBS-50-002 Task ID; updated TELEMETRY-OBS-55-001 dependency accordingly. | Project Mgmt | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | +| 2025-11-12 | Marked TELEMETRY-OBS-50-001 as DOING; branch `feature/telemetry-core-bootstrap` with resource detector/profile manifest in review; host sample slated 2025-11-18. | Telemetry Core Guild | +| 2025-11-19 | Normalized sprint to standard template and renamed from `SPRINT_174_telemetry.md` to `SPRINT_0174_0001_0001_telemetry.md`; content preserved. | Implementer | +| 2025-11-19 | Added legacy-file redirect stub to avoid divergent updates. | Implementer | +| 2025-11-20 | Marked tasks 50-002..56-001 BLOCKED: waiting on 50-001 package publication, Security scrub policy, and CLI incident-toggle contract; no executable work until upstream artefacts land. | Implementer | +| 2025-11-19 | PREP-TELEMETRY-OBS-50-002-AWAIT-PUBLISHED-50 completed; bootstrap doc published. Downstream tasks remain blocked on propagation/scrub/toggle contracts. | Implementer | +| 2025-11-19 | TELEMETRY-OBS-50-001 set to DONE; TELEMETRY-OBS-50-002 moved to TODO now that bootstrap package is documented. | Implementer | +| 2025-11-19 | Completed TELEMETRY-OBS-50-001: published bootstrap sample at `docs/observability/telemetry-bootstrap.md`; library already present. | Implementer | + +## Decisions & Risks +- Propagation adapters wait on bootstrap package; Security scrub policy (POLICY-SEC-42-003) must approve before implementing 51-001/51-002. +- Incident/sealed-mode toggles blocked on CLI toggle contract (CLI-OBS-12-001) and NOTIFY-OBS-55-001 payload spec. +- Ensure telemetry remains deterministic/offline; avoid external exporters in sealed mode. + +## Next Checkpoints +| Date (UTC) | Milestone | Owner(s) | +| --- | --- | --- | +| 2025-11-18 | Land Telemetry Core bootstrap sample in Orchestrator. | Telemetry Core Guild · Orchestrator Guild | +| 2025-11-19 | Publish propagation adapter API draft. | Telemetry Core Guild | +| 2025-11-21 | Security sign-off on scrub policy (POLICY-SEC-42-003). | Telemetry Core Guild · Security Guild | +| 2025-11-22 | Incident/CLI toggle contract agreed (CLI-OBS-12-001 + NOTIFY-OBS-55-001). | Telemetry Core Guild · Notifications Service Guild · CLI Guild | diff --git a/docs/implplan/SPRINT_0185_0001_0001_shared_replay_primitives.md b/docs/implplan/SPRINT_0185_0001_0001_shared_replay_primitives.md new file mode 100644 index 000000000..b1365cfdc --- /dev/null +++ b/docs/implplan/SPRINT_0185_0001_0001_shared_replay_primitives.md @@ -0,0 +1,38 @@ +# Sprint 0185-0001-0001 · Shared Replay Primitives (Replay Core 185.A) + +## Topic & Scope +- Stand up shared replay library, canonicalization/hashing helpers, deterministic bundle writer, and baseline replay documentation. +- **Working directory:** `src/__Libraries/StellaOps.Replay.Core` and relevant docs under `docs/replay` and `docs/data`. + +## Dependencies & Concurrency +- Upstream: Sprint 160 Export & Evidence for bundle contracts; Replay CAS section already published (2025-11-03). +- Concurrency: execute tasks in listed order; docs tasks align with code tasks. + +## Documentation Prerequisites +- docs/README.md +- docs/07_HIGH_LEVEL_ARCHITECTURE.md +- docs/modules/platform/architecture-overview.md (Replay CAS §5) +- docs/replay/DETERMINISTIC_REPLAY.md + +## Delivery Tracker +| # | Task ID | Status | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| 1 | REPLAY-CORE-185-001 | TODO | CAS section published; start scaffolding library. | BE-Base Platform Guild (`src/__Libraries/StellaOps.Replay.Core`) | Scaffold `StellaOps.Replay.Core` with manifest schema types, canonical JSON rules, Merkle utilities, DSSE payload builders; add `AGENTS.md`/`TASKS.md`; cross-reference deterministic replay doc. | +| 2 | REPLAY-CORE-185-002 | TODO | Depends on 185-001. | Platform Guild | Deterministic bundle writer (tar.zst, CAS naming) and hashing abstractions; update platform architecture doc with “Replay CAS” subsection. | +| 3 | REPLAY-CORE-185-003 | TODO | Depends on 185-002. | Platform Data Guild | Define Mongo collections (`replay_runs`, `replay_bundles`, `replay_subjects`) and indices; align with schema doc. | +| 4 | DOCS-REPLAY-185-003 | TODO | Parallel with 185-003. | Docs Guild · Platform Data Guild (docs) | Author `docs/data/replay_schema.md` detailing collections, index guidance, offline sync strategy. | +| 5 | DOCS-REPLAY-185-004 | TODO | After 185-002/003. | Docs Guild (docs) | Expand `docs/replay/DEVS_GUIDE_REPLAY.md` with integration guidance (Scanner, Evidence Locker, CLI) and checklist from deterministic replay doc §11. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-03 | Replay CAS section published in `docs/modules/platform/architecture-overview.md` §5; tasks 185-001/002 may move to DOING once scaffolding starts. | Platform Guild | +| 2025-11-19 | Normalized sprint to standard template and renamed from `SPRINT_185_shared_replay_primitives.md` to `SPRINT_0185_0001_0001_shared_replay_primitives.md`; content preserved. | Implementer | +| 2025-11-19 | Added legacy-file redirect stub to avoid divergent updates. | Implementer | + +## Decisions & Risks +- Await library scaffolding start; ensure deterministic rules match published CAS section. +- Schema/docs must stay aligned with Replay CAS layout to keep offline determinism. + +## Next Checkpoints +- Kickoff once scaffolding resources assigned (date TBD). diff --git a/docs/implplan/SPRINT_0186_0001_0001_record_deterministic_execution.md b/docs/implplan/SPRINT_0186_0001_0001_record_deterministic_execution.md new file mode 100644 index 000000000..f01872f21 --- /dev/null +++ b/docs/implplan/SPRINT_0186_0001_0001_record_deterministic_execution.md @@ -0,0 +1,52 @@ +# Sprint 0186-0001-0001 · Record & Deterministic Execution (Scanner Replay 186.A) + +## Topic & Scope +- Enable Scanner to emit replay manifests/bundles, enforce deterministic execution, align signing flows, and publish determinism evidence. +- **Working directory:** `src/Scanner` (WebService, Worker, Replay), `src/Signer`, `src/Authority`, related docs under `docs/replay` and `docs/modules/scanner`. + +## Dependencies & Concurrency +- Upstream: Sprint 0185 (Replay Core foundations) and Sprint 0130 Scanner & Surface. +- Concurrency: execute tasks in listed order; signing tasks align with replay outputs; docs tasks mirror code tasks. + +## Documentation Prerequisites +- docs/README.md +- docs/07_HIGH_LEVEL_ARCHITECTURE.md +- docs/modules/platform/architecture-overview.md +- docs/replay/DETERMINISTIC_REPLAY.md +- docs/replay/TEST_STRATEGY.md +- docs/modules/scanner/architecture.md + +## Delivery Tracker +| # | Task ID | Status | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| 1 | SCAN-REPLAY-186-001 | TODO | Start record mode in WebService. | Scanner Guild (`src/Scanner/StellaOps.Scanner.WebService`, docs) | Implement `record` mode (manifest assembly, policy/feed/tool hash capture, CAS uploads); doc workflow referencing replay doc §6. | +| 2 | SCAN-REPLAY-186-002 | TODO | Depends on 186-001. | Scanner Guild | Update Worker analyzers to consume sealed input bundles, enforce deterministic ordering, contribute Merkle metadata; add `docs/modules/scanner/deterministic-execution.md`. | +| 3 | SIGN-REPLAY-186-003 | TODO | Depends on 186-001/002. | Signing Guild (`src/Signer`, `src/Authority`) | Extend Signer/Authority DSSE flows to cover replay manifests/bundles; refresh signer/authority architecture docs referencing replay doc §5. | +| 4 | SIGN-CORE-186-004 | TODO | Parallel with 186-003. | Signing Guild | Replace HMAC demo in Signer with StellaOps.Cryptography providers (keyless + KMS); provider selection, key loading, cosign-compatible DSSE output. | +| 5 | SIGN-CORE-186-005 | TODO | Depends on 186-004. | Signing Guild | Refactor `SignerStatementBuilder` to support StellaOps predicate types and delegate canonicalisation to Provenance library when available. | +| 6 | SIGN-TEST-186-006 | TODO | Depends on 186-004/005. | Signing Guild · QA Guild | Upgrade signer integration tests to real crypto abstraction + fixture predicates (promotion, SBOM, replay); deterministic test data. | +| 7 | AUTH-VERIFY-186-007 | TODO | After 186-003. | Authority Guild · Provenance Guild | Authority-side helper/service validating DSSE signatures and Rekor proofs for promotion attestations using trusted checkpoints; offline audit flow. | +| 8 | SCAN-DETER-186-008 | TODO | Parallel with 186-002. | Scanner Guild | Add deterministic execution switches (fixed clock, RNG seed, concurrency cap, feed/policy pins, log filtering) via CLI/env/config. | +| 9 | SCAN-DETER-186-009 | TODO | Depends on 186-008. | Scanner Guild · QA Guild | Determinism harness to replay scans, canonicalise outputs, record hash matrices (`docs/modules/scanner/determinism-score.md`). | +| 10 | SCAN-DETER-186-010 | TODO | Depends on 186-009. | Scanner Guild · Export Center Guild | Emit/publish `determinism.json` with scores/hashes/diffs alongside each scanner release via CAS/object storage; document in release guide. | +| 11 | SCAN-ENTROPY-186-011 | TODO | Parallel track. | Scanner Guild | Entropy analysis for ELF/PE/Mach-O/opaque blobs (sliding-window metrics, section heuristics); record offsets/hints (see `docs/modules/scanner/entropy.md`). | +| 12 | SCAN-ENTROPY-186-012 | TODO | Depends on 186-011. | Scanner Guild · Provenance Guild | Generate `entropy.report.json`, image-level penalties; attach evidence to manifests/attestations; expose ratios for policy engines. | +| 13 | SCAN-CACHE-186-013 | TODO | Parallel with replay work. | Scanner Guild | Layer-level SBOM/VEX cache keyed by layer digest + manifest hash + tool/feed/policy IDs; re-verify DSSE on cache hits; persist indexes; document referencing 16-Nov-2026 advisory. | +| 14 | SCAN-DIFF-CLI-186-014 | TODO | Depends on replay+cache scaffolding. | Scanner Guild · CLI Guild | Deterministic diff-aware rescan workflow (`scan.lock.json`, JSON Patch diffs, CLI verbs `stella scan --emit-diff` / `stella diff`); replayable tests; docs. | +| 15 | SBOM-BRIDGE-186-015 | TODO | Parallel; coordinate with Sbomer. | Sbomer Guild · Scanner Guild | Establish SPDX 3.0.1 as canonical SBOM persistence; deterministic CycloneDX 1.6 exporter; map table/library; wire snapshot hashes into replay manifests. | +| 16 | DOCS-REPLAY-186-004 | TODO | After replay schema settled. | Docs Guild | Author `docs/replay/TEST_STRATEGY.md` (golden replay, feed drift, tool upgrade); link from replay docs and Scanner architecture. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-03 | `docs/replay/TEST_STRATEGY.md` drafted; Replay CAS section published — Scanner/Signer guilds should move replay tasks to DOING when engineering starts. | Planning | +| 2025-11-19 | Normalized sprint to standard template and renamed from `SPRINT_186_record_deterministic_execution.md` to `SPRINT_0186_0001_0001_record_deterministic_execution.md`; content preserved. | Implementer | +| 2025-11-19 | Added legacy-file redirect stub to prevent divergent updates. | Implementer | + +## Decisions & Risks +- Depends on Replay Core (0185); do not start until CAS and TEST_STRATEGY baselines are confirmed. +- Deterministic execution must preserve hermetic runs; ensure fixed clock/RNG/log filtering before enabling harness. +- Signing/verification changes must stay aligned with Provenance library once available. + +## Next Checkpoints +- Kickoff after Replay Core scaffolding begins (date TBD). diff --git a/docs/implplan/SPRINT_0187_0001_0001_evidence_locker_cli_integration.md b/docs/implplan/SPRINT_0187_0001_0001_evidence_locker_cli_integration.md new file mode 100644 index 000000000..240314695 --- /dev/null +++ b/docs/implplan/SPRINT_0187_0001_0001_evidence_locker_cli_integration.md @@ -0,0 +1,50 @@ +# Sprint 0187-0001-0001 · Evidence Locker & CLI Integration (Replay Delivery 187.A) + +## Topic & Scope +- Persist replay bundles in Evidence Locker, expose ledger-backed verification, and ship offline-ready CLI workflows with sovereign crypto support. +- **Working directory:** `src/EvidenceLocker/StellaOps.EvidenceLocker`, `src/Cli/StellaOps.Cli`, `src/Attestor/StellaOps.Attestor`, relevant docs under `docs/replay`, `docs/modules/evidence-locker`, `docs/modules/cli`, `docs/runbooks`. + +## Dependencies & Concurrency +- Upstream: Sprint 0186 (Scanner record mode), Sprint 0160 Export & Evidence, Sprint 0185 replay core, Sprint 0180 Experience & SDKs. +- Concurrency: execute tasks in listed order; CLI/Attestor depend on EvidenceLocker API schema; crypto routing depends on provider registry readiness. + +## Documentation Prerequisites +- docs/README.md +- docs/07_HIGH_LEVEL_ARCHITECTURE.md +- docs/replay/DETERMINISTIC_REPLAY.md +- docs/replay/DEVS_GUIDE_REPLAY.md +- docs/runbooks/replay_ops.md +- docs/security/crypto-routing-audit-2025-11-07.md + +## Delivery Tracker +| # | Task ID | Status | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| P1 | PREP-EVID-REPLAY-187-001-SCANNER-RECORD-PAYLO | TODO | Due 2025-11-23 · Accountable: Evidence Locker Guild (`src/EvidenceLocker/StellaOps.EvidenceLocker`, docs) | Evidence Locker Guild (`src/EvidenceLocker/StellaOps.EvidenceLocker`, docs) | Scanner record payloads (Sprint 0186) not available; EvidenceLocker API schema cannot be drafted.

Document artefact/deliverable for EVID-REPLAY-187-001 and publish location so downstream tasks can proceed. | +| P2 | PREP-CLI-REPLAY-187-002-DEPENDS-ON-187-001-SC | TODO | Due 2025-11-23 · Accountable: DevEx/CLI Guild (`src/Cli/StellaOps.Cli`, docs) | DevEx/CLI Guild (`src/Cli/StellaOps.Cli`, docs) | Depends on 187-001 schema freeze.

Document artefact/deliverable for CLI-REPLAY-187-002 and publish location so downstream tasks can proceed. | +| P3 | PREP-ATTEST-REPLAY-187-003-DEPENDS-ON-187-001 | TODO | Due 2025-11-23 · Accountable: Attestor Guild (`src/Attestor/StellaOps.Attestor`, docs) | Attestor Guild (`src/Attestor/StellaOps.Attestor`, docs) | Depends on 187-001 payloads.

Document artefact/deliverable for ATTEST-REPLAY-187-003 and publish location so downstream tasks can proceed. | +| P4 | PREP-RUNBOOK-REPLAY-187-004-NEEDS-APIS-DEFINE | TODO | Due 2025-11-23 · Accountable: Docs Guild · Ops Guild (docs/runbooks) | Docs Guild · Ops Guild (docs/runbooks) | Needs APIs defined from 187-001.

Document artefact/deliverable for RUNBOOK-REPLAY-187-004 and publish location so downstream tasks can proceed. | +| P5 | PREP-VALIDATE-BUNDLE-187-005-DEPENDS-ON-187-0 | TODO | Due 2025-11-23 · Accountable: QA Guild · CLI Guild · Docs Guild | QA Guild · CLI Guild · Docs Guild | Depends on 187-001/002/003; no payloads yet.

Document artefact/deliverable for VALIDATE-BUNDLE-187-005 and publish location so downstream tasks can proceed. | +| P6 | PREP-EVID-CRYPTO-90-001-ICRYPTOPROVIDERREGIST | TODO | Due 2025-11-23 · Accountable: Evidence Locker Guild · Security Guild (`src/EvidenceLocker/StellaOps.EvidenceLocker`) | Evidence Locker Guild · Security Guild (`src/EvidenceLocker/StellaOps.EvidenceLocker`) | ICryptoProviderRegistry readiness not confirmed; sovereign crypto profiles pending.

Document artefact/deliverable for EVID-CRYPTO-90-001 and publish location so downstream tasks can proceed. | +| 1 | EVID-REPLAY-187-001 | BLOCKED (2025-11-20) | PREP-EVID-REPLAY-187-001-SCANNER-RECORD-PAYLO | Evidence Locker Guild (`src/EvidenceLocker/StellaOps.EvidenceLocker`, docs) | Implement replay bundle ingestion/retention APIs; document storage/retention rules referencing replay doc §§2 & 8. | +| 2 | CLI-REPLAY-187-002 | BLOCKED (2025-11-20) | PREP-CLI-REPLAY-187-002-DEPENDS-ON-187-001-SC | DevEx/CLI Guild (`src/Cli/StellaOps.Cli`, docs) | Add `scan --record`, `verify`, `replay`, `diff` commands with offline bundle resolution; update CLI architecture and replay appendix. | +| 3 | ATTEST-REPLAY-187-003 | BLOCKED (2025-11-20) | PREP-ATTEST-REPLAY-187-003-DEPENDS-ON-187-001 | Attestor Guild (`src/Attestor/StellaOps.Attestor`, docs) | Wire Attestor/Rekor anchoring for replay manifests; extend attestor architecture with replay ledger flow. | +| 4 | RUNBOOK-REPLAY-187-004 | BLOCKED (2025-11-20) | PREP-RUNBOOK-REPLAY-187-004-NEEDS-APIS-DEFINE | Docs Guild · Ops Guild (docs/runbooks) | Publish `/docs/runbooks/replay_ops.md` covering retention enforcement, RootPack rotation, offline kits, verification drills. | +| 5 | VALIDATE-BUNDLE-187-005 | BLOCKED (2025-11-20) | PREP-VALIDATE-BUNDLE-187-005-DEPENDS-ON-187-0 | QA Guild · CLI Guild · Docs Guild | Deliver `VALIDATION_PLAN.md`, harness scripts (quiet vs baseline, provenance bundle export), `stella bundle verify` subcommand checking DSSE/Rekor/SBOM/policy/replay claims end-to-end. | +| 6 | EVID-CRYPTO-90-001 | BLOCKED (2025-11-20) | PREP-EVID-CRYPTO-90-001-ICRYPTOPROVIDERREGIST | Evidence Locker Guild · Security Guild (`src/EvidenceLocker/StellaOps.EvidenceLocker`) | Route Evidence Locker hashing/signing (manifest digests, DSSE assembly, bundle encryption) through crypto provider registry for sovereign profiles. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | +| 2025-11-03 | `/docs/runbooks/replay_ops.md` created; teams can move replay delivery tasks to DOING alongside Ops runbook rehearsals. | Docs Guild | +| 2025-11-19 | Normalized sprint to standard template and renamed from `SPRINT_187_evidence_locker_cli_integration.md` to `SPRINT_0187_0001_0001_evidence_locker_cli_integration.md`; content preserved. | Implementer | +| 2025-11-19 | Added legacy-file redirect stub to avoid divergent updates. | Implementer | +| 2025-11-20 | Marked all tasks BLOCKED: waiting on Scanner record payloads (Sprint 0186) and ICryptoProviderRegistry readiness; no executable work in this sprint until upstream artefacts land. | Implementer | + +## Decisions & Risks +- EvidenceLocker API schema must align with replay bundles and sovereign crypto routing; approval review on 2025-11-18. +- CLI/Attestor work blocked until Scanner record payloads and EvidenceLocker schema freeze. +- Provider registry must support sovereign profiles (`ru-offline`, etc.) before wiring EVID-CRYPTO-90-001. + +## Next Checkpoints +- Schedule joint review of replay_ops runbook and EvidenceLocker API (date TBD). \ No newline at end of file diff --git a/docs/implplan/SPRINT_0215_0001_0001_web_iv.md b/docs/implplan/SPRINT_0215_0001_0001_web_iv.md new file mode 100644 index 000000000..e61d35d59 --- /dev/null +++ b/docs/implplan/SPRINT_0215_0001_0001_web_iv.md @@ -0,0 +1,52 @@ +# Sprint 0215-0001-0001 · Web IV (Experience & SDKs 180.F) + +## Topic & Scope +- Phase IV web gateway work: orchestrator controls and Policy Studio CRUD/simulation endpoints aligned with Policy Engine. +- Complete policy pack lifecycle (CRUD → activation → publish/promote) with deterministic pagination, RBAC, and telemetry. +- Wire console/CLI consumers by keeping API docs and rate limits in sync with Sprint 180.F deliverables. +- **Working directory:** `src/Web/StellaOps.Web`. + +## Dependencies & Concurrency +- Upstream Sprint 180.F (Web III) must land shared components before these endpoints go live. +- Policy endpoints (20-001 → 20-004) must complete in order; Policy pack tracks (23-001/002) stay BLOCKED until 20-004 ships. +- Policy registry/Studio extensions (27-001…27-005) are sequential; avoid parallel development without shared schema updates. + +## Documentation Prerequisites +- `docs/README.md` +- `docs/07_HIGH_LEVEL_ARCHITECTURE.md` +- `docs/modules/platform/architecture-overview.md` +- `docs/modules/policy/architecture.md` +- `src/Web/StellaOps.Web/AGENTS.md` + +## Delivery Tracker +| # | Task ID | Status | Key dependency / next step | Owners | Task Definition | +| --- | --- | --- | --- | --- | --- | +| 1 | WEB-ORCH-33-001 | TODO | WEB-ORCH-32-001 | BE-Base Platform Guild (`src/Web/StellaOps.Web`) | Add POST action routes (pause/resume/backfill) for orchestrator-run control, honoring RBAC and audit logging. | +| 2 | WEB-ORCH-34-001 | TODO | WEB-ORCH-33-001 | BE-Base Platform Guild (`src/Web/StellaOps.Web`) | Expose quotas/backfill APIs plus queue/backpressure metrics with admin scopes and error clustering. | +| 3 | WEB-POLICY-20-001 | TODO | — | BE-Base Platform Guild · Policy Guild (`src/Web/StellaOps.Web`) | Implement Policy CRUD/compile/run/simulate/findings/explain endpoints with OpenAPI + tenant scoping. | +| 4 | WEB-POLICY-20-002 | TODO | WEB-POLICY-20-001 | BE-Base Platform Guild (`src/Web/StellaOps.Web`) | Add pagination/filtering/sorting + tenant guards to policy listings with deterministic ordering diagnostics. | +| 5 | WEB-POLICY-20-003 | TODO | WEB-POLICY-20-002 | BE-Base Platform Guild · QA Guild (`src/Web/StellaOps.Web`) | Map engine errors to `ERR_POL_*` payloads with contract tests and correlation IDs. | +| 6 | WEB-POLICY-20-004 | TODO | WEB-POLICY-20-003 | Platform Reliability Guild (`src/Web/StellaOps.Web`) | Introduce adaptive rate limits/quotas for simulations, expose metrics, and document retry headers. | +| 7 | WEB-POLICY-23-001 | BLOCKED (2025-10-29) | WEB-POLICY-20-004 | BE-Base Platform Guild · Policy Guild (`src/Web/StellaOps.Web`) | Create/list/fetch policy packs and revisions with pagination, RBAC, and AOC metadata exposure. | +| 8 | WEB-POLICY-23-002 | BLOCKED (2025-10-29) | WEB-POLICY-23-001 | BE-Base Platform Guild (`src/Web/StellaOps.Web`) | Add activation endpoints with scope windows, conflict checks, optional two-person approvals, and events. | +| 9 | WEB-POLICY-23-003 | TODO | WEB-POLICY-23-002 | BE-Base Platform Guild (`src/Web/StellaOps.Web`) | Provide `/policy/simulate` + `/policy/evaluate` streaming APIs with rate limiting and error mapping. | +| 10 | WEB-POLICY-23-004 | TODO | WEB-POLICY-23-003 | BE-Base Platform Guild (`src/Web/StellaOps.Web`) | Expose explain history endpoints showing decision trees, consulted sources, and AOC chain. | +| 11 | WEB-POLICY-27-001 | TODO | WEB-POLICY-23-004 | BE-Base Platform Guild · Policy Registry Guild (`src/Web/StellaOps.Web`) | Proxy Policy Registry APIs (workspaces/versions/reviews) with tenant scoping, RBAC, and streaming downloads. | +| 12 | WEB-POLICY-27-002 | TODO | WEB-POLICY-27-001 | BE-Base Platform Guild (`src/Web/StellaOps.Web`) | Implement review lifecycle endpoints (open/comment/approve/reject) with audit headers and pagination. | +| 13 | WEB-POLICY-27-003 | TODO | WEB-POLICY-27-002 | BE-Base Platform Guild · Scheduler Guild (`src/Web/StellaOps.Web`) | Expose quick/batch simulation endpoints with SSE progress streams, cursor pagination, and manifest downloads. | +| 14 | WEB-POLICY-27-004 | TODO | WEB-POLICY-27-003 | BE-Base Platform Guild · Security Guild (`src/Web/StellaOps.Web`) | Add publish/sign/promote/rollback endpoints with idempotent IDs, canary params, environment bindings, and events. | +| 15 | WEB-POLICY-27-005 | TODO | WEB-POLICY-27-004 | BE-Base Platform Guild · Observability Guild (`src/Web/StellaOps.Web`) | Instrument Policy Studio metrics/logs (compile latency, simulation queue depth, approvals, promotions) and dashboards. | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-19 | Normalized sprint to standard template and migrated content from `SPRINT_215_web_iv.md`. | Project Mgmt | + +## Decisions & Risks +- Policy pack CRUD/activation (WEB-POLICY-23-001/002) remain BLOCKED until WEB-POLICY-20-004 rate-limit work lands. +- Registry/Studio chain (WEB-POLICY-27-001..005) must stay in order to keep schemas stable; avoid parallel merges without shared reviews. +- Ensure RBAC + tenant-scoping docs stay aligned with Policy Engine contracts to prevent drift during promotions. + +## Next Checkpoints +- 2025-11-22 · Verify WEB-POLICY-20-004 rate-limit design review completed (Platform Reliability Guild). +- 2025-11-25 · Policy pack CRUD kickoff pending unblock from WEB-POLICY-20-004 (Policy Guild + BE-Base Platform Guild). diff --git a/docs/implplan/SPRINT_0316_0001_0001_docs_modules_cli.md b/docs/implplan/SPRINT_0316_0001_0001_docs_modules_cli.md index 120e8bad0..3fc156f7e 100644 --- a/docs/implplan/SPRINT_0316_0001_0001_docs_modules_cli.md +++ b/docs/implplan/SPRINT_0316_0001_0001_docs_modules_cli.md @@ -21,13 +21,15 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | +| P1 | PREP-CLI-OPS-0001-WAITING-FOR-NEXT-DEMO-OUTPU | TODO | Due 2025-11-25 · Accountable: Ops Guild | Ops Guild | Waiting for next demo outputs.

Document artefact/deliverable for CLI-OPS-0001 and publish location so downstream tasks can proceed. | | 1 | CLI-DOCS-0001 | DONE | Synced sprint references on 2025-11-17 | Docs Guild | Update docs/AGENTS to reflect current CLI scope and sprint naming; align with template rules. | | 2 | CLI-ENG-0001 | DONE | Sprint normalized; statuses mirrored | Module Team | Update status via ./AGENTS.md workflow and ensure module docs reference current sprint. | -| 3 | CLI-OPS-0001 | BLOCKED | Waiting for next demo outputs | Ops Guild | Sync outcomes back to ../.. ; refresh ops/runbook notes after demo. | +| 3 | CLI-OPS-0001 | BLOCKED | PREP-CLI-OPS-0001-WAITING-FOR-NEXT-DEMO-OUTPU | Ops Guild | Sync outcomes back to ../.. ; refresh ops/runbook notes after demo. | ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-17 | Normalised sprint to standard template; renamed from SPRINT_316_docs_modules_cli.md. | Docs | | 2025-11-17 | Completed CLI-DOCS-0001 and CLI-ENG-0001 by updating CLI docs to reference normalized sprint. | Module Team | @@ -36,4 +38,4 @@ - Keep sprint naming aligned with template to avoid broken references in CLI docs. ## Next Checkpoints -- 2025-11-22 · Check for demo outputs to unblock CLI-OPS-0001. Owner: Ops Guild. +- 2025-11-22 · Check for demo outputs to unblock CLI-OPS-0001. Owner: Ops Guild. \ No newline at end of file diff --git a/docs/implplan/SPRINT_0321_0001_0001_docs_modules_graph.md b/docs/implplan/SPRINT_0321_0001_0001_docs_modules_graph.md index 363e3ea6f..e10aaa3d2 100644 --- a/docs/implplan/SPRINT_0321_0001_0001_docs_modules_graph.md +++ b/docs/implplan/SPRINT_0321_0001_0001_docs_modules_graph.md @@ -20,13 +20,15 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | +| P1 | PREP-GRAPH-OPS-0001-WAITING-FOR-NEXT-DEMO-OUT | TODO | Due 2025-11-25 · Accountable: Ops Guild | Ops Guild | Waiting for next demo outputs to review dashboards/runbooks.

Document artefact/deliverable for GRAPH-OPS-0001 and publish location so downstream tasks can proceed. | | 1 | GRAPH-ENG-0001 | DONE | Synced docs to Sprint 0141 rename on 2025-11-17 | Module Team | Keep module milestones in sync with `/docs/implplan/SPRINT_0141_0001_0001_graph_indexer.md` and related files; update references and note deltas. | | 2 | GRAPH-DOCS-0002 | BLOCKED | Await DOCS-GRAPH-24-003 cross-links | Docs Guild | Add API/query doc cross-links once DOCS-GRAPH-24-003 lands. | -| 3 | GRAPH-OPS-0001 | BLOCKED | Waiting for next demo outputs to review dashboards/runbooks | Ops Guild | Review graph observability dashboards/runbooks after the next sprint demo; capture updates in runbooks. | +| 3 | GRAPH-OPS-0001 | BLOCKED | PREP-GRAPH-OPS-0001-WAITING-FOR-NEXT-DEMO-OUT | Ops Guild | Review graph observability dashboards/runbooks after the next sprint demo; capture updates in runbooks. | ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-17 | Marked GRAPH-DOCS-0002 and GRAPH-OPS-0001 as BLOCKED pending DOCS-GRAPH-24-003 + next demo outputs. | Module Team | | 2025-11-17 | Completed GRAPH-ENG-0001; README and implementation_plan now reference SPRINT_0141_0001_0001_graph_indexer.md. | Module Team | | 2025-11-17 | Normalised sprint to standard template; renamed from SPRINT_321_docs_modules_graph.md. | Docs | @@ -39,4 +41,4 @@ ## Next Checkpoints - 2025-11-17 · Milestone sync completed (GRAPH-ENG-0001). Owner: Module Team. - 2025-11-22 · Confirm DOCS-GRAPH-24-003 status; proceed with cross-links if available. Owner: Docs Guild. -- 2025-11-25 · Runbook/observability review post-demo. Owner: Ops Guild. +- 2025-11-25 · Runbook/observability review post-demo. Owner: Ops Guild. \ No newline at end of file diff --git a/docs/implplan/SPRINT_0400_0001_0001_reachability_runtime_static_union.md b/docs/implplan/SPRINT_0400_0001_0001_reachability_runtime_static_union.md index 6e8d66c96..e4da8263b 100644 --- a/docs/implplan/SPRINT_0400_0001_0001_reachability_runtime_static_union.md +++ b/docs/implplan/SPRINT_0400_0001_0001_reachability_runtime_static_union.md @@ -21,10 +21,10 @@ | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | | 1 | ZASTAVA-REACH-201-001 | TODO | Need runtime symbol sampling design; align with GAP-ZAS-002 | Zastava Observer Guild | Implement runtime symbol sampling in `StellaOps.Zastava.Observer` (EntryTrace-aware shell AST + build-id capture) and stream ND-JSON batches to Signals `/runtime-facts`, including CAS pointers for traces. Update runbook + config references. | -| 2 | SCAN-REACH-201-002 | DOING | Continue static lifters; ensure SymbolID generation matches runtime | Scanner Worker Guild | Ship language-aware static lifters (JVM, .NET/Roslyn+IL, Go SSA, Node/Deno TS AST, Rust MIR, Swift SIL, shell/binary analyzers) in Scanner Worker; emit canonical SymbolIDs, CAS-stored graphs, and attach reachability tags to SBOM components. | -| 3 | SIGNALS-REACH-201-003 | DOING | Ingest schema needs runtime/static union spec | Signals Guild | Extend Signals ingestion to accept the new multi-language graphs + runtime facts, normalize into `reachability_graphs` CAS layout, and expose retrieval APIs for Policy/CLI. | -| 4 | SIGNALS-REACH-201-004 | DOING | Depends on 201-003 schema | Signals Guild · Policy Guild | Build the reachability scoring engine (state/score/confidence), wire Redis caches + `signals.fact.updated` events, and integrate reachability weights defined in `docs/11_DATA_SCHEMAS.md`. | -| 5 | REPLAY-REACH-201-005 | DOING | Needs finalized graph payload shape | BE-Base Platform Guild | Update `StellaOps.Replay.Core` manifest schema + bundle writer so replay packs capture reachability graphs, runtime traces, analyzer versions, and evidence hashes; document new CAS namespace. | +| 2 | SCAN-REACH-201-002 | BLOCKED | Await runtime/static union schema (SymbolID + CAS layout) | Scanner Worker Guild | Ship language-aware static lifters (JVM, .NET/Roslyn+IL, Go SSA, Node/Deno TS AST, Rust MIR, Swift SIL, shell/binary analyzers) in Scanner Worker; emit canonical SymbolIDs, CAS-stored graphs, and attach reachability tags to SBOM components. | +| 3 | SIGNALS-REACH-201-003 | BLOCKED | Runtime/static union schema not published | Signals Guild | Extend Signals ingestion to accept the new multi-language graphs + runtime facts, normalize into `reachability_graphs` CAS layout, and expose retrieval APIs for Policy/CLI. | +| 4 | SIGNALS-REACH-201-004 | BLOCKED | Depends on 201-003 schema | Signals Guild · Policy Guild | Build the reachability scoring engine (state/score/confidence), wire Redis caches + `signals.fact.updated` events, and integrate reachability weights defined in `docs/11_DATA_SCHEMAS.md`. | +| 5 | REPLAY-REACH-201-005 | BLOCKED | Needs finalized graph payload shape | BE-Base Platform Guild | Update `StellaOps.Replay.Core` manifest schema + bundle writer so replay packs capture reachability graphs, runtime traces, analyzer versions, and evidence hashes; document new CAS namespace. | | 6 | DOCS-REACH-201-006 | TODO | Requires outputs from 1–5 | Docs Guild | Author the reachability doc set (`docs/signals/reachability.md`, `callgraph-formats.md`, `runtime-facts.md`, CLI/UI appendices) plus update Zastava + Replay guides with the new evidence and operator workflows. | | 7 | QA-REACH-201-007 | TODO | Move fixtures + create evaluator harness | QA Guild | Integrate `reachbench-2025-expanded` fixture pack under `tests/reachability/fixtures/`, add evaluator harness tests that validate reachable vs unreachable cases, and wire CI guidance for deterministic runs. | | 8 | GAP-SCAN-001 | TODO | Align with task 2; binary symbolizers | Scanner Worker Guild | Implement binary/language symbolizers that emit `richgraph-v1` payloads with canonical SymbolIDs and `code_id` anchors, persist graphs to CAS via `StellaOps.Scanner.Reachability`, and refresh analyzer docs/fixtures. | @@ -34,6 +34,7 @@ | Date (UTC) | Update | Owner | | --- | --- | --- | | 2025-11-18 | Normalised sprint to standard template; renamed from SPRINT_400_runtime_facts_static_callgraph_union.md. | Docs | +| 2025-11-19 | Marked tasks 201-002..201-005 BLOCKED pending runtime/static union schema (SymbolID+CAS layout); no implementation until schema is published. | Implementer | ## Decisions & Risks - Runtime/static schema alignment pending (SymbolID, CAS layout, overlay tags); blocks ingestion and scoring finalization. diff --git a/docs/implplan/SPRINT_0509_0001_0001_samples.md b/docs/implplan/SPRINT_0509_0001_0001_samples.md index 4af27deeb..89a7a46e9 100644 --- a/docs/implplan/SPRINT_0509_0001_0001_samples.md +++ b/docs/implplan/SPRINT_0509_0001_0001_samples.md @@ -19,17 +19,22 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | -| 1 | SAMPLES-GRAPH-24-003 | DOING | Align overlay format with Graph Guild; build mock SBOM bundle source list | Samples Guild · SBOM Service Guild | Generate large-scale SBOM graph fixture (~40k nodes) with policy overlay snapshot for perf/regression suites. | +| P1 | PREP-SAMPLES-LNM-22-001-WAITING-ON-FINALIZED | TODO | Due 2025-11-26 · Accountable: Samples Guild · Concelier Guild | Samples Guild · Concelier Guild | Waiting on finalized advisory linkset schema (Concelier).

Document artefact/deliverable for SAMPLES-LNM-22-001 and publish location so downstream tasks can proceed. | +| P2 | PREP-SAMPLES-LNM-22-002-DEPENDS-ON-22-001-OUT | TODO | Due 2025-11-26 · Accountable: Samples Guild · Excititor Guild | Samples Guild · Excititor Guild | Depends on 22-001 outputs + Excititor observation/linkset implementation.

Document artefact/deliverable for SAMPLES-LNM-22-002 and publish location so downstream tasks can proceed. | +| 1 | SAMPLES-GRAPH-24-003 | BLOCKED | Await Graph overlay format decision + mock SBOM cache availability | Samples Guild · SBOM Service Guild | Generate large-scale SBOM graph fixture (~40k nodes) with policy overlay snapshot for perf/regression suites. | | 2 | SAMPLES-GRAPH-24-004 | TODO | Blocked on 24-003 fixture availability | Samples Guild · UI Guild | Create vulnerability explorer JSON/CSV fixtures capturing conflicting evidence and policy outputs for UI/CLI automated tests. | -| 3 | SAMPLES-LNM-22-001 | BLOCKED | Waiting on finalized advisory linkset schema (Concelier) | Samples Guild · Concelier Guild | Create advisory observation/linkset fixtures (NVD, GHSA, OSV disagreements) for API/CLI/UI tests with documented conflicts. | -| 4 | SAMPLES-LNM-22-002 | BLOCKED | Depends on 22-001 outputs + Excititor observation/linkset implementation | Samples Guild · Excititor Guild | Produce VEX observation/linkset fixtures demonstrating status conflicts and path relevance; include raw blobs. | +| 3 | SAMPLES-LNM-22-001 | BLOCKED | PREP-SAMPLES-LNM-22-001-WAITING-ON-FINALIZED | Samples Guild · Concelier Guild | Create advisory observation/linkset fixtures (NVD, GHSA, OSV disagreements) for API/CLI/UI tests with documented conflicts. | +| 4 | SAMPLES-LNM-22-002 | BLOCKED | PREP-SAMPLES-LNM-22-002-DEPENDS-ON-22-001-OUT | Samples Guild · Excititor Guild | Produce VEX observation/linkset fixtures demonstrating status conflicts and path relevance; include raw blobs. | ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Normalized PREP-SAMPLES-LNM-22-001 Task ID (removed trailing hyphen) for dependency tracking. | Project Mgmt | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-18 | Drafted fixture plan (`samples/graph/fixtures-plan.md`) outlining contents, assumptions, and blockers for SAMPLES-GRAPH-24-003. | Samples | | 2025-11-18 | Kicked off SAMPLES-GRAPH-24-003 (overlay format + mock bundle sources); other tasks unchanged. | Samples | | 2025-11-18 | Normalised sprint to standard template; renamed from SPRINT_509_samples.md. | Ops/Docs | +| 2025-11-19 | Marked SAMPLES-GRAPH-24-003 BLOCKED pending Graph overlay format decision and mock SBOM cache availability. | Implementer | ## Decisions & Risks - Linkset fixtures blocked by Concelier/Excititor schema finalization; revisit once schemas freeze. diff --git a/docs/implplan/SPRINT_0510_0001_0001_airgap.md b/docs/implplan/SPRINT_0510_0001_0001_airgap.md index fa2bcebbf..dcd23e9bc 100644 --- a/docs/implplan/SPRINT_0510_0001_0001_airgap.md +++ b/docs/implplan/SPRINT_0510_0001_0001_airgap.md @@ -18,25 +18,35 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | -| 1 | AIRGAP-CTL-56-001 | BLOCKED | Controller project scaffold missing; need baseline service skeleton | AirGap Controller Guild | Implement `airgap_state` persistence, seal/unseal state machine, and Authority scope checks (`airgap:seal`, `airgap:status:read`). | -| 2 | AIRGAP-CTL-56-002 | BLOCKED | Blocked on 56-001 scaffolding | AirGap Controller Guild · DevOps Guild | Expose `GET /system/airgap/status`, `POST /system/airgap/seal`, integrate policy hash validation, and return staleness/time anchor placeholders. | -| 3 | AIRGAP-CTL-57-001 | BLOCKED | Blocked on 56-002 | AirGap Controller Guild | Add startup diagnostics that block application run when sealed flag set but egress policies missing; emit audit + telemetry. | -| 4 | AIRGAP-CTL-57-002 | BLOCKED | Blocked on 57-001 | AirGap Controller Guild · Observability Guild | Instrument seal/unseal events with trace/log fields and timeline emission (`airgap.sealed`, `airgap.unsealed`). | -| 5 | AIRGAP-CTL-58-001 | BLOCKED | Blocked on 57-002 | AirGap Controller Guild · AirGap Time Guild | Persist time anchor metadata, compute drift seconds, and surface staleness budgets in status API. | -| 6 | AIRGAP-IMP-56-001 | BLOCKED | Importer project scaffold missing; need trust-root inputs | AirGap Importer Guild | Implement DSSE verification helpers, TUF metadata parser (`root.json`, `snapshot.json`, `timestamp.json`), and Merkle root calculator. | -| 7 | AIRGAP-IMP-56-002 | BLOCKED | Blocked on 56-001 | AirGap Importer Guild · Security Guild | Introduce root rotation policy validation (dual approval) and signer trust store management. | -| 8 | AIRGAP-IMP-57-001 | BLOCKED | Blocked on 56-002 | AirGap Importer Guild | Write `bundle_catalog` and `bundle_items` repositories with RLS + deterministic migrations. | -| 9 | AIRGAP-IMP-57-002 | BLOCKED | Blocked on 57-001 | AirGap Importer Guild · DevOps Guild | Implement object-store loader storing artifacts under tenant/global mirror paths with Zstandard decompression and checksum validation. | -| 10 | AIRGAP-IMP-58-001 | BLOCKED | Blocked on 57-002 | AirGap Importer Guild · CLI Guild | Implement API (`POST /airgap/import`, `/airgap/verify`) and CLI commands wiring verification + catalog updates, including diff preview. | -| 11 | AIRGAP-IMP-58-002 | BLOCKED | Blocked on 58-001 | AirGap Importer Guild · Observability Guild | Emit timeline events (`airgap.import.started`, `airgap.import.completed`) with staleness metrics. | -| 12 | AIRGAP-TIME-57-001 | BLOCKED | Time component scaffold missing; need token format decision | AirGap Time Guild | Implement signed time token parser (Roughtime/RFC3161), verify signatures against bundle trust roots, and expose normalized anchor representation. | -| 13 | AIRGAP-TIME-57-002 | BLOCKED | Blocked on 57-001 | AirGap Time Guild · Observability Guild | Add telemetry counters for time anchors (`airgap_time_anchor_age_seconds`) and alerts for approaching thresholds. | -| 14 | AIRGAP-TIME-58-001 | BLOCKED | Blocked on 57-002 | AirGap Time Guild | Persist drift baseline, compute per-content staleness (advisories, VEX, policy) based on bundle metadata, and surface through controller status API. | -| 15 | AIRGAP-TIME-58-002 | BLOCKED | Blocked on 58-001 | AirGap Time Guild · Notifications Guild | Emit notifications and timeline events when staleness budgets breached or approaching. | +| P1 | PREP-AIRGAP-CTL-56-001-CONTROLLER-PROJECT-SCA | TODO | Due 2025-11-26 · Accountable: AirGap Controller Guild | AirGap Controller Guild | Controller project scaffold missing; need baseline service skeleton.

Document artefact/deliverable for AIRGAP-CTL-56-001 and publish location so downstream tasks can proceed. | +| P2 | PREP-AIRGAP-CTL-56-002-BLOCKED-ON-56-001-SCAF | TODO | Due 2025-11-26 · Accountable: AirGap Controller Guild · DevOps Guild | AirGap Controller Guild · DevOps Guild | Blocked on 56-001 scaffolding.

Document artefact/deliverable for AIRGAP-CTL-56-002 and publish location so downstream tasks can proceed. | +| P3 | PREP-AIRGAP-CTL-57-001-BLOCKED-ON-56-002 | TODO | Due 2025-11-26 · Accountable: AirGap Controller Guild | AirGap Controller Guild | Blocked on 56-002.

Document artefact/deliverable for AIRGAP-CTL-57-001, AIRGAP-IMP-57-001 and publish location so downstream tasks can proceed. | +| P4 | PREP-AIRGAP-CTL-57-002-BLOCKED-ON-57-001 | TODO | Due 2025-11-26 · Accountable: AirGap Controller Guild · Observability Guild | AirGap Controller Guild · Observability Guild | Blocked on 57-001.

Document artefact/deliverable for AIRGAP-CTL-57-002, AIRGAP-IMP-57-002, AIRGAP-TIME-57-002 and publish location so downstream tasks can proceed. | +| P5 | PREP-AIRGAP-CTL-58-001-BLOCKED-ON-57-002 | TODO | Due 2025-11-26 · Accountable: AirGap Controller Guild · AirGap Time Guild | AirGap Controller Guild · AirGap Time Guild | Blocked on 57-002.

Document artefact/deliverable for AIRGAP-CTL-58-001, AIRGAP-IMP-58-001, AIRGAP-TIME-58-001 and publish location so downstream tasks can proceed. | +| P6 | PREP-AIRGAP-IMP-56-001-IMPORTER-PROJECT-SCAFF | TODO | Due 2025-11-26 · Accountable: AirGap Importer Guild | AirGap Importer Guild | Importer project scaffold missing; need trust-root inputs.

Document artefact/deliverable for AIRGAP-IMP-56-001 and publish location so downstream tasks can proceed. | +| P7 | PREP-AIRGAP-IMP-56-002-BLOCKED-ON-56-001 | TODO | Due 2025-11-26 · Accountable: AirGap Importer Guild · Security Guild | AirGap Importer Guild · Security Guild | Blocked on 56-001.

Document artefact/deliverable for AIRGAP-IMP-56-002 and publish location so downstream tasks can proceed. | +| P8 | PREP-AIRGAP-IMP-58-002-BLOCKED-ON-58-001 | TODO | Due 2025-11-26 · Accountable: AirGap Importer Guild · Observability Guild | AirGap Importer Guild · Observability Guild | Blocked on 58-001.

Document artefact/deliverable for AIRGAP-IMP-58-002, AIRGAP-TIME-58-002 and publish location so downstream tasks can proceed. | +| P9 | PREP-AIRGAP-TIME-57-001-TIME-COMPONENT-SCAFFO | TODO | Due 2025-11-26 · Accountable: AirGap Time Guild | AirGap Time Guild | Time component scaffold missing; need token format decision.

Document artefact/deliverable for AIRGAP-TIME-57-001 and publish location so downstream tasks can proceed. | +| 1 | AIRGAP-CTL-56-001 | BLOCKED | PREP-AIRGAP-CTL-56-001-CONTROLLER-PROJECT-SCA | AirGap Controller Guild | Implement `airgap_state` persistence, seal/unseal state machine, and Authority scope checks (`airgap:seal`, `airgap:status:read`). | +| 2 | AIRGAP-CTL-56-002 | BLOCKED | PREP-AIRGAP-CTL-56-002-BLOCKED-ON-56-001-SCAF | AirGap Controller Guild · DevOps Guild | Expose `GET /system/airgap/status`, `POST /system/airgap/seal`, integrate policy hash validation, and return staleness/time anchor placeholders. | +| 3 | AIRGAP-CTL-57-001 | BLOCKED | PREP-AIRGAP-CTL-57-001-BLOCKED-ON-56-002 | AirGap Controller Guild | Add startup diagnostics that block application run when sealed flag set but egress policies missing; emit audit + telemetry. | +| 4 | AIRGAP-CTL-57-002 | BLOCKED | PREP-AIRGAP-CTL-57-002-BLOCKED-ON-57-001 | AirGap Controller Guild · Observability Guild | Instrument seal/unseal events with trace/log fields and timeline emission (`airgap.sealed`, `airgap.unsealed`). | +| 5 | AIRGAP-CTL-58-001 | BLOCKED | PREP-AIRGAP-CTL-58-001-BLOCKED-ON-57-002 | AirGap Controller Guild · AirGap Time Guild | Persist time anchor metadata, compute drift seconds, and surface staleness budgets in status API. | +| 6 | AIRGAP-IMP-56-001 | BLOCKED | PREP-AIRGAP-IMP-56-001-IMPORTER-PROJECT-SCAFF | AirGap Importer Guild | Implement DSSE verification helpers, TUF metadata parser (`root.json`, `snapshot.json`, `timestamp.json`), and Merkle root calculator. | +| 7 | AIRGAP-IMP-56-002 | BLOCKED | PREP-AIRGAP-IMP-56-002-BLOCKED-ON-56-001 | AirGap Importer Guild · Security Guild | Introduce root rotation policy validation (dual approval) and signer trust store management. | +| 8 | AIRGAP-IMP-57-001 | BLOCKED | PREP-AIRGAP-CTL-57-001-BLOCKED-ON-56-002 | AirGap Importer Guild | Write `bundle_catalog` and `bundle_items` repositories with RLS + deterministic migrations. | +| 9 | AIRGAP-IMP-57-002 | BLOCKED | PREP-AIRGAP-CTL-57-002-BLOCKED-ON-57-001 | AirGap Importer Guild · DevOps Guild | Implement object-store loader storing artifacts under tenant/global mirror paths with Zstandard decompression and checksum validation. | +| 10 | AIRGAP-IMP-58-001 | BLOCKED | PREP-AIRGAP-CTL-58-001-BLOCKED-ON-57-002 | AirGap Importer Guild · CLI Guild | Implement API (`POST /airgap/import`, `/airgap/verify`) and CLI commands wiring verification + catalog updates, including diff preview. | +| 11 | AIRGAP-IMP-58-002 | BLOCKED | PREP-AIRGAP-IMP-58-002-BLOCKED-ON-58-001 | AirGap Importer Guild · Observability Guild | Emit timeline events (`airgap.import.started`, `airgap.import.completed`) with staleness metrics. | +| 12 | AIRGAP-TIME-57-001 | BLOCKED | PREP-AIRGAP-TIME-57-001-TIME-COMPONENT-SCAFFO | AirGap Time Guild | Implement signed time token parser (Roughtime/RFC3161), verify signatures against bundle trust roots, and expose normalized anchor representation. | +| 13 | AIRGAP-TIME-57-002 | BLOCKED | PREP-AIRGAP-CTL-57-002-BLOCKED-ON-57-001 | AirGap Time Guild · Observability Guild | Add telemetry counters for time anchors (`airgap_time_anchor_age_seconds`) and alerts for approaching thresholds. | +| 14 | AIRGAP-TIME-58-001 | BLOCKED | PREP-AIRGAP-CTL-58-001-BLOCKED-ON-57-002 | AirGap Time Guild | Persist drift baseline, compute per-content staleness (advisories, VEX, policy) based on bundle metadata, and surface through controller status API. | +| 15 | AIRGAP-TIME-58-002 | BLOCKED | PREP-AIRGAP-IMP-58-002-BLOCKED-ON-58-001 | AirGap Time Guild · Notifications Guild | Emit notifications and timeline events when staleness budgets breached or approaching. | ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-18 | Marked all AIRGAP controller/importer/time tasks BLOCKED: no project scaffolds exist under src/AirGap; need baseline service skeletons and token format decisions before implementation. | Ops/Docs | | 2025-11-18 | Normalised sprint to standard template; renamed from SPRINT_510_airgap.md. | Ops/Docs | @@ -48,4 +58,4 @@ ## Next Checkpoints - 2025-11-20 · Confirm time token format and trust root delivery shape. Owner: AirGap Time Guild. - 2025-11-22 · Align on seal/unseal Authority scopes and baseline policy hash inputs. Owner: AirGap Controller Guild. -- 2025-11-25 · Verify release pipeline exposes TUF metadata paths for importer (AIRGAP-IMP-56-001). Owner: AirGap Importer Guild. +- 2025-11-25 · Verify release pipeline exposes TUF metadata paths for importer (AIRGAP-IMP-56-001). Owner: AirGap Importer Guild. \ No newline at end of file diff --git a/docs/implplan/SPRINT_0512_0001_0001_bench.md b/docs/implplan/SPRINT_0512_0001_0001_bench.md index 23bfd3062..f763e8b1a 100644 --- a/docs/implplan/SPRINT_0512_0001_0001_bench.md +++ b/docs/implplan/SPRINT_0512_0001_0001_bench.md @@ -19,17 +19,25 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | -| 1 | BENCH-GRAPH-21-001 | BLOCKED | Need graph bench harness scaffolding (50k/100k nodes) | Bench Guild · Graph Platform Guild | Build graph viewport/path benchmark harness (50k/100k nodes) measuring Graph API/Indexer latency, memory, and tile cache hit rates. | -| 2 | BENCH-GRAPH-21-002 | BLOCKED | Blocked on 21-001 harness | Bench Guild · UI Guild | Add headless UI load benchmark (Playwright) for graph canvas interactions to track render times and FPS budgets. | +| P1 | PREP-BENCH-GRAPH-21-001-NEED-GRAPH-BENCH-HARN | TODO | Due 2025-11-26 · Accountable: Bench Guild · Graph Platform Guild | Bench Guild · Graph Platform Guild | Need graph bench harness scaffolding (50k/100k nodes).

Document artefact/deliverable for BENCH-GRAPH-21-001 and publish location so downstream tasks can proceed. | +| P2 | PREP-BENCH-GRAPH-21-002-BLOCKED-ON-21-001-HAR | TODO | Due 2025-11-26 · Accountable: Bench Guild · UI Guild | Bench Guild · UI Guild | Blocked on 21-001 harness.

Document artefact/deliverable for BENCH-GRAPH-21-002 and publish location so downstream tasks can proceed. | +| P3 | PREP-BENCH-IMPACT-16-001-IMPACT-INDEX-DATASET | TODO | Due 2025-11-26 · Accountable: Bench Guild · Scheduler Team | Bench Guild · Scheduler Team | Impact index dataset/replay inputs not provided.

Document artefact/deliverable for BENCH-IMPACT-16-001 and publish location so downstream tasks can proceed. | +| P4 | PREP-BENCH-POLICY-20-002-POLICY-DELTA-SAMPLE | TODO | Due 2025-11-26 · Accountable: Bench Guild · Policy Guild · Scheduler Guild | Bench Guild · Policy Guild · Scheduler Guild | Policy delta sample inputs missing.

Document artefact/deliverable for BENCH-POLICY-20-002 and publish location so downstream tasks can proceed. | +| P5 | PREP-BENCH-SIG-26-001-REACHABILITY-SCHEMA-FIX | TODO | Due 2025-11-26 · Accountable: Bench Guild · Signals Guild | Bench Guild · Signals Guild | Reachability schema/fixtures pending Sprint 0400/0401.

Document artefact/deliverable for BENCH-SIG-26-001 and publish location so downstream tasks can proceed. | +| P6 | PREP-BENCH-SIG-26-002-BLOCKED-ON-26-001-OUTPU | TODO | Due 2025-11-26 · Accountable: Bench Guild · Policy Guild | Bench Guild · Policy Guild | Blocked on 26-001 outputs.

Document artefact/deliverable for BENCH-SIG-26-002 and publish location so downstream tasks can proceed. | +| 1 | BENCH-GRAPH-21-001 | BLOCKED | PREP-BENCH-GRAPH-21-001-NEED-GRAPH-BENCH-HARN | Bench Guild · Graph Platform Guild | Build graph viewport/path benchmark harness (50k/100k nodes) measuring Graph API/Indexer latency, memory, and tile cache hit rates. | +| 2 | BENCH-GRAPH-21-002 | BLOCKED | PREP-BENCH-GRAPH-21-002-BLOCKED-ON-21-001-HAR | Bench Guild · UI Guild | Add headless UI load benchmark (Playwright) for graph canvas interactions to track render times and FPS budgets. | | 3 | BENCH-GRAPH-24-002 | BLOCKED | Waiting for 50k/100k graph fixture (SAMPLES-GRAPH-24-003) | Bench Guild · UI Guild | Implement UI interaction benchmarks (filter/zoom/table operations) citing p95 latency; integrate with perf dashboards. | -| 4 | BENCH-IMPACT-16-001 | BLOCKED | Impact index dataset/replay inputs not provided | Bench Guild · Scheduler Team | ImpactIndex throughput bench (resolve 10k productKeys) + RAM profile. | -| 5 | BENCH-POLICY-20-002 | BLOCKED | Policy delta sample inputs missing | Bench Guild · Policy Guild · Scheduler Guild | Add incremental run benchmark measuring delta evaluation vs full; capture SLA compliance. | -| 6 | BENCH-SIG-26-001 | BLOCKED | Reachability schema/fixtures pending Sprint 0400/0401 | Bench Guild · Signals Guild | Develop benchmark for reachability scoring pipeline (facts/sec, latency, memory) using synthetic callgraphs/runtime batches. | -| 7 | BENCH-SIG-26-002 | BLOCKED | Blocked on 26-001 outputs | Bench Guild · Policy Guild | Measure policy evaluation overhead with reachability cache hot/cold; ensure ≤8 ms p95 added latency. | +| 4 | BENCH-IMPACT-16-001 | BLOCKED | PREP-BENCH-IMPACT-16-001-IMPACT-INDEX-DATASET | Bench Guild · Scheduler Team | ImpactIndex throughput bench (resolve 10k productKeys) + RAM profile. | +| 5 | BENCH-POLICY-20-002 | BLOCKED | PREP-BENCH-POLICY-20-002-POLICY-DELTA-SAMPLE | Bench Guild · Policy Guild · Scheduler Guild | Add incremental run benchmark measuring delta evaluation vs full; capture SLA compliance. | +| 6 | BENCH-SIG-26-001 | BLOCKED | PREP-BENCH-SIG-26-001-REACHABILITY-SCHEMA-FIX | Bench Guild · Signals Guild | Develop benchmark for reachability scoring pipeline (facts/sec, latency, memory) using synthetic callgraphs/runtime batches. | +| 7 | BENCH-SIG-26-002 | BLOCKED | PREP-BENCH-SIG-26-002-BLOCKED-ON-26-001-OUTPU | Bench Guild · Policy Guild | Measure policy evaluation overhead with reachability cache hot/cold; ensure ≤8 ms p95 added latency. | ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Trimmed trailing hyphen from PREP-BENCH-POLICY-20-002 Task ID to keep BENCH-POLICY-20-002 blocker resolvable. | Project Mgmt | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-18 | Marked BENCH-GRAPH-24-002, BENCH-IMPACT-16-001, BENCH-POLICY-20-002, BENCH-SIG-26-001/002 as BLOCKED pending fixtures/datasets and reachability schema. | Bench | | 2025-11-18 | Normalised sprint to standard template; renamed from SPRINT_512_bench.md. | Ops/Docs | @@ -41,4 +49,4 @@ ## Next Checkpoints - 2025-11-22 · Confirm availability of graph fixtures for BENCH-GRAPH-21-001/002/24-002. Owner: Bench Guild. - 2025-11-24 · Reachability schema alignment outcome to unblock BENCH-SIG-26-001. Owner: Signals Guild. -- 2025-11-26 · Decide impact index dataset for BENCH-IMPACT-16-001. Owner: Scheduler Team. +- 2025-11-26 · Decide impact index dataset for BENCH-IMPACT-16-001. Owner: Scheduler Team. \ No newline at end of file diff --git a/docs/implplan/SPRINT_0514_0001_0001_sovereign_crypto_enablement.md b/docs/implplan/SPRINT_0514_0001_0001_sovereign_crypto_enablement.md index dd546bfcc..5c2859d32 100644 --- a/docs/implplan/SPRINT_0514_0001_0001_sovereign_crypto_enablement.md +++ b/docs/implplan/SPRINT_0514_0001_0001_sovereign_crypto_enablement.md @@ -17,6 +17,7 @@ ## Delivery Tracker | # | Task ID | Status | Key dependency / next step | Owners | Task Definition | | --- | --- | --- | --- | --- | --- | +| P1 | PREP-AUTH-CRYPTO-90-001-NEEDS-AUTHORITY-PROVI | TODO | Due 2025-11-26 · Accountable: Authority Core & Security Guild | Authority Core & Security Guild | Needs Authority provider/key format spec & JWKS export requirements.

Document artefact/deliverable for AUTH-CRYPTO-90-001 and publish location so downstream tasks can proceed. | | 1 | SEC-CRYPTO-90-017 | TODO | Fork present; integrate into solution | Security Guild | Vendor `third_party/forks/AlexMAS.GostCryptography` into the solution build (solution filters, Directory.Build props, CI) so the library compiles with the repo and publishes artifacts. | | 2 | SEC-CRYPTO-90-018 | TODO | After 90-017 | Security & Docs Guilds | Update developer/RootPack documentation to describe the fork, sync steps, and licensing. | | 3 | SEC-CRYPTO-90-019 | TODO | After 90-017 | Security Guild | Patch the fork to drop vulnerable `System.Security.Cryptography.{Pkcs,Xml}` 6.0.0 deps; retarget .NET 8+, rerun tests. | @@ -26,7 +27,7 @@ | 7 | SEC-CRYPTO-90-013 | TODO | After 90-021 | Security Guild | Add Magma/Kuznyechik symmetric support via provider registry. | | 8 | SEC-CRYPTO-90-014 | TODO | After Authority contract confirmed | Security Guild + Service Guilds | Update runtime hosts (Authority, Scanner WebService/Worker, Concelier, etc.) to register RU providers and expose config toggles. | | 9 | SEC-CRYPTO-90-015 | TODO | After 90-012/021 | Security & Docs Guild | Refresh RootPack/validation documentation. | -| 10 | AUTH-CRYPTO-90-001 | BLOCKED | Needs Authority provider/key format spec & JWKS export requirements | Authority Core & Security Guild | Sovereign signing provider contract for Authority; refactor loaders once contract is published. | +| 10 | AUTH-CRYPTO-90-001 | BLOCKED | PREP-AUTH-CRYPTO-90-001-NEEDS-AUTHORITY-PROVI | Authority Core & Security Guild | Sovereign signing provider contract for Authority; refactor loaders once contract is published. | | 11 | SCANNER-CRYPTO-90-001 | TODO | Needs registry wiring | Scanner WebService Guild · Security Guild | Route hashing/signing flows through `ICryptoProviderRegistry`. | | 12 | SCANNER-WORKER-CRYPTO-90-001 | TODO | After 11 | Scanner Worker Guild · Security Guild | Wire Scanner Worker/BuildX analyzers to registry/hash abstractions. | | 13 | SCANNER-CRYPTO-90-002 | TODO | PQ profile | Scanner WebService Guild · Security Guild | Enable PQ-friendly DSSE (Dilithium/Falcon) via provider options. | @@ -36,6 +37,7 @@ ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-18 | Normalised sprint to standard template; renamed from SPRINT_514_sovereign_crypto_enablement.md. | Security Docs | | 2025-11-18 | Downloaded MongoDB 4.4.4 binaries into `local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/mongodb-linux-x86_64-ubuntu2004-4.4.4/bin/mongod`; reran `dotnet vstest …AdvisoryChunksEndpoint_ReturnsParagraphAnchors` but Mongo2Go still cannot connect (timeout/connection refused to 127.0.0.1). Concelier AOC tasks remain BLOCKED pending stable Mongo2Go startup. | Concelier WebService | | 2025-11-18 | Targeted `dotnet vstest ...StellaOps.Concelier.WebService.Tests.dll --TestCaseFilter:AdvisoryChunksEndpoint_ReturnsParagraphAnchors` failed: Mongo2Go cannot start (mongod binaries not found; connection refused 127.0.0.1:35961). Concelier AOC tasks remain BLOCKED pending usable Mongo2Go binary path. | Concelier WebService | @@ -48,4 +50,4 @@ ## Next Checkpoints - 2025-11-19 · Draft Authority provider/JWKS contract to unblock AUTH-CRYPTO-90-001. Owner: Authority Core. - 2025-11-21 · Decide CI gating approach for CryptoPro/PKCS#11 tests. Owner: Security Guild. -- 2025-11-24 · Fork patch status (SEC-CRYPTO-90-019) and plugin rewire plan (SEC-CRYPTO-90-020). Owner: Security Guild. +- 2025-11-24 · Fork patch status (SEC-CRYPTO-90-019) and plugin rewire plan (SEC-CRYPTO-90-020). Owner: Security Guild. \ No newline at end of file diff --git a/docs/implplan/SPRINT_110_ingestion_evidence.md b/docs/implplan/SPRINT_110_ingestion_evidence.md index 84122f1a5..30ee68001 100644 --- a/docs/implplan/SPRINT_110_ingestion_evidence.md +++ b/docs/implplan/SPRINT_110_ingestion_evidence.md @@ -21,32 +21,38 @@ ## Task Board | Wave | Task ID | Status | Owner(s) | Dependencies | Notes | | --- | --- | --- | --- | --- | --- | +| 110.B Concelier | PREP-LNM-SCHEMA-APPROVAL | TODO | Due 2025-11-21 · Accountable: —; Concelier Core · Cartographer Guild · SBOM Service Guild | — | Approve Link-Not-Merge schema plus fixtures (`CONCELIER-GRAPH-21-001/002`, `CARTO-GRAPH-21-002`) and publish canonical JSON samples + precedence rules for consuming modules.

Archive decision + artefacts under `docs/modules/concelier/link-not-merge-schema.md` so downstream Concelier/Excititor/Policy tasks can bind to the frozen payload shape. | +| 110.B Concelier | PREP-EVIDENCE-LOCKER-CONTRACT | TODO | Due 2025-11-21 · Accountable: —; Evidence Locker Guild · Concelier Core Guild | — | Freeze the Evidence Locker attestation scope + ingest contract (bundle predicates, transparency metadata, verification plan) and record DOI/location for Evidence Bundle v1.

Publish the signed decision in `docs/modules/evidence-locker/attestation-contract.md` and note required claim set plus validation fixtures. | +| 110.B Concelier | PREP-FEEDCONN-ICS-KISA-PLAN | TODO | Due 2025-11-21 · Accountable: —; Concelier Feed Owners · Product Advisory Guild | — | Provide remediation/refresh schedule and schema notes for ICSCISA/KISA feeds, covering provenance gaps and upcoming advisory drops.

Store the runbook in `docs/modules/concelier/feeds/icscisa-kisa.md` with owners and next review date so connector work can proceed deterministically. | +| 110.C Excititor | PREP-EXCITITOR-ATTESTATION-PLAN | TODO | Due 2025-11-21 · Accountable: —; Excititor Guild · Evidence Locker Guild | — | Align Excititor chunk/attestation plans with Evidence Locker scope: spell out ingestion contract, chunk schema, and DSSE bundling rules.

Publish the plan in `docs/modules/excititor/attestation-plan.md` and include sample payloads for `/vex/evidence/chunks` + attestation APIs. | +| 110.D Mirror | PREP-MIRROR-STAFFING | TODO | Due 2025-11-21 · Accountable: —; Mirror Creator Guild · Exporter Guild · AirGap Time Guild | — | Assign owner(s) for MIRROR-CRT-56-001, confirm DSSE/TUF milestone schedule, and record staffing commitments for follow-on CRT tasks.

Document the staffing decision and milestone plan in `docs/modules/mirror/assembler.md` so downstream automation (Export Center, AirGap Time, CLI) can execute. | | 110.A Advisory AI | DOCS-AIAI-31-004 | DOING | Docs Guild · Console Guild | CONSOLE-VULN-29-001; CONSOLE-VEX-30-001; SBOM-AIAI-31-001/003 | Guardrail console doc drafted; screenshots + SBOM evidence pending. | | 110.A Advisory AI | AIAI-31-009 | DONE (2025-11-12) | Advisory AI Guild | — | Regression suite + `AdvisoryAI:Guardrails` config landed with perf budgets. | -| 110.A Advisory AI | AIAI-31-008 | BLOCKED | Advisory AI Guild | AIAI-31-006; AIAI-31-007 | Blocked pending policy knob deliverables (AIAI-31-006/007). | +| 110.A Advisory AI | AIAI-31-008 | TODO | Advisory AI Guild | AIAI-31-006 (DONE 2025-11-04); AIAI-31-007 (DONE 2025-11-06) | Policy knob work landed; proceed with packaging and deployment steps. | | 110.A Advisory AI | SBOM-AIAI-31-003 | BLOCKED | SBOM Service Guild | SBOM-AIAI-31-001; CLI-VULN-29-001; CLI-VEX-30-001 | Needs SBOM delta kit + CLI deliverables before validation can proceed. | | 110.A Advisory AI | DOCS-AIAI-31-005/006/008/009 | BLOCKED | Docs Guild | DOCS-AIAI-31-004; CLI-VULN-29-001; CLI-VEX-30-001; POLICY-ENGINE-31-001; DEVOPS-AIAI-31-001 | CLI/policy/ops docs paused pending upstream artefacts. | | 110.B Concelier | CONCELIER-AIAI-31-002 | BLOCKED | Concelier Core · Concelier WebService Guilds | CONCELIER-GRAPH-21-001/002; CARTO-GRAPH-21-002 | Blocked: Link-Not-Merge schema still not approved; cannot finalize structured field/caching. | | 110.B Concelier | CONCELIER-AIAI-31-003 | DONE (2025-11-12) | Concelier Observability Guild | — | Telemetry counters/histograms live for Advisory AI dashboards. | -| 110.B Concelier | CONCELIER-AIRGAP-56-001..58-001 | BLOCKED | Concelier Core · AirGap Guilds | Link-Not-Merge schema; Evidence Locker attestation contract | Blocked until schema approval + attestation scope sign-off. | -| 110.B Concelier | CONCELIER-CONSOLE-23-001..003 | BLOCKED | Concelier Console Guild | Link-Not-Merge schema | Blocked pending Link-Not-Merge schema approval. | -| 110.B Concelier | CONCELIER-ATTEST-73-001/002 | BLOCKED | Concelier Core · Evidence Locker Guild | CONCELIER-AIAI-31-002; Evidence Locker contract | Blocked until structured caching lands and Evidence Locker contract finalises. | -| 110.B Concelier | FEEDCONN-ICSCISA-02-012 / FEEDCONN-KISA-02-008 | BLOCKED | Concelier Feed Owners | Feed owner remediation plan | Overdue provenance refreshes require schedule from feed owners. | +| 110.B Concelier | CONCELIER-AIRGAP-56-001..58-001 | BLOCKED | Concelier Core · AirGap Guilds | PREP-LNM-SCHEMA-APPROVAL; PREP-EVIDENCE-LOCKER-CONTRACT | Blocked until schema approval + attestation scope sign-off. | +| 110.B Concelier | CONCELIER-CONSOLE-23-001..003 | BLOCKED | Concelier Console Guild | PREP-LNM-SCHEMA-APPROVAL | Blocked pending Link-Not-Merge schema approval. | +| 110.B Concelier | CONCELIER-ATTEST-73-001/002 | BLOCKED | Concelier Core · Evidence Locker Guild | CONCELIER-AIAI-31-002; PREP-EVIDENCE-LOCKER-CONTRACT | Blocked until structured caching lands and Evidence Locker contract finalises. | +| 110.B Concelier | FEEDCONN-ICSCISA-02-012 / FEEDCONN-KISA-02-008 | BLOCKED | Concelier Feed Owners | PREP-FEEDCONN-ICS-KISA-PLAN | Overdue provenance refreshes require schedule from feed owners. | | 110.C Excititor | EXCITITOR-AIAI-31-001 | DONE (2025-11-09) | Excititor Web/Core Guilds | — | Normalised VEX justification projections shipped. | -| 110.C Excititor | EXCITITOR-AIAI-31-002 | BLOCKED | Excititor Web/Core Guilds | Link-Not-Merge schema; Evidence Locker contract | Blocked until schema + ingest contract approved. | +| 110.C Excititor | EXCITITOR-AIAI-31-002 | BLOCKED | Excititor Web/Core Guilds | PREP-LNM-SCHEMA-APPROVAL; PREP-EVIDENCE-LOCKER-CONTRACT | Blocked until schema + ingest contract approved. | | 110.C Excititor | EXCITITOR-AIAI-31-003 | BLOCKED | Excititor Observability Guild | EXCITITOR-AIAI-31-002 | Blocked behind EXCITITOR-AIAI-31-002. | | 110.C Excititor | EXCITITOR-AIAI-31-004 | BLOCKED | Docs Guild · Excititor Guild | EXCITITOR-AIAI-31-002 | Blocked until chunk API finalized. | -| 110.C Excititor | EXCITITOR-ATTEST-01-003 / 73-001 / 73-002 | BLOCKED | Excititor Guild · Evidence Locker Guild | EXCITITOR-AIAI-31-002; Evidence Locker contract | Blocked pending chunk API + Evidence Locker attestation scope. | -| 110.C Excititor | EXCITITOR-AIRGAP-56/57/58 · EXCITITOR-CONN-TRUST-01-001 | BLOCKED | Excititor Guild · AirGap Guilds | Link-Not-Merge schema; attestation plan | Blocked until schema + attestation readiness. | -| 110.D Mirror | MIRROR-CRT-56-001 | BLOCKED | Mirror Creator Guild | Staffing decision | Blocked: no owner assigned; kickoff slipped past 2025-11-15. | +| 110.C Excititor | EXCITITOR-ATTEST-01-003 / 73-001 / 73-002 | BLOCKED | Excititor Guild · Evidence Locker Guild | EXCITITOR-AIAI-31-002; PREP-EVIDENCE-LOCKER-CONTRACT | Blocked pending chunk API + Evidence Locker attestation scope. | +| 110.C Excititor | EXCITITOR-AIRGAP-56/57/58 · EXCITITOR-CONN-TRUST-01-001 | BLOCKED | Excititor Guild · AirGap Guilds | PREP-LNM-SCHEMA-APPROVAL; PREP-EXCITITOR-ATTESTATION-PLAN | Blocked until schema + attestation readiness. | +| 110.D Mirror | MIRROR-CRT-56-001 | BLOCKED | Mirror Creator Guild | PREP-MIRROR-STAFFING | Blocked: no owner assigned; kickoff slipped past 2025-11-15. | | 110.D Mirror | MIRROR-CRT-56-002 | BLOCKED | Mirror Creator · Security Guilds | MIRROR-CRT-56-001; PROV-OBS-53-001 | Blocked until MIRROR-CRT-56-001 staffed. | | 110.D Mirror | MIRROR-CRT-57-001/002 | BLOCKED | Mirror Creator Guild · AirGap Time Guild | MIRROR-CRT-56-001; AIRGAP-TIME-57-001 | Blocked; upstream staffing unresolved. | | 110.D Mirror | MIRROR-CRT-58-001/002 | BLOCKED | Mirror Creator Guild · CLI Guild · Exporter Guild | MIRROR-CRT-56-001; EXPORT-OBS-54-001; CLI-AIRGAP-56-001 | Blocked until assembler staffed and upstream contracts agreed. | -| 110.D Mirror | EXPORT-OBS-51-001 / 54-001 · AIRGAP-TIME-57-001 · CLI-AIRGAP-56-001 · PROV-OBS-53-001 | BLOCKED | Exporter Guild · AirGap Time Guild · CLI Guild | MIRROR-CRT-56-001 staffing | Blocked pending MIRROR-CRT-56-001 ownership. | +| 110.D Mirror | EXPORT-OBS-51-001 / 54-001 · AIRGAP-TIME-57-001 · CLI-AIRGAP-56-001 · PROV-OBS-53-001 | BLOCKED | Exporter Guild · AirGap Time Guild · CLI Guild | PREP-MIRROR-STAFFING | Blocked pending MIRROR-CRT-56-001 ownership. | ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-13 | Refreshed wave tracker, decisions, and contingency plan ahead of 14–15 Nov checkpoints; outstanding asks: SBOM/CLI/Policy/DevOps ETAs, Link-Not-Merge approval, Mirror staffing. | Sprint 110 leads | | 2025-11-09 | Captured initial wave scope, interlocks, and risks covering SBOM/CLI/Policy/DevOps artefacts, Link-Not-Merge schemas, Excititor justification backlog, and Mirror assembler commitments. | Sprint 110 leads | | 2025-11-16 | Updated task board: marked Advisory AI packaging, Concelier air-gap/console/attestation tracks, Excititor chunk/attestation/air-gap tracks, and all Mirror tracks as BLOCKED pending schema approvals, Evidence Locker contract, and Mirror staffing decisions. | Implementer | @@ -80,4 +86,4 @@ | 2025-11-15 | Mirror evidence kickoff | Assign MIRROR-CRT-56-001 owner, confirm staffing, outline DSSE/TUF + OCI milestones. | 110.D | Mirror Creator · Exporter · AirGap Time · Security guilds | ## Appendix -- Detailed coordination artefacts, contingency playbook, and historical notes previously held in this sprint now live at `docs/implplan/archived/SPRINT_110_ingestion_evidence_2025-11-13.md`. +- Detailed coordination artefacts, contingency playbook, and historical notes previously held in this sprint now live at `docs/implplan/archived/SPRINT_110_ingestion_evidence_2025-11-13.md`. \ No newline at end of file diff --git a/docs/implplan/SPRINT_123_policy_reasoning.md b/docs/implplan/SPRINT_123_policy_reasoning.md index ff0cf3f19..ccdb4daa8 100644 --- a/docs/implplan/SPRINT_123_policy_reasoning.md +++ b/docs/implplan/SPRINT_123_policy_reasoning.md @@ -10,25 +10,40 @@ Focus: Policy & Reasoning focus on Policy (phase I). | # | Task ID & handle | State | Key dependency / next step | Owners | | --- | --- | --- | --- | --- | -| 1 | EXPORT-CONSOLE-23-001 | BLOCKED | Missing export bundle contract/API surface and scheduler job spec for Console; requires agreed schema and job wiring | Policy Guild, Scheduler Guild, Observability Guild / src/Policy/StellaOps.Policy.Engine | -| 2 | POLICY-AIRGAP-56-001 | BLOCKED | Mirror bundle schema for policy packs not published; need bundle_id/provenance fields and sealed-mode rules | Policy Guild / src/Policy/StellaOps.Policy.Engine | -| 3 | POLICY-AIRGAP-56-002 | BLOCKED | Depends on 56-001 bundle import schema and DSSE signing profile | Policy Guild, Policy Studio Guild / src/Policy/StellaOps.Policy.Engine | -| 4 | POLICY-AIRGAP-57-001 | BLOCKED | Requires sealed-mode contract (egress rules, error codes) after 56-002 | Policy Guild, AirGap Policy Guild / src/Policy/StellaOps.Policy.Engine | -| 5 | POLICY-AIRGAP-57-002 | BLOCKED | Needs staleness/fallback data contract from 57-001 | Policy Guild, AirGap Time Guild / src/Policy/StellaOps.Policy.Engine | -| 6 | POLICY-AIRGAP-58-001 | BLOCKED | Notification schema and staleness signals pending from 57-002 | Policy Guild, Notifications Guild / src/Policy/StellaOps.Policy.Engine | -| 7 | POLICY-AOC-19-001 | BLOCKED | Needs agreed linting targets (which ingestion projects, which helpers) and CI wiring; no analyzer/lint spec available | Policy Guild / src/Policy/__Libraries/StellaOps.Policy | -| 8 | POLICY-AOC-19-002 | BLOCKED | Depends on 19-001 lint implementation and authority contract for `effective:write` gate | Policy Guild, Platform Security / src/Policy/__Libraries/StellaOps.Policy | -| 9 | POLICY-AOC-19-003 | BLOCKED | Requires decisioned normalized-field removal contract after 19-002; fixtures not provided | Policy Guild / src/Policy/__Libraries/StellaOps.Policy | -| 10 | POLICY-AOC-19-004 | BLOCKED | Dependent on 19-003 data shape and determinism fixtures | Policy Guild, QA Guild / src/Policy/__Libraries/StellaOps.Policy | -| 11 | POLICY-ATTEST-73-001 | BLOCKED | VerificationPolicy schema/persistence contract missing; needs Attestor alignment | Policy Guild, Attestor Service Guild / src/Policy/StellaOps.Policy.Engine | -| 12 | POLICY-ATTEST-73-002 | BLOCKED | Depends on 73-001 editor DTOs and validation schema | Policy Guild / src/Policy/StellaOps.Policy.Engine | -| 13 | POLICY-ATTEST-74-001 | BLOCKED | Requires 73-002 and Attestor pipeline contract | Policy Guild, Attestor Service Guild / src/Policy/StellaOps.Policy.Engine | -| 14 | POLICY-ATTEST-74-002 | BLOCKED | Needs 74-001 surface in Console verification reports contract | Policy Guild, Console Guild / src/Policy/StellaOps.Policy.Engine | +| P1 | PREP-EXPORT-CONSOLE-23-001-MISSING-EXPORT-BUN | TODO | Due 2025-11-22 · Accountable: Policy Guild, Scheduler Guild, Observability Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild, Scheduler Guild, Observability Guild / src/Policy/StellaOps.Policy.Engine | Missing export bundle contract/API surface and scheduler job spec for Console; requires agreed schema and job wiring.

Document artefact/deliverable for EXPORT-CONSOLE-23-001 and publish location so downstream tasks can proceed. | +| P2 | PREP-POLICY-AIRGAP-56-001-MIRROR-BUNDLE-SCHEM | TODO | Due 2025-11-22 · Accountable: Policy Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild / src/Policy/StellaOps.Policy.Engine | Mirror bundle schema for policy packs not published; need bundle_id/provenance fields and sealed-mode rules.

Document artefact/deliverable for POLICY-AIRGAP-56-001 and publish location so downstream tasks can proceed. | +| P3 | PREP-POLICY-AIRGAP-56-002-DEPENDS-ON-56-001-B | TODO | Due 2025-11-22 · Accountable: Policy Guild, Policy Studio Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild, Policy Studio Guild / src/Policy/StellaOps.Policy.Engine | Depends on 56-001 bundle import schema and DSSE signing profile.

Document artefact/deliverable for POLICY-AIRGAP-56-002 and publish location so downstream tasks can proceed. | +| P4 | PREP-POLICY-AIRGAP-57-001-REQUIRES-SEALED-MOD | TODO | Due 2025-11-22 · Accountable: Policy Guild, AirGap Policy Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild, AirGap Policy Guild / src/Policy/StellaOps.Policy.Engine | Requires sealed-mode contract (egress rules, error codes) after 56-002.

Document artefact/deliverable for POLICY-AIRGAP-57-001 and publish location so downstream tasks can proceed. | +| P5 | PREP-POLICY-AIRGAP-57-002-NEEDS-STALENESS-FAL | TODO | Due 2025-11-22 · Accountable: Policy Guild, AirGap Time Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild, AirGap Time Guild / src/Policy/StellaOps.Policy.Engine | Needs staleness/fallback data contract from 57-001.

Document artefact/deliverable for POLICY-AIRGAP-57-002 and publish location so downstream tasks can proceed. | +| P6 | PREP-POLICY-AIRGAP-58-001-NOTIFICATION-SCHEMA | TODO | Due 2025-11-22 · Accountable: Policy Guild, Notifications Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild, Notifications Guild / src/Policy/StellaOps.Policy.Engine | Notification schema and staleness signals pending from 57-002.

Document artefact/deliverable for POLICY-AIRGAP-58-001 and publish location so downstream tasks can proceed. | +| P7 | PREP-POLICY-AOC-19-001-NEEDS-AGREED-LINTING-T | TODO | Due 2025-11-22 · Accountable: Policy Guild / src/Policy/__Libraries/StellaOps.Policy | Policy Guild / src/Policy/__Libraries/StellaOps.Policy | Needs agreed linting targets (which ingestion projects, which helpers) and CI wiring; no analyzer/lint spec available.

Document artefact/deliverable for POLICY-AOC-19-001 and publish location so downstream tasks can proceed. | +| P8 | PREP-POLICY-AOC-19-002-DEPENDS-ON-19-001-LINT | TODO | Due 2025-11-22 · Accountable: Policy Guild, Platform Security / src/Policy/__Libraries/StellaOps.Policy | Policy Guild, Platform Security / src/Policy/__Libraries/StellaOps.Policy | Depends on 19-001 lint implementation and authority contract for `effective:write` gate.

Document artefact/deliverable for POLICY-AOC-19-002 and publish location so downstream tasks can proceed. | +| P9 | PREP-POLICY-AOC-19-003-REQUIRES-DECISIONED-NO | TODO | Due 2025-11-22 · Accountable: Policy Guild / src/Policy/__Libraries/StellaOps.Policy | Policy Guild / src/Policy/__Libraries/StellaOps.Policy | Requires decisioned normalized-field removal contract after 19-002; fixtures not provided.

Document artefact/deliverable for POLICY-AOC-19-003 and publish location so downstream tasks can proceed. | +| P10 | PREP-POLICY-AOC-19-004-DEPENDENT-ON-19-003-DA | TODO | Due 2025-11-22 · Accountable: Policy Guild, QA Guild / src/Policy/__Libraries/StellaOps.Policy | Policy Guild, QA Guild / src/Policy/__Libraries/StellaOps.Policy | Dependent on 19-003 data shape and determinism fixtures.

Document artefact/deliverable for POLICY-AOC-19-004 and publish location so downstream tasks can proceed. | +| P11 | PREP-POLICY-ATTEST-73-001-VERIFICATIONPOLICY- | TODO | Due 2025-11-22 · Accountable: Policy Guild, Attestor Service Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild, Attestor Service Guild / src/Policy/StellaOps.Policy.Engine | VerificationPolicy schema/persistence contract missing; needs Attestor alignment.

Document artefact/deliverable for POLICY-ATTEST-73-001 and publish location so downstream tasks can proceed. | +| P12 | PREP-POLICY-ATTEST-73-002-DEPENDS-ON-73-001-E | TODO | Due 2025-11-22 · Accountable: Policy Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild / src/Policy/StellaOps.Policy.Engine | Depends on 73-001 editor DTOs and validation schema.

Document artefact/deliverable for POLICY-ATTEST-73-002 and publish location so downstream tasks can proceed. | +| P13 | PREP-POLICY-ATTEST-74-001-REQUIRES-73-002-AND | TODO | Due 2025-11-22 · Accountable: Policy Guild, Attestor Service Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild, Attestor Service Guild / src/Policy/StellaOps.Policy.Engine | Requires 73-002 and Attestor pipeline contract.

Document artefact/deliverable for POLICY-ATTEST-74-001 and publish location so downstream tasks can proceed. | +| P14 | PREP-POLICY-ATTEST-74-002-NEEDS-74-001-SURFAC | TODO | Due 2025-11-22 · Accountable: Policy Guild, Console Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild, Console Guild / src/Policy/StellaOps.Policy.Engine | Needs 74-001 surface in Console verification reports contract.

Document artefact/deliverable for POLICY-ATTEST-74-002 and publish location so downstream tasks can proceed. | +| 1 | EXPORT-CONSOLE-23-001 | BLOCKED | PREP-EXPORT-CONSOLE-23-001-MISSING-EXPORT-BUN | Policy Guild, Scheduler Guild, Observability Guild / src/Policy/StellaOps.Policy.Engine | +| 2 | POLICY-AIRGAP-56-001 | BLOCKED | PREP-POLICY-AIRGAP-56-001-MIRROR-BUNDLE-SCHEM | Policy Guild / src/Policy/StellaOps.Policy.Engine | +| 3 | POLICY-AIRGAP-56-002 | BLOCKED | PREP-POLICY-AIRGAP-56-002-DEPENDS-ON-56-001-B | Policy Guild, Policy Studio Guild / src/Policy/StellaOps.Policy.Engine | +| 4 | POLICY-AIRGAP-57-001 | BLOCKED | PREP-POLICY-AIRGAP-57-001-REQUIRES-SEALED-MOD | Policy Guild, AirGap Policy Guild / src/Policy/StellaOps.Policy.Engine | +| 5 | POLICY-AIRGAP-57-002 | BLOCKED | PREP-POLICY-AIRGAP-57-002-NEEDS-STALENESS-FAL | Policy Guild, AirGap Time Guild / src/Policy/StellaOps.Policy.Engine | +| 6 | POLICY-AIRGAP-58-001 | BLOCKED | PREP-POLICY-AIRGAP-58-001-NOTIFICATION-SCHEMA | Policy Guild, Notifications Guild / src/Policy/StellaOps.Policy.Engine | +| 7 | POLICY-AOC-19-001 | BLOCKED | PREP-POLICY-AOC-19-001-NEEDS-AGREED-LINTING-T | Policy Guild / src/Policy/__Libraries/StellaOps.Policy | +| 8 | POLICY-AOC-19-002 | BLOCKED | PREP-POLICY-AOC-19-002-DEPENDS-ON-19-001-LINT | Policy Guild, Platform Security / src/Policy/__Libraries/StellaOps.Policy | +| 9 | POLICY-AOC-19-003 | BLOCKED | PREP-POLICY-AOC-19-003-REQUIRES-DECISIONED-NO | Policy Guild / src/Policy/__Libraries/StellaOps.Policy | +| 10 | POLICY-AOC-19-004 | BLOCKED | PREP-POLICY-AOC-19-004-DEPENDENT-ON-19-003-DA | Policy Guild, QA Guild / src/Policy/__Libraries/StellaOps.Policy | +| 11 | POLICY-ATTEST-73-001 | BLOCKED | PREP-POLICY-ATTEST-73-001-VERIFICATIONPOLICY- | Policy Guild, Attestor Service Guild / src/Policy/StellaOps.Policy.Engine | +| 12 | POLICY-ATTEST-73-002 | BLOCKED | PREP-POLICY-ATTEST-73-002-DEPENDS-ON-73-001-E | Policy Guild / src/Policy/StellaOps.Policy.Engine | +| 13 | POLICY-ATTEST-74-001 | BLOCKED | PREP-POLICY-ATTEST-74-001-REQUIRES-73-002-AND | Policy Guild, Attestor Service Guild / src/Policy/StellaOps.Policy.Engine | +| 14 | POLICY-ATTEST-74-002 | BLOCKED | PREP-POLICY-ATTEST-74-002-NEEDS-74-001-SURFAC | Policy Guild, Console Guild / src/Policy/StellaOps.Policy.Engine | | 15 | POLICY-CONSOLE-23-001 | BLOCKED | Console API contract (filters, pagination, aggregation) not supplied; requires BE-Base Platform spec | Policy Guild, BE-Base Platform Guild / src/Policy/StellaOps.Policy.Engine | ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | | 2025-11-08 | Sprint created; awaiting staffing. | Planning | | 2025-11-18 | Attempted EXPORT-CONSOLE-23-001 but blocked: no export bundle/schema or scheduler job contract for Console; requires API + signed manifest format before implementation. Marked remaining tasks BLOCKED pending lint/airgap/attest/Console contracts. | Policy Guild | @@ -41,4 +56,4 @@ Focus: Policy & Reasoning focus on Policy (phase I). ## Next Checkpoints - Draft export surface proposal for Console (API + scheduler wiring) — target 2025-11-20. -- Identify bundle schema dependencies for POLICY-AIRGAP-56-* — target 2025-11-21. +- Identify bundle schema dependencies for POLICY-AIRGAP-56-* — target 2025-11-21. \ No newline at end of file diff --git a/docs/implplan/SPRINT_124_policy_reasoning.md b/docs/implplan/SPRINT_124_policy_reasoning.md index b90aa60cb..c95f68da5 100644 --- a/docs/implplan/SPRINT_124_policy_reasoning.md +++ b/docs/implplan/SPRINT_124_policy_reasoning.md @@ -10,8 +10,9 @@ Focus: Policy & Reasoning focus on Policy (phase II). | # | Task ID & handle | State | Key dependency / next step | Owners | | --- | --- | --- | --- | --- | +| P1 | PREP-POLICY-ENGINE-20-002-BUILD-DETERMINISTIC | TODO | Due 2025-11-22 · Accountable: Policy Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild / src/Policy/StellaOps.Policy.Engine | Build deterministic evaluator honoring lexical/priority order, first-match semantics, and safe value types (no wall-clock/network access).

Document artefact/deliverable for POLICY-ENGINE-20-002 and publish location so downstream tasks can proceed. | | 1 | POLICY-CONSOLE-23-002 | TODO | Produce simulation diff metadata (before/after counts, severity deltas, rule impact summaries) and approval state endpoints consumed by Console policy workspace; expose RBAC-aware status transitions (Deps: POLICY-CONSOLE-23-001) | Policy Guild, Product Ops / src/Policy/StellaOps.Policy.Engine | -| 2 | POLICY-ENGINE-20-002 | BLOCKED (2025-10-26) | Build deterministic evaluator honoring lexical/priority order, first-match semantics, and safe value types (no wall-clock/network access) | Policy Guild / src/Policy/StellaOps.Policy.Engine | +| 2 | POLICY-ENGINE-20-002 | BLOCKED (2025-10-26) | PREP-POLICY-ENGINE-20-002-BUILD-DETERMINISTIC | Policy Guild / src/Policy/StellaOps.Policy.Engine | | 3 | POLICY-ENGINE-20-003 | TODO | Implement selection joiners resolving SBOM↔advisory↔VEX tuples using linksets and PURL equivalence tables, with deterministic batching (Deps: POLICY-ENGINE-20-002) | Policy Guild, Concelier Core Guild, Excititor Core Guild / src/Policy/StellaOps.Policy.Engine | | 4 | POLICY-ENGINE-20-004 | TODO | Ship materialization writer that upserts into `effective_finding_{policyId}` with append-only history, tenant scoping, and trace references (Deps: POLICY-ENGINE-20-003) | Policy Guild, Platform Storage Guild / src/Policy/StellaOps.Policy.Engine | | 5 | POLICY-ENGINE-20-005 | TODO | Enforce determinism guard banning wall-clock, RNG, and network usage during evaluation via static analysis + runtime sandbox (Deps: POLICY-ENGINE-20-004) | Policy Guild, Security Engineering / src/Policy/StellaOps.Policy.Engine | @@ -23,3 +24,8 @@ Focus: Policy & Reasoning focus on Policy (phase II). | 11 | POLICY-ENGINE-27-002 | TODO | Enhance simulate endpoints to emit rule firing counts, heatmap aggregates, sampled explain traces with deterministic ordering, and delta summaries for quick/batch sims (Deps: POLICY-ENGINE-27-001) | Policy Guild, Observability Guild / src/Policy/StellaOps.Policy.Engine | | 12 | POLICY-ENGINE-29-001 | TODO | Implement batch evaluation endpoint (`POST /policy/eval/batch`) returning determinations + rationale chain for sets of `(artifact,purl,version,advisory)` tuples; support pagination and cost budgets (Deps: POLICY-ENGINE-27-004) | Policy Guild / src/Policy/StellaOps.Policy.Engine | | 13 | POLICY-ENGINE-29-002 | TODO | Provide streaming simulation API comparing two policy versions, returning per-finding deltas without writes; align determinism with Vuln Explorer simulation (Deps: POLICY-ENGINE-29-001) | Policy Guild, Findings Ledger Guild / src/Policy/StellaOps.Policy.Engine | + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | \ No newline at end of file diff --git a/docs/implplan/SPRINT_125_policy_reasoning.md b/docs/implplan/SPRINT_125_policy_reasoning.md index 806012eaf..d8267fffb 100644 --- a/docs/implplan/SPRINT_125_policy_reasoning.md +++ b/docs/implplan/SPRINT_125_policy_reasoning.md @@ -10,21 +10,39 @@ Focus: Policy & Reasoning focus on Policy (phase III). | # | Task ID & handle | State | Key dependency / next step | Owners | | --- | --- | --- | --- | --- | +| P1 | PREP-POLICY-ENGINE-30-001-WAITING-ON-29-004-M | TODO | Due 2025-11-22 · Accountable: Policy Guild, Cartographer Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild, Cartographer Guild / src/Policy/StellaOps.Policy.Engine | Waiting on 29-004 metrics/logging outputs to define overlay projection contract.

Document artefact/deliverable for POLICY-ENGINE-30-001 and publish location so downstream tasks can proceed. | +| P2 | PREP-POLICY-ENGINE-30-002-SIMULATION-BRIDGE-C | TODO | Due 2025-11-22 · Accountable: Policy Guild, Cartographer Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild, Cartographer Guild / src/Policy/StellaOps.Policy.Engine | Simulation bridge cannot proceed until 30-001 overlay schema lands.

Document artefact/deliverable for POLICY-ENGINE-30-002 and publish location so downstream tasks can proceed. | +| P3 | PREP-POLICY-ENGINE-30-003-CHANGE-EVENTS-DEPEN | TODO | Due 2025-11-22 · Accountable: Policy Guild, Scheduler Guild, Cartographer Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild, Scheduler Guild, Cartographer Guild / src/Policy/StellaOps.Policy.Engine | Change events depend on simulation bridge (30-002) outputs.

Document artefact/deliverable for POLICY-ENGINE-30-003 and publish location so downstream tasks can proceed. | +| P4 | PREP-POLICY-ENGINE-30-101-TRUST-WEIGHTING-UI- | TODO | Due 2025-11-22 · Accountable: Policy Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild / src/Policy/StellaOps.Policy.Engine | Trust weighting UI/API depends on change events + overlays (30-003).

Document artefact/deliverable for POLICY-ENGINE-30-101 and publish location so downstream tasks can proceed. | +| P5 | PREP-POLICY-ENGINE-31-001-ADVISORY-AI-KNOBS-R | TODO | Due 2025-11-22 · Accountable: Policy Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild / src/Policy/StellaOps.Policy.Engine | Advisory AI knobs rely on 30-101 trust weighting surfacing.

Document artefact/deliverable for POLICY-ENGINE-31-001 and publish location so downstream tasks can proceed. | +| P6 | PREP-POLICY-ENGINE-31-002-BATCH-CONTEXT-ENDPO | TODO | Due 2025-11-22 · Accountable: Policy Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild / src/Policy/StellaOps.Policy.Engine | Batch context endpoint waits on 31-001 knobs.

Document artefact/deliverable for POLICY-ENGINE-31-002 and publish location so downstream tasks can proceed. | +| P7 | PREP-POLICY-ENGINE-32-101-ORCHESTRATOR-JOB-SC | TODO | Due 2025-11-22 · Accountable: Policy Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild / src/Policy/StellaOps.Policy.Engine | Orchestrator job schema depends on 31-002 batch context.

Document artefact/deliverable for POLICY-ENGINE-32-101 and publish location so downstream tasks can proceed. | +| P8 | PREP-POLICY-ENGINE-33-101-WORKER-IMPLEMENTATI | TODO | Due 2025-11-22 · Accountable: Policy Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild / src/Policy/StellaOps.Policy.Engine | Worker implementation depends on 32-101 job schema.

Document artefact/deliverable for POLICY-ENGINE-33-101 and publish location so downstream tasks can proceed. | +| P9 | PREP-POLICY-ENGINE-34-101-LEDGER-EXPORT-REQUI | TODO | Due 2025-11-22 · Accountable: Policy Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild / src/Policy/StellaOps.Policy.Engine | Ledger export requires 33-101 workers.

Document artefact/deliverable for POLICY-ENGINE-34-101 and publish location so downstream tasks can proceed. | +| P10 | PREP-POLICY-ENGINE-35-201-SNAPSHOT-API-WAITS- | TODO | Due 2025-11-22 · Accountable: Policy Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild / src/Policy/StellaOps.Policy.Engine | Snapshot API waits on 34-101 ledger export.

Document artefact/deliverable for POLICY-ENGINE-35-201 and publish location so downstream tasks can proceed. | +| P11 | PREP-POLICY-ENGINE-38-201-VIOLATION-EVENTS-DE | TODO | Due 2025-11-22 · Accountable: Policy Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild / src/Policy/StellaOps.Policy.Engine | Violation events depend on 35-201 snapshot stream.

Document artefact/deliverable for POLICY-ENGINE-38-201 and publish location so downstream tasks can proceed. | +| P12 | PREP-POLICY-ENGINE-40-001-SEVERITY-FUSION-DEP | TODO | Due 2025-11-22 · Accountable: Policy Guild, Concelier Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild, Concelier Guild / src/Policy/StellaOps.Policy.Engine | Severity fusion depends on 38-201 violation event payloads.

Document artefact/deliverable for POLICY-ENGINE-40-001 and publish location so downstream tasks can proceed. | +| P13 | PREP-POLICY-ENGINE-40-002-CONFLICT-HANDLING-D | TODO | Due 2025-11-22 · Accountable: Policy Guild, Excititor Guild / src/Policy/StellaOps.Policy.Engine | Policy Guild, Excititor Guild / src/Policy/StellaOps.Policy.Engine | Conflict handling depends on 40-001 severity pipeline changes.

Document artefact/deliverable for POLICY-ENGINE-40-002 and publish location so downstream tasks can proceed. | | 1 | POLICY-ENGINE-29-003 | BLOCKED (2025-11-18) | Waiting on upstream POLICY-ENGINE-29-002 contract details; no path/scope schema or sample payloads available. | Policy Guild, SBOM Service Guild / src/Policy/StellaOps.Policy.Engine | | 2 | POLICY-ENGINE-29-004 | BLOCKED (2025-11-18) | Depends on blocked POLICY-ENGINE-29-003 path/scope contract. | Policy Guild, Observability Guild / src/Policy/StellaOps.Policy.Engine | -| 3 | POLICY-ENGINE-30-001 | BLOCKED (2025-11-18) | Waiting on 29-004 metrics/logging outputs to define overlay projection contract. | Policy Guild, Cartographer Guild / src/Policy/StellaOps.Policy.Engine | -| 4 | POLICY-ENGINE-30-002 | BLOCKED (2025-11-18) | Simulation bridge cannot proceed until 30-001 overlay schema lands. | Policy Guild, Cartographer Guild / src/Policy/StellaOps.Policy.Engine | -| 5 | POLICY-ENGINE-30-003 | BLOCKED (2025-11-18) | Change events depend on simulation bridge (30-002) outputs. | Policy Guild, Scheduler Guild, Cartographer Guild / src/Policy/StellaOps.Policy.Engine | -| 6 | POLICY-ENGINE-30-101 | BLOCKED (2025-11-18) | Trust weighting UI/API depends on change events + overlays (30-003). | Policy Guild / src/Policy/StellaOps.Policy.Engine | -| 7 | POLICY-ENGINE-31-001 | BLOCKED (2025-11-18) | Advisory AI knobs rely on 30-101 trust weighting surfacing. | Policy Guild / src/Policy/StellaOps.Policy.Engine | -| 8 | POLICY-ENGINE-31-002 | BLOCKED (2025-11-18) | Batch context endpoint waits on 31-001 knobs. | Policy Guild / src/Policy/StellaOps.Policy.Engine | -| 9 | POLICY-ENGINE-32-101 | BLOCKED (2025-11-18) | Orchestrator job schema depends on 31-002 batch context. | Policy Guild / src/Policy/StellaOps.Policy.Engine | -| 10 | POLICY-ENGINE-33-101 | BLOCKED (2025-11-18) | Worker implementation depends on 32-101 job schema. | Policy Guild / src/Policy/StellaOps.Policy.Engine | -| 11 | POLICY-ENGINE-34-101 | BLOCKED (2025-11-18) | Ledger export requires 33-101 workers. | Policy Guild / src/Policy/StellaOps.Policy.Engine | -| 12 | POLICY-ENGINE-35-201 | BLOCKED (2025-11-18) | Snapshot API waits on 34-101 ledger export. | Policy Guild / src/Policy/StellaOps.Policy.Engine | -| 13 | POLICY-ENGINE-38-201 | BLOCKED (2025-11-18) | Violation events depend on 35-201 snapshot stream. | Policy Guild / src/Policy/StellaOps.Policy.Engine | -| 14 | POLICY-ENGINE-40-001 | BLOCKED (2025-11-18) | Severity fusion depends on 38-201 violation event payloads. | Policy Guild, Concelier Guild / src/Policy/StellaOps.Policy.Engine | -| 15 | POLICY-ENGINE-40-002 | BLOCKED (2025-11-18) | Conflict handling depends on 40-001 severity pipeline changes. | Policy Guild, Excititor Guild / src/Policy/StellaOps.Policy.Engine | +| 3 | POLICY-ENGINE-30-001 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-30-001-WAITING-ON-29-004-M | Policy Guild, Cartographer Guild / src/Policy/StellaOps.Policy.Engine | +| 4 | POLICY-ENGINE-30-002 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-30-002-SIMULATION-BRIDGE-C | Policy Guild, Cartographer Guild / src/Policy/StellaOps.Policy.Engine | +| 5 | POLICY-ENGINE-30-003 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-30-003-CHANGE-EVENTS-DEPEN | Policy Guild, Scheduler Guild, Cartographer Guild / src/Policy/StellaOps.Policy.Engine | +| 6 | POLICY-ENGINE-30-101 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-30-101-TRUST-WEIGHTING-UI- | Policy Guild / src/Policy/StellaOps.Policy.Engine | +| 7 | POLICY-ENGINE-31-001 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-31-001-ADVISORY-AI-KNOBS-R | Policy Guild / src/Policy/StellaOps.Policy.Engine | +| 8 | POLICY-ENGINE-31-002 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-31-002-BATCH-CONTEXT-ENDPO | Policy Guild / src/Policy/StellaOps.Policy.Engine | +| 9 | POLICY-ENGINE-32-101 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-32-101-ORCHESTRATOR-JOB-SC | Policy Guild / src/Policy/StellaOps.Policy.Engine | +| 10 | POLICY-ENGINE-33-101 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-33-101-WORKER-IMPLEMENTATI | Policy Guild / src/Policy/StellaOps.Policy.Engine | +| 11 | POLICY-ENGINE-34-101 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-34-101-LEDGER-EXPORT-REQUI | Policy Guild / src/Policy/StellaOps.Policy.Engine | +| 12 | POLICY-ENGINE-35-201 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-35-201-SNAPSHOT-API-WAITS- | Policy Guild / src/Policy/StellaOps.Policy.Engine | +| 13 | POLICY-ENGINE-38-201 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-38-201-VIOLATION-EVENTS-DE | Policy Guild / src/Policy/StellaOps.Policy.Engine | +| 14 | POLICY-ENGINE-40-001 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-40-001-SEVERITY-FUSION-DEP | Policy Guild, Concelier Guild / src/Policy/StellaOps.Policy.Engine | +| 15 | POLICY-ENGINE-40-002 | BLOCKED (2025-11-18) | PREP-POLICY-ENGINE-40-002-CONFLICT-HANDLING-D | Policy Guild, Excititor Guild / src/Policy/StellaOps.Policy.Engine | ## Notes & Risks (2025-11-18) - POLICY-ENGINE-29-002 contract/schema is missing; this blocks 29-003 path/scope awareness and cascades through all downstream tasks in this sprint. Unblock by publishing 29-002 artifacts (schema + sample payloads). + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2025-11-19 | Assigned PREP owners/dates; see Delivery Tracker. | Planning | \ No newline at end of file diff --git a/docs/implplan/SPRINT_136_scanner_surface.md b/docs/implplan/SPRINT_136_scanner_surface.md index 720284603..46c627587 100644 --- a/docs/implplan/SPRINT_136_scanner_surface.md +++ b/docs/implplan/SPRINT_136_scanner_surface.md @@ -12,7 +12,7 @@ Dependency: Sprint 135 - 6. Scanner.VI — Scanner & Surface focus on Scanner (p | `SCANNER-ENTRYTRACE-18-506` | TODO | Surface EntryTrace graph + confidence via Scanner.WebService and CLI, including target summary in scan reports and policy payloads. | EntryTrace Guild, Scanner WebService Guild (src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace) | SCANNER-ENTRYTRACE-18-505 | | `SCANNER-ENV-01` | DONE (2025-11-18) | Worker already wired to `AddSurfaceEnvironment`/`ISurfaceEnvironment` for cache roots + CAS endpoints; no remaining ad-hoc env reads. | Scanner Worker Guild (src/Scanner/StellaOps.Scanner.Worker) | — | | `SCANNER-ENV-02` | TODO (2025-11-06) | Wire Surface.Env helpers into WebService hosting (cache roots, feature flags) and document configuration. | Scanner WebService Guild, Ops Guild (src/Scanner/StellaOps.Scanner.WebService) | SCANNER-ENV-01 | -| `SCANNER-ENV-03` | DOING (2025-11-18) | Adopt Surface.Env helpers for plugin configuration (cache roots, CAS endpoints, feature toggles). | BuildX Plugin Guild (src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin) | SCANNER-ENV-02 | +| `SCANNER-ENV-03` | BLOCKED (2025-11-19) | Waiting on SCANNER-ENV-02 tests/restore to complete and Surface.Env package publish; plugin wiring on hold. | BuildX Plugin Guild (src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin) | SCANNER-ENV-02 | | `SURFACE-ENV-01` | DONE (2025-11-13) | Draft `surface-env.md` enumerating environment variables, defaults, and air-gap behaviour for Surface consumers. | Scanner Guild, Zastava Guild (src/Scanner/__Libraries/StellaOps.Scanner.Surface.Env) | — | | `SURFACE-ENV-02` | DONE (2025-11-18) | Strongly-typed env accessors implemented; validation covers required endpoint, bounds, TLS cert path; regression tests passing. | Scanner Guild (src/Scanner/__Libraries/StellaOps.Scanner.Surface.Env) | SURFACE-ENV-01 | | `SURFACE-ENV-03` | TODO | Adopt the env helper across Scanner Worker/WebService/BuildX plug-ins. | Scanner Guild (src/Scanner/__Libraries/StellaOps.Scanner.Surface.Env) | SURFACE-ENV-02 | @@ -23,8 +23,8 @@ Dependency: Sprint 135 - 6. Scanner.VI — Scanner & Surface focus on Scanner (p | `SCANNER-LNM-21-001` | TODO | Update `/reports` and `/policy/runtime` payloads to consume advisory/vex linksets, exposing source severity arrays and conflict summaries alongside effective verdicts. | Scanner WebService Guild, Policy Guild (src/Scanner/StellaOps.Scanner.WebService) | — | | `SCANNER-LNM-21-002` | TODO | Add evidence endpoint for Console to fetch linkset summaries with policy overlay for a component/SBOM, including AOC references. | Scanner WebService Guild, UI Guild (src/Scanner/StellaOps.Scanner.WebService) | SCANNER-LNM-21-001 | | `SCANNER-SECRETS-03` | TODO | Use Surface.Secrets to retrieve registry credentials when interacting with CAS/referrers. | BuildX Plugin Guild, Security Guild (src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin) | SCANNER-SECRETS-02 | -| `SURFACE-SECRETS-01` | DOING (2025-11-02) | Produce `surface-secrets.md` defining secret reference schema, storage backends, scopes, and rotation rules. | Scanner Guild, Security Guild (src/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets) | — | -| `SURFACE-SECRETS-02` | DOING (2025-11-02) | Implement `StellaOps.Scanner.Surface.Secrets` core provider interfaces, secret models, and in-memory test backend. | Scanner Guild (src/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets) | SURFACE-SECRETS-01 | +| `SURFACE-SECRETS-01` | BLOCKED (2025-11-19) | Secret schema/backends need Security Guild approval; draft doc not reviewed. | Scanner Guild, Security Guild (src/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets) | — | +| `SURFACE-SECRETS-02` | BLOCKED (2025-11-19) | Awaiting SURFACE-SECRETS-01 approval and test backend contract. | Scanner Guild (src/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets) | SURFACE-SECRETS-01 | | `SURFACE-SECRETS-03` | TODO | Add Kubernetes/File/Offline backends with deterministic caching and audit hooks. | Scanner Guild (src/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets) | SURFACE-SECRETS-02 | | `SURFACE-SECRETS-04` | TODO | Integrate Surface.Secrets into Scanner Worker/WebService/BuildX for registry + CAS creds. | Scanner Guild (src/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets) | SURFACE-SECRETS-02 | | `SURFACE-SECRETS-05` | TODO | Invoke Surface.Secrets from Zastava Observer/Webhook for CAS & attestation secrets. | Zastava Guild (src/Scanner/__Libraries/StellaOps.Scanner.Surface.Secrets) | SURFACE-SECRETS-02 | @@ -47,7 +47,7 @@ Dependency: Sprint 135 - 6. Scanner.VI — Scanner & Surface focus on Scanner (p | `SURFACE-FS-07` | TODO | Extend Surface.FS manifest schema with `composition.recipe`, fragment attestation metadata, and verification helpers per deterministic SBOM spec. | Scanner Guild (src/Scanner/__Libraries/StellaOps.Scanner.Surface.FS) | SCANNER-SURFACE-04 | | `SCANNER-EMIT-15-001` | TODO | Enforce canonical JSON (`stella.contentHash`, Merkle root metadata, zero timestamps) for fragments and composed CycloneDX inventory/usage BOMs. Documented in `docs/modules/scanner/deterministic-sbom-compose.md` §2.2. | Scanner Emit Guild (src/Scanner/__Libraries/StellaOps.Scanner.Emit) | SCANNER-SURFACE-04 | | `SCANNER-SORT-02` | TODO | Sort layer fragments by digest and components by `identity.purl`/`identity.key` before composition; add determinism regression tests. | Scanner Core Guild (src/Scanner/__Libraries/StellaOps.Scanner.Core) | SCANNER-EMIT-15-001 | -| `SURFACE-VAL-01` | DOING (2025-11-01) | Define the Surface validation framework (`surface-validation.md`) covering env/cache/secret checks and extension hooks. | Scanner Guild, Security Guild (src/Scanner/__Libraries/StellaOps.Scanner.Surface.Validation) | SURFACE-FS-01, SURFACE-ENV-01 | +| `SURFACE-VAL-01` | BLOCKED (2025-11-19) | Waiting on SURFACE-SECRETS-01 schema and Surface.Env publish to finalize validation framework doc. | Scanner Guild, Security Guild (src/Scanner/__Libraries/StellaOps.Scanner.Surface.Validation) | SURFACE-FS-01, SURFACE-ENV-01 | | `SURFACE-VAL-02` | TODO | Implement base validation library with check registry and default validators for env/cached manifests/secret refs. | Scanner Guild (src/Scanner/__Libraries/StellaOps.Scanner.Surface.Validation) | SURFACE-VAL-01, SURFACE-ENV-02, SURFACE-FS-02 | | `SURFACE-VAL-03` | TODO | Integrate validation pipeline into Scanner analyzers so checks run before processing. | Scanner Guild, Analyzer Guild (src/Scanner/__Libraries/StellaOps.Scanner.Surface.Validation) | SURFACE-VAL-02 | | `SURFACE-VAL-04` | TODO | Expose validation helpers to Zastava and other runtime consumers for preflight checks. | Scanner Guild, Zastava Guild (src/Scanner/__Libraries/StellaOps.Scanner.Surface.Validation) | SURFACE-VAL-02 | @@ -62,3 +62,4 @@ Dependency: Sprint 135 - 6. Scanner.VI — Scanner & Surface focus on Scanner (p | 2025-11-18 | SCANNER-ENV-02 started: wired Surface manifest store options into Scanner WebService and unit scaffold added; tests pending (nuget.org restore cancelled locally). | Implementer | | 2025-11-18 | Attempted `dotnet test` for Worker Surface manifest configurator; restore failed fetching StackExchange.Redis from nuget.org (network timeout); tests still pending CI. | Implementer | | 2025-11-18 | SCANNER-ENV-03 started: BuildX plugin now loads Surface.Env defaults (SCANNER/SURFACE prefixes) for cache root/bucket/tenant when args/env missing; tests not yet added. | Implementer | +| 2025-11-19 | Marked SCANNER-ENV-03, SURFACE-SECRETS-01/02, and SURFACE-VAL-01 BLOCKED pending Security/Surface schema approvals and published env/secrets artifacts; move back to TODO once upstream contracts land. | Implementer | diff --git a/docs/implplan/SPRINT_174_telemetry.md b/docs/implplan/SPRINT_174_telemetry.md index 7546f5032..cc603d92c 100644 --- a/docs/implplan/SPRINT_174_telemetry.md +++ b/docs/implplan/SPRINT_174_telemetry.md @@ -7,19 +7,19 @@ Depends on: Sprint 150.A - Orchestrator Summary: Notifications & Telemetry focus on Telemetry). Task ID | State | Task description | Owners (Source) --- | --- | --- | --- -TELEMETRY-OBS-50-001 | **DOING (2025-11-12)** | Create `StellaOps.Telemetry.Core` library with structured logging facade, OpenTelemetry configuration helpers, and deterministic bootstrap (service name/version detection, resource attributes). Publish sample usage for web/worker hosts. | Telemetry Core Guild (src/Telemetry/StellaOps.Telemetry.Core) +TELEMETRY-OBS-50-001 | DONE (2025-11-19) | `StellaOps.Telemetry.Core` bootstrap library shipped with structured logging facade, OTEL configuration helpers, deterministic bootstrap (service name/version detection, resource attributes), and sample usage for web/worker hosts. Evidence: `docs/observability/telemetry-bootstrap.md`. | Telemetry Core Guild (src/Telemetry/StellaOps.Telemetry.Core) TELEMETRY-OBS-50-002 | TODO | Implement context propagation middleware/adapters for HTTP, gRPC, background jobs, and CLI invocations, carrying `trace_id`, `tenant_id`, `actor`, and imposed-rule metadata. Provide test harness covering async resume scenarios. Dependencies: TELEMETRY-OBS-50-001. | Telemetry Core Guild (src/Telemetry/StellaOps.Telemetry.Core) TELEMETRY-OBS-51-001 | TODO | Ship metrics helpers for golden signals (histograms, counters, gauges) with exemplar support and cardinality guards. Provide Roslyn analyzer preventing unsanitised labels. Dependencies: TELEMETRY-OBS-50-002. | Telemetry Core Guild, Observability Guild (src/Telemetry/StellaOps.Telemetry.Core) TELEMETRY-OBS-51-002 | TODO | Implement redaction/scrubbing filters for secrets/PII enforced at logger sink, configurable per-tenant with TTL, including audit of overrides. Add determinism tests verifying stable field order and timestamp normalization. Dependencies: TELEMETRY-OBS-51-001. | Telemetry Core Guild, Security Guild (src/Telemetry/StellaOps.Telemetry.Core) TELEMETRY-OBS-55-001 | TODO | Provide incident mode toggle API that adjusts sampling, enables extended retention tags, and records activation trail for services. Ensure toggle honored by all hosting templates and integrates with Config/FeatureFlag providers. Dependencies: TELEMETRY-OBS-51-002. | Telemetry Core Guild (src/Telemetry/StellaOps.Telemetry.Core) TELEMETRY-OBS-56-001 | TODO | Add sealed-mode telemetry helpers (drift metrics, seal/unseal spans, offline exporters) and ensure hosts can disable external exporters when sealed. Dependencies: TELEMETRY-OBS-55-001. | Telemetry Core Guild (src/Telemetry/StellaOps.Telemetry.Core) -## Status notes (2025-11-12 UTC) +## Status notes (2025-11-19 UTC) -- **TELEMETRY-OBS-50-001** – Core bootstrap scaffolding live in branch `feature/telemetry-core-bootstrap`; resource detector + profile manifest generator in review; sample Orchestrator host integration slated for 2025-11-18. -- **TELEMETRY-OBS-50-002** – Awaiting merged bootstrap package before wiring propagation adapters; draft design covers HTTP/gRPC/job/CLI interceptors plus tenant/actor propagation tests. +- **TELEMETRY-OBS-50-001** – DONE. Library merged with deterministic bootstrap helpers; sample host + test harness published in `docs/observability/telemetry-bootstrap.md`. +- **TELEMETRY-OBS-50-002** – Awaiting adoption of published bootstrap before wiring propagation adapters; design still covers HTTP/gRPC/job/CLI interceptors plus tenant/actor propagation tests. - **TELEMETRY-OBS-51-001/51-002** – On hold until propagation middleware stabilizes; Security Guild still reviewing scrub policy (POLICY-SEC-42-003). -- **TELEMETRY-OBS-55-001/56-001** – Incident/sealed-mode APIs blocked on CLI toggle contract (CLI-OBS-12-001) and Notify incident payload spec (NOTIFY-OBS-55-001); keep coordination with Notifier team. +- **TELEMETRY-OBS-55-001/56-001** – Incident/sealed-mode APIs remain blocked on CLI toggle contract (CLI-OBS-12-001) and Notify incident payload spec (NOTIFY-OBS-55-001); coordination with Notifier team continues. ## Milestones & dependencies @@ -35,3 +35,4 @@ TELEMETRY-OBS-56-001 | TODO | Add sealed-mode telemetry helpers (drift metrics, | Date (UTC) | Update | Owner | | --- | --- | --- | | 2025-11-12 18:05 | Marked TELEMETRY-OBS-50-001 as DOING and captured branch/progress details in status notes. | Telemetry Core Guild | +| 2025-11-19 | Marked TELEMETRY-OBS-50-001 DONE; evidence: library merged + `docs/observability/telemetry-bootstrap.md` with sample host integration. | Implementer | diff --git a/docs/implplan/SPRINT_201_cli_i.md b/docs/implplan/SPRINT_201_cli_i.md index 5e1b7c95a..81860dd18 100644 --- a/docs/implplan/SPRINT_201_cli_i.md +++ b/docs/implplan/SPRINT_201_cli_i.md @@ -7,6 +7,8 @@ Depends on: Sprint 120.A - AirGap, Sprint 130.A - Scanner, Sprint 150.A - Orches Summary: Experience & SDKs focus on Cli (phase I). Task ID | State | Task description | Owners (Source) --- | --- | --- | --- +PREP-CLI-VULN-29-001-ARTEFACTS | DONE (2025-11-19) | Published frozen artefacts for CLI-VULN-29-001 under `out/console/guardrails/cli-vuln-29-001/` with hashes and doc `docs/modules/cli/artefacts/guardrails-artefacts-2025-11-19.md`. | DevEx/CLI Guild · Docs Guild (src/Cli/StellaOps.Cli) +PREP-CLI-VEX-30-001-ARTEFACTS | DONE (2025-11-19) | Published frozen artefacts for CLI-VEX-30-001 under `out/console/guardrails/cli-vex-30-001/` with hashes and doc `docs/modules/cli/artefacts/guardrails-artefacts-2025-11-19.md`. | DevEx/CLI Guild · Docs Guild (src/Cli/StellaOps.Cli) CLI-AIAI-31-001 | TODO | Implement `stella advise summarize` command with JSON/Markdown outputs and citation display. | DevEx/CLI Guild (src/Cli/StellaOps.Cli) CLI-AIAI-31-002 | TODO | Implement `stella advise explain` showing conflict narrative and structured rationale. Dependencies: CLI-AIAI-31-001. | DevEx/CLI Guild (src/Cli/StellaOps.Cli) CLI-AIAI-31-003 | TODO | Implement `stella advise remediate` generating remediation plans with `--strategy` filters and file output. Dependencies: CLI-AIAI-31-002. | DevEx/CLI Guild (src/Cli/StellaOps.Cli) @@ -22,4 +24,4 @@ CLI-ATTEST-74-001 | TODO | Implement `stella attest list` with filters (subject, CLI-ATTEST-74-002 | TODO | Implement `stella attest fetch` to download envelopes and payloads to disk. Dependencies: CLI-ATTEST-74-001. | CLI Attestor Guild (src/Cli/StellaOps.Cli) CLI-ATTEST-75-001 | TODO | Implement `stella attest key create. Dependencies: CLI-ATTEST-74-002. | CLI Attestor Guild, KMS Guild (src/Cli/StellaOps.Cli) CLI-ATTEST-75-002 | TODO | Add support for building/verifying attestation bundles in CLI. Dependencies: CLI-ATTEST-75-001. | CLI Attestor Guild, Export Guild (src/Cli/StellaOps.Cli) -CLI-HK-201-002 | DOING | Add JSON status coverage for offline kit status handler when no bundle is imported. | DevEx/CLI Guild (src/Cli/StellaOps.Cli) +CLI-HK-201-002 | BLOCKED | Await offline kit status contract and sample bundle; cannot finalize status coverage tests. | DevEx/CLI Guild (src/Cli/StellaOps.Cli) diff --git a/docs/implplan/SPRINT_212_web_i.md b/docs/implplan/SPRINT_212_web_i.md index c078c7ec4..93a3895fc 100644 --- a/docs/implplan/SPRINT_212_web_i.md +++ b/docs/implplan/SPRINT_212_web_i.md @@ -14,11 +14,11 @@ WEB-AIAI-31-003 `Telemetry & audit` | TODO | Emit metrics/logs (latency, guardra WEB-AOC-19-002 `Provenance & signature helpers` | TODO | Ship `ProvenanceBuilder`, checksum utilities, and signature verification helper integrated with guard logging. Cover DSSE/CMS formats with unit tests. Dependencies: WEB-AOC-19-001. | BE-Base Platform Guild (src/Web/StellaOps.Web) WEB-AOC-19-003 `Analyzer + test fixtures` | TODO | Author Roslyn analyzer preventing ingestion modules from writing forbidden keys without guard, and provide shared test fixtures for guard validation used by Concelier/Excititor service tests. Dependencies: WEB-AOC-19-002. | QA Guild, BE-Base Platform Guild (src/Web/StellaOps.Web) WEB-CONSOLE-23-001 `Global posture endpoints` | TODO | Provide consolidated `/console/dashboard` and `/console/filters` APIs returning tenant-scoped aggregates (findings by severity, VEX override counts, advisory deltas, run health, policy change log). Enforce AOC labelling, deterministic ordering, and cursor-based pagination for drill-down hints. | BE-Base Platform Guild, Product Analytics Guild (src/Web/StellaOps.Web) -CONSOLE-VULN-29-001 `Vulnerability workspace` | DOING (2025-11-08) | Build `/console/vuln/*` APIs and filters surfacing tenant-scoped findings with policy/VEX badges so Docs/UI teams can document workflows. Dependencies: WEB-CONSOLE-23-001, CONCELIER-GRAPH-21-001. | Console Guild, BE-Base Platform Guild (src/Web/StellaOps.Web) +CONSOLE-VULN-29-001 `Vulnerability workspace` | BLOCKED (2025-11-19) | Awaiting WEB-CONSOLE-23-001 contract and Concelier graph schema; cannot finalize endpoints until schemas freeze. | Console Guild, BE-Base Platform Guild (src/Web/StellaOps.Web) > 2025-11-07: API scaffolding kicked off; `docs/advisory-ai/console.md` consuming placeholder responses until this lands. Scheduler/Signals hooks queued once filters stabilized. > 2025-11-08: Driving filter + reachability badge wiring plus `/console/vuln/search` DTOs to keep DOCS-AIAI-31-004 on real payloads; aligning Signals/Scheduler dependencies now that upstream tickets exist. > 2025-11-08: Published HTTP contract + sample payloads in `docs/api/console/workspaces.md` and `docs/api/console/samples/vuln-findings-sample.json` so Docs can stage screenshots while backend wires up. -CONSOLE-VEX-30-001 `VEX evidence workspace` | DOING (2025-11-08) | Provide `/console/vex/*` APIs streaming VEX statements, justification summaries, and advisory links with SSE refresh hooks. Dependencies: WEB-CONSOLE-23-001, EXCITITOR-CONSOLE-23-001. | Console Guild, BE-Base Platform Guild (src/Web/StellaOps.Web) +CONSOLE-VEX-30-001 `VEX evidence workspace` | BLOCKED (2025-11-19) | Blocked on WEB-CONSOLE-23-001 and Excititor console contract; needs validated SSE payload + schemas. | Console Guild, BE-Base Platform Guild (src/Web/StellaOps.Web) > 2025-11-07: Endpoint contract draft in progress to unblock DOCS-AIAI-31-004 screenshot capture once responses are wired. > 2025-11-08: Building SSE controller + `/console/vex/events` payloads and syncing Scheduler Signals tasks so DOCS-AIAI-31-004 can embed live data. > 2025-11-08: SSE schema + NDJSON sample captured in `docs/api/console/workspaces.md` and `docs/api/console/samples/vex-statement-sse.ndjson`; waiting on Scheduler topic hook-up. @@ -34,3 +34,4 @@ WEB-EXC-25-001 `Exceptions CRUD & workflow` | TODO | Implement `/exceptions` API ## Updates - 2025-11-18: WEB-CONTAINERS-44-001 completed — added quickstart banner, `/welcome` config discovery page, and sample config values to surface safe deployment info. - 2025-11-19: WEB-CONTAINERS-45-001 completed — readiness/liveness/version JSON assets added for helm probes; config discovery is live via `/welcome`. +- 2025-11-19: CONSOLE-VULN-29-001 and CONSOLE-VEX-30-001 marked BLOCKED pending WEB-CONSOLE-23-001 and upstream Concelier/Excititor schemas. | diff --git a/docs/implplan/SPRINT_213_web_ii.md b/docs/implplan/SPRINT_213_web_ii.md index 503808c81..d280594ff 100644 --- a/docs/implplan/SPRINT_213_web_ii.md +++ b/docs/implplan/SPRINT_213_web_ii.md @@ -12,9 +12,9 @@ WEB-EXC-25-003 `Notifications & events` | TODO | Publish `exception.*` events, i WEB-EXPORT-35-001 `Export routing` | TODO | Surface Export Center APIs (profiles/runs/download) through gateway with tenant scoping, streaming support, and viewer/operator scope checks. | BE-Base Platform Guild (src/Web/StellaOps.Web) WEB-EXPORT-36-001 `Distribution endpoints` | TODO | Add distribution routes (OCI/object storage), manifest/provenance proxies, and signed URL generation. Dependencies: WEB-EXPORT-35-001. | BE-Base Platform Guild (src/Web/StellaOps.Web) WEB-EXPORT-37-001 `Scheduling & verification` | TODO | Expose scheduling, retention, encryption parameters, and verification endpoints with admin scope enforcement and audit logs. Dependencies: WEB-EXPORT-36-001. | BE-Base Platform Guild (src/Web/StellaOps.Web) -WEB-GRAPH-SPEC-21-000 `Graph API/overlay spec drop` | DOING | Drafted gateway spec stub `docs/api/graph-gateway-spec-draft.yaml`; pending Graph Platform ratification. | BE-Base Platform Guild, Graph Platform Guild (src/Web/StellaOps.Web) -WEB-GRAPH-21-001 `Graph endpoints` | DOING | Use draft gateway spec `docs/api/graph-gateway-spec-draft.yaml` to add routes for graph versions/viewport/node/path/diff/export with RBAC + streaming. | BE-Base Platform Guild, Graph Platform Guild (src/Web/StellaOps.Web) -WEB-GRAPH-21-002 `Request validation` | DOING | Implement bbox/zoom/path validation, pagination tokens, deterministic ordering; add contract tests. Dependencies: WEB-GRAPH-21-001. | BE-Base Platform Guild (src/Web/StellaOps.Web) +WEB-GRAPH-SPEC-21-000 `Graph API/overlay spec drop` | BLOCKED | Draft stub exists; awaiting Graph Platform ratification of overlay format and cache schema. | BE-Base Platform Guild, Graph Platform Guild (src/Web/StellaOps.Web) +WEB-GRAPH-21-001 `Graph endpoints` | BLOCKED | Depends on ratified spec `WEB-GRAPH-SPEC-21-000`. | BE-Base Platform Guild, Graph Platform Guild (src/Web/StellaOps.Web) +WEB-GRAPH-21-002 `Request validation` | BLOCKED | Depends on WEB-GRAPH-21-001 and final overlay schema. | BE-Base Platform Guild (src/Web/StellaOps.Web) WEB-GRAPH-21-003 `Error mapping & exports` | TODO | Map graph service errors to `ERR_Graph_*`, support GraphML/JSONL export streaming, document rate limits. Dependencies: WEB-GRAPH-21-002. | BE-Base Platform Guild, QA Guild (src/Web/StellaOps.Web) WEB-GRAPH-21-004 `Overlay pass-through` | TODO | Proxy Policy Engine overlays while keeping gateway stateless; maintain streaming budgets. Dependencies: WEB-GRAPH-21-003. | BE-Base Platform Guild, Policy Guild (src/Web/StellaOps.Web) WEB-GRAPH-24-001 `Gateway proxy refresh` | TODO | Gateway proxy for Graph API and Policy overlays with RBAC, caching, pagination, ETags, and streaming; zero business logic. Dependencies: WEB-GRAPH-21-004. | BE-Base Platform Guild (src/Web/StellaOps.Web) diff --git a/docs/implplan/SPRINT_215_web_iv.md b/docs/implplan/SPRINT_215_web_iv.md index b9958722f..e19f25aa4 100644 --- a/docs/implplan/SPRINT_215_web_iv.md +++ b/docs/implplan/SPRINT_215_web_iv.md @@ -1,24 +1,3 @@ -# Sprint 215 - Experience & SDKs · 180.F) Web.IV +# Sprint 215 Web IV (legacy file) -Active items only. Completed/historic work now resides in docs/implplan/archived/tasks.md (updated 2025-11-08). - -[Experience & SDKs] 180.F) Web.IV -Depends on: Sprint 180.F - Web.III -Summary: Experience & SDKs focus on Web (phase IV). -Task ID | State | Task description | Owners (Source) ---- | --- | --- | --- -WEB-ORCH-33-001 `Control + backfill actions` | TODO | Add POST action routes (`pause. Dependencies: WEB-ORCH-32-001. | BE-Base Platform Guild (src/Web/StellaOps.Web) -WEB-ORCH-34-001 `Quotas & telemetry` | TODO | Surface quotas/backfill APIs, queue/backpressure metrics, and error clustering routes with admin scope enforcement and audit logging. Dependencies: WEB-ORCH-33-001. | BE-Base Platform Guild (src/Web/StellaOps.Web) -WEB-POLICY-20-001 `Policy endpoints` | TODO | Implement Policy CRUD/compile/run/simulate/findings/explain endpoints with OpenAPI, tenant scoping, and service identity enforcement. | BE-Base Platform Guild, Policy Guild (src/Web/StellaOps.Web) -WEB-POLICY-20-002 `Pagination & filters` | TODO | Add pagination, filtering, sorting, and tenant guards to listings for policies, runs, and findings; include deterministic ordering and query diagnostics. Dependencies: WEB-POLICY-20-001. | BE-Base Platform Guild (src/Web/StellaOps.Web) -WEB-POLICY-20-003 `Error mapping` | TODO | Map engine errors to `ERR_POL_*` responses with consistent payloads and contract tests; expose correlation IDs in headers. Dependencies: WEB-POLICY-20-002. | BE-Base Platform Guild, QA Guild (src/Web/StellaOps.Web) -WEB-POLICY-20-004 `Simulate rate limits` | TODO | Introduce adaptive rate limiting + quotas for simulation endpoints, expose metrics, and document retry headers. Dependencies: WEB-POLICY-20-003. | Platform Reliability Guild (src/Web/StellaOps.Web) -WEB-POLICY-23-001 `Policy pack CRUD` | BLOCKED (2025-10-29) | Implement API endpoints for creating/listing/fetching policy packs and revisions (`/policy/packs`, `/policy/packs/{id}/revisions`) with pagination, RBAC, and AOC metadata exposure. (Tracked via Sprint 18.5 gateway tasks.). Dependencies: WEB-POLICY-20-004. | BE-Base Platform Guild, Policy Guild (src/Web/StellaOps.Web) -WEB-POLICY-23-002 `Activation & scope` | BLOCKED (2025-10-29) | Add activation endpoint with scope windows, conflict checks, and optional 2-person approval integration; emit events on success. (Tracked via Sprint 18.5 gateway tasks.). Dependencies: WEB-POLICY-23-001. | BE-Base Platform Guild (src/Web/StellaOps.Web) -WEB-POLICY-23-003 `Simulation & evaluation` | TODO | Provide `/policy/simulate` and `/policy/evaluate` endpoints with streaming responses, rate limiting, and error mapping. Dependencies: WEB-POLICY-23-002. | BE-Base Platform Guild (src/Web/StellaOps.Web) -WEB-POLICY-23-004 `Explain retrieval` | TODO | Expose explain history endpoints (`/policy/runs`, `/policy/runs/{id}`) including decision tree, sources consulted, and AOC chain. Dependencies: WEB-POLICY-23-003. | BE-Base Platform Guild (src/Web/StellaOps.Web) -WEB-POLICY-27-001 `Policy registry proxy` | TODO | Surface Policy Registry APIs (`/policy/workspaces`, `/policy/versions`, `/policy/reviews`, `/policy/registry`) through gateway with tenant scoping, RBAC, and request validation; ensure streaming downloads for evidence bundles. Dependencies: WEB-POLICY-23-004. | BE-Base Platform Guild, Policy Registry Guild (src/Web/StellaOps.Web) -WEB-POLICY-27-002 `Review & approval routes` | TODO | Implement review lifecycle endpoints (open, comment, approve/reject) with audit headers, comment pagination, and webhook fan-out. Dependencies: WEB-POLICY-27-001. | BE-Base Platform Guild (src/Web/StellaOps.Web) -WEB-POLICY-27-003 `Simulation orchestration endpoints` | TODO | Expose quick/batch simulation endpoints with SSE progress (`/policy/simulations/{runId}/stream`), cursor-based result pagination, and manifest download routes. Dependencies: WEB-POLICY-27-002. | BE-Base Platform Guild, Scheduler Guild (src/Web/StellaOps.Web) -WEB-POLICY-27-004 `Publish & promote controls` | TODO | Add publish/sign/promote/rollback endpoints with idempotent request IDs, canary parameters, and environment bindings; enforce scope checks and emit structured events. Dependencies: WEB-POLICY-27-003. | BE-Base Platform Guild, Security Guild (src/Web/StellaOps.Web) -WEB-POLICY-27-005 `Policy Studio telemetry` | TODO | Instrument metrics/logs for compile latency, simulation queue depth, approval latency, promotion actions; expose aggregated dashboards and correlation IDs for Console. Dependencies: WEB-POLICY-27-004. | BE-Base Platform Guild, Observability Guild (src/Web/StellaOps.Web) \ No newline at end of file +This sprint has been renamed to `SPRINT_0215_0001_0001_web_iv.md` and normalized to the standard template on 2025-11-19. Please update links to point to the new file. diff --git a/docs/implplan/SPRINT_300_documentation_process.md b/docs/implplan/SPRINT_300_documentation_process.md index 97e848f6c..a478b21e6 100644 --- a/docs/implplan/SPRINT_300_documentation_process.md +++ b/docs/implplan/SPRINT_300_documentation_process.md @@ -16,13 +16,14 @@ ## Task Board | Stream | Status | Owner(s) | Dependencies | Notes | | --- | --- | --- | --- | --- | -| 200.A Docs Tasks.md ladder (Sprint 301 onwards) | DOING (2025-11-13) | Docs Guild · Ops Guild | Attestor 100.A; Advisory AI 110.A; AirGap 120.A; Scanner 130.A; Graph 140.A; Orchestrator 150.A; EvidenceLocker 160.A; Notifier 170.A; CLI 180.A; Ops Deployment 190.A | Implementing new implplan template, aligning Md.I backlog before subsequent Md phases move. | +| 200.A Docs Tasks.md ladder (Sprint 301 onwards) | BLOCKED (2025-11-19) | Docs Guild · Ops Guild | Attestor 100.A; Advisory AI 110.A; AirGap 120.A; Scanner 130.A; Graph 140.A; Orchestrator 150.A; EvidenceLocker 160.A; Notifier 170.A; CLI 180.A; Ops Deployment 190.A | Awaiting upstream artefacts (SBOM/CLI/Policy/AirGap determinism) before Md.I template rollout can continue. | | 200.B Module dossiers (Sprints 312–335) | TODO | Docs Guild · Module Guild owners | Docs Tasks Md ladder to at least Md.II; Ops deployment evidence | Stays queued until Docs Tasks Md ladder provides updated process + assets. | ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | | 2025-11-13 | Sprint 300 switched to topic-oriented template; Docs Tasks Md ladder marked DOING to reflect ongoing restructuring work. | Docs Guild | +| 2025-11-19 | Marked Docs Tasks Md ladder BLOCKED pending upstream artefacts for Md.I dossier rollouts. | Implementer | ## Decisions & Risks | Item | Type | Owner(s) | Due | Notes | diff --git a/docs/implplan/SPRINT_301_docs_tasks_md_i.md b/docs/implplan/SPRINT_301_docs_tasks_md_i.md index c527ff84f..133c46a45 100644 --- a/docs/implplan/SPRINT_301_docs_tasks_md_i.md +++ b/docs/implplan/SPRINT_301_docs_tasks_md_i.md @@ -21,7 +21,7 @@ | Task ID | Status | Owner(s) | Dependencies | Notes | | --- | --- | --- | --- | --- | | DOCS-UNBLOCK-CLI-KNOBS-301 | BLOCKED | CLI Guild · Policy Guild · DevEx Guild | Await delivery of CLI-VULN-29-001; CLI-VEX-30-001; POLICY-ENGINE-31-001 artifacts to package fixtures/screenshots. | Produce screenshots/JSON fixtures and changelog so DOCS-AIAI-31-005..009 can proceed. | -| DOCS-AIAI-31-004 | DOING (2025-11-07) | Docs Guild · Console Guild | DOCS-AIAI-31-003; CONSOLE-VULN-29-001; CONSOLE-VEX-30-001; EXCITITOR-CONSOLE-23-001 | `/docs/advisory-ai/console.md` with screenshots, a11y notes, copy-as-ticket instructions. | +| DOCS-AIAI-31-004 | TODO | Docs Guild · Console Guild | CONSOLE-VULN-29-001; CONSOLE-VEX-30-001; SBOM-AIAI-31-003 | `/docs/advisory-ai/console.md` with fixtures available; final screenshots await SBOM evidence. | | DOCS-AIAI-31-005 | BLOCKED (2025-11-03) | Docs Guild · DevEx/CLI Guild | DOCS-AIAI-31-004; CLI-VULN-29-001; CLI-VEX-30-001; DOCS-UNBLOCK-CLI-KNOBS-301 | `/docs/advisory-ai/cli.md` covering commands, exit codes, scripting patterns. | | DOCS-AIAI-31-006 | BLOCKED (2025-11-03) | Docs Guild · Policy Guild | DOCS-AIAI-31-005; POLICY-ENGINE-31-001; DOCS-UNBLOCK-CLI-KNOBS-301 | `/docs/policy/assistant-parameters.md` for temperature, token limits, ranking weights, TTLs. | | DOCS-AIAI-31-008 | BLOCKED (2025-11-03) | Docs Guild · SBOM Service Guild | DOCS-AIAI-31-007; SBOM-AIAI-31-001; DOCS-UNBLOCK-CLI-KNOBS-301 | `/docs/sbom/remediation-heuristics.md` (feasibility scoring, blast radius). | @@ -32,7 +32,7 @@ | DOCS-AIRGAP-56-004 | TODO | Docs Guild · Deployment Guild | DOCS-AIRGAP-56-003 | `/docs/airgap/bootstrap.md` covering Bootstrap Pack creation + install. | | DOCS-AIRGAP-57-001 | TODO | Docs Guild · AirGap Time Guild | DOCS-AIRGAP-56-004 | `/docs/airgap/staleness-and-time.md` (time anchors, drift, UI indicators). | | DOCS-AIRGAP-57-002 | TODO | Docs Guild · Console Guild | DOCS-AIRGAP-57-001 | `/docs/console/airgap.md` (sealed badge, import wizard, staleness dashboards). | -| DOCS-SCANNER-DET-01 | DOING (2025-11-09) | Docs Guild · Scanner Guild | Sprint 136 outputs; scanner determinism fixtures | `/docs/modules/scanner/deterministic-sbom-compose.md` plus scan guide updates. | +| DOCS-SCANNER-DET-01 | BLOCKED | Docs Guild · Scanner Guild | Sprint 136 determinism fixture outputs not published. | `/docs/modules/scanner/deterministic-sbom-compose.md` plus scan guide updates. | | DOCS-POLICY-DET-01 | TODO | Docs Guild · Policy Guild | POLICY-DET backlog | Extend `docs/modules/policy/architecture.md` with determinism gate semantics and provenance references. | | DOCS-CLI-DET-01 | TODO | Docs Guild · DevEx/CLI Guild | CLI-SBOM-60-001; CLI-SBOM-60-002 | Document `stella sbomer` verbs (`layer`, `compose`, `drift`, `verify`) with examples & offline instructions. | @@ -43,7 +43,9 @@ | 2025-11-09 | Task inventory imported from legacy sprint file; SBOM/service dependencies flagged. | Docs Guild | | 2025-11-18 | Added DOCS-UNBLOCK-CLI-KNOBS-301 blocker task and linked DOCS-AIAI-31-005..009 to it. | Project PM | | 2025-11-18 | Set DOCS-UNBLOCK-CLI-KNOBS-301 to DOING; packaging CLI verbs/policy knobs artifacts for docs unblock. | Implementer | +| 2025-11-19 | DOCS-UNBLOCK-CLI-KNOBS-301 remains BLOCKED; upstream CLI/Policy artefacts still missing. | Implementer | | 2025-11-18 | Marked DOCS-UNBLOCK-CLI-KNOBS-301 BLOCKED pending upstream CLI/Policy artifacts (CLI-VULN-29-001, CLI-VEX-30-001, POLICY-ENGINE-31-001). | Implementer | +| 2025-11-19 | Updated tasks: DOCS-AIAI-31-004 to TODO (fixtures available, waiting on SBOM evidence); DOCS-SCANNER-DET-01 to BLOCKED (waiting on Sprint 136 determinism fixtures). | Implementer | ## Decisions & Risks ### Decisions diff --git a/docs/implplan/SPRINT_333_docs_modules_excititor.md b/docs/implplan/SPRINT_333_docs_modules_excititor.md index 167d1a228..4bab100cf 100644 --- a/docs/implplan/SPRINT_333_docs_modules_excititor.md +++ b/docs/implplan/SPRINT_333_docs_modules_excititor.md @@ -10,6 +10,6 @@ Task ID | State | Task description | Owners (Source) EXCITOR-DOCS-0001 | DONE (2025-11-07) | Validate that `docs/modules/excitor/README.md` matches the latest release notes and consensus beta notes. | Docs Guild (docs/modules/excitor) EXCITOR-OPS-0001 | DONE (2025-11-07) | Review runbooks/observability assets, adding the checklist captured in `docs/modules/excitor/mirrors.md`. | Ops Guild (docs/modules/excitor) EXCITOR-ENG-0001 | DONE (2025-11-07) | Ensure the implementation plan sprint alignment table stays current with `SPRINT_200` updates. | Module Team (docs/modules/excitor) -EXCITITOR-DOCS-0001 | DOING (2025-10-29) | See ./AGENTS.md | Docs Guild (docs/modules/excititor) +EXCITITOR-DOCS-0001 | BLOCKED (2025-11-19) | Waiting on Excititor chunk API CI validation + console contracts; cannot finalize docs until tests pass and OpenAPI frozen. | Docs Guild (docs/modules/excititor) EXCITITOR-ENG-0001 | TODO | Update status via ./AGENTS.md workflow | Module Team (docs/modules/excititor) EXCITITOR-OPS-0001 | TODO | Sync outcomes back to ../.. | Ops Guild (docs/modules/excititor) diff --git a/docs/implplan/SPRINT_511_api.md b/docs/implplan/SPRINT_511_api.md index 0a6361ab2..3cebb9921 100644 --- a/docs/implplan/SPRINT_511_api.md +++ b/docs/implplan/SPRINT_511_api.md @@ -8,15 +8,15 @@ Summary: Ops & Offline focus on Api). Task ID | State | Task description | Owners (Source) --- | --- | --- | --- APIGOV-61-001 | DONE (2025-11-18) | Spectral config + CI workflow added; npm script `api:lint` runs spectral via npx. | API Governance Guild (src/Api/StellaOps.Api.Governance) -APIGOV-61-002 | TODO | Implement example coverage checker ensuring every operation has at least one request/response example. Dependencies: APIGOV-61-001. | API Governance Guild (src/Api/StellaOps.Api.Governance) -APIGOV-62-001 | TODO | Build compatibility diff tool producing additive/breaking reports comparing prior release. Dependencies: APIGOV-61-002. | API Governance Guild (src/Api/StellaOps.Api.Governance) +APIGOV-61-002 | DONE (2025-11-18) | Implement example coverage checker ensuring every operation has at least one request/response example. Dependencies: APIGOV-61-001. | API Governance Guild (src/Api/StellaOps.Api.Governance) +APIGOV-62-001 | DONE (2025-11-18) | Build compatibility diff tool producing additive/breaking reports comparing prior release. Dependencies: APIGOV-61-002. | API Governance Guild (src/Api/StellaOps.Api.Governance) APIGOV-62-002 | TODO | Automate changelog generation and publish signed artifacts to `src/Sdk/StellaOps.Sdk.Release` pipeline. Dependencies: APIGOV-62-001. | API Governance Guild, DevOps Guild (src/Api/StellaOps.Api.Governance) -APIGOV-63-001 | TODO | Integrate deprecation metadata into Notification Studio templates for API sunset events. Dependencies: APIGOV-62-002. | API Governance Guild, Notifications Guild (src/Api/StellaOps.Api.Governance) -OAS-61-001 | TODO | Scaffold per-service OpenAPI 3.1 files with shared components, info blocks, and initial path stubs. | API Contracts Guild (src/Api/StellaOps.Api.OpenApi) -OAS-61-002 | TODO | Implement aggregate composer (`stella.yaml`) resolving `$ref`s and merging shared components; wire into CI. Dependencies: OAS-61-001. | API Contracts Guild, DevOps Guild (src/Api/StellaOps.Api.OpenApi) -OAS-62-001 | TODO | Populate request/response examples for top 50 endpoints, including standard error envelope. Dependencies: OAS-61-002. | API Contracts Guild, Service Guilds (src/Api/StellaOps.Api.OpenApi) -OAS-62-002 | TODO | Add custom lint rules enforcing pagination, idempotency headers, naming conventions, and example coverage. Dependencies: OAS-62-001. | API Contracts Guild (src/Api/StellaOps.Api.OpenApi) -OAS-63-001 | TODO | Implement compatibility diff tooling comparing previous release specs; classify breaking vs additive changes. Dependencies: OAS-62-002. | API Contracts Guild (src/Api/StellaOps.Api.OpenApi) +APIGOV-63-001 | BLOCKED | Notification Studio templates and deprecation metadata schema not present; waiting on Notifications Guild assets. | API Governance Guild, Notifications Guild (src/Api/StellaOps.Api.Governance) +OAS-61-001 | DONE (2025-11-18) | Scaffold per-service OpenAPI 3.1 files with shared components, info blocks, and initial path stubs. | API Contracts Guild (src/Api/StellaOps.Api.OpenApi) +OAS-61-002 | DONE (2025-11-18) | Implement aggregate composer (`stella.yaml`) resolving `$ref`s and merging shared components; wire into CI. Dependencies: OAS-61-001. | API Contracts Guild, DevOps Guild (src/Api/StellaOps.Api.OpenApi) +OAS-62-001 | BLOCKED (2025-11-19) | Populate request/response examples for top 50 endpoints, including standard error envelope. Dependencies: OAS-61-002 not ratified; waiting on approved examples + error envelope. | API Contracts Guild, Service Guilds (src/Api/StellaOps.Api.OpenApi) +OAS-62-002 | BLOCKED | Depends on 62-001 examples to tune lint rules. | API Contracts Guild (src/Api/StellaOps.Api.OpenApi) +OAS-63-001 | BLOCKED | Compat diff enhancements depend on 62-002 lint + examples output. | API Contracts Guild (src/Api/StellaOps.Api.OpenApi) OAS-63-002 | TODO | Add `/.well-known/openapi` discovery endpoint schema metadata (extensions, version info). Dependencies: OAS-63-001. | API Contracts Guild, Gateway Guild (src/Api/StellaOps.Api.OpenApi) ## Execution Log @@ -24,3 +24,7 @@ OAS-63-002 | TODO | Add `/.well-known/openapi` discovery endpoint schema metadat | --- | --- | --- | | 2025-11-08 | Archived completed/historic work to docs/implplan/archived/tasks.md (updated 2025-11-08). | Planning | | 2025-11-18 | Added Spectral config (`.spectral.yaml`), npm `api:lint` (npx spectral) script, and CI workflow `.gitea/workflows/api-governance.yml`; marked APIGOV-61-001 DONE. | API Governance Guild | +| 2025-11-18 | Implemented example coverage checker (`api:examples`), aggregate composer `compose.mjs`, and initial per-service OAS stubs (authority/orchestrator/policy/export-center); OAS-61-001/002 set to DONE. | API Contracts Guild | +| 2025-11-19 | Added scheduler/export-center/graph shared endpoints, shared paging/security components, and CI diff gates (previous commit + baseline). Created baseline `stella-baseline.yaml`. | API Contracts Guild | +| 2025-11-19 | Implemented API changelog generator (`api:changelog`), wired compose/examples/compat/changelog into CI, and added new policy revisions + scheduler queue/job endpoints. | API Contracts Guild | +| 2025-11-19 | Marked OAS-62-001 BLOCKED pending OAS-61-002 ratification and approved examples/error envelope. | Implementer | diff --git a/docs/implplan/blocked_tree.md b/docs/implplan/blocked_tree.md new file mode 100644 index 000000000..a431401cf --- /dev/null +++ b/docs/implplan/blocked_tree.md @@ -0,0 +1,390 @@ +# SPRINT_0110_0001_0001_ingestion_evidence.md +- SBOM-AIAI-31-003 [BLOCKED] (SPRINT_110_ingestion_evidence.md:32) +- DOCS-AIAI-31-005/006/008/009 [BLOCKED] (SPRINT_110_ingestion_evidence.md:33) +- CONCELIER-AIRGAP-56-001..58-001 [BLOCKED] (SPRINT_110_ingestion_evidence.md:36) +- CONCELIER-CONSOLE-23-001..003 [BLOCKED] (SPRINT_110_ingestion_evidence.md:37) +- CONCELIER-ATTEST-73-001/002 [BLOCKED] (SPRINT_110_ingestion_evidence.md:38) +- FEEDCONN-ICSCISA-02-012 / KISA-02-008 [BLOCKED] (SPRINT_0110_0001_0001_ingestion_evidence.md:47) + - PREP-FEEDCONN-ICS-KISA-PLAN [TODO] (SPRINT_110_ingestion_evidence.md:26) + +# SPRINT_0114_0001_0003_concelier_iii.md +- CONCELIER-OAS-61-001 [BLOCKED] (SPRINT_0114_0001_0003_concelier_iii.md:37) + - PREP-CONCELIER-OAS-61-001-LNM-SCHEMA-FROZEN-2 [TODO] (SPRINT_0114_0001_0003_concelier_iii.md:23) +- CONCELIER-OAS-61-002 [BLOCKED] (SPRINT_0114_0001_0003_concelier_iii.md:38) + - PREP-CONCELIER-OAS-61-002-DEPENDS-ON-61-001-B [TODO] (SPRINT_0114_0001_0003_concelier_iii.md:24) +- CONCELIER-OAS-62-001 [BLOCKED] (SPRINT_0114_0001_0003_concelier_iii.md:39) + - PREP-CONCELIER-OAS-62-001-DEPENDS-ON-61-002-B [TODO] (SPRINT_0114_0001_0003_concelier_iii.md:25) +- CONCELIER-OAS-63-001 [BLOCKED] (SPRINT_0114_0001_0003_concelier_iii.md:40) + - PREP-CONCELIER-OAS-63-001-DEPENDS-ON-62-001-B [TODO] (SPRINT_0114_0001_0003_concelier_iii.md:26) +- CONCELIER-OBS-51-001 [BLOCKED] (SPRINT_0114_0001_0003_concelier_iii.md:41) + - PREP-CONCELIER-OBS-51-001-AWAIT-OBSERVABILITY [TODO] (SPRINT_0114_0001_0003_concelier_iii.md:27) +- CONCELIER-OBS-52-001 [BLOCKED] (SPRINT_0114_0001_0003_concelier_iii.md:42) + - PREP-CONCELIER-OBS-52-001-DEPENDS-ON-51-001-M [TODO] (SPRINT_0114_0001_0003_concelier_iii.md:28) +- CONCELIER-OBS-53-001 [BLOCKED] (SPRINT_0114_0001_0003_concelier_iii.md:43) + - PREP-CONCELIER-OBS-53-001-DEPENDS-ON-52-001-B [TODO] (SPRINT_0114_0001_0003_concelier_iii.md:29) +- CONCELIER-OBS-54-001 [BLOCKED] (SPRINT_0114_0001_0003_concelier_iii.md:44) + - PREP-CONCELIER-OBS-54-001-DEPENDS-ON-OBS-TIME [TODO] (SPRINT_0114_0001_0003_concelier_iii.md:30) +- CONCELIER-OBS-55-001 [BLOCKED] (SPRINT_0114_0001_0003_concelier_iii.md:45) + - PREP-CONCELIER-OBS-55-001-DEPENDS-ON-54-001-I [TODO] (SPRINT_0114_0001_0003_concelier_iii.md:31) +- CONCELIER-ORCH-32-001 [BLOCKED] (SPRINT_0114_0001_0003_concelier_iii.md:46) + - PREP-CONCELIER-ORCH-32-001-ORCHESTRATOR-REGIS [TODO] (SPRINT_0114_0001_0003_concelier_iii.md:32) +- CONCELIER-ORCH-32-002 [BLOCKED] (SPRINT_0114_0001_0003_concelier_iii.md:47) + - PREP-CONCELIER-ORCH-32-002-DEPENDS-ON-32-001 [TODO] (SPRINT_0114_0001_0003_concelier_iii.md:33) +- CONCELIER-ORCH-33-001 [BLOCKED] (SPRINT_0114_0001_0003_concelier_iii.md:48) + - PREP-CONCELIER-ORCH-33-001-DEPENDS-ON-32-002 [TODO] (SPRINT_0114_0001_0003_concelier_iii.md:34) +- CONCELIER-ORCH-34-001 [BLOCKED] (SPRINT_0114_0001_0003_concelier_iii.md:49) + - PREP-CONCELIER-ORCH-34-001-DEPENDS-ON-33-001 [TODO] (SPRINT_0114_0001_0003_concelier_iii.md:35) +- CONCELIER-POLICY-20-001 [BLOCKED] (SPRINT_0114_0001_0003_concelier_iii.md:50) + - PREP-CONCELIER-POLICY-20-001-LNM-APIS-NOT-EXP [TODO] (SPRINT_0114_0001_0003_concelier_iii.md:36) + +# SPRINT_0115_0001_0004_concelier_iv.md +- CONCELIER-RISK-66-001 [BLOCKED] (SPRINT_0115_0001_0004_concelier_iv.md:31) + - POLICY-AUTH-SIGNALS-LIB-115 [DOING] (SPRINT_0115_0001_0004_concelier_iv.md:26) +- CONCELIER-RISK-66-002 [BLOCKED] (SPRINT_0115_0001_0004_concelier_iv.md:32) + - POLICY-AUTH-SIGNALS-LIB-115 [DOING] (SPRINT_0115_0001_0004_concelier_iv.md:26) +- CONCELIER-RISK-67-001 [BLOCKED] (SPRINT_0115_0001_0004_concelier_iv.md:33) + - POLICY-AUTH-SIGNALS-LIB-115 [DOING] (SPRINT_0115_0001_0004_concelier_iv.md:26) +- CONCELIER-RISK-68-001 [BLOCKED] (SPRINT_0115_0001_0004_concelier_iv.md:34) + - POLICY-AUTH-SIGNALS-LIB-115 [DOING] (SPRINT_0115_0001_0004_concelier_iv.md:26) + - POLICY-RISK-68-001 [TODO] (SPRINT_0128_0001_0001_policy_reasoning.md:24) +- CONCELIER-RISK-69-001 [BLOCKED] (SPRINT_0115_0001_0004_concelier_iv.md:35) + - POLICY-AUTH-SIGNALS-LIB-115 [DOING] (SPRINT_0115_0001_0004_concelier_iv.md:26) +- CONCELIER-SIG-26-001 [BLOCKED] (SPRINT_0115_0001_0004_concelier_iv.md:36) + - POLICY-AUTH-SIGNALS-LIB-115 [DOING] (SPRINT_0115_0001_0004_concelier_iv.md:26) + - SIGNALS-24-002 [DOING (2025-11-07)] (SPRINT_0143_0000_0001_signals.md:24) + - SIGNALS-24-001 [DONE (2025-11-09)] (SPRINT_0143_0000_0001_signals.md:23) + … +- CONCELIER-STORE-AOC-19-005 [BLOCKED (2025-11-04)] (SPRINT_0115_0001_0004_concelier_iv.md:37) + - PREP-CONCELIER-CORE-AOC-19-004 [TODO] (SPRINT_0115_0001_0004_concelier_iv.md:23) +- CONCELIER-TEN-48-001 [BLOCKED] (SPRINT_0115_0001_0004_concelier_iv.md:38) + - POLICY-AUTH-SIGNALS-LIB-115 [DOING] (SPRINT_0115_0001_0004_concelier_iv.md:26) + - PREP-AUTH-TEN-47-001 [TODO] (SPRINT_0115_0001_0004_concelier_iv.md:24) +- CONCELIER-VEXLENS-30-001 [BLOCKED] (SPRINT_0115_0001_0004_concelier_iv.md:39) + - PREP-CONCELIER-VULN-29-001 [TODO] (SPRINT_0115_0001_0004_concelier_iv.md:25) + - VEXLENS-30-005 [TODO] (SPRINT_0129_0001_0001_policy_reasoning.md:42) + +# SPRINT_0119_0001_0001_excititor_i.md +- EXCITITOR-AIRGAP-56-001 [TODO] (SPRINT_0119_0001_0005_excititor_v.md:30) +- EXCITITOR-AIRGAP-57-001 [BLOCKED] (SPRINT_0119_0001_0001_excititor_i.md:35) + - PREP-EXCITITOR-AIRGAP-57-001-BLOCKED-ON-56-00 [TODO] (SPRINT_0119_0001_0001_excititor_i.md:26) +- EXCITITOR-AIRGAP-58-001 [TODO] (SPRINT_0119_0001_0005_excititor_v.md:31) +- EXCITITOR-CONN-TRUST-01-001 [BLOCKED] (SPRINT_0119_0001_0001_excititor_i.md:40) + - PREP-EXCITITOR-CONN-TRUST-01-001-CONNECTOR-SI [TODO] (SPRINT_0119_0001_0001_excititor_i.md:28) + +# SPRINT_0119_0001_0002_excititor_ii.md +- EXCITITOR-CONSOLE-23-001 [BLOCKED (2025-11-17)] (SPRINT_0119_0001_0002_excititor_ii.md:44) + - PREP-EXCITITOR-CONSOLE-23-001-AWAITING-CONCRE [TODO] (SPRINT_0119_0001_0002_excititor_ii.md:25) +- EXCITITOR-CONSOLE-23-002 [BLOCKED (2025-11-17)] (SPRINT_0119_0001_0002_excititor_ii.md:45) + - PREP-EXCITITOR-CONSOLE-23-002-DEPENDS-ON-23-0 [TODO] (SPRINT_0119_0001_0002_excititor_ii.md:26) +- EXCITITOR-CONSOLE-23-003 [BLOCKED (2025-11-17)] (SPRINT_0119_0001_0002_excititor_ii.md:46) + - PREP-EXCITITOR-CONSOLE-23-003-DEPENDS-ON-23-0 [TODO] (SPRINT_0119_0001_0002_excititor_ii.md:27) +- EXCITITOR-CORE-AOC-19-002 [BLOCKED (2025-11-17)] (SPRINT_0119_0001_0002_excititor_ii.md:47) + - PREP-EXCITITOR-CORE-AOC-19-002-LINKSET-EXTRAC [TODO] (SPRINT_0119_0001_0002_excititor_ii.md:28) +- EXCITITOR-CORE-AOC-19-003 [BLOCKED (2025-11-17)] (SPRINT_0119_0001_0002_excititor_ii.md:48) + - PREP-EXCITITOR-CORE-AOC-19-003-BLOCKED-ON-19 [TODO] (SPRINT_0119_0001_0002_excititor_ii.md:29) +- EXCITITOR-CORE-AOC-19-004 [BLOCKED (2025-11-17)] (SPRINT_0119_0001_0002_excititor_ii.md:49) + - PREP-EXCITITOR-CORE-AOC-19-004-REMOVE-CONSENS [TODO] (SPRINT_0119_0001_0002_excititor_ii.md:30) +- EXCITITOR-CORE-AOC-19-013 [BLOCKED (2025-11-17)] (SPRINT_0119_0001_0002_excititor_ii.md:50) + - PREP-EXCITITOR-CORE-AOC-19-013-SEED-TENANT-AW [TODO] (SPRINT_0119_0001_0002_excititor_ii.md:31) +- EXCITITOR-GRAPH-21-001 [BLOCKED (2025-10-27)] (SPRINT_0119_0001_0002_excititor_ii.md:51) + - PREP-EXCITITOR-GRAPH-21-001-NEEDS-CARTOGRAPHE [TODO] (SPRINT_0119_0001_0002_excititor_ii.md:32) +- EXCITITOR-GRAPH-21-002 [BLOCKED (2025-10-27)] (SPRINT_0119_0001_0002_excititor_ii.md:52) + - PREP-EXCITITOR-GRAPH-21-002-BLOCKED-ON-21-001 [TODO] (SPRINT_0119_0001_0002_excititor_ii.md:33) +- EXCITITOR-GRAPH-21-005 [BLOCKED (2025-10-27)] (SPRINT_0119_0001_0002_excititor_ii.md:53) + - PREP-EXCITITOR-GRAPH-21-005-BLOCKED-ON-21-002 [TODO] (SPRINT_0119_0001_0002_excititor_ii.md:34) +- EXCITITOR-GRAPH-24-101 [BLOCKED (2025-11-17)] (SPRINT_0119_0001_0002_excititor_ii.md:54) + - PREP-EXCITITOR-GRAPH-24-101-WAIT-FOR-21-005-I [TODO] (SPRINT_0119_0001_0002_excititor_ii.md:35) +- EXCITITOR-GRAPH-24-102 [BLOCKED (2025-11-17)] (SPRINT_0119_0001_0002_excititor_ii.md:55) + - PREP-EXCITITOR-GRAPH-24-102-DEPENDS-ON-24-101 [TODO] (SPRINT_0119_0001_0002_excititor_ii.md:36) +- Console APIs [BLOCKED (await contract; LNM view spec needed)] (SPRINT_0119_0001_0002_excititor_ii.md:62) +- Ingestion idempotency [BLOCKED (linkset schema pending)] (SPRINT_0119_0001_0002_excititor_ii.md:63) +- Consensus removal [BLOCKED (depends on 19-002/003)] (SPRINT_0119_0001_0002_excititor_ii.md:64) +- Graph overlays [BLOCKED (awaiting Cartographer contract)] (SPRINT_0119_0001_0002_excititor_ii.md:65) + +# SPRINT_0120_0000_0001_policy_reasoning.md +- LEDGER-29-008 [BLOCKED] (SPRINT_0120_0000_0001_policy_reasoning.md:46) + - PREP-LEDGER-29-008-AWAIT-OBSERVABILITY-SCHEMA [TODO] (SPRINT_0120_0000_0001_policy_reasoning.md:42) +- LEDGER-29-009 [BLOCKED] (SPRINT_0120_0000_0001_policy_reasoning.md:47) + - LEDGER-29-008 [BLOCKED] (SPRINT_0120_0000_0001_policy_reasoning.md:46) + - PREP-LEDGER-29-008-AWAIT-OBSERVABILITY-SCHEMA [TODO] (SPRINT_0120_0000_0001_policy_reasoning.md:42) +- LEDGER-34-101 [BLOCKED] (SPRINT_0120_0000_0001_policy_reasoning.md:48) + - PREP-LEDGER-34-101-ORCHESTRATOR-LEDGER-EXPORT [TODO] (SPRINT_0120_0000_0001_policy_reasoning.md:43) +- LEDGER-AIRGAP-56-001 [BLOCKED] (SPRINT_0120_0000_0001_policy_reasoning.md:49) + - PREP-LEDGER-AIRGAP-56-001-MIRROR-BUNDLE-SCHEM [TODO] (SPRINT_0120_0000_0001_policy_reasoning.md:44) +- LEDGER-AIRGAP-56-002 [BLOCKED] (SPRINT_0120_0000_0001_policy_reasoning.md:50) + - LEDGER-AIRGAP-56-001 [BLOCKED] (SPRINT_0120_0000_0001_policy_reasoning.md:49) + - PREP-LEDGER-AIRGAP-56-001-MIRROR-BUNDLE-SCHEM [TODO] (SPRINT_0120_0000_0001_policy_reasoning.md:44) +- LEDGER-AIRGAP-57-001 [BLOCKED] (SPRINT_0120_0000_0001_policy_reasoning.md:51) + - LEDGER-AIRGAP-56-002 [BLOCKED] (SPRINT_0120_0000_0001_policy_reasoning.md:50) + - LEDGER-AIRGAP-56-001 [BLOCKED] (SPRINT_0120_0000_0001_policy_reasoning.md:49) + … +- LEDGER-AIRGAP-58-001 [BLOCKED] (SPRINT_0120_0000_0001_policy_reasoning.md:52) + - LEDGER-AIRGAP-57-001 [BLOCKED] (SPRINT_0120_0000_0001_policy_reasoning.md:51) + - LEDGER-AIRGAP-56-002 [BLOCKED] (SPRINT_0120_0000_0001_policy_reasoning.md:50) + … +- LEDGER-ATTEST-73-001 [BLOCKED] (SPRINT_0120_0000_0001_policy_reasoning.md:53) + - NOTIFY-ATTEST-74-001 [**DOING (2025-11-12)**] (SPRINT_171_notifier_i.md:10) + +# SPRINT_0123_0001_0001_policy_reasoning.md +- EXPORT-CONSOLE-23-001 [BLOCKED] (SPRINT_0123_0001_0001_policy_reasoning.md:38) + - PREP-EXPORT-CONSOLE-23-001-MISSING-EXPORT-BUN [TODO] (SPRINT_123_policy_reasoning.md:13) +- POLICY-AIRGAP-56-001 [BLOCKED] (SPRINT_0123_0001_0001_policy_reasoning.md:39) + - PREP-POLICY-AIRGAP-56-001-MIRROR-BUNDLE-SCHEM [TODO] (SPRINT_123_policy_reasoning.md:14) +- POLICY-AIRGAP-56-002 [BLOCKED] (SPRINT_0123_0001_0001_policy_reasoning.md:40) + - PREP-POLICY-AIRGAP-56-002-DEPENDS-ON-56-001-B [TODO] (SPRINT_123_policy_reasoning.md:15) +- POLICY-AIRGAP-57-001 [BLOCKED] (SPRINT_0123_0001_0001_policy_reasoning.md:41) + - PREP-POLICY-AIRGAP-57-001-REQUIRES-SEALED-MOD [TODO] (SPRINT_123_policy_reasoning.md:16) +- POLICY-AIRGAP-57-002 [BLOCKED] (SPRINT_0123_0001_0001_policy_reasoning.md:42) + - PREP-POLICY-AIRGAP-57-002-NEEDS-STALENESS-FAL [TODO] (SPRINT_123_policy_reasoning.md:17) +- POLICY-AIRGAP-58-001 [BLOCKED] (SPRINT_0123_0001_0001_policy_reasoning.md:43) + - PREP-POLICY-AIRGAP-58-001-NOTIFICATION-SCHEMA [TODO] (SPRINT_123_policy_reasoning.md:18) +- POLICY-AOC-19-001 [BLOCKED] (SPRINT_0123_0001_0001_policy_reasoning.md:44) + - PREP-POLICY-AOC-19-001-LINTING-TARGETS-SPEC-A [TODO] (SPRINT_0123_0001_0001_policy_reasoning.md:29) +- POLICY-AOC-19-002 [BLOCKED] (SPRINT_0123_0001_0001_policy_reasoning.md:45) + - PREP-POLICY-AOC-19-002-DEPENDS-ON-19-001-LINT [TODO] (SPRINT_123_policy_reasoning.md:20) +- POLICY-AOC-19-003 [BLOCKED] (SPRINT_0123_0001_0001_policy_reasoning.md:46) + - PREP-POLICY-AOC-19-003-REQUIRES-POST-19-002-N [TODO] (SPRINT_0123_0001_0001_policy_reasoning.md:31) +- POLICY-AOC-19-004 [BLOCKED] (SPRINT_0123_0001_0001_policy_reasoning.md:47) + - PREP-POLICY-AOC-19-004-DEPENDS-ON-19-003-SHAP [TODO] (SPRINT_0123_0001_0001_policy_reasoning.md:32) +- POLICY-ATTEST-73-001 [BLOCKED] (SPRINT_0123_0001_0001_policy_reasoning.md:48) + - PREP-POLICY-ATTEST-73-001-VERIFICATIONPOLICY [TODO] (SPRINT_0123_0001_0001_policy_reasoning.md:33) +- POLICY-ATTEST-73-002 [BLOCKED] (SPRINT_0123_0001_0001_policy_reasoning.md:49) + - PREP-POLICY-ATTEST-73-002-DEPENDS-ON-73-001-E [TODO] (SPRINT_123_policy_reasoning.md:24) +- POLICY-ATTEST-74-001 [BLOCKED] (SPRINT_0123_0001_0001_policy_reasoning.md:50) + - PREP-POLICY-ATTEST-74-001-REQUIRES-73-002-ATT [TODO] (SPRINT_0123_0001_0001_policy_reasoning.md:35) +- POLICY-ATTEST-74-002 [BLOCKED] (SPRINT_0123_0001_0001_policy_reasoning.md:51) + - PREP-POLICY-ATTEST-74-002-NEEDS-74-001-SURFAC [TODO] (SPRINT_123_policy_reasoning.md:26) +- POLICY-CONSOLE-23-001 [BLOCKED] (SPRINT_0123_0001_0001_policy_reasoning.md:52) + - PREP-POLICY-CONSOLE-23-001-CONSOLE-API-CONTRA [TODO] (SPRINT_0123_0001_0001_policy_reasoning.md:37) + +# SPRINT_0125_0001_0001_mirror.md +- MIRROR-CRT-56-001 [BLOCKED] (SPRINT_110_ingestion_evidence.md:46) +- MIRROR-CRT-56-002 [BLOCKED] (SPRINT_110_ingestion_evidence.md:47) +- MIRROR-CRT-57-001 [BLOCKED] (SPRINT_0125_0001_0001_mirror.md:26) + - MIRROR-CRT-56-001 [BLOCKED] (SPRINT_110_ingestion_evidence.md:46) +- MIRROR-CRT-57-002 [BLOCKED] (SPRINT_0125_0001_0001_mirror.md:27) + - MIRROR-CRT-56-002 [BLOCKED] (SPRINT_110_ingestion_evidence.md:47) + - AIRGAP-TIME-57-001 [BLOCKED] (SPRINT_0510_0001_0001_airgap.md:41) + - PREP-AIRGAP-TIME-57-001-TIME-COMPONENT-SCAFFO [TODO] (SPRINT_0510_0001_0001_airgap.md:29) +- MIRROR-CRT-58-001 [BLOCKED] (SPRINT_0125_0001_0001_mirror.md:28) + - MIRROR-CRT-56-002 [BLOCKED] (SPRINT_110_ingestion_evidence.md:47) + - CLI-AIRGAP-56-001 [TODO] (SPRINT_201_cli_i.md:14) +- MIRROR-CRT-58-002 [BLOCKED] (SPRINT_0125_0001_0001_mirror.md:29) + - MIRROR-CRT-56-002 [BLOCKED] (SPRINT_110_ingestion_evidence.md:47) + - EXPORT-OBS-54-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:38) + - EXPORT-OBS-53-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:37) + … +- EXPORT-OBS-51-001 / 54-001 [BLOCKED] (SPRINT_0125_0001_0001_mirror.md:30) + - MIRROR-CRT-56-001 [BLOCKED] (SPRINT_110_ingestion_evidence.md:46) +- AIRGAP-TIME-57-001 [BLOCKED] (SPRINT_0510_0001_0001_airgap.md:41) + - PREP-AIRGAP-TIME-57-001-TIME-COMPONENT-SCAFFO [TODO] (SPRINT_0510_0001_0001_airgap.md:29) +- CLI-AIRGAP-56-001 [TODO] (SPRINT_201_cli_i.md:14) +- PROV-OBS-53-001 [DONE (2025-11-17)] (SPRINT_513_provenance.md:10) + +# SPRINT_0125_0001_0001_policy_reasoning.md +- POLICY-ENGINE-29-003 [BLOCKED (2025-11-18)] (SPRINT_0125_0001_0001_policy_reasoning.md:35) + - PREP-POLICY-ENGINE-29-002-PATH-SCOPE-SCHEMA [TODO] (SPRINT_0125_0001_0001_policy_reasoning.md:20) +- POLICY-ENGINE-29-004 [BLOCKED (2025-11-18)] (SPRINT_0125_0001_0001_policy_reasoning.md:36) + - PREP-POLICY-ENGINE-29-004-DEPENDS-ON-29-003 [TODO] (SPRINT_0125_0001_0001_policy_reasoning.md:21) +- POLICY-ENGINE-30-001 [BLOCKED (2025-11-18)] (SPRINT_0125_0001_0001_policy_reasoning.md:37) + - PREP-POLICY-ENGINE-30-001-NEEDS-29-004-OUTPUT [TODO] (SPRINT_0125_0001_0001_policy_reasoning.md:22) +- POLICY-ENGINE-30-002 [BLOCKED (2025-11-18)] (SPRINT_0125_0001_0001_policy_reasoning.md:38) + - PREP-POLICY-ENGINE-30-002-DEPENDS-ON-30-001 [TODO] (SPRINT_0125_0001_0001_policy_reasoning.md:23) +- POLICY-ENGINE-30-003 [BLOCKED (2025-11-18)] (SPRINT_0125_0001_0001_policy_reasoning.md:39) + - PREP-POLICY-ENGINE-30-003-DEPENDS-ON-30-002 [TODO] (SPRINT_0125_0001_0001_policy_reasoning.md:24) +- POLICY-ENGINE-30-101 [BLOCKED (2025-11-18)] (SPRINT_0125_0001_0001_policy_reasoning.md:40) + - PREP-POLICY-ENGINE-30-101-DEPENDS-ON-30-003 [TODO] (SPRINT_0125_0001_0001_policy_reasoning.md:25) +- POLICY-ENGINE-31-001 [BLOCKED (2025-11-18)] (SPRINT_0125_0001_0001_policy_reasoning.md:41) + - PREP-POLICY-ENGINE-31-001-DEPENDS-ON-30-101 [TODO] (SPRINT_0125_0001_0001_policy_reasoning.md:26) +- POLICY-ENGINE-31-002 [BLOCKED (2025-11-18)] (SPRINT_0125_0001_0001_policy_reasoning.md:42) + - PREP-POLICY-ENGINE-31-002-DEPENDS-ON-31-001 [TODO] (SPRINT_0125_0001_0001_policy_reasoning.md:27) +- POLICY-ENGINE-32-101 [BLOCKED (2025-11-18)] (SPRINT_0125_0001_0001_policy_reasoning.md:43) + - PREP-POLICY-ENGINE-32-101-DEPENDS-ON-31-002 [TODO] (SPRINT_0125_0001_0001_policy_reasoning.md:28) +- POLICY-ENGINE-33-101 [BLOCKED (2025-11-18)] (SPRINT_0125_0001_0001_policy_reasoning.md:44) + - PREP-POLICY-ENGINE-33-101-DEPENDS-ON-32-101 [TODO] (SPRINT_0125_0001_0001_policy_reasoning.md:29) +- POLICY-ENGINE-34-101 [BLOCKED (2025-11-18)] (SPRINT_0125_0001_0001_policy_reasoning.md:45) + - PREP-POLICY-ENGINE-34-101-DEPENDS-ON-33-101 [TODO] (SPRINT_0125_0001_0001_policy_reasoning.md:30) +- POLICY-ENGINE-35-201 [BLOCKED (2025-11-18)] (SPRINT_0125_0001_0001_policy_reasoning.md:46) + - PREP-POLICY-ENGINE-35-201-DEPENDS-ON-34-101 [TODO] (SPRINT_0125_0001_0001_policy_reasoning.md:31) +- POLICY-ENGINE-38-201 [BLOCKED (2025-11-18)] (SPRINT_0125_0001_0001_policy_reasoning.md:47) + - PREP-POLICY-ENGINE-38-201-DEPENDS-ON-35-201 [TODO] (SPRINT_0125_0001_0001_policy_reasoning.md:32) +- POLICY-ENGINE-40-001 [BLOCKED (2025-11-18)] (SPRINT_0125_0001_0001_policy_reasoning.md:48) + - PREP-POLICY-ENGINE-40-001-DEPENDS-ON-38-201 [TODO] (SPRINT_0125_0001_0001_policy_reasoning.md:33) +- POLICY-ENGINE-40-002 [BLOCKED (2025-11-18)] (SPRINT_0125_0001_0001_policy_reasoning.md:49) + - PREP-POLICY-ENGINE-40-002-DEPENDS-ON-40-001 [TODO] (SPRINT_0125_0001_0001_policy_reasoning.md:34) + +# SPRINT_0138_0000_0001_scanner_ruby_parity.md +- SCANNER-ENG-0010 [BLOCKED] (SPRINT_0138_0000_0001_scanner_ruby_parity.md:29) + - PREP-SCANNER-ENG-0010-AWAIT-COMPOSER-AUTOLOAD [TODO] (SPRINT_0138_0000_0001_scanner_ruby_parity.md:22) +- SCANNER-ENG-0011 [BLOCKED] (SPRINT_0138_0000_0001_scanner_ruby_parity.md:30) + - PREP-SCANNER-ENG-0011-NEEDS-DENO-RUNTIME-ANAL [TODO] (SPRINT_0138_0000_0001_scanner_ruby_parity.md:23) +- SCANNER-ENG-0012 [BLOCKED] (SPRINT_0138_0000_0001_scanner_ruby_parity.md:31) + - PREP-SCANNER-ENG-0012-DEFINE-DART-ANALYZER-RE [TODO] (SPRINT_0138_0000_0001_scanner_ruby_parity.md:24) +- SCANNER-ENG-0013 [BLOCKED] (SPRINT_0138_0000_0001_scanner_ruby_parity.md:32) + - PREP-SCANNER-ENG-0013-DRAFT-SWIFTPM-COVERAGE [TODO] (SPRINT_0138_0000_0001_scanner_ruby_parity.md:25) +- SCANNER-ENG-0014 [BLOCKED] (SPRINT_0138_0000_0001_scanner_ruby_parity.md:33) + - PREP-SCANNER-ENG-0014-NEEDS-JOINT-ROADMAP-WIT [TODO] (SPRINT_0138_0000_0001_scanner_ruby_parity.md:26) + +# SPRINT_0141_0001_0001_graph_indexer.md +- GRAPH-INDEX-28-007 [BLOCKED] (SPRINT_0141_0001_0001_graph_indexer.md:28) + - PREP-GRAPH-INDEX-28-006-OVERLAYS [TODO] (SPRINT_0141_0001_0001_graph_indexer.md:24) +- GRAPH-INDEX-28-008 [BLOCKED] (SPRINT_0141_0001_0001_graph_indexer.md:29) + - PREP-GRAPH-INDEX-28-008-UNBLOCK-AFTER-28-007 [TODO] (SPRINT_0141_0001_0001_graph_indexer.md:25) +- GRAPH-INDEX-28-009 [BLOCKED] (SPRINT_0141_0001_0001_graph_indexer.md:30) + - PREP-GRAPH-INDEX-28-009-DOWNSTREAM-OF-28-008 [TODO] (SPRINT_0141_0001_0001_graph_indexer.md:26) +- GRAPH-INDEX-28-010 [BLOCKED] (SPRINT_0141_0001_0001_graph_indexer.md:31) + - PREP-GRAPH-INDEX-28-010-NEEDS-OUTPUTS-FROM-28 [TODO] (SPRINT_0141_0001_0001_graph_indexer.md:27) + +# SPRINT_0156_0001_0002_scheduler_ii.md +- SCHED-WORKER-26-202 [BLOCKED] (SPRINT_0156_0001_0002_scheduler_ii.md:24) + - SCHED-WORKER-26-201 [BLOCKED] (SPRINT_0155_0001_0001_scheduler_i.md:35) + - SCHED-WORKER-25-102 [BLOCKED] (SPRINT_0155_0001_0001_scheduler_i.md:34) + … +- SCHED-WORKER-27-301 [BLOCKED] (SPRINT_0156_0001_0002_scheduler_ii.md:25) + - SCHED-WORKER-26-202 [BLOCKED] (SPRINT_0156_0001_0002_scheduler_ii.md:24) + - SCHED-WORKER-26-201 [BLOCKED] (SPRINT_0155_0001_0001_scheduler_i.md:35) + … +- SCHED-WORKER-27-302 [BLOCKED] (SPRINT_0156_0001_0002_scheduler_ii.md:26) + - SCHED-WORKER-27-301 [BLOCKED] (SPRINT_0156_0001_0002_scheduler_ii.md:25) + - SCHED-WORKER-26-202 [BLOCKED] (SPRINT_0156_0001_0002_scheduler_ii.md:24) + … +- SCHED-WORKER-27-303 [BLOCKED] (SPRINT_0156_0001_0002_scheduler_ii.md:27) + - SCHED-WORKER-27-302 [BLOCKED] (SPRINT_0156_0001_0002_scheduler_ii.md:26) + - SCHED-WORKER-27-301 [BLOCKED] (SPRINT_0156_0001_0002_scheduler_ii.md:25) + … +- SCHED-WORKER-29-001 [BLOCKED] (SPRINT_0156_0001_0002_scheduler_ii.md:28) + - SCHED-WORKER-27-303 [BLOCKED] (SPRINT_0156_0001_0002_scheduler_ii.md:27) + - SCHED-WORKER-27-302 [BLOCKED] (SPRINT_0156_0001_0002_scheduler_ii.md:26) + … +- SCHED-WORKER-29-002 [BLOCKED] (SPRINT_0156_0001_0002_scheduler_ii.md:29) + - SCHED-WORKER-29-001 [BLOCKED] (SPRINT_0156_0001_0002_scheduler_ii.md:28) + - SCHED-WORKER-27-303 [BLOCKED] (SPRINT_0156_0001_0002_scheduler_ii.md:27) + … +- SCHED-WORKER-29-003 [BLOCKED] (SPRINT_0156_0001_0002_scheduler_ii.md:30) + - SCHED-WORKER-29-002 [BLOCKED] (SPRINT_0156_0001_0002_scheduler_ii.md:29) + - SCHED-WORKER-29-001 [BLOCKED] (SPRINT_0156_0001_0002_scheduler_ii.md:28) + … +- SCHED-WORKER-CONSOLE-23-201 [BLOCKED] (SPRINT_0156_0001_0002_scheduler_ii.md:31) + - PREP-SCHED-WORKER-CONSOLE-23-201-BLOCKED-BY-U [TODO] (SPRINT_0156_0001_0002_scheduler_ii.md:22) +- SCHED-WORKER-CONSOLE-23-202 [BLOCKED] (SPRINT_0156_0001_0002_scheduler_ii.md:32) + - SCHED-WORKER-CONSOLE-23-201 [BLOCKED] (SPRINT_0156_0001_0002_scheduler_ii.md:31) + - PREP-SCHED-WORKER-CONSOLE-23-201-BLOCKED-BY-U [TODO] (SPRINT_0156_0001_0002_scheduler_ii.md:22) + +# SPRINT_0160_0001_0001_export_evidence.md +- 160.C TimelineIndexer snapshot [BLOCKED] (SPRINT_0160_0001_0001_export_evidence.md:32) + - TIMELINE-OBS-52-001 [TODO] (SPRINT_165_timelineindexer.md:10) + +# SPRINT_0161_0001_0001_evidencelocker.md +- EVID-REPLAY-187-001 [TODO] (SPRINT_187_evidence_locker_cli_integration.md:9) +- CLI-REPLAY-187-002 [TODO] (SPRINT_187_evidence_locker_cli_integration.md:10) +- RUNBOOK-REPLAY-187-004 [TODO] (SPRINT_187_evidence_locker_cli_integration.md:12) + +# SPRINT_0163_0001_0001_exportcenter_ii.md +- EXPORT-OAS-63-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:33) + - EXPORT-OAS-61-001 [BLOCKED] (SPRINT_0162_0001_0001_exportcenter_i.md:47) + - PREP-EXPORT-OAS-61-001-NEEDS-STABLE-EXPORT-SU [TODO] (SPRINT_0162_0001_0001_exportcenter_i.md:33) + - EXPORT-OAS-62-001 [BLOCKED] (SPRINT_0162_0001_0001_exportcenter_i.md:49) + - PREP-EXPORT-OAS-62-001-DEPENDS-ON-61-002 [TODO] (SPRINT_0162_0001_0001_exportcenter_i.md:35) +- EXPORT-OBS-50-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:34) + - PREP-EXPORT-OBS-50-001-WAIT-FOR-EXPORTER-SERV [TODO] (SPRINT_0163_0001_0001_exportcenter_ii.md:23) +- EXPORT-OBS-51-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:35) + - EXPORT-OBS-50-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:34) + - PREP-EXPORT-OBS-50-001-WAIT-FOR-EXPORTER-SERV [TODO] (SPRINT_0163_0001_0001_exportcenter_ii.md:23) +- EXPORT-OBS-52-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:36) + - EXPORT-OBS-51-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:35) + - EXPORT-OBS-50-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:34) + … + - PREP-EXPORT-NOTIFY-SCHEMA-OBS-52 [TODO] (SPRINT_0163_0001_0001_exportcenter_ii.md:30) +- EXPORT-OBS-53-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:37) + - EXPORT-OBS-52-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:36) + - EXPORT-OBS-51-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:35) + … + - PREP-EXPORT-NOTIFY-SCHEMA-OBS-52 [TODO] (SPRINT_0163_0001_0001_exportcenter_ii.md:30) +- EXPORT-OBS-54-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:38) + - EXPORT-OBS-53-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:37) + - EXPORT-OBS-52-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:36) + … +- EXPORT-OBS-54-002 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:39) + - EXPORT-OBS-54-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:38) + - EXPORT-OBS-53-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:37) + … + - PROV-OBS-53-003 [BLOCKED] (SPRINT_513_provenance.md:12) +- EXPORT-OBS-55-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:40) + - EXPORT-OBS-54-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:38) + - EXPORT-OBS-53-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:37) + … +- EXPORT-RISK-69-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:41) + - PREP-EXPORT-RISK-69-001-AWAIT-PHASE-I-ARTIFAC [TODO] (SPRINT_0163_0001_0001_exportcenter_ii.md:24) +- EXPORT-RISK-69-002 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:42) + - EXPORT-RISK-69-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:41) + - PREP-EXPORT-RISK-69-001-AWAIT-PHASE-I-ARTIFAC [TODO] (SPRINT_0163_0001_0001_exportcenter_ii.md:24) +- EXPORT-RISK-70-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:43) + - EXPORT-RISK-69-002 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:42) + - EXPORT-RISK-69-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:41) + … +- EXPORT-SVC-35-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:44) + - PREP-EXPORT-SVC-35-001-NEEDS-PHASE-I-READINES [TODO] (SPRINT_0163_0001_0001_exportcenter_ii.md:25) +- EXPORT-SVC-35-002 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:45) + - PREP-EXPORT-SVC-35-002-DEPENDS-ON-35-001 [TODO] (SPRINT_0163_0001_0001_exportcenter_ii.md:26) +- EXPORT-SVC-35-003 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:46) + - PREP-EXPORT-SVC-35-003-DEPENDS-ON-35-002 [TODO] (SPRINT_0163_0001_0001_exportcenter_ii.md:27) +- EXPORT-SVC-35-004 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:47) + - PREP-EXPORT-SVC-35-004-DEPENDS-ON-35-003 [TODO] (SPRINT_0163_0001_0001_exportcenter_ii.md:28) +- EXPORT-SVC-35-005 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:48) + - PREP-EXPORT-SVC-35-005-DEPENDS-ON-35-004 [TODO] (SPRINT_0163_0001_0001_exportcenter_ii.md:29) +- EXPORT-CRYPTO-90-001 [BLOCKED] (SPRINT_0163_0001_0001_exportcenter_ii.md:49) + - PREP-EXPORT-CRYPTO-90-001-PENDING-NOV-18-CRYP [TODO] (SPRINT_0163_0001_0001_exportcenter_ii.md:31) + +# SPRINT_0171_0001_0001_notifier_i.md +- NOTIFY-OBS-51-001 [TODO] (SPRINT_171_notifier_i.md:16) + +# SPRINT_0174_0001_0001_telemetry.md +- TELEMETRY-OBS-50-002 [TODO] (SPRINT_174_telemetry.md:11) + - TELEMETRY-OBS-50-001 [**DOING (2025-11-12)**] (SPRINT_174_telemetry.md:10) +- TELEMETRY-OBS-51-001 [TODO] (SPRINT_174_telemetry.md:12) + - TELEMETRY-OBS-50-002 [TODO] (SPRINT_174_telemetry.md:11) + - TELEMETRY-OBS-50-001 [**DOING (2025-11-12)**] (SPRINT_174_telemetry.md:10) +- TELEMETRY-OBS-51-002 [TODO] (SPRINT_174_telemetry.md:13) + - TELEMETRY-OBS-51-001 [TODO] (SPRINT_174_telemetry.md:12) + - TELEMETRY-OBS-50-002 [TODO] (SPRINT_174_telemetry.md:11) + … +- TELEMETRY-OBS-55-001 [TODO] (SPRINT_174_telemetry.md:14) + - TELEMETRY-OBS-51-002 [TODO] (SPRINT_174_telemetry.md:13) + - TELEMETRY-OBS-51-001 [TODO] (SPRINT_174_telemetry.md:12) + … +- TELEMETRY-OBS-56-001 [TODO] (SPRINT_174_telemetry.md:15) + - TELEMETRY-OBS-55-001 [TODO] (SPRINT_174_telemetry.md:14) + - TELEMETRY-OBS-51-002 [TODO] (SPRINT_174_telemetry.md:13) + … + +# SPRINT_0215_0001_0001_web_iv.md +- WEB-POLICY-23-001 [BLOCKED (2025-10-29)] (SPRINT_0215_0001_0001_web_iv.md:30) + - WEB-POLICY-20-004 [TODO] (SPRINT_0215_0001_0001_web_iv.md:29) + - WEB-POLICY-20-003 [TODO] (SPRINT_0215_0001_0001_web_iv.md:28) + … +- WEB-POLICY-23-002 [BLOCKED (2025-10-29)] (SPRINT_0215_0001_0001_web_iv.md:31) + - WEB-POLICY-23-001 [BLOCKED (2025-10-29)] (SPRINT_0215_0001_0001_web_iv.md:30) + - WEB-POLICY-20-004 [TODO] (SPRINT_0215_0001_0001_web_iv.md:29) + … + +# SPRINT_0509_0001_0001_samples.md +- SAMPLES-LNM-22-001 [BLOCKED] (SPRINT_0509_0001_0001_samples.md:26) + - PREP-SAMPLES-LNM-22-001-WAITING-ON-FINALIZED [TODO] (SPRINT_0509_0001_0001_samples.md:22) +- SAMPLES-LNM-22-002 [BLOCKED] (SPRINT_0509_0001_0001_samples.md:27) + - PREP-SAMPLES-LNM-22-002-DEPENDS-ON-22-001-OUT [TODO] (SPRINT_0509_0001_0001_samples.md:23) + +# SPRINT_0512_0001_0001_bench.md +- BENCH-GRAPH-21-001 [BLOCKED] (SPRINT_0512_0001_0001_bench.md:28) + - PREP-BENCH-GRAPH-21-001-NEED-GRAPH-BENCH-HARN [TODO] (SPRINT_0512_0001_0001_bench.md:22) +- BENCH-GRAPH-21-002 [BLOCKED] (SPRINT_0512_0001_0001_bench.md:29) + - PREP-BENCH-GRAPH-21-002-BLOCKED-ON-21-001-HAR [TODO] (SPRINT_0512_0001_0001_bench.md:23) +- BENCH-GRAPH-24-002 [BLOCKED] (SPRINT_0512_0001_0001_bench.md:30) + - SAMPLES-GRAPH-24-003 [DOING] (SPRINT_0509_0001_0001_samples.md:24) +- BENCH-IMPACT-16-001 [BLOCKED] (SPRINT_0512_0001_0001_bench.md:31) + - PREP-BENCH-IMPACT-16-001-IMPACT-INDEX-DATASET [TODO] (SPRINT_0512_0001_0001_bench.md:24) +- BENCH-POLICY-20-002 [BLOCKED] (SPRINT_0512_0001_0001_bench.md:32) + - PREP-BENCH-POLICY-20-002-POLICY-DELTA-SAMPLE [TODO] (SPRINT_0512_0001_0001_bench.md:25) +- BENCH-SIG-26-001 [BLOCKED] (SPRINT_0512_0001_0001_bench.md:33) + - PREP-BENCH-SIG-26-001-REACHABILITY-SCHEMA-FIX [TODO] (SPRINT_0512_0001_0001_bench.md:26) +- BENCH-SIG-26-002 [BLOCKED] (SPRINT_0512_0001_0001_bench.md:34) + - PREP-BENCH-SIG-26-002-BLOCKED-ON-26-001-OUTPU [TODO] (SPRINT_0512_0001_0001_bench.md:27) diff --git a/docs/implplan/build-harness-110.md b/docs/implplan/build-harness-110.md new file mode 100644 index 000000000..9a0d8fd03 --- /dev/null +++ b/docs/implplan/build-harness-110.md @@ -0,0 +1,19 @@ +# Build Harness · Sprint 110 + +## Goal +Provide a repeatable runner profile for Concelier `/linksets` tests that avoids harness `workdir:` injection and preserves test DLLs for CI. + +## Script +- `tools/linksets-ci.sh` (uses existing `tools/dotnet-filter.sh`) +- Environment: `VSTEST_DISABLE_APPDOMAIN=1`, `DOTNET_CLI_UI_LANGUAGE=en` +- Results: `out/test-results/linksets/linksets.trx` + +## Invocation +``` +./tools/linksets-ci.sh +``` + +## Notes +- Runs `--filter Linksets` on `StellaOps.Concelier.WebService.Tests.csproj` with `--no-build`; ensure a preceding `dotnet build` in CI to emit the test DLLs. +- No `workdir:` arg is passed; `dotnet-filter.sh` strips any accidental injection. +- Determinism: results directory fixed; AppDomain disabled to avoid flaky sourcing; logs in TRX for gating. diff --git a/docs/modules/authority/fixtures/auth-ten-47-001.json b/docs/modules/authority/fixtures/auth-ten-47-001.json new file mode 100644 index 000000000..45023aefa --- /dev/null +++ b/docs/modules/authority/fixtures/auth-ten-47-001.json @@ -0,0 +1,15 @@ +{ + "tenantId": "urn:tenant:00000000-0000-0000-0000-000000000000", + "issuer": "https://auth.stellaops.local", + "scopes": ["concelier.read", "concelier.linkset.write"], + "capabilities": { + "mergeAllowed": false, + "offlineAllowed": true + }, + "attribution": { + "actor": "service:concelier-web", + "traceId": "00000000000000000000000000000000" + }, + "issuedAt": "2025-11-19T00:00:00Z", + "expiresAt": "2025-11-20T00:00:00Z" +} diff --git a/docs/modules/authority/tenant-scope-47-001.md b/docs/modules/authority/tenant-scope-47-001.md new file mode 100644 index 000000000..91b4ca365 --- /dev/null +++ b/docs/modules/authority/tenant-scope-47-001.md @@ -0,0 +1,36 @@ +# AUTH-TEN-47-001 · Tenant Scope Contract (v1) + +Purpose: define tenant scoping fields and enforcement expectations so Concelier tasks (CONCELIER-TEN-48-001) can proceed without merging behavior. + +## Data contract +- `tenantId` (string, required): immutable per request; canonical form `urn:tenant:{uuid}`. +- `issuer` (string, required): authority instance issuing the token; aids audit. +- `scopes` (array, required): must include `concelier.read` or `concelier.linkset.read` for evidence fetch; `concelier.linkset.write` for backfill/ingest; `concelier.tenant.admin` for tenancy capabilities endpoint. +- `capabilities` (object, optional): + - `mergeAllowed` (bool, default false): must remain false for Link-Not-Merge paths. + - `offlineAllowed` (bool, default true): governs offline bundle use. +- `attribution` (object, optional): + - `actor` (string): subject or client-id. + - `traceId` (string): optional trace correlation. +- `issuedAt` (string, ISO-8601 UTC), `expiresAt` (string, ISO-8601 UTC): required for enforcement. + +## Enforcement rules (Authority) +- Tokens missing `tenantId` or `concelier.*` scopes are rejected with 403 and error code `auth/tenant-scope-missing`. +- `mergeAllowed` must be evaluated server-side; clients cannot set true when Link-Not-Merge mode is active. +- Refresh/rotation must preserve `tenantId`; changing tenant requires re-auth. + +## Fixtures +- JSON fixture: `docs/modules/authority/fixtures/auth-ten-47-001.json` (included) shows a minimal token payload. +- Determinism: field order canonicalized lexicographically for hashing; timestamps normalized to `Z`. + +## Actions for consumers (Concelier) +- Validate `tenantId` present and stable across request and event emission. +- Expose `/capabilities/tenant` endpoint echoing `tenantId`, scopes, and `mergeAllowed=false` when LNM is enabled. +- Log `tenantId`, `actor`, and `traceId` on every linkset backfill or advisory read for audit. + +## Owners +- Authority Guild (contract) +- Concelier Core Guild (consumer) + +## Change control +- Add-only evolution. New capabilities must default to the most restrictive value. diff --git a/docs/modules/cli/artefacts/guardrails-artefacts-2025-11-19.md b/docs/modules/cli/artefacts/guardrails-artefacts-2025-11-19.md new file mode 100644 index 000000000..f993debd2 --- /dev/null +++ b/docs/modules/cli/artefacts/guardrails-artefacts-2025-11-19.md @@ -0,0 +1,29 @@ +# CLI Guardrail Artefacts (2025-11-19) + +## CLI-VULN-29-001 artefacts +- Output bundle: `out/console/guardrails/cli-vuln-29-001/` +- Files: + - `sample-vuln-output.ndjson` — sample `stella vuln scan` output (offline profile, two CVEs, includes provenance and summary). + - `sample-sbom-context.json` — SBOM context export referenced by DOCS-AIAI-31-005/006/008/009. + - `hashes.sha256` — SHA256 for all files in folder. +- Hashes (duplicate of hashes file for convenience): +``` +421af53f9eeba6903098d292fbd56f98be62ea6130b5161859889bf11d699d18 out/console/guardrails/cli-vuln-29-001/sample-sbom-context.json +e5aecfba5cee8d412408fb449f12fa4d5bf0a7cb7e5b316b99da3b9019897186 out/console/guardrails/cli-vuln-29-001/sample-vuln-output.ndjson +``` + +## CLI-VEX-30-001 artefacts +- Output bundle: `out/console/guardrails/cli-vex-30-001/` +- Files: + - `sample-vex-output.ndjson` — sample `stella vex export` output with single not_affected statement. + - `sample-pagination-note.txt` — paging/limit note (default 500, max 2000; cursor via --page-token). + - `hashes.sha256` — SHA256 for all files in folder. +- Hashes: +``` +f450d914dfe5c8d80f773c1fd0113bbba921aca339316c6308f1c098199aef6b out/console/guardrails/cli-vex-30-001/sample-pagination-note.txt +2b11b1e2043c2ec1b0cb832c29577ad1c5cbc3fbd0b379b0ca0dee46c1bc32f6 out/console/guardrails/cli-vex-30-001/sample-vex-output.ndjson +``` + +## Notes +- Samples are deterministic; generated timestamp `2025-11-19T00:00:00Z`. +- Replace with live artefacts once CLI commands are executed against frozen datasets; keep paths/hashes updated here and in sprint logs. diff --git a/docs/modules/concelier/bridges/vuln-29-001.md b/docs/modules/concelier/bridges/vuln-29-001.md new file mode 100644 index 000000000..7a41ef37d --- /dev/null +++ b/docs/modules/concelier/bridges/vuln-29-001.md @@ -0,0 +1,81 @@ +# CONCELIER-VULN-29-001 · Concelier ↔ Vuln Explorer bridge (contract v0.1) + +Purpose: unblock PREP-CONCELIER-VULN-29-001 by defining the request/response contract Concelier must expose for Vuln Explorer and VEX Lens to consume advisory evidence without merge semantics. + +## API shape (Concelier WebService) +- Endpoint: `POST /v1/advisories/search` +- Auth: tenant-scoped token (`concelier.read` scope) with `mergeAllowed=false`. +- Request body: + ```json + { + "query": { + "advisory_keys": ["GHSA-xxxx-xxxx"], + "purls": ["pkg:maven/org.example/app@1.2.3"], + "component_hashes": ["sha256:..."], + "has_vex": true + }, + "page": { + "size": 50, + "cursor": null + } + } + ``` +- Response body: + ```json + { + "results": [ + { + "advisory_key": "GHSA-xxxx-xxxx", + "source": "ghsa", + "observations": [{ + "id": "obs-123", + "purl": "pkg:maven/org.example/app@1.2.3", + "version_range": "[1.2.0,2.0.0)", + "status": "affected", + "published": "2025-11-01T00:00:00Z", + "fixed": null, + "provenance": { + "source": "ghsa", + "retrieved_at": "2025-11-18T12:00:00Z", + "hash": "sha256:..." + } + }], + "vex": [{ + "statement_id": "st-001", + "status": "not_affected", + "justification": "component_not_present", + "impact_statement": "Library not shipped", + "provenance": { + "source": "vendor-vex", + "retrieved_at": "2025-11-18T12:00:00Z", + "hash": "sha256:..." + } + }] + } + ], + "page": {"cursor": "next-token", "size": 50} + } + ``` + +## Determinism requirements +- Sort observations by `purl`, then `published`, then `id`. +- Sort VEX statements by `statement_id`. +- Timestamps UTC ISO-8601 with `Z`. +- Omit merge-derived fields; only surface source-provided values. + +## Fields Vuln Explorer expects +- `advisory_key`, `source`, `observations[*].purl`, `observations[*].status`, `observations[*].provenance.hash`. +- VEX fields: `status`, `justification`, `impact_statement`, `provenance.hash`. +- Optional: `fix_version` when present; keep absent otherwise (no empty strings). + +## Test fixtures +- Location: `docs/samples/console/console-vex-30-001.json` already includes VEX sample keyed by advisory; add Concelier response sample to `docs/samples/console/concelier-vuln-29-001.json` (to be generated alongside implementation). + +## Owners +- Concelier WebService Guild (producer) +- Vuln Explorer Guild / VEX Lens Guild (consumers) + +## Next actions to unblock work +- Implement endpoint stub with deterministic ordering and fixture from above sample. +- Hook to Link-Not-Merge storage (fact-only) once available. +- Add contract reference to OAS (Sprint 0114 CONCELIER-OAS-61-001 depends on this). diff --git a/docs/modules/concelier/feeds/icscisa-kisa-provenance.md b/docs/modules/concelier/feeds/icscisa-kisa-provenance.md new file mode 100644 index 000000000..e39922a5c --- /dev/null +++ b/docs/modules/concelier/feeds/icscisa-kisa-provenance.md @@ -0,0 +1,7 @@ +# ICSCISA / KISA Feed Provenance Notes (2025-11-19) + +- Expected signing: not provided by sources; set `signature=null` and `skip_reason="unsigned"`. +- Hashing: sha256 of raw advisory payload before normalization. +- Transport: HTTPS; mirror to internal cache; record `fetched_at` UTC and `source_url`. +- Verification: compare hash vs previous run; emit delta report. +- Staleness guard: alert if `fetched_at` >14 days. diff --git a/docs/modules/concelier/feeds/icscisa-kisa.md b/docs/modules/concelier/feeds/icscisa-kisa.md new file mode 100644 index 000000000..b3a0d4563 --- /dev/null +++ b/docs/modules/concelier/feeds/icscisa-kisa.md @@ -0,0 +1,46 @@ +# ICSCISA / KISA Feed Remediation Plan (v0.1 · 2025-11-19) + +## Purpose +Define a minimal, actionable plan to refresh overdue ICSCISA and KISA connectors, restore provenance freshness, and publish normalized payload fields for downstream Advisory AI and Concelier consumers. + +## Owners +- Feed owners: Concelier Feed Guild +- Product advisory liaison: Product Advisory Guild +- Backup: Docs Guild + +## Scope & cadence +- Feeds: ICSCISA, KISA (security advisories) +- Refresh cadence: weekly pull; publish hashlist and timestamps per run +- Staleness budget: <14 days; alert if exceeded + +## Deliverables (for PREP-FEEDCONN-ICS-KISA-PLAN) +1) **Provenance refresh SOP** + - Mirror source URLs to internal cache + - Record `source_url`, `fetched_at` (UTC), `sha256`, `signature` (if present) + - Store run log under `out/feeds/icscisa-kisa//fetch.log` +2) **Normalized payload fields** + - `advisory_id`, `title`, `summary`, `published`, `updated`, `severity` (pass-through), `cvss` (if provided), `cwe`, `affected_products` (list), `references` (list of URL strings), `signature` (object or null) + - Preserve source values; no inference or merging +3) **Backlog cleanup** + - Reprocess last 60 days; compare hash to prior ingests; flag changed advisories + - Emit delta report (`out/feeds/icscisa-kisa//delta.json`): added/updated/removed ids, counts +4) **Provenance note** + - Publish `docs/modules/concelier/feeds/icscisa-kisa-provenance.md` with current signing keys/fingerprints, expected headers, and fallback when signatures missing +5) **Next review date** + - Set to 2025-12-03 (two-week check) and capture SIG verification status + +## Actions & timeline +- T0 (2025-11-19): adopt SOP + field map; create delta report template +- T0+2d (2025-11-21): run backlog reprocess, publish artefacts + hashes +- T0+14d (2025-12-03): review staleness, adjust cadence if needed + +## Artefact locations +- Normalized advisories: `out/feeds/icscisa-kisa//advisories.ndjson` +- Fetch log + hashes: `out/feeds/icscisa-kisa//fetch.log`, `hashes.sha256` +- Delta report: `out/feeds/icscisa-kisa//delta.json` +- Provenance note: `docs/modules/concelier/feeds/icscisa-kisa-provenance.md` + +## Risks & mitigations +- Source downtime → mirror last good snapshot; retry daily for 3 days. +- Missing signatures → record `signature=null`, log `skip_reason` in provenance note; do not infer validity. +- Schema drift → treat as new fields, store raw, add to field map after review (no drop). diff --git a/docs/modules/concelier/operations/cache.md b/docs/modules/concelier/operations/cache.md new file mode 100644 index 000000000..8b8f957cb --- /dev/null +++ b/docs/modules/concelier/operations/cache.md @@ -0,0 +1,40 @@ +# Concelier Advisory Chunk Cache + +Status: draft · aligned with LNM v1 (frozen 2025-11-17) + +## Purpose +- Reduce repeated `/advisories/{key}/chunks` rebuilds while preserving determinism and provenance integrity. +- Provide consoles and debugging tools with transparent cache provenance (key material and TTL) to keep evidence chains auditable. + +## Cache key (deterministic) +- Inputs (pipe-delimited, all lower-case where applicable): + - `tenant` + - `advisoryKey` + - `chunkLimit` + - `observationLimit` + - `minimumLength` + - `sectionFilter` (sorted, case-insensitive) + - `formatFilter` (sorted, case-insensitive) + - advisory fingerprint (hash of canonical advisory) + - ordered observations: each `observationId@contentHash@createdAtTicks@format` +- Implementation: `AdvisoryChunkCacheKey.Create` (WebService). Normalized ordering ensures replayability across nodes. +- External disclosure: headers expose a hashed cache key (see below) rather than the full raw key. + +## Response transparency headers +- `X-Stella-Cache-Key`: SHA-256 hex of the cache key (default 16 chars) for tamper-evident correlation. +- `X-Stella-Cache-Hit`: `1` on hit, `0` on miss. +- `X-Stella-Cache-Ttl`: configured TTL in seconds (0 when caching disabled). +- Consumers may log these headers; do **not** treat them as stable API contract for filtering. + +## Determinism & safety +- No PII in keys or headers; key inputs are tenant/advisory identifiers already present in requests. +- Timestamps use UTC ticks; content hashes retain upstream digest prefix (e.g., `sha256:`) to distinguish sources. +- Cache TTL defaults to 0 (disabled) unless configured; safe for offline/air-gapped deployments. + +## Testing notes +- Unit coverage: `AdvisoryChunkCacheKeyTests` (ordering, filter casing) and `AdvisoryChunkBuilderTests` (observationPath pointers influence chunk IDs). +- Integration tests should assert headers when cache is enabled; disable cache for tests that assert body-only determinism. + +## TODOs / follow-ups +- Add integration test that exercises a cache hit path and validates transparency headers. +- Document cache configuration knobs in `appsettings.*` once finalized. diff --git a/docs/modules/evidence-locker/attestation-scope-note.md b/docs/modules/evidence-locker/attestation-scope-note.md new file mode 100644 index 000000000..e03bb119f --- /dev/null +++ b/docs/modules/evidence-locker/attestation-scope-note.md @@ -0,0 +1,37 @@ +# Evidence Locker Attestation Scope Note (v1) — 2025-11-19 + +## Scope & Coverage +- Predicates: `in-toto Provenance` (DSSE-wrapped) with claims for bundle inputs, normalization pipeline version, tenant scope, and content hashes; optional `Rekor` transparency pointer when online. +- Artefacts covered: Evidence Bundle v1 payloads (observations, linksets, normalization diffs) and mirror bundle manifest hash when present. +- Tenancy: tenant-id is lowercased, required, and included in subject, claims, and DSSE `_type` to keep air-gap parity. +- Transparency: if Rekor unavailable (air-gap), include `transparency.skip_reason` = `offline` and signed local timeline anchor. + +## Required claims (PromotionAttestationBuilder input) +- `subject.digest` (sha256 of bundle tar) and `subject.name` (bundle_id). +- `bundle.created` (UTC RFC3339) and `bundle.version` (semantic). +- `pipeline.version` (build ID or git SHA) and `pipeline.inputs` (hashes of observation/linkset payloads). +- `tenant` (lowercase) and `scope` (advisory | vex | policy | mixed). +- `evidence_bundle` (path/doi) and `transparency` (rekor UUID or skip reason). +- `aoc.guardrails` (boolean) and `aoc.details` (list of enforced checks). + +## Example builder payload +```json +{ + "subject": {"name": "evidence-bundle-m0", "digest": "sha256:REPLACE"}, + "bundle": {"id": "evidence-bundle-m0", "version": "1.0.0", "created": "2025-11-19T00:00:00Z"}, + "pipeline": {"version": "git:abcd1234", "inputs": ["sha256:payload-hash-1", "sha256:payload-hash-2"]}, + "tenant": "demo", + "scope": "vex", + "evidence_bundle": "out/evidence/bundles/evidence-bundle-m0.tar.gz", + "transparency": {"rekor_uuid": null, "skip_reason": "offline"}, + "aoc": {"guardrails": true, "details": ["schema:frozen:1.0", "limits:chunk:max=2000"]} +} +``` + +## Placement +- File: `docs/modules/evidence-locker/attestation-scope-note.md` (this document). +- Reference in Evidence Bundle changelog and sprint `Execution Log` when updated. + +## Next steps +- Swap placeholder digest values with real bundle hash after MIRROR-CRT-56-001 emits artefact. +- Attach this note to Concelier/Excititor attestation tasks (CONCELIER-ATTEST-73-001/002, EXCITITOR-ATTEST-73-001/002). diff --git a/docs/modules/evidence-locker/evidence-bundle-v1.md b/docs/modules/evidence-locker/evidence-bundle-v1.md new file mode 100644 index 000000000..1e396f981 --- /dev/null +++ b/docs/modules/evidence-locker/evidence-bundle-v1.md @@ -0,0 +1,57 @@ +# Evidence Bundle v1 Contract (2025-11-19) + +## Scope +Frozen contract for Evidence Bundle v1 covering AdvisoryAI/Concelier/Excititor evidence exports used by air-gap and attestation flows. + +## Artefact layout +- Tarball name: `evidence-bundle-.tar.gz` +- Manifest (required): `manifest.json` +- Payloads (required): `observations.ndjson`, `linksets.ndjson` +- Optional: `timeline.ndjson` (time anchors), `transparency.json` (Rekor UUID or skip_reason) +- Hash list: `hashes.sha256` (sha256 of each file) + +### manifest.json fields +```json +{ + "bundle_id": "evidence-bundle-m0", + "version": "1.0.0", + "created": "2025-11-19T00:00:00Z", + "tenant": "demo", + "scope": "vex", + "inputs": ["sha256:payload-obs", "sha256:payload-linksets"], + "aoc": {"guardrails": true, "details": ["schema:frozen:1.0", "limits:chunk:max=2000"]} +} +``` + +### observations.ndjson (sample record) +```json +{"observationId":"obs-ossl-001","advisoryId":"CVE-2024-1234","component":"pkg:deb/openssl@1.1.1w","source":"nvd","fetchedAt":"2025-11-18T12:00:00Z"} +``` + +### linksets.ndjson (sample record) +```json +{"linksetId":"lnm-ossl-001","advisoryId":"CVE-2024-1234","components":["pkg:deb/openssl@1.1.1w"],"normalized":true,"createdAt":"2025-11-18T12:05:00Z"} +``` + +### transparency.json (optional) +```json +{"rekor_uuid": null, "skip_reason": "offline"} +``` + +## Determinism rules +- All timestamps must be UTC RFC3339. +- Ordering: sort NDJSON by `advisoryId`, then `component`, ascending. +- Hashes: compute sha256 on raw file bytes; record in `hashes.sha256` and in manifest `inputs`. +- Tenant must be lowercase; include in manifest and any attestation subject claims. + +## Example bundle (sample) +- Path: `docs/samples/evidence-bundle/evidence-bundle-m0.tar.gz` +- SHA256: `$(cat docs/samples/evidence-bundle/evidence-bundle-m0.tar.gz.sha256 | awk '{print $1}')` +- Contains sample manifest/observations/linksets/transparency per above. + +## Attestation linkage +- See `attestation-scope-note.md` for required claims. +- Subject digest should reference the tarball sha256; include `bundle_id` and `tenant`. + +## Change log +- 2025-11-19: v1 frozen (initial publication). Add real sample tarball + hashes once produced. diff --git a/docs/modules/excititor/evidence-contract.md b/docs/modules/excititor/evidence-contract.md index 02fa484ab..bfb35c5d0 100644 --- a/docs/modules/excititor/evidence-contract.md +++ b/docs/modules/excititor/evidence-contract.md @@ -85,5 +85,8 @@ This note defines the deterministic, aggregation-only contract that Excititor ex - When mirror bundles are configured, `provenance.canonicalUri` points to the local bundle path; otherwise it is omitted. - All payloads are side-effect free; no remote fetches occur while streaming. +## Samples +- NDJSON sample: `docs/samples/excititor/chunks-sample.ndjson` (hashes in `.sha256`) aligned to the schema above. + ## Versioning - Contract version: `v1` (this document). Changes must be additive; breaking changes require `v2` path and updated doc. diff --git a/docs/modules/excititor/vex_linksets_api.md b/docs/modules/excititor/vex_linksets_api.md new file mode 100644 index 000000000..0b1fbc226 --- /dev/null +++ b/docs/modules/excititor/vex_linksets_api.md @@ -0,0 +1,104 @@ +# Excititor VEX linkset APIs (observations + linksets) + +> Draft examples for Sprint 119 (EXCITITOR-LNM-21-203). Aligns with WebService endpoints implemented in `src/Excititor/StellaOps.Excititor.WebService/Program.cs`. + +## /v1/vex/observations + +### List +``` +GET /v1/vex/observations?vulnerabilityId=CVE-2024-0001&productKey=pkg:maven/org.demo/app@1.2.3&providerId=ubuntu-csaf&status=affected&limit=2 +Headers: + Authorization: Bearer + X-Tenant: default +Response 200 (application/json): +{ + "items": [ + { + "tenant": "default", + "observationId": "vex:obs:sha256:...", + "providerId": "ubuntu-csaf", + "document": { + "digest": "sha256:...", + "uri": "https://example.com/csaf/1.json", + "signature": null + }, + "scope": { + "vulnerabilityId": "CVE-2024-0001", + "productKey": "pkg:maven/org.demo/app@1.2.3" + }, + "statements": [ + { + "vulnerabilityId": "CVE-2024-0001", + "productKey": "pkg:maven/org.demo/app@1.2.3", + "status": "affected", + "justification": { + "type": "component_not_present", + "reason": "Not shipped in base profile" + }, + "signals": { "severity": { "score": 7.5 } }, + "provenance": { + "providerId": "ubuntu-csaf", + "sourceId": "USN-9999-1", + "fieldMasks": ["statements"] + } + } + ], + "linkset": { + "aliases": ["USN-9999-1"], + "purls": ["pkg:maven/org.demo/app"], + "cpes": [], + "references": [{"type": "advisory", "url": "https://..."}], + "disagreements": [] + }, + "createdAt": "2025-11-18T12:34:56Z" + } + ], + "nextCursor": "eyJ2dWxuZXJhYmlsaXR5SWQiOiJDVkUtMjAyNC0wMDAxIiwiY3JlYXRlZEF0IjoiMjAyNS0xMS0xOFQxMjozNDo1NloifQ==" +} +``` + +### Get by key +``` +GET /v1/vex/observations/CVE-2024-0001/pkg:maven/org.demo/app@1.2.3 +Headers: Authorization + X-Tenant +Response 200: same projection shape as list items (single object). +``` + +## /v1/vex/linksets +``` +GET /v1/vex/linksets?vulnerabilityId=CVE-2024-0001&productKey=pkg:maven/org.demo/app@1.2.3&status=affected&limit=2 +Headers: Authorization + X-Tenant +Response 200: +{ + "items": [ + { + "linksetId": "CVE-2024-0001:pkg:maven/org.demo/app@1.2.3", + "tenant": "default", + "vulnerabilityId": "CVE-2024-0001", + "productKey": "pkg:maven/org.demo/app@1.2.3", + "providers": ["ubuntu-csaf", "suse-csaf"], + "statuses": ["affected", "fixed"], + "aliases": ["USN-9999-1"], + "purls": ["pkg:maven/org.demo/app"], + "cpes": [], + "references": [{"type": "advisory", "url": "https://..."}], + "disagreements": [{"providerId": "suse-csaf", "status": "fixed", "justification": null, "confidence": null}], + "observations": [ + {"observationId": "vex:obs:...", "providerId": "ubuntu-csaf", "status": "affected", "severity": 7.5}, + {"observationId": "vex:obs:...", "providerId": "suse-csaf", "status": "fixed", "severity": null} + ], + "createdAt": "2025-11-18T12:34:56Z" + } + ], + "nextCursor": null +} +``` + +## Notes +- Pagination: `limit` (default 200, max 500) + `cursor` (opaque base64 of `vulnerabilityId` + `createdAt`). +- Filters: `vulnerabilityId`, `productKey`, `providerId`, `status`; multiple query values allowed. +- Headers: `Excititor-Results-Count`, `Excititor-Results-Cursor` (observations) and `Excititor-Results-Total` / `Excititor-Results-Truncated` (chunks) already implemented. +- Determinism: responses sorted by `vulnerabilityId`, then `productKey`; arrays sorted lexicographically. + +## SDK generation +- Use this file plus `vex_observations.md` as the source of truth for SDK examples in EXCITITOR-LNM-21-203. diff --git a/docs/modules/mirror/milestone-0-thin-bundle.md b/docs/modules/mirror/milestone-0-thin-bundle.md new file mode 100644 index 000000000..1dba5e860 --- /dev/null +++ b/docs/modules/mirror/milestone-0-thin-bundle.md @@ -0,0 +1,30 @@ +# Mirror Thin Bundle · Milestone 0 (sample) + +## Scope +- Provide a deterministic placeholder thin bundle so downstream air-gap/console/attestation tracks can wire references while MIRROR-CRT-56-001 code lands. +- Sample bundle published at `out/mirror/thin/mirror-thin-m0-sample.tar.gz` (created 2025-11-19 UTC) with fixed metadata only; no advisories/policies/images included. + +## Owners +- Primary: Alex Kim +- Backup: Priya Desai + +## Artefacts +- Bundle: `out/mirror/thin/mirror-thin-m0-sample.tar.gz` +- SHA256: `bd1013885a27f651e28331c7a240d417d265bd411d09b51b47bd7c2196659674` +- Manifest inside bundle: `sample-m0/manifest.json` +- Notes: `sample-m0/README.txt` + +## Layout (within tar.gz) +``` +sample-m0/ + manifest.json # version, bundle_id, created, notes + README.txt # purpose, determinism and replacement guidance +``` + +## Refresh cadence +- Replace this sample with real thin bundle once MIRROR-CRT-56-001 assembler emits manifests (target: 2025-11-20). +- Maintain same path prefix `out/mirror/thin/` and update hash in this file and sprint log when refreshed. + +## Usage +- Downstream tasks may reference this path/hash to unblock contract wiring and CI harnesses. +- Do not ship to customers; for internal wiring/tests only. diff --git a/docs/modules/mirror/thin-bundle-assembler.md b/docs/modules/mirror/thin-bundle-assembler.md new file mode 100644 index 000000000..0728add82 --- /dev/null +++ b/docs/modules/mirror/thin-bundle-assembler.md @@ -0,0 +1,34 @@ +# MIRROR-CRT-56-001 · Thin bundle assembler handoff (v0.1) + +Purpose: unblock MIRROR-CRT-56-001 by defining expected assembler outputs so the real thin bundle can replace the milestone-0 sample. + +## Expected outputs +- Artifact: `out/mirror/thin/mirror-thin-v1.tar.gz` +- Manifest: `out/mirror/thin/mirror-thin-v1.manifest.json` containing: + - `version`: "1.0.0" + - `created`: UTC ISO-8601 + - `layers`: array of `{ digest, size, path }` + - `indexes`: array of `{ name, digest }` for evidence/linkset indexes + - `hashes`: `{ tarball_sha256, manifest_sha256 }` +- Checksums: `.sha256` files for tarball and manifest stored alongside artifacts. + +## Assembly steps (reference for assembler owners) +1) Produce layer tar parts deterministically (sorted entries, zeroed mtimes/uid/gid, pax headers disabled). +2) Compose `mirror-thin-v1.tar.gz` using stable order: `manifest.json`, `layers/*`, `indexes/*`. +3) Generate manifest JSON and compute SHA256 for both tarball and manifest; write `.sha256` files. +4) Sign manifest (DSSE optional) and place signature next to manifest if available. + +## Determinism requirements +- POSIX tar with numeric owner 0:0, mtime 0, sorted paths. +- Gzip with `--no-name` and fixed timestamp 0. +- No duplicate files; symlinks forbidden. + +## Evidence +- When produced, place artefacts under `out/mirror/thin/` and add hashes to this doc. + +## Owners +- Mirror Creator Guild (assembler) +- AirGap Guild (consumer) + +## Status +- Handoff doc published 2025-11-19; awaiting assembler output to replace milestone-0 sample. diff --git a/docs/notifications/slo-webhook-schema.md b/docs/notifications/slo-webhook-schema.md new file mode 100644 index 000000000..27ce7696d --- /dev/null +++ b/docs/notifications/slo-webhook-schema.md @@ -0,0 +1,86 @@ +# Notifier Telemetry SLO Webhook Schema (1.0.0) + +Purpose: define the payload emitted by Telemetry SLO evaluators toward Notifier so that NOTIFY-OBS-51-001 can consume alerts deterministically (online and offline). + +## Delivery contract +- Content-Type: `application/json` +- Encoding: UTF-8 +- Authentication: mTLS (service identity) or DPoP/JWT with `aud` = `notifier` and `scope` = `obs:slo:ingest`. +- Determinism: timestamps are UTC ISO-8601 with `Z`; field order stable for hashing (see canonical JSON below). + +## Payload fields +``` +{ + "id": "uuid", + "tenant": "string", // required; aligns with orchestrator/telemetry tenant id + "service": "string", // logical service name + "host": "string", // optional; k8s node/hostname + "slo": { + "name": "string", // human-readable + "id": "string", // immutable key used for dedupe + "objective": { + "window": "PT5M", // ISO-8601 duration + "target": 0.995 // decimal between 0 and 1 + } + }, + "metric": { + "type": "latency|error|availability|custom", + "value": 0.0123, // double; units depend on type + "unit": "seconds|ratio|percent|count", + "labels": { // sanitized, deterministic ordering when serialized + "endpoint": "/api/jobs", + "method": "GET" + } + }, + "window": { + "start": "2025-11-19T12:00:00Z", + "end": "2025-11-19T12:05:00Z" + }, + "breach": { + "state": "breaching|warning|ok", + "reason": "p95 latency above objective", + "evidence": [ + { + "type": "timeseries", + "href": "cas://telemetry/series/abc123", + "hash": "sha256:..." + } + ] + }, + "quietHours": { + "active": false, + "policyId": null + }, + "trace": { + "trace_id": "optional-trace-id", + "span_id": "optional-span-id" + }, + "version": "1.0.0", + "issued_at": "2025-11-19T12:05:07Z" +} +``` + +### Canonical JSON rules +- Sort object keys lexicographically before hashing/signing. +- Use lowercase for enum-like fields shown above. +- `version` is required for evolution; new fields must be add-only. + +### Retry and idempotency +- `id` is the idempotency key; Notifier treats duplicates as no-op. +- Producers retry with exponential backoff up to 10 minutes; consumers respond 2xx only after persistence. + +### Validation checklist (for tests/CI) +- Required fields: id, tenant, service, slo.id, slo.objective.window, slo.objective.target, metric.type, metric.value, window.start/end, breach.state, version, issued_at. +- Timestamps parse with `DateTimeStyles.RoundtripKind`. +- When `breach.state=ok`, `breach.reason` may be null but object must exist. +- `quietHours.active=true` must include `policyId`. + +### Sample canonical JSON (minified) +``` +{"breach":{"evidence":[],"reason":"p99 latency above objective","state":"breaching"},"host":"orchestrator-0","id":"8c1d58c4-b1de-4b3c-9c7b-40a6b0f8d4c1","issued_at":"2025-11-19T12:05:07Z","metric":{"labels":{"endpoint":"/api/jobs","method":"GET"},"type":"latency","unit":"seconds","value":1.234},"quietHours":{"active":false,"policyId":null},"service":"orchestrator","slo":{"id":"orch-api-latency-p99","name":"Orchestrator API p99","objective":{"target":0.99,"window":"PT5M"}},"tenant":"default","trace":{"span_id":null,"trace_id":null},"version":"1.0.0","window":{"end":"2025-11-19T12:05:00Z","start":"2025-11-19T12:00:00Z"}} +``` + +### Evidence to surface in sprint tasks +- File: `docs/notifications/slo-webhook-schema.md` (this document). +- Sample payload (canonical) and validation checklist above. +- Dependencies: upstream Telemetry evaluator must emit `metric.labels` sanitized; Notifier to persist `id` for idempotency. diff --git a/docs/observability/cli-incident-toggle-12-001.md b/docs/observability/cli-incident-toggle-12-001.md new file mode 100644 index 000000000..7d0a11371 --- /dev/null +++ b/docs/observability/cli-incident-toggle-12-001.md @@ -0,0 +1,29 @@ +# CLI incident toggle contract (CLI-OBS-12-001) + +**Goal**: define a deterministic CLI flag and config surface to enter/exit incident mode, required by TELEMETRY-OBS-55-001/56-001. + +## Flags and config +- CLI flag: `--incident-mode` (bool). Defaults to false. +- Config key: `Telemetry:Incident:Enabled` (bool) and `Telemetry:Incident:TTL` (TimeSpan). +- When both flag and config specified, flag wins (opt-in only; cannot disable if config enables and flag present). + +## Effects when enabled +- Increase sampling rate ceiling to 100% for telemetry within the process. +- Add tag `incident=true` to logs/metrics/traces. +- Shorten exporter/reporting flush interval to 5s; disable external exporters when `Sealed=true`. +- Emit activation audit event `telemetry.incident.activated` with fields `{tenant, actor, source, expires_at}`. + +## Persistence +- Incident flag runtime value stored in local state file `~/.stellaops/incident-mode.json` with fields `{enabled, set_at, expires_at, actor}` for offline continuity. +- File is tenant-scoped; permissions 0600. + +## Expiry / TTL +- Default TTL: 30 minutes unless `Telemetry:Incident:TTL` provided. +- On expiry, emit `telemetry.incident.expired` audit event. + +## Validation expectations +- CLI should refuse `--incident-mode` if `--sealed` is set and external exporters are configured (must drop exporters first). +- Unit tests to cover precedence (flag over config), TTL expiry, state file perms, and audit emissions. + +## Provenance +- Authored 2025-11-20 to unblock PREP-CLI-OBS-12-001 and TELEMETRY-OBS-55-001. diff --git a/docs/observability/telemetry-bootstrap.md b/docs/observability/telemetry-bootstrap.md new file mode 100644 index 000000000..daa9fd33d --- /dev/null +++ b/docs/observability/telemetry-bootstrap.md @@ -0,0 +1,48 @@ +# Telemetry Core Bootstrap (v1 · 2025-11-19) + +## Goal +Show minimal host wiring for `StellaOps.Telemetry.Core` with deterministic defaults and sealed-mode friendliness. + +## Sample (web/worker host) +```csharp +var builder = WebApplication.CreateBuilder(args); + +builder.Services.AddStellaOpsTelemetry( + builder.Configuration, + serviceName: "StellaOps.SampleService", + serviceVersion: builder.Configuration["VERSION"], + configureOptions: options => + { + // Disable collector in sealed mode / air-gap + options.Collector.Enabled = builder.Configuration.GetValue("Telemetry:Collector:Enabled", true); + options.Collector.Endpoint = builder.Configuration["Telemetry:Collector:Endpoint"]; + options.Collector.Protocol = TelemetryCollectorProtocol.Grpc; + }, + configureMetrics: m => m.AddAspNetCoreInstrumentation(), + configureTracing: t => t.AddHttpClientInstrumentation()); +``` + +## Configuration (appsettings.json) +```json +{ + "Telemetry": { + "Collector": { + "Enabled": true, + "Endpoint": "https://otel-collector.example:4317", + "Protocol": "Grpc", + "Component": "sample-service", + "Intent": "telemetry-export", + "DisableOnViolation": true + } + } +} +``` + +## Determinism & safety +- UTC timestamps only; no random IDs introduced by the helper. +- Exporter is skipped when endpoint missing or egress policy denies. +- `VSTEST_DISABLE_APPDOMAIN=1` recommended for tests with `tools/linksets-ci.sh` pattern. + +## Next +- Propagation adapters (50-002) will build on this bootstrap. +- Scrub/analyzer policies live under upcoming 51-001/51-002 tasks. diff --git a/docs/observability/telemetry-propagation-51-001.md b/docs/observability/telemetry-propagation-51-001.md new file mode 100644 index 000000000..9c3fbd687 --- /dev/null +++ b/docs/observability/telemetry-propagation-51-001.md @@ -0,0 +1,43 @@ +# Telemetry propagation contract (TELEMETRY-OBS-51-001) + +**Goal**: standardise trace/metrics propagation across StellaOps services so golden-signal helpers remain deterministic, tenant-safe, and offline-friendly. + +## Scope +- Applies to HTTP, gRPC, background jobs, and message handlers instrumented via `StellaOps.Telemetry.Core`. +- Complements bootstrap guide (`telemetry-bootstrap.md`) and precedes metrics helper implementation. + +## Required context fields +- `trace_id` / `span_id`: W3C TraceContext headers only (no B3); generate if missing. +- `tenant`: lower-case string; required for all incoming requests; default to `unknown` only in sealed/offline diagnostics jobs. +- `actor`: optional user/service principal; redacted to hash in logs when `Scrub.Sealed=true`. +- `imposed_rule`: optional string conveying enforcement context (e.g., `merge=false`). + +## HTTP middleware +- Accept `traceparent`/`tracestate`; reject/strip vendor-specific headers. +- Propagate `tenant`, `actor`, `imposed-rule` via `Stella-Tenant`, `Stella-Actor`, `Stella-Imposed-Rule` headers. +- Emit exemplars: when sampling is off, attach exemplar ids to request duration and active request metrics. + +## gRPC interceptors +- Use binary TraceContext; carry metadata keys `stella-tenant`, `stella-actor`, `stella-imposed-rule`. +- Enforce presence of `tenant`; abort with `Unauthenticated` if missing in non-sealed mode. + +## Jobs & message handlers +- Wrap background job execution with Activity + baggage items (`tenant`, `actor`, `imposed_rule`). +- When publishing bus events, stamp `trace_id` and `tenant` into headers; avoid embedding PII in payloads. + +## Metrics helper expectations +- Golden signals: `http.server.duration`, `http.client.duration`, `messaging.operation.duration`, `job.execution.duration`, `runtime.gc.pause`, `db.call.duration`. +- Mandatory tags: `tenant`, `service`, `endpoint`/`operation`, `result` (`ok|error|cancelled|throttled`), `sealed` (`true|false`). +- Cardinality guard: drop/replace tag values exceeding 64 chars; cap path templates to first 3 segments. + +## Determinism & offline posture +- All timestamps UTC RFC3339; sampling configs controlled via appsettings and mirrored in offline bundles. +- No external exporters when `Sealed=true`; use in-memory or file-based OTLP for air-gap. + +## Tests to add with implementation +- Middleware unit tests asserting header/baggage mapping and tenant enforcement. +- Metrics helper tests ensuring required tags present and trimmed; exemplar id attached when enabled. +- Deterministic snapshot tests for serialized OTLP when sealed/offline. + +## Provenance +- Authored 2025-11-20 to unblock TELEMETRY-OBS-51-001; to be refined as helpers are coded. diff --git a/docs/observability/telemetry-scrub-51-002.md b/docs/observability/telemetry-scrub-51-002.md new file mode 100644 index 000000000..3085f18f8 --- /dev/null +++ b/docs/observability/telemetry-scrub-51-002.md @@ -0,0 +1,35 @@ +# Telemetry scrubbing contract (TELEMETRY-OBS-51-002) + +**Purpose**: define redaction/scrubbing rules for logs/traces/metrics before implementing helpers in `StellaOps.Telemetry.Core`. + +## Redaction rules +- Strip or hash PII/credentials: emails, tokens, passwords, secrets, bearer/mTLS cert blobs. +- Default hash algorithm: SHA-256 hex; include `scrubbed=true` tag. +- Allowlist fields that remain: `tenant`, `trace_id`, `span_id`, `endpoint`, `result`, `sealed`. + +## Configuration knobs +- `Telemetry:Scrub:Enabled` (bool, default true). +- `Telemetry:Scrub:Sealed` (bool, default false) — when true, force scrubbing and disable external exporters. +- `Telemetry:Scrub:HashSalt` (string, optional) — per-tenant salt; omit to keep deterministic hashes across deployments. +- `Telemetry:Scrub:MaxValueLength` (int, default 256) — truncate values beyond this length before hashing. + +## Logger sink expectations +- Implement scrubber as `ILogPayloadFilter` injected before sink. +- Ensure message templates remain intact; only values scrubbed. +- Preserve structured shape so downstream parsing remains deterministic. + +## Metrics & traces +- Never place raw user input into metric/tag values; pass through scrubber before export. +- Span events must omit payload bodies; include keyed references only. + +## Auditing +- When scrubbing occurs, add tag `scrubbed=true` and `scrub_reason` (`pii|secret|length|pattern`). +- Provide counter `telemetry.scrub.events{tenant,reason}` for observability. + +## Tests to add with implementation +- Unit tests for regex-based scrubbing of tokens, emails, URLs with creds. +- Config-driven tests toggling `Enabled`/`Sealed` modes to ensure exporters are suppressed when sealed. +- Determinism test: same input yields identical hashed output when salt unset. + +## Provenance +- Authored 2025-11-20 to unblock TELEMETRY-OBS-51-002 and downstream 55/56 tasks. diff --git a/docs/observability/telemetry-sealed-56-001.md b/docs/observability/telemetry-sealed-56-001.md new file mode 100644 index 000000000..6eea3cd92 --- /dev/null +++ b/docs/observability/telemetry-sealed-56-001.md @@ -0,0 +1,33 @@ +# Sealed-mode telemetry helpers (TELEMETRY-OBS-56-001 prep) + +## Objective +Define behavior and configuration for telemetry when `Sealed=true`, ensuring no external egress while preserving deterministic local traces/metrics for audits. + +## Requirements +- Disable external OTLP/exporters automatically when sealed; fallback to in-memory or file OTLP (`telemetry-sealed.otlp`) with bounded size (default 10 MB, ring buffer). +- Add tag `sealed=true` to all spans/metrics/logs; suppress exemplars. +- Force scrubbing: treat `Scrub.Sealed=true` regardless of default settings. +- Sampling: cap to 10% max in sealed mode unless CLI incident toggle raises it (see CLI-OBS-12-001 contract); ceiling 100% with explicit override `Telemetry:Sealed:MaxSamplingPercent`. +- Clock source: require monotonic clock for duration; emit warning if system clock skew detected >500ms. + +## Configuration keys +- `Telemetry:Sealed:Enabled` (bool) — driven by host; when true activate sealed behavior. +- `Telemetry:Sealed:Exporter` (enum `memory|file`) — default `file`. +- `Telemetry:Sealed:FilePath` (string) — default `./logs/telemetry-sealed.otlp`. +- `Telemetry:Sealed:MaxBytes` (int) — default 10_485_760 (10 MB). +- `Telemetry:Sealed:MaxSamplingPercent` (int) — default 10. +- Derived flag `Telemetry:Sealed:EffectiveIncidentMode` (read-only) exposes if incident-mode override lifted sampling ceiling. + +## File exporter format +- OTLP binary, append-only, deterministic ordering by enqueue time. +- Rotate when exceeding `MaxBytes` using suffix `.1`, `.2` capped to 3 files; oldest dropped. +- Permissions 0600 by default; fail-start if path is world-readable. + +## Validation tests to implement with 56-001 +- Unit: sealed mode forces exporter swap and tags `sealed=true`, `scrubbed=true`. +- Unit: sampling capped at max percent unless incident override set. +- Unit: file exporter rotates deterministically and enforces 0600 perms. +- Integration: sealed + incident mode together still block external exporters and honor scrub rules. + +## Provenance +- Authored 2025-11-20 to satisfy PREP-TELEMETRY-OBS-56-001 and unblock implementation. diff --git a/docs/policy/auth-signals-lib-115.md b/docs/policy/auth-signals-lib-115.md new file mode 100644 index 000000000..2413230f6 --- /dev/null +++ b/docs/policy/auth-signals-lib-115.md @@ -0,0 +1,40 @@ +# POLICY-AUTH-SIGNALS-LIB-115 · Shared P/A/S contracts (draft v0.1) + +Purpose: deliver shared models/schemas for Policy, Authority, and Signals so Concelier/Excititor consumers can bind without merge logic. + +## Core models (C#-friendly, JSON schema inline) +- `PolicyAuthSignal`: + - `id` (string, required) — stable identifier (ULID preferred) + - `tenant` (string, required) + - `subject` (string, required) — e.g., `purl`, `sbom://`, `service://` + - `signal_type` (string, enum: `reachability`, `attestation`, `risk`, `vex`) + - `source` (string, required) — producer service + - `confidence` (float?, optional) + - `evidence` (array of `EvidenceRef`) + - `created` (string, UTC ISO-8601, required) +- `EvidenceRef`: + - `kind` (string, enum: `linkset`, `runtime`, `attestation`, `bundle`) + - `uri` (string, required) — CAS or storage pointer + - `digest` (string, sha256, required) + - `scope` (string) — tenant/scopes +- `Provenance`: + - `pipeline` (string) — build id + - `inputs` (array) — hashes of inputs + - `signer` (string) + - `transparency` (object: `rekor_uuid` or `skip_reason`) + +## JSON schema stub (add-only) +See `schemas/policy-auth-signals-lib-115.json` (to be emitted with the NuGet package). + +## Package plan +- Project: `StellaOps.Policy.AuthSignals` (net10.0) +- Deliverables: models, JSON schema, sample fixtures, `PolicyAuthSignalJsonContext` for source generators, deterministic serialization. +- Publish target: `local-nugets/` (version `0.1.0-alpha+draft`), then promote after guild ratification. + +## Fixtures (to include in package) +- `fixtures/policy-auth-signal-sample.json` +- `fixtures/policy-auth-signal-reachability.json` +- Schema: `schemas/policy-auth-signals-lib-115.json` + +## Status +- NuGet package `StellaOps.Policy.AuthSignals` 0.1.0-alpha built and placed in `local-nugets/` (sha256: `8ab5aa6c0daf5e56e1355d4d6bcaf110a8bc28b28a5ee1970864bcd4b6ba6750`). Awaiting guild ratification to promote beyond alpha. diff --git a/docs/policy/fixtures/policy-auth-signal-reachability.json b/docs/policy/fixtures/policy-auth-signal-reachability.json new file mode 100644 index 000000000..4b187e7ae --- /dev/null +++ b/docs/policy/fixtures/policy-auth-signal-reachability.json @@ -0,0 +1,31 @@ +{ + "id": "ulid-01J000REACH000000000000000", + "tenant": "urn:tenant:demo", + "subject": "service://demo-api", + "signal_type": "reachability", + "source": "signals", + "evidence": [ + { + "kind": "runtime", + "uri": "cas://runtime-facts/123", + "digest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" + }, + { + "kind": "attestation", + "uri": "cas://attestations/abc", + "digest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" + } + ], + "provenance": { + "pipeline": "build:reachability-001", + "inputs": [ + "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" + ], + "signer": "sigkey:runtime", + "transparency": { + "rekor_uuid": "a1b2c3d4", + "skip_reason": null + } + }, + "created": "2025-11-19T12:00:00Z" +} diff --git a/docs/policy/fixtures/policy-auth-signal-sample.json b/docs/policy/fixtures/policy-auth-signal-sample.json new file mode 100644 index 000000000..5b13f4fa4 --- /dev/null +++ b/docs/policy/fixtures/policy-auth-signal-sample.json @@ -0,0 +1,26 @@ +{ + "id": "ulid-01J00000000000000000000000", + "tenant": "urn:tenant:00000000-0000-0000-0000-000000000000", + "subject": "purl:pkg:maven/org.example/app@1.2.3", + "signal_type": "reachability", + "source": "signals", + "confidence": 0.92, + "evidence": [ + { + "kind": "linkset", + "uri": "cas://linksets/advisory-ghsa-1234", + "digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "scope": "tenant:default" + } + ], + "provenance": { + "pipeline": "git:abcd1234", + "inputs": ["sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"], + "signer": "sigkey:policy", + "transparency": { + "rekor_uuid": null, + "skip_reason": "offline" + } + }, + "created": "2025-11-19T00:00:00Z" +} diff --git a/docs/policy/schemas/policy-auth-signals-lib-115.json b/docs/policy/schemas/policy-auth-signals-lib-115.json new file mode 100644 index 000000000..2ab6b9a3f --- /dev/null +++ b/docs/policy/schemas/policy-auth-signals-lib-115.json @@ -0,0 +1,56 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://stellaops.local/schemas/policy-auth-signals-lib-115.json", + "title": "PolicyAuthSignal", + "type": "object", + "additionalProperties": false, + "required": ["id", "tenant", "subject", "signal_type", "source", "created", "evidence"], + "properties": { + "id": {"type": "string"}, + "tenant": {"type": "string"}, + "subject": {"type": "string"}, + "signal_type": {"type": "string", "enum": ["reachability", "attestation", "risk", "vex"]}, + "source": {"type": "string"}, + "confidence": {"type": "number"}, + "evidence": { + "type": "array", + "items": {"$ref": "#/$defs/EvidenceRef"}, + "minItems": 1 + }, + "provenance": {"$ref": "#/$defs/Provenance"}, + "created": { + "type": "string", + "format": "date-time" + } + }, + "$defs": { + "EvidenceRef": { + "type": "object", + "additionalProperties": false, + "required": ["kind", "uri", "digest"], + "properties": { + "kind": {"type": "string", "enum": ["linkset", "runtime", "attestation", "bundle"]}, + "uri": {"type": "string"}, + "digest": {"type": "string"}, + "scope": {"type": "string"} + } + }, + "Provenance": { + "type": "object", + "additionalProperties": false, + "properties": { + "pipeline": {"type": "string"}, + "inputs": {"type": "array", "items": {"type": "string"}}, + "signer": {"type": "string"}, + "transparency": { + "type": "object", + "additionalProperties": false, + "properties": { + "rekor_uuid": {"type": ["string", "null"]}, + "skip_reason": {"type": ["string", "null"]} + } + } + } + } + } +} diff --git a/docs/provenance/prov-backfill-plan.md b/docs/provenance/prov-backfill-plan.md new file mode 100644 index 000000000..0eab6de17 --- /dev/null +++ b/docs/provenance/prov-backfill-plan.md @@ -0,0 +1,16 @@ +# Provenance Backfill Plan (Sprint 401) + +Artifacts available +- Attestation inventory: `docs/provenance/attestation-inventory-2025-11-18.ndjson` +- Subject→Rekor map: `docs/provenance/subject-rekor-map-2025-11-18.json` + +Procedure (deterministic) +1) Load inventory NDJSON; validate UUID/ULID and digest formats. +2) For each record, resolve Rekor entry via the subject→Rekor map; if missing, record gap and skip write. +3) Emit backfilled events to the provenance store using `scripts/publish_attestation_with_provenance.sh --mode backfill` (add `--subject` and `--rekor` arguments) with sorted input to guarantee stable ordering. +4) Log every backfilled subject + Rekor digest pair to `logs/provenance-backfill-2025-11-18.ndjson` (UTC timestamps, ISO-8601). +5) Rerun until gaps are zero; then mark PROV-BACKFILL-401-029 DONE. + +Determinism +- Sort by subject, then rekorEntry before processing. +- Use canonical JSON writer for outputs; timestamps in UTC `O` format. diff --git a/docs/reachability/corpus-plan.md b/docs/reachability/corpus-plan.md new file mode 100644 index 000000000..f7037092d --- /dev/null +++ b/docs/reachability/corpus-plan.md @@ -0,0 +1,33 @@ +# Reachability Corpus Plan (QA-CORPUS-401-031) + +Objective +- Build a multi-runtime reachability corpus (Go/.NET/Python/Rust) with EXPECT.yaml ground truths and captured traces. +- Make fixtures CI-consumable to validate reachability scoring and VEX proofs continuously. + +Scope & deliverables +- Fixture layout: `tests/reachability/corpus///` + - `expect.yaml` — states (`reachable|conditional|unreachable`), score, evidence refs. + - `callgraph.*.json` — static graphs per language. + - `runtime/*.ndjson` — traces/probes when available. + - `sbom.*.json` — CycloneDX/SPDX slices. + - `vex.openvex.json` — expected VEX statement. +- CI integration: add corpus harness to `tests/reachability/StellaOps.Reachability.FixtureTests` to validate presence, schema, and determinism (hash manifest). +- Offline posture: all artifacts deterministic, no external downloads; hashes recorded in manifest. + +MVP slice (proposed) +- Go: `go-ssh-CVE-2020-9283-keyexchange` +- .NET: `dotnet-kestrel-CVE-2023-44487-http2-rapid-reset` +- Python: `python-django-CVE-2019-19844-sqli-like` +- Rust: `rust-axum-header-parsing-TBD` + +Work plan +1) Define shared manifest schema + hash manifest (NDJSON) under `tests/reachability/corpus/manifest.json`. +2) For each MVP case, add minimal static callgraph + EXPECT.yaml with score/state and evidence links. (DONE: stub versions committed) +3) Extend reachability fixture tests to cover corpus folders (presence, hashes, EXPECT.yaml schema). (DONE) +4) Wire CI job to run the extended tests in `tests/reachability/StellaOps.Reachability.FixtureTests`. (TODO) +5) Replace stubs with real callgraphs/traces and expand corpus after MVP passes CI. (TODO) + +Determinism rules +- Sort JSON keys; round scores to 2dp; UTC times only if needed. +- Stable ordering of files in manifests; hash with SHA-256. +- No network calls during test or generation. diff --git a/docs/replay/replay-api-draft-2025-11-18.md b/docs/replay/replay-api-draft-2025-11-18.md new file mode 100644 index 000000000..816fc3921 --- /dev/null +++ b/docs/replay/replay-api-draft-2025-11-18.md @@ -0,0 +1,34 @@ +# EvidenceLocker Replay API (draft) — 2025-11-18 + +Scope: EVID-REPLAY-187-001 baseline API surface using shared orchestrator/advisory evidence schemas. + +## Endpoints (prefix `/api/evidencelocker/replay`) +- `POST /records` — ingest replay bundle (DSSE + manifest). Request: multipart or JSON with CAS URIs; Response: `{ recordId, bundleDigest }`. +- `POST /verify` — verify replay bundle signatures/hashes. Request: `{ bundleDigest | bundleUri }`; Response: `{ status: "pass|fail", findings: [] }`. +- `POST /replay` — schedule replay job against stored records. Request: `{ recordId, targetTenant, policyRevisionId? }`; Response: `{ jobId }`. +- `POST /prune` — enforce retention policy. Request: `{ maxAgeDays, keepLatestPerDigest: bool }`; Response: `{ pruned: int }`. + +## Models (draft) +```json +{ + "recordId": "uuid", + "bundleDigest": "sha256:...", + "bundleUri": "cas://evidence/replay/{digest}", + "tenant": "string", + "ingestedAt": "2025-11-18T12:00:00Z", + "dsse": { + "payloadType": "application/vnd.stellaops.replay+json", + "payload": "base64", + "signatures": [ { "keyid": "...", "sig": "..." } ] + } +} +``` + +## Retention policy draft +- Default: `maxAgeDays = 30`, `keepLatestPerDigest = true`. +- Deterministic pruning order: sort by `ingestedAt` ascending, then `recordId`. + +## Notes +- Align request/response DTOs with `StellaOps.Orchestrator.Schemas` naming (camelCase, UTC ISO-8601). +- CLI verbs `stella evidence replay record|verify|replay` to mirror these routes (see CLI-REPLAY-187-002). +- Update `docs/replay/DETERMINISTIC_REPLAY.md` once finalized. diff --git a/docs/samples/console/console-vex-30-001.json b/docs/samples/console/console-vex-30-001.json new file mode 100644 index 000000000..854b430b1 --- /dev/null +++ b/docs/samples/console/console-vex-30-001.json @@ -0,0 +1,17 @@ +{ + "query": {"component": "openssl", "advisory": "CVE-2024-1234"}, + "tenant": "demo", + "timestamp": "2025-11-19T00:00:00Z", + "statements": [ + { + "id": "stmt-1", + "status": "not_affected", + "justification": "component_not_present", + "advisory": "CVE-2024-1234", + "products": ["pkg:deb/openssl@1.1.1w"], + "evidence": {"observationId": "obs-ossl-001", "linksetId": "lnm-ossl-001"}, + "timestamp": "2025-11-19T00:00:00Z" + } + ], + "pagination": {"pageSize": 20, "next": null} +} diff --git a/docs/samples/console/console-vuln-29-001.json b/docs/samples/console/console-vuln-29-001.json new file mode 100644 index 000000000..75e9329d5 --- /dev/null +++ b/docs/samples/console/console-vuln-29-001.json @@ -0,0 +1,19 @@ +{ + "query": "openssl", + "tenant": "demo", + "timestamp": "2025-11-19T00:00:00Z", + "results": [ + { + "advisoryId": "CVE-2024-1234", + "title": "OpenSSL buffer overflow", + "severity": "HIGH", + "package": "openssl", + "version": "1.1.1w", + "source": "nvd", + "linksetId": "lnm-ossl-001", + "justification": "aggregation-only", + "provenance": {"fetchedAt": "2025-11-18T12:00:00Z", "digest": "sha256:dummy"} + } + ], + "pagination": {"pageSize": 20, "next": null} +} diff --git a/docs/samples/evidence-bundle/evidence-bundle-m0.tar.gz b/docs/samples/evidence-bundle/evidence-bundle-m0.tar.gz new file mode 100644 index 000000000..24e419178 Binary files /dev/null and b/docs/samples/evidence-bundle/evidence-bundle-m0.tar.gz differ diff --git a/docs/samples/evidence-bundle/evidence-bundle-m0.tar.gz.sha256 b/docs/samples/evidence-bundle/evidence-bundle-m0.tar.gz.sha256 new file mode 100644 index 000000000..eb7b8b2bf --- /dev/null +++ b/docs/samples/evidence-bundle/evidence-bundle-m0.tar.gz.sha256 @@ -0,0 +1 @@ +c3be72958c85d8d9ff96927542a0e0184e5d64717b9b0365756f253b4a365fed evidence-bundle-m0.tar.gz diff --git a/docs/samples/evidence-bundle/hashes.sha256 b/docs/samples/evidence-bundle/hashes.sha256 new file mode 100644 index 000000000..465817362 --- /dev/null +++ b/docs/samples/evidence-bundle/hashes.sha256 @@ -0,0 +1,4 @@ +3cbfba79c6e83091123b9dee748e0575a548a03ce744ed53392dcbc8c6490119 manifest.json +a035333e9b9f8ad82145105276c8f73f143ad6ad46bd80cf3999318e04531019 observations.ndjson +1543a5902cc6b319971dadd92118188324cc5cd9b9296f9a8b08b534406d2e4e linksets.ndjson +ab7d5e06c7a4bc5517534a3fdc1a448a7e3f176020e2a3b93048eb20b559f206 transparency.json diff --git a/docs/samples/evidence-bundle/linksets.ndjson b/docs/samples/evidence-bundle/linksets.ndjson new file mode 100644 index 000000000..b674f86c8 --- /dev/null +++ b/docs/samples/evidence-bundle/linksets.ndjson @@ -0,0 +1 @@ +{"linksetId":"lnm-ossl-001","advisoryId":"CVE-2024-1234","components":["pkg:deb/openssl@1.1.1w"],"normalized":true,"createdAt":"2025-11-18T12:05:00Z"} diff --git a/docs/samples/evidence-bundle/manifest.json b/docs/samples/evidence-bundle/manifest.json new file mode 100644 index 000000000..c7dcd0b6d --- /dev/null +++ b/docs/samples/evidence-bundle/manifest.json @@ -0,0 +1,18 @@ +{ + "bundle_id": "evidence-bundle-m0", + "version": "1.0.0", + "created": "2025-11-19T00:00:00Z", + "tenant": "demo", + "scope": "vex", + "inputs": [ + "sha256:a035333e9b9f8ad82145105276c8f73f143ad6ad46bd80cf3999318e04531019", + "sha256:1543a5902cc6b319971dadd92118188324cc5cd9b9296f9a8b08b534406d2e4e" + ], + "aoc": { + "guardrails": true, + "details": [ + "schema:frozen:1.0", + "limits:chunk:max=2000" + ] + } +} diff --git a/docs/samples/evidence-bundle/observations.ndjson b/docs/samples/evidence-bundle/observations.ndjson new file mode 100644 index 000000000..b26d24d59 --- /dev/null +++ b/docs/samples/evidence-bundle/observations.ndjson @@ -0,0 +1 @@ +{"observationId":"obs-ossl-001","advisoryId":"CVE-2024-1234","component":"pkg:deb/openssl@1.1.1w","source":"nvd","fetchedAt":"2025-11-18T12:00:00Z"} diff --git a/docs/samples/evidence-bundle/transparency.json b/docs/samples/evidence-bundle/transparency.json new file mode 100644 index 000000000..edd415913 --- /dev/null +++ b/docs/samples/evidence-bundle/transparency.json @@ -0,0 +1 @@ +{"rekor_uuid": null, "skip_reason": "offline"} diff --git a/docs/samples/excititor/chunks-sample.ndjson b/docs/samples/excititor/chunks-sample.ndjson new file mode 100644 index 000000000..33da18cc6 --- /dev/null +++ b/docs/samples/excititor/chunks-sample.ndjson @@ -0,0 +1,2 @@ +{"tenant":"demo","vulnerabilityId":"CVE-2024-1234","productKey":"pkg:pypi/django@3.2.24","observationId":"obs-001","statementId":"stmt-001","source":{"supplier":"upstream:osv","documentId":"osv:CVE-2024-1234","retrievedAt":"2025-11-18T12:00:00Z","signatureStatus":"missing"},"aoc":{"violations":[]},"evidence":{"type":"vex.statement","payload":{"status":"not_affected","justification":"component_not_present"}},"provenance":{"hash":"sha256:dummyhash","canonicalUri":null,"bundleId":null}} +{"tenant":"demo","vulnerabilityId":"CVE-2024-2345","productKey":"pkg:pypi/requests@2.31.0","observationId":"obs-002","statementId":"stmt-001","source":{"supplier":"upstream:osv","documentId":"osv:CVE-2024-2345","retrievedAt":"2025-11-18T12:05:00Z","signatureStatus":"unverified"},"aoc":{"violations":[{"code":"EVIDENCE_SIGNATURE_MISSING","surface":"ingest"}]},"evidence":{"type":"vex.statement","payload":{"status":"affected","impact":"info","details":"placeholder"}},"provenance":{"hash":"sha256:dummyhash2","canonicalUri":null,"bundleId":null}} diff --git a/docs/samples/excititor/chunks-sample.ndjson.sha256 b/docs/samples/excititor/chunks-sample.ndjson.sha256 new file mode 100644 index 000000000..ea5f9eb5d --- /dev/null +++ b/docs/samples/excititor/chunks-sample.ndjson.sha256 @@ -0,0 +1 @@ +4d638b24d6f8f703bcbcac23a0185265f3db5defb9f3d7f33b7be7fccc0de738 docs/samples/excititor/chunks-sample.ndjson diff --git a/docs/signals/cas-promotion-24-002.md b/docs/signals/cas-promotion-24-002.md new file mode 100644 index 000000000..682851324 --- /dev/null +++ b/docs/signals/cas-promotion-24-002.md @@ -0,0 +1,34 @@ +# SIGNALS-24-002 · CAS promotion checklist (v1) + +Purpose: unblock CAS promotion + signed manifest rollout for callgraph storage so SIGNALS-24-002 can move from BLOCKED to implementation. + +## Preconditions +- CAS bucket created for `signals-callgraphs` with write limited to Signals service principals. +- Surface bundle mock hash recorded; real scanner cache ETA published. +- Signed manifest tooling available (sigstore or in-house signer) with add-only policy. + +## Steps +1) Freeze manifest schema (fields: `graph_id`, `digest`, `language`, `source`, `created`, `signer`, `signature`). +2) Generate manifests for existing callgraphs; store under `cas://signals/manifests/{graph_id}.json`. +3) Sign each manifest; attach DSSE envelope; store under `cas://signals/manifests/{graph_id}.json.dsse`. +4) Apply bucket policy: read-only for downstream, write for Signals service; deny deletes. +5) Configure GC policy: retain manifests indefinitely; callgraph blobs keep 30d rolling unless referenced. +6) Enable alerts for failed retrievals and missing manifest/DSSE pairs. +7) Record hash list and signer key IDs in release notes. + +## Deliverables +- Policy document + proof of applied IAM +- Manifest schema JSON +- Signed manifest samples (see tests) +- Hash list of all published callgraphs (sha256) + +## Evidence locations (repo paths) +- Policy & schema: `docs/signals/cas-promotion-24-002.md` (this file) +- Sample manifest + DSSE: `tests/reachability/corpus/manifest.json` (already present) maps to expected structure. + +## Owners +- Signals Guild (implementation) +- Platform Storage Guild (policy/approvals) + +## Status +- Checklist published 2025-11-19; awaiting Platform Storage approval to proceed. diff --git a/docs/signals/events-24-005.md b/docs/signals/events-24-005.md new file mode 100644 index 000000000..b48ffb39a --- /dev/null +++ b/docs/signals/events-24-005.md @@ -0,0 +1,47 @@ +# signals.fact.updated event contract (SIGNALS-24-005 prep) + +**Purpose**: replace the in-memory logger used during Signals development with a real event bus contract so reachability caches can be invalidated and downstream consumers (Policy Engine, Notifications, Console) can subscribe deterministically. + +## Topic / channel +- Primary topic: `signals.fact.updated.v1` +- Dead-letter topic: `signals.fact.updated.dlq` +- Delivery: at-least-once; consumers must de-duplicate using `event_id`. + +## Message envelope +```jsonc +{ + "event_id": "uuid-v4", // stable across retries; used for idempotency + "emitted_at": "2025-11-20T00:00:00Z", // UTC, RFC3339 + "tenant": "acme", // required; lower-case + "subject_key": "sbom:sha256:…" , // subject of facts (asset, sbom, host). Deterministic model key. + "fact_kind": "callgraph" | "runtime" | "reachability" | "signal", // enums mapped from Signals domain + "fact_version": 1, // monotonically increasing per subject_key + fact_kind + "digest": "sha256:…", // CAS digest of canonical fact document + "content_type": "application/json", // or application/vnd.stellaops.ndjson when chunked + "producer": "StellaOps.Signals", // emitting service + "source": { + "pipeline": "signals", // consistent with Observability tags + "release": "0.4.0-alpha" // optional + }, + "trace": { + "trace_id": "…", // pass-through if available + "span_id": "…" + } +} +``` + +## Routing / partitions +- Partition key: `tenant` to keep per-tenant ordering. +- Retry policy: exponential backoff up to 5 minutes; move to DLQ thereafter with `dlq_reason` header. + +## Consumer expectations +- De-duplicate on `event_id` and `digest`. +- Fetch fact body from CAS using `digest`; avoid embedding large payloads in the message. +- If consumer cannot resolve CAS, treat as transient and retry later (do not drop). + +## Security / air-gap posture +- No PII; tenant id only. +- Works offline when bus is intra-cluster (e.g., NATS/Redis Streams); external exporters disabled in sealed mode. + +## Provenance +- This contract supersedes the temporary log-based publisher referenced in Signals sprint 0143 Execution Log (2025-11-18). Aligns with `signals.fact.updated@v1` payload shape already covered by unit tests. diff --git a/docs/signals/provenance-24-003.md b/docs/signals/provenance-24-003.md new file mode 100644 index 000000000..6ea55a31f --- /dev/null +++ b/docs/signals/provenance-24-003.md @@ -0,0 +1,31 @@ +# SIGNALS-24-003 · Provenance appendix checklist (v1) + +Purpose: unblock provenance enrichment for runtime facts so SIGNALS-24-003 can advance once CAS promotion is approved. + +## Required fields (per runtime fact) +- `callgraph_id` (matches CAS manifest id) +- `ingested_at` (UTC ISO-8601), `received_at` +- `tenant` +- `source` (host/service emitting facts) +- `pipeline_version` (git SHA or build ID) +- `provenance_hash` (sha256 of raw fact blob) +- `signer` (key id) and optional `rekor_uuid` or `skip_reason: offline` + +## Steps +1) Freeze provenance JSON schema (`provenance.runtime.fact.v1`). +2) Add enrichment stage writing provenance into CAS alongside runtime facts. +3) Emit DSSE attestation per batch of runtime facts; store in CAS. +4) Update `/signals/runtime-facts/ndjson` handler to return `provenance_hash` and `callgraph_id` when available. +5) Add validation tests to ensure add-only evolution and deterministic ordering. + +## Deliverables +- Schema file: `docs/signals/provenance-24-003.md` (this file) with field list and invariants. +- Test fixtures: reuse `tests/reachability/corpus/*/vex.openvex.json` provenance anchors; add `provenance_hash` coverage to `ReachabilityLatticeTests` when available. + +## Owners +- Signals Guild (implementation) +- Runtime Guild (schema review) +- Authority Guild (signing/attestation) + +## Status +- Checklist published 2025-11-19; awaiting schema/signing approval to proceed. diff --git a/local-nugets/StellaOps.Policy.AuthSignals.0.1.0-alpha.nupkg b/local-nugets/StellaOps.Policy.AuthSignals.0.1.0-alpha.nupkg new file mode 100644 index 000000000..f7111b5df Binary files /dev/null and b/local-nugets/StellaOps.Policy.AuthSignals.0.1.0-alpha.nupkg differ diff --git a/local-nugets/cronos/0.10.0/.nupkg.metadata b/local-nugets/cronos/0.10.0/.nupkg.metadata new file mode 100644 index 000000000..dfba0fb86 --- /dev/null +++ b/local-nugets/cronos/0.10.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "wHL4tr8mWTvrJt/4sI3raympCNVT4F3VJI4SJHA9A/wB+8Lsq84RFGQH9bHEtvNsN1lCBTKNk+uVoDotGcYJZA==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/local-nugets/cronos/0.10.0/.signature.p7s b/local-nugets/cronos/0.10.0/.signature.p7s new file mode 100644 index 000000000..0666242e8 Binary files /dev/null and b/local-nugets/cronos/0.10.0/.signature.p7s differ diff --git a/local-nugets/cronos/0.10.0/Cronos.nuspec b/local-nugets/cronos/0.10.0/Cronos.nuspec new file mode 100644 index 000000000..c8b6fc86c --- /dev/null +++ b/local-nugets/cronos/0.10.0/Cronos.nuspec @@ -0,0 +1,30 @@ + + + + Cronos + 0.10.0 + Cronos + Andrey Dorokhov, Sergey Odinokov + HangfireIO, odinserj + false + MIT + https://licenses.nuget.org/MIT + icon.png + README.md + https://github.com/HangfireIO/Cronos + A fully-featured .NET library for parsing cron expressions and calculating next occurrences that was designed with time zones in mind and correctly handles daylight saving time transitions. + https://github.com/HangfireIO/Cronos/releases + Copyright © 2016–2025 Hangfire OÜ. + Cronos Cron Recurring + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nugets/cronos/0.10.0/LICENSE b/local-nugets/cronos/0.10.0/LICENSE new file mode 100644 index 000000000..a900d60a8 --- /dev/null +++ b/local-nugets/cronos/0.10.0/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2017 Hangfire OÜ + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/local-nugets/cronos/0.10.0/README.md b/local-nugets/cronos/0.10.0/README.md new file mode 100644 index 000000000..36cfcc8f3 --- /dev/null +++ b/local-nugets/cronos/0.10.0/README.md @@ -0,0 +1,292 @@ +# Cronos +[![NuGet](https://img.shields.io/nuget/v/Cronos.svg)](https://www.nuget.org/packages/Cronos) [![Build status](https://ci.appveyor.com/api/projects/status/4elmix39mvr18cqf?svg=true)](https://ci.appveyor.com/project/hangfireio/cronos) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=HangfireIO_Cronos&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=HangfireIO_Cronos) [![Bugs](https://sonarcloud.io/api/project_badges/measure?project=HangfireIO_Cronos&metric=bugs)](https://sonarcloud.io/summary/new_code?id=HangfireIO_Cronos) [![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=HangfireIO_Cronos&metric=code_smells)](https://sonarcloud.io/summary/new_code?id=HangfireIO_Cronos) + +Cronos is a .NET library for parsing Cron expressions and calculating next occurrences. It was designed with time zones in mind, and intuitively handles [Daylight saving time](https://en.wikipedia.org/wiki/Daylight_saving_time) (also known as Summer time) transitions as in *nix Cron. + +*Please note this library doesn't include any task/job scheduler, it only works with Cron expressions.* + +* Supports standard Cron format with optional seconds. +* Supports non-standard characters like `L`, `W`, `#` and their combinations. +* Supports reversed ranges, like `23-01` (equivalent to `23,00,01`) or `DEC-FEB` (equivalent to `DEC,JAN,FEB`). +* Supports time zones, and performs all the date/time conversions for you. +* Does not skip occurrences, when the clock jumps forward to Daylight saving time (known as Summer time). +* Does not skip interval-based occurrences, when the clock jumps backward from Summer time. +* Does not retry non-interval based occurrences, when the clock jumps backward from Summer time. +* Contains 1000+ unit tests to ensure everything is working correctly. + +## Compatibility + +This section explains how Cron expressions should be converted, when moving to Cronos. + +Library | Comments +--- | --- +Vixie Cron | When both day-of-month and day-of-week are specified, Cronos uses AND operator for matching (Vixie Cron uses OR operator for backward compatibility). +Quartz.NET | Cronos uses different, but more intuitive Daylight saving time handling logic (as in Vixie Cron). Full month names such as `september` aren't supported. Day-of-week field in Cronos has different values, `0` and `7` stand for Sunday, `1` for Monday, etc. (as in Vixie Cron). Year field is not supported. +NCrontab | Compatible +CronNET | Compatible + +## Installation + +Cronos is distributed as a [NuGet package](http://www.nuget.org/packages/Cronos/), you can install it from the official NuGet Gallery. Please use the following command to install it using the NuGet Package Manager Console window. + +``` +PM> Install-Package Cronos +``` + +## Usage + +We've tried to do our best to make Cronos API as simple and predictable in corner cases as possible. So you can only use `DateTime` with `DateTimeKind.Utc` specified (for example, `DateTime.UtcNow`), or `DateTimeOffset` classes to calculate next occurrences. You **can not use** local `DateTime` objects (such as `DateTime.Now`), because this may lead to ambiguity during DST transitions, and an exception will be thrown if you attempt to use them. + +To calculate the next occurrence, you need to create an instance of the `CronExpression` class, and call its `GetNextOccurrence` method. To learn about Cron format, please refer to the next section. + +```csharp +using Cronos; + +CronExpression expression = CronExpression.Parse("* * * * *"); + +DateTime? nextUtc = expression.GetNextOccurrence(DateTime.UtcNow); +``` + +The `nextUtc` will contain the next occurrence in UTC, *after the given time*, or `null` value when it is unreachable (for example, Feb 30). If an invalid Cron expression is given, the `CronFormatException` exception is thrown. + +### Working with time zones + +It is possible to specify a time zone directly, in this case you should pass `DateTime` with `DateTimeKind.Utc` flag, or use `DateTimeOffset` class, that's is smart enough to always point to an exact, non-ambiguous instant. + +```csharp +CronExpression expression = CronExpression.Parse("* * * * *"); +TimeZoneInfo easternTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); + +DateTime? next = expression.GetNextOccurrence(DateTime.UtcNow, easternTimeZone); +DateTimeOffset? next = expression.GetNextOccurrence(DateTimeOffset.UtcNow, easternTimeZone); +``` + +If you passed a `DateTime` object, resulting time will be in UTC. If you used `DateTimeOffset`, resulting object will contain the **correct offset**, so don't forget to use it especially during DST transitions (see below). + +### Working with local time + +If you just want to make all the calculations using local time, you'll have to use the `DateTimeOffset` class, because as I've said earlier, `DateTime` objects may be ambiguous during Summer time transitions. You can get the resulting local time, using the `DateTimeOffset.DateTime` property. + +```csharp +CronExpression expression = CronExpression.Parse("* * * * *"); +DateTimeOffset? next = expression.GetNextOccurrence(DateTimeOffset.Now, TimeZoneInfo.Local); + +var nextLocalTime = next?.DateTime; +``` + +### Adding seconds to an expression + +If you want to specify seconds, use another overload of the `Parse` method and specify the `CronFormat` argument as below: + +```csharp +CronExpression expression = CronExpression.Parse("*/30 * * * * *", CronFormat.IncludeSeconds); +DateTime? next = expression.GetNextOccurrence(DateTime.UtcNow); +``` + +### Getting occurrences within a range + +You can also get occurrences within a fixed date/time range using the `GetOccurrences` method. By default, the `from` argument will be included when matched, and `to` argument will be excluded. However, you can configure that behavior. + +```csharp +CronExpression expression = CronExpression.Parse("* * * * *"); +IEnumerable occurrences = expression.GetOccurrences( + DateTime.UtcNow, + DateTime.UtcNow.AddYears(1), + fromInclusive: true, + toInclusive: false); +``` + +There are different overloads for this method to support `DateTimeOffset` arguments or time zones. + +## Cron format + +Cron expression is a mask to define fixed times, dates and intervals. The mask consists of second (optional), minute, hour, day-of-month, month and day-of-week fields. All of the fields allow you to specify multiple values, and any given date/time will satisfy the specified Cron expression, if all the fields contain a matching value. + + Allowed values Allowed special characters Comment + + ┌───────────── second (optional) 0-59 * , - / + │ ┌───────────── minute 0-59 * , - / + │ │ ┌───────────── hour 0-23 * , - / + │ │ │ ┌───────────── day of month 1-31 * , - / L W ? + │ │ │ │ ┌───────────── month 1-12 or JAN-DEC * , - / + │ │ │ │ │ ┌───────────── day of week 0-6 or SUN-SAT * , - / # L ? Both 0 and 7 means SUN + │ │ │ │ │ │ + * * * * * * + +### Base characters + +In all fields you can use number, `*` to mark field as *any value*, `-` to specify ranges of values. Reversed ranges like `22-1`(equivalent to `22,23,0,1,2`) are also supported. + +It's possible to define **step** combining `/` with `*`, numbers and ranges. For example, `*/5` in minute field describes *every 5 minute* and `1-15/3` in day-of-month field – *every 3 days from the 1st to the 15th*. Pay attention that `*/24` is just equivalent to `0,24,48` and `*/24` in minute field doesn't literally mean *every 24 minutes* it means *every 0,24,48 minute*. + +Concatinate values and ranges by `,`. Comma works like `OR` operator. So `3,5-11/3,12` is equivalent to `3,5,8,11,12`. + +In month and day-of-week fields, you can use names of months or days of weeks abbreviated to first three letters (`Jan-Dec` or `Mon-Sun`) instead of their numeric values. Full names like `JANUARY` or `MONDAY` **aren't supported**. + +For day of week field, both `0` and `7` stays for Sunday, 1 for Monday. + +| Expression | Description | +|----------------------|---------------------------------------------------------------------------------------| +| `* * * * *` | Every minute | +| `0 0 1 * *` | At midnight, on day 1 of every month | +| `*/5 * * * *` | Every 5 minutes | +| `30,45-15/2 1 * * *` | Every 2 minute from 1:00 AM to 01:15 AM and from 1:45 AM to 1:59 AM and at 1:30 AM | +| `0 0 * * MON-FRI` | At 00:00, Monday through Friday | + +### Special characters + +Most expressions you can describe using base characters. If you want to deal with more complex cases like *the last day of month* or *the 2nd Saturday* use special characters: + +**`L`** stands for "last". When used in the day-of-week field, it allows you to specify constructs such as *the last Friday* (`5L`or `FRIL`). In the day-of-month field, it specifies the last day of the month. + +**`W`** in day-of-month field is the nearest weekday. Use `W` with single value (not ranges, steps or `*`) to define *the nearest weekday* to the given day. In this case there are two base rules to determine occurrence: we should shift to **the nearest weekday** and **can't shift to different month**. Thus if given day is Saturday we shift to Friday, if it is Sunday we shift to Monday. **But** if given day is **the 1st day of month** (e.g. `0 0 1W * *`) and it is Saturday we shift to the 3rd Monday, if given day is **last day of month** (`0 0 31W 0 0`) and it is Sunday we shift to that Friday. Mix `L` (optionaly with offset) and `W` characters to specify *last weekday of month* `LW` or more complex like `L-5W`. + +**`#`** in day-of-week field allows to specify constructs such as *second Saturday* (`6#2` or `SAT#2`). + +**`?`** is synonym of `*`. It's supported but not obligatory, so `0 0 5 * ?` is the same as `0 0 5 * *`. + +| Expression | Description | +|-------------------|----------------------------------------------------------| +| `0 0 L * *` | At 00:00 AM on the last day of the month | +| `0 0 L-1 * *` | At 00:00 AM the day before the last day of the month | +| `0 0 3W * *` | At 00:00 AM, on the 3rd weekday of every month | +| `0 0 LW * *` | At 00:00 AM, on the last weekday of the month | +| `0 0 * * 2L` | At 00:00 AM on the last tuesday of the month | +| `0 0 * * 6#3` | At 00:00 AM on the third Saturday of the month | +| `0 0 ? 1 MON#1` | At 00:00 AM on the first Monday of the January | + +### Specify Day of month and Day of week + +You can set both **day-of-month** and **day-of-week**, it allows you to specify constructs such as **Friday the thirteenth**. Thus `0 0 13 * 5` means at 00:00, Friday the thirteenth. + +It differs from Unix crontab and Quartz cron implementations. Crontab handles it like `OR` operator: occurrence can happen in given day of month or given day of week. So `0 0 13 * 5` means *at 00:00 AM, every friday or every the 13th of a month*. Quartz doesn't allow specify both day-of-month and day-of-week. + +### Macro + +A macro is a string starting with `@` and representing a shortcut for simple cases like *every day* or *every minute*. + + Macro | Equivalent | Comment +----------------|---------------| ------- +`@every_second` | `* * * * * *` | Run once a second +`@every_minute` | `* * * * *` | Run once a minute at the beginning of the minute +`@hourly` | `0 * * * *` | Run once an hour at the beginning of the hour +`@daily` | `0 0 * * *` | Run once a day at midnight +`@midnight` | `0 0 * * *` | Run once a day at midnight +`@weekly` | `0 0 * * 0` | Run once a week at midnight on Sunday morning +`@monthly` | `0 0 1 * *` | Run once a month at midnight of the first day of the month +`@yearly` | `0 0 1 1 *` | Run once a year at midnight of 1 January +`@annually` | `0 0 1 1 *` | Run once a year at midnight of 1 January + +### Cron grammar + +Cronos parser uses following case-insensitive grammar: + +``` + cron ::= expression | macro + expression ::= [second space] minute space hour space day-of-month space month space day-of-week + second ::= field + minute ::= field + hour ::= field +day-of-month ::= '*' [step] | '?' [step] | lastday | value [ 'W' | range [list] ] + month ::= field + day-of-week ::= '*' [step] | '?' [step] | value [ dowspec | range [list] ] + macro ::= '@every_second' | '@every_minute' | '@hourly' | '@daily' | '@midnight' | '@weekly' | '@monthly'| + '@yearly' | '@annually' + field ::= '*' [step] | '?' [step] | value [range] [list] + list ::= { ',' value [range] } + range ::= '-' value [step] | [step] + step ::= '/' number + value ::= number | name + name ::= month-name | dow-name + month-name ::= 'JAN' | 'FEB' | 'MAR' | 'APR' | 'MAY' | 'JUN' | 'JUL' | 'AUG' | 'SEP' | 'OCT' | 'NOV' | 'DEC' + dow-name ::= 'SUN' | 'MON' | 'TUE' | 'WED' | 'THU' | 'FRI' | 'SAT' + dowspec ::= 'L' | '#' number + lastday ::= 'L' ['-' number] ['W'] + number ::= digit | number digit + space ::= ' ' | '\t' +``` + +## Daylight Saving Time + +Cronos is the only library to handle daylight saving time transitions in intuitive way with the same behavior as Vixie Cron (utility for *nix systems). During a spring transition, we don't skip occurrences scheduled to invalid time during. In an autumn transition we don't get duplicate occurrences for daily expressions, and don't skip interval expressions when the local time is ambiguous. + +### Transition to Summer time (in spring) + +During the transition to Summer time, the clock is moved forward, for example the next minute after `01:59 AM` is `03:00 AM`. So any daily Cron expression that should match `02:30 AM`, points to an invalid time. It doesn't exist, and can't be mapped to UTC. + +Cronos adjusts the next occurrence to the next valid time in these cases. If you use Cron to schedule jobs, you may have shorter or longer intervals between runs when this happen, but you'll not lose your jobs: + +``` +"30 02 * * *" (every day at 02:30 AM) + +Mar 13, 02:30 +03:00 – run +Mar 14, 03:00 +04:00 – run (adjusted) +Mar 15, 02:30 +04:00 – run +``` + +### Transition from Summer time (in autumn) + +When Daylight Saving Time ends you set the clocks backward so there is duration which repeats twice. For example, after `01:59 AM` you get `01:00 AM` again, so the interval between `01:00 AM` to `02:00 AM` (excluding) is ambiguous, and can be mapped to multiple UTC offsets. + +We don't want to have multiple occurrences of daily expressions during this transition, but at the same time we want to schedule interval expressions as usually, without skipping them. So we have different behavior for different Cron expressions. + +#### Interval expression + +Cron expression is **interval based** whose second, minute or hour field contains `*`, ranges or steps, e.g. `30 * * * *` (hour field), `* 1 * * *` (minute field), `0,5 0/10 1 * * *`. In this case there are expectations that occurrences should happen periodically during the day and this rule can't be broken by time transitions. Thus for **interval based** expressions occurrences will be before and after clock shifts. + +Consider `*/30 * * * *` interval expression. It should occur every 30 minutes no matter what. + +``` +Nov 08, 00:30 +04:00 – run +Nov 08, 01:00 +04:00 – run +Nov 08, 01:30 +04:00 – run +Nov 08, 01:00 +03:00 – run +Nov 08, 01:30 +03:00 – run +Nov 08, 02:00 +03:00 – run +``` + +#### Non-interval expression + +Cron expression is **non-interval based** whose second, minute or hour field **does not contain** `*`, ranges or steps, e.g. `0 30 1 * * *` or `0 0,45 1,2 * * *`. We expect they occur given number of times per day. Thus for **non-interval** expressions occurrences will be just before clock shifts. + +Consider `30 1 * * *` non-interval expression. It should occur once a day no matter what. + +``` +Nov 07, 01:30 +04:00 – run +Nov 08, 01:30 +04:00 – run +Nov 08, 01:30 +03:00 – skip +Nov 09, 01:30 +03:00 – run +``` + +## Benchmarks + +Since [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) project appeared, it's hard to ignore the performance. We tried hard to make Cronos not only feature-rich, but also really fast when parsing expressions and calculating next occurrences. As a result, Cronos is faster more than in an order of magnitude than alternative libraries, here is a small comparison: + +``` +Cronos Method | Mean | StdDev +------------------------------------------- | -------------- | ------------- +CronExpression.Parse("* * * * *") | 30.8473 ns | 0.0515 ns +CronExpression.Parse("*/10 12-20 ? DEC 3") | 81.5010 ns | 0.0924 ns +Simple.GetNextOccurrence(DateTime.UtcNow) | 123.4712 ns | 0.5928 ns +Complex.GetNextOccurrence(DateTime.UtcNow) | 212.0422 ns | 0.3997 ns + +NCrontab Method | Mean | StdDev +------------------------------------------- | -------------- | ------------- +CrontabSchedule.Parse("* * * * *") | 1,813.7313 ns | 3.3718 ns +CrontabSchedule.Parse("*/10 12-20 * DEC 3") | 3,174.3625 ns | 6.8522 ns +Simple.GetNextOccurrence(DateTime.UtcNow) | 147.7866 ns | 0.1689 ns +Complex.GetNextOccurrence(DateTime.UtcNow) | 1,001.3253 ns | 1.6205 ns + +Quartz Method | Mean | StdDev +------------------------------------------- | -------------- | ------------- +new CronExpression("* * * * * ?") | 48,157.7744 ns | 1,417.3101 ns +new CronExpression("* */10 12-20 ? DEC 3") | 33,731.9992 ns | 38.3192 ns +Simple.GetTimeAfter(DateTimeOffset.Now) | 1,416.9867 ns | 1.2784 ns +Complex.GetTimeAfter(DateTimeOffset.Now) | 6,573.0269 ns | 7.9192 ns +``` + +## License + +Copyright © 2017 Hangfire OÜ. Cronos is licensed under [The MIT License (MIT)][LICENSE]. + +[LICENSE]:LICENSE diff --git a/local-nugets/cronos/0.10.0/cronos.0.10.0.nupkg b/local-nugets/cronos/0.10.0/cronos.0.10.0.nupkg new file mode 100644 index 000000000..22ef3d39d Binary files /dev/null and b/local-nugets/cronos/0.10.0/cronos.0.10.0.nupkg differ diff --git a/local-nugets/cronos/0.10.0/cronos.0.10.0.nupkg.sha512 b/local-nugets/cronos/0.10.0/cronos.0.10.0.nupkg.sha512 new file mode 100644 index 000000000..9659f9f6b --- /dev/null +++ b/local-nugets/cronos/0.10.0/cronos.0.10.0.nupkg.sha512 @@ -0,0 +1 @@ +64VD5LS+VkoELCZnpOPRbc/jtYbKFdNFIykE/Pm7O+XB0zbwZyDQmrwYeQN6BLmmmevW/zDhBsK91Yrh0vinjQ== \ No newline at end of file diff --git a/local-nugets/cronos/0.10.0/icon.png b/local-nugets/cronos/0.10.0/icon.png new file mode 100644 index 000000000..b05a2eea2 Binary files /dev/null and b/local-nugets/cronos/0.10.0/icon.png differ diff --git a/local-nugets/cronos/0.10.0/lib/net40/Cronos.xml b/local-nugets/cronos/0.10.0/lib/net40/Cronos.xml new file mode 100644 index 000000000..74f9adcea --- /dev/null +++ b/local-nugets/cronos/0.10.0/lib/net40/Cronos.xml @@ -0,0 +1,211 @@ + + + + Cronos + + + + + Provides a parser and scheduler for cron expressions. + + + + + Represents a cron expression that fires on Jan 1st every year at midnight. + Equals to "0 0 1 1 *". + + + + + Represents a cron expression that fires every Sunday at midnight. + Equals to "0 0 * * 0". + + + + + Represents a cron expression that fires on 1st day of every month at midnight. + Equals to "0 0 1 * *". + + + + + Represents a cron expression that fires every day at midnight. + Equals to "0 0 * * *". + + + + + Represents a cron expression that fires every hour at the beginning of the hour. + Equals to "0 * * * *". + + + + + Represents a cron expression that fires every minute. + Equals to "* * * * *". + + + + + Represents a cron expression that fires every second. + Equals to "* * * * * *". + + + + + Constructs a new based on the specified + cron expression. It's supported expressions consisting of 5 fields: + minute, hour, day of month, month, day of week. + If you want to parse non-standard cron expressions use with specified CronFields argument. + See more: https://github.com/HangfireIO/Cronos + + + + + Constructs a new based on the specified + cron expression. It's supported expressions consisting of 5 or 6 fields: + second (optional), minute, hour, day of month, month, day of week. + See more: https://github.com/HangfireIO/Cronos + + + + + Constructs a new based on the specified cron expression with the + format. + A return value indicates whether the operation succeeded. + + + + + Constructs a new based on the specified cron expression with the specified + . + A return value indicates whether the operation succeeded. + + + + + Calculates next occurrence starting with (optionally ) in UTC time zone. + + + + + + Calculates next occurrence starting with (optionally ) in given + + + + + + Calculates next occurrence starting with (optionally ) in given + + + + + + Returns the list of next occurrences within the given date/time range, + including and excluding + by default, and UTC time zone. When none of the occurrences found, an + empty list is returned. + + + + + + Returns the list of next occurrences within the given date/time range, including + and excluding by default, and + specified time zone. When none of the occurrences found, an empty list is returned. + + + + + + Returns the list of occurrences within the given date/time offset range, + including and excluding by + default. When none of the occurrences found, an empty list is returned. + + + + + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; + otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data + structures like a hash table. + + + + + Implements the operator ==. + + + + + Implements the operator !=. + + + + + Defines the cron format options that customize string parsing for . + + + + + Parsing string must contain only 5 fields: minute, hour, day of month, month, day of week. + + + + + Second field must be specified in parsing string. + + + + + Represents an exception that's thrown, when invalid Cron expression is given. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + + + + + + diff --git a/local-nugets/cronos/0.10.0/lib/net45/Cronos.xml b/local-nugets/cronos/0.10.0/lib/net45/Cronos.xml new file mode 100644 index 000000000..74f9adcea --- /dev/null +++ b/local-nugets/cronos/0.10.0/lib/net45/Cronos.xml @@ -0,0 +1,211 @@ + + + + Cronos + + + + + Provides a parser and scheduler for cron expressions. + + + + + Represents a cron expression that fires on Jan 1st every year at midnight. + Equals to "0 0 1 1 *". + + + + + Represents a cron expression that fires every Sunday at midnight. + Equals to "0 0 * * 0". + + + + + Represents a cron expression that fires on 1st day of every month at midnight. + Equals to "0 0 1 * *". + + + + + Represents a cron expression that fires every day at midnight. + Equals to "0 0 * * *". + + + + + Represents a cron expression that fires every hour at the beginning of the hour. + Equals to "0 * * * *". + + + + + Represents a cron expression that fires every minute. + Equals to "* * * * *". + + + + + Represents a cron expression that fires every second. + Equals to "* * * * * *". + + + + + Constructs a new based on the specified + cron expression. It's supported expressions consisting of 5 fields: + minute, hour, day of month, month, day of week. + If you want to parse non-standard cron expressions use with specified CronFields argument. + See more: https://github.com/HangfireIO/Cronos + + + + + Constructs a new based on the specified + cron expression. It's supported expressions consisting of 5 or 6 fields: + second (optional), minute, hour, day of month, month, day of week. + See more: https://github.com/HangfireIO/Cronos + + + + + Constructs a new based on the specified cron expression with the + format. + A return value indicates whether the operation succeeded. + + + + + Constructs a new based on the specified cron expression with the specified + . + A return value indicates whether the operation succeeded. + + + + + Calculates next occurrence starting with (optionally ) in UTC time zone. + + + + + + Calculates next occurrence starting with (optionally ) in given + + + + + + Calculates next occurrence starting with (optionally ) in given + + + + + + Returns the list of next occurrences within the given date/time range, + including and excluding + by default, and UTC time zone. When none of the occurrences found, an + empty list is returned. + + + + + + Returns the list of next occurrences within the given date/time range, including + and excluding by default, and + specified time zone. When none of the occurrences found, an empty list is returned. + + + + + + Returns the list of occurrences within the given date/time offset range, + including and excluding by + default. When none of the occurrences found, an empty list is returned. + + + + + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; + otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data + structures like a hash table. + + + + + Implements the operator ==. + + + + + Implements the operator !=. + + + + + Defines the cron format options that customize string parsing for . + + + + + Parsing string must contain only 5 fields: minute, hour, day of month, month, day of week. + + + + + Second field must be specified in parsing string. + + + + + Represents an exception that's thrown, when invalid Cron expression is given. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + + + + + + diff --git a/local-nugets/cronos/0.10.0/lib/net6.0/Cronos.xml b/local-nugets/cronos/0.10.0/lib/net6.0/Cronos.xml new file mode 100644 index 000000000..74f9adcea --- /dev/null +++ b/local-nugets/cronos/0.10.0/lib/net6.0/Cronos.xml @@ -0,0 +1,211 @@ + + + + Cronos + + + + + Provides a parser and scheduler for cron expressions. + + + + + Represents a cron expression that fires on Jan 1st every year at midnight. + Equals to "0 0 1 1 *". + + + + + Represents a cron expression that fires every Sunday at midnight. + Equals to "0 0 * * 0". + + + + + Represents a cron expression that fires on 1st day of every month at midnight. + Equals to "0 0 1 * *". + + + + + Represents a cron expression that fires every day at midnight. + Equals to "0 0 * * *". + + + + + Represents a cron expression that fires every hour at the beginning of the hour. + Equals to "0 * * * *". + + + + + Represents a cron expression that fires every minute. + Equals to "* * * * *". + + + + + Represents a cron expression that fires every second. + Equals to "* * * * * *". + + + + + Constructs a new based on the specified + cron expression. It's supported expressions consisting of 5 fields: + minute, hour, day of month, month, day of week. + If you want to parse non-standard cron expressions use with specified CronFields argument. + See more: https://github.com/HangfireIO/Cronos + + + + + Constructs a new based on the specified + cron expression. It's supported expressions consisting of 5 or 6 fields: + second (optional), minute, hour, day of month, month, day of week. + See more: https://github.com/HangfireIO/Cronos + + + + + Constructs a new based on the specified cron expression with the + format. + A return value indicates whether the operation succeeded. + + + + + Constructs a new based on the specified cron expression with the specified + . + A return value indicates whether the operation succeeded. + + + + + Calculates next occurrence starting with (optionally ) in UTC time zone. + + + + + + Calculates next occurrence starting with (optionally ) in given + + + + + + Calculates next occurrence starting with (optionally ) in given + + + + + + Returns the list of next occurrences within the given date/time range, + including and excluding + by default, and UTC time zone. When none of the occurrences found, an + empty list is returned. + + + + + + Returns the list of next occurrences within the given date/time range, including + and excluding by default, and + specified time zone. When none of the occurrences found, an empty list is returned. + + + + + + Returns the list of occurrences within the given date/time offset range, + including and excluding by + default. When none of the occurrences found, an empty list is returned. + + + + + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; + otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data + structures like a hash table. + + + + + Implements the operator ==. + + + + + Implements the operator !=. + + + + + Defines the cron format options that customize string parsing for . + + + + + Parsing string must contain only 5 fields: minute, hour, day of month, month, day of week. + + + + + Second field must be specified in parsing string. + + + + + Represents an exception that's thrown, when invalid Cron expression is given. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + + + + + + diff --git a/local-nugets/cronos/0.10.0/lib/netstandard1.0/Cronos.xml b/local-nugets/cronos/0.10.0/lib/netstandard1.0/Cronos.xml new file mode 100644 index 000000000..3f596e8ab --- /dev/null +++ b/local-nugets/cronos/0.10.0/lib/netstandard1.0/Cronos.xml @@ -0,0 +1,208 @@ + + + + Cronos + + + + + Provides a parser and scheduler for cron expressions. + + + + + Represents a cron expression that fires on Jan 1st every year at midnight. + Equals to "0 0 1 1 *". + + + + + Represents a cron expression that fires every Sunday at midnight. + Equals to "0 0 * * 0". + + + + + Represents a cron expression that fires on 1st day of every month at midnight. + Equals to "0 0 1 * *". + + + + + Represents a cron expression that fires every day at midnight. + Equals to "0 0 * * *". + + + + + Represents a cron expression that fires every hour at the beginning of the hour. + Equals to "0 * * * *". + + + + + Represents a cron expression that fires every minute. + Equals to "* * * * *". + + + + + Represents a cron expression that fires every second. + Equals to "* * * * * *". + + + + + Constructs a new based on the specified + cron expression. It's supported expressions consisting of 5 fields: + minute, hour, day of month, month, day of week. + If you want to parse non-standard cron expressions use with specified CronFields argument. + See more: https://github.com/HangfireIO/Cronos + + + + + Constructs a new based on the specified + cron expression. It's supported expressions consisting of 5 or 6 fields: + second (optional), minute, hour, day of month, month, day of week. + See more: https://github.com/HangfireIO/Cronos + + + + + Constructs a new based on the specified cron expression with the + format. + A return value indicates whether the operation succeeded. + + + + + Constructs a new based on the specified cron expression with the specified + . + A return value indicates whether the operation succeeded. + + + + + Calculates next occurrence starting with (optionally ) in UTC time zone. + + + + + + Calculates next occurrence starting with (optionally ) in given + + + + + + Calculates next occurrence starting with (optionally ) in given + + + + + + Returns the list of next occurrences within the given date/time range, + including and excluding + by default, and UTC time zone. When none of the occurrences found, an + empty list is returned. + + + + + + Returns the list of next occurrences within the given date/time range, including + and excluding by default, and + specified time zone. When none of the occurrences found, an empty list is returned. + + + + + + Returns the list of occurrences within the given date/time offset range, + including and excluding by + default. When none of the occurrences found, an empty list is returned. + + + + + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; + otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data + structures like a hash table. + + + + + Implements the operator ==. + + + + + Implements the operator !=. + + + + + Defines the cron format options that customize string parsing for . + + + + + Parsing string must contain only 5 fields: minute, hour, day of month, month, day of week. + + + + + Second field must be specified in parsing string. + + + + + Represents an exception that's thrown, when invalid Cron expression is given. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + + + diff --git a/local-nugets/cronos/0.10.0/lib/netstandard2.0/Cronos.xml b/local-nugets/cronos/0.10.0/lib/netstandard2.0/Cronos.xml new file mode 100644 index 000000000..74f9adcea --- /dev/null +++ b/local-nugets/cronos/0.10.0/lib/netstandard2.0/Cronos.xml @@ -0,0 +1,211 @@ + + + + Cronos + + + + + Provides a parser and scheduler for cron expressions. + + + + + Represents a cron expression that fires on Jan 1st every year at midnight. + Equals to "0 0 1 1 *". + + + + + Represents a cron expression that fires every Sunday at midnight. + Equals to "0 0 * * 0". + + + + + Represents a cron expression that fires on 1st day of every month at midnight. + Equals to "0 0 1 * *". + + + + + Represents a cron expression that fires every day at midnight. + Equals to "0 0 * * *". + + + + + Represents a cron expression that fires every hour at the beginning of the hour. + Equals to "0 * * * *". + + + + + Represents a cron expression that fires every minute. + Equals to "* * * * *". + + + + + Represents a cron expression that fires every second. + Equals to "* * * * * *". + + + + + Constructs a new based on the specified + cron expression. It's supported expressions consisting of 5 fields: + minute, hour, day of month, month, day of week. + If you want to parse non-standard cron expressions use with specified CronFields argument. + See more: https://github.com/HangfireIO/Cronos + + + + + Constructs a new based on the specified + cron expression. It's supported expressions consisting of 5 or 6 fields: + second (optional), minute, hour, day of month, month, day of week. + See more: https://github.com/HangfireIO/Cronos + + + + + Constructs a new based on the specified cron expression with the + format. + A return value indicates whether the operation succeeded. + + + + + Constructs a new based on the specified cron expression with the specified + . + A return value indicates whether the operation succeeded. + + + + + Calculates next occurrence starting with (optionally ) in UTC time zone. + + + + + + Calculates next occurrence starting with (optionally ) in given + + + + + + Calculates next occurrence starting with (optionally ) in given + + + + + + Returns the list of next occurrences within the given date/time range, + including and excluding + by default, and UTC time zone. When none of the occurrences found, an + empty list is returned. + + + + + + Returns the list of next occurrences within the given date/time range, including + and excluding by default, and + specified time zone. When none of the occurrences found, an empty list is returned. + + + + + + Returns the list of occurrences within the given date/time offset range, + including and excluding by + default. When none of the occurrences found, an empty list is returned. + + + + + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; + otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data + structures like a hash table. + + + + + Implements the operator ==. + + + + + Implements the operator !=. + + + + + Defines the cron format options that customize string parsing for . + + + + + Parsing string must contain only 5 fields: minute, hour, day of month, month, day of week. + + + + + Second field must be specified in parsing string. + + + + + Represents an exception that's thrown, when invalid Cron expression is given. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + a specified error message. + + + + + Initializes a new instance of the class with + a specified error message and a reference to the inner exception that is the + cause of this exception. + + + + + + + diff --git a/local-nugets/dnsclient/1.6.1/.nupkg.metadata b/local-nugets/dnsclient/1.6.1/.nupkg.metadata new file mode 100644 index 000000000..c6e083944 --- /dev/null +++ b/local-nugets/dnsclient/1.6.1/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "4H/f2uYJOZ+YObZjpY9ABrKZI+JNw3uizp6oMzTXwDw6F+2qIPhpRl/1t68O/6e98+vqNiYGu+lswmwdYUy3gg==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/local-nugets/dnsclient/1.6.1/.signature.p7s b/local-nugets/dnsclient/1.6.1/.signature.p7s new file mode 100644 index 000000000..e3a975f61 Binary files /dev/null and b/local-nugets/dnsclient/1.6.1/.signature.p7s differ diff --git a/local-nugets/dnsclient/1.6.1/DnsClient.nuspec b/local-nugets/dnsclient/1.6.1/DnsClient.nuspec new file mode 100644 index 000000000..7bd30d385 --- /dev/null +++ b/local-nugets/dnsclient/1.6.1/DnsClient.nuspec @@ -0,0 +1,45 @@ + + + + DnsClient + 1.6.1 + MichaCo + Apache-2.0 + https://licenses.nuget.org/Apache-2.0 + icon.png + http://dnsclient.michaco.net/ + DnsClient.NET is a simple yet very powerful and high performance open source library for the .NET Framework to do DNS lookups + Copyright (c) 2021 Michael Conrad + dns client stub resolver name server core service discovery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nugets/dnsclient/1.6.1/dnsclient.1.6.1.nupkg b/local-nugets/dnsclient/1.6.1/dnsclient.1.6.1.nupkg new file mode 100644 index 000000000..5779c3966 Binary files /dev/null and b/local-nugets/dnsclient/1.6.1/dnsclient.1.6.1.nupkg differ diff --git a/local-nugets/dnsclient/1.6.1/dnsclient.1.6.1.nupkg.sha512 b/local-nugets/dnsclient/1.6.1/dnsclient.1.6.1.nupkg.sha512 new file mode 100644 index 000000000..202e7a3ec --- /dev/null +++ b/local-nugets/dnsclient/1.6.1/dnsclient.1.6.1.nupkg.sha512 @@ -0,0 +1 @@ +zFRP0MFIwSEYYo6wcLc7bFJANsVY6tj08Vkq+8x6xbz0hvYqTmMM76Eg9mbzoWbDuJWWrWIDlmt/Ia7HwrPVXg== \ No newline at end of file diff --git a/local-nugets/dnsclient/1.6.1/icon.png b/local-nugets/dnsclient/1.6.1/icon.png new file mode 100644 index 000000000..8eb9269c1 Binary files /dev/null and b/local-nugets/dnsclient/1.6.1/icon.png differ diff --git a/local-nugets/dnsclient/1.6.1/lib/net45/DnsClient.xml b/local-nugets/dnsclient/1.6.1/lib/net45/DnsClient.xml new file mode 100644 index 000000000..5d9353c9c --- /dev/null +++ b/local-nugets/dnsclient/1.6.1/lib/net45/DnsClient.xml @@ -0,0 +1,5071 @@ + + + + DnsClient + + + + + As defined in https://tools.ietf.org/html/rfc1035#section-5.1 except '()' or '@' or '.' + + + + + The flags of the header's second 16bit value + + + + + A representing an IPv6 . + + A 128 bit IPv6 address is encoded in the data portion of an AAAA + resource record in network byte order(high-order byte first). + + + RFC 3596 + + + + Initializes a new instance of the class. + + + + + + Base class for s transporting an . + + + + + + + Gets the . + + + The address. + + + + + Initializes a new instance of the class. + + The information. + The address. + If is null. + If or is null + + + + A representing an AFS database location. + + RFC 1183 + RFC 5864 + + + + Gets the . + + + The sub type. + + + + + Gets the hostname. + + + The hostname. + + + + + Initializes a new instance of the class. + + The information. + The type. + The name. + If or is null. + + + + Type used by . + + + + + AFS is a registered trademark of Transarc Corporation + + + + + The Distributed Computing Environment + + + + + A representing an IPv4 . + Hosts that have multiple Internet addresses will have multiple A records. + + RFC 1035 + + + + Initializes a new instance of the class. + + + + + + A representing a certification authority authorization. + + The Certification Authority Authorization (CAA) DNS Resource Record + allows a DNS domain name holder to specify one or more Certification + Authorities(CAs) authorized to issue certificates for that domain. + + + CAA Resource Records allow a public Certification Authority to + implement additional controls to reduce the risk of unintended + certificate mis-issue.This document defines the syntax of the CAA + record and rules for processing CAA records by certificate issuers. + + + RFC 6844 + + + + One octet containing the flags. + + + + + The property identifier, a sequence of US-ASCII characters. + + + + + A sequence of octets representing the property value. + Property values are encoded as binary values and MAY employ sub-formats. + + + + + Initializes a new instance of the class. + + The information. + The flags. + The tag. + The value. + If or or is null. + + + + A representing the canonical name for an alias. + + RFC 1035 + + + + Gets the canonical name for an alias. + + + The canonical name. + + + + + Initializes a new instance of the class. + + The information. + The canonical name. + If or is null. + + + + a representing a DnsKey record. + + + + + + Gets the DNSKEY's flags value. + + + + + Gets the DNSKEY's protocol value. + The value must be 3, and the MUST be treated as invalid + during signature verification if it is found to be some value other than 3. + + + + + Gets the 's cryptographic algorithm and determines the format of the . + + + + + Gets the public key material. + The format depends on the of the key being stored. + + + + + Gets the base64 string representation of the . + + + + + Initializes a new instance of the class + + + + + + + If or is null. + + + + Base class for all resource records. + + + + + + Initializes a new instance of the class. + + The information. + If is null. + + + + + + + Same as ToString but offsets the + by . + Set the offset to -32 for example to make it print nicely in consoles. + + The offset. + A string representing this instance. + + + + Returns a string representation of the record's value only. + uses this to compose the full string value of this instance. + + A string representing this record. + + + + The type represents a . + + + + + The domain name used to query. + + + + + Specifies type of resource record. + + + + + Specifies type class of resource record, mostly IN but can be CS, CH or HS . + + + + + Gets the current time to live value for the record. + + + + + Gets or sets the original time to live returned from the server. + + + + + Gets the number of bytes for this resource record stored in RDATA + + + + + Initializes a new instance of the class. + + The domain name used by the query. + Type of the record. + The record class. + The time to live. + Length of the raw data. + If is null. + + + + Initializes a new instance of the class. + + The used by the query. + Type of the record. + The record class. + The time to live. + Length of the raw data. + If is null or empty. + + + + a representing a DS record. + + + + + + Gets the key tag value of the referred to by this record. + + Key Tag Calculation + + + + Gets the algorithm of the referred to by this record. + + + + + Gets the algorithm used to construct the digest. + + + + + Gets the digest of the this record refers to. + + + + + Gets the hexadecimal string representation of the . + + + + + Initializes a new instance of the class + + If or is null. + + + + A not representing any specific resource record. + Used if unsupported s are found in the result. + + + + + + Initializes a new instance of the class. + + The information. + If is null. + + + + A used to acquire general information about a host. + + RFC 1035 + RFC 1010 + + + + Gets a string which specifies the CPU type. + + + The CPU. + + + + + Gets a string which specifies the operating system type. + + + The OS. + + + + + Initializes a new instance of the class. + + The information. + The CPU. + The OS. + If is null. + + + + A representing a domain name which specifies a host which has the specified mailbox. + + RFC 1035 + + + + Gets the domain name which specifies a host which has the specified mailbox. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + A representing a domain name which specifies a mailbox which is a member of the mail group specified by the domain name. + + RFC 1035 + + + + Gets a domain name which specifies a mailbox which is a member of the mail group specified by the domain name. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + A representing mailbox or mail list information. + + RFC 1035 + + + + Gets the domain name which specifies a mailbox which is responsible for the mailing list or mailbox. + + + The domain name. + + + + + Gets the domain name which specifies a mailbox which is to receive error messages related to the mailing list or mailbox. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The RMAILBX. + The EMAILBX. + If or or is null. + + + + A representing a mailbox rename domain name. + + RFC 1035 + + + + Gets the domain name which specifies a mailbox which is the proper rename of the specified mailbox. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + A representing a mail exchange. + + RFC 1035 + RFC 974 + + + + Gets a 16 bit integer which specifies the preference given to + this RR among others at the same owner. + Lower values are preferred. + + + + + A domain name which specifies a host willing to act as a mail exchange. + + + + + Initializes a new instance of the class. + + The information. + The preference. + Name of the domain. + If or is null. + + + + A representing Naming Authority Pointer + + RFC 2915 + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + Gets the order. + + + The order. + + + + + Gets the preference. + + + The preference. + + + + + Gets the flags. + + + The flags. + + + + + Gets the services. + + + The services. + + + + + Gets the regular expression. + + + The regular expression. + + + + + Gets the replacement. + + + The replacement. + + + + + Initializes a new instance of the class. + + The information. + The order. + The preference. + The flags. + The services. + The regular expression. + The replacement. + + + + a representing a NSEC3PARAM record. + + + + + + + Gets the cryptographic hash algorithm used to construct the hash-value. + + + + + Gets the flags field value containing 8 one-bit flags that can be used to indicate different processing. + All undefined flags must be zero. + The only flag defined by this specification is the Opt-Out flag. + + + + + Gets the number of additional times the hash function has been performed. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Initializes a new instance of the class + + If or is null. + + + + a representing a NSEC3 record. + + + + + + Gets the cryptographic hash algorithm used to construct the hash-value. + + + + + Gets the flags field value containing 8 one-bit flags that can be used to indicate different processing. + All undefined flags must be zero. + The only flag defined by this specification is the Opt-Out flag. + + + + + Gets the number of additional times the hash function has been performed. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Gets the name of the next hashed owner in hash order. + This value is in binary format. + + + + + Gets the name of the next hashed owner in hash order. + This value is in binary format. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the original owner name of the NSEC3 RR. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the original owner name of the NSEC3 RR. + + + + + Initializes a new instance of the class + + + If , , or is null. + + + + + a representing a NSEC record. + + + + + + Gets the next owner name (in the canonical ordering of the zone) that has authoritative data + or contains a delegation point NS RRset. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the NSEC RR's owner name. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the NSEC RR's owner name. + + + + + Initializes a new instance of the class + + If , or is null. + + + + A representing an authoritative name server. + + RFC 1035 + + + + Gets the domain name which specifies a host which should be authoritative for the specified class and domain. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The name. + If or is null. + + + + Experimental RR, not sure if the implementation is actually correct either (not tested). + + RFC 1035 + + + + Gets any data stored in this record. + + + The byte array. + + + + + Gets the raw data of this record as UTF8 string. + + + + + Initializes a new instance of the class. + + The information. + Anything. + If or is null. + + + + A options resource record. + + + + + A representing a pointer. These RRs are used + in special domains to point to some other location in the domain space. + + + RFC 1035 + + + + Gets the domain name which points to some location in the domain name space. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + The resource record types. The enum contains only the types supported by this library at this moment. + The is used to identify any . + + Resource record types are a subset of . + + + + + + + + A host address. + + RFC 1035 + + + + + An authoritative name server. + + RFC 1035 + + + + + A mail destination (OBSOLETE - use MX). + + RFC 1035 + + + + A mail forwarder (OBSOLETE - use MX). + + RFC 1035 + + + + The canonical name for an alias. + + RFC 1035 + + + + + Marks the start of a zone of authority. + + RFC 1035 + + + + + A mailbox domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A mail group member (EXPERIMENTAL). + + RFC 1035 + + + + + A mailbox rename domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A Null resource record (EXPERIMENTAL). + + RFC 1035 + + + + + A well known service description. + + RFC 3232 + + + + + A domain name pointer. + + RFC 1035 + + + + + Host information. + + RFC 1035 + RFC 1010 + + + + + Mailbox or mail list information. + + RFC 1035 + + + + + Mail exchange. + + RFC 1035 + RFC 974 + + + + + Text resources. + + RFC 1035 + RFC 1464 + + + + + Responsible Person. + + RFC 1183 + + + + + AFS Data Base location. + + RFC 1183 + RFC 5864 + + + + + An IPv6 host address. + + RFC 3596 + + + + + A resource record which specifies the location of the server(s) for a specific protocol and domain. + + RFC 2782 + + + + + The Naming Authority Pointer rfc3403 + + RFC 2915 + + + + + Option record. + + RFC 6891 + + + + DS rfc4034 + + RFC 4034 + + + + SSH finger print record. + + RFC 4255 + + + + RRSIG rfc3755. + + RFC 3755 + + + + NSEC rfc4034. + + RFC 4034 + + + + DNSKEY rfc4034. + + + + + + NSEC3 rfc5155. + + RFC 5155 + + + + NSEC3PARAM rfc5155. + + RFC 5155 + + + + TLSA rfc6698. + + RFC 6698 + + + + SPF records don't officially have a dedicated RR type, should be used instead. + The behavior of TXT and SPF are the same. + + + This library will return a TXT record but will set the header type to SPF if such a record is returned. + + RFC 7208 + + + + A Uniform Resource Identifier (URI) resource record. + + RFC 7553 + + + + + A certification authority authorization. + + RFC 6844 + + + + + A representing a responsible person. + + RFC 1183 + + + + Gets a domain name that specifies the mailbox for the responsible person. + + + The mailbox domain. + + + + + Gets a domain name for which TXT RR's exist. + + + The text domain. + + + + + Initializes a new instance of the class. + + The information. + The mailbox domain. + The text domain. + + If or or is null. + + + + + A representing a RRSIG record. + + + + + + + + Gets the type of the RRset that is covered by this . + + + + + Gets the cryptographic algorithm used to create the . + + + + + Gets the number of labels in the original RR owner name. + + + + + Gets the TTL of the covered RRset as it appears in the authoritative zone. + + + + + Gets the expiration date of the . + This record MUST NOT be used for authentication prior to the + and MUST NOT be used for authentication after the . + + + + + Gets the inception date of the . + This record MUST NOT be used for authentication prior to the + and MUST NOT be used for authentication after the . + + + + + Gets the key tag value of the that validates this . + + Key Tag Calculation + + + + Gets the value which identifies the owner name of the + that a validator is supposed to use to validate this . + + + + + Gets the cryptographic signature that covers the RRSIG RDATA (excluding the Signature field) + and the RRset specified by the RRSIG owner name, RRSIG class, and RRSIG Type Covered field. + The format of this field depends on the algorithm in use. + + + + + Gets the base64 string representation of the . + + + + + Initializes a new instance of the class. + + + + + + + + + + + + If , or is null. + + + + A representing a SOA (Start Of Authority) record. + + RFC 1035 + + + + Gets a 32 bit time value that specifies the upper limit on + the time interval that can elapse before the zone is no + longer authoritative. + + + The expiration. + + + + + Gets the unsigned 32 bit minimum TTL field that should be + exported with any RR from this zone. + + + The minimum TTL. + + + + + Gets the domain name of the name server that was the original or primary source of data for this zone. + + + The domain name. + + + + + Gets a 32 bit time interval before the zone should be refreshed. + + + The refresh time. + + + + + Gets a 32 bit time interval that should elapse before a failed refresh should be retried. + + + The retry time. + + + + + Gets a domain name which specifies the mailbox of the person responsible for this zone. + + + The responsible mailbox domain name. + + + + + Gets the unsigned 32 bit version number of the original copy + of the zone.Zone transfers preserve this value. This value wraps and should be compared using sequence space arithmetic. + + + The serial number. + + + + + Initializes a new instance of the class. + + The information. + Name original domain name. + Name responsible domain name. + The serial number. + The refresh time. + The retry time. + The expire time. + The minimum TTL. + + If or or is null. + + + + + A representing a location of the server(s) for a specific protocol and domain. + + RFC 2782 + + + + Gets the port. + + + The port. + + + + + Gets the priority. + + + The priority. + + + + + Gets the target domain name. + + + The target. + + + + + Gets the weight. + + + The weight. + + + + + Initializes a new instance of the class. + + The information. + The priority. + The weight. + The port. + The target. + If or is null. + + + + A representing an SSH fingerprint + + SSHFP RRs are used to hold SSH fingerprints. Upon connecting to a + host an SSH client may choose to query for this to check the fingerprint(s) + + + RFC 4255 + RFC 6594 + RFC 7479 + + + + + + The information. + The algorithm. + The fingerprint type. + The fingerprint. + + + + Algorithm used for the fingerprint + + + + + Fingerprint type used for the fingerprint + + + + + Fingerprint as defined in the RR + + + + + Algorithm used by + + + + + Reserved for later use + + + + + RSA + + + + + DSS + + + + + Elliptic Curve DSA + + + + + Edwards-curve DSA + + + + + Fingerprint type used by + + + + + Reserved for later use + + + + + SHA-1 fingerprint + + + + + SHA-256 fingerprint + + + + + A representing a TLSA record. + + + + + + + + Gets the , which specifies the provided association + that will be used to match the certificate presented in the TLS handshake. + + + + + Gets the , which specifies which part of the TLS certificate + presented by the server will be matched against the . + + + + + Gets the , which specifies how the is presented. + + + + + Gets the "certificate association data" to be matched. + + + + + Gets the string representation of the in hexadecimal. + + + + + Initializes a new instance of the class. + + + + + + + If or is null. + + + + The usage flag specifies the provided association that will be used to match the certificate presented in the TLS handshake. + + + + + Certificate authority constraint. + + + + + Service certificate constraint. + + + + + Trust Anchor Assertion. + + + + + Domain issued certificate. + + + + + Flag which specifies which part of the TLS certificate presented by the server will be matched against the association data. + + + + + Select the entire certificate for matching. + + + + + Select the public key for certificate matching. + + + + + Flag which specifies how the certificate association is presented. + + + + + Exact match, the entire information selected is present in the certificate association data. + + + + + SHA-256 hash of selected content. + + + + + SHA-512 hash of selected content. + + + + + A representing a text resource. + + TXT RRs are used to hold descriptive text. The semantics of the text + depends on the domain where it is found. + + + RFC 1035 + RFC 1464 + + + + Gets the list of TXT values of this resource record in escaped form, valid for root file. + + + See https://tools.ietf.org/html/rfc1035#section-5.1 for escape details. + + + + + Gets the actual UTF8 representation of the text values of this record. + + + + + Initializes a new instance of the class. + + The information. + The values. + The UTF8 values. + + If or or is null. + + + + + Experimental RR, not sure if the implementation is actually correct either (not tested). + + RFC 1035 + + + + Gets any data stored in this record. + + + The byte array. + + + + + Gets the unknown bytes as Base64 string. + + + + + Initializes a new instance of the class. + + The information. + The raw data. + If or is null. + + + + A representing a Uniform Resource Identifier (URI) resource. + + RFC 7553 + + + + Gets or sets the target Uri. + + + The target. + + + + + Gets or sets the priority. + + + The priority. + + + + + Gets or sets the weight. + + + The weight. + + + + + Initializes a new instance of the class. + + The information. + The priority. + The weight. + The target. + If or is null. + + + + A representing a Well Known Service description. + + + Instead of describing the supported protocols in RFCs, the list is now published on http://www.iana.org/. + + + RFC 3232, the most current update. + + + + Gets the address. + + + The address. + + + + + Gets the Protocol. + + + According to https://tools.ietf.org/html/rfc6335, only ports for TCP, UDP, DCCP and SCTP services will be assigned. + + + + + Gets the binary raw bitmap. + Use to determine which ports are actually configured. + + + + + Gets the list of assigned ports. + + For example, if this list contains port 25, which is assigned to + the SMTP service. This means that a SMTP services + is running on with transport . + + + Port numbers + + + + Initializes a new instance of the class. + + The information. + The address. + The protocol. + The raw data. + + If or or is null. + + + + + Specifies kind of query in this message. + This value is set by the originator of a query and copied into the response. + + + + + A standard query. + + RFC 1035 + + + + An inverse query. + + RFC 3425 + + + + A server status request. + + RFC 1035 + + + + Unassigned value + + + + + Notify query. + + RFC 1996 + + + + Update query. + + RFC 2136 + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Extension methods for the contract. + + The methods implement common queries which are more complex and have some business logic. + + + + + + The GetHostEntry method queries a DNS server for the IP addresses and aliases associated with the . + In case is an , GetHostEntry does a reverse lookup on that first to determine the hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname or . +
+
+ + The following code example uses the method to resolve an IP address or hostname to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The or host name to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostEntryAsync method queries a DNS server for the IP addresses and aliases associated with the . + In case is an , GetHostEntry does a reverse lookup on that first to determine the hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname or . +
+
+ + The following code example uses the method to resolve an IP address or hostname to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The or host name to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostEntry method does a reverse lookup on the IP , + and queries a DNS server for the IP addresses and aliases associated with the resolved hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname of the . +
+
+ + The following code example uses the method to resolve an IP address to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostEntryAsync method does a reverse lookup on the IP , + and queries a DNS server for the IP addresses and aliases associated with the resolved hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname of the . +
+
+ + The following code example uses the method to resolve an IP address to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostName method queries a DNS server to resolve the hostname of the via reverse lookup. + + The instance. + The to resolve. + + The hostname if the reverse lookup was successful or null, in case the host was not found. + If is set to true, this method will throw an instead of returning null! + + If is null. + If no host has been found and is true. + + + + The GetHostNameAsync method queries a DNS server to resolve the hostname of the via reverse lookup. + + The instance. + The to resolve. + + The hostname if the reverse lookup was successful or null, in case the host was not found. + If is set to true, this method will throw an instead of returning null! + + If is null. + If no host has been found and is true. + + + + The ResolveService method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + + The protocol of the service to query for. + Set it to or to not pass any protocol. + + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveServiceAsync method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + + The protocol of the service to query for. + Set it to or to not pass any protocol. + + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveService method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + An optional tag. Must not have any _ prefix. + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveService method does a lookup for {} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The name of the service to look for. Must have _ prefix and domain and protocol. + A collection of s. + If are null. + RFC 2782 + + + + The ResolveServiceAsync method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + An optional tag. Must not have any _ prefix. + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveServiceAsync method does a lookup for {} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The name of the service to look for. Must have _ prefix and domain and protocol. + A collection of s. + If are null. + RFC 2782 + + + + Constructs a DNS query string from the constituent parts. + + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + An optional tag. Must not have any _ prefix. + A service string that can be used in a DNS service query. + + + + Transforms a DNS query result into a collection of objects. + + The DNS + A collection of s. + + + + Extends by the property. + + + + + + Gets or sets the port. + + + The port of this entry. + + + + + Gets or sets priority of the original record. + Might be zero if not provided. + + + The priority of this entry. + + + + + Gets or sets weight of the original record. + Might be zero if not provided. + + + The weight of this entry. + + + + + The options used to override the defaults of per query. + + + + + The minimum payload size. Anything equal or less than that will default back to this value and might disable EDNS. + + + + + The maximum reasonable payload size. + + + + + Gets or sets a flag indicating whether each will contain a full documentation of the response(s). + Default is False. + + + + + + Gets or sets a flag indicating whether DNS queries should use response caching or not. + The cache duration is calculated by the resource record of the response. Usually, the lowest TTL is used. + Default is True. + + + In case the DNS Server returns records with a TTL of zero. The response cannot be cached. + + + + + Gets or sets a flag indicating whether DNS queries should instruct the DNS server to do recursive lookups, or not. + Default is True. + + The flag indicating if recursion should be used or not. + + + + Gets or sets the number of tries to get a response from one name server before trying the next one. + Only transient errors, like network or connection errors will be retried. + Default is 2 which will be three tries total. + + If all configured error out after retries, an exception will be thrown at the end. + + + The number of retries. + + + + Gets or sets a flag indicating whether the should throw a + in case the query result has a other than . + Default is False. + + + + If set to False, the query will return a result with an + which contains more information. + + + If set to True, any query method of will throw an if + the response header indicates an error. + + + If both, and are set to True, + will continue to query all configured . + If none of the servers yield a valid response, a will be thrown + with the error of the last response. + + + + + + + + Gets or sets a flag indicating whether the can cycle through all + configured on each consecutive request, basically using a random server, or not. + Default is True. + If only one is configured, this setting is not used. + + + + If False, configured endpoint will be used in random order. + If True, the order will be preserved. + + + Even if is set to True, the endpoint might still get + disabled and might not being used for some time if it errors out, e.g. no connection can be established. + + + + + + Gets or sets a flag indicating whether to query the next configured in case the response of the last query + returned a other than . + Default is True. + + + If True, lookup client will continue until a server returns a valid result, or, + if no yield a valid result, the last response with the error will be returned. + In case no server yields a valid result and is also enabled, an exception + will be thrown containing the error of the last response. + + If True and is enabled, the exception will be thrown on first encounter without trying any other servers. + + + + + + + Gets or sets a flag indicating whether to query the next configured + if the response does not have an error but the query was not answered by the response. + Default is True. + + + The query is answered if there is at least one in the answers section + matching the 's . + + If there are zero answers in the response, the query is not answered, independent of the . + If there are answers in the response, the is used to find a matching record, + query types and will be ignored by this check. + + + + + + Gets or sets the request timeout in milliseconds. is used for limiting the connection and request time for one operation. + Timeout must be greater than zero and less than . + If (or -1) is used, no timeout will be applied. + Default is 5 seconds. + + + If a very short timeout is configured, queries will more likely result in s. + + Important to note, s will be retried, if are not disabled (set to 0). + This should help in case one or more configured DNS servers are not reachable or under load for example. + + + + + + Gets or sets a flag indicating whether TCP should be used in case a UDP response is truncated. + Default is True. + + If False, truncated results will potentially yield no or incomplete answers. + + + + + + Gets or sets a flag indicating whether UDP should not be used at all. + Default is False. + + Enable this only if UDP cannot be used because of your firewall rules for example. + Also, zone transfers (see ) must use TCP only. + + + + + + Gets or sets the maximum buffer used for UDP requests. + Defaults to 4096. + + If this value is less or equal to 512 bytes, EDNS might be disabled. + + + + + + Gets or sets a flag indicating whether EDNS should be enabled and the DO flag should be set. + Defaults to False. + + + + + Gets or sets a flag indicating whether the DNS failures are being cached. The purpose of caching + failures is to reduce repeated lookup attempts within a short space of time. + Defaults to False. + + + + + Gets or sets the duration to cache failed lookups. Does not apply if failed lookups are not being cached. + Defaults to 5 seconds. + + + + + Converts the query options into readonly settings. + + The options. + + + + The options used to override the defaults of per query. + + + + + Creates a new instance of without name servers. + If no nameservers are configured, a query will fallback to the nameservers already configured on the instance. + + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Gets a list of name servers which should be used to query. + + + + + Converts the query options into readonly settings. + + The options. + + + + The options used to configure defaults in and to optionally use specific settings per query. + + + + + Creates a new instance of with default settings. + + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Gets or sets a flag indicating whether the name server collection should be automatically resolved. + Default is True. + + + If name servers are configured manually via the constructor, this flag is set to false. + If you want both, your manually configured servers and auto resolved name servers, + you can use both (ctor or) and set to True. + + + + + Gets or sets a which can override the TTL of a resource record in case the + TTL of the record is lower than this minimum value. + Default is Null. + + This is useful in case the server returns records with zero TTL. + + + + This setting gets ignored in case is set to False, + or the value is set to Null or . + The maximum value is 24 days or (choose a wise setting). + + + + + Gets a which can override the TTL of a resource record in case the + TTL of the record is higher than this maximum value. + Default is Null. + + + This setting gets ignored in case is set to False, + or the value is set to Null, or . + The maximum value is 24 days (which shouldn't be used). + + + + + The options used to override the defaults of per query. + + + + + Gets a flag indicating whether each will contain a full documentation of the response(s). + Default is False. + + + + + + Gets a flag indicating whether DNS queries should use response caching or not. + The cache duration is calculated by the resource record of the response. Usually, the lowest TTL is used. + Default is True. + + + In case the DNS Server returns records with a TTL of zero. The response cannot be cached. + + + + + Gets a flag indicating whether DNS queries should instruct the DNS server to do recursive lookups, or not. + Default is True. + + The flag indicating if recursion should be used or not. + + + + Gets the number of tries to get a response from one name server before trying the next one. + Only transient errors, like network or connection errors will be retried. + Default is 5. + + If all configured error out after retries, an exception will be thrown at the end. + + + The number of retries. + + + + Gets a flag indicating whether the should throw a + in case the query result has a other than . + Default is False. + + + + If set to False, the query will return a result with an + which contains more information. + + + If set to True, any query method of will throw an if + the response header indicates an error. + + + If both, and are set to True, + will continue to query all configured . + If none of the servers yield a valid response, a will be thrown + with the error of the last response. + + + + + + + + Gets a flag indicating whether the can cycle through all + configured on each consecutive request, basically using a random server, or not. + Default is True. + If only one is configured, this setting is not used. + + + + If False, configured endpoint will be used in random order. + If True, the order will be preserved. + + + Even if is set to True, the endpoint might still get + disabled and might not being used for some time if it errors out, e.g. no connection can be established. + + + + + + Gets a flag indicating whether to query the next configured in case the response of the last query + returned a other than . + Default is True. + + + If True, lookup client will continue until a server returns a valid result, or, + if no yield a valid result, the last response with the error will be returned. + In case no server yields a valid result and is also enabled, an exception + will be thrown containing the error of the last response. + + If True and is enabled, the exception will be thrown on first encounter without trying any other servers. + + + + + + + Gets or sets a flag indicating whether to query the next configured + if the response does not have an error but the query was not answered by the response. + Default is True. + + + The query is answered if there is at least one in the answers section + matching the 's . + + If there are zero answers in the response, the query is not answered, independent of the . + If there are answers in the response, the is used to find a matching record, + query types and will be ignored by this check. + + + + + + Gets the request timeout in milliseconds. is used for limiting the connection and request time for one operation. + Timeout must be greater than zero and less than . + If (or -1) is used, no timeout will be applied. + Default is 5 seconds. + + + If a very short timeout is configured, queries will more likely result in s. + + Important to note, s will be retried, if are not disabled (set to 0). + This should help in case one or more configured DNS servers are not reachable or under load for example. + + + + + + Gets a flag indicating whether TCP should be used in case a UDP response is truncated. + Default is True. + + If False, truncated results will potentially yield no or incomplete answers. + + + + + + Gets a flag indicating whether UDP should not be used at all. + Default is False. + + Enable this only if UDP cannot be used because of your firewall rules for example. + Also, zone transfers (see ) must use TCP only. + + + + + + Gets a flag indicating whether EDNS is enabled based on the values + of and . + + + + + Gets the maximum buffer used for UDP requests. + Defaults to 4096. + + If this value is less or equal to 512 bytes, EDNS might be disabled. + + + + + + Gets a flag indicating whether EDNS should be enabled and the DO flag should be set. + Defaults to False. + + + + + Gets a flag indicating whether the DNS failures are being cached. The purpose of caching + failures is to reduce repeated lookup attempts within a short space of time. + Defaults to False. + + + + + If failures are being cached this value indicates how long they will be held in the cache for. + Defaults to 5 seconds. + + + + + Creates a new instance of . + + + + + + + + + + + The readonly version of used to customize settings per query. + + + + + Gets a collection of name servers which should be used to query. + + + + + Creates a new instance of . + + + + + Creates a new instance of . + + + + + + + + + + + The readonly version of used as default settings in . + + + + + Creates a new instance of . + + + + + Gets a which can override the TTL of a resource record in case the + TTL of the record is lower than this minimum value. + Default is Null. + + This is useful in cases where the server returns records with zero TTL. + + + + This setting gets ignored in case is set to False. + The maximum value is 24 days or . + + + + + Gets a which can override the TTL of a resource record in case the + TTL of the record is higher than this maximum value. + Default is Null. + + + This setting gets ignored in case is set to False. + The maximum value is 24 days. + Setting it to would be equal to not providing a value. + + + + + + + + + + + The response returned by any query performed by with all answer sections, header and message information. + + + + + + + Gets the name server which responded with this result. + + + The name server. + + + + + Gets a list of additional records. + + + + + Gets a list of all answers, additional and authority records. + + + + + Gets the audit trail if . as set to true, null otherwise. + + + The audit trail. + + + + + Gets a list of answer records. + + + + + Gets a list of authority records. + + + + + Returns a string value representing the error response code in case an error occurred, + otherwise ''. + + + + + A flag indicating if the header contains a response code other than . + + + + + Gets the header of the response. + + + + + Gets the list of questions. + + + + + Gets the size of the message. + + + The size of the message. + + + + + Gets the settings used to produce this response. + + + + + + + + + + + The class transports information of the lookup query performed by . + + A list of questions is returned by (although, the list will always contain only one ). + + + + + + Gets the domain name the lookup was running for. + + + The name of the query. + + + + + Gets the question class. + + + The question class. + + + + + Gets the type of the question. + + + The type of the question. + + + + + Initializes a new instance of the class. + + The query. + Type of the question. + The question class. + If is null. + + + + Initializes a new instance of the class. + + The query. + Type of the question. + The question class. + If is null. + + + + + + + Returns the information of this instance in a friendly format with an optional . + + The optional offset which can be used for pretty printing. + The string representation of this instance. + + + + Represents a simple request message which can be send through . + + + + + 4 bit response codes of the 's header. + + RFC 6895 + + + + No error condition + + RFC 1035 + + + + Format error. The name server was unable to interpret the query. + + RFC 1035 + + + + Server failure. The name server was unable to process this query due to a problem with the name server. + + RFC 1035 + + + + Name Error. Meaningful only for responses from an authoritative name server, + this code signifies that the domain name referenced in the query does not exist. + + RFC 1035 + + + + Not Implemented. The name server does not support the requested kind of query. + + RFC 1035 + + + + Refused. The name server refuses to perform the specified operation for policy reasons. + For example, a name server may not wish to provide the information to the particular requester, + or a name server may not wish to perform a particular operation (e.g., zone transfer) for particular data. + + RFC 1035 + + + + Name Exists when it should not. + + RFC 2136 + + + + Resource record set exists when it should not. + + RFC 2136 + + + + Resource record set that should exist but does not. + + RFC 2136 + + + + Server Not Authoritative for zone / Not Authorized. + + RFC 2136 + RFC 2845 + + + + Name not contained in zone. + + RFC 2136 + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Extended response codes of the with OPT. + + RFC 6895 + + + + No error condition + + RFC 1035 + + + + Format error. The name server was unable to interpret the query. + + RFC 1035 + + + + Server failure. The name server was unable to process this query due to a problem with the name server. + + RFC 1035 + + + + Name Error. Meaningful only for responses from an authoritative name server, + this code signifies that the domain name referenced in the query does not exist. + + RFC 1035 + + + + Not Implemented. The name server does not support the requested kind of query. + + RFC 1035 + + + + Refused. The name server refuses to perform the specified operation for policy reasons. + For example, a name server may not wish to provide the information to the particular requester, + or a name server may not wish to perform a particular operation (e.g., zone transfer) for particular data. + + RFC 1035 + + + + Name Exists when it should not. + + RFC 2136 + + + + Resource record set exists when it should not. + + RFC 2136 + + + + Resource record set that should exist but does not. + + RFC 2136 + + + + Server Not Authoritative for zone / Not Authorized. + + RFC 2136 + RFC 2845 + + + + Name not contained in zone. + + RFC 2136 + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Bad OPT Version or TSIG Signature Failure. + + RFC 2671 + RFC 2845 + + + + Key not recognized. + + RFC 2845 + + + + Signature out of time window. + + RFC 2845 + + + + Bad TKEY Mode. + + RFC 2930 + + + + Duplicate key name. + + RFC 2930 + + + + Algorithm not supported. + + RFC 2930 + + + + Bad Truncation. + + RFC 4635 + + + + Bad/missing Server Cookie + + RFC 7873 + + + + Unknown error. + + + + + Indicates a timeout error. Connection to the remote server couldn't be established. + + + + + A DnsClient specific exception transporting additional information about the query causing this exception. + + + + + + Gets the response code. + + + The response code. + + + + + Gets the audit trail if . as set to true, null otherwise. + + + The audit trail. + + + + + Gets a human readable error message. + + + The error message. + + + + + Initializes a new instance of the class + with set to . + + + + + Initializes a new instance of the class + with set to + and a custom . + + + + + Initializes a new instance of the class + with the standard error text for the given . + + + + + Initializes a new instance of the class + with set to + and a custom and inner . + + + + + Initializes a new instance of the class + with a custom and the given . + + + + + Initializes a new instance of the class + with a custom and the given . + + + + + The header section of a . + + + + + Gets the number of additional records in the . + + + The number of additional records. + + + + + Gets the number of answer records in the . + + + The number of answer records. + + + + + Gets a value indicating whether the future use flag is set. + + + The future use flag. + + + + + Gets a value indicating whether this instance has authority answers. + + + true if this instance has authority answers; otherwise, false. + + + + + Gets the identifier. + + + The identifier. + + + + + Gets a value indicating whether the result is authentic data. + + + true if the result is authentic; otherwise, false. + + + + + Gets a value indicating whether checking is disabled. + + + true if checking is disabled; otherwise, false. + + + + + Gets a value indicating whether this instance has a query. + + + true if this instance has a query; otherwise, false. + + + + + Gets the number of name servers. + + + The number of name servers. + + + + + Gets the kind of query defined by . + + + The query kind. + + + + + Gets the number of questions of the . + + + The number of questions. + + + + + Gets a value indicating whether recursion is available on the DNS server. + + + true if recursion is available; otherwise, false. + + + + + Gets the response code. + + + The response code. + + + + + Gets a value indicating whether the result was truncated. + + + true if the result was truncated; otherwise, false. + + + + + Gets a value indicating whether recursion desired flag was set by the request. + + + true if the recursion desired flag was set; otherwise, false. + + + + + Initializes a new instance of the class. + + The identifier. + The flags. + The question count. + The answer count. + The additional count. + The server count. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the readonly representation of this message which can be returned. + + + + + The type is used to normalize and validate domain names and labels. + + + + + The ACE prefix indicates that the domain name label contains not normally supported characters and that the label has been encoded. + + + + + The maximum length in bytes for one label. + + + + + The maximum supported total length in bytes for a domain name. The calculation of the actual + bytes this consumes includes all bytes used for to encode it as octet string. + + + + + The root label ".". + + + + + Gets the original value. + + + + + Gets the validated and eventually modified value. + + + + + Gets the number of labels of this or null if not applicable. + This property is only set if the method was used to create this instance. + + + + + Performs an implicit conversion from to . + + The name. + + The result of the conversion. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parses the given and validates all labels. + + + An empty string will be interpreted as root label. + + A domain name. + The representing the given . + If is null. + + + + Transforms names with the to the Unicode variant and adds a trailing '.' at the end if not present. + The original value will be kept in this instance in case it is needed. + + + The method does not parse the domain name unless it contains a . + + The value to check. + The representation. + + + + Generic contract to query DNS endpoints. Implemented by . + + + + + Performs a DNS lookup for the given , and . + + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + + The which contains the response headers and lists of resource records. + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + Query options to be used instead of 's settings. + + The which contains the response headers and lists of resource records. + + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Returns cached results for the given from the in-memory cache, if available, or Null otherwise. + + + This method will not perform a full lookup if there is nothing found in cache or the cache is disabled! + + The domain name query. + + The which contains the cached response headers and lists of resource records. + If no matching cache entry is found Null is returned. + + + + + Returns cached results for the given , and + against the in-memory cache, if available, or Null otherwise. + + + This method will not perform a full lookup if there is nothing found in cache or the cache is disabled! + + The domain name query. + The . + The . + + The which contains the cached response headers and lists of resource records. + If no matching cache entry is found Null is returned. + + + + + Performs a DNS lookup for the given , and + + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + Query options to be used instead of 's settings. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + + The which might contain the for the . + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + Query options to be used instead of 's settings. + + The which might contain the for the . + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + The cancellation token. + + The which might contain the for the . + + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + Query options to be used instead of 's settings. + The cancellation token. + + The which might contain the for the . + + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + Query options to be used instead of 's settings. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If , or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + Query options to be used instead of 's settings. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If , or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + Query options to be used instead of 's settings. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If , or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + Query options to be used instead of 's settings. + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If , or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Contract defining the result of a query performed by . + + + + + + + Gets the list of questions. + + + + + Gets a list of additional records. + + + + + Gets a list of all answers, additional and authority records. + + + + + Gets a list of answer records. + + + + + Gets a list of authority records. + + + + + Gets the audit trail if . as set to true, null otherwise. + + + The audit trail. + + + + + Returns a string value representing the error response code in case an error occurred, + otherwise ''. + + + + + A flag indicating if the header contains a response code other than . + + + + + Gets the header of the response. + + + + + Gets the size of the message. + + + The size of the message. + + + + + Gets the name server which responded with this result. + + + The name server. + + + + + Gets the settings used to produce this response. + + + + + The contract for the LookupClient. + + The interfaces for the query methods and the lookup client properties are separated so that one can + inject or expose only the without exposing the configuration options. + + + + + + Gets the list of configured or resolved name servers of the instance. + + + + + Gets the configured settings of the instance. + + + + + Base32 encoder with the extended hey alphabet + + + See https://datatracker.ietf.org/doc/html/rfc4648#section-7 + + + RFC4648 + + + + Converts the specified string, which encodes binary data as base-32 digits + using the extended hex alphabet, to an equivalent 8-bit unsigned integer array. + + The string to convert. + An array of 8-bit unsigned integers that is equivalent to . + + + + Converts an array of 8-bit unsigned integers to its equivalent string + representation that is encoded with base-32 digits using the extended hex alphabet. + + An array of 8-bit unsigned integers. + The string representation in base 32 hex of . + + + + Resolve all names from the Name Resolution policy in Windows. + + Returns a list of name servers + + + + The is the main query class of this library and should be used for any kind of DNS lookup query. + + It implements and which contains a number of extension methods, too. + The extension methods internally all invoke the standard queries though. + + + + + + A basic example without specifying any DNS server, which will use the DNS server configured by your local network. + + + + + + + + + + + + + + Creates a new instance of without specifying any name server. + This will implicitly use the name server(s) configured by the local network adapter(s). + + + This uses . + The resulting list of name servers is highly dependent on the local network configuration and OS. + + + In the following example, we will create a new without explicitly defining any DNS server. + This will use the DNS server configured by your local network. + + + + + + + + Creates a new instance of with default settings and one or more DNS servers identified by their . + The default port 53 will be used for all s provided. + + The (s) to be used by this instance. + + Connecting to one or more DNS server using the default port: + + + + + If is null. + + + + Create a new instance of with default settings and one DNS server defined by and . + + The of the DNS server. + The port of the DNS server. + + Connecting to one specific DNS server which does not run on the default port 53: + + + + + If is null. + + + + Creates a new instance of with default settings and the given name servers. + + The (s) to be used by this instance. + + Connecting to one specific DNS server which does not run on the default port 53: + + + + + The class also contains predefined s for the public Google DNS servers, which can be used as follows: + + + + + + If is null. + + + + Creates a new instance of with default settings and the given name servers. + + The (s) to be used by this instance. + If is null. + + + + Creates a new instance of with custom settings. + + The options to use with this instance. + If is null. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a reverse lookup question for an . + + The address. + A with the proper arpa domain query for the given address. + + + + Represents a name server instance used by . + Also, comes with some static methods to resolve name servers from the local network configuration. + + + + + The default DNS server port. + + + + + The public Google DNS IPv4 endpoint. + + + + + The second public Google DNS IPv6 endpoint. + + + + + The public Google DNS IPv6 endpoint. + + + + + The second public Google DNS IPv6 endpoint. + + + + + A public Cloudflare DNS endpoint. + + + + + A public Cloudflare DNS endpoint. + + + + + A public Cloudflare DNS IPv6 endpoint. + + + + + A public Cloudflare DNS IPv6 endpoint. + + + + + Initializes a new instance of the class. + + The name server endpoint. + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + The name server port. + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + An optional DNS suffix (can be null). + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + The name server port. + An optional DNS suffix (can be null). + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + An optional DNS suffix (can be null). + If is null. + + + + Initializes a new instance of the class from a . + + The endpoint. + + + + Initializes a new instance of the class from a . + + The address. + + + + Gets the string representation of the configured . + + + + + Gets the port. + + + + + Gets the address family. + + + + + Gets the size of the supported UDP payload. + + This value might get updated by by reading the options records returned by a query. + + + + The size of the supported UDP payload. + + + + + Gets an optional DNS suffix which a resolver can use to append to queries or to find servers suitable for a query. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + + + + + + + + + + Gets a list of name servers by iterating over the available network interfaces. + + If is enabled, this method will return the Google public DNS endpoints if no + local DNS server was found. + + + If set to true local IPv6 sites are skipped. + If set to true the public Google DNS servers are returned if no other servers could be found. + + The list of name servers. + + + + + CLASS fields appear in resource records. + + + + + The Internet. + + + + + The CSNET class (Obsolete - used only for examples in some obsolete RFCs). + + + + + The CHAOS class. + + + + + Hesiod [Dyer 87]. + + + + + The query type field appear in the question part of a query. + Query types are a superset of . + + + + + A host address. + + RFC 1035 + + + + + An authoritative name server. + + RFC 1035 + + + + + A mail destination (OBSOLETE - use MX). + + RFC 1035 + + + + A mail forwarder (OBSOLETE - use MX). + + RFC 1035 + + + + The canonical name for an alias. + + RFC 1035 + + + + + Marks the start of a zone of authority. + + RFC 1035 + + + + + A mailbox domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A mail group member (EXPERIMENTAL). + + RFC 1035 + + + + + A mailbox rename domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A Null resource record (EXPERIMENTAL). + + RFC 1035 + + + + + A well known service description. + + RFC 3232 + + + + + A domain name pointer. + + RFC 1035 + + + + + Host information. + + RFC 1035 + RFC 1010 + + + + + Mailbox or mail list information. + + RFC 1035 + + + + + Mail exchange. + + RFC 1035 + RFC 974 + + + + + Text resources. + + RFC 1035 + RFC 1464 + + + + + Responsible Person. + + RFC 1183 + + + + + AFS Data Base location. + + RFC 1183 + RFC 5864 + + + + + An IPv6 host address. + + RFC 3596 + + + + + A resource record which specifies the location of the server(s) for a specific protocol and domain. + + RFC 2782 + + + + + The Naming Authority Pointer rfc2915 + + RFC 2915 + + + + + DS rfc4034 + + RFC 4034 + + + + RRSIG rfc3755. + + RFC 3755 + + + + NSEC rfc4034. + + RFC 4034 + + + + DNSKEY rfc4034 + + RFC 4034 + + + + NSEC3 rfc5155. + + RFC 5155 + + + + NSEC3PARAM rfc5155. + + RFC 5155 + + + + TLSA rfc6698 + + RFC 6698 + + + + SPF records don't officially have a dedicated RR type, should be used instead. + The behavior of TXT and SPF are the same. + + + This library will return a TXT record but will set the header type to SPF if such a record is returned. + + RFC 7208 + + + + DNS zone transfer request. + This can be used only if is set to true as AXFR is only supported via TCP. + + The DNS Server might only return results for the request if the client connection/IP is allowed to do so. + + + + + + Generic any query *. + + + + + A Uniform Resource Identifier (URI) resource record. + + RFC 7553 + + + + + A certification authority authorization. + + RFC 6844 + + + + + A SSH Fingerprint resource record. + + RFC 4255 + + + + + Gets or sets the DnsClient should use. + Per default it will log to . + + + + + Helper for reading config files where each row is a key-value data pair. + The input key-values must not have any whitespace within them. + Keys are only matched if they begin a line, with no preceding whitespace. + + + + + Constructs a new RowConfigReader which reads from the given string. + The string to parse through. + + + + + Constructs a new RowConfigReader which reads from the given string. + The string to parse through. + The comparison kind to use. + + + + + Gets the next occurrence of the given key, from the current position of the reader, + or throws if no occurrence of the key exists in the remainder of the string. + + + + + Tries to get the next occurrence of the given key from the current position of the reader. + If successful, returns true and stores the result in 'value'. Otherwise, returns false. + + + + + Gets the next occurrence of the key in the string, and parses it as an Int32. + Throws if the key is not found in the remainder of the string, or if the key + cannot be successfully parsed into an Int32. + + + This is mainly provided as a helper because most Linux config/info files + store integral data. + + + + + Reads the value of the first occurrence of the given key contained in the string given. + + The key-value row configuration string. + The key to find. + The value of the row containing the first occurrence of the key. + + + + Extension methods for . + + + + + Translates a IPv4 or IPv6 into an arpa address. + Used for reverse DNS lookup to get the domain name of the given . + + The address to translate. + The arpa representation of the address. + + + + + + + Extension methods for where T is . + + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only + + + The list of . + + + + Filters the elements of an to return s only + + + The list of . + + + + Filters the elements of an to return s + which have the . + + The records. + The to filter for. + The list of . + +
+
diff --git a/local-nugets/dnsclient/1.6.1/lib/net471/DnsClient.xml b/local-nugets/dnsclient/1.6.1/lib/net471/DnsClient.xml new file mode 100644 index 000000000..99094a5d3 --- /dev/null +++ b/local-nugets/dnsclient/1.6.1/lib/net471/DnsClient.xml @@ -0,0 +1,5090 @@ + + + + DnsClient + + + + + As defined in https://tools.ietf.org/html/rfc1035#section-5.1 except '()' or '@' or '.' + + + + + The flags of the header's second 16bit value + + + + + A representing an IPv6 . + + A 128 bit IPv6 address is encoded in the data portion of an AAAA + resource record in network byte order(high-order byte first). + + + RFC 3596 + + + + Initializes a new instance of the class. + + + + + + Base class for s transporting an . + + + + + + + Gets the . + + + The address. + + + + + Initializes a new instance of the class. + + The information. + The address. + If is null. + If or is null + + + + A representing an AFS database location. + + RFC 1183 + RFC 5864 + + + + Gets the . + + + The sub type. + + + + + Gets the hostname. + + + The hostname. + + + + + Initializes a new instance of the class. + + The information. + The type. + The name. + If or is null. + + + + Type used by . + + + + + AFS is a registered trademark of Transarc Corporation + + + + + The Distributed Computing Environment + + + + + A representing an IPv4 . + Hosts that have multiple Internet addresses will have multiple A records. + + RFC 1035 + + + + Initializes a new instance of the class. + + + + + + A representing a certification authority authorization. + + The Certification Authority Authorization (CAA) DNS Resource Record + allows a DNS domain name holder to specify one or more Certification + Authorities(CAs) authorized to issue certificates for that domain. + + + CAA Resource Records allow a public Certification Authority to + implement additional controls to reduce the risk of unintended + certificate mis-issue.This document defines the syntax of the CAA + record and rules for processing CAA records by certificate issuers. + + + RFC 6844 + + + + One octet containing the flags. + + + + + The property identifier, a sequence of US-ASCII characters. + + + + + A sequence of octets representing the property value. + Property values are encoded as binary values and MAY employ sub-formats. + + + + + Initializes a new instance of the class. + + The information. + The flags. + The tag. + The value. + If or or is null. + + + + A representing the canonical name for an alias. + + RFC 1035 + + + + Gets the canonical name for an alias. + + + The canonical name. + + + + + Initializes a new instance of the class. + + The information. + The canonical name. + If or is null. + + + + a representing a DnsKey record. + + + + + + Gets the DNSKEY's flags value. + + + + + Gets the DNSKEY's protocol value. + The value must be 3, and the MUST be treated as invalid + during signature verification if it is found to be some value other than 3. + + + + + Gets the 's cryptographic algorithm and determines the format of the . + + + + + Gets the public key material. + The format depends on the of the key being stored. + + + + + Gets the base64 string representation of the . + + + + + Initializes a new instance of the class + + + + + + + If or is null. + + + + Base class for all resource records. + + + + + + Initializes a new instance of the class. + + The information. + If is null. + + + + + + + Same as ToString but offsets the + by . + Set the offset to -32 for example to make it print nicely in consoles. + + The offset. + A string representing this instance. + + + + Returns a string representation of the record's value only. + uses this to compose the full string value of this instance. + + A string representing this record. + + + + The type represents a . + + + + + The domain name used to query. + + + + + Specifies type of resource record. + + + + + Specifies type class of resource record, mostly IN but can be CS, CH or HS . + + + + + Gets the current time to live value for the record. + + + + + Gets or sets the original time to live returned from the server. + + + + + Gets the number of bytes for this resource record stored in RDATA + + + + + Initializes a new instance of the class. + + The domain name used by the query. + Type of the record. + The record class. + The time to live. + Length of the raw data. + If is null. + + + + Initializes a new instance of the class. + + The used by the query. + Type of the record. + The record class. + The time to live. + Length of the raw data. + If is null or empty. + + + + a representing a DS record. + + + + + + Gets the key tag value of the referred to by this record. + + Key Tag Calculation + + + + Gets the algorithm of the referred to by this record. + + + + + Gets the algorithm used to construct the digest. + + + + + Gets the digest of the this record refers to. + + + + + Gets the hexadecimal string representation of the . + + + + + Initializes a new instance of the class + + If or is null. + + + + A not representing any specific resource record. + Used if unsupported s are found in the result. + + + + + + Initializes a new instance of the class. + + The information. + If is null. + + + + A used to acquire general information about a host. + + RFC 1035 + RFC 1010 + + + + Gets a string which specifies the CPU type. + + + The CPU. + + + + + Gets a string which specifies the operating system type. + + + The OS. + + + + + Initializes a new instance of the class. + + The information. + The CPU. + The OS. + If is null. + + + + A representing a domain name which specifies a host which has the specified mailbox. + + RFC 1035 + + + + Gets the domain name which specifies a host which has the specified mailbox. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + A representing a domain name which specifies a mailbox which is a member of the mail group specified by the domain name. + + RFC 1035 + + + + Gets a domain name which specifies a mailbox which is a member of the mail group specified by the domain name. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + A representing mailbox or mail list information. + + RFC 1035 + + + + Gets the domain name which specifies a mailbox which is responsible for the mailing list or mailbox. + + + The domain name. + + + + + Gets the domain name which specifies a mailbox which is to receive error messages related to the mailing list or mailbox. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The RMAILBX. + The EMAILBX. + If or or is null. + + + + A representing a mailbox rename domain name. + + RFC 1035 + + + + Gets the domain name which specifies a mailbox which is the proper rename of the specified mailbox. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + A representing a mail exchange. + + RFC 1035 + RFC 974 + + + + Gets a 16 bit integer which specifies the preference given to + this RR among others at the same owner. + Lower values are preferred. + + + + + A domain name which specifies a host willing to act as a mail exchange. + + + + + Initializes a new instance of the class. + + The information. + The preference. + Name of the domain. + If or is null. + + + + A representing Naming Authority Pointer + + RFC 2915 + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + Gets the order. + + + The order. + + + + + Gets the preference. + + + The preference. + + + + + Gets the flags. + + + The flags. + + + + + Gets the services. + + + The services. + + + + + Gets the regular expression. + + + The regular expression. + + + + + Gets the replacement. + + + The replacement. + + + + + Initializes a new instance of the class. + + The information. + The order. + The preference. + The flags. + The services. + The regular expression. + The replacement. + + + + a representing a NSEC3PARAM record. + + + + + + + Gets the cryptographic hash algorithm used to construct the hash-value. + + + + + Gets the flags field value containing 8 one-bit flags that can be used to indicate different processing. + All undefined flags must be zero. + The only flag defined by this specification is the Opt-Out flag. + + + + + Gets the number of additional times the hash function has been performed. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Initializes a new instance of the class + + If or is null. + + + + a representing a NSEC3 record. + + + + + + Gets the cryptographic hash algorithm used to construct the hash-value. + + + + + Gets the flags field value containing 8 one-bit flags that can be used to indicate different processing. + All undefined flags must be zero. + The only flag defined by this specification is the Opt-Out flag. + + + + + Gets the number of additional times the hash function has been performed. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Gets the name of the next hashed owner in hash order. + This value is in binary format. + + + + + Gets the name of the next hashed owner in hash order. + This value is in binary format. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the original owner name of the NSEC3 RR. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the original owner name of the NSEC3 RR. + + + + + Initializes a new instance of the class + + + If , , or is null. + + + + + a representing a NSEC record. + + + + + + Gets the next owner name (in the canonical ordering of the zone) that has authoritative data + or contains a delegation point NS RRset. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the NSEC RR's owner name. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the NSEC RR's owner name. + + + + + Initializes a new instance of the class + + If , or is null. + + + + A representing an authoritative name server. + + RFC 1035 + + + + Gets the domain name which specifies a host which should be authoritative for the specified class and domain. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The name. + If or is null. + + + + Experimental RR, not sure if the implementation is actually correct either (not tested). + + RFC 1035 + + + + Gets any data stored in this record. + + + The byte array. + + + + + Gets the raw data of this record as UTF8 string. + + + + + Initializes a new instance of the class. + + The information. + Anything. + If or is null. + + + + A options resource record. + + + + + A representing a pointer. These RRs are used + in special domains to point to some other location in the domain space. + + + RFC 1035 + + + + Gets the domain name which points to some location in the domain name space. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + The resource record types. The enum contains only the types supported by this library at this moment. + The is used to identify any . + + Resource record types are a subset of . + + + + + + + + A host address. + + RFC 1035 + + + + + An authoritative name server. + + RFC 1035 + + + + + A mail destination (OBSOLETE - use MX). + + RFC 1035 + + + + A mail forwarder (OBSOLETE - use MX). + + RFC 1035 + + + + The canonical name for an alias. + + RFC 1035 + + + + + Marks the start of a zone of authority. + + RFC 1035 + + + + + A mailbox domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A mail group member (EXPERIMENTAL). + + RFC 1035 + + + + + A mailbox rename domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A Null resource record (EXPERIMENTAL). + + RFC 1035 + + + + + A well known service description. + + RFC 3232 + + + + + A domain name pointer. + + RFC 1035 + + + + + Host information. + + RFC 1035 + RFC 1010 + + + + + Mailbox or mail list information. + + RFC 1035 + + + + + Mail exchange. + + RFC 1035 + RFC 974 + + + + + Text resources. + + RFC 1035 + RFC 1464 + + + + + Responsible Person. + + RFC 1183 + + + + + AFS Data Base location. + + RFC 1183 + RFC 5864 + + + + + An IPv6 host address. + + RFC 3596 + + + + + A resource record which specifies the location of the server(s) for a specific protocol and domain. + + RFC 2782 + + + + + The Naming Authority Pointer rfc3403 + + RFC 2915 + + + + + Option record. + + RFC 6891 + + + + DS rfc4034 + + RFC 4034 + + + + SSH finger print record. + + RFC 4255 + + + + RRSIG rfc3755. + + RFC 3755 + + + + NSEC rfc4034. + + RFC 4034 + + + + DNSKEY rfc4034. + + + + + + NSEC3 rfc5155. + + RFC 5155 + + + + NSEC3PARAM rfc5155. + + RFC 5155 + + + + TLSA rfc6698. + + RFC 6698 + + + + SPF records don't officially have a dedicated RR type, should be used instead. + The behavior of TXT and SPF are the same. + + + This library will return a TXT record but will set the header type to SPF if such a record is returned. + + RFC 7208 + + + + A Uniform Resource Identifier (URI) resource record. + + RFC 7553 + + + + + A certification authority authorization. + + RFC 6844 + + + + + A representing a responsible person. + + RFC 1183 + + + + Gets a domain name that specifies the mailbox for the responsible person. + + + The mailbox domain. + + + + + Gets a domain name for which TXT RR's exist. + + + The text domain. + + + + + Initializes a new instance of the class. + + The information. + The mailbox domain. + The text domain. + + If or or is null. + + + + + A representing a RRSIG record. + + + + + + + + Gets the type of the RRset that is covered by this . + + + + + Gets the cryptographic algorithm used to create the . + + + + + Gets the number of labels in the original RR owner name. + + + + + Gets the TTL of the covered RRset as it appears in the authoritative zone. + + + + + Gets the expiration date of the . + This record MUST NOT be used for authentication prior to the + and MUST NOT be used for authentication after the . + + + + + Gets the inception date of the . + This record MUST NOT be used for authentication prior to the + and MUST NOT be used for authentication after the . + + + + + Gets the key tag value of the that validates this . + + Key Tag Calculation + + + + Gets the value which identifies the owner name of the + that a validator is supposed to use to validate this . + + + + + Gets the cryptographic signature that covers the RRSIG RDATA (excluding the Signature field) + and the RRset specified by the RRSIG owner name, RRSIG class, and RRSIG Type Covered field. + The format of this field depends on the algorithm in use. + + + + + Gets the base64 string representation of the . + + + + + Initializes a new instance of the class. + + + + + + + + + + + + If , or is null. + + + + A representing a SOA (Start Of Authority) record. + + RFC 1035 + + + + Gets a 32 bit time value that specifies the upper limit on + the time interval that can elapse before the zone is no + longer authoritative. + + + The expiration. + + + + + Gets the unsigned 32 bit minimum TTL field that should be + exported with any RR from this zone. + + + The minimum TTL. + + + + + Gets the domain name of the name server that was the original or primary source of data for this zone. + + + The domain name. + + + + + Gets a 32 bit time interval before the zone should be refreshed. + + + The refresh time. + + + + + Gets a 32 bit time interval that should elapse before a failed refresh should be retried. + + + The retry time. + + + + + Gets a domain name which specifies the mailbox of the person responsible for this zone. + + + The responsible mailbox domain name. + + + + + Gets the unsigned 32 bit version number of the original copy + of the zone.Zone transfers preserve this value. This value wraps and should be compared using sequence space arithmetic. + + + The serial number. + + + + + Initializes a new instance of the class. + + The information. + Name original domain name. + Name responsible domain name. + The serial number. + The refresh time. + The retry time. + The expire time. + The minimum TTL. + + If or or is null. + + + + + A representing a location of the server(s) for a specific protocol and domain. + + RFC 2782 + + + + Gets the port. + + + The port. + + + + + Gets the priority. + + + The priority. + + + + + Gets the target domain name. + + + The target. + + + + + Gets the weight. + + + The weight. + + + + + Initializes a new instance of the class. + + The information. + The priority. + The weight. + The port. + The target. + If or is null. + + + + A representing an SSH fingerprint + + SSHFP RRs are used to hold SSH fingerprints. Upon connecting to a + host an SSH client may choose to query for this to check the fingerprint(s) + + + RFC 4255 + RFC 6594 + RFC 7479 + + + + + + The information. + The algorithm. + The fingerprint type. + The fingerprint. + + + + Algorithm used for the fingerprint + + + + + Fingerprint type used for the fingerprint + + + + + Fingerprint as defined in the RR + + + + + Algorithm used by + + + + + Reserved for later use + + + + + RSA + + + + + DSS + + + + + Elliptic Curve DSA + + + + + Edwards-curve DSA + + + + + Fingerprint type used by + + + + + Reserved for later use + + + + + SHA-1 fingerprint + + + + + SHA-256 fingerprint + + + + + A representing a TLSA record. + + + + + + + + Gets the , which specifies the provided association + that will be used to match the certificate presented in the TLS handshake. + + + + + Gets the , which specifies which part of the TLS certificate + presented by the server will be matched against the . + + + + + Gets the , which specifies how the is presented. + + + + + Gets the "certificate association data" to be matched. + + + + + Gets the string representation of the in hexadecimal. + + + + + Initializes a new instance of the class. + + + + + + + If or is null. + + + + The usage flag specifies the provided association that will be used to match the certificate presented in the TLS handshake. + + + + + Certificate authority constraint. + + + + + Service certificate constraint. + + + + + Trust Anchor Assertion. + + + + + Domain issued certificate. + + + + + Flag which specifies which part of the TLS certificate presented by the server will be matched against the association data. + + + + + Select the entire certificate for matching. + + + + + Select the public key for certificate matching. + + + + + Flag which specifies how the certificate association is presented. + + + + + Exact match, the entire information selected is present in the certificate association data. + + + + + SHA-256 hash of selected content. + + + + + SHA-512 hash of selected content. + + + + + A representing a text resource. + + TXT RRs are used to hold descriptive text. The semantics of the text + depends on the domain where it is found. + + + RFC 1035 + RFC 1464 + + + + Gets the list of TXT values of this resource record in escaped form, valid for root file. + + + See https://tools.ietf.org/html/rfc1035#section-5.1 for escape details. + + + + + Gets the actual UTF8 representation of the text values of this record. + + + + + Initializes a new instance of the class. + + The information. + The values. + The UTF8 values. + + If or or is null. + + + + + Experimental RR, not sure if the implementation is actually correct either (not tested). + + RFC 1035 + + + + Gets any data stored in this record. + + + The byte array. + + + + + Gets the unknown bytes as Base64 string. + + + + + Initializes a new instance of the class. + + The information. + The raw data. + If or is null. + + + + A representing a Uniform Resource Identifier (URI) resource. + + RFC 7553 + + + + Gets or sets the target Uri. + + + The target. + + + + + Gets or sets the priority. + + + The priority. + + + + + Gets or sets the weight. + + + The weight. + + + + + Initializes a new instance of the class. + + The information. + The priority. + The weight. + The target. + If or is null. + + + + A representing a Well Known Service description. + + + Instead of describing the supported protocols in RFCs, the list is now published on http://www.iana.org/. + + + RFC 3232, the most current update. + + + + Gets the address. + + + The address. + + + + + Gets the Protocol. + + + According to https://tools.ietf.org/html/rfc6335, only ports for TCP, UDP, DCCP and SCTP services will be assigned. + + + + + Gets the binary raw bitmap. + Use to determine which ports are actually configured. + + + + + Gets the list of assigned ports. + + For example, if this list contains port 25, which is assigned to + the SMTP service. This means that a SMTP services + is running on with transport . + + + Port numbers + + + + Initializes a new instance of the class. + + The information. + The address. + The protocol. + The raw data. + + If or or is null. + + + + + Specifies kind of query in this message. + This value is set by the originator of a query and copied into the response. + + + + + A standard query. + + RFC 1035 + + + + An inverse query. + + RFC 3425 + + + + A server status request. + + RFC 1035 + + + + Unassigned value + + + + + Notify query. + + RFC 1996 + + + + Update query. + + RFC 2136 + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Extension methods for the contract. + + The methods implement common queries which are more complex and have some business logic. + + + + + + The GetHostEntry method queries a DNS server for the IP addresses and aliases associated with the . + In case is an , GetHostEntry does a reverse lookup on that first to determine the hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname or . +
+
+ + The following code example uses the method to resolve an IP address or hostname to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The or host name to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostEntryAsync method queries a DNS server for the IP addresses and aliases associated with the . + In case is an , GetHostEntry does a reverse lookup on that first to determine the hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname or . +
+
+ + The following code example uses the method to resolve an IP address or hostname to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The or host name to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostEntry method does a reverse lookup on the IP , + and queries a DNS server for the IP addresses and aliases associated with the resolved hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname of the . +
+
+ + The following code example uses the method to resolve an IP address to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostEntryAsync method does a reverse lookup on the IP , + and queries a DNS server for the IP addresses and aliases associated with the resolved hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname of the . +
+
+ + The following code example uses the method to resolve an IP address to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostName method queries a DNS server to resolve the hostname of the via reverse lookup. + + The instance. + The to resolve. + + The hostname if the reverse lookup was successful or null, in case the host was not found. + If is set to true, this method will throw an instead of returning null! + + If is null. + If no host has been found and is true. + + + + The GetHostNameAsync method queries a DNS server to resolve the hostname of the via reverse lookup. + + The instance. + The to resolve. + + The hostname if the reverse lookup was successful or null, in case the host was not found. + If is set to true, this method will throw an instead of returning null! + + If is null. + If no host has been found and is true. + + + + The ResolveService method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + + The protocol of the service to query for. + Set it to or to not pass any protocol. + + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveServiceAsync method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + + The protocol of the service to query for. + Set it to or to not pass any protocol. + + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveService method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + An optional tag. Must not have any _ prefix. + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveService method does a lookup for {} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The name of the service to look for. Must have _ prefix and domain and protocol. + A collection of s. + If are null. + RFC 2782 + + + + The ResolveServiceAsync method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + An optional tag. Must not have any _ prefix. + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveServiceAsync method does a lookup for {} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The name of the service to look for. Must have _ prefix and domain and protocol. + A collection of s. + If are null. + RFC 2782 + + + + Constructs a DNS query string from the constituent parts. + + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + An optional tag. Must not have any _ prefix. + A service string that can be used in a DNS service query. + + + + Transforms a DNS query result into a collection of objects. + + The DNS + A collection of s. + + + + Extends by the property. + + + + + + Gets or sets the port. + + + The port of this entry. + + + + + Gets or sets priority of the original record. + Might be zero if not provided. + + + The priority of this entry. + + + + + Gets or sets weight of the original record. + Might be zero if not provided. + + + The weight of this entry. + + + + + The options used to override the defaults of per query. + + + + + The minimum payload size. Anything equal or less than that will default back to this value and might disable EDNS. + + + + + The maximum reasonable payload size. + + + + + Gets or sets a flag indicating whether each will contain a full documentation of the response(s). + Default is False. + + + + + + Gets or sets a flag indicating whether DNS queries should use response caching or not. + The cache duration is calculated by the resource record of the response. Usually, the lowest TTL is used. + Default is True. + + + In case the DNS Server returns records with a TTL of zero. The response cannot be cached. + + + + + Gets or sets a flag indicating whether DNS queries should instruct the DNS server to do recursive lookups, or not. + Default is True. + + The flag indicating if recursion should be used or not. + + + + Gets or sets the number of tries to get a response from one name server before trying the next one. + Only transient errors, like network or connection errors will be retried. + Default is 2 which will be three tries total. + + If all configured error out after retries, an exception will be thrown at the end. + + + The number of retries. + + + + Gets or sets a flag indicating whether the should throw a + in case the query result has a other than . + Default is False. + + + + If set to False, the query will return a result with an + which contains more information. + + + If set to True, any query method of will throw an if + the response header indicates an error. + + + If both, and are set to True, + will continue to query all configured . + If none of the servers yield a valid response, a will be thrown + with the error of the last response. + + + + + + + + Gets or sets a flag indicating whether the can cycle through all + configured on each consecutive request, basically using a random server, or not. + Default is True. + If only one is configured, this setting is not used. + + + + If False, configured endpoint will be used in random order. + If True, the order will be preserved. + + + Even if is set to True, the endpoint might still get + disabled and might not being used for some time if it errors out, e.g. no connection can be established. + + + + + + Gets or sets a flag indicating whether to query the next configured in case the response of the last query + returned a other than . + Default is True. + + + If True, lookup client will continue until a server returns a valid result, or, + if no yield a valid result, the last response with the error will be returned. + In case no server yields a valid result and is also enabled, an exception + will be thrown containing the error of the last response. + + If True and is enabled, the exception will be thrown on first encounter without trying any other servers. + + + + + + + Gets or sets a flag indicating whether to query the next configured + if the response does not have an error but the query was not answered by the response. + Default is True. + + + The query is answered if there is at least one in the answers section + matching the 's . + + If there are zero answers in the response, the query is not answered, independent of the . + If there are answers in the response, the is used to find a matching record, + query types and will be ignored by this check. + + + + + + Gets or sets the request timeout in milliseconds. is used for limiting the connection and request time for one operation. + Timeout must be greater than zero and less than . + If (or -1) is used, no timeout will be applied. + Default is 5 seconds. + + + If a very short timeout is configured, queries will more likely result in s. + + Important to note, s will be retried, if are not disabled (set to 0). + This should help in case one or more configured DNS servers are not reachable or under load for example. + + + + + + Gets or sets a flag indicating whether TCP should be used in case a UDP response is truncated. + Default is True. + + If False, truncated results will potentially yield no or incomplete answers. + + + + + + Gets or sets a flag indicating whether UDP should not be used at all. + Default is False. + + Enable this only if UDP cannot be used because of your firewall rules for example. + Also, zone transfers (see ) must use TCP only. + + + + + + Gets or sets the maximum buffer used for UDP requests. + Defaults to 4096. + + If this value is less or equal to 512 bytes, EDNS might be disabled. + + + + + + Gets or sets a flag indicating whether EDNS should be enabled and the DO flag should be set. + Defaults to False. + + + + + Gets or sets a flag indicating whether the DNS failures are being cached. The purpose of caching + failures is to reduce repeated lookup attempts within a short space of time. + Defaults to False. + + + + + Gets or sets the duration to cache failed lookups. Does not apply if failed lookups are not being cached. + Defaults to 5 seconds. + + + + + Converts the query options into readonly settings. + + The options. + + + + The options used to override the defaults of per query. + + + + + Creates a new instance of without name servers. + If no nameservers are configured, a query will fallback to the nameservers already configured on the instance. + + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Gets a list of name servers which should be used to query. + + + + + Converts the query options into readonly settings. + + The options. + + + + The options used to configure defaults in and to optionally use specific settings per query. + + + + + Creates a new instance of with default settings. + + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Gets or sets a flag indicating whether the name server collection should be automatically resolved. + Default is True. + + + If name servers are configured manually via the constructor, this flag is set to false. + If you want both, your manually configured servers and auto resolved name servers, + you can use both (ctor or) and set to True. + + + + + Gets or sets a which can override the TTL of a resource record in case the + TTL of the record is lower than this minimum value. + Default is Null. + + This is useful in case the server returns records with zero TTL. + + + + This setting gets ignored in case is set to False, + or the value is set to Null or . + The maximum value is 24 days or (choose a wise setting). + + + + + Gets a which can override the TTL of a resource record in case the + TTL of the record is higher than this maximum value. + Default is Null. + + + This setting gets ignored in case is set to False, + or the value is set to Null, or . + The maximum value is 24 days (which shouldn't be used). + + + + + The options used to override the defaults of per query. + + + + + Gets a flag indicating whether each will contain a full documentation of the response(s). + Default is False. + + + + + + Gets a flag indicating whether DNS queries should use response caching or not. + The cache duration is calculated by the resource record of the response. Usually, the lowest TTL is used. + Default is True. + + + In case the DNS Server returns records with a TTL of zero. The response cannot be cached. + + + + + Gets a flag indicating whether DNS queries should instruct the DNS server to do recursive lookups, or not. + Default is True. + + The flag indicating if recursion should be used or not. + + + + Gets the number of tries to get a response from one name server before trying the next one. + Only transient errors, like network or connection errors will be retried. + Default is 5. + + If all configured error out after retries, an exception will be thrown at the end. + + + The number of retries. + + + + Gets a flag indicating whether the should throw a + in case the query result has a other than . + Default is False. + + + + If set to False, the query will return a result with an + which contains more information. + + + If set to True, any query method of will throw an if + the response header indicates an error. + + + If both, and are set to True, + will continue to query all configured . + If none of the servers yield a valid response, a will be thrown + with the error of the last response. + + + + + + + + Gets a flag indicating whether the can cycle through all + configured on each consecutive request, basically using a random server, or not. + Default is True. + If only one is configured, this setting is not used. + + + + If False, configured endpoint will be used in random order. + If True, the order will be preserved. + + + Even if is set to True, the endpoint might still get + disabled and might not being used for some time if it errors out, e.g. no connection can be established. + + + + + + Gets a flag indicating whether to query the next configured in case the response of the last query + returned a other than . + Default is True. + + + If True, lookup client will continue until a server returns a valid result, or, + if no yield a valid result, the last response with the error will be returned. + In case no server yields a valid result and is also enabled, an exception + will be thrown containing the error of the last response. + + If True and is enabled, the exception will be thrown on first encounter without trying any other servers. + + + + + + + Gets or sets a flag indicating whether to query the next configured + if the response does not have an error but the query was not answered by the response. + Default is True. + + + The query is answered if there is at least one in the answers section + matching the 's . + + If there are zero answers in the response, the query is not answered, independent of the . + If there are answers in the response, the is used to find a matching record, + query types and will be ignored by this check. + + + + + + Gets the request timeout in milliseconds. is used for limiting the connection and request time for one operation. + Timeout must be greater than zero and less than . + If (or -1) is used, no timeout will be applied. + Default is 5 seconds. + + + If a very short timeout is configured, queries will more likely result in s. + + Important to note, s will be retried, if are not disabled (set to 0). + This should help in case one or more configured DNS servers are not reachable or under load for example. + + + + + + Gets a flag indicating whether TCP should be used in case a UDP response is truncated. + Default is True. + + If False, truncated results will potentially yield no or incomplete answers. + + + + + + Gets a flag indicating whether UDP should not be used at all. + Default is False. + + Enable this only if UDP cannot be used because of your firewall rules for example. + Also, zone transfers (see ) must use TCP only. + + + + + + Gets a flag indicating whether EDNS is enabled based on the values + of and . + + + + + Gets the maximum buffer used for UDP requests. + Defaults to 4096. + + If this value is less or equal to 512 bytes, EDNS might be disabled. + + + + + + Gets a flag indicating whether EDNS should be enabled and the DO flag should be set. + Defaults to False. + + + + + Gets a flag indicating whether the DNS failures are being cached. The purpose of caching + failures is to reduce repeated lookup attempts within a short space of time. + Defaults to False. + + + + + If failures are being cached this value indicates how long they will be held in the cache for. + Defaults to 5 seconds. + + + + + Creates a new instance of . + + + + + + + + + + + The readonly version of used to customize settings per query. + + + + + Gets a collection of name servers which should be used to query. + + + + + Creates a new instance of . + + + + + Creates a new instance of . + + + + + + + + + + + The readonly version of used as default settings in . + + + + + Creates a new instance of . + + + + + Gets a which can override the TTL of a resource record in case the + TTL of the record is lower than this minimum value. + Default is Null. + + This is useful in cases where the server returns records with zero TTL. + + + + This setting gets ignored in case is set to False. + The maximum value is 24 days or . + + + + + Gets a which can override the TTL of a resource record in case the + TTL of the record is higher than this maximum value. + Default is Null. + + + This setting gets ignored in case is set to False. + The maximum value is 24 days. + Setting it to would be equal to not providing a value. + + + + + + + + + + + The response returned by any query performed by with all answer sections, header and message information. + + + + + + + Gets the name server which responded with this result. + + + The name server. + + + + + Gets a list of additional records. + + + + + Gets a list of all answers, additional and authority records. + + + + + Gets the audit trail if . as set to true, null otherwise. + + + The audit trail. + + + + + Gets a list of answer records. + + + + + Gets a list of authority records. + + + + + Returns a string value representing the error response code in case an error occurred, + otherwise ''. + + + + + A flag indicating if the header contains a response code other than . + + + + + Gets the header of the response. + + + + + Gets the list of questions. + + + + + Gets the size of the message. + + + The size of the message. + + + + + Gets the settings used to produce this response. + + + + + + + + + + + The class transports information of the lookup query performed by . + + A list of questions is returned by (although, the list will always contain only one ). + + + + + + Gets the domain name the lookup was running for. + + + The name of the query. + + + + + Gets the question class. + + + The question class. + + + + + Gets the type of the question. + + + The type of the question. + + + + + Initializes a new instance of the class. + + The query. + Type of the question. + The question class. + If is null. + + + + Initializes a new instance of the class. + + The query. + Type of the question. + The question class. + If is null. + + + + + + + Returns the information of this instance in a friendly format with an optional . + + The optional offset which can be used for pretty printing. + The string representation of this instance. + + + + Represents a simple request message which can be send through . + + + + + 4 bit response codes of the 's header. + + RFC 6895 + + + + No error condition + + RFC 1035 + + + + Format error. The name server was unable to interpret the query. + + RFC 1035 + + + + Server failure. The name server was unable to process this query due to a problem with the name server. + + RFC 1035 + + + + Name Error. Meaningful only for responses from an authoritative name server, + this code signifies that the domain name referenced in the query does not exist. + + RFC 1035 + + + + Not Implemented. The name server does not support the requested kind of query. + + RFC 1035 + + + + Refused. The name server refuses to perform the specified operation for policy reasons. + For example, a name server may not wish to provide the information to the particular requester, + or a name server may not wish to perform a particular operation (e.g., zone transfer) for particular data. + + RFC 1035 + + + + Name Exists when it should not. + + RFC 2136 + + + + Resource record set exists when it should not. + + RFC 2136 + + + + Resource record set that should exist but does not. + + RFC 2136 + + + + Server Not Authoritative for zone / Not Authorized. + + RFC 2136 + RFC 2845 + + + + Name not contained in zone. + + RFC 2136 + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Extended response codes of the with OPT. + + RFC 6895 + + + + No error condition + + RFC 1035 + + + + Format error. The name server was unable to interpret the query. + + RFC 1035 + + + + Server failure. The name server was unable to process this query due to a problem with the name server. + + RFC 1035 + + + + Name Error. Meaningful only for responses from an authoritative name server, + this code signifies that the domain name referenced in the query does not exist. + + RFC 1035 + + + + Not Implemented. The name server does not support the requested kind of query. + + RFC 1035 + + + + Refused. The name server refuses to perform the specified operation for policy reasons. + For example, a name server may not wish to provide the information to the particular requester, + or a name server may not wish to perform a particular operation (e.g., zone transfer) for particular data. + + RFC 1035 + + + + Name Exists when it should not. + + RFC 2136 + + + + Resource record set exists when it should not. + + RFC 2136 + + + + Resource record set that should exist but does not. + + RFC 2136 + + + + Server Not Authoritative for zone / Not Authorized. + + RFC 2136 + RFC 2845 + + + + Name not contained in zone. + + RFC 2136 + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Bad OPT Version or TSIG Signature Failure. + + RFC 2671 + RFC 2845 + + + + Key not recognized. + + RFC 2845 + + + + Signature out of time window. + + RFC 2845 + + + + Bad TKEY Mode. + + RFC 2930 + + + + Duplicate key name. + + RFC 2930 + + + + Algorithm not supported. + + RFC 2930 + + + + Bad Truncation. + + RFC 4635 + + + + Bad/missing Server Cookie + + RFC 7873 + + + + Unknown error. + + + + + Indicates a timeout error. Connection to the remote server couldn't be established. + + + + + A DnsClient specific exception transporting additional information about the query causing this exception. + + + + + + Gets the response code. + + + The response code. + + + + + Gets the audit trail if . as set to true, null otherwise. + + + The audit trail. + + + + + Gets a human readable error message. + + + The error message. + + + + + Initializes a new instance of the class + with set to . + + + + + Initializes a new instance of the class + with set to + and a custom . + + + + + Initializes a new instance of the class + with the standard error text for the given . + + + + + Initializes a new instance of the class + with set to + and a custom and inner . + + + + + Initializes a new instance of the class + with a custom and the given . + + + + + Initializes a new instance of the class + with a custom and the given . + + + + + The header section of a . + + + + + Gets the number of additional records in the . + + + The number of additional records. + + + + + Gets the number of answer records in the . + + + The number of answer records. + + + + + Gets a value indicating whether the future use flag is set. + + + The future use flag. + + + + + Gets a value indicating whether this instance has authority answers. + + + true if this instance has authority answers; otherwise, false. + + + + + Gets the identifier. + + + The identifier. + + + + + Gets a value indicating whether the result is authentic data. + + + true if the result is authentic; otherwise, false. + + + + + Gets a value indicating whether checking is disabled. + + + true if checking is disabled; otherwise, false. + + + + + Gets a value indicating whether this instance has a query. + + + true if this instance has a query; otherwise, false. + + + + + Gets the number of name servers. + + + The number of name servers. + + + + + Gets the kind of query defined by . + + + The query kind. + + + + + Gets the number of questions of the . + + + The number of questions. + + + + + Gets a value indicating whether recursion is available on the DNS server. + + + true if recursion is available; otherwise, false. + + + + + Gets the response code. + + + The response code. + + + + + Gets a value indicating whether the result was truncated. + + + true if the result was truncated; otherwise, false. + + + + + Gets a value indicating whether recursion desired flag was set by the request. + + + true if the recursion desired flag was set; otherwise, false. + + + + + Initializes a new instance of the class. + + The identifier. + The flags. + The question count. + The answer count. + The additional count. + The server count. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the readonly representation of this message which can be returned. + + + + + The type is used to normalize and validate domain names and labels. + + + + + The ACE prefix indicates that the domain name label contains not normally supported characters and that the label has been encoded. + + + + + The maximum length in bytes for one label. + + + + + The maximum supported total length in bytes for a domain name. The calculation of the actual + bytes this consumes includes all bytes used for to encode it as octet string. + + + + + The root label ".". + + + + + Gets the original value. + + + + + Gets the validated and eventually modified value. + + + + + Gets the number of labels of this or null if not applicable. + This property is only set if the method was used to create this instance. + + + + + Performs an implicit conversion from to . + + The name. + + The result of the conversion. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parses the given and validates all labels. + + + An empty string will be interpreted as root label. + + A domain name. + The representing the given . + If is null. + + + + Transforms names with the to the Unicode variant and adds a trailing '.' at the end if not present. + The original value will be kept in this instance in case it is needed. + + + The method does not parse the domain name unless it contains a . + + The value to check. + The representation. + + + + Generic contract to query DNS endpoints. Implemented by . + + + + + Performs a DNS lookup for the given , and . + + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + + The which contains the response headers and lists of resource records. + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + Query options to be used instead of 's settings. + + The which contains the response headers and lists of resource records. + + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Returns cached results for the given from the in-memory cache, if available, or Null otherwise. + + + This method will not perform a full lookup if there is nothing found in cache or the cache is disabled! + + The domain name query. + + The which contains the cached response headers and lists of resource records. + If no matching cache entry is found Null is returned. + + + + + Returns cached results for the given , and + against the in-memory cache, if available, or Null otherwise. + + + This method will not perform a full lookup if there is nothing found in cache or the cache is disabled! + + The domain name query. + The . + The . + + The which contains the cached response headers and lists of resource records. + If no matching cache entry is found Null is returned. + + + + + Performs a DNS lookup for the given , and + + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + Query options to be used instead of 's settings. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + + The which might contain the for the . + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + Query options to be used instead of 's settings. + + The which might contain the for the . + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + The cancellation token. + + The which might contain the for the . + + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + Query options to be used instead of 's settings. + The cancellation token. + + The which might contain the for the . + + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + Query options to be used instead of 's settings. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If , or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + Query options to be used instead of 's settings. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If , or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + Query options to be used instead of 's settings. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If , or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + Query options to be used instead of 's settings. + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If , or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Contract defining the result of a query performed by . + + + + + + + Gets the list of questions. + + + + + Gets a list of additional records. + + + + + Gets a list of all answers, additional and authority records. + + + + + Gets a list of answer records. + + + + + Gets a list of authority records. + + + + + Gets the audit trail if . as set to true, null otherwise. + + + The audit trail. + + + + + Returns a string value representing the error response code in case an error occurred, + otherwise ''. + + + + + A flag indicating if the header contains a response code other than . + + + + + Gets the header of the response. + + + + + Gets the size of the message. + + + The size of the message. + + + + + Gets the name server which responded with this result. + + + The name server. + + + + + Gets the settings used to produce this response. + + + + + The contract for the LookupClient. + + The interfaces for the query methods and the lookup client properties are separated so that one can + inject or expose only the without exposing the configuration options. + + + + + + Gets the list of configured or resolved name servers of the instance. + + + + + Gets the configured settings of the instance. + + + + + Base32 encoder with the extended hey alphabet + + + See https://datatracker.ietf.org/doc/html/rfc4648#section-7 + + + RFC4648 + + + + Converts the specified string, which encodes binary data as base-32 digits + using the extended hex alphabet, to an equivalent 8-bit unsigned integer array. + + The string to convert. + An array of 8-bit unsigned integers that is equivalent to . + + + + Converts an array of 8-bit unsigned integers to its equivalent string + representation that is encoded with base-32 digits using the extended hex alphabet. + + An array of 8-bit unsigned integers. + The string representation in base 32 hex of . + + + + Resolve all names from the Name Resolution policy in Windows. + + Returns a list of name servers + + + + The is the main query class of this library and should be used for any kind of DNS lookup query. + + It implements and which contains a number of extension methods, too. + The extension methods internally all invoke the standard queries though. + + + + + + A basic example without specifying any DNS server, which will use the DNS server configured by your local network. + + + + + + + + + + + + + + Creates a new instance of without specifying any name server. + This will implicitly use the name server(s) configured by the local network adapter(s). + + + This uses . + The resulting list of name servers is highly dependent on the local network configuration and OS. + + + In the following example, we will create a new without explicitly defining any DNS server. + This will use the DNS server configured by your local network. + + + + + + + + Creates a new instance of with default settings and one or more DNS servers identified by their . + The default port 53 will be used for all s provided. + + The (s) to be used by this instance. + + Connecting to one or more DNS server using the default port: + + + + + If is null. + + + + Create a new instance of with default settings and one DNS server defined by and . + + The of the DNS server. + The port of the DNS server. + + Connecting to one specific DNS server which does not run on the default port 53: + + + + + If is null. + + + + Creates a new instance of with default settings and the given name servers. + + The (s) to be used by this instance. + + Connecting to one specific DNS server which does not run on the default port 53: + + + + + The class also contains predefined s for the public Google DNS servers, which can be used as follows: + + + + + + If is null. + + + + Creates a new instance of with default settings and the given name servers. + + The (s) to be used by this instance. + If is null. + + + + Creates a new instance of with custom settings. + + The options to use with this instance. + If is null. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a reverse lookup question for an . + + The address. + A with the proper arpa domain query for the given address. + + + + Represents a name server instance used by . + Also, comes with some static methods to resolve name servers from the local network configuration. + + + + + The default DNS server port. + + + + + The public Google DNS IPv4 endpoint. + + + + + The second public Google DNS IPv6 endpoint. + + + + + The public Google DNS IPv6 endpoint. + + + + + The second public Google DNS IPv6 endpoint. + + + + + A public Cloudflare DNS endpoint. + + + + + A public Cloudflare DNS endpoint. + + + + + A public Cloudflare DNS IPv6 endpoint. + + + + + A public Cloudflare DNS IPv6 endpoint. + + + + + Initializes a new instance of the class. + + The name server endpoint. + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + The name server port. + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + An optional DNS suffix (can be null). + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + The name server port. + An optional DNS suffix (can be null). + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + An optional DNS suffix (can be null). + If is null. + + + + Initializes a new instance of the class from a . + + The endpoint. + + + + Initializes a new instance of the class from a . + + The address. + + + + Gets the string representation of the configured . + + + + + Gets the port. + + + + + Gets the address family. + + + + + Gets the size of the supported UDP payload. + + This value might get updated by by reading the options records returned by a query. + + + + The size of the supported UDP payload. + + + + + Gets an optional DNS suffix which a resolver can use to append to queries or to find servers suitable for a query. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + + + + + + + + + + Gets a list of name servers by iterating over the available network interfaces. + + If is enabled, this method will return the Google public DNS endpoints if no + local DNS server was found. + + + If set to true local IPv6 sites are skipped. + If set to true the public Google DNS servers are returned if no other servers could be found. + + The list of name servers. + + + + + Using my custom native implementation to support UWP apps and such until + gets an implementation in netstandard2.1. + + + DnsClient has been changed in version 1.1.0. + It will not invoke this when resolving default DNS servers. It is up to the user to decide what to do based on what platform the code is running on. + + + The list of name servers. + + + + + On a Windows machine query the Name Resolution Policy table for a list of policy-defined name servers. + + Returns a collection of name servers from the policy table + + + + CLASS fields appear in resource records. + + + + + The Internet. + + + + + The CSNET class (Obsolete - used only for examples in some obsolete RFCs). + + + + + The CHAOS class. + + + + + Hesiod [Dyer 87]. + + + + + The query type field appear in the question part of a query. + Query types are a superset of . + + + + + A host address. + + RFC 1035 + + + + + An authoritative name server. + + RFC 1035 + + + + + A mail destination (OBSOLETE - use MX). + + RFC 1035 + + + + A mail forwarder (OBSOLETE - use MX). + + RFC 1035 + + + + The canonical name for an alias. + + RFC 1035 + + + + + Marks the start of a zone of authority. + + RFC 1035 + + + + + A mailbox domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A mail group member (EXPERIMENTAL). + + RFC 1035 + + + + + A mailbox rename domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A Null resource record (EXPERIMENTAL). + + RFC 1035 + + + + + A well known service description. + + RFC 3232 + + + + + A domain name pointer. + + RFC 1035 + + + + + Host information. + + RFC 1035 + RFC 1010 + + + + + Mailbox or mail list information. + + RFC 1035 + + + + + Mail exchange. + + RFC 1035 + RFC 974 + + + + + Text resources. + + RFC 1035 + RFC 1464 + + + + + Responsible Person. + + RFC 1183 + + + + + AFS Data Base location. + + RFC 1183 + RFC 5864 + + + + + An IPv6 host address. + + RFC 3596 + + + + + A resource record which specifies the location of the server(s) for a specific protocol and domain. + + RFC 2782 + + + + + The Naming Authority Pointer rfc2915 + + RFC 2915 + + + + + DS rfc4034 + + RFC 4034 + + + + RRSIG rfc3755. + + RFC 3755 + + + + NSEC rfc4034. + + RFC 4034 + + + + DNSKEY rfc4034 + + RFC 4034 + + + + NSEC3 rfc5155. + + RFC 5155 + + + + NSEC3PARAM rfc5155. + + RFC 5155 + + + + TLSA rfc6698 + + RFC 6698 + + + + SPF records don't officially have a dedicated RR type, should be used instead. + The behavior of TXT and SPF are the same. + + + This library will return a TXT record but will set the header type to SPF if such a record is returned. + + RFC 7208 + + + + DNS zone transfer request. + This can be used only if is set to true as AXFR is only supported via TCP. + + The DNS Server might only return results for the request if the client connection/IP is allowed to do so. + + + + + + Generic any query *. + + + + + A Uniform Resource Identifier (URI) resource record. + + RFC 7553 + + + + + A certification authority authorization. + + RFC 6844 + + + + + A SSH Fingerprint resource record. + + RFC 4255 + + + + + Gets or sets the DnsClient should use. + Per default it will log to . + + + + + Helper for reading config files where each row is a key-value data pair. + The input key-values must not have any whitespace within them. + Keys are only matched if they begin a line, with no preceding whitespace. + + + + + Constructs a new RowConfigReader which reads from the given string. + The string to parse through. + + + + + Constructs a new RowConfigReader which reads from the given string. + The string to parse through. + The comparison kind to use. + + + + + Gets the next occurrence of the given key, from the current position of the reader, + or throws if no occurrence of the key exists in the remainder of the string. + + + + + Tries to get the next occurrence of the given key from the current position of the reader. + If successful, returns true and stores the result in 'value'. Otherwise, returns false. + + + + + Gets the next occurrence of the key in the string, and parses it as an Int32. + Throws if the key is not found in the remainder of the string, or if the key + cannot be successfully parsed into an Int32. + + + This is mainly provided as a helper because most Linux config/info files + store integral data. + + + + + Reads the value of the first occurrence of the given key contained in the string given. + + The key-value row configuration string. + The key to find. + The value of the row containing the first occurrence of the key. + + + + Extension methods for . + + + + + Translates a IPv4 or IPv6 into an arpa address. + Used for reverse DNS lookup to get the domain name of the given . + + The address to translate. + The arpa representation of the address. + + + + + + + Extension methods for where T is . + + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only + + + The list of . + + + + Filters the elements of an to return s only + + + The list of . + + + + Filters the elements of an to return s + which have the . + + The records. + The to filter for. + The list of . + +
+
diff --git a/local-nugets/dnsclient/1.6.1/lib/net5.0/DnsClient.xml b/local-nugets/dnsclient/1.6.1/lib/net5.0/DnsClient.xml new file mode 100644 index 000000000..99094a5d3 --- /dev/null +++ b/local-nugets/dnsclient/1.6.1/lib/net5.0/DnsClient.xml @@ -0,0 +1,5090 @@ + + + + DnsClient + + + + + As defined in https://tools.ietf.org/html/rfc1035#section-5.1 except '()' or '@' or '.' + + + + + The flags of the header's second 16bit value + + + + + A representing an IPv6 . + + A 128 bit IPv6 address is encoded in the data portion of an AAAA + resource record in network byte order(high-order byte first). + + + RFC 3596 + + + + Initializes a new instance of the class. + + + + + + Base class for s transporting an . + + + + + + + Gets the . + + + The address. + + + + + Initializes a new instance of the class. + + The information. + The address. + If is null. + If or is null + + + + A representing an AFS database location. + + RFC 1183 + RFC 5864 + + + + Gets the . + + + The sub type. + + + + + Gets the hostname. + + + The hostname. + + + + + Initializes a new instance of the class. + + The information. + The type. + The name. + If or is null. + + + + Type used by . + + + + + AFS is a registered trademark of Transarc Corporation + + + + + The Distributed Computing Environment + + + + + A representing an IPv4 . + Hosts that have multiple Internet addresses will have multiple A records. + + RFC 1035 + + + + Initializes a new instance of the class. + + + + + + A representing a certification authority authorization. + + The Certification Authority Authorization (CAA) DNS Resource Record + allows a DNS domain name holder to specify one or more Certification + Authorities(CAs) authorized to issue certificates for that domain. + + + CAA Resource Records allow a public Certification Authority to + implement additional controls to reduce the risk of unintended + certificate mis-issue.This document defines the syntax of the CAA + record and rules for processing CAA records by certificate issuers. + + + RFC 6844 + + + + One octet containing the flags. + + + + + The property identifier, a sequence of US-ASCII characters. + + + + + A sequence of octets representing the property value. + Property values are encoded as binary values and MAY employ sub-formats. + + + + + Initializes a new instance of the class. + + The information. + The flags. + The tag. + The value. + If or or is null. + + + + A representing the canonical name for an alias. + + RFC 1035 + + + + Gets the canonical name for an alias. + + + The canonical name. + + + + + Initializes a new instance of the class. + + The information. + The canonical name. + If or is null. + + + + a representing a DnsKey record. + + + + + + Gets the DNSKEY's flags value. + + + + + Gets the DNSKEY's protocol value. + The value must be 3, and the MUST be treated as invalid + during signature verification if it is found to be some value other than 3. + + + + + Gets the 's cryptographic algorithm and determines the format of the . + + + + + Gets the public key material. + The format depends on the of the key being stored. + + + + + Gets the base64 string representation of the . + + + + + Initializes a new instance of the class + + + + + + + If or is null. + + + + Base class for all resource records. + + + + + + Initializes a new instance of the class. + + The information. + If is null. + + + + + + + Same as ToString but offsets the + by . + Set the offset to -32 for example to make it print nicely in consoles. + + The offset. + A string representing this instance. + + + + Returns a string representation of the record's value only. + uses this to compose the full string value of this instance. + + A string representing this record. + + + + The type represents a . + + + + + The domain name used to query. + + + + + Specifies type of resource record. + + + + + Specifies type class of resource record, mostly IN but can be CS, CH or HS . + + + + + Gets the current time to live value for the record. + + + + + Gets or sets the original time to live returned from the server. + + + + + Gets the number of bytes for this resource record stored in RDATA + + + + + Initializes a new instance of the class. + + The domain name used by the query. + Type of the record. + The record class. + The time to live. + Length of the raw data. + If is null. + + + + Initializes a new instance of the class. + + The used by the query. + Type of the record. + The record class. + The time to live. + Length of the raw data. + If is null or empty. + + + + a representing a DS record. + + + + + + Gets the key tag value of the referred to by this record. + + Key Tag Calculation + + + + Gets the algorithm of the referred to by this record. + + + + + Gets the algorithm used to construct the digest. + + + + + Gets the digest of the this record refers to. + + + + + Gets the hexadecimal string representation of the . + + + + + Initializes a new instance of the class + + If or is null. + + + + A not representing any specific resource record. + Used if unsupported s are found in the result. + + + + + + Initializes a new instance of the class. + + The information. + If is null. + + + + A used to acquire general information about a host. + + RFC 1035 + RFC 1010 + + + + Gets a string which specifies the CPU type. + + + The CPU. + + + + + Gets a string which specifies the operating system type. + + + The OS. + + + + + Initializes a new instance of the class. + + The information. + The CPU. + The OS. + If is null. + + + + A representing a domain name which specifies a host which has the specified mailbox. + + RFC 1035 + + + + Gets the domain name which specifies a host which has the specified mailbox. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + A representing a domain name which specifies a mailbox which is a member of the mail group specified by the domain name. + + RFC 1035 + + + + Gets a domain name which specifies a mailbox which is a member of the mail group specified by the domain name. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + A representing mailbox or mail list information. + + RFC 1035 + + + + Gets the domain name which specifies a mailbox which is responsible for the mailing list or mailbox. + + + The domain name. + + + + + Gets the domain name which specifies a mailbox which is to receive error messages related to the mailing list or mailbox. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The RMAILBX. + The EMAILBX. + If or or is null. + + + + A representing a mailbox rename domain name. + + RFC 1035 + + + + Gets the domain name which specifies a mailbox which is the proper rename of the specified mailbox. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + A representing a mail exchange. + + RFC 1035 + RFC 974 + + + + Gets a 16 bit integer which specifies the preference given to + this RR among others at the same owner. + Lower values are preferred. + + + + + A domain name which specifies a host willing to act as a mail exchange. + + + + + Initializes a new instance of the class. + + The information. + The preference. + Name of the domain. + If or is null. + + + + A representing Naming Authority Pointer + + RFC 2915 + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + Gets the order. + + + The order. + + + + + Gets the preference. + + + The preference. + + + + + Gets the flags. + + + The flags. + + + + + Gets the services. + + + The services. + + + + + Gets the regular expression. + + + The regular expression. + + + + + Gets the replacement. + + + The replacement. + + + + + Initializes a new instance of the class. + + The information. + The order. + The preference. + The flags. + The services. + The regular expression. + The replacement. + + + + a representing a NSEC3PARAM record. + + + + + + + Gets the cryptographic hash algorithm used to construct the hash-value. + + + + + Gets the flags field value containing 8 one-bit flags that can be used to indicate different processing. + All undefined flags must be zero. + The only flag defined by this specification is the Opt-Out flag. + + + + + Gets the number of additional times the hash function has been performed. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Initializes a new instance of the class + + If or is null. + + + + a representing a NSEC3 record. + + + + + + Gets the cryptographic hash algorithm used to construct the hash-value. + + + + + Gets the flags field value containing 8 one-bit flags that can be used to indicate different processing. + All undefined flags must be zero. + The only flag defined by this specification is the Opt-Out flag. + + + + + Gets the number of additional times the hash function has been performed. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Gets the name of the next hashed owner in hash order. + This value is in binary format. + + + + + Gets the name of the next hashed owner in hash order. + This value is in binary format. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the original owner name of the NSEC3 RR. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the original owner name of the NSEC3 RR. + + + + + Initializes a new instance of the class + + + If , , or is null. + + + + + a representing a NSEC record. + + + + + + Gets the next owner name (in the canonical ordering of the zone) that has authoritative data + or contains a delegation point NS RRset. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the NSEC RR's owner name. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the NSEC RR's owner name. + + + + + Initializes a new instance of the class + + If , or is null. + + + + A representing an authoritative name server. + + RFC 1035 + + + + Gets the domain name which specifies a host which should be authoritative for the specified class and domain. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The name. + If or is null. + + + + Experimental RR, not sure if the implementation is actually correct either (not tested). + + RFC 1035 + + + + Gets any data stored in this record. + + + The byte array. + + + + + Gets the raw data of this record as UTF8 string. + + + + + Initializes a new instance of the class. + + The information. + Anything. + If or is null. + + + + A options resource record. + + + + + A representing a pointer. These RRs are used + in special domains to point to some other location in the domain space. + + + RFC 1035 + + + + Gets the domain name which points to some location in the domain name space. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + The resource record types. The enum contains only the types supported by this library at this moment. + The is used to identify any . + + Resource record types are a subset of . + + + + + + + + A host address. + + RFC 1035 + + + + + An authoritative name server. + + RFC 1035 + + + + + A mail destination (OBSOLETE - use MX). + + RFC 1035 + + + + A mail forwarder (OBSOLETE - use MX). + + RFC 1035 + + + + The canonical name for an alias. + + RFC 1035 + + + + + Marks the start of a zone of authority. + + RFC 1035 + + + + + A mailbox domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A mail group member (EXPERIMENTAL). + + RFC 1035 + + + + + A mailbox rename domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A Null resource record (EXPERIMENTAL). + + RFC 1035 + + + + + A well known service description. + + RFC 3232 + + + + + A domain name pointer. + + RFC 1035 + + + + + Host information. + + RFC 1035 + RFC 1010 + + + + + Mailbox or mail list information. + + RFC 1035 + + + + + Mail exchange. + + RFC 1035 + RFC 974 + + + + + Text resources. + + RFC 1035 + RFC 1464 + + + + + Responsible Person. + + RFC 1183 + + + + + AFS Data Base location. + + RFC 1183 + RFC 5864 + + + + + An IPv6 host address. + + RFC 3596 + + + + + A resource record which specifies the location of the server(s) for a specific protocol and domain. + + RFC 2782 + + + + + The Naming Authority Pointer rfc3403 + + RFC 2915 + + + + + Option record. + + RFC 6891 + + + + DS rfc4034 + + RFC 4034 + + + + SSH finger print record. + + RFC 4255 + + + + RRSIG rfc3755. + + RFC 3755 + + + + NSEC rfc4034. + + RFC 4034 + + + + DNSKEY rfc4034. + + + + + + NSEC3 rfc5155. + + RFC 5155 + + + + NSEC3PARAM rfc5155. + + RFC 5155 + + + + TLSA rfc6698. + + RFC 6698 + + + + SPF records don't officially have a dedicated RR type, should be used instead. + The behavior of TXT and SPF are the same. + + + This library will return a TXT record but will set the header type to SPF if such a record is returned. + + RFC 7208 + + + + A Uniform Resource Identifier (URI) resource record. + + RFC 7553 + + + + + A certification authority authorization. + + RFC 6844 + + + + + A representing a responsible person. + + RFC 1183 + + + + Gets a domain name that specifies the mailbox for the responsible person. + + + The mailbox domain. + + + + + Gets a domain name for which TXT RR's exist. + + + The text domain. + + + + + Initializes a new instance of the class. + + The information. + The mailbox domain. + The text domain. + + If or or is null. + + + + + A representing a RRSIG record. + + + + + + + + Gets the type of the RRset that is covered by this . + + + + + Gets the cryptographic algorithm used to create the . + + + + + Gets the number of labels in the original RR owner name. + + + + + Gets the TTL of the covered RRset as it appears in the authoritative zone. + + + + + Gets the expiration date of the . + This record MUST NOT be used for authentication prior to the + and MUST NOT be used for authentication after the . + + + + + Gets the inception date of the . + This record MUST NOT be used for authentication prior to the + and MUST NOT be used for authentication after the . + + + + + Gets the key tag value of the that validates this . + + Key Tag Calculation + + + + Gets the value which identifies the owner name of the + that a validator is supposed to use to validate this . + + + + + Gets the cryptographic signature that covers the RRSIG RDATA (excluding the Signature field) + and the RRset specified by the RRSIG owner name, RRSIG class, and RRSIG Type Covered field. + The format of this field depends on the algorithm in use. + + + + + Gets the base64 string representation of the . + + + + + Initializes a new instance of the class. + + + + + + + + + + + + If , or is null. + + + + A representing a SOA (Start Of Authority) record. + + RFC 1035 + + + + Gets a 32 bit time value that specifies the upper limit on + the time interval that can elapse before the zone is no + longer authoritative. + + + The expiration. + + + + + Gets the unsigned 32 bit minimum TTL field that should be + exported with any RR from this zone. + + + The minimum TTL. + + + + + Gets the domain name of the name server that was the original or primary source of data for this zone. + + + The domain name. + + + + + Gets a 32 bit time interval before the zone should be refreshed. + + + The refresh time. + + + + + Gets a 32 bit time interval that should elapse before a failed refresh should be retried. + + + The retry time. + + + + + Gets a domain name which specifies the mailbox of the person responsible for this zone. + + + The responsible mailbox domain name. + + + + + Gets the unsigned 32 bit version number of the original copy + of the zone.Zone transfers preserve this value. This value wraps and should be compared using sequence space arithmetic. + + + The serial number. + + + + + Initializes a new instance of the class. + + The information. + Name original domain name. + Name responsible domain name. + The serial number. + The refresh time. + The retry time. + The expire time. + The minimum TTL. + + If or or is null. + + + + + A representing a location of the server(s) for a specific protocol and domain. + + RFC 2782 + + + + Gets the port. + + + The port. + + + + + Gets the priority. + + + The priority. + + + + + Gets the target domain name. + + + The target. + + + + + Gets the weight. + + + The weight. + + + + + Initializes a new instance of the class. + + The information. + The priority. + The weight. + The port. + The target. + If or is null. + + + + A representing an SSH fingerprint + + SSHFP RRs are used to hold SSH fingerprints. Upon connecting to a + host an SSH client may choose to query for this to check the fingerprint(s) + + + RFC 4255 + RFC 6594 + RFC 7479 + + + + + + The information. + The algorithm. + The fingerprint type. + The fingerprint. + + + + Algorithm used for the fingerprint + + + + + Fingerprint type used for the fingerprint + + + + + Fingerprint as defined in the RR + + + + + Algorithm used by + + + + + Reserved for later use + + + + + RSA + + + + + DSS + + + + + Elliptic Curve DSA + + + + + Edwards-curve DSA + + + + + Fingerprint type used by + + + + + Reserved for later use + + + + + SHA-1 fingerprint + + + + + SHA-256 fingerprint + + + + + A representing a TLSA record. + + + + + + + + Gets the , which specifies the provided association + that will be used to match the certificate presented in the TLS handshake. + + + + + Gets the , which specifies which part of the TLS certificate + presented by the server will be matched against the . + + + + + Gets the , which specifies how the is presented. + + + + + Gets the "certificate association data" to be matched. + + + + + Gets the string representation of the in hexadecimal. + + + + + Initializes a new instance of the class. + + + + + + + If or is null. + + + + The usage flag specifies the provided association that will be used to match the certificate presented in the TLS handshake. + + + + + Certificate authority constraint. + + + + + Service certificate constraint. + + + + + Trust Anchor Assertion. + + + + + Domain issued certificate. + + + + + Flag which specifies which part of the TLS certificate presented by the server will be matched against the association data. + + + + + Select the entire certificate for matching. + + + + + Select the public key for certificate matching. + + + + + Flag which specifies how the certificate association is presented. + + + + + Exact match, the entire information selected is present in the certificate association data. + + + + + SHA-256 hash of selected content. + + + + + SHA-512 hash of selected content. + + + + + A representing a text resource. + + TXT RRs are used to hold descriptive text. The semantics of the text + depends on the domain where it is found. + + + RFC 1035 + RFC 1464 + + + + Gets the list of TXT values of this resource record in escaped form, valid for root file. + + + See https://tools.ietf.org/html/rfc1035#section-5.1 for escape details. + + + + + Gets the actual UTF8 representation of the text values of this record. + + + + + Initializes a new instance of the class. + + The information. + The values. + The UTF8 values. + + If or or is null. + + + + + Experimental RR, not sure if the implementation is actually correct either (not tested). + + RFC 1035 + + + + Gets any data stored in this record. + + + The byte array. + + + + + Gets the unknown bytes as Base64 string. + + + + + Initializes a new instance of the class. + + The information. + The raw data. + If or is null. + + + + A representing a Uniform Resource Identifier (URI) resource. + + RFC 7553 + + + + Gets or sets the target Uri. + + + The target. + + + + + Gets or sets the priority. + + + The priority. + + + + + Gets or sets the weight. + + + The weight. + + + + + Initializes a new instance of the class. + + The information. + The priority. + The weight. + The target. + If or is null. + + + + A representing a Well Known Service description. + + + Instead of describing the supported protocols in RFCs, the list is now published on http://www.iana.org/. + + + RFC 3232, the most current update. + + + + Gets the address. + + + The address. + + + + + Gets the Protocol. + + + According to https://tools.ietf.org/html/rfc6335, only ports for TCP, UDP, DCCP and SCTP services will be assigned. + + + + + Gets the binary raw bitmap. + Use to determine which ports are actually configured. + + + + + Gets the list of assigned ports. + + For example, if this list contains port 25, which is assigned to + the SMTP service. This means that a SMTP services + is running on with transport . + + + Port numbers + + + + Initializes a new instance of the class. + + The information. + The address. + The protocol. + The raw data. + + If or or is null. + + + + + Specifies kind of query in this message. + This value is set by the originator of a query and copied into the response. + + + + + A standard query. + + RFC 1035 + + + + An inverse query. + + RFC 3425 + + + + A server status request. + + RFC 1035 + + + + Unassigned value + + + + + Notify query. + + RFC 1996 + + + + Update query. + + RFC 2136 + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Extension methods for the contract. + + The methods implement common queries which are more complex and have some business logic. + + + + + + The GetHostEntry method queries a DNS server for the IP addresses and aliases associated with the . + In case is an , GetHostEntry does a reverse lookup on that first to determine the hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname or . +
+
+ + The following code example uses the method to resolve an IP address or hostname to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The or host name to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostEntryAsync method queries a DNS server for the IP addresses and aliases associated with the . + In case is an , GetHostEntry does a reverse lookup on that first to determine the hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname or . +
+
+ + The following code example uses the method to resolve an IP address or hostname to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The or host name to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostEntry method does a reverse lookup on the IP , + and queries a DNS server for the IP addresses and aliases associated with the resolved hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname of the . +
+
+ + The following code example uses the method to resolve an IP address to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostEntryAsync method does a reverse lookup on the IP , + and queries a DNS server for the IP addresses and aliases associated with the resolved hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname of the . +
+
+ + The following code example uses the method to resolve an IP address to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostName method queries a DNS server to resolve the hostname of the via reverse lookup. + + The instance. + The to resolve. + + The hostname if the reverse lookup was successful or null, in case the host was not found. + If is set to true, this method will throw an instead of returning null! + + If is null. + If no host has been found and is true. + + + + The GetHostNameAsync method queries a DNS server to resolve the hostname of the via reverse lookup. + + The instance. + The to resolve. + + The hostname if the reverse lookup was successful or null, in case the host was not found. + If is set to true, this method will throw an instead of returning null! + + If is null. + If no host has been found and is true. + + + + The ResolveService method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + + The protocol of the service to query for. + Set it to or to not pass any protocol. + + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveServiceAsync method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + + The protocol of the service to query for. + Set it to or to not pass any protocol. + + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveService method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + An optional tag. Must not have any _ prefix. + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveService method does a lookup for {} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The name of the service to look for. Must have _ prefix and domain and protocol. + A collection of s. + If are null. + RFC 2782 + + + + The ResolveServiceAsync method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + An optional tag. Must not have any _ prefix. + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveServiceAsync method does a lookup for {} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The name of the service to look for. Must have _ prefix and domain and protocol. + A collection of s. + If are null. + RFC 2782 + + + + Constructs a DNS query string from the constituent parts. + + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + An optional tag. Must not have any _ prefix. + A service string that can be used in a DNS service query. + + + + Transforms a DNS query result into a collection of objects. + + The DNS + A collection of s. + + + + Extends by the property. + + + + + + Gets or sets the port. + + + The port of this entry. + + + + + Gets or sets priority of the original record. + Might be zero if not provided. + + + The priority of this entry. + + + + + Gets or sets weight of the original record. + Might be zero if not provided. + + + The weight of this entry. + + + + + The options used to override the defaults of per query. + + + + + The minimum payload size. Anything equal or less than that will default back to this value and might disable EDNS. + + + + + The maximum reasonable payload size. + + + + + Gets or sets a flag indicating whether each will contain a full documentation of the response(s). + Default is False. + + + + + + Gets or sets a flag indicating whether DNS queries should use response caching or not. + The cache duration is calculated by the resource record of the response. Usually, the lowest TTL is used. + Default is True. + + + In case the DNS Server returns records with a TTL of zero. The response cannot be cached. + + + + + Gets or sets a flag indicating whether DNS queries should instruct the DNS server to do recursive lookups, or not. + Default is True. + + The flag indicating if recursion should be used or not. + + + + Gets or sets the number of tries to get a response from one name server before trying the next one. + Only transient errors, like network or connection errors will be retried. + Default is 2 which will be three tries total. + + If all configured error out after retries, an exception will be thrown at the end. + + + The number of retries. + + + + Gets or sets a flag indicating whether the should throw a + in case the query result has a other than . + Default is False. + + + + If set to False, the query will return a result with an + which contains more information. + + + If set to True, any query method of will throw an if + the response header indicates an error. + + + If both, and are set to True, + will continue to query all configured . + If none of the servers yield a valid response, a will be thrown + with the error of the last response. + + + + + + + + Gets or sets a flag indicating whether the can cycle through all + configured on each consecutive request, basically using a random server, or not. + Default is True. + If only one is configured, this setting is not used. + + + + If False, configured endpoint will be used in random order. + If True, the order will be preserved. + + + Even if is set to True, the endpoint might still get + disabled and might not being used for some time if it errors out, e.g. no connection can be established. + + + + + + Gets or sets a flag indicating whether to query the next configured in case the response of the last query + returned a other than . + Default is True. + + + If True, lookup client will continue until a server returns a valid result, or, + if no yield a valid result, the last response with the error will be returned. + In case no server yields a valid result and is also enabled, an exception + will be thrown containing the error of the last response. + + If True and is enabled, the exception will be thrown on first encounter without trying any other servers. + + + + + + + Gets or sets a flag indicating whether to query the next configured + if the response does not have an error but the query was not answered by the response. + Default is True. + + + The query is answered if there is at least one in the answers section + matching the 's . + + If there are zero answers in the response, the query is not answered, independent of the . + If there are answers in the response, the is used to find a matching record, + query types and will be ignored by this check. + + + + + + Gets or sets the request timeout in milliseconds. is used for limiting the connection and request time for one operation. + Timeout must be greater than zero and less than . + If (or -1) is used, no timeout will be applied. + Default is 5 seconds. + + + If a very short timeout is configured, queries will more likely result in s. + + Important to note, s will be retried, if are not disabled (set to 0). + This should help in case one or more configured DNS servers are not reachable or under load for example. + + + + + + Gets or sets a flag indicating whether TCP should be used in case a UDP response is truncated. + Default is True. + + If False, truncated results will potentially yield no or incomplete answers. + + + + + + Gets or sets a flag indicating whether UDP should not be used at all. + Default is False. + + Enable this only if UDP cannot be used because of your firewall rules for example. + Also, zone transfers (see ) must use TCP only. + + + + + + Gets or sets the maximum buffer used for UDP requests. + Defaults to 4096. + + If this value is less or equal to 512 bytes, EDNS might be disabled. + + + + + + Gets or sets a flag indicating whether EDNS should be enabled and the DO flag should be set. + Defaults to False. + + + + + Gets or sets a flag indicating whether the DNS failures are being cached. The purpose of caching + failures is to reduce repeated lookup attempts within a short space of time. + Defaults to False. + + + + + Gets or sets the duration to cache failed lookups. Does not apply if failed lookups are not being cached. + Defaults to 5 seconds. + + + + + Converts the query options into readonly settings. + + The options. + + + + The options used to override the defaults of per query. + + + + + Creates a new instance of without name servers. + If no nameservers are configured, a query will fallback to the nameservers already configured on the instance. + + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Gets a list of name servers which should be used to query. + + + + + Converts the query options into readonly settings. + + The options. + + + + The options used to configure defaults in and to optionally use specific settings per query. + + + + + Creates a new instance of with default settings. + + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Gets or sets a flag indicating whether the name server collection should be automatically resolved. + Default is True. + + + If name servers are configured manually via the constructor, this flag is set to false. + If you want both, your manually configured servers and auto resolved name servers, + you can use both (ctor or) and set to True. + + + + + Gets or sets a which can override the TTL of a resource record in case the + TTL of the record is lower than this minimum value. + Default is Null. + + This is useful in case the server returns records with zero TTL. + + + + This setting gets ignored in case is set to False, + or the value is set to Null or . + The maximum value is 24 days or (choose a wise setting). + + + + + Gets a which can override the TTL of a resource record in case the + TTL of the record is higher than this maximum value. + Default is Null. + + + This setting gets ignored in case is set to False, + or the value is set to Null, or . + The maximum value is 24 days (which shouldn't be used). + + + + + The options used to override the defaults of per query. + + + + + Gets a flag indicating whether each will contain a full documentation of the response(s). + Default is False. + + + + + + Gets a flag indicating whether DNS queries should use response caching or not. + The cache duration is calculated by the resource record of the response. Usually, the lowest TTL is used. + Default is True. + + + In case the DNS Server returns records with a TTL of zero. The response cannot be cached. + + + + + Gets a flag indicating whether DNS queries should instruct the DNS server to do recursive lookups, or not. + Default is True. + + The flag indicating if recursion should be used or not. + + + + Gets the number of tries to get a response from one name server before trying the next one. + Only transient errors, like network or connection errors will be retried. + Default is 5. + + If all configured error out after retries, an exception will be thrown at the end. + + + The number of retries. + + + + Gets a flag indicating whether the should throw a + in case the query result has a other than . + Default is False. + + + + If set to False, the query will return a result with an + which contains more information. + + + If set to True, any query method of will throw an if + the response header indicates an error. + + + If both, and are set to True, + will continue to query all configured . + If none of the servers yield a valid response, a will be thrown + with the error of the last response. + + + + + + + + Gets a flag indicating whether the can cycle through all + configured on each consecutive request, basically using a random server, or not. + Default is True. + If only one is configured, this setting is not used. + + + + If False, configured endpoint will be used in random order. + If True, the order will be preserved. + + + Even if is set to True, the endpoint might still get + disabled and might not being used for some time if it errors out, e.g. no connection can be established. + + + + + + Gets a flag indicating whether to query the next configured in case the response of the last query + returned a other than . + Default is True. + + + If True, lookup client will continue until a server returns a valid result, or, + if no yield a valid result, the last response with the error will be returned. + In case no server yields a valid result and is also enabled, an exception + will be thrown containing the error of the last response. + + If True and is enabled, the exception will be thrown on first encounter without trying any other servers. + + + + + + + Gets or sets a flag indicating whether to query the next configured + if the response does not have an error but the query was not answered by the response. + Default is True. + + + The query is answered if there is at least one in the answers section + matching the 's . + + If there are zero answers in the response, the query is not answered, independent of the . + If there are answers in the response, the is used to find a matching record, + query types and will be ignored by this check. + + + + + + Gets the request timeout in milliseconds. is used for limiting the connection and request time for one operation. + Timeout must be greater than zero and less than . + If (or -1) is used, no timeout will be applied. + Default is 5 seconds. + + + If a very short timeout is configured, queries will more likely result in s. + + Important to note, s will be retried, if are not disabled (set to 0). + This should help in case one or more configured DNS servers are not reachable or under load for example. + + + + + + Gets a flag indicating whether TCP should be used in case a UDP response is truncated. + Default is True. + + If False, truncated results will potentially yield no or incomplete answers. + + + + + + Gets a flag indicating whether UDP should not be used at all. + Default is False. + + Enable this only if UDP cannot be used because of your firewall rules for example. + Also, zone transfers (see ) must use TCP only. + + + + + + Gets a flag indicating whether EDNS is enabled based on the values + of and . + + + + + Gets the maximum buffer used for UDP requests. + Defaults to 4096. + + If this value is less or equal to 512 bytes, EDNS might be disabled. + + + + + + Gets a flag indicating whether EDNS should be enabled and the DO flag should be set. + Defaults to False. + + + + + Gets a flag indicating whether the DNS failures are being cached. The purpose of caching + failures is to reduce repeated lookup attempts within a short space of time. + Defaults to False. + + + + + If failures are being cached this value indicates how long they will be held in the cache for. + Defaults to 5 seconds. + + + + + Creates a new instance of . + + + + + + + + + + + The readonly version of used to customize settings per query. + + + + + Gets a collection of name servers which should be used to query. + + + + + Creates a new instance of . + + + + + Creates a new instance of . + + + + + + + + + + + The readonly version of used as default settings in . + + + + + Creates a new instance of . + + + + + Gets a which can override the TTL of a resource record in case the + TTL of the record is lower than this minimum value. + Default is Null. + + This is useful in cases where the server returns records with zero TTL. + + + + This setting gets ignored in case is set to False. + The maximum value is 24 days or . + + + + + Gets a which can override the TTL of a resource record in case the + TTL of the record is higher than this maximum value. + Default is Null. + + + This setting gets ignored in case is set to False. + The maximum value is 24 days. + Setting it to would be equal to not providing a value. + + + + + + + + + + + The response returned by any query performed by with all answer sections, header and message information. + + + + + + + Gets the name server which responded with this result. + + + The name server. + + + + + Gets a list of additional records. + + + + + Gets a list of all answers, additional and authority records. + + + + + Gets the audit trail if . as set to true, null otherwise. + + + The audit trail. + + + + + Gets a list of answer records. + + + + + Gets a list of authority records. + + + + + Returns a string value representing the error response code in case an error occurred, + otherwise ''. + + + + + A flag indicating if the header contains a response code other than . + + + + + Gets the header of the response. + + + + + Gets the list of questions. + + + + + Gets the size of the message. + + + The size of the message. + + + + + Gets the settings used to produce this response. + + + + + + + + + + + The class transports information of the lookup query performed by . + + A list of questions is returned by (although, the list will always contain only one ). + + + + + + Gets the domain name the lookup was running for. + + + The name of the query. + + + + + Gets the question class. + + + The question class. + + + + + Gets the type of the question. + + + The type of the question. + + + + + Initializes a new instance of the class. + + The query. + Type of the question. + The question class. + If is null. + + + + Initializes a new instance of the class. + + The query. + Type of the question. + The question class. + If is null. + + + + + + + Returns the information of this instance in a friendly format with an optional . + + The optional offset which can be used for pretty printing. + The string representation of this instance. + + + + Represents a simple request message which can be send through . + + + + + 4 bit response codes of the 's header. + + RFC 6895 + + + + No error condition + + RFC 1035 + + + + Format error. The name server was unable to interpret the query. + + RFC 1035 + + + + Server failure. The name server was unable to process this query due to a problem with the name server. + + RFC 1035 + + + + Name Error. Meaningful only for responses from an authoritative name server, + this code signifies that the domain name referenced in the query does not exist. + + RFC 1035 + + + + Not Implemented. The name server does not support the requested kind of query. + + RFC 1035 + + + + Refused. The name server refuses to perform the specified operation for policy reasons. + For example, a name server may not wish to provide the information to the particular requester, + or a name server may not wish to perform a particular operation (e.g., zone transfer) for particular data. + + RFC 1035 + + + + Name Exists when it should not. + + RFC 2136 + + + + Resource record set exists when it should not. + + RFC 2136 + + + + Resource record set that should exist but does not. + + RFC 2136 + + + + Server Not Authoritative for zone / Not Authorized. + + RFC 2136 + RFC 2845 + + + + Name not contained in zone. + + RFC 2136 + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Extended response codes of the with OPT. + + RFC 6895 + + + + No error condition + + RFC 1035 + + + + Format error. The name server was unable to interpret the query. + + RFC 1035 + + + + Server failure. The name server was unable to process this query due to a problem with the name server. + + RFC 1035 + + + + Name Error. Meaningful only for responses from an authoritative name server, + this code signifies that the domain name referenced in the query does not exist. + + RFC 1035 + + + + Not Implemented. The name server does not support the requested kind of query. + + RFC 1035 + + + + Refused. The name server refuses to perform the specified operation for policy reasons. + For example, a name server may not wish to provide the information to the particular requester, + or a name server may not wish to perform a particular operation (e.g., zone transfer) for particular data. + + RFC 1035 + + + + Name Exists when it should not. + + RFC 2136 + + + + Resource record set exists when it should not. + + RFC 2136 + + + + Resource record set that should exist but does not. + + RFC 2136 + + + + Server Not Authoritative for zone / Not Authorized. + + RFC 2136 + RFC 2845 + + + + Name not contained in zone. + + RFC 2136 + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Bad OPT Version or TSIG Signature Failure. + + RFC 2671 + RFC 2845 + + + + Key not recognized. + + RFC 2845 + + + + Signature out of time window. + + RFC 2845 + + + + Bad TKEY Mode. + + RFC 2930 + + + + Duplicate key name. + + RFC 2930 + + + + Algorithm not supported. + + RFC 2930 + + + + Bad Truncation. + + RFC 4635 + + + + Bad/missing Server Cookie + + RFC 7873 + + + + Unknown error. + + + + + Indicates a timeout error. Connection to the remote server couldn't be established. + + + + + A DnsClient specific exception transporting additional information about the query causing this exception. + + + + + + Gets the response code. + + + The response code. + + + + + Gets the audit trail if . as set to true, null otherwise. + + + The audit trail. + + + + + Gets a human readable error message. + + + The error message. + + + + + Initializes a new instance of the class + with set to . + + + + + Initializes a new instance of the class + with set to + and a custom . + + + + + Initializes a new instance of the class + with the standard error text for the given . + + + + + Initializes a new instance of the class + with set to + and a custom and inner . + + + + + Initializes a new instance of the class + with a custom and the given . + + + + + Initializes a new instance of the class + with a custom and the given . + + + + + The header section of a . + + + + + Gets the number of additional records in the . + + + The number of additional records. + + + + + Gets the number of answer records in the . + + + The number of answer records. + + + + + Gets a value indicating whether the future use flag is set. + + + The future use flag. + + + + + Gets a value indicating whether this instance has authority answers. + + + true if this instance has authority answers; otherwise, false. + + + + + Gets the identifier. + + + The identifier. + + + + + Gets a value indicating whether the result is authentic data. + + + true if the result is authentic; otherwise, false. + + + + + Gets a value indicating whether checking is disabled. + + + true if checking is disabled; otherwise, false. + + + + + Gets a value indicating whether this instance has a query. + + + true if this instance has a query; otherwise, false. + + + + + Gets the number of name servers. + + + The number of name servers. + + + + + Gets the kind of query defined by . + + + The query kind. + + + + + Gets the number of questions of the . + + + The number of questions. + + + + + Gets a value indicating whether recursion is available on the DNS server. + + + true if recursion is available; otherwise, false. + + + + + Gets the response code. + + + The response code. + + + + + Gets a value indicating whether the result was truncated. + + + true if the result was truncated; otherwise, false. + + + + + Gets a value indicating whether recursion desired flag was set by the request. + + + true if the recursion desired flag was set; otherwise, false. + + + + + Initializes a new instance of the class. + + The identifier. + The flags. + The question count. + The answer count. + The additional count. + The server count. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the readonly representation of this message which can be returned. + + + + + The type is used to normalize and validate domain names and labels. + + + + + The ACE prefix indicates that the domain name label contains not normally supported characters and that the label has been encoded. + + + + + The maximum length in bytes for one label. + + + + + The maximum supported total length in bytes for a domain name. The calculation of the actual + bytes this consumes includes all bytes used for to encode it as octet string. + + + + + The root label ".". + + + + + Gets the original value. + + + + + Gets the validated and eventually modified value. + + + + + Gets the number of labels of this or null if not applicable. + This property is only set if the method was used to create this instance. + + + + + Performs an implicit conversion from to . + + The name. + + The result of the conversion. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parses the given and validates all labels. + + + An empty string will be interpreted as root label. + + A domain name. + The representing the given . + If is null. + + + + Transforms names with the to the Unicode variant and adds a trailing '.' at the end if not present. + The original value will be kept in this instance in case it is needed. + + + The method does not parse the domain name unless it contains a . + + The value to check. + The representation. + + + + Generic contract to query DNS endpoints. Implemented by . + + + + + Performs a DNS lookup for the given , and . + + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + + The which contains the response headers and lists of resource records. + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + Query options to be used instead of 's settings. + + The which contains the response headers and lists of resource records. + + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Returns cached results for the given from the in-memory cache, if available, or Null otherwise. + + + This method will not perform a full lookup if there is nothing found in cache or the cache is disabled! + + The domain name query. + + The which contains the cached response headers and lists of resource records. + If no matching cache entry is found Null is returned. + + + + + Returns cached results for the given , and + against the in-memory cache, if available, or Null otherwise. + + + This method will not perform a full lookup if there is nothing found in cache or the cache is disabled! + + The domain name query. + The . + The . + + The which contains the cached response headers and lists of resource records. + If no matching cache entry is found Null is returned. + + + + + Performs a DNS lookup for the given , and + + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + Query options to be used instead of 's settings. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + + The which might contain the for the . + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + Query options to be used instead of 's settings. + + The which might contain the for the . + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + The cancellation token. + + The which might contain the for the . + + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + Query options to be used instead of 's settings. + The cancellation token. + + The which might contain the for the . + + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + Query options to be used instead of 's settings. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If , or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + Query options to be used instead of 's settings. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If , or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + Query options to be used instead of 's settings. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If , or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + Query options to be used instead of 's settings. + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If , or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Contract defining the result of a query performed by . + + + + + + + Gets the list of questions. + + + + + Gets a list of additional records. + + + + + Gets a list of all answers, additional and authority records. + + + + + Gets a list of answer records. + + + + + Gets a list of authority records. + + + + + Gets the audit trail if . as set to true, null otherwise. + + + The audit trail. + + + + + Returns a string value representing the error response code in case an error occurred, + otherwise ''. + + + + + A flag indicating if the header contains a response code other than . + + + + + Gets the header of the response. + + + + + Gets the size of the message. + + + The size of the message. + + + + + Gets the name server which responded with this result. + + + The name server. + + + + + Gets the settings used to produce this response. + + + + + The contract for the LookupClient. + + The interfaces for the query methods and the lookup client properties are separated so that one can + inject or expose only the without exposing the configuration options. + + + + + + Gets the list of configured or resolved name servers of the instance. + + + + + Gets the configured settings of the instance. + + + + + Base32 encoder with the extended hey alphabet + + + See https://datatracker.ietf.org/doc/html/rfc4648#section-7 + + + RFC4648 + + + + Converts the specified string, which encodes binary data as base-32 digits + using the extended hex alphabet, to an equivalent 8-bit unsigned integer array. + + The string to convert. + An array of 8-bit unsigned integers that is equivalent to . + + + + Converts an array of 8-bit unsigned integers to its equivalent string + representation that is encoded with base-32 digits using the extended hex alphabet. + + An array of 8-bit unsigned integers. + The string representation in base 32 hex of . + + + + Resolve all names from the Name Resolution policy in Windows. + + Returns a list of name servers + + + + The is the main query class of this library and should be used for any kind of DNS lookup query. + + It implements and which contains a number of extension methods, too. + The extension methods internally all invoke the standard queries though. + + + + + + A basic example without specifying any DNS server, which will use the DNS server configured by your local network. + + + + + + + + + + + + + + Creates a new instance of without specifying any name server. + This will implicitly use the name server(s) configured by the local network adapter(s). + + + This uses . + The resulting list of name servers is highly dependent on the local network configuration and OS. + + + In the following example, we will create a new without explicitly defining any DNS server. + This will use the DNS server configured by your local network. + + + + + + + + Creates a new instance of with default settings and one or more DNS servers identified by their . + The default port 53 will be used for all s provided. + + The (s) to be used by this instance. + + Connecting to one or more DNS server using the default port: + + + + + If is null. + + + + Create a new instance of with default settings and one DNS server defined by and . + + The of the DNS server. + The port of the DNS server. + + Connecting to one specific DNS server which does not run on the default port 53: + + + + + If is null. + + + + Creates a new instance of with default settings and the given name servers. + + The (s) to be used by this instance. + + Connecting to one specific DNS server which does not run on the default port 53: + + + + + The class also contains predefined s for the public Google DNS servers, which can be used as follows: + + + + + + If is null. + + + + Creates a new instance of with default settings and the given name servers. + + The (s) to be used by this instance. + If is null. + + + + Creates a new instance of with custom settings. + + The options to use with this instance. + If is null. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a reverse lookup question for an . + + The address. + A with the proper arpa domain query for the given address. + + + + Represents a name server instance used by . + Also, comes with some static methods to resolve name servers from the local network configuration. + + + + + The default DNS server port. + + + + + The public Google DNS IPv4 endpoint. + + + + + The second public Google DNS IPv6 endpoint. + + + + + The public Google DNS IPv6 endpoint. + + + + + The second public Google DNS IPv6 endpoint. + + + + + A public Cloudflare DNS endpoint. + + + + + A public Cloudflare DNS endpoint. + + + + + A public Cloudflare DNS IPv6 endpoint. + + + + + A public Cloudflare DNS IPv6 endpoint. + + + + + Initializes a new instance of the class. + + The name server endpoint. + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + The name server port. + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + An optional DNS suffix (can be null). + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + The name server port. + An optional DNS suffix (can be null). + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + An optional DNS suffix (can be null). + If is null. + + + + Initializes a new instance of the class from a . + + The endpoint. + + + + Initializes a new instance of the class from a . + + The address. + + + + Gets the string representation of the configured . + + + + + Gets the port. + + + + + Gets the address family. + + + + + Gets the size of the supported UDP payload. + + This value might get updated by by reading the options records returned by a query. + + + + The size of the supported UDP payload. + + + + + Gets an optional DNS suffix which a resolver can use to append to queries or to find servers suitable for a query. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + + + + + + + + + + Gets a list of name servers by iterating over the available network interfaces. + + If is enabled, this method will return the Google public DNS endpoints if no + local DNS server was found. + + + If set to true local IPv6 sites are skipped. + If set to true the public Google DNS servers are returned if no other servers could be found. + + The list of name servers. + + + + + Using my custom native implementation to support UWP apps and such until + gets an implementation in netstandard2.1. + + + DnsClient has been changed in version 1.1.0. + It will not invoke this when resolving default DNS servers. It is up to the user to decide what to do based on what platform the code is running on. + + + The list of name servers. + + + + + On a Windows machine query the Name Resolution Policy table for a list of policy-defined name servers. + + Returns a collection of name servers from the policy table + + + + CLASS fields appear in resource records. + + + + + The Internet. + + + + + The CSNET class (Obsolete - used only for examples in some obsolete RFCs). + + + + + The CHAOS class. + + + + + Hesiod [Dyer 87]. + + + + + The query type field appear in the question part of a query. + Query types are a superset of . + + + + + A host address. + + RFC 1035 + + + + + An authoritative name server. + + RFC 1035 + + + + + A mail destination (OBSOLETE - use MX). + + RFC 1035 + + + + A mail forwarder (OBSOLETE - use MX). + + RFC 1035 + + + + The canonical name for an alias. + + RFC 1035 + + + + + Marks the start of a zone of authority. + + RFC 1035 + + + + + A mailbox domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A mail group member (EXPERIMENTAL). + + RFC 1035 + + + + + A mailbox rename domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A Null resource record (EXPERIMENTAL). + + RFC 1035 + + + + + A well known service description. + + RFC 3232 + + + + + A domain name pointer. + + RFC 1035 + + + + + Host information. + + RFC 1035 + RFC 1010 + + + + + Mailbox or mail list information. + + RFC 1035 + + + + + Mail exchange. + + RFC 1035 + RFC 974 + + + + + Text resources. + + RFC 1035 + RFC 1464 + + + + + Responsible Person. + + RFC 1183 + + + + + AFS Data Base location. + + RFC 1183 + RFC 5864 + + + + + An IPv6 host address. + + RFC 3596 + + + + + A resource record which specifies the location of the server(s) for a specific protocol and domain. + + RFC 2782 + + + + + The Naming Authority Pointer rfc2915 + + RFC 2915 + + + + + DS rfc4034 + + RFC 4034 + + + + RRSIG rfc3755. + + RFC 3755 + + + + NSEC rfc4034. + + RFC 4034 + + + + DNSKEY rfc4034 + + RFC 4034 + + + + NSEC3 rfc5155. + + RFC 5155 + + + + NSEC3PARAM rfc5155. + + RFC 5155 + + + + TLSA rfc6698 + + RFC 6698 + + + + SPF records don't officially have a dedicated RR type, should be used instead. + The behavior of TXT and SPF are the same. + + + This library will return a TXT record but will set the header type to SPF if such a record is returned. + + RFC 7208 + + + + DNS zone transfer request. + This can be used only if is set to true as AXFR is only supported via TCP. + + The DNS Server might only return results for the request if the client connection/IP is allowed to do so. + + + + + + Generic any query *. + + + + + A Uniform Resource Identifier (URI) resource record. + + RFC 7553 + + + + + A certification authority authorization. + + RFC 6844 + + + + + A SSH Fingerprint resource record. + + RFC 4255 + + + + + Gets or sets the DnsClient should use. + Per default it will log to . + + + + + Helper for reading config files where each row is a key-value data pair. + The input key-values must not have any whitespace within them. + Keys are only matched if they begin a line, with no preceding whitespace. + + + + + Constructs a new RowConfigReader which reads from the given string. + The string to parse through. + + + + + Constructs a new RowConfigReader which reads from the given string. + The string to parse through. + The comparison kind to use. + + + + + Gets the next occurrence of the given key, from the current position of the reader, + or throws if no occurrence of the key exists in the remainder of the string. + + + + + Tries to get the next occurrence of the given key from the current position of the reader. + If successful, returns true and stores the result in 'value'. Otherwise, returns false. + + + + + Gets the next occurrence of the key in the string, and parses it as an Int32. + Throws if the key is not found in the remainder of the string, or if the key + cannot be successfully parsed into an Int32. + + + This is mainly provided as a helper because most Linux config/info files + store integral data. + + + + + Reads the value of the first occurrence of the given key contained in the string given. + + The key-value row configuration string. + The key to find. + The value of the row containing the first occurrence of the key. + + + + Extension methods for . + + + + + Translates a IPv4 or IPv6 into an arpa address. + Used for reverse DNS lookup to get the domain name of the given . + + The address to translate. + The arpa representation of the address. + + + + + + + Extension methods for where T is . + + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only + + + The list of . + + + + Filters the elements of an to return s only + + + The list of . + + + + Filters the elements of an to return s + which have the . + + The records. + The to filter for. + The list of . + +
+
diff --git a/local-nugets/dnsclient/1.6.1/lib/netstandard1.3/DnsClient.xml b/local-nugets/dnsclient/1.6.1/lib/netstandard1.3/DnsClient.xml new file mode 100644 index 000000000..99094a5d3 --- /dev/null +++ b/local-nugets/dnsclient/1.6.1/lib/netstandard1.3/DnsClient.xml @@ -0,0 +1,5090 @@ + + + + DnsClient + + + + + As defined in https://tools.ietf.org/html/rfc1035#section-5.1 except '()' or '@' or '.' + + + + + The flags of the header's second 16bit value + + + + + A representing an IPv6 . + + A 128 bit IPv6 address is encoded in the data portion of an AAAA + resource record in network byte order(high-order byte first). + + + RFC 3596 + + + + Initializes a new instance of the class. + + + + + + Base class for s transporting an . + + + + + + + Gets the . + + + The address. + + + + + Initializes a new instance of the class. + + The information. + The address. + If is null. + If or is null + + + + A representing an AFS database location. + + RFC 1183 + RFC 5864 + + + + Gets the . + + + The sub type. + + + + + Gets the hostname. + + + The hostname. + + + + + Initializes a new instance of the class. + + The information. + The type. + The name. + If or is null. + + + + Type used by . + + + + + AFS is a registered trademark of Transarc Corporation + + + + + The Distributed Computing Environment + + + + + A representing an IPv4 . + Hosts that have multiple Internet addresses will have multiple A records. + + RFC 1035 + + + + Initializes a new instance of the class. + + + + + + A representing a certification authority authorization. + + The Certification Authority Authorization (CAA) DNS Resource Record + allows a DNS domain name holder to specify one or more Certification + Authorities(CAs) authorized to issue certificates for that domain. + + + CAA Resource Records allow a public Certification Authority to + implement additional controls to reduce the risk of unintended + certificate mis-issue.This document defines the syntax of the CAA + record and rules for processing CAA records by certificate issuers. + + + RFC 6844 + + + + One octet containing the flags. + + + + + The property identifier, a sequence of US-ASCII characters. + + + + + A sequence of octets representing the property value. + Property values are encoded as binary values and MAY employ sub-formats. + + + + + Initializes a new instance of the class. + + The information. + The flags. + The tag. + The value. + If or or is null. + + + + A representing the canonical name for an alias. + + RFC 1035 + + + + Gets the canonical name for an alias. + + + The canonical name. + + + + + Initializes a new instance of the class. + + The information. + The canonical name. + If or is null. + + + + a representing a DnsKey record. + + + + + + Gets the DNSKEY's flags value. + + + + + Gets the DNSKEY's protocol value. + The value must be 3, and the MUST be treated as invalid + during signature verification if it is found to be some value other than 3. + + + + + Gets the 's cryptographic algorithm and determines the format of the . + + + + + Gets the public key material. + The format depends on the of the key being stored. + + + + + Gets the base64 string representation of the . + + + + + Initializes a new instance of the class + + + + + + + If or is null. + + + + Base class for all resource records. + + + + + + Initializes a new instance of the class. + + The information. + If is null. + + + + + + + Same as ToString but offsets the + by . + Set the offset to -32 for example to make it print nicely in consoles. + + The offset. + A string representing this instance. + + + + Returns a string representation of the record's value only. + uses this to compose the full string value of this instance. + + A string representing this record. + + + + The type represents a . + + + + + The domain name used to query. + + + + + Specifies type of resource record. + + + + + Specifies type class of resource record, mostly IN but can be CS, CH or HS . + + + + + Gets the current time to live value for the record. + + + + + Gets or sets the original time to live returned from the server. + + + + + Gets the number of bytes for this resource record stored in RDATA + + + + + Initializes a new instance of the class. + + The domain name used by the query. + Type of the record. + The record class. + The time to live. + Length of the raw data. + If is null. + + + + Initializes a new instance of the class. + + The used by the query. + Type of the record. + The record class. + The time to live. + Length of the raw data. + If is null or empty. + + + + a representing a DS record. + + + + + + Gets the key tag value of the referred to by this record. + + Key Tag Calculation + + + + Gets the algorithm of the referred to by this record. + + + + + Gets the algorithm used to construct the digest. + + + + + Gets the digest of the this record refers to. + + + + + Gets the hexadecimal string representation of the . + + + + + Initializes a new instance of the class + + If or is null. + + + + A not representing any specific resource record. + Used if unsupported s are found in the result. + + + + + + Initializes a new instance of the class. + + The information. + If is null. + + + + A used to acquire general information about a host. + + RFC 1035 + RFC 1010 + + + + Gets a string which specifies the CPU type. + + + The CPU. + + + + + Gets a string which specifies the operating system type. + + + The OS. + + + + + Initializes a new instance of the class. + + The information. + The CPU. + The OS. + If is null. + + + + A representing a domain name which specifies a host which has the specified mailbox. + + RFC 1035 + + + + Gets the domain name which specifies a host which has the specified mailbox. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + A representing a domain name which specifies a mailbox which is a member of the mail group specified by the domain name. + + RFC 1035 + + + + Gets a domain name which specifies a mailbox which is a member of the mail group specified by the domain name. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + A representing mailbox or mail list information. + + RFC 1035 + + + + Gets the domain name which specifies a mailbox which is responsible for the mailing list or mailbox. + + + The domain name. + + + + + Gets the domain name which specifies a mailbox which is to receive error messages related to the mailing list or mailbox. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The RMAILBX. + The EMAILBX. + If or or is null. + + + + A representing a mailbox rename domain name. + + RFC 1035 + + + + Gets the domain name which specifies a mailbox which is the proper rename of the specified mailbox. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + A representing a mail exchange. + + RFC 1035 + RFC 974 + + + + Gets a 16 bit integer which specifies the preference given to + this RR among others at the same owner. + Lower values are preferred. + + + + + A domain name which specifies a host willing to act as a mail exchange. + + + + + Initializes a new instance of the class. + + The information. + The preference. + Name of the domain. + If or is null. + + + + A representing Naming Authority Pointer + + RFC 2915 + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + Gets the order. + + + The order. + + + + + Gets the preference. + + + The preference. + + + + + Gets the flags. + + + The flags. + + + + + Gets the services. + + + The services. + + + + + Gets the regular expression. + + + The regular expression. + + + + + Gets the replacement. + + + The replacement. + + + + + Initializes a new instance of the class. + + The information. + The order. + The preference. + The flags. + The services. + The regular expression. + The replacement. + + + + a representing a NSEC3PARAM record. + + + + + + + Gets the cryptographic hash algorithm used to construct the hash-value. + + + + + Gets the flags field value containing 8 one-bit flags that can be used to indicate different processing. + All undefined flags must be zero. + The only flag defined by this specification is the Opt-Out flag. + + + + + Gets the number of additional times the hash function has been performed. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Initializes a new instance of the class + + If or is null. + + + + a representing a NSEC3 record. + + + + + + Gets the cryptographic hash algorithm used to construct the hash-value. + + + + + Gets the flags field value containing 8 one-bit flags that can be used to indicate different processing. + All undefined flags must be zero. + The only flag defined by this specification is the Opt-Out flag. + + + + + Gets the number of additional times the hash function has been performed. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Gets the name of the next hashed owner in hash order. + This value is in binary format. + + + + + Gets the name of the next hashed owner in hash order. + This value is in binary format. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the original owner name of the NSEC3 RR. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the original owner name of the NSEC3 RR. + + + + + Initializes a new instance of the class + + + If , , or is null. + + + + + a representing a NSEC record. + + + + + + Gets the next owner name (in the canonical ordering of the zone) that has authoritative data + or contains a delegation point NS RRset. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the NSEC RR's owner name. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the NSEC RR's owner name. + + + + + Initializes a new instance of the class + + If , or is null. + + + + A representing an authoritative name server. + + RFC 1035 + + + + Gets the domain name which specifies a host which should be authoritative for the specified class and domain. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The name. + If or is null. + + + + Experimental RR, not sure if the implementation is actually correct either (not tested). + + RFC 1035 + + + + Gets any data stored in this record. + + + The byte array. + + + + + Gets the raw data of this record as UTF8 string. + + + + + Initializes a new instance of the class. + + The information. + Anything. + If or is null. + + + + A options resource record. + + + + + A representing a pointer. These RRs are used + in special domains to point to some other location in the domain space. + + + RFC 1035 + + + + Gets the domain name which points to some location in the domain name space. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + The resource record types. The enum contains only the types supported by this library at this moment. + The is used to identify any . + + Resource record types are a subset of . + + + + + + + + A host address. + + RFC 1035 + + + + + An authoritative name server. + + RFC 1035 + + + + + A mail destination (OBSOLETE - use MX). + + RFC 1035 + + + + A mail forwarder (OBSOLETE - use MX). + + RFC 1035 + + + + The canonical name for an alias. + + RFC 1035 + + + + + Marks the start of a zone of authority. + + RFC 1035 + + + + + A mailbox domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A mail group member (EXPERIMENTAL). + + RFC 1035 + + + + + A mailbox rename domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A Null resource record (EXPERIMENTAL). + + RFC 1035 + + + + + A well known service description. + + RFC 3232 + + + + + A domain name pointer. + + RFC 1035 + + + + + Host information. + + RFC 1035 + RFC 1010 + + + + + Mailbox or mail list information. + + RFC 1035 + + + + + Mail exchange. + + RFC 1035 + RFC 974 + + + + + Text resources. + + RFC 1035 + RFC 1464 + + + + + Responsible Person. + + RFC 1183 + + + + + AFS Data Base location. + + RFC 1183 + RFC 5864 + + + + + An IPv6 host address. + + RFC 3596 + + + + + A resource record which specifies the location of the server(s) for a specific protocol and domain. + + RFC 2782 + + + + + The Naming Authority Pointer rfc3403 + + RFC 2915 + + + + + Option record. + + RFC 6891 + + + + DS rfc4034 + + RFC 4034 + + + + SSH finger print record. + + RFC 4255 + + + + RRSIG rfc3755. + + RFC 3755 + + + + NSEC rfc4034. + + RFC 4034 + + + + DNSKEY rfc4034. + + + + + + NSEC3 rfc5155. + + RFC 5155 + + + + NSEC3PARAM rfc5155. + + RFC 5155 + + + + TLSA rfc6698. + + RFC 6698 + + + + SPF records don't officially have a dedicated RR type, should be used instead. + The behavior of TXT and SPF are the same. + + + This library will return a TXT record but will set the header type to SPF if such a record is returned. + + RFC 7208 + + + + A Uniform Resource Identifier (URI) resource record. + + RFC 7553 + + + + + A certification authority authorization. + + RFC 6844 + + + + + A representing a responsible person. + + RFC 1183 + + + + Gets a domain name that specifies the mailbox for the responsible person. + + + The mailbox domain. + + + + + Gets a domain name for which TXT RR's exist. + + + The text domain. + + + + + Initializes a new instance of the class. + + The information. + The mailbox domain. + The text domain. + + If or or is null. + + + + + A representing a RRSIG record. + + + + + + + + Gets the type of the RRset that is covered by this . + + + + + Gets the cryptographic algorithm used to create the . + + + + + Gets the number of labels in the original RR owner name. + + + + + Gets the TTL of the covered RRset as it appears in the authoritative zone. + + + + + Gets the expiration date of the . + This record MUST NOT be used for authentication prior to the + and MUST NOT be used for authentication after the . + + + + + Gets the inception date of the . + This record MUST NOT be used for authentication prior to the + and MUST NOT be used for authentication after the . + + + + + Gets the key tag value of the that validates this . + + Key Tag Calculation + + + + Gets the value which identifies the owner name of the + that a validator is supposed to use to validate this . + + + + + Gets the cryptographic signature that covers the RRSIG RDATA (excluding the Signature field) + and the RRset specified by the RRSIG owner name, RRSIG class, and RRSIG Type Covered field. + The format of this field depends on the algorithm in use. + + + + + Gets the base64 string representation of the . + + + + + Initializes a new instance of the class. + + + + + + + + + + + + If , or is null. + + + + A representing a SOA (Start Of Authority) record. + + RFC 1035 + + + + Gets a 32 bit time value that specifies the upper limit on + the time interval that can elapse before the zone is no + longer authoritative. + + + The expiration. + + + + + Gets the unsigned 32 bit minimum TTL field that should be + exported with any RR from this zone. + + + The minimum TTL. + + + + + Gets the domain name of the name server that was the original or primary source of data for this zone. + + + The domain name. + + + + + Gets a 32 bit time interval before the zone should be refreshed. + + + The refresh time. + + + + + Gets a 32 bit time interval that should elapse before a failed refresh should be retried. + + + The retry time. + + + + + Gets a domain name which specifies the mailbox of the person responsible for this zone. + + + The responsible mailbox domain name. + + + + + Gets the unsigned 32 bit version number of the original copy + of the zone.Zone transfers preserve this value. This value wraps and should be compared using sequence space arithmetic. + + + The serial number. + + + + + Initializes a new instance of the class. + + The information. + Name original domain name. + Name responsible domain name. + The serial number. + The refresh time. + The retry time. + The expire time. + The minimum TTL. + + If or or is null. + + + + + A representing a location of the server(s) for a specific protocol and domain. + + RFC 2782 + + + + Gets the port. + + + The port. + + + + + Gets the priority. + + + The priority. + + + + + Gets the target domain name. + + + The target. + + + + + Gets the weight. + + + The weight. + + + + + Initializes a new instance of the class. + + The information. + The priority. + The weight. + The port. + The target. + If or is null. + + + + A representing an SSH fingerprint + + SSHFP RRs are used to hold SSH fingerprints. Upon connecting to a + host an SSH client may choose to query for this to check the fingerprint(s) + + + RFC 4255 + RFC 6594 + RFC 7479 + + + + + + The information. + The algorithm. + The fingerprint type. + The fingerprint. + + + + Algorithm used for the fingerprint + + + + + Fingerprint type used for the fingerprint + + + + + Fingerprint as defined in the RR + + + + + Algorithm used by + + + + + Reserved for later use + + + + + RSA + + + + + DSS + + + + + Elliptic Curve DSA + + + + + Edwards-curve DSA + + + + + Fingerprint type used by + + + + + Reserved for later use + + + + + SHA-1 fingerprint + + + + + SHA-256 fingerprint + + + + + A representing a TLSA record. + + + + + + + + Gets the , which specifies the provided association + that will be used to match the certificate presented in the TLS handshake. + + + + + Gets the , which specifies which part of the TLS certificate + presented by the server will be matched against the . + + + + + Gets the , which specifies how the is presented. + + + + + Gets the "certificate association data" to be matched. + + + + + Gets the string representation of the in hexadecimal. + + + + + Initializes a new instance of the class. + + + + + + + If or is null. + + + + The usage flag specifies the provided association that will be used to match the certificate presented in the TLS handshake. + + + + + Certificate authority constraint. + + + + + Service certificate constraint. + + + + + Trust Anchor Assertion. + + + + + Domain issued certificate. + + + + + Flag which specifies which part of the TLS certificate presented by the server will be matched against the association data. + + + + + Select the entire certificate for matching. + + + + + Select the public key for certificate matching. + + + + + Flag which specifies how the certificate association is presented. + + + + + Exact match, the entire information selected is present in the certificate association data. + + + + + SHA-256 hash of selected content. + + + + + SHA-512 hash of selected content. + + + + + A representing a text resource. + + TXT RRs are used to hold descriptive text. The semantics of the text + depends on the domain where it is found. + + + RFC 1035 + RFC 1464 + + + + Gets the list of TXT values of this resource record in escaped form, valid for root file. + + + See https://tools.ietf.org/html/rfc1035#section-5.1 for escape details. + + + + + Gets the actual UTF8 representation of the text values of this record. + + + + + Initializes a new instance of the class. + + The information. + The values. + The UTF8 values. + + If or or is null. + + + + + Experimental RR, not sure if the implementation is actually correct either (not tested). + + RFC 1035 + + + + Gets any data stored in this record. + + + The byte array. + + + + + Gets the unknown bytes as Base64 string. + + + + + Initializes a new instance of the class. + + The information. + The raw data. + If or is null. + + + + A representing a Uniform Resource Identifier (URI) resource. + + RFC 7553 + + + + Gets or sets the target Uri. + + + The target. + + + + + Gets or sets the priority. + + + The priority. + + + + + Gets or sets the weight. + + + The weight. + + + + + Initializes a new instance of the class. + + The information. + The priority. + The weight. + The target. + If or is null. + + + + A representing a Well Known Service description. + + + Instead of describing the supported protocols in RFCs, the list is now published on http://www.iana.org/. + + + RFC 3232, the most current update. + + + + Gets the address. + + + The address. + + + + + Gets the Protocol. + + + According to https://tools.ietf.org/html/rfc6335, only ports for TCP, UDP, DCCP and SCTP services will be assigned. + + + + + Gets the binary raw bitmap. + Use to determine which ports are actually configured. + + + + + Gets the list of assigned ports. + + For example, if this list contains port 25, which is assigned to + the SMTP service. This means that a SMTP services + is running on with transport . + + + Port numbers + + + + Initializes a new instance of the class. + + The information. + The address. + The protocol. + The raw data. + + If or or is null. + + + + + Specifies kind of query in this message. + This value is set by the originator of a query and copied into the response. + + + + + A standard query. + + RFC 1035 + + + + An inverse query. + + RFC 3425 + + + + A server status request. + + RFC 1035 + + + + Unassigned value + + + + + Notify query. + + RFC 1996 + + + + Update query. + + RFC 2136 + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Extension methods for the contract. + + The methods implement common queries which are more complex and have some business logic. + + + + + + The GetHostEntry method queries a DNS server for the IP addresses and aliases associated with the . + In case is an , GetHostEntry does a reverse lookup on that first to determine the hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname or . +
+
+ + The following code example uses the method to resolve an IP address or hostname to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The or host name to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostEntryAsync method queries a DNS server for the IP addresses and aliases associated with the . + In case is an , GetHostEntry does a reverse lookup on that first to determine the hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname or . +
+
+ + The following code example uses the method to resolve an IP address or hostname to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The or host name to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostEntry method does a reverse lookup on the IP , + and queries a DNS server for the IP addresses and aliases associated with the resolved hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname of the . +
+
+ + The following code example uses the method to resolve an IP address to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostEntryAsync method does a reverse lookup on the IP , + and queries a DNS server for the IP addresses and aliases associated with the resolved hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname of the . +
+
+ + The following code example uses the method to resolve an IP address to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostName method queries a DNS server to resolve the hostname of the via reverse lookup. + + The instance. + The to resolve. + + The hostname if the reverse lookup was successful or null, in case the host was not found. + If is set to true, this method will throw an instead of returning null! + + If is null. + If no host has been found and is true. + + + + The GetHostNameAsync method queries a DNS server to resolve the hostname of the via reverse lookup. + + The instance. + The to resolve. + + The hostname if the reverse lookup was successful or null, in case the host was not found. + If is set to true, this method will throw an instead of returning null! + + If is null. + If no host has been found and is true. + + + + The ResolveService method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + + The protocol of the service to query for. + Set it to or to not pass any protocol. + + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveServiceAsync method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + + The protocol of the service to query for. + Set it to or to not pass any protocol. + + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveService method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + An optional tag. Must not have any _ prefix. + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveService method does a lookup for {} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The name of the service to look for. Must have _ prefix and domain and protocol. + A collection of s. + If are null. + RFC 2782 + + + + The ResolveServiceAsync method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + An optional tag. Must not have any _ prefix. + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveServiceAsync method does a lookup for {} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The name of the service to look for. Must have _ prefix and domain and protocol. + A collection of s. + If are null. + RFC 2782 + + + + Constructs a DNS query string from the constituent parts. + + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + An optional tag. Must not have any _ prefix. + A service string that can be used in a DNS service query. + + + + Transforms a DNS query result into a collection of objects. + + The DNS + A collection of s. + + + + Extends by the property. + + + + + + Gets or sets the port. + + + The port of this entry. + + + + + Gets or sets priority of the original record. + Might be zero if not provided. + + + The priority of this entry. + + + + + Gets or sets weight of the original record. + Might be zero if not provided. + + + The weight of this entry. + + + + + The options used to override the defaults of per query. + + + + + The minimum payload size. Anything equal or less than that will default back to this value and might disable EDNS. + + + + + The maximum reasonable payload size. + + + + + Gets or sets a flag indicating whether each will contain a full documentation of the response(s). + Default is False. + + + + + + Gets or sets a flag indicating whether DNS queries should use response caching or not. + The cache duration is calculated by the resource record of the response. Usually, the lowest TTL is used. + Default is True. + + + In case the DNS Server returns records with a TTL of zero. The response cannot be cached. + + + + + Gets or sets a flag indicating whether DNS queries should instruct the DNS server to do recursive lookups, or not. + Default is True. + + The flag indicating if recursion should be used or not. + + + + Gets or sets the number of tries to get a response from one name server before trying the next one. + Only transient errors, like network or connection errors will be retried. + Default is 2 which will be three tries total. + + If all configured error out after retries, an exception will be thrown at the end. + + + The number of retries. + + + + Gets or sets a flag indicating whether the should throw a + in case the query result has a other than . + Default is False. + + + + If set to False, the query will return a result with an + which contains more information. + + + If set to True, any query method of will throw an if + the response header indicates an error. + + + If both, and are set to True, + will continue to query all configured . + If none of the servers yield a valid response, a will be thrown + with the error of the last response. + + + + + + + + Gets or sets a flag indicating whether the can cycle through all + configured on each consecutive request, basically using a random server, or not. + Default is True. + If only one is configured, this setting is not used. + + + + If False, configured endpoint will be used in random order. + If True, the order will be preserved. + + + Even if is set to True, the endpoint might still get + disabled and might not being used for some time if it errors out, e.g. no connection can be established. + + + + + + Gets or sets a flag indicating whether to query the next configured in case the response of the last query + returned a other than . + Default is True. + + + If True, lookup client will continue until a server returns a valid result, or, + if no yield a valid result, the last response with the error will be returned. + In case no server yields a valid result and is also enabled, an exception + will be thrown containing the error of the last response. + + If True and is enabled, the exception will be thrown on first encounter without trying any other servers. + + + + + + + Gets or sets a flag indicating whether to query the next configured + if the response does not have an error but the query was not answered by the response. + Default is True. + + + The query is answered if there is at least one in the answers section + matching the 's . + + If there are zero answers in the response, the query is not answered, independent of the . + If there are answers in the response, the is used to find a matching record, + query types and will be ignored by this check. + + + + + + Gets or sets the request timeout in milliseconds. is used for limiting the connection and request time for one operation. + Timeout must be greater than zero and less than . + If (or -1) is used, no timeout will be applied. + Default is 5 seconds. + + + If a very short timeout is configured, queries will more likely result in s. + + Important to note, s will be retried, if are not disabled (set to 0). + This should help in case one or more configured DNS servers are not reachable or under load for example. + + + + + + Gets or sets a flag indicating whether TCP should be used in case a UDP response is truncated. + Default is True. + + If False, truncated results will potentially yield no or incomplete answers. + + + + + + Gets or sets a flag indicating whether UDP should not be used at all. + Default is False. + + Enable this only if UDP cannot be used because of your firewall rules for example. + Also, zone transfers (see ) must use TCP only. + + + + + + Gets or sets the maximum buffer used for UDP requests. + Defaults to 4096. + + If this value is less or equal to 512 bytes, EDNS might be disabled. + + + + + + Gets or sets a flag indicating whether EDNS should be enabled and the DO flag should be set. + Defaults to False. + + + + + Gets or sets a flag indicating whether the DNS failures are being cached. The purpose of caching + failures is to reduce repeated lookup attempts within a short space of time. + Defaults to False. + + + + + Gets or sets the duration to cache failed lookups. Does not apply if failed lookups are not being cached. + Defaults to 5 seconds. + + + + + Converts the query options into readonly settings. + + The options. + + + + The options used to override the defaults of per query. + + + + + Creates a new instance of without name servers. + If no nameservers are configured, a query will fallback to the nameservers already configured on the instance. + + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Gets a list of name servers which should be used to query. + + + + + Converts the query options into readonly settings. + + The options. + + + + The options used to configure defaults in and to optionally use specific settings per query. + + + + + Creates a new instance of with default settings. + + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Gets or sets a flag indicating whether the name server collection should be automatically resolved. + Default is True. + + + If name servers are configured manually via the constructor, this flag is set to false. + If you want both, your manually configured servers and auto resolved name servers, + you can use both (ctor or) and set to True. + + + + + Gets or sets a which can override the TTL of a resource record in case the + TTL of the record is lower than this minimum value. + Default is Null. + + This is useful in case the server returns records with zero TTL. + + + + This setting gets ignored in case is set to False, + or the value is set to Null or . + The maximum value is 24 days or (choose a wise setting). + + + + + Gets a which can override the TTL of a resource record in case the + TTL of the record is higher than this maximum value. + Default is Null. + + + This setting gets ignored in case is set to False, + or the value is set to Null, or . + The maximum value is 24 days (which shouldn't be used). + + + + + The options used to override the defaults of per query. + + + + + Gets a flag indicating whether each will contain a full documentation of the response(s). + Default is False. + + + + + + Gets a flag indicating whether DNS queries should use response caching or not. + The cache duration is calculated by the resource record of the response. Usually, the lowest TTL is used. + Default is True. + + + In case the DNS Server returns records with a TTL of zero. The response cannot be cached. + + + + + Gets a flag indicating whether DNS queries should instruct the DNS server to do recursive lookups, or not. + Default is True. + + The flag indicating if recursion should be used or not. + + + + Gets the number of tries to get a response from one name server before trying the next one. + Only transient errors, like network or connection errors will be retried. + Default is 5. + + If all configured error out after retries, an exception will be thrown at the end. + + + The number of retries. + + + + Gets a flag indicating whether the should throw a + in case the query result has a other than . + Default is False. + + + + If set to False, the query will return a result with an + which contains more information. + + + If set to True, any query method of will throw an if + the response header indicates an error. + + + If both, and are set to True, + will continue to query all configured . + If none of the servers yield a valid response, a will be thrown + with the error of the last response. + + + + + + + + Gets a flag indicating whether the can cycle through all + configured on each consecutive request, basically using a random server, or not. + Default is True. + If only one is configured, this setting is not used. + + + + If False, configured endpoint will be used in random order. + If True, the order will be preserved. + + + Even if is set to True, the endpoint might still get + disabled and might not being used for some time if it errors out, e.g. no connection can be established. + + + + + + Gets a flag indicating whether to query the next configured in case the response of the last query + returned a other than . + Default is True. + + + If True, lookup client will continue until a server returns a valid result, or, + if no yield a valid result, the last response with the error will be returned. + In case no server yields a valid result and is also enabled, an exception + will be thrown containing the error of the last response. + + If True and is enabled, the exception will be thrown on first encounter without trying any other servers. + + + + + + + Gets or sets a flag indicating whether to query the next configured + if the response does not have an error but the query was not answered by the response. + Default is True. + + + The query is answered if there is at least one in the answers section + matching the 's . + + If there are zero answers in the response, the query is not answered, independent of the . + If there are answers in the response, the is used to find a matching record, + query types and will be ignored by this check. + + + + + + Gets the request timeout in milliseconds. is used for limiting the connection and request time for one operation. + Timeout must be greater than zero and less than . + If (or -1) is used, no timeout will be applied. + Default is 5 seconds. + + + If a very short timeout is configured, queries will more likely result in s. + + Important to note, s will be retried, if are not disabled (set to 0). + This should help in case one or more configured DNS servers are not reachable or under load for example. + + + + + + Gets a flag indicating whether TCP should be used in case a UDP response is truncated. + Default is True. + + If False, truncated results will potentially yield no or incomplete answers. + + + + + + Gets a flag indicating whether UDP should not be used at all. + Default is False. + + Enable this only if UDP cannot be used because of your firewall rules for example. + Also, zone transfers (see ) must use TCP only. + + + + + + Gets a flag indicating whether EDNS is enabled based on the values + of and . + + + + + Gets the maximum buffer used for UDP requests. + Defaults to 4096. + + If this value is less or equal to 512 bytes, EDNS might be disabled. + + + + + + Gets a flag indicating whether EDNS should be enabled and the DO flag should be set. + Defaults to False. + + + + + Gets a flag indicating whether the DNS failures are being cached. The purpose of caching + failures is to reduce repeated lookup attempts within a short space of time. + Defaults to False. + + + + + If failures are being cached this value indicates how long they will be held in the cache for. + Defaults to 5 seconds. + + + + + Creates a new instance of . + + + + + + + + + + + The readonly version of used to customize settings per query. + + + + + Gets a collection of name servers which should be used to query. + + + + + Creates a new instance of . + + + + + Creates a new instance of . + + + + + + + + + + + The readonly version of used as default settings in . + + + + + Creates a new instance of . + + + + + Gets a which can override the TTL of a resource record in case the + TTL of the record is lower than this minimum value. + Default is Null. + + This is useful in cases where the server returns records with zero TTL. + + + + This setting gets ignored in case is set to False. + The maximum value is 24 days or . + + + + + Gets a which can override the TTL of a resource record in case the + TTL of the record is higher than this maximum value. + Default is Null. + + + This setting gets ignored in case is set to False. + The maximum value is 24 days. + Setting it to would be equal to not providing a value. + + + + + + + + + + + The response returned by any query performed by with all answer sections, header and message information. + + + + + + + Gets the name server which responded with this result. + + + The name server. + + + + + Gets a list of additional records. + + + + + Gets a list of all answers, additional and authority records. + + + + + Gets the audit trail if . as set to true, null otherwise. + + + The audit trail. + + + + + Gets a list of answer records. + + + + + Gets a list of authority records. + + + + + Returns a string value representing the error response code in case an error occurred, + otherwise ''. + + + + + A flag indicating if the header contains a response code other than . + + + + + Gets the header of the response. + + + + + Gets the list of questions. + + + + + Gets the size of the message. + + + The size of the message. + + + + + Gets the settings used to produce this response. + + + + + + + + + + + The class transports information of the lookup query performed by . + + A list of questions is returned by (although, the list will always contain only one ). + + + + + + Gets the domain name the lookup was running for. + + + The name of the query. + + + + + Gets the question class. + + + The question class. + + + + + Gets the type of the question. + + + The type of the question. + + + + + Initializes a new instance of the class. + + The query. + Type of the question. + The question class. + If is null. + + + + Initializes a new instance of the class. + + The query. + Type of the question. + The question class. + If is null. + + + + + + + Returns the information of this instance in a friendly format with an optional . + + The optional offset which can be used for pretty printing. + The string representation of this instance. + + + + Represents a simple request message which can be send through . + + + + + 4 bit response codes of the 's header. + + RFC 6895 + + + + No error condition + + RFC 1035 + + + + Format error. The name server was unable to interpret the query. + + RFC 1035 + + + + Server failure. The name server was unable to process this query due to a problem with the name server. + + RFC 1035 + + + + Name Error. Meaningful only for responses from an authoritative name server, + this code signifies that the domain name referenced in the query does not exist. + + RFC 1035 + + + + Not Implemented. The name server does not support the requested kind of query. + + RFC 1035 + + + + Refused. The name server refuses to perform the specified operation for policy reasons. + For example, a name server may not wish to provide the information to the particular requester, + or a name server may not wish to perform a particular operation (e.g., zone transfer) for particular data. + + RFC 1035 + + + + Name Exists when it should not. + + RFC 2136 + + + + Resource record set exists when it should not. + + RFC 2136 + + + + Resource record set that should exist but does not. + + RFC 2136 + + + + Server Not Authoritative for zone / Not Authorized. + + RFC 2136 + RFC 2845 + + + + Name not contained in zone. + + RFC 2136 + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Extended response codes of the with OPT. + + RFC 6895 + + + + No error condition + + RFC 1035 + + + + Format error. The name server was unable to interpret the query. + + RFC 1035 + + + + Server failure. The name server was unable to process this query due to a problem with the name server. + + RFC 1035 + + + + Name Error. Meaningful only for responses from an authoritative name server, + this code signifies that the domain name referenced in the query does not exist. + + RFC 1035 + + + + Not Implemented. The name server does not support the requested kind of query. + + RFC 1035 + + + + Refused. The name server refuses to perform the specified operation for policy reasons. + For example, a name server may not wish to provide the information to the particular requester, + or a name server may not wish to perform a particular operation (e.g., zone transfer) for particular data. + + RFC 1035 + + + + Name Exists when it should not. + + RFC 2136 + + + + Resource record set exists when it should not. + + RFC 2136 + + + + Resource record set that should exist but does not. + + RFC 2136 + + + + Server Not Authoritative for zone / Not Authorized. + + RFC 2136 + RFC 2845 + + + + Name not contained in zone. + + RFC 2136 + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Bad OPT Version or TSIG Signature Failure. + + RFC 2671 + RFC 2845 + + + + Key not recognized. + + RFC 2845 + + + + Signature out of time window. + + RFC 2845 + + + + Bad TKEY Mode. + + RFC 2930 + + + + Duplicate key name. + + RFC 2930 + + + + Algorithm not supported. + + RFC 2930 + + + + Bad Truncation. + + RFC 4635 + + + + Bad/missing Server Cookie + + RFC 7873 + + + + Unknown error. + + + + + Indicates a timeout error. Connection to the remote server couldn't be established. + + + + + A DnsClient specific exception transporting additional information about the query causing this exception. + + + + + + Gets the response code. + + + The response code. + + + + + Gets the audit trail if . as set to true, null otherwise. + + + The audit trail. + + + + + Gets a human readable error message. + + + The error message. + + + + + Initializes a new instance of the class + with set to . + + + + + Initializes a new instance of the class + with set to + and a custom . + + + + + Initializes a new instance of the class + with the standard error text for the given . + + + + + Initializes a new instance of the class + with set to + and a custom and inner . + + + + + Initializes a new instance of the class + with a custom and the given . + + + + + Initializes a new instance of the class + with a custom and the given . + + + + + The header section of a . + + + + + Gets the number of additional records in the . + + + The number of additional records. + + + + + Gets the number of answer records in the . + + + The number of answer records. + + + + + Gets a value indicating whether the future use flag is set. + + + The future use flag. + + + + + Gets a value indicating whether this instance has authority answers. + + + true if this instance has authority answers; otherwise, false. + + + + + Gets the identifier. + + + The identifier. + + + + + Gets a value indicating whether the result is authentic data. + + + true if the result is authentic; otherwise, false. + + + + + Gets a value indicating whether checking is disabled. + + + true if checking is disabled; otherwise, false. + + + + + Gets a value indicating whether this instance has a query. + + + true if this instance has a query; otherwise, false. + + + + + Gets the number of name servers. + + + The number of name servers. + + + + + Gets the kind of query defined by . + + + The query kind. + + + + + Gets the number of questions of the . + + + The number of questions. + + + + + Gets a value indicating whether recursion is available on the DNS server. + + + true if recursion is available; otherwise, false. + + + + + Gets the response code. + + + The response code. + + + + + Gets a value indicating whether the result was truncated. + + + true if the result was truncated; otherwise, false. + + + + + Gets a value indicating whether recursion desired flag was set by the request. + + + true if the recursion desired flag was set; otherwise, false. + + + + + Initializes a new instance of the class. + + The identifier. + The flags. + The question count. + The answer count. + The additional count. + The server count. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the readonly representation of this message which can be returned. + + + + + The type is used to normalize and validate domain names and labels. + + + + + The ACE prefix indicates that the domain name label contains not normally supported characters and that the label has been encoded. + + + + + The maximum length in bytes for one label. + + + + + The maximum supported total length in bytes for a domain name. The calculation of the actual + bytes this consumes includes all bytes used for to encode it as octet string. + + + + + The root label ".". + + + + + Gets the original value. + + + + + Gets the validated and eventually modified value. + + + + + Gets the number of labels of this or null if not applicable. + This property is only set if the method was used to create this instance. + + + + + Performs an implicit conversion from to . + + The name. + + The result of the conversion. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parses the given and validates all labels. + + + An empty string will be interpreted as root label. + + A domain name. + The representing the given . + If is null. + + + + Transforms names with the to the Unicode variant and adds a trailing '.' at the end if not present. + The original value will be kept in this instance in case it is needed. + + + The method does not parse the domain name unless it contains a . + + The value to check. + The representation. + + + + Generic contract to query DNS endpoints. Implemented by . + + + + + Performs a DNS lookup for the given , and . + + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + + The which contains the response headers and lists of resource records. + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + Query options to be used instead of 's settings. + + The which contains the response headers and lists of resource records. + + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Returns cached results for the given from the in-memory cache, if available, or Null otherwise. + + + This method will not perform a full lookup if there is nothing found in cache or the cache is disabled! + + The domain name query. + + The which contains the cached response headers and lists of resource records. + If no matching cache entry is found Null is returned. + + + + + Returns cached results for the given , and + against the in-memory cache, if available, or Null otherwise. + + + This method will not perform a full lookup if there is nothing found in cache or the cache is disabled! + + The domain name query. + The . + The . + + The which contains the cached response headers and lists of resource records. + If no matching cache entry is found Null is returned. + + + + + Performs a DNS lookup for the given , and + + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + Query options to be used instead of 's settings. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + + The which might contain the for the . + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + Query options to be used instead of 's settings. + + The which might contain the for the . + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + The cancellation token. + + The which might contain the for the . + + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + Query options to be used instead of 's settings. + The cancellation token. + + The which might contain the for the . + + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + Query options to be used instead of 's settings. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If , or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + Query options to be used instead of 's settings. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If , or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + Query options to be used instead of 's settings. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If , or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + Query options to be used instead of 's settings. + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If , or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Contract defining the result of a query performed by . + + + + + + + Gets the list of questions. + + + + + Gets a list of additional records. + + + + + Gets a list of all answers, additional and authority records. + + + + + Gets a list of answer records. + + + + + Gets a list of authority records. + + + + + Gets the audit trail if . as set to true, null otherwise. + + + The audit trail. + + + + + Returns a string value representing the error response code in case an error occurred, + otherwise ''. + + + + + A flag indicating if the header contains a response code other than . + + + + + Gets the header of the response. + + + + + Gets the size of the message. + + + The size of the message. + + + + + Gets the name server which responded with this result. + + + The name server. + + + + + Gets the settings used to produce this response. + + + + + The contract for the LookupClient. + + The interfaces for the query methods and the lookup client properties are separated so that one can + inject or expose only the without exposing the configuration options. + + + + + + Gets the list of configured or resolved name servers of the instance. + + + + + Gets the configured settings of the instance. + + + + + Base32 encoder with the extended hey alphabet + + + See https://datatracker.ietf.org/doc/html/rfc4648#section-7 + + + RFC4648 + + + + Converts the specified string, which encodes binary data as base-32 digits + using the extended hex alphabet, to an equivalent 8-bit unsigned integer array. + + The string to convert. + An array of 8-bit unsigned integers that is equivalent to . + + + + Converts an array of 8-bit unsigned integers to its equivalent string + representation that is encoded with base-32 digits using the extended hex alphabet. + + An array of 8-bit unsigned integers. + The string representation in base 32 hex of . + + + + Resolve all names from the Name Resolution policy in Windows. + + Returns a list of name servers + + + + The is the main query class of this library and should be used for any kind of DNS lookup query. + + It implements and which contains a number of extension methods, too. + The extension methods internally all invoke the standard queries though. + + + + + + A basic example without specifying any DNS server, which will use the DNS server configured by your local network. + + + + + + + + + + + + + + Creates a new instance of without specifying any name server. + This will implicitly use the name server(s) configured by the local network adapter(s). + + + This uses . + The resulting list of name servers is highly dependent on the local network configuration and OS. + + + In the following example, we will create a new without explicitly defining any DNS server. + This will use the DNS server configured by your local network. + + + + + + + + Creates a new instance of with default settings and one or more DNS servers identified by their . + The default port 53 will be used for all s provided. + + The (s) to be used by this instance. + + Connecting to one or more DNS server using the default port: + + + + + If is null. + + + + Create a new instance of with default settings and one DNS server defined by and . + + The of the DNS server. + The port of the DNS server. + + Connecting to one specific DNS server which does not run on the default port 53: + + + + + If is null. + + + + Creates a new instance of with default settings and the given name servers. + + The (s) to be used by this instance. + + Connecting to one specific DNS server which does not run on the default port 53: + + + + + The class also contains predefined s for the public Google DNS servers, which can be used as follows: + + + + + + If is null. + + + + Creates a new instance of with default settings and the given name servers. + + The (s) to be used by this instance. + If is null. + + + + Creates a new instance of with custom settings. + + The options to use with this instance. + If is null. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a reverse lookup question for an . + + The address. + A with the proper arpa domain query for the given address. + + + + Represents a name server instance used by . + Also, comes with some static methods to resolve name servers from the local network configuration. + + + + + The default DNS server port. + + + + + The public Google DNS IPv4 endpoint. + + + + + The second public Google DNS IPv6 endpoint. + + + + + The public Google DNS IPv6 endpoint. + + + + + The second public Google DNS IPv6 endpoint. + + + + + A public Cloudflare DNS endpoint. + + + + + A public Cloudflare DNS endpoint. + + + + + A public Cloudflare DNS IPv6 endpoint. + + + + + A public Cloudflare DNS IPv6 endpoint. + + + + + Initializes a new instance of the class. + + The name server endpoint. + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + The name server port. + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + An optional DNS suffix (can be null). + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + The name server port. + An optional DNS suffix (can be null). + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + An optional DNS suffix (can be null). + If is null. + + + + Initializes a new instance of the class from a . + + The endpoint. + + + + Initializes a new instance of the class from a . + + The address. + + + + Gets the string representation of the configured . + + + + + Gets the port. + + + + + Gets the address family. + + + + + Gets the size of the supported UDP payload. + + This value might get updated by by reading the options records returned by a query. + + + + The size of the supported UDP payload. + + + + + Gets an optional DNS suffix which a resolver can use to append to queries or to find servers suitable for a query. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + + + + + + + + + + Gets a list of name servers by iterating over the available network interfaces. + + If is enabled, this method will return the Google public DNS endpoints if no + local DNS server was found. + + + If set to true local IPv6 sites are skipped. + If set to true the public Google DNS servers are returned if no other servers could be found. + + The list of name servers. + + + + + Using my custom native implementation to support UWP apps and such until + gets an implementation in netstandard2.1. + + + DnsClient has been changed in version 1.1.0. + It will not invoke this when resolving default DNS servers. It is up to the user to decide what to do based on what platform the code is running on. + + + The list of name servers. + + + + + On a Windows machine query the Name Resolution Policy table for a list of policy-defined name servers. + + Returns a collection of name servers from the policy table + + + + CLASS fields appear in resource records. + + + + + The Internet. + + + + + The CSNET class (Obsolete - used only for examples in some obsolete RFCs). + + + + + The CHAOS class. + + + + + Hesiod [Dyer 87]. + + + + + The query type field appear in the question part of a query. + Query types are a superset of . + + + + + A host address. + + RFC 1035 + + + + + An authoritative name server. + + RFC 1035 + + + + + A mail destination (OBSOLETE - use MX). + + RFC 1035 + + + + A mail forwarder (OBSOLETE - use MX). + + RFC 1035 + + + + The canonical name for an alias. + + RFC 1035 + + + + + Marks the start of a zone of authority. + + RFC 1035 + + + + + A mailbox domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A mail group member (EXPERIMENTAL). + + RFC 1035 + + + + + A mailbox rename domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A Null resource record (EXPERIMENTAL). + + RFC 1035 + + + + + A well known service description. + + RFC 3232 + + + + + A domain name pointer. + + RFC 1035 + + + + + Host information. + + RFC 1035 + RFC 1010 + + + + + Mailbox or mail list information. + + RFC 1035 + + + + + Mail exchange. + + RFC 1035 + RFC 974 + + + + + Text resources. + + RFC 1035 + RFC 1464 + + + + + Responsible Person. + + RFC 1183 + + + + + AFS Data Base location. + + RFC 1183 + RFC 5864 + + + + + An IPv6 host address. + + RFC 3596 + + + + + A resource record which specifies the location of the server(s) for a specific protocol and domain. + + RFC 2782 + + + + + The Naming Authority Pointer rfc2915 + + RFC 2915 + + + + + DS rfc4034 + + RFC 4034 + + + + RRSIG rfc3755. + + RFC 3755 + + + + NSEC rfc4034. + + RFC 4034 + + + + DNSKEY rfc4034 + + RFC 4034 + + + + NSEC3 rfc5155. + + RFC 5155 + + + + NSEC3PARAM rfc5155. + + RFC 5155 + + + + TLSA rfc6698 + + RFC 6698 + + + + SPF records don't officially have a dedicated RR type, should be used instead. + The behavior of TXT and SPF are the same. + + + This library will return a TXT record but will set the header type to SPF if such a record is returned. + + RFC 7208 + + + + DNS zone transfer request. + This can be used only if is set to true as AXFR is only supported via TCP. + + The DNS Server might only return results for the request if the client connection/IP is allowed to do so. + + + + + + Generic any query *. + + + + + A Uniform Resource Identifier (URI) resource record. + + RFC 7553 + + + + + A certification authority authorization. + + RFC 6844 + + + + + A SSH Fingerprint resource record. + + RFC 4255 + + + + + Gets or sets the DnsClient should use. + Per default it will log to . + + + + + Helper for reading config files where each row is a key-value data pair. + The input key-values must not have any whitespace within them. + Keys are only matched if they begin a line, with no preceding whitespace. + + + + + Constructs a new RowConfigReader which reads from the given string. + The string to parse through. + + + + + Constructs a new RowConfigReader which reads from the given string. + The string to parse through. + The comparison kind to use. + + + + + Gets the next occurrence of the given key, from the current position of the reader, + or throws if no occurrence of the key exists in the remainder of the string. + + + + + Tries to get the next occurrence of the given key from the current position of the reader. + If successful, returns true and stores the result in 'value'. Otherwise, returns false. + + + + + Gets the next occurrence of the key in the string, and parses it as an Int32. + Throws if the key is not found in the remainder of the string, or if the key + cannot be successfully parsed into an Int32. + + + This is mainly provided as a helper because most Linux config/info files + store integral data. + + + + + Reads the value of the first occurrence of the given key contained in the string given. + + The key-value row configuration string. + The key to find. + The value of the row containing the first occurrence of the key. + + + + Extension methods for . + + + + + Translates a IPv4 or IPv6 into an arpa address. + Used for reverse DNS lookup to get the domain name of the given . + + The address to translate. + The arpa representation of the address. + + + + + + + Extension methods for where T is . + + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only + + + The list of . + + + + Filters the elements of an to return s only + + + The list of . + + + + Filters the elements of an to return s + which have the . + + The records. + The to filter for. + The list of . + +
+
diff --git a/local-nugets/dnsclient/1.6.1/lib/netstandard2.0/DnsClient.xml b/local-nugets/dnsclient/1.6.1/lib/netstandard2.0/DnsClient.xml new file mode 100644 index 000000000..99094a5d3 --- /dev/null +++ b/local-nugets/dnsclient/1.6.1/lib/netstandard2.0/DnsClient.xml @@ -0,0 +1,5090 @@ + + + + DnsClient + + + + + As defined in https://tools.ietf.org/html/rfc1035#section-5.1 except '()' or '@' or '.' + + + + + The flags of the header's second 16bit value + + + + + A representing an IPv6 . + + A 128 bit IPv6 address is encoded in the data portion of an AAAA + resource record in network byte order(high-order byte first). + + + RFC 3596 + + + + Initializes a new instance of the class. + + + + + + Base class for s transporting an . + + + + + + + Gets the . + + + The address. + + + + + Initializes a new instance of the class. + + The information. + The address. + If is null. + If or is null + + + + A representing an AFS database location. + + RFC 1183 + RFC 5864 + + + + Gets the . + + + The sub type. + + + + + Gets the hostname. + + + The hostname. + + + + + Initializes a new instance of the class. + + The information. + The type. + The name. + If or is null. + + + + Type used by . + + + + + AFS is a registered trademark of Transarc Corporation + + + + + The Distributed Computing Environment + + + + + A representing an IPv4 . + Hosts that have multiple Internet addresses will have multiple A records. + + RFC 1035 + + + + Initializes a new instance of the class. + + + + + + A representing a certification authority authorization. + + The Certification Authority Authorization (CAA) DNS Resource Record + allows a DNS domain name holder to specify one or more Certification + Authorities(CAs) authorized to issue certificates for that domain. + + + CAA Resource Records allow a public Certification Authority to + implement additional controls to reduce the risk of unintended + certificate mis-issue.This document defines the syntax of the CAA + record and rules for processing CAA records by certificate issuers. + + + RFC 6844 + + + + One octet containing the flags. + + + + + The property identifier, a sequence of US-ASCII characters. + + + + + A sequence of octets representing the property value. + Property values are encoded as binary values and MAY employ sub-formats. + + + + + Initializes a new instance of the class. + + The information. + The flags. + The tag. + The value. + If or or is null. + + + + A representing the canonical name for an alias. + + RFC 1035 + + + + Gets the canonical name for an alias. + + + The canonical name. + + + + + Initializes a new instance of the class. + + The information. + The canonical name. + If or is null. + + + + a representing a DnsKey record. + + + + + + Gets the DNSKEY's flags value. + + + + + Gets the DNSKEY's protocol value. + The value must be 3, and the MUST be treated as invalid + during signature verification if it is found to be some value other than 3. + + + + + Gets the 's cryptographic algorithm and determines the format of the . + + + + + Gets the public key material. + The format depends on the of the key being stored. + + + + + Gets the base64 string representation of the . + + + + + Initializes a new instance of the class + + + + + + + If or is null. + + + + Base class for all resource records. + + + + + + Initializes a new instance of the class. + + The information. + If is null. + + + + + + + Same as ToString but offsets the + by . + Set the offset to -32 for example to make it print nicely in consoles. + + The offset. + A string representing this instance. + + + + Returns a string representation of the record's value only. + uses this to compose the full string value of this instance. + + A string representing this record. + + + + The type represents a . + + + + + The domain name used to query. + + + + + Specifies type of resource record. + + + + + Specifies type class of resource record, mostly IN but can be CS, CH or HS . + + + + + Gets the current time to live value for the record. + + + + + Gets or sets the original time to live returned from the server. + + + + + Gets the number of bytes for this resource record stored in RDATA + + + + + Initializes a new instance of the class. + + The domain name used by the query. + Type of the record. + The record class. + The time to live. + Length of the raw data. + If is null. + + + + Initializes a new instance of the class. + + The used by the query. + Type of the record. + The record class. + The time to live. + Length of the raw data. + If is null or empty. + + + + a representing a DS record. + + + + + + Gets the key tag value of the referred to by this record. + + Key Tag Calculation + + + + Gets the algorithm of the referred to by this record. + + + + + Gets the algorithm used to construct the digest. + + + + + Gets the digest of the this record refers to. + + + + + Gets the hexadecimal string representation of the . + + + + + Initializes a new instance of the class + + If or is null. + + + + A not representing any specific resource record. + Used if unsupported s are found in the result. + + + + + + Initializes a new instance of the class. + + The information. + If is null. + + + + A used to acquire general information about a host. + + RFC 1035 + RFC 1010 + + + + Gets a string which specifies the CPU type. + + + The CPU. + + + + + Gets a string which specifies the operating system type. + + + The OS. + + + + + Initializes a new instance of the class. + + The information. + The CPU. + The OS. + If is null. + + + + A representing a domain name which specifies a host which has the specified mailbox. + + RFC 1035 + + + + Gets the domain name which specifies a host which has the specified mailbox. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + A representing a domain name which specifies a mailbox which is a member of the mail group specified by the domain name. + + RFC 1035 + + + + Gets a domain name which specifies a mailbox which is a member of the mail group specified by the domain name. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + A representing mailbox or mail list information. + + RFC 1035 + + + + Gets the domain name which specifies a mailbox which is responsible for the mailing list or mailbox. + + + The domain name. + + + + + Gets the domain name which specifies a mailbox which is to receive error messages related to the mailing list or mailbox. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The RMAILBX. + The EMAILBX. + If or or is null. + + + + A representing a mailbox rename domain name. + + RFC 1035 + + + + Gets the domain name which specifies a mailbox which is the proper rename of the specified mailbox. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + A representing a mail exchange. + + RFC 1035 + RFC 974 + + + + Gets a 16 bit integer which specifies the preference given to + this RR among others at the same owner. + Lower values are preferred. + + + + + A domain name which specifies a host willing to act as a mail exchange. + + + + + Initializes a new instance of the class. + + The information. + The preference. + Name of the domain. + If or is null. + + + + A representing Naming Authority Pointer + + RFC 2915 + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + Gets the order. + + + The order. + + + + + Gets the preference. + + + The preference. + + + + + Gets the flags. + + + The flags. + + + + + Gets the services. + + + The services. + + + + + Gets the regular expression. + + + The regular expression. + + + + + Gets the replacement. + + + The replacement. + + + + + Initializes a new instance of the class. + + The information. + The order. + The preference. + The flags. + The services. + The regular expression. + The replacement. + + + + a representing a NSEC3PARAM record. + + + + + + + Gets the cryptographic hash algorithm used to construct the hash-value. + + + + + Gets the flags field value containing 8 one-bit flags that can be used to indicate different processing. + All undefined flags must be zero. + The only flag defined by this specification is the Opt-Out flag. + + + + + Gets the number of additional times the hash function has been performed. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Initializes a new instance of the class + + If or is null. + + + + a representing a NSEC3 record. + + + + + + Gets the cryptographic hash algorithm used to construct the hash-value. + + + + + Gets the flags field value containing 8 one-bit flags that can be used to indicate different processing. + All undefined flags must be zero. + The only flag defined by this specification is the Opt-Out flag. + + + + + Gets the number of additional times the hash function has been performed. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Gets the name of the next hashed owner in hash order. + This value is in binary format. + + + + + Gets the name of the next hashed owner in hash order. + This value is in binary format. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the original owner name of the NSEC3 RR. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the original owner name of the NSEC3 RR. + + + + + Initializes a new instance of the class + + + If , , or is null. + + + + + a representing a NSEC record. + + + + + + Gets the next owner name (in the canonical ordering of the zone) that has authoritative data + or contains a delegation point NS RRset. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the NSEC RR's owner name. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the NSEC RR's owner name. + + + + + Initializes a new instance of the class + + If , or is null. + + + + A representing an authoritative name server. + + RFC 1035 + + + + Gets the domain name which specifies a host which should be authoritative for the specified class and domain. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The name. + If or is null. + + + + Experimental RR, not sure if the implementation is actually correct either (not tested). + + RFC 1035 + + + + Gets any data stored in this record. + + + The byte array. + + + + + Gets the raw data of this record as UTF8 string. + + + + + Initializes a new instance of the class. + + The information. + Anything. + If or is null. + + + + A options resource record. + + + + + A representing a pointer. These RRs are used + in special domains to point to some other location in the domain space. + + + RFC 1035 + + + + Gets the domain name which points to some location in the domain name space. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + The resource record types. The enum contains only the types supported by this library at this moment. + The is used to identify any . + + Resource record types are a subset of . + + + + + + + + A host address. + + RFC 1035 + + + + + An authoritative name server. + + RFC 1035 + + + + + A mail destination (OBSOLETE - use MX). + + RFC 1035 + + + + A mail forwarder (OBSOLETE - use MX). + + RFC 1035 + + + + The canonical name for an alias. + + RFC 1035 + + + + + Marks the start of a zone of authority. + + RFC 1035 + + + + + A mailbox domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A mail group member (EXPERIMENTAL). + + RFC 1035 + + + + + A mailbox rename domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A Null resource record (EXPERIMENTAL). + + RFC 1035 + + + + + A well known service description. + + RFC 3232 + + + + + A domain name pointer. + + RFC 1035 + + + + + Host information. + + RFC 1035 + RFC 1010 + + + + + Mailbox or mail list information. + + RFC 1035 + + + + + Mail exchange. + + RFC 1035 + RFC 974 + + + + + Text resources. + + RFC 1035 + RFC 1464 + + + + + Responsible Person. + + RFC 1183 + + + + + AFS Data Base location. + + RFC 1183 + RFC 5864 + + + + + An IPv6 host address. + + RFC 3596 + + + + + A resource record which specifies the location of the server(s) for a specific protocol and domain. + + RFC 2782 + + + + + The Naming Authority Pointer rfc3403 + + RFC 2915 + + + + + Option record. + + RFC 6891 + + + + DS rfc4034 + + RFC 4034 + + + + SSH finger print record. + + RFC 4255 + + + + RRSIG rfc3755. + + RFC 3755 + + + + NSEC rfc4034. + + RFC 4034 + + + + DNSKEY rfc4034. + + + + + + NSEC3 rfc5155. + + RFC 5155 + + + + NSEC3PARAM rfc5155. + + RFC 5155 + + + + TLSA rfc6698. + + RFC 6698 + + + + SPF records don't officially have a dedicated RR type, should be used instead. + The behavior of TXT and SPF are the same. + + + This library will return a TXT record but will set the header type to SPF if such a record is returned. + + RFC 7208 + + + + A Uniform Resource Identifier (URI) resource record. + + RFC 7553 + + + + + A certification authority authorization. + + RFC 6844 + + + + + A representing a responsible person. + + RFC 1183 + + + + Gets a domain name that specifies the mailbox for the responsible person. + + + The mailbox domain. + + + + + Gets a domain name for which TXT RR's exist. + + + The text domain. + + + + + Initializes a new instance of the class. + + The information. + The mailbox domain. + The text domain. + + If or or is null. + + + + + A representing a RRSIG record. + + + + + + + + Gets the type of the RRset that is covered by this . + + + + + Gets the cryptographic algorithm used to create the . + + + + + Gets the number of labels in the original RR owner name. + + + + + Gets the TTL of the covered RRset as it appears in the authoritative zone. + + + + + Gets the expiration date of the . + This record MUST NOT be used for authentication prior to the + and MUST NOT be used for authentication after the . + + + + + Gets the inception date of the . + This record MUST NOT be used for authentication prior to the + and MUST NOT be used for authentication after the . + + + + + Gets the key tag value of the that validates this . + + Key Tag Calculation + + + + Gets the value which identifies the owner name of the + that a validator is supposed to use to validate this . + + + + + Gets the cryptographic signature that covers the RRSIG RDATA (excluding the Signature field) + and the RRset specified by the RRSIG owner name, RRSIG class, and RRSIG Type Covered field. + The format of this field depends on the algorithm in use. + + + + + Gets the base64 string representation of the . + + + + + Initializes a new instance of the class. + + + + + + + + + + + + If , or is null. + + + + A representing a SOA (Start Of Authority) record. + + RFC 1035 + + + + Gets a 32 bit time value that specifies the upper limit on + the time interval that can elapse before the zone is no + longer authoritative. + + + The expiration. + + + + + Gets the unsigned 32 bit minimum TTL field that should be + exported with any RR from this zone. + + + The minimum TTL. + + + + + Gets the domain name of the name server that was the original or primary source of data for this zone. + + + The domain name. + + + + + Gets a 32 bit time interval before the zone should be refreshed. + + + The refresh time. + + + + + Gets a 32 bit time interval that should elapse before a failed refresh should be retried. + + + The retry time. + + + + + Gets a domain name which specifies the mailbox of the person responsible for this zone. + + + The responsible mailbox domain name. + + + + + Gets the unsigned 32 bit version number of the original copy + of the zone.Zone transfers preserve this value. This value wraps and should be compared using sequence space arithmetic. + + + The serial number. + + + + + Initializes a new instance of the class. + + The information. + Name original domain name. + Name responsible domain name. + The serial number. + The refresh time. + The retry time. + The expire time. + The minimum TTL. + + If or or is null. + + + + + A representing a location of the server(s) for a specific protocol and domain. + + RFC 2782 + + + + Gets the port. + + + The port. + + + + + Gets the priority. + + + The priority. + + + + + Gets the target domain name. + + + The target. + + + + + Gets the weight. + + + The weight. + + + + + Initializes a new instance of the class. + + The information. + The priority. + The weight. + The port. + The target. + If or is null. + + + + A representing an SSH fingerprint + + SSHFP RRs are used to hold SSH fingerprints. Upon connecting to a + host an SSH client may choose to query for this to check the fingerprint(s) + + + RFC 4255 + RFC 6594 + RFC 7479 + + + + + + The information. + The algorithm. + The fingerprint type. + The fingerprint. + + + + Algorithm used for the fingerprint + + + + + Fingerprint type used for the fingerprint + + + + + Fingerprint as defined in the RR + + + + + Algorithm used by + + + + + Reserved for later use + + + + + RSA + + + + + DSS + + + + + Elliptic Curve DSA + + + + + Edwards-curve DSA + + + + + Fingerprint type used by + + + + + Reserved for later use + + + + + SHA-1 fingerprint + + + + + SHA-256 fingerprint + + + + + A representing a TLSA record. + + + + + + + + Gets the , which specifies the provided association + that will be used to match the certificate presented in the TLS handshake. + + + + + Gets the , which specifies which part of the TLS certificate + presented by the server will be matched against the . + + + + + Gets the , which specifies how the is presented. + + + + + Gets the "certificate association data" to be matched. + + + + + Gets the string representation of the in hexadecimal. + + + + + Initializes a new instance of the class. + + + + + + + If or is null. + + + + The usage flag specifies the provided association that will be used to match the certificate presented in the TLS handshake. + + + + + Certificate authority constraint. + + + + + Service certificate constraint. + + + + + Trust Anchor Assertion. + + + + + Domain issued certificate. + + + + + Flag which specifies which part of the TLS certificate presented by the server will be matched against the association data. + + + + + Select the entire certificate for matching. + + + + + Select the public key for certificate matching. + + + + + Flag which specifies how the certificate association is presented. + + + + + Exact match, the entire information selected is present in the certificate association data. + + + + + SHA-256 hash of selected content. + + + + + SHA-512 hash of selected content. + + + + + A representing a text resource. + + TXT RRs are used to hold descriptive text. The semantics of the text + depends on the domain where it is found. + + + RFC 1035 + RFC 1464 + + + + Gets the list of TXT values of this resource record in escaped form, valid for root file. + + + See https://tools.ietf.org/html/rfc1035#section-5.1 for escape details. + + + + + Gets the actual UTF8 representation of the text values of this record. + + + + + Initializes a new instance of the class. + + The information. + The values. + The UTF8 values. + + If or or is null. + + + + + Experimental RR, not sure if the implementation is actually correct either (not tested). + + RFC 1035 + + + + Gets any data stored in this record. + + + The byte array. + + + + + Gets the unknown bytes as Base64 string. + + + + + Initializes a new instance of the class. + + The information. + The raw data. + If or is null. + + + + A representing a Uniform Resource Identifier (URI) resource. + + RFC 7553 + + + + Gets or sets the target Uri. + + + The target. + + + + + Gets or sets the priority. + + + The priority. + + + + + Gets or sets the weight. + + + The weight. + + + + + Initializes a new instance of the class. + + The information. + The priority. + The weight. + The target. + If or is null. + + + + A representing a Well Known Service description. + + + Instead of describing the supported protocols in RFCs, the list is now published on http://www.iana.org/. + + + RFC 3232, the most current update. + + + + Gets the address. + + + The address. + + + + + Gets the Protocol. + + + According to https://tools.ietf.org/html/rfc6335, only ports for TCP, UDP, DCCP and SCTP services will be assigned. + + + + + Gets the binary raw bitmap. + Use to determine which ports are actually configured. + + + + + Gets the list of assigned ports. + + For example, if this list contains port 25, which is assigned to + the SMTP service. This means that a SMTP services + is running on with transport . + + + Port numbers + + + + Initializes a new instance of the class. + + The information. + The address. + The protocol. + The raw data. + + If or or is null. + + + + + Specifies kind of query in this message. + This value is set by the originator of a query and copied into the response. + + + + + A standard query. + + RFC 1035 + + + + An inverse query. + + RFC 3425 + + + + A server status request. + + RFC 1035 + + + + Unassigned value + + + + + Notify query. + + RFC 1996 + + + + Update query. + + RFC 2136 + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Extension methods for the contract. + + The methods implement common queries which are more complex and have some business logic. + + + + + + The GetHostEntry method queries a DNS server for the IP addresses and aliases associated with the . + In case is an , GetHostEntry does a reverse lookup on that first to determine the hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname or . +
+
+ + The following code example uses the method to resolve an IP address or hostname to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The or host name to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostEntryAsync method queries a DNS server for the IP addresses and aliases associated with the . + In case is an , GetHostEntry does a reverse lookup on that first to determine the hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname or . +
+
+ + The following code example uses the method to resolve an IP address or hostname to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The or host name to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostEntry method does a reverse lookup on the IP , + and queries a DNS server for the IP addresses and aliases associated with the resolved hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname of the . +
+
+ + The following code example uses the method to resolve an IP address to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostEntryAsync method does a reverse lookup on the IP , + and queries a DNS server for the IP addresses and aliases associated with the resolved hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname of the . +
+
+ + The following code example uses the method to resolve an IP address to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostName method queries a DNS server to resolve the hostname of the via reverse lookup. + + The instance. + The to resolve. + + The hostname if the reverse lookup was successful or null, in case the host was not found. + If is set to true, this method will throw an instead of returning null! + + If is null. + If no host has been found and is true. + + + + The GetHostNameAsync method queries a DNS server to resolve the hostname of the via reverse lookup. + + The instance. + The to resolve. + + The hostname if the reverse lookup was successful or null, in case the host was not found. + If is set to true, this method will throw an instead of returning null! + + If is null. + If no host has been found and is true. + + + + The ResolveService method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + + The protocol of the service to query for. + Set it to or to not pass any protocol. + + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveServiceAsync method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + + The protocol of the service to query for. + Set it to or to not pass any protocol. + + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveService method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + An optional tag. Must not have any _ prefix. + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveService method does a lookup for {} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The name of the service to look for. Must have _ prefix and domain and protocol. + A collection of s. + If are null. + RFC 2782 + + + + The ResolveServiceAsync method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + An optional tag. Must not have any _ prefix. + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveServiceAsync method does a lookup for {} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The name of the service to look for. Must have _ prefix and domain and protocol. + A collection of s. + If are null. + RFC 2782 + + + + Constructs a DNS query string from the constituent parts. + + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + An optional tag. Must not have any _ prefix. + A service string that can be used in a DNS service query. + + + + Transforms a DNS query result into a collection of objects. + + The DNS + A collection of s. + + + + Extends by the property. + + + + + + Gets or sets the port. + + + The port of this entry. + + + + + Gets or sets priority of the original record. + Might be zero if not provided. + + + The priority of this entry. + + + + + Gets or sets weight of the original record. + Might be zero if not provided. + + + The weight of this entry. + + + + + The options used to override the defaults of per query. + + + + + The minimum payload size. Anything equal or less than that will default back to this value and might disable EDNS. + + + + + The maximum reasonable payload size. + + + + + Gets or sets a flag indicating whether each will contain a full documentation of the response(s). + Default is False. + + + + + + Gets or sets a flag indicating whether DNS queries should use response caching or not. + The cache duration is calculated by the resource record of the response. Usually, the lowest TTL is used. + Default is True. + + + In case the DNS Server returns records with a TTL of zero. The response cannot be cached. + + + + + Gets or sets a flag indicating whether DNS queries should instruct the DNS server to do recursive lookups, or not. + Default is True. + + The flag indicating if recursion should be used or not. + + + + Gets or sets the number of tries to get a response from one name server before trying the next one. + Only transient errors, like network or connection errors will be retried. + Default is 2 which will be three tries total. + + If all configured error out after retries, an exception will be thrown at the end. + + + The number of retries. + + + + Gets or sets a flag indicating whether the should throw a + in case the query result has a other than . + Default is False. + + + + If set to False, the query will return a result with an + which contains more information. + + + If set to True, any query method of will throw an if + the response header indicates an error. + + + If both, and are set to True, + will continue to query all configured . + If none of the servers yield a valid response, a will be thrown + with the error of the last response. + + + + + + + + Gets or sets a flag indicating whether the can cycle through all + configured on each consecutive request, basically using a random server, or not. + Default is True. + If only one is configured, this setting is not used. + + + + If False, configured endpoint will be used in random order. + If True, the order will be preserved. + + + Even if is set to True, the endpoint might still get + disabled and might not being used for some time if it errors out, e.g. no connection can be established. + + + + + + Gets or sets a flag indicating whether to query the next configured in case the response of the last query + returned a other than . + Default is True. + + + If True, lookup client will continue until a server returns a valid result, or, + if no yield a valid result, the last response with the error will be returned. + In case no server yields a valid result and is also enabled, an exception + will be thrown containing the error of the last response. + + If True and is enabled, the exception will be thrown on first encounter without trying any other servers. + + + + + + + Gets or sets a flag indicating whether to query the next configured + if the response does not have an error but the query was not answered by the response. + Default is True. + + + The query is answered if there is at least one in the answers section + matching the 's . + + If there are zero answers in the response, the query is not answered, independent of the . + If there are answers in the response, the is used to find a matching record, + query types and will be ignored by this check. + + + + + + Gets or sets the request timeout in milliseconds. is used for limiting the connection and request time for one operation. + Timeout must be greater than zero and less than . + If (or -1) is used, no timeout will be applied. + Default is 5 seconds. + + + If a very short timeout is configured, queries will more likely result in s. + + Important to note, s will be retried, if are not disabled (set to 0). + This should help in case one or more configured DNS servers are not reachable or under load for example. + + + + + + Gets or sets a flag indicating whether TCP should be used in case a UDP response is truncated. + Default is True. + + If False, truncated results will potentially yield no or incomplete answers. + + + + + + Gets or sets a flag indicating whether UDP should not be used at all. + Default is False. + + Enable this only if UDP cannot be used because of your firewall rules for example. + Also, zone transfers (see ) must use TCP only. + + + + + + Gets or sets the maximum buffer used for UDP requests. + Defaults to 4096. + + If this value is less or equal to 512 bytes, EDNS might be disabled. + + + + + + Gets or sets a flag indicating whether EDNS should be enabled and the DO flag should be set. + Defaults to False. + + + + + Gets or sets a flag indicating whether the DNS failures are being cached. The purpose of caching + failures is to reduce repeated lookup attempts within a short space of time. + Defaults to False. + + + + + Gets or sets the duration to cache failed lookups. Does not apply if failed lookups are not being cached. + Defaults to 5 seconds. + + + + + Converts the query options into readonly settings. + + The options. + + + + The options used to override the defaults of per query. + + + + + Creates a new instance of without name servers. + If no nameservers are configured, a query will fallback to the nameservers already configured on the instance. + + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Gets a list of name servers which should be used to query. + + + + + Converts the query options into readonly settings. + + The options. + + + + The options used to configure defaults in and to optionally use specific settings per query. + + + + + Creates a new instance of with default settings. + + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Gets or sets a flag indicating whether the name server collection should be automatically resolved. + Default is True. + + + If name servers are configured manually via the constructor, this flag is set to false. + If you want both, your manually configured servers and auto resolved name servers, + you can use both (ctor or) and set to True. + + + + + Gets or sets a which can override the TTL of a resource record in case the + TTL of the record is lower than this minimum value. + Default is Null. + + This is useful in case the server returns records with zero TTL. + + + + This setting gets ignored in case is set to False, + or the value is set to Null or . + The maximum value is 24 days or (choose a wise setting). + + + + + Gets a which can override the TTL of a resource record in case the + TTL of the record is higher than this maximum value. + Default is Null. + + + This setting gets ignored in case is set to False, + or the value is set to Null, or . + The maximum value is 24 days (which shouldn't be used). + + + + + The options used to override the defaults of per query. + + + + + Gets a flag indicating whether each will contain a full documentation of the response(s). + Default is False. + + + + + + Gets a flag indicating whether DNS queries should use response caching or not. + The cache duration is calculated by the resource record of the response. Usually, the lowest TTL is used. + Default is True. + + + In case the DNS Server returns records with a TTL of zero. The response cannot be cached. + + + + + Gets a flag indicating whether DNS queries should instruct the DNS server to do recursive lookups, or not. + Default is True. + + The flag indicating if recursion should be used or not. + + + + Gets the number of tries to get a response from one name server before trying the next one. + Only transient errors, like network or connection errors will be retried. + Default is 5. + + If all configured error out after retries, an exception will be thrown at the end. + + + The number of retries. + + + + Gets a flag indicating whether the should throw a + in case the query result has a other than . + Default is False. + + + + If set to False, the query will return a result with an + which contains more information. + + + If set to True, any query method of will throw an if + the response header indicates an error. + + + If both, and are set to True, + will continue to query all configured . + If none of the servers yield a valid response, a will be thrown + with the error of the last response. + + + + + + + + Gets a flag indicating whether the can cycle through all + configured on each consecutive request, basically using a random server, or not. + Default is True. + If only one is configured, this setting is not used. + + + + If False, configured endpoint will be used in random order. + If True, the order will be preserved. + + + Even if is set to True, the endpoint might still get + disabled and might not being used for some time if it errors out, e.g. no connection can be established. + + + + + + Gets a flag indicating whether to query the next configured in case the response of the last query + returned a other than . + Default is True. + + + If True, lookup client will continue until a server returns a valid result, or, + if no yield a valid result, the last response with the error will be returned. + In case no server yields a valid result and is also enabled, an exception + will be thrown containing the error of the last response. + + If True and is enabled, the exception will be thrown on first encounter without trying any other servers. + + + + + + + Gets or sets a flag indicating whether to query the next configured + if the response does not have an error but the query was not answered by the response. + Default is True. + + + The query is answered if there is at least one in the answers section + matching the 's . + + If there are zero answers in the response, the query is not answered, independent of the . + If there are answers in the response, the is used to find a matching record, + query types and will be ignored by this check. + + + + + + Gets the request timeout in milliseconds. is used for limiting the connection and request time for one operation. + Timeout must be greater than zero and less than . + If (or -1) is used, no timeout will be applied. + Default is 5 seconds. + + + If a very short timeout is configured, queries will more likely result in s. + + Important to note, s will be retried, if are not disabled (set to 0). + This should help in case one or more configured DNS servers are not reachable or under load for example. + + + + + + Gets a flag indicating whether TCP should be used in case a UDP response is truncated. + Default is True. + + If False, truncated results will potentially yield no or incomplete answers. + + + + + + Gets a flag indicating whether UDP should not be used at all. + Default is False. + + Enable this only if UDP cannot be used because of your firewall rules for example. + Also, zone transfers (see ) must use TCP only. + + + + + + Gets a flag indicating whether EDNS is enabled based on the values + of and . + + + + + Gets the maximum buffer used for UDP requests. + Defaults to 4096. + + If this value is less or equal to 512 bytes, EDNS might be disabled. + + + + + + Gets a flag indicating whether EDNS should be enabled and the DO flag should be set. + Defaults to False. + + + + + Gets a flag indicating whether the DNS failures are being cached. The purpose of caching + failures is to reduce repeated lookup attempts within a short space of time. + Defaults to False. + + + + + If failures are being cached this value indicates how long they will be held in the cache for. + Defaults to 5 seconds. + + + + + Creates a new instance of . + + + + + + + + + + + The readonly version of used to customize settings per query. + + + + + Gets a collection of name servers which should be used to query. + + + + + Creates a new instance of . + + + + + Creates a new instance of . + + + + + + + + + + + The readonly version of used as default settings in . + + + + + Creates a new instance of . + + + + + Gets a which can override the TTL of a resource record in case the + TTL of the record is lower than this minimum value. + Default is Null. + + This is useful in cases where the server returns records with zero TTL. + + + + This setting gets ignored in case is set to False. + The maximum value is 24 days or . + + + + + Gets a which can override the TTL of a resource record in case the + TTL of the record is higher than this maximum value. + Default is Null. + + + This setting gets ignored in case is set to False. + The maximum value is 24 days. + Setting it to would be equal to not providing a value. + + + + + + + + + + + The response returned by any query performed by with all answer sections, header and message information. + + + + + + + Gets the name server which responded with this result. + + + The name server. + + + + + Gets a list of additional records. + + + + + Gets a list of all answers, additional and authority records. + + + + + Gets the audit trail if . as set to true, null otherwise. + + + The audit trail. + + + + + Gets a list of answer records. + + + + + Gets a list of authority records. + + + + + Returns a string value representing the error response code in case an error occurred, + otherwise ''. + + + + + A flag indicating if the header contains a response code other than . + + + + + Gets the header of the response. + + + + + Gets the list of questions. + + + + + Gets the size of the message. + + + The size of the message. + + + + + Gets the settings used to produce this response. + + + + + + + + + + + The class transports information of the lookup query performed by . + + A list of questions is returned by (although, the list will always contain only one ). + + + + + + Gets the domain name the lookup was running for. + + + The name of the query. + + + + + Gets the question class. + + + The question class. + + + + + Gets the type of the question. + + + The type of the question. + + + + + Initializes a new instance of the class. + + The query. + Type of the question. + The question class. + If is null. + + + + Initializes a new instance of the class. + + The query. + Type of the question. + The question class. + If is null. + + + + + + + Returns the information of this instance in a friendly format with an optional . + + The optional offset which can be used for pretty printing. + The string representation of this instance. + + + + Represents a simple request message which can be send through . + + + + + 4 bit response codes of the 's header. + + RFC 6895 + + + + No error condition + + RFC 1035 + + + + Format error. The name server was unable to interpret the query. + + RFC 1035 + + + + Server failure. The name server was unable to process this query due to a problem with the name server. + + RFC 1035 + + + + Name Error. Meaningful only for responses from an authoritative name server, + this code signifies that the domain name referenced in the query does not exist. + + RFC 1035 + + + + Not Implemented. The name server does not support the requested kind of query. + + RFC 1035 + + + + Refused. The name server refuses to perform the specified operation for policy reasons. + For example, a name server may not wish to provide the information to the particular requester, + or a name server may not wish to perform a particular operation (e.g., zone transfer) for particular data. + + RFC 1035 + + + + Name Exists when it should not. + + RFC 2136 + + + + Resource record set exists when it should not. + + RFC 2136 + + + + Resource record set that should exist but does not. + + RFC 2136 + + + + Server Not Authoritative for zone / Not Authorized. + + RFC 2136 + RFC 2845 + + + + Name not contained in zone. + + RFC 2136 + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Extended response codes of the with OPT. + + RFC 6895 + + + + No error condition + + RFC 1035 + + + + Format error. The name server was unable to interpret the query. + + RFC 1035 + + + + Server failure. The name server was unable to process this query due to a problem with the name server. + + RFC 1035 + + + + Name Error. Meaningful only for responses from an authoritative name server, + this code signifies that the domain name referenced in the query does not exist. + + RFC 1035 + + + + Not Implemented. The name server does not support the requested kind of query. + + RFC 1035 + + + + Refused. The name server refuses to perform the specified operation for policy reasons. + For example, a name server may not wish to provide the information to the particular requester, + or a name server may not wish to perform a particular operation (e.g., zone transfer) for particular data. + + RFC 1035 + + + + Name Exists when it should not. + + RFC 2136 + + + + Resource record set exists when it should not. + + RFC 2136 + + + + Resource record set that should exist but does not. + + RFC 2136 + + + + Server Not Authoritative for zone / Not Authorized. + + RFC 2136 + RFC 2845 + + + + Name not contained in zone. + + RFC 2136 + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Bad OPT Version or TSIG Signature Failure. + + RFC 2671 + RFC 2845 + + + + Key not recognized. + + RFC 2845 + + + + Signature out of time window. + + RFC 2845 + + + + Bad TKEY Mode. + + RFC 2930 + + + + Duplicate key name. + + RFC 2930 + + + + Algorithm not supported. + + RFC 2930 + + + + Bad Truncation. + + RFC 4635 + + + + Bad/missing Server Cookie + + RFC 7873 + + + + Unknown error. + + + + + Indicates a timeout error. Connection to the remote server couldn't be established. + + + + + A DnsClient specific exception transporting additional information about the query causing this exception. + + + + + + Gets the response code. + + + The response code. + + + + + Gets the audit trail if . as set to true, null otherwise. + + + The audit trail. + + + + + Gets a human readable error message. + + + The error message. + + + + + Initializes a new instance of the class + with set to . + + + + + Initializes a new instance of the class + with set to + and a custom . + + + + + Initializes a new instance of the class + with the standard error text for the given . + + + + + Initializes a new instance of the class + with set to + and a custom and inner . + + + + + Initializes a new instance of the class + with a custom and the given . + + + + + Initializes a new instance of the class + with a custom and the given . + + + + + The header section of a . + + + + + Gets the number of additional records in the . + + + The number of additional records. + + + + + Gets the number of answer records in the . + + + The number of answer records. + + + + + Gets a value indicating whether the future use flag is set. + + + The future use flag. + + + + + Gets a value indicating whether this instance has authority answers. + + + true if this instance has authority answers; otherwise, false. + + + + + Gets the identifier. + + + The identifier. + + + + + Gets a value indicating whether the result is authentic data. + + + true if the result is authentic; otherwise, false. + + + + + Gets a value indicating whether checking is disabled. + + + true if checking is disabled; otherwise, false. + + + + + Gets a value indicating whether this instance has a query. + + + true if this instance has a query; otherwise, false. + + + + + Gets the number of name servers. + + + The number of name servers. + + + + + Gets the kind of query defined by . + + + The query kind. + + + + + Gets the number of questions of the . + + + The number of questions. + + + + + Gets a value indicating whether recursion is available on the DNS server. + + + true if recursion is available; otherwise, false. + + + + + Gets the response code. + + + The response code. + + + + + Gets a value indicating whether the result was truncated. + + + true if the result was truncated; otherwise, false. + + + + + Gets a value indicating whether recursion desired flag was set by the request. + + + true if the recursion desired flag was set; otherwise, false. + + + + + Initializes a new instance of the class. + + The identifier. + The flags. + The question count. + The answer count. + The additional count. + The server count. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the readonly representation of this message which can be returned. + + + + + The type is used to normalize and validate domain names and labels. + + + + + The ACE prefix indicates that the domain name label contains not normally supported characters and that the label has been encoded. + + + + + The maximum length in bytes for one label. + + + + + The maximum supported total length in bytes for a domain name. The calculation of the actual + bytes this consumes includes all bytes used for to encode it as octet string. + + + + + The root label ".". + + + + + Gets the original value. + + + + + Gets the validated and eventually modified value. + + + + + Gets the number of labels of this or null if not applicable. + This property is only set if the method was used to create this instance. + + + + + Performs an implicit conversion from to . + + The name. + + The result of the conversion. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parses the given and validates all labels. + + + An empty string will be interpreted as root label. + + A domain name. + The representing the given . + If is null. + + + + Transforms names with the to the Unicode variant and adds a trailing '.' at the end if not present. + The original value will be kept in this instance in case it is needed. + + + The method does not parse the domain name unless it contains a . + + The value to check. + The representation. + + + + Generic contract to query DNS endpoints. Implemented by . + + + + + Performs a DNS lookup for the given , and . + + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + + The which contains the response headers and lists of resource records. + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + Query options to be used instead of 's settings. + + The which contains the response headers and lists of resource records. + + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Returns cached results for the given from the in-memory cache, if available, or Null otherwise. + + + This method will not perform a full lookup if there is nothing found in cache or the cache is disabled! + + The domain name query. + + The which contains the cached response headers and lists of resource records. + If no matching cache entry is found Null is returned. + + + + + Returns cached results for the given , and + against the in-memory cache, if available, or Null otherwise. + + + This method will not perform a full lookup if there is nothing found in cache or the cache is disabled! + + The domain name query. + The . + The . + + The which contains the cached response headers and lists of resource records. + If no matching cache entry is found Null is returned. + + + + + Performs a DNS lookup for the given , and + + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + Query options to be used instead of 's settings. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + + The which might contain the for the . + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + Query options to be used instead of 's settings. + + The which might contain the for the . + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + The cancellation token. + + The which might contain the for the . + + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + Query options to be used instead of 's settings. + The cancellation token. + + The which might contain the for the . + + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + Query options to be used instead of 's settings. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If , or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + Query options to be used instead of 's settings. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If , or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + Query options to be used instead of 's settings. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If , or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + Query options to be used instead of 's settings. + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If , or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Contract defining the result of a query performed by . + + + + + + + Gets the list of questions. + + + + + Gets a list of additional records. + + + + + Gets a list of all answers, additional and authority records. + + + + + Gets a list of answer records. + + + + + Gets a list of authority records. + + + + + Gets the audit trail if . as set to true, null otherwise. + + + The audit trail. + + + + + Returns a string value representing the error response code in case an error occurred, + otherwise ''. + + + + + A flag indicating if the header contains a response code other than . + + + + + Gets the header of the response. + + + + + Gets the size of the message. + + + The size of the message. + + + + + Gets the name server which responded with this result. + + + The name server. + + + + + Gets the settings used to produce this response. + + + + + The contract for the LookupClient. + + The interfaces for the query methods and the lookup client properties are separated so that one can + inject or expose only the without exposing the configuration options. + + + + + + Gets the list of configured or resolved name servers of the instance. + + + + + Gets the configured settings of the instance. + + + + + Base32 encoder with the extended hey alphabet + + + See https://datatracker.ietf.org/doc/html/rfc4648#section-7 + + + RFC4648 + + + + Converts the specified string, which encodes binary data as base-32 digits + using the extended hex alphabet, to an equivalent 8-bit unsigned integer array. + + The string to convert. + An array of 8-bit unsigned integers that is equivalent to . + + + + Converts an array of 8-bit unsigned integers to its equivalent string + representation that is encoded with base-32 digits using the extended hex alphabet. + + An array of 8-bit unsigned integers. + The string representation in base 32 hex of . + + + + Resolve all names from the Name Resolution policy in Windows. + + Returns a list of name servers + + + + The is the main query class of this library and should be used for any kind of DNS lookup query. + + It implements and which contains a number of extension methods, too. + The extension methods internally all invoke the standard queries though. + + + + + + A basic example without specifying any DNS server, which will use the DNS server configured by your local network. + + + + + + + + + + + + + + Creates a new instance of without specifying any name server. + This will implicitly use the name server(s) configured by the local network adapter(s). + + + This uses . + The resulting list of name servers is highly dependent on the local network configuration and OS. + + + In the following example, we will create a new without explicitly defining any DNS server. + This will use the DNS server configured by your local network. + + + + + + + + Creates a new instance of with default settings and one or more DNS servers identified by their . + The default port 53 will be used for all s provided. + + The (s) to be used by this instance. + + Connecting to one or more DNS server using the default port: + + + + + If is null. + + + + Create a new instance of with default settings and one DNS server defined by and . + + The of the DNS server. + The port of the DNS server. + + Connecting to one specific DNS server which does not run on the default port 53: + + + + + If is null. + + + + Creates a new instance of with default settings and the given name servers. + + The (s) to be used by this instance. + + Connecting to one specific DNS server which does not run on the default port 53: + + + + + The class also contains predefined s for the public Google DNS servers, which can be used as follows: + + + + + + If is null. + + + + Creates a new instance of with default settings and the given name servers. + + The (s) to be used by this instance. + If is null. + + + + Creates a new instance of with custom settings. + + The options to use with this instance. + If is null. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a reverse lookup question for an . + + The address. + A with the proper arpa domain query for the given address. + + + + Represents a name server instance used by . + Also, comes with some static methods to resolve name servers from the local network configuration. + + + + + The default DNS server port. + + + + + The public Google DNS IPv4 endpoint. + + + + + The second public Google DNS IPv6 endpoint. + + + + + The public Google DNS IPv6 endpoint. + + + + + The second public Google DNS IPv6 endpoint. + + + + + A public Cloudflare DNS endpoint. + + + + + A public Cloudflare DNS endpoint. + + + + + A public Cloudflare DNS IPv6 endpoint. + + + + + A public Cloudflare DNS IPv6 endpoint. + + + + + Initializes a new instance of the class. + + The name server endpoint. + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + The name server port. + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + An optional DNS suffix (can be null). + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + The name server port. + An optional DNS suffix (can be null). + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + An optional DNS suffix (can be null). + If is null. + + + + Initializes a new instance of the class from a . + + The endpoint. + + + + Initializes a new instance of the class from a . + + The address. + + + + Gets the string representation of the configured . + + + + + Gets the port. + + + + + Gets the address family. + + + + + Gets the size of the supported UDP payload. + + This value might get updated by by reading the options records returned by a query. + + + + The size of the supported UDP payload. + + + + + Gets an optional DNS suffix which a resolver can use to append to queries or to find servers suitable for a query. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + + + + + + + + + + Gets a list of name servers by iterating over the available network interfaces. + + If is enabled, this method will return the Google public DNS endpoints if no + local DNS server was found. + + + If set to true local IPv6 sites are skipped. + If set to true the public Google DNS servers are returned if no other servers could be found. + + The list of name servers. + + + + + Using my custom native implementation to support UWP apps and such until + gets an implementation in netstandard2.1. + + + DnsClient has been changed in version 1.1.0. + It will not invoke this when resolving default DNS servers. It is up to the user to decide what to do based on what platform the code is running on. + + + The list of name servers. + + + + + On a Windows machine query the Name Resolution Policy table for a list of policy-defined name servers. + + Returns a collection of name servers from the policy table + + + + CLASS fields appear in resource records. + + + + + The Internet. + + + + + The CSNET class (Obsolete - used only for examples in some obsolete RFCs). + + + + + The CHAOS class. + + + + + Hesiod [Dyer 87]. + + + + + The query type field appear in the question part of a query. + Query types are a superset of . + + + + + A host address. + + RFC 1035 + + + + + An authoritative name server. + + RFC 1035 + + + + + A mail destination (OBSOLETE - use MX). + + RFC 1035 + + + + A mail forwarder (OBSOLETE - use MX). + + RFC 1035 + + + + The canonical name for an alias. + + RFC 1035 + + + + + Marks the start of a zone of authority. + + RFC 1035 + + + + + A mailbox domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A mail group member (EXPERIMENTAL). + + RFC 1035 + + + + + A mailbox rename domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A Null resource record (EXPERIMENTAL). + + RFC 1035 + + + + + A well known service description. + + RFC 3232 + + + + + A domain name pointer. + + RFC 1035 + + + + + Host information. + + RFC 1035 + RFC 1010 + + + + + Mailbox or mail list information. + + RFC 1035 + + + + + Mail exchange. + + RFC 1035 + RFC 974 + + + + + Text resources. + + RFC 1035 + RFC 1464 + + + + + Responsible Person. + + RFC 1183 + + + + + AFS Data Base location. + + RFC 1183 + RFC 5864 + + + + + An IPv6 host address. + + RFC 3596 + + + + + A resource record which specifies the location of the server(s) for a specific protocol and domain. + + RFC 2782 + + + + + The Naming Authority Pointer rfc2915 + + RFC 2915 + + + + + DS rfc4034 + + RFC 4034 + + + + RRSIG rfc3755. + + RFC 3755 + + + + NSEC rfc4034. + + RFC 4034 + + + + DNSKEY rfc4034 + + RFC 4034 + + + + NSEC3 rfc5155. + + RFC 5155 + + + + NSEC3PARAM rfc5155. + + RFC 5155 + + + + TLSA rfc6698 + + RFC 6698 + + + + SPF records don't officially have a dedicated RR type, should be used instead. + The behavior of TXT and SPF are the same. + + + This library will return a TXT record but will set the header type to SPF if such a record is returned. + + RFC 7208 + + + + DNS zone transfer request. + This can be used only if is set to true as AXFR is only supported via TCP. + + The DNS Server might only return results for the request if the client connection/IP is allowed to do so. + + + + + + Generic any query *. + + + + + A Uniform Resource Identifier (URI) resource record. + + RFC 7553 + + + + + A certification authority authorization. + + RFC 6844 + + + + + A SSH Fingerprint resource record. + + RFC 4255 + + + + + Gets or sets the DnsClient should use. + Per default it will log to . + + + + + Helper for reading config files where each row is a key-value data pair. + The input key-values must not have any whitespace within them. + Keys are only matched if they begin a line, with no preceding whitespace. + + + + + Constructs a new RowConfigReader which reads from the given string. + The string to parse through. + + + + + Constructs a new RowConfigReader which reads from the given string. + The string to parse through. + The comparison kind to use. + + + + + Gets the next occurrence of the given key, from the current position of the reader, + or throws if no occurrence of the key exists in the remainder of the string. + + + + + Tries to get the next occurrence of the given key from the current position of the reader. + If successful, returns true and stores the result in 'value'. Otherwise, returns false. + + + + + Gets the next occurrence of the key in the string, and parses it as an Int32. + Throws if the key is not found in the remainder of the string, or if the key + cannot be successfully parsed into an Int32. + + + This is mainly provided as a helper because most Linux config/info files + store integral data. + + + + + Reads the value of the first occurrence of the given key contained in the string given. + + The key-value row configuration string. + The key to find. + The value of the row containing the first occurrence of the key. + + + + Extension methods for . + + + + + Translates a IPv4 or IPv6 into an arpa address. + Used for reverse DNS lookup to get the domain name of the given . + + The address to translate. + The arpa representation of the address. + + + + + + + Extension methods for where T is . + + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only + + + The list of . + + + + Filters the elements of an to return s only + + + The list of . + + + + Filters the elements of an to return s + which have the . + + The records. + The to filter for. + The list of . + +
+
diff --git a/local-nugets/dnsclient/1.6.1/lib/netstandard2.1/DnsClient.xml b/local-nugets/dnsclient/1.6.1/lib/netstandard2.1/DnsClient.xml new file mode 100644 index 000000000..99094a5d3 --- /dev/null +++ b/local-nugets/dnsclient/1.6.1/lib/netstandard2.1/DnsClient.xml @@ -0,0 +1,5090 @@ + + + + DnsClient + + + + + As defined in https://tools.ietf.org/html/rfc1035#section-5.1 except '()' or '@' or '.' + + + + + The flags of the header's second 16bit value + + + + + A representing an IPv6 . + + A 128 bit IPv6 address is encoded in the data portion of an AAAA + resource record in network byte order(high-order byte first). + + + RFC 3596 + + + + Initializes a new instance of the class. + + + + + + Base class for s transporting an . + + + + + + + Gets the . + + + The address. + + + + + Initializes a new instance of the class. + + The information. + The address. + If is null. + If or is null + + + + A representing an AFS database location. + + RFC 1183 + RFC 5864 + + + + Gets the . + + + The sub type. + + + + + Gets the hostname. + + + The hostname. + + + + + Initializes a new instance of the class. + + The information. + The type. + The name. + If or is null. + + + + Type used by . + + + + + AFS is a registered trademark of Transarc Corporation + + + + + The Distributed Computing Environment + + + + + A representing an IPv4 . + Hosts that have multiple Internet addresses will have multiple A records. + + RFC 1035 + + + + Initializes a new instance of the class. + + + + + + A representing a certification authority authorization. + + The Certification Authority Authorization (CAA) DNS Resource Record + allows a DNS domain name holder to specify one or more Certification + Authorities(CAs) authorized to issue certificates for that domain. + + + CAA Resource Records allow a public Certification Authority to + implement additional controls to reduce the risk of unintended + certificate mis-issue.This document defines the syntax of the CAA + record and rules for processing CAA records by certificate issuers. + + + RFC 6844 + + + + One octet containing the flags. + + + + + The property identifier, a sequence of US-ASCII characters. + + + + + A sequence of octets representing the property value. + Property values are encoded as binary values and MAY employ sub-formats. + + + + + Initializes a new instance of the class. + + The information. + The flags. + The tag. + The value. + If or or is null. + + + + A representing the canonical name for an alias. + + RFC 1035 + + + + Gets the canonical name for an alias. + + + The canonical name. + + + + + Initializes a new instance of the class. + + The information. + The canonical name. + If or is null. + + + + a representing a DnsKey record. + + + + + + Gets the DNSKEY's flags value. + + + + + Gets the DNSKEY's protocol value. + The value must be 3, and the MUST be treated as invalid + during signature verification if it is found to be some value other than 3. + + + + + Gets the 's cryptographic algorithm and determines the format of the . + + + + + Gets the public key material. + The format depends on the of the key being stored. + + + + + Gets the base64 string representation of the . + + + + + Initializes a new instance of the class + + + + + + + If or is null. + + + + Base class for all resource records. + + + + + + Initializes a new instance of the class. + + The information. + If is null. + + + + + + + Same as ToString but offsets the + by . + Set the offset to -32 for example to make it print nicely in consoles. + + The offset. + A string representing this instance. + + + + Returns a string representation of the record's value only. + uses this to compose the full string value of this instance. + + A string representing this record. + + + + The type represents a . + + + + + The domain name used to query. + + + + + Specifies type of resource record. + + + + + Specifies type class of resource record, mostly IN but can be CS, CH or HS . + + + + + Gets the current time to live value for the record. + + + + + Gets or sets the original time to live returned from the server. + + + + + Gets the number of bytes for this resource record stored in RDATA + + + + + Initializes a new instance of the class. + + The domain name used by the query. + Type of the record. + The record class. + The time to live. + Length of the raw data. + If is null. + + + + Initializes a new instance of the class. + + The used by the query. + Type of the record. + The record class. + The time to live. + Length of the raw data. + If is null or empty. + + + + a representing a DS record. + + + + + + Gets the key tag value of the referred to by this record. + + Key Tag Calculation + + + + Gets the algorithm of the referred to by this record. + + + + + Gets the algorithm used to construct the digest. + + + + + Gets the digest of the this record refers to. + + + + + Gets the hexadecimal string representation of the . + + + + + Initializes a new instance of the class + + If or is null. + + + + A not representing any specific resource record. + Used if unsupported s are found in the result. + + + + + + Initializes a new instance of the class. + + The information. + If is null. + + + + A used to acquire general information about a host. + + RFC 1035 + RFC 1010 + + + + Gets a string which specifies the CPU type. + + + The CPU. + + + + + Gets a string which specifies the operating system type. + + + The OS. + + + + + Initializes a new instance of the class. + + The information. + The CPU. + The OS. + If is null. + + + + A representing a domain name which specifies a host which has the specified mailbox. + + RFC 1035 + + + + Gets the domain name which specifies a host which has the specified mailbox. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + A representing a domain name which specifies a mailbox which is a member of the mail group specified by the domain name. + + RFC 1035 + + + + Gets a domain name which specifies a mailbox which is a member of the mail group specified by the domain name. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + A representing mailbox or mail list information. + + RFC 1035 + + + + Gets the domain name which specifies a mailbox which is responsible for the mailing list or mailbox. + + + The domain name. + + + + + Gets the domain name which specifies a mailbox which is to receive error messages related to the mailing list or mailbox. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The RMAILBX. + The EMAILBX. + If or or is null. + + + + A representing a mailbox rename domain name. + + RFC 1035 + + + + Gets the domain name which specifies a mailbox which is the proper rename of the specified mailbox. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + A representing a mail exchange. + + RFC 1035 + RFC 974 + + + + Gets a 16 bit integer which specifies the preference given to + this RR among others at the same owner. + Lower values are preferred. + + + + + A domain name which specifies a host willing to act as a mail exchange. + + + + + Initializes a new instance of the class. + + The information. + The preference. + Name of the domain. + If or is null. + + + + A representing Naming Authority Pointer + + RFC 2915 + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + A known value of property of a . + + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + One of the values of the property of a . + At this time only four flags, "S", "A", "U", and "P", are defined. + The "S", "A" and "U" flags denote a terminal lookup. + + RFC 2915 + + + + Gets the order. + + + The order. + + + + + Gets the preference. + + + The preference. + + + + + Gets the flags. + + + The flags. + + + + + Gets the services. + + + The services. + + + + + Gets the regular expression. + + + The regular expression. + + + + + Gets the replacement. + + + The replacement. + + + + + Initializes a new instance of the class. + + The information. + The order. + The preference. + The flags. + The services. + The regular expression. + The replacement. + + + + a representing a NSEC3PARAM record. + + + + + + + Gets the cryptographic hash algorithm used to construct the hash-value. + + + + + Gets the flags field value containing 8 one-bit flags that can be used to indicate different processing. + All undefined flags must be zero. + The only flag defined by this specification is the Opt-Out flag. + + + + + Gets the number of additional times the hash function has been performed. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Initializes a new instance of the class + + If or is null. + + + + a representing a NSEC3 record. + + + + + + Gets the cryptographic hash algorithm used to construct the hash-value. + + + + + Gets the flags field value containing 8 one-bit flags that can be used to indicate different processing. + All undefined flags must be zero. + The only flag defined by this specification is the Opt-Out flag. + + + + + Gets the number of additional times the hash function has been performed. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Gets the salt field which is appended to the original owner name before hashing + in order to defend against pre-calculated dictionary attacks. + + + + + Gets the name of the next hashed owner in hash order. + This value is in binary format. + + + + + Gets the name of the next hashed owner in hash order. + This value is in binary format. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the original owner name of the NSEC3 RR. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the original owner name of the NSEC3 RR. + + + + + Initializes a new instance of the class + + + If , , or is null. + + + + + a representing a NSEC record. + + + + + + Gets the next owner name (in the canonical ordering of the zone) that has authoritative data + or contains a delegation point NS RRset. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the NSEC RR's owner name. + + + + + Gets the type bit maps field which identifies the RRSet types that exist at the NSEC RR's owner name. + + + + + Initializes a new instance of the class + + If , or is null. + + + + A representing an authoritative name server. + + RFC 1035 + + + + Gets the domain name which specifies a host which should be authoritative for the specified class and domain. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The name. + If or is null. + + + + Experimental RR, not sure if the implementation is actually correct either (not tested). + + RFC 1035 + + + + Gets any data stored in this record. + + + The byte array. + + + + + Gets the raw data of this record as UTF8 string. + + + + + Initializes a new instance of the class. + + The information. + Anything. + If or is null. + + + + A options resource record. + + + + + A representing a pointer. These RRs are used + in special domains to point to some other location in the domain space. + + + RFC 1035 + + + + Gets the domain name which points to some location in the domain name space. + + + The domain name. + + + + + Initializes a new instance of the class. + + The information. + The domain name. + If or is null. + + + + The resource record types. The enum contains only the types supported by this library at this moment. + The is used to identify any . + + Resource record types are a subset of . + + + + + + + + A host address. + + RFC 1035 + + + + + An authoritative name server. + + RFC 1035 + + + + + A mail destination (OBSOLETE - use MX). + + RFC 1035 + + + + A mail forwarder (OBSOLETE - use MX). + + RFC 1035 + + + + The canonical name for an alias. + + RFC 1035 + + + + + Marks the start of a zone of authority. + + RFC 1035 + + + + + A mailbox domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A mail group member (EXPERIMENTAL). + + RFC 1035 + + + + + A mailbox rename domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A Null resource record (EXPERIMENTAL). + + RFC 1035 + + + + + A well known service description. + + RFC 3232 + + + + + A domain name pointer. + + RFC 1035 + + + + + Host information. + + RFC 1035 + RFC 1010 + + + + + Mailbox or mail list information. + + RFC 1035 + + + + + Mail exchange. + + RFC 1035 + RFC 974 + + + + + Text resources. + + RFC 1035 + RFC 1464 + + + + + Responsible Person. + + RFC 1183 + + + + + AFS Data Base location. + + RFC 1183 + RFC 5864 + + + + + An IPv6 host address. + + RFC 3596 + + + + + A resource record which specifies the location of the server(s) for a specific protocol and domain. + + RFC 2782 + + + + + The Naming Authority Pointer rfc3403 + + RFC 2915 + + + + + Option record. + + RFC 6891 + + + + DS rfc4034 + + RFC 4034 + + + + SSH finger print record. + + RFC 4255 + + + + RRSIG rfc3755. + + RFC 3755 + + + + NSEC rfc4034. + + RFC 4034 + + + + DNSKEY rfc4034. + + + + + + NSEC3 rfc5155. + + RFC 5155 + + + + NSEC3PARAM rfc5155. + + RFC 5155 + + + + TLSA rfc6698. + + RFC 6698 + + + + SPF records don't officially have a dedicated RR type, should be used instead. + The behavior of TXT and SPF are the same. + + + This library will return a TXT record but will set the header type to SPF if such a record is returned. + + RFC 7208 + + + + A Uniform Resource Identifier (URI) resource record. + + RFC 7553 + + + + + A certification authority authorization. + + RFC 6844 + + + + + A representing a responsible person. + + RFC 1183 + + + + Gets a domain name that specifies the mailbox for the responsible person. + + + The mailbox domain. + + + + + Gets a domain name for which TXT RR's exist. + + + The text domain. + + + + + Initializes a new instance of the class. + + The information. + The mailbox domain. + The text domain. + + If or or is null. + + + + + A representing a RRSIG record. + + + + + + + + Gets the type of the RRset that is covered by this . + + + + + Gets the cryptographic algorithm used to create the . + + + + + Gets the number of labels in the original RR owner name. + + + + + Gets the TTL of the covered RRset as it appears in the authoritative zone. + + + + + Gets the expiration date of the . + This record MUST NOT be used for authentication prior to the + and MUST NOT be used for authentication after the . + + + + + Gets the inception date of the . + This record MUST NOT be used for authentication prior to the + and MUST NOT be used for authentication after the . + + + + + Gets the key tag value of the that validates this . + + Key Tag Calculation + + + + Gets the value which identifies the owner name of the + that a validator is supposed to use to validate this . + + + + + Gets the cryptographic signature that covers the RRSIG RDATA (excluding the Signature field) + and the RRset specified by the RRSIG owner name, RRSIG class, and RRSIG Type Covered field. + The format of this field depends on the algorithm in use. + + + + + Gets the base64 string representation of the . + + + + + Initializes a new instance of the class. + + + + + + + + + + + + If , or is null. + + + + A representing a SOA (Start Of Authority) record. + + RFC 1035 + + + + Gets a 32 bit time value that specifies the upper limit on + the time interval that can elapse before the zone is no + longer authoritative. + + + The expiration. + + + + + Gets the unsigned 32 bit minimum TTL field that should be + exported with any RR from this zone. + + + The minimum TTL. + + + + + Gets the domain name of the name server that was the original or primary source of data for this zone. + + + The domain name. + + + + + Gets a 32 bit time interval before the zone should be refreshed. + + + The refresh time. + + + + + Gets a 32 bit time interval that should elapse before a failed refresh should be retried. + + + The retry time. + + + + + Gets a domain name which specifies the mailbox of the person responsible for this zone. + + + The responsible mailbox domain name. + + + + + Gets the unsigned 32 bit version number of the original copy + of the zone.Zone transfers preserve this value. This value wraps and should be compared using sequence space arithmetic. + + + The serial number. + + + + + Initializes a new instance of the class. + + The information. + Name original domain name. + Name responsible domain name. + The serial number. + The refresh time. + The retry time. + The expire time. + The minimum TTL. + + If or or is null. + + + + + A representing a location of the server(s) for a specific protocol and domain. + + RFC 2782 + + + + Gets the port. + + + The port. + + + + + Gets the priority. + + + The priority. + + + + + Gets the target domain name. + + + The target. + + + + + Gets the weight. + + + The weight. + + + + + Initializes a new instance of the class. + + The information. + The priority. + The weight. + The port. + The target. + If or is null. + + + + A representing an SSH fingerprint + + SSHFP RRs are used to hold SSH fingerprints. Upon connecting to a + host an SSH client may choose to query for this to check the fingerprint(s) + + + RFC 4255 + RFC 6594 + RFC 7479 + + + + + + The information. + The algorithm. + The fingerprint type. + The fingerprint. + + + + Algorithm used for the fingerprint + + + + + Fingerprint type used for the fingerprint + + + + + Fingerprint as defined in the RR + + + + + Algorithm used by + + + + + Reserved for later use + + + + + RSA + + + + + DSS + + + + + Elliptic Curve DSA + + + + + Edwards-curve DSA + + + + + Fingerprint type used by + + + + + Reserved for later use + + + + + SHA-1 fingerprint + + + + + SHA-256 fingerprint + + + + + A representing a TLSA record. + + + + + + + + Gets the , which specifies the provided association + that will be used to match the certificate presented in the TLS handshake. + + + + + Gets the , which specifies which part of the TLS certificate + presented by the server will be matched against the . + + + + + Gets the , which specifies how the is presented. + + + + + Gets the "certificate association data" to be matched. + + + + + Gets the string representation of the in hexadecimal. + + + + + Initializes a new instance of the class. + + + + + + + If or is null. + + + + The usage flag specifies the provided association that will be used to match the certificate presented in the TLS handshake. + + + + + Certificate authority constraint. + + + + + Service certificate constraint. + + + + + Trust Anchor Assertion. + + + + + Domain issued certificate. + + + + + Flag which specifies which part of the TLS certificate presented by the server will be matched against the association data. + + + + + Select the entire certificate for matching. + + + + + Select the public key for certificate matching. + + + + + Flag which specifies how the certificate association is presented. + + + + + Exact match, the entire information selected is present in the certificate association data. + + + + + SHA-256 hash of selected content. + + + + + SHA-512 hash of selected content. + + + + + A representing a text resource. + + TXT RRs are used to hold descriptive text. The semantics of the text + depends on the domain where it is found. + + + RFC 1035 + RFC 1464 + + + + Gets the list of TXT values of this resource record in escaped form, valid for root file. + + + See https://tools.ietf.org/html/rfc1035#section-5.1 for escape details. + + + + + Gets the actual UTF8 representation of the text values of this record. + + + + + Initializes a new instance of the class. + + The information. + The values. + The UTF8 values. + + If or or is null. + + + + + Experimental RR, not sure if the implementation is actually correct either (not tested). + + RFC 1035 + + + + Gets any data stored in this record. + + + The byte array. + + + + + Gets the unknown bytes as Base64 string. + + + + + Initializes a new instance of the class. + + The information. + The raw data. + If or is null. + + + + A representing a Uniform Resource Identifier (URI) resource. + + RFC 7553 + + + + Gets or sets the target Uri. + + + The target. + + + + + Gets or sets the priority. + + + The priority. + + + + + Gets or sets the weight. + + + The weight. + + + + + Initializes a new instance of the class. + + The information. + The priority. + The weight. + The target. + If or is null. + + + + A representing a Well Known Service description. + + + Instead of describing the supported protocols in RFCs, the list is now published on http://www.iana.org/. + + + RFC 3232, the most current update. + + + + Gets the address. + + + The address. + + + + + Gets the Protocol. + + + According to https://tools.ietf.org/html/rfc6335, only ports for TCP, UDP, DCCP and SCTP services will be assigned. + + + + + Gets the binary raw bitmap. + Use to determine which ports are actually configured. + + + + + Gets the list of assigned ports. + + For example, if this list contains port 25, which is assigned to + the SMTP service. This means that a SMTP services + is running on with transport . + + + Port numbers + + + + Initializes a new instance of the class. + + The information. + The address. + The protocol. + The raw data. + + If or or is null. + + + + + Specifies kind of query in this message. + This value is set by the originator of a query and copied into the response. + + + + + A standard query. + + RFC 1035 + + + + An inverse query. + + RFC 3425 + + + + A server status request. + + RFC 1035 + + + + Unassigned value + + + + + Notify query. + + RFC 1996 + + + + Update query. + + RFC 2136 + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Extension methods for the contract. + + The methods implement common queries which are more complex and have some business logic. + + + + + + The GetHostEntry method queries a DNS server for the IP addresses and aliases associated with the . + In case is an , GetHostEntry does a reverse lookup on that first to determine the hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname or . +
+
+ + The following code example uses the method to resolve an IP address or hostname to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The or host name to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostEntryAsync method queries a DNS server for the IP addresses and aliases associated with the . + In case is an , GetHostEntry does a reverse lookup on that first to determine the hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname or . +
+
+ + The following code example uses the method to resolve an IP address or hostname to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The or host name to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostEntry method does a reverse lookup on the IP , + and queries a DNS server for the IP addresses and aliases associated with the resolved hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname of the . +
+
+ + The following code example uses the method to resolve an IP address to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostEntryAsync method does a reverse lookup on the IP , + and queries a DNS server for the IP addresses and aliases associated with the resolved hostname. + + IP addresses found are returned in . + records are used to populate the .
+ The property will be set to the resolved hostname of the . +
+
+ + The following code example uses the method to resolve an IP address to an instance. + + + + + + The method has some logic to populate the list: + + + + In case of sub-domain queries or similar, there might be multiple records for one , + + + + If only one is in the result set, all the aliases found will be returned. + + + + If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname. + + + + + The instance. + The to query for. + + An instance that contains address information about the host specified in . + In case the could not be resolved to a domain name, this method returns null, + unless is set to true, then it might throw a . + + If is null. + In case is set to true and a DNS error occurs. +
+ + + The GetHostName method queries a DNS server to resolve the hostname of the via reverse lookup. + + The instance. + The to resolve. + + The hostname if the reverse lookup was successful or null, in case the host was not found. + If is set to true, this method will throw an instead of returning null! + + If is null. + If no host has been found and is true. + + + + The GetHostNameAsync method queries a DNS server to resolve the hostname of the via reverse lookup. + + The instance. + The to resolve. + + The hostname if the reverse lookup was successful or null, in case the host was not found. + If is set to true, this method will throw an instead of returning null! + + If is null. + If no host has been found and is true. + + + + The ResolveService method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + + The protocol of the service to query for. + Set it to or to not pass any protocol. + + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveServiceAsync method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + + The protocol of the service to query for. + Set it to or to not pass any protocol. + + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveService method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + An optional tag. Must not have any _ prefix. + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveService method does a lookup for {} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The name of the service to look for. Must have _ prefix and domain and protocol. + A collection of s. + If are null. + RFC 2782 + + + + The ResolveServiceAsync method does a lookup for _{}[._{}].{} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + An optional tag. Must not have any _ prefix. + A collection of s. + If or are null. + RFC 2782 + + + + The ResolveServiceAsync method does a lookup for {} + and aggregates the result (hostname, port and list of s) to a . + + This method expects matching A or AAAA records to populate the , + and/or a record to populate the property of the result. + + + + The returned list of s and/or the hostname can be empty if no matching additional records are found. + + The instance. + The name of the service to look for. Must have _ prefix and domain and protocol. + A collection of s. + If are null. + RFC 2782 + + + + Constructs a DNS query string from the constituent parts. + + The base domain, which will be appended to the end of the query string. + The name of the service to look for. Must not have any _ prefix. + An optional tag. Must not have any _ prefix. + A service string that can be used in a DNS service query. + + + + Transforms a DNS query result into a collection of objects. + + The DNS + A collection of s. + + + + Extends by the property. + + + + + + Gets or sets the port. + + + The port of this entry. + + + + + Gets or sets priority of the original record. + Might be zero if not provided. + + + The priority of this entry. + + + + + Gets or sets weight of the original record. + Might be zero if not provided. + + + The weight of this entry. + + + + + The options used to override the defaults of per query. + + + + + The minimum payload size. Anything equal or less than that will default back to this value and might disable EDNS. + + + + + The maximum reasonable payload size. + + + + + Gets or sets a flag indicating whether each will contain a full documentation of the response(s). + Default is False. + + + + + + Gets or sets a flag indicating whether DNS queries should use response caching or not. + The cache duration is calculated by the resource record of the response. Usually, the lowest TTL is used. + Default is True. + + + In case the DNS Server returns records with a TTL of zero. The response cannot be cached. + + + + + Gets or sets a flag indicating whether DNS queries should instruct the DNS server to do recursive lookups, or not. + Default is True. + + The flag indicating if recursion should be used or not. + + + + Gets or sets the number of tries to get a response from one name server before trying the next one. + Only transient errors, like network or connection errors will be retried. + Default is 2 which will be three tries total. + + If all configured error out after retries, an exception will be thrown at the end. + + + The number of retries. + + + + Gets or sets a flag indicating whether the should throw a + in case the query result has a other than . + Default is False. + + + + If set to False, the query will return a result with an + which contains more information. + + + If set to True, any query method of will throw an if + the response header indicates an error. + + + If both, and are set to True, + will continue to query all configured . + If none of the servers yield a valid response, a will be thrown + with the error of the last response. + + + + + + + + Gets or sets a flag indicating whether the can cycle through all + configured on each consecutive request, basically using a random server, or not. + Default is True. + If only one is configured, this setting is not used. + + + + If False, configured endpoint will be used in random order. + If True, the order will be preserved. + + + Even if is set to True, the endpoint might still get + disabled and might not being used for some time if it errors out, e.g. no connection can be established. + + + + + + Gets or sets a flag indicating whether to query the next configured in case the response of the last query + returned a other than . + Default is True. + + + If True, lookup client will continue until a server returns a valid result, or, + if no yield a valid result, the last response with the error will be returned. + In case no server yields a valid result and is also enabled, an exception + will be thrown containing the error of the last response. + + If True and is enabled, the exception will be thrown on first encounter without trying any other servers. + + + + + + + Gets or sets a flag indicating whether to query the next configured + if the response does not have an error but the query was not answered by the response. + Default is True. + + + The query is answered if there is at least one in the answers section + matching the 's . + + If there are zero answers in the response, the query is not answered, independent of the . + If there are answers in the response, the is used to find a matching record, + query types and will be ignored by this check. + + + + + + Gets or sets the request timeout in milliseconds. is used for limiting the connection and request time for one operation. + Timeout must be greater than zero and less than . + If (or -1) is used, no timeout will be applied. + Default is 5 seconds. + + + If a very short timeout is configured, queries will more likely result in s. + + Important to note, s will be retried, if are not disabled (set to 0). + This should help in case one or more configured DNS servers are not reachable or under load for example. + + + + + + Gets or sets a flag indicating whether TCP should be used in case a UDP response is truncated. + Default is True. + + If False, truncated results will potentially yield no or incomplete answers. + + + + + + Gets or sets a flag indicating whether UDP should not be used at all. + Default is False. + + Enable this only if UDP cannot be used because of your firewall rules for example. + Also, zone transfers (see ) must use TCP only. + + + + + + Gets or sets the maximum buffer used for UDP requests. + Defaults to 4096. + + If this value is less or equal to 512 bytes, EDNS might be disabled. + + + + + + Gets or sets a flag indicating whether EDNS should be enabled and the DO flag should be set. + Defaults to False. + + + + + Gets or sets a flag indicating whether the DNS failures are being cached. The purpose of caching + failures is to reduce repeated lookup attempts within a short space of time. + Defaults to False. + + + + + Gets or sets the duration to cache failed lookups. Does not apply if failed lookups are not being cached. + Defaults to 5 seconds. + + + + + Converts the query options into readonly settings. + + The options. + + + + The options used to override the defaults of per query. + + + + + Creates a new instance of without name servers. + If no nameservers are configured, a query will fallback to the nameservers already configured on the instance. + + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Gets a list of name servers which should be used to query. + + + + + Converts the query options into readonly settings. + + The options. + + + + The options used to configure defaults in and to optionally use specific settings per query. + + + + + Creates a new instance of with default settings. + + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Creates a new instance of . + + A collection of name servers. + If is null. + + + + Gets or sets a flag indicating whether the name server collection should be automatically resolved. + Default is True. + + + If name servers are configured manually via the constructor, this flag is set to false. + If you want both, your manually configured servers and auto resolved name servers, + you can use both (ctor or) and set to True. + + + + + Gets or sets a which can override the TTL of a resource record in case the + TTL of the record is lower than this minimum value. + Default is Null. + + This is useful in case the server returns records with zero TTL. + + + + This setting gets ignored in case is set to False, + or the value is set to Null or . + The maximum value is 24 days or (choose a wise setting). + + + + + Gets a which can override the TTL of a resource record in case the + TTL of the record is higher than this maximum value. + Default is Null. + + + This setting gets ignored in case is set to False, + or the value is set to Null, or . + The maximum value is 24 days (which shouldn't be used). + + + + + The options used to override the defaults of per query. + + + + + Gets a flag indicating whether each will contain a full documentation of the response(s). + Default is False. + + + + + + Gets a flag indicating whether DNS queries should use response caching or not. + The cache duration is calculated by the resource record of the response. Usually, the lowest TTL is used. + Default is True. + + + In case the DNS Server returns records with a TTL of zero. The response cannot be cached. + + + + + Gets a flag indicating whether DNS queries should instruct the DNS server to do recursive lookups, or not. + Default is True. + + The flag indicating if recursion should be used or not. + + + + Gets the number of tries to get a response from one name server before trying the next one. + Only transient errors, like network or connection errors will be retried. + Default is 5. + + If all configured error out after retries, an exception will be thrown at the end. + + + The number of retries. + + + + Gets a flag indicating whether the should throw a + in case the query result has a other than . + Default is False. + + + + If set to False, the query will return a result with an + which contains more information. + + + If set to True, any query method of will throw an if + the response header indicates an error. + + + If both, and are set to True, + will continue to query all configured . + If none of the servers yield a valid response, a will be thrown + with the error of the last response. + + + + + + + + Gets a flag indicating whether the can cycle through all + configured on each consecutive request, basically using a random server, or not. + Default is True. + If only one is configured, this setting is not used. + + + + If False, configured endpoint will be used in random order. + If True, the order will be preserved. + + + Even if is set to True, the endpoint might still get + disabled and might not being used for some time if it errors out, e.g. no connection can be established. + + + + + + Gets a flag indicating whether to query the next configured in case the response of the last query + returned a other than . + Default is True. + + + If True, lookup client will continue until a server returns a valid result, or, + if no yield a valid result, the last response with the error will be returned. + In case no server yields a valid result and is also enabled, an exception + will be thrown containing the error of the last response. + + If True and is enabled, the exception will be thrown on first encounter without trying any other servers. + + + + + + + Gets or sets a flag indicating whether to query the next configured + if the response does not have an error but the query was not answered by the response. + Default is True. + + + The query is answered if there is at least one in the answers section + matching the 's . + + If there are zero answers in the response, the query is not answered, independent of the . + If there are answers in the response, the is used to find a matching record, + query types and will be ignored by this check. + + + + + + Gets the request timeout in milliseconds. is used for limiting the connection and request time for one operation. + Timeout must be greater than zero and less than . + If (or -1) is used, no timeout will be applied. + Default is 5 seconds. + + + If a very short timeout is configured, queries will more likely result in s. + + Important to note, s will be retried, if are not disabled (set to 0). + This should help in case one or more configured DNS servers are not reachable or under load for example. + + + + + + Gets a flag indicating whether TCP should be used in case a UDP response is truncated. + Default is True. + + If False, truncated results will potentially yield no or incomplete answers. + + + + + + Gets a flag indicating whether UDP should not be used at all. + Default is False. + + Enable this only if UDP cannot be used because of your firewall rules for example. + Also, zone transfers (see ) must use TCP only. + + + + + + Gets a flag indicating whether EDNS is enabled based on the values + of and . + + + + + Gets the maximum buffer used for UDP requests. + Defaults to 4096. + + If this value is less or equal to 512 bytes, EDNS might be disabled. + + + + + + Gets a flag indicating whether EDNS should be enabled and the DO flag should be set. + Defaults to False. + + + + + Gets a flag indicating whether the DNS failures are being cached. The purpose of caching + failures is to reduce repeated lookup attempts within a short space of time. + Defaults to False. + + + + + If failures are being cached this value indicates how long they will be held in the cache for. + Defaults to 5 seconds. + + + + + Creates a new instance of . + + + + + + + + + + + The readonly version of used to customize settings per query. + + + + + Gets a collection of name servers which should be used to query. + + + + + Creates a new instance of . + + + + + Creates a new instance of . + + + + + + + + + + + The readonly version of used as default settings in . + + + + + Creates a new instance of . + + + + + Gets a which can override the TTL of a resource record in case the + TTL of the record is lower than this minimum value. + Default is Null. + + This is useful in cases where the server returns records with zero TTL. + + + + This setting gets ignored in case is set to False. + The maximum value is 24 days or . + + + + + Gets a which can override the TTL of a resource record in case the + TTL of the record is higher than this maximum value. + Default is Null. + + + This setting gets ignored in case is set to False. + The maximum value is 24 days. + Setting it to would be equal to not providing a value. + + + + + + + + + + + The response returned by any query performed by with all answer sections, header and message information. + + + + + + + Gets the name server which responded with this result. + + + The name server. + + + + + Gets a list of additional records. + + + + + Gets a list of all answers, additional and authority records. + + + + + Gets the audit trail if . as set to true, null otherwise. + + + The audit trail. + + + + + Gets a list of answer records. + + + + + Gets a list of authority records. + + + + + Returns a string value representing the error response code in case an error occurred, + otherwise ''. + + + + + A flag indicating if the header contains a response code other than . + + + + + Gets the header of the response. + + + + + Gets the list of questions. + + + + + Gets the size of the message. + + + The size of the message. + + + + + Gets the settings used to produce this response. + + + + + + + + + + + The class transports information of the lookup query performed by . + + A list of questions is returned by (although, the list will always contain only one ). + + + + + + Gets the domain name the lookup was running for. + + + The name of the query. + + + + + Gets the question class. + + + The question class. + + + + + Gets the type of the question. + + + The type of the question. + + + + + Initializes a new instance of the class. + + The query. + Type of the question. + The question class. + If is null. + + + + Initializes a new instance of the class. + + The query. + Type of the question. + The question class. + If is null. + + + + + + + Returns the information of this instance in a friendly format with an optional . + + The optional offset which can be used for pretty printing. + The string representation of this instance. + + + + Represents a simple request message which can be send through . + + + + + 4 bit response codes of the 's header. + + RFC 6895 + + + + No error condition + + RFC 1035 + + + + Format error. The name server was unable to interpret the query. + + RFC 1035 + + + + Server failure. The name server was unable to process this query due to a problem with the name server. + + RFC 1035 + + + + Name Error. Meaningful only for responses from an authoritative name server, + this code signifies that the domain name referenced in the query does not exist. + + RFC 1035 + + + + Not Implemented. The name server does not support the requested kind of query. + + RFC 1035 + + + + Refused. The name server refuses to perform the specified operation for policy reasons. + For example, a name server may not wish to provide the information to the particular requester, + or a name server may not wish to perform a particular operation (e.g., zone transfer) for particular data. + + RFC 1035 + + + + Name Exists when it should not. + + RFC 2136 + + + + Resource record set exists when it should not. + + RFC 2136 + + + + Resource record set that should exist but does not. + + RFC 2136 + + + + Server Not Authoritative for zone / Not Authorized. + + RFC 2136 + RFC 2845 + + + + Name not contained in zone. + + RFC 2136 + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Extended response codes of the with OPT. + + RFC 6895 + + + + No error condition + + RFC 1035 + + + + Format error. The name server was unable to interpret the query. + + RFC 1035 + + + + Server failure. The name server was unable to process this query due to a problem with the name server. + + RFC 1035 + + + + Name Error. Meaningful only for responses from an authoritative name server, + this code signifies that the domain name referenced in the query does not exist. + + RFC 1035 + + + + Not Implemented. The name server does not support the requested kind of query. + + RFC 1035 + + + + Refused. The name server refuses to perform the specified operation for policy reasons. + For example, a name server may not wish to provide the information to the particular requester, + or a name server may not wish to perform a particular operation (e.g., zone transfer) for particular data. + + RFC 1035 + + + + Name Exists when it should not. + + RFC 2136 + + + + Resource record set exists when it should not. + + RFC 2136 + + + + Resource record set that should exist but does not. + + RFC 2136 + + + + Server Not Authoritative for zone / Not Authorized. + + RFC 2136 + RFC 2845 + + + + Name not contained in zone. + + RFC 2136 + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Unassigned value + + + + + Bad OPT Version or TSIG Signature Failure. + + RFC 2671 + RFC 2845 + + + + Key not recognized. + + RFC 2845 + + + + Signature out of time window. + + RFC 2845 + + + + Bad TKEY Mode. + + RFC 2930 + + + + Duplicate key name. + + RFC 2930 + + + + Algorithm not supported. + + RFC 2930 + + + + Bad Truncation. + + RFC 4635 + + + + Bad/missing Server Cookie + + RFC 7873 + + + + Unknown error. + + + + + Indicates a timeout error. Connection to the remote server couldn't be established. + + + + + A DnsClient specific exception transporting additional information about the query causing this exception. + + + + + + Gets the response code. + + + The response code. + + + + + Gets the audit trail if . as set to true, null otherwise. + + + The audit trail. + + + + + Gets a human readable error message. + + + The error message. + + + + + Initializes a new instance of the class + with set to . + + + + + Initializes a new instance of the class + with set to + and a custom . + + + + + Initializes a new instance of the class + with the standard error text for the given . + + + + + Initializes a new instance of the class + with set to + and a custom and inner . + + + + + Initializes a new instance of the class + with a custom and the given . + + + + + Initializes a new instance of the class + with a custom and the given . + + + + + The header section of a . + + + + + Gets the number of additional records in the . + + + The number of additional records. + + + + + Gets the number of answer records in the . + + + The number of answer records. + + + + + Gets a value indicating whether the future use flag is set. + + + The future use flag. + + + + + Gets a value indicating whether this instance has authority answers. + + + true if this instance has authority answers; otherwise, false. + + + + + Gets the identifier. + + + The identifier. + + + + + Gets a value indicating whether the result is authentic data. + + + true if the result is authentic; otherwise, false. + + + + + Gets a value indicating whether checking is disabled. + + + true if checking is disabled; otherwise, false. + + + + + Gets a value indicating whether this instance has a query. + + + true if this instance has a query; otherwise, false. + + + + + Gets the number of name servers. + + + The number of name servers. + + + + + Gets the kind of query defined by . + + + The query kind. + + + + + Gets the number of questions of the . + + + The number of questions. + + + + + Gets a value indicating whether recursion is available on the DNS server. + + + true if recursion is available; otherwise, false. + + + + + Gets the response code. + + + The response code. + + + + + Gets a value indicating whether the result was truncated. + + + true if the result was truncated; otherwise, false. + + + + + Gets a value indicating whether recursion desired flag was set by the request. + + + true if the recursion desired flag was set; otherwise, false. + + + + + Initializes a new instance of the class. + + The identifier. + The flags. + The question count. + The answer count. + The additional count. + The server count. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the readonly representation of this message which can be returned. + + + + + The type is used to normalize and validate domain names and labels. + + + + + The ACE prefix indicates that the domain name label contains not normally supported characters and that the label has been encoded. + + + + + The maximum length in bytes for one label. + + + + + The maximum supported total length in bytes for a domain name. The calculation of the actual + bytes this consumes includes all bytes used for to encode it as octet string. + + + + + The root label ".". + + + + + Gets the original value. + + + + + Gets the validated and eventually modified value. + + + + + Gets the number of labels of this or null if not applicable. + This property is only set if the method was used to create this instance. + + + + + Performs an implicit conversion from to . + + The name. + + The result of the conversion. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parses the given and validates all labels. + + + An empty string will be interpreted as root label. + + A domain name. + The representing the given . + If is null. + + + + Transforms names with the to the Unicode variant and adds a trailing '.' at the end if not present. + The original value will be kept in this instance in case it is needed. + + + The method does not parse the domain name unless it contains a . + + The value to check. + The representation. + + + + Generic contract to query DNS endpoints. Implemented by . + + + + + Performs a DNS lookup for the given , and . + + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + + The which contains the response headers and lists of resource records. + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + Query options to be used instead of 's settings. + + The which contains the response headers and lists of resource records. + + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Returns cached results for the given from the in-memory cache, if available, or Null otherwise. + + + This method will not perform a full lookup if there is nothing found in cache or the cache is disabled! + + The domain name query. + + The which contains the cached response headers and lists of resource records. + If no matching cache entry is found Null is returned. + + + + + Returns cached results for the given , and + against the in-memory cache, if available, or Null otherwise. + + + This method will not perform a full lookup if there is nothing found in cache or the cache is disabled! + + The domain name query. + The . + The . + + The which contains the cached response headers and lists of resource records. + If no matching cache entry is found Null is returned. + + + + + Performs a DNS lookup for the given , and + + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given . + + The domain name query. + Query options to be used instead of 's settings. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + + The which might contain the for the . + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + Query options to be used instead of 's settings. + + The which might contain the for the . + + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + The cancellation token. + + The which might contain the for the . + + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the . + + The . + Query options to be used instead of 's settings. + The cancellation token. + + The which might contain the for the . + + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + Query options to be used instead of 's settings. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If , or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + Query options to be used instead of 's settings. + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If , or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Performs a DNS lookup for the given , and + using only the passed in . + + + To query specific servers can be useful in cases where you have to use a different DNS server than initially configured + (without creating a new instance of for example). + + The list of one or more server(s) which should be used for the lookup. + The domain name query. + The . + The . + The cancellation token. + + The which contains the response headers and lists of resource records. + + If the collection doesn't contain any elements. + If is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + Query options to be used instead of 's settings. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If , or is null. + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Does a reverse lookup for the + using only the passed in . + + The list of one or more server(s) which should be used for the lookup. + The . + Query options to be used instead of 's settings. + The cancellation token. + + The which might contain the for the . + + If the collection doesn't contain any elements. + If , or is null. + If cancellation has been requested for the passed in . + After retries and fallbacks, if none of the servers were accessible, timed out or (if is enabled) returned error results. + + + + Contract defining the result of a query performed by . + + + + + + + Gets the list of questions. + + + + + Gets a list of additional records. + + + + + Gets a list of all answers, additional and authority records. + + + + + Gets a list of answer records. + + + + + Gets a list of authority records. + + + + + Gets the audit trail if . as set to true, null otherwise. + + + The audit trail. + + + + + Returns a string value representing the error response code in case an error occurred, + otherwise ''. + + + + + A flag indicating if the header contains a response code other than . + + + + + Gets the header of the response. + + + + + Gets the size of the message. + + + The size of the message. + + + + + Gets the name server which responded with this result. + + + The name server. + + + + + Gets the settings used to produce this response. + + + + + The contract for the LookupClient. + + The interfaces for the query methods and the lookup client properties are separated so that one can + inject or expose only the without exposing the configuration options. + + + + + + Gets the list of configured or resolved name servers of the instance. + + + + + Gets the configured settings of the instance. + + + + + Base32 encoder with the extended hey alphabet + + + See https://datatracker.ietf.org/doc/html/rfc4648#section-7 + + + RFC4648 + + + + Converts the specified string, which encodes binary data as base-32 digits + using the extended hex alphabet, to an equivalent 8-bit unsigned integer array. + + The string to convert. + An array of 8-bit unsigned integers that is equivalent to . + + + + Converts an array of 8-bit unsigned integers to its equivalent string + representation that is encoded with base-32 digits using the extended hex alphabet. + + An array of 8-bit unsigned integers. + The string representation in base 32 hex of . + + + + Resolve all names from the Name Resolution policy in Windows. + + Returns a list of name servers + + + + The is the main query class of this library and should be used for any kind of DNS lookup query. + + It implements and which contains a number of extension methods, too. + The extension methods internally all invoke the standard queries though. + + + + + + A basic example without specifying any DNS server, which will use the DNS server configured by your local network. + + + + + + + + + + + + + + Creates a new instance of without specifying any name server. + This will implicitly use the name server(s) configured by the local network adapter(s). + + + This uses . + The resulting list of name servers is highly dependent on the local network configuration and OS. + + + In the following example, we will create a new without explicitly defining any DNS server. + This will use the DNS server configured by your local network. + + + + + + + + Creates a new instance of with default settings and one or more DNS servers identified by their . + The default port 53 will be used for all s provided. + + The (s) to be used by this instance. + + Connecting to one or more DNS server using the default port: + + + + + If is null. + + + + Create a new instance of with default settings and one DNS server defined by and . + + The of the DNS server. + The port of the DNS server. + + Connecting to one specific DNS server which does not run on the default port 53: + + + + + If is null. + + + + Creates a new instance of with default settings and the given name servers. + + The (s) to be used by this instance. + + Connecting to one specific DNS server which does not run on the default port 53: + + + + + The class also contains predefined s for the public Google DNS servers, which can be used as follows: + + + + + + If is null. + + + + Creates a new instance of with default settings and the given name servers. + + The (s) to be used by this instance. + If is null. + + + + Creates a new instance of with custom settings. + + The options to use with this instance. + If is null. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a reverse lookup question for an . + + The address. + A with the proper arpa domain query for the given address. + + + + Represents a name server instance used by . + Also, comes with some static methods to resolve name servers from the local network configuration. + + + + + The default DNS server port. + + + + + The public Google DNS IPv4 endpoint. + + + + + The second public Google DNS IPv6 endpoint. + + + + + The public Google DNS IPv6 endpoint. + + + + + The second public Google DNS IPv6 endpoint. + + + + + A public Cloudflare DNS endpoint. + + + + + A public Cloudflare DNS endpoint. + + + + + A public Cloudflare DNS IPv6 endpoint. + + + + + A public Cloudflare DNS IPv6 endpoint. + + + + + Initializes a new instance of the class. + + The name server endpoint. + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + The name server port. + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + An optional DNS suffix (can be null). + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + The name server port. + An optional DNS suffix (can be null). + If is null. + + + + Initializes a new instance of the class. + + The name server endpoint. + An optional DNS suffix (can be null). + If is null. + + + + Initializes a new instance of the class from a . + + The endpoint. + + + + Initializes a new instance of the class from a . + + The address. + + + + Gets the string representation of the configured . + + + + + Gets the port. + + + + + Gets the address family. + + + + + Gets the size of the supported UDP payload. + + This value might get updated by by reading the options records returned by a query. + + + + The size of the supported UDP payload. + + + + + Gets an optional DNS suffix which a resolver can use to append to queries or to find servers suitable for a query. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + + + + + + + + + + Gets a list of name servers by iterating over the available network interfaces. + + If is enabled, this method will return the Google public DNS endpoints if no + local DNS server was found. + + + If set to true local IPv6 sites are skipped. + If set to true the public Google DNS servers are returned if no other servers could be found. + + The list of name servers. + + + + + Using my custom native implementation to support UWP apps and such until + gets an implementation in netstandard2.1. + + + DnsClient has been changed in version 1.1.0. + It will not invoke this when resolving default DNS servers. It is up to the user to decide what to do based on what platform the code is running on. + + + The list of name servers. + + + + + On a Windows machine query the Name Resolution Policy table for a list of policy-defined name servers. + + Returns a collection of name servers from the policy table + + + + CLASS fields appear in resource records. + + + + + The Internet. + + + + + The CSNET class (Obsolete - used only for examples in some obsolete RFCs). + + + + + The CHAOS class. + + + + + Hesiod [Dyer 87]. + + + + + The query type field appear in the question part of a query. + Query types are a superset of . + + + + + A host address. + + RFC 1035 + + + + + An authoritative name server. + + RFC 1035 + + + + + A mail destination (OBSOLETE - use MX). + + RFC 1035 + + + + A mail forwarder (OBSOLETE - use MX). + + RFC 1035 + + + + The canonical name for an alias. + + RFC 1035 + + + + + Marks the start of a zone of authority. + + RFC 1035 + + + + + A mailbox domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A mail group member (EXPERIMENTAL). + + RFC 1035 + + + + + A mailbox rename domain name (EXPERIMENTAL). + + RFC 1035 + + + + + A Null resource record (EXPERIMENTAL). + + RFC 1035 + + + + + A well known service description. + + RFC 3232 + + + + + A domain name pointer. + + RFC 1035 + + + + + Host information. + + RFC 1035 + RFC 1010 + + + + + Mailbox or mail list information. + + RFC 1035 + + + + + Mail exchange. + + RFC 1035 + RFC 974 + + + + + Text resources. + + RFC 1035 + RFC 1464 + + + + + Responsible Person. + + RFC 1183 + + + + + AFS Data Base location. + + RFC 1183 + RFC 5864 + + + + + An IPv6 host address. + + RFC 3596 + + + + + A resource record which specifies the location of the server(s) for a specific protocol and domain. + + RFC 2782 + + + + + The Naming Authority Pointer rfc2915 + + RFC 2915 + + + + + DS rfc4034 + + RFC 4034 + + + + RRSIG rfc3755. + + RFC 3755 + + + + NSEC rfc4034. + + RFC 4034 + + + + DNSKEY rfc4034 + + RFC 4034 + + + + NSEC3 rfc5155. + + RFC 5155 + + + + NSEC3PARAM rfc5155. + + RFC 5155 + + + + TLSA rfc6698 + + RFC 6698 + + + + SPF records don't officially have a dedicated RR type, should be used instead. + The behavior of TXT and SPF are the same. + + + This library will return a TXT record but will set the header type to SPF if such a record is returned. + + RFC 7208 + + + + DNS zone transfer request. + This can be used only if is set to true as AXFR is only supported via TCP. + + The DNS Server might only return results for the request if the client connection/IP is allowed to do so. + + + + + + Generic any query *. + + + + + A Uniform Resource Identifier (URI) resource record. + + RFC 7553 + + + + + A certification authority authorization. + + RFC 6844 + + + + + A SSH Fingerprint resource record. + + RFC 4255 + + + + + Gets or sets the DnsClient should use. + Per default it will log to . + + + + + Helper for reading config files where each row is a key-value data pair. + The input key-values must not have any whitespace within them. + Keys are only matched if they begin a line, with no preceding whitespace. + + + + + Constructs a new RowConfigReader which reads from the given string. + The string to parse through. + + + + + Constructs a new RowConfigReader which reads from the given string. + The string to parse through. + The comparison kind to use. + + + + + Gets the next occurrence of the given key, from the current position of the reader, + or throws if no occurrence of the key exists in the remainder of the string. + + + + + Tries to get the next occurrence of the given key from the current position of the reader. + If successful, returns true and stores the result in 'value'. Otherwise, returns false. + + + + + Gets the next occurrence of the key in the string, and parses it as an Int32. + Throws if the key is not found in the remainder of the string, or if the key + cannot be successfully parsed into an Int32. + + + This is mainly provided as a helper because most Linux config/info files + store integral data. + + + + + Reads the value of the first occurrence of the given key contained in the string given. + + The key-value row configuration string. + The key to find. + The value of the row containing the first occurrence of the key. + + + + Extension methods for . + + + + + Translates a IPv4 or IPv6 into an arpa address. + Used for reverse DNS lookup to get the domain name of the given . + + The address to translate. + The arpa representation of the address. + + + + + + + Extension methods for where T is . + + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only. + + The records. + The list of . + + + + Filters the elements of an to return s only + + + The list of . + + + + Filters the elements of an to return s only + + + The list of . + + + + Filters the elements of an to return s + which have the . + + The records. + The to filter for. + The list of . + +
+
diff --git a/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..09f8681bd --- /dev/null +++ b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "H+i/Qy30Rg/K9BcW2Z6DCHPCzwMH3bCwNOjEz31shWTUDK8GeeeMnrKVusprTcRA2Y6yPST+hg2zc3whPEs14Q==", + "source": "/mnt/e/dev/git.stella-ops.org/local-nugets" +} \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/.signature.p7s b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..b0c26490a Binary files /dev/null and b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/Icon.png b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/Microsoft.Extensions.Configuration.Abstractions.nuspec b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/Microsoft.Extensions.Configuration.Abstractions.nuspec new file mode 100644 index 000000000..6ce5ce244 --- /dev/null +++ b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/Microsoft.Extensions.Configuration.Abstractions.nuspec @@ -0,0 +1,36 @@ + + + + Microsoft.Extensions.Configuration.Abstractions + 10.0.0-rc.2.25502.107 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + PACKAGE.md + https://dot.net/ + Provides abstractions of key-value pair based configuration. Interfaces defined in this package are implemented by classes in Microsoft.Extensions.Configuration and other configuration packages. + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/PACKAGE.md b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/PACKAGE.md new file mode 100644 index 000000000..e744e1b9e --- /dev/null +++ b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/PACKAGE.md @@ -0,0 +1,82 @@ +## About + + + +Provides abstractions of key-value pair based configuration. Interfaces defined in this package are implemented by classes in [Microsoft.Extensions.Configuration](https://www.nuget.org/packages/Microsoft.Extensions.Configuration/) and other configuration packages. + +## Key Features + + + +* Abstractions for string key-value pair configuration sources and sections +* Path conventions of keys establishing a heirachy of values +* Support for multiple configuration sources, aggregating and defining precdence for values +* Support for reload on change + +## How to Use + + + +The example below shows a small code sample using this library and trying out the `ConfigurationKeyName` attribute available since .NET 6: + +```cs +public class MyClass +{ + [ConfigurationKeyName("named_property")] + public string NamedProperty { get; set; } +} +``` + +Given the simple class above, we can create a dictionary to hold the configuration data and use it as the memory source to build a configuration section: + +```cs +var dic = new Dictionary +{ + {"named_property", "value for named property"}, +}; + +var config = new ConfigurationBuilder() + .AddInMemoryCollection(dic) + .Build(); + +var options = config.Get(); +Console.WriteLine(options.NamedProperty); // returns "value for named property" +``` + +## Main Types + + + +The main types provided by this library are: + +* `Microsoft.Extensions.Configuration.IConfiguration` +* `Microsoft.Extensions.Configuration.IConfigurationBuilder` +* `Microsoft.Extensions.Configuration.IConfigurationProvider` +* `Microsoft.Extensions.Configuration.IConfigurationRoot` +* `Microsoft.Extensions.Configuration.IConfigurationSection` + +## Additional Documentation + + + +* [Configuration in .NET](https://learn.microsoft.com/dotnet/core/extensions/configuration) +* [API documentation](https://learn.microsoft.com/dotnet/api/microsoft.extensions.configuration) + +## Related Packages + + +* [Microsoft.Extensions.Configuration](https://www.nuget.org/packages/Microsoft.Extensions.Configuration) +* [Microsoft.Extensions.Configuration.Binder](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Binder) +* [Microsoft.Extensions.Configuration.CommandLine](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.CommandLine) +* [Microsoft.Extensions.Configuration.EnvironmentVariables](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.EnvironmentVariables) +* [Microsoft.Extensions.Configuration.FileExtensions](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.FileExtensions) +* [Microsoft.Extensions.Configuration.Ini](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Ini) +* [Microsoft.Extensions.Configuration.Json](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Json) +* [Microsoft.Extensions.Configuration.UserSecrets](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.UserSecrets) +* [Microsoft.Extensions.Configuration.Xml](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Xml) + +## Feedback & Contributing + + + +Microsoft.Extensions.Caching.Abstractions is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). diff --git a/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets new file mode 100644 index 000000000..f8ddd54b0 --- /dev/null +++ b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets new file mode 100644 index 000000000..bbb05406f --- /dev/null +++ b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.xml b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.xml new file mode 100644 index 000000000..fb8489965 --- /dev/null +++ b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.xml @@ -0,0 +1,341 @@ + + + + Microsoft.Extensions.Configuration.Abstractions + + + + + Provides data about the current item of the configuration. + + + + + Initializes a new instance of . + + The path of the current item of the configuration. + The key of the current item of the configuration. + The value of the current item of the configuration. + The to use to get the value of the current item. + + + + Gets the path of the current item. + + + + + Gets the key of the current item. + + + + + Gets the value of the current item. + + + + + Gets the that was used to get the value of the current item. + + + + + Provides extension methods for configuration classes. + + + + + Adds a new configuration source. + + The builder to add to. + Configures the source secrets. + The . + + + + Gets the specified connection string from the specified configuration. + Shorthand for GetSection("ConnectionStrings")[name]. + + The configuration to enumerate. + The connection string key. + The connection string. + + + + Get the enumeration of key value pairs within the + + The configuration to enumerate. + An enumeration of key value pairs. + + + + Get the enumeration of key value pairs within the + + The configuration to enumerate. + to trim the current configuration's path from the front of the returned child keys. + An enumeration of key value pairs. + + + + Determines whether the section has a or has children. + + The section to enumerate. + if the section has values or children; otherwise, . + + + + Gets a configuration subsection with the specified key. + + The configuration to enumerate. + The key of the configuration section. + The . + + If no matching sub-section is found with the specified key, an exception is raised. + + There is no section with key . + + + + Specifies the key name for a configuration property. + + + + + Initializes a new instance of . + + The key name. + + + + Gets the key name for a configuration property. + + + + + Provides utility methods and constants for manipulating Configuration paths. + + + + + The delimiter ":" used to separate individual keys in a path. + + + + + Combines path segments into one path. + + The path segments to combine. + The combined path. + + + + Combines path segments into one path. + + The path segments to combine. + The combined path. + + + + Extracts the last path segment from the path. + + The path. + The last path segment of the path. + + + + Extracts the path corresponding to the parent node for a given path. + + The path. + The original path minus the last individual segment found in it. Null if the original path corresponds to a top level node. + + + + Provides extension methods for . + + + + + Generates a human-readable view of the configuration showing where each value came from. + + The debug view. + + + + Generates a human-readable view of the configuration showing where each value came from. + + The configuration root. + + The function for processing the value, for example, hiding secrets. + Parameters: + ConfigurationDebugViewContext: Context of the current configuration item. + returns: A string value is used to assign as the Value of the configuration section. + + The debug view. + + + + Represents a set of key/value application configuration properties. + + + + + Gets or sets a configuration value. + + The configuration key. + The configuration value. + + + + Gets a configuration sub-section with the specified key. + + The key of the configuration section. + The . + + This method will never return null. If no matching sub-section is found with the specified key, + an empty will be returned. + + + + + Gets the immediate descendant configuration sub-sections. + + The configuration sub-sections. + + + + Returns a that can be used to observe when this configuration is reloaded. + + An token if this provider supports change tracking; otherwise, . + + + + Represents a type used to build application configuration. + + + + + Gets a key/value collection that can be used to share data between the + and the registered s. + + + + + Gets the sources used to obtain configuration values + + + + + Adds a new configuration source. + + The configuration source to add. + The same . + + + + Builds an with keys and values from the set of sources registered in + . + + An with keys and values from the registered sources. + + + + Represents a mutable configuration object. + + + It is both an and an . + As sources are added, it updates its current view of configuration. + + + + + Provides configuration key/values for an application. + + + + + Tries to get a configuration value for the specified key. + + The key. + When this method returns, contains the value for the specified key. + if a value for the specified key was found, otherwise . + + + + Sets a configuration value for the specified key. + + The key. + The value. + + + + Attempts to get an for change tracking. + + An token if this provider supports change tracking, otherwise. + + + + Loads configuration values from the source represented by this . + + + + + Returns the immediate descendant configuration keys for a given parent path based on the data of this + and the set of keys returned by all the preceding + providers. + + The child keys returned by the preceding providers for the same parent path. + The parent path. + The child keys. + + + + Represents the root of an hierarchy. + + + + + Forces the configuration values to be reloaded from the underlying providers. + + + + + Gets the providers for this configuration. + + + + + Represents a section of application configuration values. + + + + + Gets the key this section occupies in its parent. + + + + + Gets the full path to this section within the . + + + + + Gets or sets the section value. + + + + + Represents a source of configuration key/values for an application. + + + + + Builds the for this source. + + The . + An + + + Section '{0}' not found in configuration. + + + diff --git a/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml new file mode 100644 index 000000000..6d08ab355 --- /dev/null +++ b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml @@ -0,0 +1,524 @@ + + + + Microsoft.Extensions.Configuration.Abstractions + + + + + Provides data about the current item of the configuration. + + + + + Initializes a new instance of . + + The path of the current item of the configuration. + The key of the current item of the configuration. + The value of the current item of the configuration. + The to use to get the value of the current item. + + + + Gets the path of the current item. + + + + + Gets the key of the current item. + + + + + Gets the value of the current item. + + + + + Gets the that was used to get the value of the current item. + + + + + Provides extension methods for configuration classes. + + + + + Adds a new configuration source. + + The builder to add to. + Configures the source secrets. + The . + + + + Gets the specified connection string from the specified configuration. + Shorthand for GetSection("ConnectionStrings")[name]. + + The configuration to enumerate. + The connection string key. + The connection string. + + + + Get the enumeration of key value pairs within the + + The configuration to enumerate. + An enumeration of key value pairs. + + + + Get the enumeration of key value pairs within the + + The configuration to enumerate. + to trim the current configuration's path from the front of the returned child keys. + An enumeration of key value pairs. + + + + Determines whether the section has a or has children. + + The section to enumerate. + if the section has values or children; otherwise, . + + + + Gets a configuration subsection with the specified key. + + The configuration to enumerate. + The key of the configuration section. + The . + + If no matching sub-section is found with the specified key, an exception is raised. + + There is no section with key . + + + + Specifies the key name for a configuration property. + + + + + Initializes a new instance of . + + The key name. + + + + Gets the key name for a configuration property. + + + + + Provides utility methods and constants for manipulating Configuration paths. + + + + + The delimiter ":" used to separate individual keys in a path. + + + + + Combines path segments into one path. + + The path segments to combine. + The combined path. + + + + Combines path segments into one path. + + The path segments to combine. + The combined path. + + + + Extracts the last path segment from the path. + + The path. + The last path segment of the path. + + + + Extracts the path corresponding to the parent node for a given path. + + The path. + The original path minus the last individual segment found in it. Null if the original path corresponds to a top level node. + + + + Provides extension methods for . + + + + + Generates a human-readable view of the configuration showing where each value came from. + + The debug view. + + + + Generates a human-readable view of the configuration showing where each value came from. + + The configuration root. + + The function for processing the value, for example, hiding secrets. + Parameters: + ConfigurationDebugViewContext: Context of the current configuration item. + returns: A string value is used to assign as the Value of the configuration section. + + The debug view. + + + + Represents a set of key/value application configuration properties. + + + + + Gets or sets a configuration value. + + The configuration key. + The configuration value. + + + + Gets a configuration sub-section with the specified key. + + The key of the configuration section. + The . + + This method will never return null. If no matching sub-section is found with the specified key, + an empty will be returned. + + + + + Gets the immediate descendant configuration sub-sections. + + The configuration sub-sections. + + + + Returns a that can be used to observe when this configuration is reloaded. + + An token if this provider supports change tracking; otherwise, . + + + + Represents a type used to build application configuration. + + + + + Gets a key/value collection that can be used to share data between the + and the registered s. + + + + + Gets the sources used to obtain configuration values + + + + + Adds a new configuration source. + + The configuration source to add. + The same . + + + + Builds an with keys and values from the set of sources registered in + . + + An with keys and values from the registered sources. + + + + Represents a mutable configuration object. + + + It is both an and an . + As sources are added, it updates its current view of configuration. + + + + + Provides configuration key/values for an application. + + + + + Tries to get a configuration value for the specified key. + + The key. + When this method returns, contains the value for the specified key. + if a value for the specified key was found, otherwise . + + + + Sets a configuration value for the specified key. + + The key. + The value. + + + + Attempts to get an for change tracking. + + An token if this provider supports change tracking, otherwise. + + + + Loads configuration values from the source represented by this . + + + + + Returns the immediate descendant configuration keys for a given parent path based on the data of this + and the set of keys returned by all the preceding + providers. + + The child keys returned by the preceding providers for the same parent path. + The parent path. + The child keys. + + + + Represents the root of an hierarchy. + + + + + Forces the configuration values to be reloaded from the underlying providers. + + + + + Gets the providers for this configuration. + + + + + Represents a section of application configuration values. + + + + + Gets the key this section occupies in its parent. + + + + + Gets the full path to this section within the . + + + + + Gets or sets the section value. + + + + + Represents a source of configuration key/values for an application. + + + + + Builds the for this source. + + The . + An + + + Section '{0}' not found in configuration. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.xml b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.xml new file mode 100644 index 000000000..fb8489965 --- /dev/null +++ b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.xml @@ -0,0 +1,341 @@ + + + + Microsoft.Extensions.Configuration.Abstractions + + + + + Provides data about the current item of the configuration. + + + + + Initializes a new instance of . + + The path of the current item of the configuration. + The key of the current item of the configuration. + The value of the current item of the configuration. + The to use to get the value of the current item. + + + + Gets the path of the current item. + + + + + Gets the key of the current item. + + + + + Gets the value of the current item. + + + + + Gets the that was used to get the value of the current item. + + + + + Provides extension methods for configuration classes. + + + + + Adds a new configuration source. + + The builder to add to. + Configures the source secrets. + The . + + + + Gets the specified connection string from the specified configuration. + Shorthand for GetSection("ConnectionStrings")[name]. + + The configuration to enumerate. + The connection string key. + The connection string. + + + + Get the enumeration of key value pairs within the + + The configuration to enumerate. + An enumeration of key value pairs. + + + + Get the enumeration of key value pairs within the + + The configuration to enumerate. + to trim the current configuration's path from the front of the returned child keys. + An enumeration of key value pairs. + + + + Determines whether the section has a or has children. + + The section to enumerate. + if the section has values or children; otherwise, . + + + + Gets a configuration subsection with the specified key. + + The configuration to enumerate. + The key of the configuration section. + The . + + If no matching sub-section is found with the specified key, an exception is raised. + + There is no section with key . + + + + Specifies the key name for a configuration property. + + + + + Initializes a new instance of . + + The key name. + + + + Gets the key name for a configuration property. + + + + + Provides utility methods and constants for manipulating Configuration paths. + + + + + The delimiter ":" used to separate individual keys in a path. + + + + + Combines path segments into one path. + + The path segments to combine. + The combined path. + + + + Combines path segments into one path. + + The path segments to combine. + The combined path. + + + + Extracts the last path segment from the path. + + The path. + The last path segment of the path. + + + + Extracts the path corresponding to the parent node for a given path. + + The path. + The original path minus the last individual segment found in it. Null if the original path corresponds to a top level node. + + + + Provides extension methods for . + + + + + Generates a human-readable view of the configuration showing where each value came from. + + The debug view. + + + + Generates a human-readable view of the configuration showing where each value came from. + + The configuration root. + + The function for processing the value, for example, hiding secrets. + Parameters: + ConfigurationDebugViewContext: Context of the current configuration item. + returns: A string value is used to assign as the Value of the configuration section. + + The debug view. + + + + Represents a set of key/value application configuration properties. + + + + + Gets or sets a configuration value. + + The configuration key. + The configuration value. + + + + Gets a configuration sub-section with the specified key. + + The key of the configuration section. + The . + + This method will never return null. If no matching sub-section is found with the specified key, + an empty will be returned. + + + + + Gets the immediate descendant configuration sub-sections. + + The configuration sub-sections. + + + + Returns a that can be used to observe when this configuration is reloaded. + + An token if this provider supports change tracking; otherwise, . + + + + Represents a type used to build application configuration. + + + + + Gets a key/value collection that can be used to share data between the + and the registered s. + + + + + Gets the sources used to obtain configuration values + + + + + Adds a new configuration source. + + The configuration source to add. + The same . + + + + Builds an with keys and values from the set of sources registered in + . + + An with keys and values from the registered sources. + + + + Represents a mutable configuration object. + + + It is both an and an . + As sources are added, it updates its current view of configuration. + + + + + Provides configuration key/values for an application. + + + + + Tries to get a configuration value for the specified key. + + The key. + When this method returns, contains the value for the specified key. + if a value for the specified key was found, otherwise . + + + + Sets a configuration value for the specified key. + + The key. + The value. + + + + Attempts to get an for change tracking. + + An token if this provider supports change tracking, otherwise. + + + + Loads configuration values from the source represented by this . + + + + + Returns the immediate descendant configuration keys for a given parent path based on the data of this + and the set of keys returned by all the preceding + providers. + + The child keys returned by the preceding providers for the same parent path. + The parent path. + The child keys. + + + + Represents the root of an hierarchy. + + + + + Forces the configuration values to be reloaded from the underlying providers. + + + + + Gets the providers for this configuration. + + + + + Represents a section of application configuration values. + + + + + Gets the key this section occupies in its parent. + + + + + Gets the full path to this section within the . + + + + + Gets or sets the section value. + + + + + Represents a source of configuration key/values for an application. + + + + + Builds the for this source. + + The . + An + + + Section '{0}' not found in configuration. + + + diff --git a/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.xml b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.xml new file mode 100644 index 000000000..fb8489965 --- /dev/null +++ b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.xml @@ -0,0 +1,341 @@ + + + + Microsoft.Extensions.Configuration.Abstractions + + + + + Provides data about the current item of the configuration. + + + + + Initializes a new instance of . + + The path of the current item of the configuration. + The key of the current item of the configuration. + The value of the current item of the configuration. + The to use to get the value of the current item. + + + + Gets the path of the current item. + + + + + Gets the key of the current item. + + + + + Gets the value of the current item. + + + + + Gets the that was used to get the value of the current item. + + + + + Provides extension methods for configuration classes. + + + + + Adds a new configuration source. + + The builder to add to. + Configures the source secrets. + The . + + + + Gets the specified connection string from the specified configuration. + Shorthand for GetSection("ConnectionStrings")[name]. + + The configuration to enumerate. + The connection string key. + The connection string. + + + + Get the enumeration of key value pairs within the + + The configuration to enumerate. + An enumeration of key value pairs. + + + + Get the enumeration of key value pairs within the + + The configuration to enumerate. + to trim the current configuration's path from the front of the returned child keys. + An enumeration of key value pairs. + + + + Determines whether the section has a or has children. + + The section to enumerate. + if the section has values or children; otherwise, . + + + + Gets a configuration subsection with the specified key. + + The configuration to enumerate. + The key of the configuration section. + The . + + If no matching sub-section is found with the specified key, an exception is raised. + + There is no section with key . + + + + Specifies the key name for a configuration property. + + + + + Initializes a new instance of . + + The key name. + + + + Gets the key name for a configuration property. + + + + + Provides utility methods and constants for manipulating Configuration paths. + + + + + The delimiter ":" used to separate individual keys in a path. + + + + + Combines path segments into one path. + + The path segments to combine. + The combined path. + + + + Combines path segments into one path. + + The path segments to combine. + The combined path. + + + + Extracts the last path segment from the path. + + The path. + The last path segment of the path. + + + + Extracts the path corresponding to the parent node for a given path. + + The path. + The original path minus the last individual segment found in it. Null if the original path corresponds to a top level node. + + + + Provides extension methods for . + + + + + Generates a human-readable view of the configuration showing where each value came from. + + The debug view. + + + + Generates a human-readable view of the configuration showing where each value came from. + + The configuration root. + + The function for processing the value, for example, hiding secrets. + Parameters: + ConfigurationDebugViewContext: Context of the current configuration item. + returns: A string value is used to assign as the Value of the configuration section. + + The debug view. + + + + Represents a set of key/value application configuration properties. + + + + + Gets or sets a configuration value. + + The configuration key. + The configuration value. + + + + Gets a configuration sub-section with the specified key. + + The key of the configuration section. + The . + + This method will never return null. If no matching sub-section is found with the specified key, + an empty will be returned. + + + + + Gets the immediate descendant configuration sub-sections. + + The configuration sub-sections. + + + + Returns a that can be used to observe when this configuration is reloaded. + + An token if this provider supports change tracking; otherwise, . + + + + Represents a type used to build application configuration. + + + + + Gets a key/value collection that can be used to share data between the + and the registered s. + + + + + Gets the sources used to obtain configuration values + + + + + Adds a new configuration source. + + The configuration source to add. + The same . + + + + Builds an with keys and values from the set of sources registered in + . + + An with keys and values from the registered sources. + + + + Represents a mutable configuration object. + + + It is both an and an . + As sources are added, it updates its current view of configuration. + + + + + Provides configuration key/values for an application. + + + + + Tries to get a configuration value for the specified key. + + The key. + When this method returns, contains the value for the specified key. + if a value for the specified key was found, otherwise . + + + + Sets a configuration value for the specified key. + + The key. + The value. + + + + Attempts to get an for change tracking. + + An token if this provider supports change tracking, otherwise. + + + + Loads configuration values from the source represented by this . + + + + + Returns the immediate descendant configuration keys for a given parent path based on the data of this + and the set of keys returned by all the preceding + providers. + + The child keys returned by the preceding providers for the same parent path. + The parent path. + The child keys. + + + + Represents the root of an hierarchy. + + + + + Forces the configuration values to be reloaded from the underlying providers. + + + + + Gets the providers for this configuration. + + + + + Represents a section of application configuration values. + + + + + Gets the key this section occupies in its parent. + + + + + Gets the full path to this section within the . + + + + + Gets or sets the section value. + + + + + Represents a source of configuration key/values for an application. + + + + + Builds the for this source. + + The . + An + + + Section '{0}' not found in configuration. + + + diff --git a/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml new file mode 100644 index 000000000..6d08ab355 --- /dev/null +++ b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml @@ -0,0 +1,524 @@ + + + + Microsoft.Extensions.Configuration.Abstractions + + + + + Provides data about the current item of the configuration. + + + + + Initializes a new instance of . + + The path of the current item of the configuration. + The key of the current item of the configuration. + The value of the current item of the configuration. + The to use to get the value of the current item. + + + + Gets the path of the current item. + + + + + Gets the key of the current item. + + + + + Gets the value of the current item. + + + + + Gets the that was used to get the value of the current item. + + + + + Provides extension methods for configuration classes. + + + + + Adds a new configuration source. + + The builder to add to. + Configures the source secrets. + The . + + + + Gets the specified connection string from the specified configuration. + Shorthand for GetSection("ConnectionStrings")[name]. + + The configuration to enumerate. + The connection string key. + The connection string. + + + + Get the enumeration of key value pairs within the + + The configuration to enumerate. + An enumeration of key value pairs. + + + + Get the enumeration of key value pairs within the + + The configuration to enumerate. + to trim the current configuration's path from the front of the returned child keys. + An enumeration of key value pairs. + + + + Determines whether the section has a or has children. + + The section to enumerate. + if the section has values or children; otherwise, . + + + + Gets a configuration subsection with the specified key. + + The configuration to enumerate. + The key of the configuration section. + The . + + If no matching sub-section is found with the specified key, an exception is raised. + + There is no section with key . + + + + Specifies the key name for a configuration property. + + + + + Initializes a new instance of . + + The key name. + + + + Gets the key name for a configuration property. + + + + + Provides utility methods and constants for manipulating Configuration paths. + + + + + The delimiter ":" used to separate individual keys in a path. + + + + + Combines path segments into one path. + + The path segments to combine. + The combined path. + + + + Combines path segments into one path. + + The path segments to combine. + The combined path. + + + + Extracts the last path segment from the path. + + The path. + The last path segment of the path. + + + + Extracts the path corresponding to the parent node for a given path. + + The path. + The original path minus the last individual segment found in it. Null if the original path corresponds to a top level node. + + + + Provides extension methods for . + + + + + Generates a human-readable view of the configuration showing where each value came from. + + The debug view. + + + + Generates a human-readable view of the configuration showing where each value came from. + + The configuration root. + + The function for processing the value, for example, hiding secrets. + Parameters: + ConfigurationDebugViewContext: Context of the current configuration item. + returns: A string value is used to assign as the Value of the configuration section. + + The debug view. + + + + Represents a set of key/value application configuration properties. + + + + + Gets or sets a configuration value. + + The configuration key. + The configuration value. + + + + Gets a configuration sub-section with the specified key. + + The key of the configuration section. + The . + + This method will never return null. If no matching sub-section is found with the specified key, + an empty will be returned. + + + + + Gets the immediate descendant configuration sub-sections. + + The configuration sub-sections. + + + + Returns a that can be used to observe when this configuration is reloaded. + + An token if this provider supports change tracking; otherwise, . + + + + Represents a type used to build application configuration. + + + + + Gets a key/value collection that can be used to share data between the + and the registered s. + + + + + Gets the sources used to obtain configuration values + + + + + Adds a new configuration source. + + The configuration source to add. + The same . + + + + Builds an with keys and values from the set of sources registered in + . + + An with keys and values from the registered sources. + + + + Represents a mutable configuration object. + + + It is both an and an . + As sources are added, it updates its current view of configuration. + + + + + Provides configuration key/values for an application. + + + + + Tries to get a configuration value for the specified key. + + The key. + When this method returns, contains the value for the specified key. + if a value for the specified key was found, otherwise . + + + + Sets a configuration value for the specified key. + + The key. + The value. + + + + Attempts to get an for change tracking. + + An token if this provider supports change tracking, otherwise. + + + + Loads configuration values from the source represented by this . + + + + + Returns the immediate descendant configuration keys for a given parent path based on the data of this + and the set of keys returned by all the preceding + providers. + + The child keys returned by the preceding providers for the same parent path. + The parent path. + The child keys. + + + + Represents the root of an hierarchy. + + + + + Forces the configuration values to be reloaded from the underlying providers. + + + + + Gets the providers for this configuration. + + + + + Represents a section of application configuration values. + + + + + Gets the key this section occupies in its parent. + + + + + Gets the full path to this section within the . + + + + + Gets or sets the section value. + + + + + Represents a source of configuration key/values for an application. + + + + + Builds the for this source. + + The . + An + + + Section '{0}' not found in configuration. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.abstractions.10.0.0-rc.2.25502.107.nupkg b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.abstractions.10.0.0-rc.2.25502.107.nupkg new file mode 100644 index 000000000..54cd90072 Binary files /dev/null and b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.abstractions.10.0.0-rc.2.25502.107.nupkg differ diff --git a/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..c4511a461 --- /dev/null +++ b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +Nz1mGqZGxgHDssZE6eeXV2gqTdOtcusWYe4vQ9Q//x+i7ExciLLOe9Zf4jE/EMfNoBq4kGXNUuca0gJgi0Pe6A== \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nugets/microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..d63dda3e8 --- /dev/null +++ b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "8jujunpkNNfTkE9PFHp9/aD6GPKVfNCuz8tUbzOcyU5tQOCoIZId4hwQNVx3Tb8XEWw9BYdh0k5vPpqdCM+UtA==", + "source": "/mnt/e/dev/git.stella-ops.org/local-nugets" +} \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/.signature.p7s b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..a0d059044 Binary files /dev/null and b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/Icon.png b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/Microsoft.Extensions.DependencyInjection.Abstractions.nuspec b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/Microsoft.Extensions.DependencyInjection.Abstractions.nuspec new file mode 100644 index 000000000..a85f2da60 --- /dev/null +++ b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/Microsoft.Extensions.DependencyInjection.Abstractions.nuspec @@ -0,0 +1,35 @@ + + + + Microsoft.Extensions.DependencyInjection.Abstractions + 10.0.0-rc.2.25502.107 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + PACKAGE.md + https://dot.net/ + Abstractions for dependency injection. + +Commonly Used Types: +Microsoft.Extensions.DependencyInjection.IServiceCollection + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/PACKAGE.md b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/PACKAGE.md new file mode 100644 index 000000000..6c8a654b7 --- /dev/null +++ b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/PACKAGE.md @@ -0,0 +1,34 @@ +## About +Supports the lower-level abstractions for the dependency injection (DI) software design pattern which is a technique for achieving Inversion of Control (IoC) between classes and their dependencies. + +## Key Features +- Interfaces for DI implementations which are provided in other packages including `Microsoft.Extensions.DependencyInjection`. +- An implementation of a service collection, which is used to add services to and later retrieve them either directly or through constructor injection. +- Interfaces, attributes and extensions methods to support various DI concepts including specifying a service's lifetime and supporting keyed services. + +## How to Use +This package is typically used with an implementation of the DI abstractions, such as `Microsoft.Extensions.DependencyInjection`. + +## Main Types +The main types provided by this library are: +* `Microsoft.Extensions.DependencyInjection.ActivatorUtilities` +* `Microsoft.Extensions.DependencyInjection.IServiceCollection` +* `Microsoft.Extensions.DependencyInjection.ServiceCollection` +* `Microsoft.Extensions.DependencyInjection.ServiceCollectionDescriptorExtensions` +* `Microsoft.Extensions.DependencyInjection.ServiceDescriptor` +* `Microsoft.Extensions.DependencyInjection.IServiceProviderFactory` + +## Additional Documentation +* [Conceptual documentation](https://learn.microsoft.com/dotnet/core/extensions/dependency-injection) +* API documentation + - [ActivatorUtilities](https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.defaultserviceproviderfactory) + - [ServiceCollection](https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.servicecollection) + - [ServiceDescriptor](https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.servicedescriptor) + +## Related Packages +- `Microsoft.Extensions.DependencyInjection` +- `Microsoft.Extensions.Hosting` +- `Microsoft.Extensions.Options` + +## Feedback & Contributing +Microsoft.Extensions.DependencyInjection.Abstractions is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). diff --git a/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets new file mode 100644 index 000000000..4c9d0a036 --- /dev/null +++ b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets new file mode 100644 index 000000000..78754a0df --- /dev/null +++ b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml new file mode 100644 index 000000000..9f1445fa0 --- /dev/null +++ b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml @@ -0,0 +1,2169 @@ + + + + Microsoft.Extensions.DependencyInjection.Abstractions + + + + + Helper code for the various activator services. + + + + + Instantiates a type with constructor arguments provided directly and/or from an . + + The service provider used to resolve dependencies. + The type to activate. + Constructor arguments not provided by the . + An activated object of type instanceType. + + + + Creates a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate. + + The types of objects, in order, that will be passed to the returned function as its second parameter. + + + A factory that will instantiate instanceType using an + and an argument array containing objects matching the types defined in argumentTypes. + + + + + Creates a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate. + + The types of objects, in order, that will be passed to the returned function as its second parameter. + + + A factory that will instantiate type using an + and an argument array containing objects matching the types defined in . + + + + + Instantiates a type with constructor arguments provided directly and/or from an . + + The type to activate. + The service provider used to resolve dependencies. + Constructor arguments not provided by . + An activated object of type . + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The type of the service. + The service provider used to resolve dependencies. + The resolved service or created instance. + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The service provider. + The type of the service. + The resolved service or created instance. + + + + For consistency with the expression-based factory, throw NullReferenceException. + + + + + Marks the constructor to be used when activating type using . + + + + + An implementation that implements . + + + + + Initializes a new instance of the struct. + Wraps an instance of . + + The instance to wrap. + + + + + + + + + + + + + Extension methods for adding and removing services to an . + + + + + Adds the specified to the . + + The . + The to add. + A reference to the current instance of . + + + + Adds a sequence of to the . + + The . + The s to add. + A reference to the current instance of . + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The to add. + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The s to add. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds a if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The . + + Use when registering a service implementation of a + service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Adds the specified s if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The s. + + Use when registering a service + implementation of a service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Removes the first service in with the same service type + as and adds to the collection. + + The . + The to replace with. + The for chaining. + + + + Removes all services of type in . + + The . + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The for chaining. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + The service key. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Removes all services of type in . + + The . + The service key. + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The service key. + The for chaining. + + + + Indicates that the parameter should be bound using the keyed service registered with the specified key. + + + + + + + Creates a new instance. + + The key of the keyed service to bind to. + + + + Creates a new instance with set to . + + + + + The key of the keyed service to bind to. + + A value with indicates there is not a key and just the parameter type is used to resolve the service. + This is useful for DI implementations that require an explict way to declare that the parameter should be resolved for unkeyed services. + A value is also used along with set to to indicate that the key should be inherited from the parent scope. + + + + + Gets the mode used to look up the service key. + + + + + Retrieves services using a key and a type. + + + + + Gets the service object of the specified type. + + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type . + -or- + if there is no service object of type . + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + The of the service. + A service object of type . + Throws an exception if the cannot create the object. + + + + Provides static APIs for use with . + + + + + Gets a key that matches any key. + + + + + Specifies the contract for a collection of service descriptors. + + + + + Provides an extension point for creating a container specific builder and an . + + + + + Creates a container builder from an . + + The collection of services. + A container builder that can be used to create an . + + + + Creates an from the container builder. + + The container builder. + An instance. + + + + Provides methods to determine if the specified type with the specified service key is available + from the . + + + + + Determines if the specified service type with the specified service key is available from the + . + + An object that specifies the type of service object to test. + The of the service. + true if the specified service is a available, false if it is not. + + + + Provides methods to determine if the specified type is available from the . + + + + + Determines if the specified service type is available from the . + + An object that specifies the type of service object to test. + true if the specified service is a available, false if it is not. + + + + Defines a disposable service scope. + + + The method ends the scope lifetime. Once Dispose + is called, any scoped services that have been resolved from + will be + disposed. + + + + + Gets the used to resolve dependencies from the scope. + + + + + Creates instances of , which is used to create + services within a scope. + + + + + Create an that + contains an used to resolve dependencies from a + newly created scope. + + + An controlling the + lifetime of the scope. Once this is disposed, any scoped services that have been resolved + from the + will also be disposed. + + + + + Optional contract used by + to resolve services if supported by . + + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + A service object of type . + Throws an exception if the cannot create the object. + + + + The result of . + + The to get service arguments from. + Additional constructor arguments. + The instantiated type. + + + + Returns the result of , which is a delegate that specifies a factory method to call to instantiate an instance of type . + + The type of the instance that's returned. + The to get service arguments from. + Additional constructor arguments. + An instance of type . + + + + Default implementation of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Makes this collection read-only. + + + After the collection is marked as read-only, any further attempt to modify it throws an . + + + + + Extension methods for adding services to an . + + + Extension methods for adding services to an . + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Describes a service with its service type, implementation, and lifetime. + + + + + Initializes a new instance of with the specified . + + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified . + + The of the service. + A factory used for creating service instances. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + A factory used for creating service instances. + The of the service. + + + + Gets the of the service. + + + + + Get the key of the service, if applicable. + + + + + Gets the of the service. + + + + + Gets the that implements the service, + or returns if is . + + + If is , should be called instead. + + + + + Gets the that implements the service, + or throws if is . + + + If is , should be called instead. + + + + + Gets the instance that implements the service, + or returns if is . + + + If is , should be called instead. + + + + + Gets the instance that implements the service, + or throws if is . + + + If is , should be called instead. + + + + + Gets the factory used for creating service instance, + or returns if is . + + + If is , should be called instead. + + + + + Gets the factory used for creating Keyed service instances, + or throws if is . + + + If is , should be called instead. + + + + + Indicates whether the service is a keyed service. + + + + + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + Specifies the parameter to inject the key that was used for registration or resolution. + + + + + + Specifies how to look up the service key for a parameter. + + + + + The key is inherited from the parent service. + + + + + A key indicates that the parameter should be resolved from unkeyed services. + This is useful for DI implementations that require an explicit way to declare that the parameter should be resolved from unkeyed services. + + + + + The key is explicitly specified. + + + + + Specifies the lifetime of a service in an . + + + + + Specifies that a single instance of the service will be created. + + + + + Specifies that a new instance of the service will be created for each scope. + + + In ASP.NET Core applications a scope is created around each server request. + + + + + Specifies that a new instance of the service will be created every time it is requested. + + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An enumeration of services of type . + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + A that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor. + + + No service for type '{0}' has been registered. + + + The service collection cannot be modified because it is read-only. + + + Implementation type cannot be '{0}' because it is indistinguishable from other services registered for '{1}'. + + + Multiple constructors were marked with {0}. + + + Constructor marked with {0} does not accept all given argument types. + + + Instances of abstract classes cannot be created. + + + Multiple constructors for type '{0}' were found with length {1}. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and all parameters of a public constructor are either registered as services or passed as arguments. Also ensure no extraneous arguments are provided. + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + This service provider doesn't support keyed services. + + + This service descriptor is not keyed. + + + diff --git a/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml new file mode 100644 index 000000000..60f4d5b88 --- /dev/null +++ b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml @@ -0,0 +1,2666 @@ + + + + Microsoft.Extensions.DependencyInjection.Abstractions + + + + + Helper code for the various activator services. + + + + + Instantiates a type with constructor arguments provided directly and/or from an . + + The service provider used to resolve dependencies. + The type to activate. + Constructor arguments not provided by the . + An activated object of type instanceType. + + + + Creates a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate. + + The types of objects, in order, that will be passed to the returned function as its second parameter. + + + A factory that will instantiate instanceType using an + and an argument array containing objects matching the types defined in argumentTypes. + + + + + Creates a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate. + + The types of objects, in order, that will be passed to the returned function as its second parameter. + + + A factory that will instantiate type using an + and an argument array containing objects matching the types defined in . + + + + + Instantiates a type with constructor arguments provided directly and/or from an . + + The type to activate. + The service provider used to resolve dependencies. + Constructor arguments not provided by . + An activated object of type . + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The type of the service. + The service provider used to resolve dependencies. + The resolved service or created instance. + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The service provider. + The type of the service. + The resolved service or created instance. + + + + Marks the constructor to be used when activating type using . + + + + + An implementation that implements . + + + + + Initializes a new instance of the struct. + Wraps an instance of . + + The instance to wrap. + + + + + + + + + + + + + Extension methods for adding and removing services to an . + + + + + Adds the specified to the . + + The . + The to add. + A reference to the current instance of . + + + + Adds a sequence of to the . + + The . + The s to add. + A reference to the current instance of . + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The to add. + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The s to add. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds a if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The . + + Use when registering a service implementation of a + service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Adds the specified s if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The s. + + Use when registering a service + implementation of a service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Removes the first service in with the same service type + as and adds to the collection. + + The . + The to replace with. + The for chaining. + + + + Removes all services of type in . + + The . + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The for chaining. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + The service key. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Removes all services of type in . + + The . + The service key. + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The service key. + The for chaining. + + + + Indicates that the parameter should be bound using the keyed service registered with the specified key. + + + + + + + Creates a new instance. + + The key of the keyed service to bind to. + + + + Creates a new instance with set to . + + + + + The key of the keyed service to bind to. + + A value with indicates there is not a key and just the parameter type is used to resolve the service. + This is useful for DI implementations that require an explict way to declare that the parameter should be resolved for unkeyed services. + A value is also used along with set to to indicate that the key should be inherited from the parent scope. + + + + + Gets the mode used to look up the service key. + + + + + Retrieves services using a key and a type. + + + + + Gets the service object of the specified type. + + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type . + -or- + if there is no service object of type . + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + The of the service. + A service object of type . + Throws an exception if the cannot create the object. + + + + Provides static APIs for use with . + + + + + Gets a key that matches any key. + + + + + Specifies the contract for a collection of service descriptors. + + + + + Provides an extension point for creating a container specific builder and an . + + + + + Creates a container builder from an . + + The collection of services. + A container builder that can be used to create an . + + + + Creates an from the container builder. + + The container builder. + An instance. + + + + Provides methods to determine if the specified type with the specified service key is available + from the . + + + + + Determines if the specified service type with the specified service key is available from the + . + + An object that specifies the type of service object to test. + The of the service. + true if the specified service is a available, false if it is not. + + + + Provides methods to determine if the specified type is available from the . + + + + + Determines if the specified service type is available from the . + + An object that specifies the type of service object to test. + true if the specified service is a available, false if it is not. + + + + Defines a disposable service scope. + + + The method ends the scope lifetime. Once Dispose + is called, any scoped services that have been resolved from + will be + disposed. + + + + + Gets the used to resolve dependencies from the scope. + + + + + Creates instances of , which is used to create + services within a scope. + + + + + Create an that + contains an used to resolve dependencies from a + newly created scope. + + + An controlling the + lifetime of the scope. Once this is disposed, any scoped services that have been resolved + from the + will also be disposed. + + + + + Optional contract used by + to resolve services if supported by . + + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + A service object of type . + Throws an exception if the cannot create the object. + + + + The result of . + + The to get service arguments from. + Additional constructor arguments. + The instantiated type. + + + + Returns the result of , which is a delegate that specifies a factory method to call to instantiate an instance of type . + + The type of the instance that's returned. + The to get service arguments from. + Additional constructor arguments. + An instance of type . + + + + Default implementation of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Makes this collection read-only. + + + After the collection is marked as read-only, any further attempt to modify it throws an . + + + + + Extension methods for adding services to an . + + + Extension methods for adding services to an . + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Describes a service with its service type, implementation, and lifetime. + + + + + Initializes a new instance of with the specified . + + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified . + + The of the service. + A factory used for creating service instances. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + A factory used for creating service instances. + The of the service. + + + + Gets the of the service. + + + + + Get the key of the service, if applicable. + + + + + Gets the of the service. + + + + + Gets the that implements the service, + or returns if is . + + + If is , should be called instead. + + + + + Gets the that implements the service, + or throws if is . + + + If is , should be called instead. + + + + + Gets the instance that implements the service, + or returns if is . + + + If is , should be called instead. + + + + + Gets the instance that implements the service, + or throws if is . + + + If is , should be called instead. + + + + + Gets the factory used for creating service instance, + or returns if is . + + + If is , should be called instead. + + + + + Gets the factory used for creating Keyed service instances, + or throws if is . + + + If is , should be called instead. + + + + + Indicates whether the service is a keyed service. + + + + + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + Specifies the parameter to inject the key that was used for registration or resolution. + + + + + + Specifies how to look up the service key for a parameter. + + + + + The key is inherited from the parent service. + + + + + A key indicates that the parameter should be resolved from unkeyed services. + This is useful for DI implementations that require an explicit way to declare that the parameter should be resolved from unkeyed services. + + + + + The key is explicitly specified. + + + + + Specifies the lifetime of a service in an . + + + + + Specifies that a single instance of the service will be created. + + + + + Specifies that a new instance of the service will be created for each scope. + + + In ASP.NET Core applications a scope is created around each server request. + + + + + Specifies that a new instance of the service will be created every time it is requested. + + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An enumeration of services of type . + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + A that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all non-public constructors, including those inherited from base classes. + + + + + Specifies all non-public methods, including those inherited from base classes. + + + + + Specifies all non-public fields, including those inherited from base classes. + + + + + Specifies all non-public nested types, including those inherited from base classes. + + + + + Specifies all non-public properties, including those inherited from base classes. + + + + + Specifies all non-public events, including those inherited from base classes. + + + + + Specifies all public constructors, including those inherited from base classes. + + + + + Specifies all public nested types, including those inherited from base classes. + + + + + Specifies all constructors, including those inherited from base classes. + + + + + Specifies all methods, including those inherited from base classes. + + + + + Specifies all fields, including those inherited from base classes. + + + + + Specifies all nested types, including those inherited from base classes. + + + + + Specifies all properties, including those inherited from base classes. + + + + + Specifies all events, including those inherited from base classes. + + + + + Specifies all members. + + + + + Indicates that the specified method requires the ability to generate new code at runtime, + for example through . + + + This allows tools to understand which methods are unsafe to call when compiling ahead of time. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of dynamic code. + + + + + When set to true, indicates that the annotation should not apply to static members. + + + + + Gets a message that contains information about the usage of dynamic code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires dynamic code, and what options a consumer has to deal with it. + + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + + When applied to an attribute class, instructs the compiler to flow applications of that attribute, + from source code down to compiler-generated symbols. This can help IL-based analysis tools. + + + One example where this attribute applies is in C# primary constructor parameters. If an attribute + marked with gets applied to a primary constructor + parameter, the attribute will also be applied to any compiler-generated fields storing that parameter. + + + + + Initializes a new instance of the class. + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor. + + + No service for type '{0}' has been registered. + + + The service collection cannot be modified because it is read-only. + + + Implementation type cannot be '{0}' because it is indistinguishable from other services registered for '{1}'. + + + Multiple constructors were marked with {0}. + + + Constructor marked with {0} does not accept all given argument types. + + + Instances of abstract classes cannot be created. + + + Multiple constructors for type '{0}' were found with length {1}. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and all parameters of a public constructor are either registered as services or passed as arguments. Also ensure no extraneous arguments are provided. + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + This service provider doesn't support keyed services. + + + This service descriptor is not keyed. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml new file mode 100644 index 000000000..9f1445fa0 --- /dev/null +++ b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml @@ -0,0 +1,2169 @@ + + + + Microsoft.Extensions.DependencyInjection.Abstractions + + + + + Helper code for the various activator services. + + + + + Instantiates a type with constructor arguments provided directly and/or from an . + + The service provider used to resolve dependencies. + The type to activate. + Constructor arguments not provided by the . + An activated object of type instanceType. + + + + Creates a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate. + + The types of objects, in order, that will be passed to the returned function as its second parameter. + + + A factory that will instantiate instanceType using an + and an argument array containing objects matching the types defined in argumentTypes. + + + + + Creates a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate. + + The types of objects, in order, that will be passed to the returned function as its second parameter. + + + A factory that will instantiate type using an + and an argument array containing objects matching the types defined in . + + + + + Instantiates a type with constructor arguments provided directly and/or from an . + + The type to activate. + The service provider used to resolve dependencies. + Constructor arguments not provided by . + An activated object of type . + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The type of the service. + The service provider used to resolve dependencies. + The resolved service or created instance. + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The service provider. + The type of the service. + The resolved service or created instance. + + + + For consistency with the expression-based factory, throw NullReferenceException. + + + + + Marks the constructor to be used when activating type using . + + + + + An implementation that implements . + + + + + Initializes a new instance of the struct. + Wraps an instance of . + + The instance to wrap. + + + + + + + + + + + + + Extension methods for adding and removing services to an . + + + + + Adds the specified to the . + + The . + The to add. + A reference to the current instance of . + + + + Adds a sequence of to the . + + The . + The s to add. + A reference to the current instance of . + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The to add. + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The s to add. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds a if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The . + + Use when registering a service implementation of a + service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Adds the specified s if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The s. + + Use when registering a service + implementation of a service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Removes the first service in with the same service type + as and adds to the collection. + + The . + The to replace with. + The for chaining. + + + + Removes all services of type in . + + The . + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The for chaining. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + The service key. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Removes all services of type in . + + The . + The service key. + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The service key. + The for chaining. + + + + Indicates that the parameter should be bound using the keyed service registered with the specified key. + + + + + + + Creates a new instance. + + The key of the keyed service to bind to. + + + + Creates a new instance with set to . + + + + + The key of the keyed service to bind to. + + A value with indicates there is not a key and just the parameter type is used to resolve the service. + This is useful for DI implementations that require an explict way to declare that the parameter should be resolved for unkeyed services. + A value is also used along with set to to indicate that the key should be inherited from the parent scope. + + + + + Gets the mode used to look up the service key. + + + + + Retrieves services using a key and a type. + + + + + Gets the service object of the specified type. + + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type . + -or- + if there is no service object of type . + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + The of the service. + A service object of type . + Throws an exception if the cannot create the object. + + + + Provides static APIs for use with . + + + + + Gets a key that matches any key. + + + + + Specifies the contract for a collection of service descriptors. + + + + + Provides an extension point for creating a container specific builder and an . + + + + + Creates a container builder from an . + + The collection of services. + A container builder that can be used to create an . + + + + Creates an from the container builder. + + The container builder. + An instance. + + + + Provides methods to determine if the specified type with the specified service key is available + from the . + + + + + Determines if the specified service type with the specified service key is available from the + . + + An object that specifies the type of service object to test. + The of the service. + true if the specified service is a available, false if it is not. + + + + Provides methods to determine if the specified type is available from the . + + + + + Determines if the specified service type is available from the . + + An object that specifies the type of service object to test. + true if the specified service is a available, false if it is not. + + + + Defines a disposable service scope. + + + The method ends the scope lifetime. Once Dispose + is called, any scoped services that have been resolved from + will be + disposed. + + + + + Gets the used to resolve dependencies from the scope. + + + + + Creates instances of , which is used to create + services within a scope. + + + + + Create an that + contains an used to resolve dependencies from a + newly created scope. + + + An controlling the + lifetime of the scope. Once this is disposed, any scoped services that have been resolved + from the + will also be disposed. + + + + + Optional contract used by + to resolve services if supported by . + + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + A service object of type . + Throws an exception if the cannot create the object. + + + + The result of . + + The to get service arguments from. + Additional constructor arguments. + The instantiated type. + + + + Returns the result of , which is a delegate that specifies a factory method to call to instantiate an instance of type . + + The type of the instance that's returned. + The to get service arguments from. + Additional constructor arguments. + An instance of type . + + + + Default implementation of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Makes this collection read-only. + + + After the collection is marked as read-only, any further attempt to modify it throws an . + + + + + Extension methods for adding services to an . + + + Extension methods for adding services to an . + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Describes a service with its service type, implementation, and lifetime. + + + + + Initializes a new instance of with the specified . + + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified . + + The of the service. + A factory used for creating service instances. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + A factory used for creating service instances. + The of the service. + + + + Gets the of the service. + + + + + Get the key of the service, if applicable. + + + + + Gets the of the service. + + + + + Gets the that implements the service, + or returns if is . + + + If is , should be called instead. + + + + + Gets the that implements the service, + or throws if is . + + + If is , should be called instead. + + + + + Gets the instance that implements the service, + or returns if is . + + + If is , should be called instead. + + + + + Gets the instance that implements the service, + or throws if is . + + + If is , should be called instead. + + + + + Gets the factory used for creating service instance, + or returns if is . + + + If is , should be called instead. + + + + + Gets the factory used for creating Keyed service instances, + or throws if is . + + + If is , should be called instead. + + + + + Indicates whether the service is a keyed service. + + + + + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + Specifies the parameter to inject the key that was used for registration or resolution. + + + + + + Specifies how to look up the service key for a parameter. + + + + + The key is inherited from the parent service. + + + + + A key indicates that the parameter should be resolved from unkeyed services. + This is useful for DI implementations that require an explicit way to declare that the parameter should be resolved from unkeyed services. + + + + + The key is explicitly specified. + + + + + Specifies the lifetime of a service in an . + + + + + Specifies that a single instance of the service will be created. + + + + + Specifies that a new instance of the service will be created for each scope. + + + In ASP.NET Core applications a scope is created around each server request. + + + + + Specifies that a new instance of the service will be created every time it is requested. + + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An enumeration of services of type . + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + A that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor. + + + No service for type '{0}' has been registered. + + + The service collection cannot be modified because it is read-only. + + + Implementation type cannot be '{0}' because it is indistinguishable from other services registered for '{1}'. + + + Multiple constructors were marked with {0}. + + + Constructor marked with {0} does not accept all given argument types. + + + Instances of abstract classes cannot be created. + + + Multiple constructors for type '{0}' were found with length {1}. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and all parameters of a public constructor are either registered as services or passed as arguments. Also ensure no extraneous arguments are provided. + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + This service provider doesn't support keyed services. + + + This service descriptor is not keyed. + + + diff --git a/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml new file mode 100644 index 000000000..9f1445fa0 --- /dev/null +++ b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml @@ -0,0 +1,2169 @@ + + + + Microsoft.Extensions.DependencyInjection.Abstractions + + + + + Helper code for the various activator services. + + + + + Instantiates a type with constructor arguments provided directly and/or from an . + + The service provider used to resolve dependencies. + The type to activate. + Constructor arguments not provided by the . + An activated object of type instanceType. + + + + Creates a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate. + + The types of objects, in order, that will be passed to the returned function as its second parameter. + + + A factory that will instantiate instanceType using an + and an argument array containing objects matching the types defined in argumentTypes. + + + + + Creates a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate. + + The types of objects, in order, that will be passed to the returned function as its second parameter. + + + A factory that will instantiate type using an + and an argument array containing objects matching the types defined in . + + + + + Instantiates a type with constructor arguments provided directly and/or from an . + + The type to activate. + The service provider used to resolve dependencies. + Constructor arguments not provided by . + An activated object of type . + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The type of the service. + The service provider used to resolve dependencies. + The resolved service or created instance. + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The service provider. + The type of the service. + The resolved service or created instance. + + + + For consistency with the expression-based factory, throw NullReferenceException. + + + + + Marks the constructor to be used when activating type using . + + + + + An implementation that implements . + + + + + Initializes a new instance of the struct. + Wraps an instance of . + + The instance to wrap. + + + + + + + + + + + + + Extension methods for adding and removing services to an . + + + + + Adds the specified to the . + + The . + The to add. + A reference to the current instance of . + + + + Adds a sequence of to the . + + The . + The s to add. + A reference to the current instance of . + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The to add. + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The s to add. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds a if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The . + + Use when registering a service implementation of a + service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Adds the specified s if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The s. + + Use when registering a service + implementation of a service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Removes the first service in with the same service type + as and adds to the collection. + + The . + The to replace with. + The for chaining. + + + + Removes all services of type in . + + The . + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The for chaining. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + The service key. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Removes all services of type in . + + The . + The service key. + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The service key. + The for chaining. + + + + Indicates that the parameter should be bound using the keyed service registered with the specified key. + + + + + + + Creates a new instance. + + The key of the keyed service to bind to. + + + + Creates a new instance with set to . + + + + + The key of the keyed service to bind to. + + A value with indicates there is not a key and just the parameter type is used to resolve the service. + This is useful for DI implementations that require an explict way to declare that the parameter should be resolved for unkeyed services. + A value is also used along with set to to indicate that the key should be inherited from the parent scope. + + + + + Gets the mode used to look up the service key. + + + + + Retrieves services using a key and a type. + + + + + Gets the service object of the specified type. + + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type . + -or- + if there is no service object of type . + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + The of the service. + A service object of type . + Throws an exception if the cannot create the object. + + + + Provides static APIs for use with . + + + + + Gets a key that matches any key. + + + + + Specifies the contract for a collection of service descriptors. + + + + + Provides an extension point for creating a container specific builder and an . + + + + + Creates a container builder from an . + + The collection of services. + A container builder that can be used to create an . + + + + Creates an from the container builder. + + The container builder. + An instance. + + + + Provides methods to determine if the specified type with the specified service key is available + from the . + + + + + Determines if the specified service type with the specified service key is available from the + . + + An object that specifies the type of service object to test. + The of the service. + true if the specified service is a available, false if it is not. + + + + Provides methods to determine if the specified type is available from the . + + + + + Determines if the specified service type is available from the . + + An object that specifies the type of service object to test. + true if the specified service is a available, false if it is not. + + + + Defines a disposable service scope. + + + The method ends the scope lifetime. Once Dispose + is called, any scoped services that have been resolved from + will be + disposed. + + + + + Gets the used to resolve dependencies from the scope. + + + + + Creates instances of , which is used to create + services within a scope. + + + + + Create an that + contains an used to resolve dependencies from a + newly created scope. + + + An controlling the + lifetime of the scope. Once this is disposed, any scoped services that have been resolved + from the + will also be disposed. + + + + + Optional contract used by + to resolve services if supported by . + + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + A service object of type . + Throws an exception if the cannot create the object. + + + + The result of . + + The to get service arguments from. + Additional constructor arguments. + The instantiated type. + + + + Returns the result of , which is a delegate that specifies a factory method to call to instantiate an instance of type . + + The type of the instance that's returned. + The to get service arguments from. + Additional constructor arguments. + An instance of type . + + + + Default implementation of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Makes this collection read-only. + + + After the collection is marked as read-only, any further attempt to modify it throws an . + + + + + Extension methods for adding services to an . + + + Extension methods for adding services to an . + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Describes a service with its service type, implementation, and lifetime. + + + + + Initializes a new instance of with the specified . + + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified . + + The of the service. + A factory used for creating service instances. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + A factory used for creating service instances. + The of the service. + + + + Gets the of the service. + + + + + Get the key of the service, if applicable. + + + + + Gets the of the service. + + + + + Gets the that implements the service, + or returns if is . + + + If is , should be called instead. + + + + + Gets the that implements the service, + or throws if is . + + + If is , should be called instead. + + + + + Gets the instance that implements the service, + or returns if is . + + + If is , should be called instead. + + + + + Gets the instance that implements the service, + or throws if is . + + + If is , should be called instead. + + + + + Gets the factory used for creating service instance, + or returns if is . + + + If is , should be called instead. + + + + + Gets the factory used for creating Keyed service instances, + or throws if is . + + + If is , should be called instead. + + + + + Indicates whether the service is a keyed service. + + + + + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + Specifies the parameter to inject the key that was used for registration or resolution. + + + + + + Specifies how to look up the service key for a parameter. + + + + + The key is inherited from the parent service. + + + + + A key indicates that the parameter should be resolved from unkeyed services. + This is useful for DI implementations that require an explicit way to declare that the parameter should be resolved from unkeyed services. + + + + + The key is explicitly specified. + + + + + Specifies the lifetime of a service in an . + + + + + Specifies that a single instance of the service will be created. + + + + + Specifies that a new instance of the service will be created for each scope. + + + In ASP.NET Core applications a scope is created around each server request. + + + + + Specifies that a new instance of the service will be created every time it is requested. + + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An enumeration of services of type . + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + A that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor. + + + No service for type '{0}' has been registered. + + + The service collection cannot be modified because it is read-only. + + + Implementation type cannot be '{0}' because it is indistinguishable from other services registered for '{1}'. + + + Multiple constructors were marked with {0}. + + + Constructor marked with {0} does not accept all given argument types. + + + Instances of abstract classes cannot be created. + + + Multiple constructors for type '{0}' were found with length {1}. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and all parameters of a public constructor are either registered as services or passed as arguments. Also ensure no extraneous arguments are provided. + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + This service provider doesn't support keyed services. + + + This service descriptor is not keyed. + + + diff --git a/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml new file mode 100644 index 000000000..60f4d5b88 --- /dev/null +++ b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml @@ -0,0 +1,2666 @@ + + + + Microsoft.Extensions.DependencyInjection.Abstractions + + + + + Helper code for the various activator services. + + + + + Instantiates a type with constructor arguments provided directly and/or from an . + + The service provider used to resolve dependencies. + The type to activate. + Constructor arguments not provided by the . + An activated object of type instanceType. + + + + Creates a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate. + + The types of objects, in order, that will be passed to the returned function as its second parameter. + + + A factory that will instantiate instanceType using an + and an argument array containing objects matching the types defined in argumentTypes. + + + + + Creates a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate. + + The types of objects, in order, that will be passed to the returned function as its second parameter. + + + A factory that will instantiate type using an + and an argument array containing objects matching the types defined in . + + + + + Instantiates a type with constructor arguments provided directly and/or from an . + + The type to activate. + The service provider used to resolve dependencies. + Constructor arguments not provided by . + An activated object of type . + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The type of the service. + The service provider used to resolve dependencies. + The resolved service or created instance. + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The service provider. + The type of the service. + The resolved service or created instance. + + + + Marks the constructor to be used when activating type using . + + + + + An implementation that implements . + + + + + Initializes a new instance of the struct. + Wraps an instance of . + + The instance to wrap. + + + + + + + + + + + + + Extension methods for adding and removing services to an . + + + + + Adds the specified to the . + + The . + The to add. + A reference to the current instance of . + + + + Adds a sequence of to the . + + The . + The s to add. + A reference to the current instance of . + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The to add. + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The s to add. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds a if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The . + + Use when registering a service implementation of a + service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Adds the specified s if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The s. + + Use when registering a service + implementation of a service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Removes the first service in with the same service type + as and adds to the collection. + + The . + The to replace with. + The for chaining. + + + + Removes all services of type in . + + The . + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The for chaining. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + The service key. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Removes all services of type in . + + The . + The service key. + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The service key. + The for chaining. + + + + Indicates that the parameter should be bound using the keyed service registered with the specified key. + + + + + + + Creates a new instance. + + The key of the keyed service to bind to. + + + + Creates a new instance with set to . + + + + + The key of the keyed service to bind to. + + A value with indicates there is not a key and just the parameter type is used to resolve the service. + This is useful for DI implementations that require an explict way to declare that the parameter should be resolved for unkeyed services. + A value is also used along with set to to indicate that the key should be inherited from the parent scope. + + + + + Gets the mode used to look up the service key. + + + + + Retrieves services using a key and a type. + + + + + Gets the service object of the specified type. + + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type . + -or- + if there is no service object of type . + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + The of the service. + A service object of type . + Throws an exception if the cannot create the object. + + + + Provides static APIs for use with . + + + + + Gets a key that matches any key. + + + + + Specifies the contract for a collection of service descriptors. + + + + + Provides an extension point for creating a container specific builder and an . + + + + + Creates a container builder from an . + + The collection of services. + A container builder that can be used to create an . + + + + Creates an from the container builder. + + The container builder. + An instance. + + + + Provides methods to determine if the specified type with the specified service key is available + from the . + + + + + Determines if the specified service type with the specified service key is available from the + . + + An object that specifies the type of service object to test. + The of the service. + true if the specified service is a available, false if it is not. + + + + Provides methods to determine if the specified type is available from the . + + + + + Determines if the specified service type is available from the . + + An object that specifies the type of service object to test. + true if the specified service is a available, false if it is not. + + + + Defines a disposable service scope. + + + The method ends the scope lifetime. Once Dispose + is called, any scoped services that have been resolved from + will be + disposed. + + + + + Gets the used to resolve dependencies from the scope. + + + + + Creates instances of , which is used to create + services within a scope. + + + + + Create an that + contains an used to resolve dependencies from a + newly created scope. + + + An controlling the + lifetime of the scope. Once this is disposed, any scoped services that have been resolved + from the + will also be disposed. + + + + + Optional contract used by + to resolve services if supported by . + + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + A service object of type . + Throws an exception if the cannot create the object. + + + + The result of . + + The to get service arguments from. + Additional constructor arguments. + The instantiated type. + + + + Returns the result of , which is a delegate that specifies a factory method to call to instantiate an instance of type . + + The type of the instance that's returned. + The to get service arguments from. + Additional constructor arguments. + An instance of type . + + + + Default implementation of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Makes this collection read-only. + + + After the collection is marked as read-only, any further attempt to modify it throws an . + + + + + Extension methods for adding services to an . + + + Extension methods for adding services to an . + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Describes a service with its service type, implementation, and lifetime. + + + + + Initializes a new instance of with the specified . + + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified . + + The of the service. + A factory used for creating service instances. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + A factory used for creating service instances. + The of the service. + + + + Gets the of the service. + + + + + Get the key of the service, if applicable. + + + + + Gets the of the service. + + + + + Gets the that implements the service, + or returns if is . + + + If is , should be called instead. + + + + + Gets the that implements the service, + or throws if is . + + + If is , should be called instead. + + + + + Gets the instance that implements the service, + or returns if is . + + + If is , should be called instead. + + + + + Gets the instance that implements the service, + or throws if is . + + + If is , should be called instead. + + + + + Gets the factory used for creating service instance, + or returns if is . + + + If is , should be called instead. + + + + + Gets the factory used for creating Keyed service instances, + or throws if is . + + + If is , should be called instead. + + + + + Indicates whether the service is a keyed service. + + + + + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + Specifies the parameter to inject the key that was used for registration or resolution. + + + + + + Specifies how to look up the service key for a parameter. + + + + + The key is inherited from the parent service. + + + + + A key indicates that the parameter should be resolved from unkeyed services. + This is useful for DI implementations that require an explicit way to declare that the parameter should be resolved from unkeyed services. + + + + + The key is explicitly specified. + + + + + Specifies the lifetime of a service in an . + + + + + Specifies that a single instance of the service will be created. + + + + + Specifies that a new instance of the service will be created for each scope. + + + In ASP.NET Core applications a scope is created around each server request. + + + + + Specifies that a new instance of the service will be created every time it is requested. + + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An enumeration of services of type . + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + A that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all non-public constructors, including those inherited from base classes. + + + + + Specifies all non-public methods, including those inherited from base classes. + + + + + Specifies all non-public fields, including those inherited from base classes. + + + + + Specifies all non-public nested types, including those inherited from base classes. + + + + + Specifies all non-public properties, including those inherited from base classes. + + + + + Specifies all non-public events, including those inherited from base classes. + + + + + Specifies all public constructors, including those inherited from base classes. + + + + + Specifies all public nested types, including those inherited from base classes. + + + + + Specifies all constructors, including those inherited from base classes. + + + + + Specifies all methods, including those inherited from base classes. + + + + + Specifies all fields, including those inherited from base classes. + + + + + Specifies all nested types, including those inherited from base classes. + + + + + Specifies all properties, including those inherited from base classes. + + + + + Specifies all events, including those inherited from base classes. + + + + + Specifies all members. + + + + + Indicates that the specified method requires the ability to generate new code at runtime, + for example through . + + + This allows tools to understand which methods are unsafe to call when compiling ahead of time. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of dynamic code. + + + + + When set to true, indicates that the annotation should not apply to static members. + + + + + Gets a message that contains information about the usage of dynamic code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires dynamic code, and what options a consumer has to deal with it. + + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + + When applied to an attribute class, instructs the compiler to flow applications of that attribute, + from source code down to compiler-generated symbols. This can help IL-based analysis tools. + + + One example where this attribute applies is in C# primary constructor parameters. If an attribute + marked with gets applied to a primary constructor + parameter, the attribute will also be applied to any compiler-generated fields storing that parameter. + + + + + Initializes a new instance of the class. + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor. + + + No service for type '{0}' has been registered. + + + The service collection cannot be modified because it is read-only. + + + Implementation type cannot be '{0}' because it is indistinguishable from other services registered for '{1}'. + + + Multiple constructors were marked with {0}. + + + Constructor marked with {0} does not accept all given argument types. + + + Instances of abstract classes cannot be created. + + + Multiple constructors for type '{0}' were found with length {1}. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and all parameters of a public constructor are either registered as services or passed as arguments. Also ensure no extraneous arguments are provided. + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + This service provider doesn't support keyed services. + + + This service descriptor is not keyed. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml new file mode 100644 index 000000000..3159d4035 --- /dev/null +++ b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml @@ -0,0 +1,2602 @@ + + + + Microsoft.Extensions.DependencyInjection.Abstractions + + + + + Helper code for the various activator services. + + + + + Instantiates a type with constructor arguments provided directly and/or from an . + + The service provider used to resolve dependencies. + The type to activate. + Constructor arguments not provided by the . + An activated object of type instanceType. + + + + Creates a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate. + + The types of objects, in order, that will be passed to the returned function as its second parameter. + + + A factory that will instantiate instanceType using an + and an argument array containing objects matching the types defined in argumentTypes. + + + + + Creates a delegate that will instantiate a type with constructor arguments provided directly + and/or from an . + + The type to activate. + + The types of objects, in order, that will be passed to the returned function as its second parameter. + + + A factory that will instantiate type using an + and an argument array containing objects matching the types defined in . + + + + + Instantiates a type with constructor arguments provided directly and/or from an . + + The type to activate. + The service provider used to resolve dependencies. + Constructor arguments not provided by . + An activated object of type . + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The type of the service. + The service provider used to resolve dependencies. + The resolved service or created instance. + + + + Retrieve an instance of the given type from the service provider. If one is not found then instantiate it directly. + + The service provider. + The type of the service. + The resolved service or created instance. + + + + Marks the constructor to be used when activating type using . + + + + + An implementation that implements . + + + + + Initializes a new instance of the struct. + Wraps an instance of . + + The instance to wrap. + + + + + + + + + + + + + Extension methods for adding and removing services to an . + + + + + Adds the specified to the . + + The . + The to add. + A reference to the current instance of . + + + + Adds a sequence of to the . + + The . + The s to add. + A reference to the current instance of . + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The to add. + + + + Adds the specified to the if the + service type hasn't already been registered. + + The . + The s to add. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + + + + Adds a if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The . + + Use when registering a service implementation of a + service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Adds the specified s if an existing descriptor with the same + and an implementation that does not already exist + in . + + The . + The s. + + Use when registering a service + implementation of a service type that + supports multiple registrations of the same service type. Using + is not idempotent and can add + duplicate + instances if called twice. Using + will prevent registration + of multiple implementation types. + + + + + Removes the first service in with the same service type + as and adds to the collection. + + The . + The to replace with. + The for chaining. + + + + Removes all services of type in . + + The . + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The for chaining. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The factory that creates the service. + The service key. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + + + + Adds the specified as a service + with the implementation + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The implementation type of the service. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The . + The type of the service to register. + The service key. + The factory that creates the service. + + + + Adds the specified as a service + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + + + + Adds the specified as a service + implementation type specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The type of the implementation to use. + The . + The service key. + + + + Adds the specified as a service + with an instance specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The instance of the service to add. + + + + Adds the specified as a service + using the factory specified in + to the if the service type hasn't already been registered. + + The type of the service to add. + The . + The service key. + The factory that creates the service. + + + + Removes all services of type in . + + The . + The service key. + The for chaining. + + + + Removes all services of type in . + + The . + The service type to remove. + The service key. + The for chaining. + + + + Indicates that the parameter should be bound using the keyed service registered with the specified key. + + + + + + + Creates a new instance. + + The key of the keyed service to bind to. + + + + Creates a new instance with set to . + + + + + The key of the keyed service to bind to. + + A value with indicates there is not a key and just the parameter type is used to resolve the service. + This is useful for DI implementations that require an explict way to declare that the parameter should be resolved for unkeyed services. + A value is also used along with set to to indicate that the key should be inherited from the parent scope. + + + + + Gets the mode used to look up the service key. + + + + + Retrieves services using a key and a type. + + + + + Gets the service object of the specified type. + + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type . + -or- + if there is no service object of type . + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + The of the service. + A service object of type . + Throws an exception if the cannot create the object. + + + + Provides static APIs for use with . + + + + + Gets a key that matches any key. + + + + + Specifies the contract for a collection of service descriptors. + + + + + Provides an extension point for creating a container specific builder and an . + + + + + Creates a container builder from an . + + The collection of services. + A container builder that can be used to create an . + + + + Creates an from the container builder. + + The container builder. + An instance. + + + + Provides methods to determine if the specified type with the specified service key is available + from the . + + + + + Determines if the specified service type with the specified service key is available from the + . + + An object that specifies the type of service object to test. + The of the service. + true if the specified service is a available, false if it is not. + + + + Provides methods to determine if the specified type is available from the . + + + + + Determines if the specified service type is available from the . + + An object that specifies the type of service object to test. + true if the specified service is a available, false if it is not. + + + + Defines a disposable service scope. + + + The method ends the scope lifetime. Once Dispose + is called, any scoped services that have been resolved from + will be + disposed. + + + + + Gets the used to resolve dependencies from the scope. + + + + + Creates instances of , which is used to create + services within a scope. + + + + + Create an that + contains an used to resolve dependencies from a + newly created scope. + + + An controlling the + lifetime of the scope. Once this is disposed, any scoped services that have been resolved + from the + will also be disposed. + + + + + Optional contract used by + to resolve services if supported by . + + + + + Gets service of type from the implementing + this interface. + + An object that specifies the type of service object to get. + A service object of type . + Throws an exception if the cannot create the object. + + + + The result of . + + The to get service arguments from. + Additional constructor arguments. + The instantiated type. + + + + Returns the result of , which is a delegate that specifies a factory method to call to instantiate an instance of type . + + The type of the instance that's returned. + The to get service arguments from. + Additional constructor arguments. + An instance of type . + + + + Default implementation of . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Makes this collection read-only. + + + After the collection is marked as read-only, any further attempt to modify it throws an . + + + + + Extension methods for adding services to an . + + + Extension methods for adding services to an . + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a transient service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a scoped service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation of the type specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The implementation type of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The to add the service to. + The type of the service to register and the implementation to use. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with a + factory specified in to the + specified . + + The type of the service to add. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + implementation type specified in using the + factory specified in to the + specified . + + The type of the service to add. + The type of the implementation to use. + The to add the service to. + The of the service. + The factory that creates the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The type of the service to register. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Adds a singleton service of the type specified in with an + instance specified in to the + specified . + + The to add the service to. + The of the service. + The instance of the service. + A reference to this instance after the operation has completed. + + + + + Describes a service with its service type, implementation, and lifetime. + + + + + Initializes a new instance of with the specified . + + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + The implementing the service. + The of the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified + as a . + + The of the service. + The of the service. + The instance implementing the service. + + + + Initializes a new instance of with the specified . + + The of the service. + A factory used for creating service instances. + The of the service. + + + + Initializes a new instance of with the specified . + + The of the service. + The of the service. + A factory used for creating service instances. + The of the service. + + + + Gets the of the service. + + + + + Get the key of the service, if applicable. + + + + + Gets the of the service. + + + + + Gets the that implements the service, + or returns if is . + + + If is , should be called instead. + + + + + Gets the that implements the service, + or throws if is . + + + If is , should be called instead. + + + + + Gets the instance that implements the service, + or returns if is . + + + If is , should be called instead. + + + + + Gets the instance that implements the service, + or throws if is . + + + If is , should be called instead. + + + + + Gets the factory used for creating service instance, + or returns if is . + + + If is , should be called instead. + + + + + Gets the factory used for creating Keyed service instances, + or throws if is . + + + If is , should be called instead. + + + + + Indicates whether the service is a keyed service. + + + + + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + and + and the lifetime. + + The type of the service. + The of the service. + The type of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + , + and the lifetime. + + The type of the service. + The type of the implementation. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and the lifetime. + + The type of the service. + The of the service. + The instance of the implementation. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + The type of the implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + Creates an instance of with the specified + , , + and . + + The type of the service. + The of the service. + A factory to create new instances of the service implementation. + The lifetime of the service. + A new instance of . + + + + Specifies the parameter to inject the key that was used for registration or resolution. + + + + + + Specifies how to look up the service key for a parameter. + + + + + The key is inherited from the parent service. + + + + + A key indicates that the parameter should be resolved from unkeyed services. + This is useful for DI implementations that require an explicit way to declare that the parameter should be resolved from unkeyed services. + + + + + The key is explicitly specified. + + + + + Specifies the lifetime of a service in an . + + + + + Specifies that a single instance of the service will be created. + + + + + Specifies that a new instance of the service will be created for each scope. + + + In ASP.NET Core applications a scope is created around each server request. + + + + + Specifies that a new instance of the service will be created every time it is requested. + + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + An object that specifies the key of service object to get. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An object that specifies the key of service object to get. + An enumeration of services of type . + + + + Extension methods for getting services from an . + + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type or null if there is no such service. + + + + Get service of type from the . + + The to retrieve the service object from. + An object that specifies the type of service object to get. + A service object of type . + There is no service of type . + + + + Get service of type from the . + + The type of service object to get. + The to retrieve the service object from. + A service object of type . + There is no service of type . + + + + Get an enumeration of services of type from the . + + The type of service object to get. + The to retrieve the services from. + An enumeration of services of type . + + + + Get an enumeration of services of type from the . + + The to retrieve the services from. + An object that specifies the type of service object to get. + An enumeration of services of type . + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + A that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + + Creates a new that can be used to resolve scoped services. + + The to create the scope from. + An that can be used to resolve scoped services. + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all non-public constructors, including those inherited from base classes. + + + + + Specifies all non-public methods, including those inherited from base classes. + + + + + Specifies all non-public fields, including those inherited from base classes. + + + + + Specifies all non-public nested types, including those inherited from base classes. + + + + + Specifies all non-public properties, including those inherited from base classes. + + + + + Specifies all non-public events, including those inherited from base classes. + + + + + Specifies all public constructors, including those inherited from base classes. + + + + + Specifies all public nested types, including those inherited from base classes. + + + + + Specifies all constructors, including those inherited from base classes. + + + + + Specifies all methods, including those inherited from base classes. + + + + + Specifies all fields, including those inherited from base classes. + + + + + Specifies all nested types, including those inherited from base classes. + + + + + Specifies all properties, including those inherited from base classes. + + + + + Specifies all events, including those inherited from base classes. + + + + + Specifies all members. + + + + + Indicates that the specified method requires the ability to generate new code at runtime, + for example through . + + + This allows tools to understand which methods are unsafe to call when compiling ahead of time. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of dynamic code. + + + + + When set to true, indicates that the annotation should not apply to static members. + + + + + Gets a message that contains information about the usage of dynamic code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires dynamic code, and what options a consumer has to deal with it. + + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + + When applied to an attribute class, instructs the compiler to flow applications of that attribute, + from source code down to compiler-generated symbols. This can help IL-based analysis tools. + + + One example where this attribute applies is in C# primary constructor parameters. If an attribute + marked with gets applied to a primary constructor + parameter, the attribute will also be applied to any compiler-generated fields storing that parameter. + + + + + Initializes a new instance of the class. + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor. + + + No service for type '{0}' has been registered. + + + The service collection cannot be modified because it is read-only. + + + Implementation type cannot be '{0}' because it is indistinguishable from other services registered for '{1}'. + + + Multiple constructors were marked with {0}. + + + Constructor marked with {0} does not accept all given argument types. + + + Instances of abstract classes cannot be created. + + + Multiple constructors for type '{0}' were found with length {1}. + + + Unable to resolve service for type '{0}' while attempting to activate '{1}'. + + + A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and all parameters of a public constructor are either registered as services or passed as arguments. Also ensure no extraneous arguments are provided. + + + Multiple constructors accepting all given argument types have been found in type '{0}'. There should only be one applicable constructor. + + + This service provider doesn't support keyed services. + + + This service descriptor is not keyed. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.dependencyinjection.abstractions.10.0.0-rc.2.25502.107.nupkg b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.dependencyinjection.abstractions.10.0.0-rc.2.25502.107.nupkg new file mode 100644 index 000000000..eeefd8324 Binary files /dev/null and b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.dependencyinjection.abstractions.10.0.0-rc.2.25502.107.nupkg differ diff --git a/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.dependencyinjection.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.dependencyinjection.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..474767591 --- /dev/null +++ b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.dependencyinjection.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +e2dd55RbQW9r9K+0P/YJz7C/O9AANQ4SJqbuVySIFMtsMIDXUz1Y5BdDjxssFt672alhDxMCdJirMA+C4hsa/g== \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nugets/microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..2b53ffdac --- /dev/null +++ b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "x6XVv3RiwOlN2unjyX/Zat0gI0HiRoDDdjkwBCwsMftYWpbJu4SiyRwDbrv2zAF8v8nbEEvcWi3/pUxZfaqLQw==", + "source": "/mnt/e/dev/git.stella-ops.org/local-nugets" +} \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/.signature.p7s b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..7e98db7a5 Binary files /dev/null and b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/Icon.png b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/Microsoft.Extensions.Diagnostics.Abstractions.nuspec b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/Microsoft.Extensions.Diagnostics.Abstractions.nuspec new file mode 100644 index 000000000..9162a1e69 --- /dev/null +++ b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/Microsoft.Extensions.Diagnostics.Abstractions.nuspec @@ -0,0 +1,55 @@ + + + + Microsoft.Extensions.Diagnostics.Abstractions + 10.0.0-rc.2.25502.107 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + https://dot.net/ + Diagnostic abstractions for Microsoft.Extensions.Diagnostics. + +Commonly Used Types: +Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder +Microsoft.Extensions.Diagnostics.Metrics.IMetricsListener +Microsoft.Extensions.Diagnostics.Metrics.InstrumentRule +Microsoft.Extensions.Diagnostics.Metrics.MeterScope +Microsoft.Extensions.Diagnostics.Metrics.MetricsBuilderExtensions +Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Diagnostics.Abstractions.targets b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Diagnostics.Abstractions.targets new file mode 100644 index 000000000..7aa163c18 --- /dev/null +++ b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Diagnostics.Abstractions.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Diagnostics.Abstractions.targets b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Diagnostics.Abstractions.targets new file mode 100644 index 000000000..0aecad3be --- /dev/null +++ b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Diagnostics.Abstractions.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.xml b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.xml new file mode 100644 index 000000000..0e144a052 --- /dev/null +++ b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.xml @@ -0,0 +1,333 @@ + + + + Microsoft.Extensions.Diagnostics.Abstractions + + + + + Configures the metrics system by registering IMetricsListeners and using rules + to determine which metrics are enabled. + + + + + Gets the application service collection that's used by extension methods to register services. + + + + + Listens to metrics emitted from the system. + + + + + Gets the name of the listener. This is used to identify the listener in the rules configuration. + + + + + Called once by the runtime to provide a used to pull for fresh metrics data. + + A that can be called to request current metrics. + + + + Called when a new instrument is created and enabled by a matching rule. + + The new . + Listener state associated with this instrument. This will be returned to + and . + if the listener wants to subscribe to this instrument, otherwise . + + + + Called when a instrument is disabled by the producer or a rules change. + + The being disabled. + The original listener state returned by . + + + + Called once to get the that will be used to process measurements. + + The . + + + + Contains a set of parameters used to determine which instruments are enabled for which listeners. Unspecified + parameters match anything. + + + The most specific rule that matches a given instrument will be used. The priority of parameters is as follows: + - MeterName, either an exact match, or the longest prefix match. See Meter.Name. + - InstrumentName, an exact match. Instrument.Name. + - ListenerName, an exact match. IMetricsListener.Name. + - Scopes + + The Meter.Name or prefix. + The Instrument.Name. + The IMetricsListener.Name. + A bitwise combination of the enumeration values that specifies the scopes to consider. + to enable the matched instrument for this listener; otherwise, . + + + + Contains a set of parameters used to determine which instruments are enabled for which listeners. Unspecified + parameters match anything. + + + The most specific rule that matches a given instrument will be used. The priority of parameters is as follows: + - MeterName, either an exact match, or the longest prefix match. See Meter.Name. + - InstrumentName, an exact match. Instrument.Name. + - ListenerName, an exact match. IMetricsListener.Name. + - Scopes + + The Meter.Name or prefix. + The Instrument.Name. + The IMetricsListener.Name. + A bitwise combination of the enumeration values that specifies the scopes to consider. + to enable the matched instrument for this listener; otherwise, . + + + + Gets the Meter.Name, either an exact match or the longest prefix match. Only full segment matches are considered. + + + The meter name. If , all meters are matched. + + + + + Gets the Instrument.Name, an exact match. + + + The instrument name. If , all instruments for the meter are matched. + + + + + Gets the IMetricsListener.Name, an exact match. + + + The listener name. If , all listeners are matched. + + + + + Gets the . + + + This property is used to distinguish between meters created via constructors () + and those created via Dependency Injection with (). + + + + + Gets a value that indicates whether the instrument should be enabled for the listener. + + + + + An interface registered with each IMetricsListener using . + + + The listener can call to receive the current set of measurements for enabled observable instruments. + + + + + Requests that the current set of metrics for enabled instruments be sent to the listener's objects. + + + + + Represents a set of supported measurement types. If a listener does not support a given type, the measurement is skipped. + + + + + Gets or sets a for . If , byte measurements are skipped. + + + + + Gets or sets a for . If , short measurements are skipped. + + + + + Gets or sets a for . If , int measurements are skipped. + + + + + Gets or sets a for . If , long measurements are skipped. + + + + + Gets or sets a for . If , float measurements are skipped. + + + + + Gets or sets a for . If , double measurements are skipped. + + + + + Gets or sets a for . If , decimal measurements are skipped. + + + + + Represents scopes used by to distinguish between meters created via constructors () + and those created via Dependency Injection with (). + + + + + No scope is specified. This field should not be used. + + + + + Indicates instances created via constructors. + + + + + Indicates instances created via Dependency Injection with . + + + + + Extension methods for to add or clear registrations, and to enable or disable metrics. + + + Extension methods for to add or clear registrations, and to enable or disable metrics. + + + + + Registers a new of type . + + The implementation type of the listener. + The . + Returns the original for chaining. + + + + Registers a new instance. + + The implementation type of the listener. + The . + Returns the original for chaining. + + + + Removes all registrations from the dependency injection container. + + The . + Returns the original for chaining. + + + + Enables all instruments for the given meter, for all registered listeners. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Enables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which meter scopes to consider. Defaults to all scopes. + The original for chaining. + + + + Enables all instruments for the given meter, for all registered listeners. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Enables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which meter scopes to consider. Default to all scopes. + The original for chaining. + + + + Disables all instruments for the given meter, for all registered listeners. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Disables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which meter scopes to consider. Defaults to all scopes. + The original for chaining. + + + + Disables all instruments for the given meter, for all registered listeners. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Disables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which meter scopes to consider. Defaults to all scopes. + The original for chaining. + + + + Represents options for configuring the metrics system. + + + + + Gets a list of instrument rules that identifies which metrics, instruments, and listeners are enabled. + + + + + Pretty print a type name. + + The . + true to print a fully qualified name. + true to include generic parameter names. + true to include generic parameters. + Character to use as a delimiter in nested type names + The pretty printed type name. + + + diff --git a/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Diagnostics.Abstractions.xml b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Diagnostics.Abstractions.xml new file mode 100644 index 000000000..c8bb3a10a --- /dev/null +++ b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Diagnostics.Abstractions.xml @@ -0,0 +1,727 @@ + + + + Microsoft.Extensions.Diagnostics.Abstractions + + + + + Configures the metrics system by registering IMetricsListeners and using rules + to determine which metrics are enabled. + + + + + Gets the application service collection that's used by extension methods to register services. + + + + + Listens to metrics emitted from the system. + + + + + Gets the name of the listener. This is used to identify the listener in the rules configuration. + + + + + Called once by the runtime to provide a used to pull for fresh metrics data. + + A that can be called to request current metrics. + + + + Called when a new instrument is created and enabled by a matching rule. + + The new . + Listener state associated with this instrument. This will be returned to + and . + if the listener wants to subscribe to this instrument, otherwise . + + + + Called when a instrument is disabled by the producer or a rules change. + + The being disabled. + The original listener state returned by . + + + + Called once to get the that will be used to process measurements. + + The . + + + + Contains a set of parameters used to determine which instruments are enabled for which listeners. Unspecified + parameters match anything. + + + The most specific rule that matches a given instrument will be used. The priority of parameters is as follows: + - MeterName, either an exact match, or the longest prefix match. See Meter.Name. + - InstrumentName, an exact match. Instrument.Name. + - ListenerName, an exact match. IMetricsListener.Name. + - Scopes + + The Meter.Name or prefix. + The Instrument.Name. + The IMetricsListener.Name. + A bitwise combination of the enumeration values that specifies the scopes to consider. + to enable the matched instrument for this listener; otherwise, . + + + + Contains a set of parameters used to determine which instruments are enabled for which listeners. Unspecified + parameters match anything. + + + The most specific rule that matches a given instrument will be used. The priority of parameters is as follows: + - MeterName, either an exact match, or the longest prefix match. See Meter.Name. + - InstrumentName, an exact match. Instrument.Name. + - ListenerName, an exact match. IMetricsListener.Name. + - Scopes + + The Meter.Name or prefix. + The Instrument.Name. + The IMetricsListener.Name. + A bitwise combination of the enumeration values that specifies the scopes to consider. + to enable the matched instrument for this listener; otherwise, . + + + + Gets the Meter.Name, either an exact match or the longest prefix match. Only full segment matches are considered. + + + The meter name. If , all meters are matched. + + + + + Gets the Instrument.Name, an exact match. + + + The instrument name. If , all instruments for the meter are matched. + + + + + Gets the IMetricsListener.Name, an exact match. + + + The listener name. If , all listeners are matched. + + + + + Gets the . + + + This property is used to distinguish between meters created via constructors () + and those created via Dependency Injection with (). + + + + + Gets a value that indicates whether the instrument should be enabled for the listener. + + + + + An interface registered with each IMetricsListener using . + + + The listener can call to receive the current set of measurements for enabled observable instruments. + + + + + Requests that the current set of metrics for enabled instruments be sent to the listener's objects. + + + + + Represents a set of supported measurement types. If a listener does not support a given type, the measurement is skipped. + + + + + Gets or sets a for . If , byte measurements are skipped. + + + + + Gets or sets a for . If , short measurements are skipped. + + + + + Gets or sets a for . If , int measurements are skipped. + + + + + Gets or sets a for . If , long measurements are skipped. + + + + + Gets or sets a for . If , float measurements are skipped. + + + + + Gets or sets a for . If , double measurements are skipped. + + + + + Gets or sets a for . If , decimal measurements are skipped. + + + + + Represents scopes used by to distinguish between meters created via constructors () + and those created via Dependency Injection with (). + + + + + No scope is specified. This field should not be used. + + + + + Indicates instances created via constructors. + + + + + Indicates instances created via Dependency Injection with . + + + + + Extension methods for to add or clear registrations, and to enable or disable metrics. + + + Extension methods for to add or clear registrations, and to enable or disable metrics. + + + + + Registers a new of type . + + The implementation type of the listener. + The . + Returns the original for chaining. + + + + Registers a new instance. + + The implementation type of the listener. + The . + Returns the original for chaining. + + + + Removes all registrations from the dependency injection container. + + The . + Returns the original for chaining. + + + + Enables all instruments for the given meter, for all registered listeners. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Enables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which meter scopes to consider. Defaults to all scopes. + The original for chaining. + + + + Enables all instruments for the given meter, for all registered listeners. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Enables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which meter scopes to consider. Default to all scopes. + The original for chaining. + + + + Disables all instruments for the given meter, for all registered listeners. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Disables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which meter scopes to consider. Defaults to all scopes. + The original for chaining. + + + + Disables all instruments for the given meter, for all registered listeners. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Disables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which meter scopes to consider. Defaults to all scopes. + The original for chaining. + + + + Represents options for configuring the metrics system. + + + + + Gets a list of instrument rules that identifies which metrics, instruments, and listeners are enabled. + + + + + Pretty print a type name. + + The . + true to print a fully qualified name. + true to include generic parameter names. + true to include generic parameters. + Character to use as a delimiter in nested type names + The pretty printed type name. + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all non-public constructors, including those inherited from base classes. + + + + + Specifies all non-public methods, including those inherited from base classes. + + + + + Specifies all non-public fields, including those inherited from base classes. + + + + + Specifies all non-public nested types, including those inherited from base classes. + + + + + Specifies all non-public properties, including those inherited from base classes. + + + + + Specifies all non-public events, including those inherited from base classes. + + + + + Specifies all public constructors, including those inherited from base classes. + + + + + Specifies all public nested types, including those inherited from base classes. + + + + + Specifies all constructors, including those inherited from base classes. + + + + + Specifies all methods, including those inherited from base classes. + + + + + Specifies all fields, including those inherited from base classes. + + + + + Specifies all nested types, including those inherited from base classes. + + + + + Specifies all properties, including those inherited from base classes. + + + + + Specifies all events, including those inherited from base classes. + + + + + Specifies all members. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + + When applied to an attribute class, instructs the compiler to flow applications of that attribute, + from source code down to compiler-generated symbols. This can help IL-based analysis tools. + + + One example where this attribute applies is in C# primary constructor parameters. If an attribute + marked with gets applied to a primary constructor + parameter, the attribute will also be applied to any compiler-generated fields storing that parameter. + + + + + Initializes a new instance of the class. + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.xml b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.xml new file mode 100644 index 000000000..0e144a052 --- /dev/null +++ b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.xml @@ -0,0 +1,333 @@ + + + + Microsoft.Extensions.Diagnostics.Abstractions + + + + + Configures the metrics system by registering IMetricsListeners and using rules + to determine which metrics are enabled. + + + + + Gets the application service collection that's used by extension methods to register services. + + + + + Listens to metrics emitted from the system. + + + + + Gets the name of the listener. This is used to identify the listener in the rules configuration. + + + + + Called once by the runtime to provide a used to pull for fresh metrics data. + + A that can be called to request current metrics. + + + + Called when a new instrument is created and enabled by a matching rule. + + The new . + Listener state associated with this instrument. This will be returned to + and . + if the listener wants to subscribe to this instrument, otherwise . + + + + Called when a instrument is disabled by the producer or a rules change. + + The being disabled. + The original listener state returned by . + + + + Called once to get the that will be used to process measurements. + + The . + + + + Contains a set of parameters used to determine which instruments are enabled for which listeners. Unspecified + parameters match anything. + + + The most specific rule that matches a given instrument will be used. The priority of parameters is as follows: + - MeterName, either an exact match, or the longest prefix match. See Meter.Name. + - InstrumentName, an exact match. Instrument.Name. + - ListenerName, an exact match. IMetricsListener.Name. + - Scopes + + The Meter.Name or prefix. + The Instrument.Name. + The IMetricsListener.Name. + A bitwise combination of the enumeration values that specifies the scopes to consider. + to enable the matched instrument for this listener; otherwise, . + + + + Contains a set of parameters used to determine which instruments are enabled for which listeners. Unspecified + parameters match anything. + + + The most specific rule that matches a given instrument will be used. The priority of parameters is as follows: + - MeterName, either an exact match, or the longest prefix match. See Meter.Name. + - InstrumentName, an exact match. Instrument.Name. + - ListenerName, an exact match. IMetricsListener.Name. + - Scopes + + The Meter.Name or prefix. + The Instrument.Name. + The IMetricsListener.Name. + A bitwise combination of the enumeration values that specifies the scopes to consider. + to enable the matched instrument for this listener; otherwise, . + + + + Gets the Meter.Name, either an exact match or the longest prefix match. Only full segment matches are considered. + + + The meter name. If , all meters are matched. + + + + + Gets the Instrument.Name, an exact match. + + + The instrument name. If , all instruments for the meter are matched. + + + + + Gets the IMetricsListener.Name, an exact match. + + + The listener name. If , all listeners are matched. + + + + + Gets the . + + + This property is used to distinguish between meters created via constructors () + and those created via Dependency Injection with (). + + + + + Gets a value that indicates whether the instrument should be enabled for the listener. + + + + + An interface registered with each IMetricsListener using . + + + The listener can call to receive the current set of measurements for enabled observable instruments. + + + + + Requests that the current set of metrics for enabled instruments be sent to the listener's objects. + + + + + Represents a set of supported measurement types. If a listener does not support a given type, the measurement is skipped. + + + + + Gets or sets a for . If , byte measurements are skipped. + + + + + Gets or sets a for . If , short measurements are skipped. + + + + + Gets or sets a for . If , int measurements are skipped. + + + + + Gets or sets a for . If , long measurements are skipped. + + + + + Gets or sets a for . If , float measurements are skipped. + + + + + Gets or sets a for . If , double measurements are skipped. + + + + + Gets or sets a for . If , decimal measurements are skipped. + + + + + Represents scopes used by to distinguish between meters created via constructors () + and those created via Dependency Injection with (). + + + + + No scope is specified. This field should not be used. + + + + + Indicates instances created via constructors. + + + + + Indicates instances created via Dependency Injection with . + + + + + Extension methods for to add or clear registrations, and to enable or disable metrics. + + + Extension methods for to add or clear registrations, and to enable or disable metrics. + + + + + Registers a new of type . + + The implementation type of the listener. + The . + Returns the original for chaining. + + + + Registers a new instance. + + The implementation type of the listener. + The . + Returns the original for chaining. + + + + Removes all registrations from the dependency injection container. + + The . + Returns the original for chaining. + + + + Enables all instruments for the given meter, for all registered listeners. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Enables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which meter scopes to consider. Defaults to all scopes. + The original for chaining. + + + + Enables all instruments for the given meter, for all registered listeners. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Enables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which meter scopes to consider. Default to all scopes. + The original for chaining. + + + + Disables all instruments for the given meter, for all registered listeners. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Disables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which meter scopes to consider. Defaults to all scopes. + The original for chaining. + + + + Disables all instruments for the given meter, for all registered listeners. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Disables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which meter scopes to consider. Defaults to all scopes. + The original for chaining. + + + + Represents options for configuring the metrics system. + + + + + Gets a list of instrument rules that identifies which metrics, instruments, and listeners are enabled. + + + + + Pretty print a type name. + + The . + true to print a fully qualified name. + true to include generic parameter names. + true to include generic parameters. + Character to use as a delimiter in nested type names + The pretty printed type name. + + + diff --git a/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Diagnostics.Abstractions.xml b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Diagnostics.Abstractions.xml new file mode 100644 index 000000000..0e144a052 --- /dev/null +++ b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Diagnostics.Abstractions.xml @@ -0,0 +1,333 @@ + + + + Microsoft.Extensions.Diagnostics.Abstractions + + + + + Configures the metrics system by registering IMetricsListeners and using rules + to determine which metrics are enabled. + + + + + Gets the application service collection that's used by extension methods to register services. + + + + + Listens to metrics emitted from the system. + + + + + Gets the name of the listener. This is used to identify the listener in the rules configuration. + + + + + Called once by the runtime to provide a used to pull for fresh metrics data. + + A that can be called to request current metrics. + + + + Called when a new instrument is created and enabled by a matching rule. + + The new . + Listener state associated with this instrument. This will be returned to + and . + if the listener wants to subscribe to this instrument, otherwise . + + + + Called when a instrument is disabled by the producer or a rules change. + + The being disabled. + The original listener state returned by . + + + + Called once to get the that will be used to process measurements. + + The . + + + + Contains a set of parameters used to determine which instruments are enabled for which listeners. Unspecified + parameters match anything. + + + The most specific rule that matches a given instrument will be used. The priority of parameters is as follows: + - MeterName, either an exact match, or the longest prefix match. See Meter.Name. + - InstrumentName, an exact match. Instrument.Name. + - ListenerName, an exact match. IMetricsListener.Name. + - Scopes + + The Meter.Name or prefix. + The Instrument.Name. + The IMetricsListener.Name. + A bitwise combination of the enumeration values that specifies the scopes to consider. + to enable the matched instrument for this listener; otherwise, . + + + + Contains a set of parameters used to determine which instruments are enabled for which listeners. Unspecified + parameters match anything. + + + The most specific rule that matches a given instrument will be used. The priority of parameters is as follows: + - MeterName, either an exact match, or the longest prefix match. See Meter.Name. + - InstrumentName, an exact match. Instrument.Name. + - ListenerName, an exact match. IMetricsListener.Name. + - Scopes + + The Meter.Name or prefix. + The Instrument.Name. + The IMetricsListener.Name. + A bitwise combination of the enumeration values that specifies the scopes to consider. + to enable the matched instrument for this listener; otherwise, . + + + + Gets the Meter.Name, either an exact match or the longest prefix match. Only full segment matches are considered. + + + The meter name. If , all meters are matched. + + + + + Gets the Instrument.Name, an exact match. + + + The instrument name. If , all instruments for the meter are matched. + + + + + Gets the IMetricsListener.Name, an exact match. + + + The listener name. If , all listeners are matched. + + + + + Gets the . + + + This property is used to distinguish between meters created via constructors () + and those created via Dependency Injection with (). + + + + + Gets a value that indicates whether the instrument should be enabled for the listener. + + + + + An interface registered with each IMetricsListener using . + + + The listener can call to receive the current set of measurements for enabled observable instruments. + + + + + Requests that the current set of metrics for enabled instruments be sent to the listener's objects. + + + + + Represents a set of supported measurement types. If a listener does not support a given type, the measurement is skipped. + + + + + Gets or sets a for . If , byte measurements are skipped. + + + + + Gets or sets a for . If , short measurements are skipped. + + + + + Gets or sets a for . If , int measurements are skipped. + + + + + Gets or sets a for . If , long measurements are skipped. + + + + + Gets or sets a for . If , float measurements are skipped. + + + + + Gets or sets a for . If , double measurements are skipped. + + + + + Gets or sets a for . If , decimal measurements are skipped. + + + + + Represents scopes used by to distinguish between meters created via constructors () + and those created via Dependency Injection with (). + + + + + No scope is specified. This field should not be used. + + + + + Indicates instances created via constructors. + + + + + Indicates instances created via Dependency Injection with . + + + + + Extension methods for to add or clear registrations, and to enable or disable metrics. + + + Extension methods for to add or clear registrations, and to enable or disable metrics. + + + + + Registers a new of type . + + The implementation type of the listener. + The . + Returns the original for chaining. + + + + Registers a new instance. + + The implementation type of the listener. + The . + Returns the original for chaining. + + + + Removes all registrations from the dependency injection container. + + The . + Returns the original for chaining. + + + + Enables all instruments for the given meter, for all registered listeners. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Enables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which meter scopes to consider. Defaults to all scopes. + The original for chaining. + + + + Enables all instruments for the given meter, for all registered listeners. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Enables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which meter scopes to consider. Default to all scopes. + The original for chaining. + + + + Disables all instruments for the given meter, for all registered listeners. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Disables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which meter scopes to consider. Defaults to all scopes. + The original for chaining. + + + + Disables all instruments for the given meter, for all registered listeners. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Disables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which meter scopes to consider. Defaults to all scopes. + The original for chaining. + + + + Represents options for configuring the metrics system. + + + + + Gets a list of instrument rules that identifies which metrics, instruments, and listeners are enabled. + + + + + Pretty print a type name. + + The . + true to print a fully qualified name. + true to include generic parameter names. + true to include generic parameters. + Character to use as a delimiter in nested type names + The pretty printed type name. + + + diff --git a/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Diagnostics.Abstractions.xml b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Diagnostics.Abstractions.xml new file mode 100644 index 000000000..c8bb3a10a --- /dev/null +++ b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Diagnostics.Abstractions.xml @@ -0,0 +1,727 @@ + + + + Microsoft.Extensions.Diagnostics.Abstractions + + + + + Configures the metrics system by registering IMetricsListeners and using rules + to determine which metrics are enabled. + + + + + Gets the application service collection that's used by extension methods to register services. + + + + + Listens to metrics emitted from the system. + + + + + Gets the name of the listener. This is used to identify the listener in the rules configuration. + + + + + Called once by the runtime to provide a used to pull for fresh metrics data. + + A that can be called to request current metrics. + + + + Called when a new instrument is created and enabled by a matching rule. + + The new . + Listener state associated with this instrument. This will be returned to + and . + if the listener wants to subscribe to this instrument, otherwise . + + + + Called when a instrument is disabled by the producer or a rules change. + + The being disabled. + The original listener state returned by . + + + + Called once to get the that will be used to process measurements. + + The . + + + + Contains a set of parameters used to determine which instruments are enabled for which listeners. Unspecified + parameters match anything. + + + The most specific rule that matches a given instrument will be used. The priority of parameters is as follows: + - MeterName, either an exact match, or the longest prefix match. See Meter.Name. + - InstrumentName, an exact match. Instrument.Name. + - ListenerName, an exact match. IMetricsListener.Name. + - Scopes + + The Meter.Name or prefix. + The Instrument.Name. + The IMetricsListener.Name. + A bitwise combination of the enumeration values that specifies the scopes to consider. + to enable the matched instrument for this listener; otherwise, . + + + + Contains a set of parameters used to determine which instruments are enabled for which listeners. Unspecified + parameters match anything. + + + The most specific rule that matches a given instrument will be used. The priority of parameters is as follows: + - MeterName, either an exact match, or the longest prefix match. See Meter.Name. + - InstrumentName, an exact match. Instrument.Name. + - ListenerName, an exact match. IMetricsListener.Name. + - Scopes + + The Meter.Name or prefix. + The Instrument.Name. + The IMetricsListener.Name. + A bitwise combination of the enumeration values that specifies the scopes to consider. + to enable the matched instrument for this listener; otherwise, . + + + + Gets the Meter.Name, either an exact match or the longest prefix match. Only full segment matches are considered. + + + The meter name. If , all meters are matched. + + + + + Gets the Instrument.Name, an exact match. + + + The instrument name. If , all instruments for the meter are matched. + + + + + Gets the IMetricsListener.Name, an exact match. + + + The listener name. If , all listeners are matched. + + + + + Gets the . + + + This property is used to distinguish between meters created via constructors () + and those created via Dependency Injection with (). + + + + + Gets a value that indicates whether the instrument should be enabled for the listener. + + + + + An interface registered with each IMetricsListener using . + + + The listener can call to receive the current set of measurements for enabled observable instruments. + + + + + Requests that the current set of metrics for enabled instruments be sent to the listener's objects. + + + + + Represents a set of supported measurement types. If a listener does not support a given type, the measurement is skipped. + + + + + Gets or sets a for . If , byte measurements are skipped. + + + + + Gets or sets a for . If , short measurements are skipped. + + + + + Gets or sets a for . If , int measurements are skipped. + + + + + Gets or sets a for . If , long measurements are skipped. + + + + + Gets or sets a for . If , float measurements are skipped. + + + + + Gets or sets a for . If , double measurements are skipped. + + + + + Gets or sets a for . If , decimal measurements are skipped. + + + + + Represents scopes used by to distinguish between meters created via constructors () + and those created via Dependency Injection with (). + + + + + No scope is specified. This field should not be used. + + + + + Indicates instances created via constructors. + + + + + Indicates instances created via Dependency Injection with . + + + + + Extension methods for to add or clear registrations, and to enable or disable metrics. + + + Extension methods for to add or clear registrations, and to enable or disable metrics. + + + + + Registers a new of type . + + The implementation type of the listener. + The . + Returns the original for chaining. + + + + Registers a new instance. + + The implementation type of the listener. + The . + Returns the original for chaining. + + + + Removes all registrations from the dependency injection container. + + The . + Returns the original for chaining. + + + + Enables all instruments for the given meter, for all registered listeners. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Enables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which meter scopes to consider. Defaults to all scopes. + The original for chaining. + + + + Enables all instruments for the given meter, for all registered listeners. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Enables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which meter scopes to consider. Default to all scopes. + The original for chaining. + + + + Disables all instruments for the given meter, for all registered listeners. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Disables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which meter scopes to consider. Defaults to all scopes. + The original for chaining. + + + + Disables all instruments for the given meter, for all registered listeners. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Disables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which meter scopes to consider. Defaults to all scopes. + The original for chaining. + + + + Represents options for configuring the metrics system. + + + + + Gets a list of instrument rules that identifies which metrics, instruments, and listeners are enabled. + + + + + Pretty print a type name. + + The . + true to print a fully qualified name. + true to include generic parameter names. + true to include generic parameters. + Character to use as a delimiter in nested type names + The pretty printed type name. + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all non-public constructors, including those inherited from base classes. + + + + + Specifies all non-public methods, including those inherited from base classes. + + + + + Specifies all non-public fields, including those inherited from base classes. + + + + + Specifies all non-public nested types, including those inherited from base classes. + + + + + Specifies all non-public properties, including those inherited from base classes. + + + + + Specifies all non-public events, including those inherited from base classes. + + + + + Specifies all public constructors, including those inherited from base classes. + + + + + Specifies all public nested types, including those inherited from base classes. + + + + + Specifies all constructors, including those inherited from base classes. + + + + + Specifies all methods, including those inherited from base classes. + + + + + Specifies all fields, including those inherited from base classes. + + + + + Specifies all nested types, including those inherited from base classes. + + + + + Specifies all properties, including those inherited from base classes. + + + + + Specifies all events, including those inherited from base classes. + + + + + Specifies all members. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + + When applied to an attribute class, instructs the compiler to flow applications of that attribute, + from source code down to compiler-generated symbols. This can help IL-based analysis tools. + + + One example where this attribute applies is in C# primary constructor parameters. If an attribute + marked with gets applied to a primary constructor + parameter, the attribute will also be applied to any compiler-generated fields storing that parameter. + + + + + Initializes a new instance of the class. + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.diagnostics.abstractions.10.0.0-rc.2.25502.107.nupkg b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.diagnostics.abstractions.10.0.0-rc.2.25502.107.nupkg new file mode 100644 index 000000000..6856db909 Binary files /dev/null and b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.diagnostics.abstractions.10.0.0-rc.2.25502.107.nupkg differ diff --git a/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.diagnostics.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.diagnostics.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..22b69829a --- /dev/null +++ b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.diagnostics.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +uYtoWfMgpewhlZ/PcOOoY1OPM0moBQOg9gRdYJMt1Ucx5mVJLsXBQIShj7yTuwkGZq+zOBm4QlDKencLGkjUdQ== \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nugets/microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..62a7273fa --- /dev/null +++ b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "dOpmW14MkOZIwV6269iXhoMp6alCHBoxqCR4pJ37GLjFaBIyzsIy+Ra8tsGmjHtFvEHKq0JRDIsb1PUkrK+yxw==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/.signature.p7s b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..057e0a780 Binary files /dev/null and b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/Icon.png b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/Microsoft.Extensions.FileProviders.Abstractions.nuspec b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/Microsoft.Extensions.FileProviders.Abstractions.nuspec new file mode 100644 index 000000000..c9e90fa68 --- /dev/null +++ b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/Microsoft.Extensions.FileProviders.Abstractions.nuspec @@ -0,0 +1,40 @@ + + + + Microsoft.Extensions.FileProviders.Abstractions + 10.0.0-rc.2.25502.107 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + PACKAGE.md + https://dot.net/ + Abstractions of files and directories. + +Commonly Used Types: +Microsoft.Extensions.FileProviders.IDirectoryContents +Microsoft.Extensions.FileProviders.IFileInfo +Microsoft.Extensions.FileProviders.IFileProvider + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/PACKAGE.md b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/PACKAGE.md new file mode 100644 index 000000000..bbb9b68a0 --- /dev/null +++ b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/PACKAGE.md @@ -0,0 +1,51 @@ +## About + + + +Serves as the foundation for creating file providers in .NET, offering core abstractions to develop custom file providers capable of fetching files from various sources. + +## Key Features + + + +* Core abstractions for creating and managing file providers. +* Flexibility to develop custom file providers for fetching files from distinct sources. + +## How to Use + + + +This package is typically used with an implementation of the file provider abstractions, such as `Microsoft.Extensions.FileProviders.Composite` or `Microsoft.Extensions.FileProviders.Physical`. + +## Main Types + + + +The main types provided by this library are: + +* `Microsoft.Extensions.FileProviders.IFileProvider` +* `Microsoft.Extensions.FileProviders.IDirectoryContents` +* `Microsoft.Extensions.FileProviders.IFileInfo` +* `Microsoft.Extensions.FileProviders.NullFileProvider` + +## Additional Documentation + + + +* [Conceptual documentation](https://learn.microsoft.com/aspnet/core/fundamentals/file-providers) +* [Detect changes with change tokens](https://learn.microsoft.com/aspnet/core/fundamentals/change-tokens) +* [API documentation](https://learn.microsoft.com/dotnet/api/microsoft.extensions.fileproviders) + +## Related Packages + + + +* File provider for physical files: [Microsoft.Extensions.FileProviders.Physical](https://www.nuget.org/packages/Microsoft.Extensions.FileProviders.Physical/) +* File provider for files in embedded resources: [Microsoft.Extensions.FileProviders.Embedded](https://www.nuget.org/packages/Microsoft.Extensions.FileProviders.Embedded/) +* Composite file and directory providers: [Microsoft.Extensions.FileProviders.Composite](https://www.nuget.org/packages/Microsoft.Extensions.FileProviders.Composite/) + +## Feedback & Contributing + + + +Microsoft.Extensions.FileProviders.Abstractions is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). diff --git a/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.FileProviders.Abstractions.targets b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.FileProviders.Abstractions.targets new file mode 100644 index 000000000..c48f17aba --- /dev/null +++ b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.FileProviders.Abstractions.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.FileProviders.Abstractions.targets b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.FileProviders.Abstractions.targets new file mode 100644 index 000000000..a3beceffe --- /dev/null +++ b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.FileProviders.Abstractions.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.xml b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.xml new file mode 100644 index 000000000..977099223 --- /dev/null +++ b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.xml @@ -0,0 +1,211 @@ + + + + Microsoft.Extensions.FileProviders.Abstractions + + + + + Represents a directory's content in the file provider. + + + + + True if a directory was located at the given path. + + + + + Represents a file in the given file provider. + + + + + Gets a value that indicates if the resource exists in the underlying storage system. + + + + + Gets the length of the file in bytes, or -1 for a directory or nonexistent file. + + + + + Gets the path to the file, including the file name. Returns if the file is not directly accessible. + + + + + Gets the name of the file or directory, not including any path. + + + + + Gets the time when the file was last modified. + + + + + Gets a value that indicates whether TryGetDirectoryContents has enumerated a subdirectory. + + + + + Returns file contents as a read-only stream. + + The file stream. + The caller should dispose the stream when complete. + + + + A read-only file provider abstraction. + + + + + Locates a file at the given path. + + The relative path that identifies the file. + The file information. Caller must check Exists property. + + + + Enumerates a directory at the given path, if any. + + The relative path that identifies the directory. + The contents of the directory. + + + + Creates an for the specified . + + A filter string used to determine what files or folders to monitor. Examples: **/*.cs, *.*, subFolder/**/*.cshtml. + An that is notified when a file matching is added, modified, or deleted. + + + + Represents a nonexistent directory. + + + + + Gets a shared instance of . + + + + + Gets a value that's always . + + + + Returns an enumerator that iterates through the collection. + An enumerator to an empty collection. + + + + + + + Represents a nonexistent file. + + + + + Initializes an instance of . + + The name of the file that could not be found. + + + + Gets a value that's always . + + + + + Gets a value that's always . + + + + + Gets . + + + + + Gets a value that's always -1. + + + + + + + + Gets a value that's always . + + + + + Always throws. A stream cannot be created for a nonexistent file. + + In all cases. + Does not return. + + + + An empty change token that doesn't raise any change callbacks. + + + + + Gets a singleton instance of . + + + + + Gets a value that's always . + + + + + Gets a value that's always . + + + + + Always returns an empty disposable object. Callbacks will never be called. + + This parameter is ignored. + This parameter is ignored. + A disposable object that no-ops on dispose. + + + + An empty file provider with no contents. + + + + + Enumerates a nonexistent directory. + + A path under the root directory. This parameter is ignored. + A that does not exist and does not contain any contents. + + + + Locates a nonexistent file. + + A path under the root directory. + A representing a nonexistent file at the given path. + + + + Returns a that monitors nothing. + + Filter string used to determine what files or folders to monitor. This parameter is ignored. + A that does not register callbacks. + + + The file {0} does not exist. + + + diff --git a/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.FileProviders.Abstractions.xml b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.FileProviders.Abstractions.xml new file mode 100644 index 000000000..89ad3e094 --- /dev/null +++ b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.FileProviders.Abstractions.xml @@ -0,0 +1,394 @@ + + + + Microsoft.Extensions.FileProviders.Abstractions + + + + + Represents a directory's content in the file provider. + + + + + True if a directory was located at the given path. + + + + + Represents a file in the given file provider. + + + + + Gets a value that indicates if the resource exists in the underlying storage system. + + + + + Gets the length of the file in bytes, or -1 for a directory or nonexistent file. + + + + + Gets the path to the file, including the file name. Returns if the file is not directly accessible. + + + + + Gets the name of the file or directory, not including any path. + + + + + Gets the time when the file was last modified. + + + + + Gets a value that indicates whether TryGetDirectoryContents has enumerated a subdirectory. + + + + + Returns file contents as a read-only stream. + + The file stream. + The caller should dispose the stream when complete. + + + + A read-only file provider abstraction. + + + + + Locates a file at the given path. + + The relative path that identifies the file. + The file information. Caller must check Exists property. + + + + Enumerates a directory at the given path, if any. + + The relative path that identifies the directory. + The contents of the directory. + + + + Creates an for the specified . + + A filter string used to determine what files or folders to monitor. Examples: **/*.cs, *.*, subFolder/**/*.cshtml. + An that is notified when a file matching is added, modified, or deleted. + + + + Represents a nonexistent directory. + + + + + Gets a shared instance of . + + + + + Gets a value that's always . + + + + Returns an enumerator that iterates through the collection. + An enumerator to an empty collection. + + + + + + + Represents a nonexistent file. + + + + + Initializes an instance of . + + The name of the file that could not be found. + + + + Gets a value that's always . + + + + + Gets a value that's always . + + + + + Gets . + + + + + Gets a value that's always -1. + + + + + + + + Gets a value that's always . + + + + + Always throws. A stream cannot be created for a nonexistent file. + + In all cases. + Does not return. + + + + An empty change token that doesn't raise any change callbacks. + + + + + Gets a singleton instance of . + + + + + Gets a value that's always . + + + + + Gets a value that's always . + + + + + Always returns an empty disposable object. Callbacks will never be called. + + This parameter is ignored. + This parameter is ignored. + A disposable object that no-ops on dispose. + + + + An empty file provider with no contents. + + + + + Enumerates a nonexistent directory. + + A path under the root directory. This parameter is ignored. + A that does not exist and does not contain any contents. + + + + Locates a nonexistent file. + + A path under the root directory. + A representing a nonexistent file at the given path. + + + + Returns a that monitors nothing. + + Filter string used to determine what files or folders to monitor. This parameter is ignored. + A that does not register callbacks. + + + The file {0} does not exist. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.xml b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.xml new file mode 100644 index 000000000..977099223 --- /dev/null +++ b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.xml @@ -0,0 +1,211 @@ + + + + Microsoft.Extensions.FileProviders.Abstractions + + + + + Represents a directory's content in the file provider. + + + + + True if a directory was located at the given path. + + + + + Represents a file in the given file provider. + + + + + Gets a value that indicates if the resource exists in the underlying storage system. + + + + + Gets the length of the file in bytes, or -1 for a directory or nonexistent file. + + + + + Gets the path to the file, including the file name. Returns if the file is not directly accessible. + + + + + Gets the name of the file or directory, not including any path. + + + + + Gets the time when the file was last modified. + + + + + Gets a value that indicates whether TryGetDirectoryContents has enumerated a subdirectory. + + + + + Returns file contents as a read-only stream. + + The file stream. + The caller should dispose the stream when complete. + + + + A read-only file provider abstraction. + + + + + Locates a file at the given path. + + The relative path that identifies the file. + The file information. Caller must check Exists property. + + + + Enumerates a directory at the given path, if any. + + The relative path that identifies the directory. + The contents of the directory. + + + + Creates an for the specified . + + A filter string used to determine what files or folders to monitor. Examples: **/*.cs, *.*, subFolder/**/*.cshtml. + An that is notified when a file matching is added, modified, or deleted. + + + + Represents a nonexistent directory. + + + + + Gets a shared instance of . + + + + + Gets a value that's always . + + + + Returns an enumerator that iterates through the collection. + An enumerator to an empty collection. + + + + + + + Represents a nonexistent file. + + + + + Initializes an instance of . + + The name of the file that could not be found. + + + + Gets a value that's always . + + + + + Gets a value that's always . + + + + + Gets . + + + + + Gets a value that's always -1. + + + + + + + + Gets a value that's always . + + + + + Always throws. A stream cannot be created for a nonexistent file. + + In all cases. + Does not return. + + + + An empty change token that doesn't raise any change callbacks. + + + + + Gets a singleton instance of . + + + + + Gets a value that's always . + + + + + Gets a value that's always . + + + + + Always returns an empty disposable object. Callbacks will never be called. + + This parameter is ignored. + This parameter is ignored. + A disposable object that no-ops on dispose. + + + + An empty file provider with no contents. + + + + + Enumerates a nonexistent directory. + + A path under the root directory. This parameter is ignored. + A that does not exist and does not contain any contents. + + + + Locates a nonexistent file. + + A path under the root directory. + A representing a nonexistent file at the given path. + + + + Returns a that monitors nothing. + + Filter string used to determine what files or folders to monitor. This parameter is ignored. + A that does not register callbacks. + + + The file {0} does not exist. + + + diff --git a/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.FileProviders.Abstractions.xml b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.FileProviders.Abstractions.xml new file mode 100644 index 000000000..977099223 --- /dev/null +++ b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.FileProviders.Abstractions.xml @@ -0,0 +1,211 @@ + + + + Microsoft.Extensions.FileProviders.Abstractions + + + + + Represents a directory's content in the file provider. + + + + + True if a directory was located at the given path. + + + + + Represents a file in the given file provider. + + + + + Gets a value that indicates if the resource exists in the underlying storage system. + + + + + Gets the length of the file in bytes, or -1 for a directory or nonexistent file. + + + + + Gets the path to the file, including the file name. Returns if the file is not directly accessible. + + + + + Gets the name of the file or directory, not including any path. + + + + + Gets the time when the file was last modified. + + + + + Gets a value that indicates whether TryGetDirectoryContents has enumerated a subdirectory. + + + + + Returns file contents as a read-only stream. + + The file stream. + The caller should dispose the stream when complete. + + + + A read-only file provider abstraction. + + + + + Locates a file at the given path. + + The relative path that identifies the file. + The file information. Caller must check Exists property. + + + + Enumerates a directory at the given path, if any. + + The relative path that identifies the directory. + The contents of the directory. + + + + Creates an for the specified . + + A filter string used to determine what files or folders to monitor. Examples: **/*.cs, *.*, subFolder/**/*.cshtml. + An that is notified when a file matching is added, modified, or deleted. + + + + Represents a nonexistent directory. + + + + + Gets a shared instance of . + + + + + Gets a value that's always . + + + + Returns an enumerator that iterates through the collection. + An enumerator to an empty collection. + + + + + + + Represents a nonexistent file. + + + + + Initializes an instance of . + + The name of the file that could not be found. + + + + Gets a value that's always . + + + + + Gets a value that's always . + + + + + Gets . + + + + + Gets a value that's always -1. + + + + + + + + Gets a value that's always . + + + + + Always throws. A stream cannot be created for a nonexistent file. + + In all cases. + Does not return. + + + + An empty change token that doesn't raise any change callbacks. + + + + + Gets a singleton instance of . + + + + + Gets a value that's always . + + + + + Gets a value that's always . + + + + + Always returns an empty disposable object. Callbacks will never be called. + + This parameter is ignored. + This parameter is ignored. + A disposable object that no-ops on dispose. + + + + An empty file provider with no contents. + + + + + Enumerates a nonexistent directory. + + A path under the root directory. This parameter is ignored. + A that does not exist and does not contain any contents. + + + + Locates a nonexistent file. + + A path under the root directory. + A representing a nonexistent file at the given path. + + + + Returns a that monitors nothing. + + Filter string used to determine what files or folders to monitor. This parameter is ignored. + A that does not register callbacks. + + + The file {0} does not exist. + + + diff --git a/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.xml b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.xml new file mode 100644 index 000000000..89ad3e094 --- /dev/null +++ b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.xml @@ -0,0 +1,394 @@ + + + + Microsoft.Extensions.FileProviders.Abstractions + + + + + Represents a directory's content in the file provider. + + + + + True if a directory was located at the given path. + + + + + Represents a file in the given file provider. + + + + + Gets a value that indicates if the resource exists in the underlying storage system. + + + + + Gets the length of the file in bytes, or -1 for a directory or nonexistent file. + + + + + Gets the path to the file, including the file name. Returns if the file is not directly accessible. + + + + + Gets the name of the file or directory, not including any path. + + + + + Gets the time when the file was last modified. + + + + + Gets a value that indicates whether TryGetDirectoryContents has enumerated a subdirectory. + + + + + Returns file contents as a read-only stream. + + The file stream. + The caller should dispose the stream when complete. + + + + A read-only file provider abstraction. + + + + + Locates a file at the given path. + + The relative path that identifies the file. + The file information. Caller must check Exists property. + + + + Enumerates a directory at the given path, if any. + + The relative path that identifies the directory. + The contents of the directory. + + + + Creates an for the specified . + + A filter string used to determine what files or folders to monitor. Examples: **/*.cs, *.*, subFolder/**/*.cshtml. + An that is notified when a file matching is added, modified, or deleted. + + + + Represents a nonexistent directory. + + + + + Gets a shared instance of . + + + + + Gets a value that's always . + + + + Returns an enumerator that iterates through the collection. + An enumerator to an empty collection. + + + + + + + Represents a nonexistent file. + + + + + Initializes an instance of . + + The name of the file that could not be found. + + + + Gets a value that's always . + + + + + Gets a value that's always . + + + + + Gets . + + + + + Gets a value that's always -1. + + + + + + + + Gets a value that's always . + + + + + Always throws. A stream cannot be created for a nonexistent file. + + In all cases. + Does not return. + + + + An empty change token that doesn't raise any change callbacks. + + + + + Gets a singleton instance of . + + + + + Gets a value that's always . + + + + + Gets a value that's always . + + + + + Always returns an empty disposable object. Callbacks will never be called. + + This parameter is ignored. + This parameter is ignored. + A disposable object that no-ops on dispose. + + + + An empty file provider with no contents. + + + + + Enumerates a nonexistent directory. + + A path under the root directory. This parameter is ignored. + A that does not exist and does not contain any contents. + + + + Locates a nonexistent file. + + A path under the root directory. + A representing a nonexistent file at the given path. + + + + Returns a that monitors nothing. + + Filter string used to determine what files or folders to monitor. This parameter is ignored. + A that does not register callbacks. + + + The file {0} does not exist. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.fileproviders.abstractions.10.0.0-rc.2.25502.107.nupkg b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.fileproviders.abstractions.10.0.0-rc.2.25502.107.nupkg new file mode 100644 index 000000000..c9f6d39cb Binary files /dev/null and b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.fileproviders.abstractions.10.0.0-rc.2.25502.107.nupkg differ diff --git a/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.fileproviders.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.fileproviders.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..a08af754f --- /dev/null +++ b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.fileproviders.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +XXEaDg+lUAWxOMML/ip80n5T04QBqSu+oC878Jq8Lno2qZLWoheu5Nn85Ex/zJvByfEDXDMcUugWZW0ExxY+bg== \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nugets/microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..0af9c8b4b --- /dev/null +++ b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "M6zqZFbqjdCx8g5Y2XZKTfYfS0gAh4uJkmdAq/ZRDrpIr3Nd+u74allmw15jX1kM61IXM49EnTbhMzlWw5pGVQ==", + "source": "/mnt/e/dev/git.stella-ops.org/local-nugets" +} \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/.signature.p7s b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..abc13b56d Binary files /dev/null and b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/Icon.png b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/Microsoft.Extensions.Hosting.Abstractions.nuspec b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/Microsoft.Extensions.Hosting.Abstractions.nuspec new file mode 100644 index 000000000..5999cd032 --- /dev/null +++ b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/Microsoft.Extensions.Hosting.Abstractions.nuspec @@ -0,0 +1,66 @@ + + + + Microsoft.Extensions.Hosting.Abstractions + 10.0.0-rc.2.25502.107 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + PACKAGE.md + https://dot.net/ + Hosting and startup abstractions for applications. + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/PACKAGE.md b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/PACKAGE.md new file mode 100644 index 000000000..f017c0b71 --- /dev/null +++ b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/PACKAGE.md @@ -0,0 +1,43 @@ +## About +Contains abstractions to host user code in an application by encapsulating an application's resources and lifetime functionality including: +- Dependency injection (DI). +- Logging. +- Configuration. +- Starting, stopping and obtaining notifications. + +This package is also used to wire up specific application models like ASP.NET Core that are built on top of hosting. + +## Key Features +* Provides the `BackgroundService` base class and the `IHostedService` interface for implementing worker services. +* Provides interfaces used to configure and start\stop a host. +* Provides types to obtain environment settings such as an application name and paths. + +## How to Use +See the Conceptual documentation below for using `BackgroundService` and `IHostedService` to host worker services. + +## Main Types +The main types provided by this library are: + +* `Microsoft.Extensions.Hosting.BackgroundService` +* `Microsoft.Extensions.Hosting.IHostBuilder` +* `Microsoft.Extensions.Hosting.IHostedService` + +## Additional Documentation +* Conceptual documentation + - [Worker services in .NET](https://learn.microsoft.com/dotnet/core/extensions/workers) + - [Implement the IHostedService interface](https://learn.microsoft.com/dotnet/core/extensions/timer-service) +* API documentation + - [BackgroundService](https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.backgroundservice) + - [IHostBuilder](https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.ihostbuilder) + - [IHostedService](https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.ihostedservice) + +## Related Packages +- `Microsoft.Extensions.Hosting` +- `Microsoft.Extensions.Configuration.Abstractions` +- `Microsoft.Extensions.DependencyInjection.Abstractions` +- `Microsoft.Extensions.Diagnostics.Abstractions` +- `Microsoft.Extensions.FileProviders.Abstractions` +- `Microsoft.Extensions.Logging.Abstractions` + +## Feedback & Contributing +Microsoft.Extensions.Hosting.Abstractions is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). diff --git a/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Hosting.Abstractions.targets b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Hosting.Abstractions.targets new file mode 100644 index 000000000..7d0bf7eb3 --- /dev/null +++ b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Hosting.Abstractions.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Hosting.Abstractions.targets b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Hosting.Abstractions.targets new file mode 100644 index 000000000..e14f7d10a --- /dev/null +++ b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Hosting.Abstractions.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.xml b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.xml new file mode 100644 index 000000000..1fb11a7d8 --- /dev/null +++ b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.xml @@ -0,0 +1,690 @@ + + + + Microsoft.Extensions.Hosting.Abstractions + + + + + Base class for implementing a long running . + + + + + Gets the Task that executes the background operation. + + + Will return if the background operation hasn't started. + + + + + This method is called when the starts. The implementation should return a task that represents + the lifetime of the long running operation(s) being performed. + + Triggered when is called. + A that represents the long running operations. + See Worker Services in .NET for implementation guidelines. + + + + Triggered when the application host is ready to start the service. + + Indicates that the start process has been aborted. + A that represents the asynchronous Start operation. + + + + Triggered when the application host is performing a graceful shutdown. + + Indicates that the shutdown process should no longer be graceful. + A that represents the asynchronous Stop operation. + + + + + + + Commonly used environment names. + + This type is obsolete and will be removed in a future version. + The recommended alternative is Microsoft.Extensions.Hosting.Environments. + + + + + + The name of the Development environment. + + + + + The name of the Staging environment. + + + + + The name of the Production environment. + + + + + Commonly used environment names. + + + + + Specifies the Development environment. + + The development environment can enable features that shouldn't be exposed in production. Because of the performance cost, scope validation and dependency validation only happens in development. + + + + Specifies the Staging environment. + + The staging environment can be used to validate app changes before changing the environment to production. + + + + Specifies the Production environment. + + The production environment should be configured to maximize security, performance, and application robustness. + + + + The exception that is thrown when an is stopped to indicate the Host is stopping gracefully. This exception should not be thrown or handled by user code. + + + + + Initializes a new instance of the class + with a system-supplied error message. + + + + + Initializes a new instance of the class + with a specified error message. + + + The error message that explains the reason for the exception. + + + The content of is intended to be understood by humans. + The caller of this constructor is required to ensure that this string has been localized for the + current system culture. + + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + + The error message that explains the reason for the exception. + + + The exception that is the cause of the current exception. + + + The content of is intended to be understood by humans. + The caller of this constructor is required to ensure that this string has been localized for the + current system culture. + + + + + Context containing the common services on the . Some properties may be null until set by the . + + + + + Initializes a new instance of . + + A non-null for sharing state between components during the host building process. + + + + The initialized by the . + + + + + The containing the merged configuration of the application and the . + + + + + A central location for sharing state between components during the host building process. + + + + + Constants for HostBuilder configuration keys. + + + + + The configuration key used to set . + + + + + The configuration key used to set . + + + + + The configuration key used to set + and . + + + + + Extension methods for . + + + + + Checks if the current host environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current host environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current host environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Compares the current host environment name against the specified value. + + An instance of . + Environment name to validate against. + if the specified name is the same as the current environment, otherwise . + + + + Provides extension methods for the from the hosting abstractions package. + + + + + Builds and starts the host. + + The to start. + The started . + + + + Builds and starts the host. + + The to start. + A that can be used to cancel the start. + The started . + + + + Provides extension methods for the from the hosting abstractions package. + + + + + Starts the host synchronously. + + The to start. + + + + Attempts to gracefully stop the host with the given timeout. + + The to stop. + The timeout for stopping gracefully. Once expired the + server may terminate any remaining active connections. + The that represents the asynchronous operation. + + + + Blocks the calling thread until shutdown is triggered via Ctrl+C or SIGTERM. + + The running . + + + + Runs an application and blocks the calling thread until host shutdown is triggered and all instances are stopped. + + The to run. + + + + Runs an application and returns a that only completes when the token is triggered or shutdown is triggered. + The instance is disposed of after running. + + The to run. + The token to trigger shutdown. + The that represents the asynchronous operation. + + + + Returns a Task that completes when shutdown is triggered via the given token. + + The running . + The token to trigger shutdown. + The that represents the asynchronous operation. + + + + Extension methods for . + + + + + Checks if the current hosting environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current hosting environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current hosting environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Compares the current hosting environment name against the specified value. + + An instance of . + Environment name to validate against. + if the specified name is the same as the current environment, otherwise . + + + + Allows consumers to perform cleanup during a graceful shutdown. + + This type is obsolete and will be removed in a future version. + The recommended alternative is Microsoft.Extensions.Hosting.IHostApplicationLifetime. + + + + + + Gets a cancellation token. Triggered when the application host has fully started and is about to wait + for a graceful shutdown. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + Requests may still be in flight. Shutdown will block until this event completes. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + All requests should be complete at this point. Shutdown will block + until this event completes. + + + + + Requests termination of the current application. + + + + + A program abstraction. + + + + + Gets the services configured for the program (for example, using ). + + + + + Starts the objects configured for the program. + The application will run until interrupted or until is called. + + Used to abort program start. + A that will be completed when the starts. + + + + Attempts to gracefully stop the program. + + Used to indicate when stop should no longer be graceful. + A that will be completed when the stops. + + + + Represents a hosted applications and services builder which helps manage configuration, logging, lifetime, and more. + + + + + Gets a central location for sharing state between components during the host building process. + + + + + Gets the set of key/value configuration properties. + + + This can be mutated by adding more configuration sources, which will update its current view. + + + + + Gets the information about the hosting environment an application is running in. + + + + + Gets a collection of logging providers for the application to compose. This is useful for adding new logging providers. + + + + + Gets a builder that allows enabling metrics and directing their output. + + + + + Gets a collection of services for the application to compose. This is useful for adding user provided or framework provided services. + + + + + Registers a instance to be used to create the . + + The factory object that can create the and . + + A delegate used to configure the . This can be used to configure services using + APIS specific to the implementation. + + The type of builder provided by the . + + + The is created when this builder is built and so the delegate provided + by will run after all other services have been registered. + + + Multiple calls to will replace + the previously stored and delegate. + + + + + + Allows consumers to be notified of application lifetime events. This interface is not intended to be user-replaceable. + + + + + Gets a cancellation token. Triggered when the application host has fully started. + + + + + Gets a cancellation token. Triggered when the application host is starting a graceful shutdown. + Shutdown will block until all callbacks registered on this token have completed. + + + + + Gets a cancellation token. Triggered when the application host has completed a graceful shutdown. + The application will not exit until all callbacks registered on this token have completed. + + + + + Requests termination of the current application. + + + + + A program initialization abstraction. + + + + + Gets a central location for sharing state between components during the host building process. + + + + + Sets up the configuration for the builder itself. This will be used to initialize the + for use later in the build process. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Sets up the configuration for the remainder of the build process and application. This can be called multiple times and + the results will be additive. The results will be available at for + subsequent operations, as well as in . + + The delegate for configuring the that will be used + to construct the for the application. + The same instance of the for chaining. + + + + Adds services to the container. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the . + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + The type of builder. + The factory to register. + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + The type of builder. + The factory to register. + The same instance of the for chaining. + + + + Enables configuring the instantiated dependency container. This can be called multiple times and + the results will be additive. + + The type of builder. + The delegate which configures the builder. + The same instance of the for chaining. + + + + Runs the given actions to initialize the host. This can only be called once. + + An initialized . + + + + Defines methods that are run before or after + and + . + + + + + Triggered before . + + Indicates that the start process has been aborted. + A that represents the asynchronous operation. + + + + Triggered after . + + Indicates that the start process has been aborted. + A that represents the asynchronous operation. + + + + Triggered before . + + Indicates that the start process has been aborted. + A that represents the asynchronous operation. + + + + Triggered after . + + Indicates that the stop process has been aborted. + A that represents the asynchronous operation. + + + + Defines methods for objects that are managed by the host. + + + + + Triggered when the application host is ready to start the service. + + Indicates that the start process has been aborted. + A that represents the asynchronous Start operation. + + + + Triggered when the application host is performing a graceful shutdown. + + Indicates that the shutdown process should no longer be graceful. + A that represents the asynchronous Stop operation. + + + + Provides information about the hosting environment an application is running in. + + + + + Gets or sets the name of the environment. The host automatically sets this property to the value of the + "environment" key as specified in configuration. + + + + + Gets or sets the name of the application. This property is automatically set by the host to the assembly containing + the application entry point. + + + + + Gets or sets the absolute path to the directory that contains the application content files. + + + + + Gets or sets an pointing at . + + + + + Provides information about the hosting environment an application is running in. + + This type is obsolete and will be removed in a future version. + The recommended alternative is Microsoft.Extensions.Hosting.IHostEnvironment. + + + + + + Gets or sets the name of the environment. The host automatically sets this property to the value of the + of the "environment" key as specified in configuration. + + + + + Gets or sets the name of the application. This property is automatically set by the host to the assembly containing + the application entry point. + + + + + Gets or sets the absolute path to the directory that contains the application content files. + + + + + Gets or sets an pointing at . + + + + + Tracks host lifetime. + + + + + Called at the start of which will wait until it's complete before + continuing. This can be used to delay startup until signaled by an external event. + + Used to abort program start. + A . + + + + Called from to indicate that the host is stopping and it's time to shut down. + + Used to indicate when stop should no longer be graceful. + A . + + + + Extension methods for adding hosted services to an . + + + + + Add an registration for the given type. + + An to register. + The to register with. + The original . + + + + Add an registration for the given type. + + An to register. + The to register with. + A factory to create new instances of the service implementation. + The original . + + + The host was aborted. + + + diff --git a/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Hosting.Abstractions.xml b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Hosting.Abstractions.xml new file mode 100644 index 000000000..a50d4fe6d --- /dev/null +++ b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Hosting.Abstractions.xml @@ -0,0 +1,1084 @@ + + + + Microsoft.Extensions.Hosting.Abstractions + + + + + Base class for implementing a long running . + + + + + Gets the Task that executes the background operation. + + + Will return if the background operation hasn't started. + + + + + This method is called when the starts. The implementation should return a task that represents + the lifetime of the long running operation(s) being performed. + + Triggered when is called. + A that represents the long running operations. + See Worker Services in .NET for implementation guidelines. + + + + Triggered when the application host is ready to start the service. + + Indicates that the start process has been aborted. + A that represents the asynchronous Start operation. + + + + Triggered when the application host is performing a graceful shutdown. + + Indicates that the shutdown process should no longer be graceful. + A that represents the asynchronous Stop operation. + + + + + + + Commonly used environment names. + + This type is obsolete and will be removed in a future version. + The recommended alternative is Microsoft.Extensions.Hosting.Environments. + + + + + + The name of the Development environment. + + + + + The name of the Staging environment. + + + + + The name of the Production environment. + + + + + Commonly used environment names. + + + + + Specifies the Development environment. + + The development environment can enable features that shouldn't be exposed in production. Because of the performance cost, scope validation and dependency validation only happens in development. + + + + Specifies the Staging environment. + + The staging environment can be used to validate app changes before changing the environment to production. + + + + Specifies the Production environment. + + The production environment should be configured to maximize security, performance, and application robustness. + + + + The exception that is thrown when an is stopped to indicate the Host is stopping gracefully. This exception should not be thrown or handled by user code. + + + + + Initializes a new instance of the class + with a system-supplied error message. + + + + + Initializes a new instance of the class + with a specified error message. + + + The error message that explains the reason for the exception. + + + The content of is intended to be understood by humans. + The caller of this constructor is required to ensure that this string has been localized for the + current system culture. + + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + + The error message that explains the reason for the exception. + + + The exception that is the cause of the current exception. + + + The content of is intended to be understood by humans. + The caller of this constructor is required to ensure that this string has been localized for the + current system culture. + + + + + Context containing the common services on the . Some properties may be null until set by the . + + + + + Initializes a new instance of . + + A non-null for sharing state between components during the host building process. + + + + The initialized by the . + + + + + The containing the merged configuration of the application and the . + + + + + A central location for sharing state between components during the host building process. + + + + + Constants for HostBuilder configuration keys. + + + + + The configuration key used to set . + + + + + The configuration key used to set . + + + + + The configuration key used to set + and . + + + + + Extension methods for . + + + + + Checks if the current host environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current host environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current host environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Compares the current host environment name against the specified value. + + An instance of . + Environment name to validate against. + if the specified name is the same as the current environment, otherwise . + + + + Provides extension methods for the from the hosting abstractions package. + + + + + Builds and starts the host. + + The to start. + The started . + + + + Builds and starts the host. + + The to start. + A that can be used to cancel the start. + The started . + + + + Provides extension methods for the from the hosting abstractions package. + + + + + Starts the host synchronously. + + The to start. + + + + Attempts to gracefully stop the host with the given timeout. + + The to stop. + The timeout for stopping gracefully. Once expired the + server may terminate any remaining active connections. + The that represents the asynchronous operation. + + + + Blocks the calling thread until shutdown is triggered via Ctrl+C or SIGTERM. + + The running . + + + + Runs an application and blocks the calling thread until host shutdown is triggered and all instances are stopped. + + The to run. + + + + Runs an application and returns a that only completes when the token is triggered or shutdown is triggered. + The instance is disposed of after running. + + The to run. + The token to trigger shutdown. + The that represents the asynchronous operation. + + + + Returns a Task that completes when shutdown is triggered via the given token. + + The running . + The token to trigger shutdown. + The that represents the asynchronous operation. + + + + Extension methods for . + + + + + Checks if the current hosting environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current hosting environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current hosting environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Compares the current hosting environment name against the specified value. + + An instance of . + Environment name to validate against. + if the specified name is the same as the current environment, otherwise . + + + + Allows consumers to perform cleanup during a graceful shutdown. + + This type is obsolete and will be removed in a future version. + The recommended alternative is Microsoft.Extensions.Hosting.IHostApplicationLifetime. + + + + + + Gets a cancellation token. Triggered when the application host has fully started and is about to wait + for a graceful shutdown. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + Requests may still be in flight. Shutdown will block until this event completes. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + All requests should be complete at this point. Shutdown will block + until this event completes. + + + + + Requests termination of the current application. + + + + + A program abstraction. + + + + + Gets the services configured for the program (for example, using ). + + + + + Starts the objects configured for the program. + The application will run until interrupted or until is called. + + Used to abort program start. + A that will be completed when the starts. + + + + Attempts to gracefully stop the program. + + Used to indicate when stop should no longer be graceful. + A that will be completed when the stops. + + + + Represents a hosted applications and services builder which helps manage configuration, logging, lifetime, and more. + + + + + Gets a central location for sharing state between components during the host building process. + + + + + Gets the set of key/value configuration properties. + + + This can be mutated by adding more configuration sources, which will update its current view. + + + + + Gets the information about the hosting environment an application is running in. + + + + + Gets a collection of logging providers for the application to compose. This is useful for adding new logging providers. + + + + + Gets a builder that allows enabling metrics and directing their output. + + + + + Gets a collection of services for the application to compose. This is useful for adding user provided or framework provided services. + + + + + Registers a instance to be used to create the . + + The factory object that can create the and . + + A delegate used to configure the . This can be used to configure services using + APIS specific to the implementation. + + The type of builder provided by the . + + + The is created when this builder is built and so the delegate provided + by will run after all other services have been registered. + + + Multiple calls to will replace + the previously stored and delegate. + + + + + + Allows consumers to be notified of application lifetime events. This interface is not intended to be user-replaceable. + + + + + Gets a cancellation token. Triggered when the application host has fully started. + + + + + Gets a cancellation token. Triggered when the application host is starting a graceful shutdown. + Shutdown will block until all callbacks registered on this token have completed. + + + + + Gets a cancellation token. Triggered when the application host has completed a graceful shutdown. + The application will not exit until all callbacks registered on this token have completed. + + + + + Requests termination of the current application. + + + + + A program initialization abstraction. + + + + + Gets a central location for sharing state between components during the host building process. + + + + + Sets up the configuration for the builder itself. This will be used to initialize the + for use later in the build process. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Sets up the configuration for the remainder of the build process and application. This can be called multiple times and + the results will be additive. The results will be available at for + subsequent operations, as well as in . + + The delegate for configuring the that will be used + to construct the for the application. + The same instance of the for chaining. + + + + Adds services to the container. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the . + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + The type of builder. + The factory to register. + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + The type of builder. + The factory to register. + The same instance of the for chaining. + + + + Enables configuring the instantiated dependency container. This can be called multiple times and + the results will be additive. + + The type of builder. + The delegate which configures the builder. + The same instance of the for chaining. + + + + Runs the given actions to initialize the host. This can only be called once. + + An initialized . + + + + Defines methods that are run before or after + and + . + + + + + Triggered before . + + Indicates that the start process has been aborted. + A that represents the asynchronous operation. + + + + Triggered after . + + Indicates that the start process has been aborted. + A that represents the asynchronous operation. + + + + Triggered before . + + Indicates that the start process has been aborted. + A that represents the asynchronous operation. + + + + Triggered after . + + Indicates that the stop process has been aborted. + A that represents the asynchronous operation. + + + + Defines methods for objects that are managed by the host. + + + + + Triggered when the application host is ready to start the service. + + Indicates that the start process has been aborted. + A that represents the asynchronous Start operation. + + + + Triggered when the application host is performing a graceful shutdown. + + Indicates that the shutdown process should no longer be graceful. + A that represents the asynchronous Stop operation. + + + + Provides information about the hosting environment an application is running in. + + + + + Gets or sets the name of the environment. The host automatically sets this property to the value of the + "environment" key as specified in configuration. + + + + + Gets or sets the name of the application. This property is automatically set by the host to the assembly containing + the application entry point. + + + + + Gets or sets the absolute path to the directory that contains the application content files. + + + + + Gets or sets an pointing at . + + + + + Provides information about the hosting environment an application is running in. + + This type is obsolete and will be removed in a future version. + The recommended alternative is Microsoft.Extensions.Hosting.IHostEnvironment. + + + + + + Gets or sets the name of the environment. The host automatically sets this property to the value of the + of the "environment" key as specified in configuration. + + + + + Gets or sets the name of the application. This property is automatically set by the host to the assembly containing + the application entry point. + + + + + Gets or sets the absolute path to the directory that contains the application content files. + + + + + Gets or sets an pointing at . + + + + + Tracks host lifetime. + + + + + Called at the start of which will wait until it's complete before + continuing. This can be used to delay startup until signaled by an external event. + + Used to abort program start. + A . + + + + Called from to indicate that the host is stopping and it's time to shut down. + + Used to indicate when stop should no longer be graceful. + A . + + + + Extension methods for adding hosted services to an . + + + + + Add an registration for the given type. + + An to register. + The to register with. + The original . + + + + Add an registration for the given type. + + An to register. + The to register with. + A factory to create new instances of the service implementation. + The original . + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all non-public constructors, including those inherited from base classes. + + + + + Specifies all non-public methods, including those inherited from base classes. + + + + + Specifies all non-public fields, including those inherited from base classes. + + + + + Specifies all non-public nested types, including those inherited from base classes. + + + + + Specifies all non-public properties, including those inherited from base classes. + + + + + Specifies all non-public events, including those inherited from base classes. + + + + + Specifies all public constructors, including those inherited from base classes. + + + + + Specifies all public nested types, including those inherited from base classes. + + + + + Specifies all constructors, including those inherited from base classes. + + + + + Specifies all methods, including those inherited from base classes. + + + + + Specifies all fields, including those inherited from base classes. + + + + + Specifies all nested types, including those inherited from base classes. + + + + + Specifies all properties, including those inherited from base classes. + + + + + Specifies all events, including those inherited from base classes. + + + + + Specifies all members. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + + When applied to an attribute class, instructs the compiler to flow applications of that attribute, + from source code down to compiler-generated symbols. This can help IL-based analysis tools. + + + One example where this attribute applies is in C# primary constructor parameters. If an attribute + marked with gets applied to a primary constructor + parameter, the attribute will also be applied to any compiler-generated fields storing that parameter. + + + + + Initializes a new instance of the class. + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + The host was aborted. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Hosting.Abstractions.xml b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Hosting.Abstractions.xml new file mode 100644 index 000000000..1fb11a7d8 --- /dev/null +++ b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Hosting.Abstractions.xml @@ -0,0 +1,690 @@ + + + + Microsoft.Extensions.Hosting.Abstractions + + + + + Base class for implementing a long running . + + + + + Gets the Task that executes the background operation. + + + Will return if the background operation hasn't started. + + + + + This method is called when the starts. The implementation should return a task that represents + the lifetime of the long running operation(s) being performed. + + Triggered when is called. + A that represents the long running operations. + See Worker Services in .NET for implementation guidelines. + + + + Triggered when the application host is ready to start the service. + + Indicates that the start process has been aborted. + A that represents the asynchronous Start operation. + + + + Triggered when the application host is performing a graceful shutdown. + + Indicates that the shutdown process should no longer be graceful. + A that represents the asynchronous Stop operation. + + + + + + + Commonly used environment names. + + This type is obsolete and will be removed in a future version. + The recommended alternative is Microsoft.Extensions.Hosting.Environments. + + + + + + The name of the Development environment. + + + + + The name of the Staging environment. + + + + + The name of the Production environment. + + + + + Commonly used environment names. + + + + + Specifies the Development environment. + + The development environment can enable features that shouldn't be exposed in production. Because of the performance cost, scope validation and dependency validation only happens in development. + + + + Specifies the Staging environment. + + The staging environment can be used to validate app changes before changing the environment to production. + + + + Specifies the Production environment. + + The production environment should be configured to maximize security, performance, and application robustness. + + + + The exception that is thrown when an is stopped to indicate the Host is stopping gracefully. This exception should not be thrown or handled by user code. + + + + + Initializes a new instance of the class + with a system-supplied error message. + + + + + Initializes a new instance of the class + with a specified error message. + + + The error message that explains the reason for the exception. + + + The content of is intended to be understood by humans. + The caller of this constructor is required to ensure that this string has been localized for the + current system culture. + + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + + The error message that explains the reason for the exception. + + + The exception that is the cause of the current exception. + + + The content of is intended to be understood by humans. + The caller of this constructor is required to ensure that this string has been localized for the + current system culture. + + + + + Context containing the common services on the . Some properties may be null until set by the . + + + + + Initializes a new instance of . + + A non-null for sharing state between components during the host building process. + + + + The initialized by the . + + + + + The containing the merged configuration of the application and the . + + + + + A central location for sharing state between components during the host building process. + + + + + Constants for HostBuilder configuration keys. + + + + + The configuration key used to set . + + + + + The configuration key used to set . + + + + + The configuration key used to set + and . + + + + + Extension methods for . + + + + + Checks if the current host environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current host environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current host environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Compares the current host environment name against the specified value. + + An instance of . + Environment name to validate against. + if the specified name is the same as the current environment, otherwise . + + + + Provides extension methods for the from the hosting abstractions package. + + + + + Builds and starts the host. + + The to start. + The started . + + + + Builds and starts the host. + + The to start. + A that can be used to cancel the start. + The started . + + + + Provides extension methods for the from the hosting abstractions package. + + + + + Starts the host synchronously. + + The to start. + + + + Attempts to gracefully stop the host with the given timeout. + + The to stop. + The timeout for stopping gracefully. Once expired the + server may terminate any remaining active connections. + The that represents the asynchronous operation. + + + + Blocks the calling thread until shutdown is triggered via Ctrl+C or SIGTERM. + + The running . + + + + Runs an application and blocks the calling thread until host shutdown is triggered and all instances are stopped. + + The to run. + + + + Runs an application and returns a that only completes when the token is triggered or shutdown is triggered. + The instance is disposed of after running. + + The to run. + The token to trigger shutdown. + The that represents the asynchronous operation. + + + + Returns a Task that completes when shutdown is triggered via the given token. + + The running . + The token to trigger shutdown. + The that represents the asynchronous operation. + + + + Extension methods for . + + + + + Checks if the current hosting environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current hosting environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current hosting environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Compares the current hosting environment name against the specified value. + + An instance of . + Environment name to validate against. + if the specified name is the same as the current environment, otherwise . + + + + Allows consumers to perform cleanup during a graceful shutdown. + + This type is obsolete and will be removed in a future version. + The recommended alternative is Microsoft.Extensions.Hosting.IHostApplicationLifetime. + + + + + + Gets a cancellation token. Triggered when the application host has fully started and is about to wait + for a graceful shutdown. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + Requests may still be in flight. Shutdown will block until this event completes. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + All requests should be complete at this point. Shutdown will block + until this event completes. + + + + + Requests termination of the current application. + + + + + A program abstraction. + + + + + Gets the services configured for the program (for example, using ). + + + + + Starts the objects configured for the program. + The application will run until interrupted or until is called. + + Used to abort program start. + A that will be completed when the starts. + + + + Attempts to gracefully stop the program. + + Used to indicate when stop should no longer be graceful. + A that will be completed when the stops. + + + + Represents a hosted applications and services builder which helps manage configuration, logging, lifetime, and more. + + + + + Gets a central location for sharing state between components during the host building process. + + + + + Gets the set of key/value configuration properties. + + + This can be mutated by adding more configuration sources, which will update its current view. + + + + + Gets the information about the hosting environment an application is running in. + + + + + Gets a collection of logging providers for the application to compose. This is useful for adding new logging providers. + + + + + Gets a builder that allows enabling metrics and directing their output. + + + + + Gets a collection of services for the application to compose. This is useful for adding user provided or framework provided services. + + + + + Registers a instance to be used to create the . + + The factory object that can create the and . + + A delegate used to configure the . This can be used to configure services using + APIS specific to the implementation. + + The type of builder provided by the . + + + The is created when this builder is built and so the delegate provided + by will run after all other services have been registered. + + + Multiple calls to will replace + the previously stored and delegate. + + + + + + Allows consumers to be notified of application lifetime events. This interface is not intended to be user-replaceable. + + + + + Gets a cancellation token. Triggered when the application host has fully started. + + + + + Gets a cancellation token. Triggered when the application host is starting a graceful shutdown. + Shutdown will block until all callbacks registered on this token have completed. + + + + + Gets a cancellation token. Triggered when the application host has completed a graceful shutdown. + The application will not exit until all callbacks registered on this token have completed. + + + + + Requests termination of the current application. + + + + + A program initialization abstraction. + + + + + Gets a central location for sharing state between components during the host building process. + + + + + Sets up the configuration for the builder itself. This will be used to initialize the + for use later in the build process. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Sets up the configuration for the remainder of the build process and application. This can be called multiple times and + the results will be additive. The results will be available at for + subsequent operations, as well as in . + + The delegate for configuring the that will be used + to construct the for the application. + The same instance of the for chaining. + + + + Adds services to the container. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the . + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + The type of builder. + The factory to register. + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + The type of builder. + The factory to register. + The same instance of the for chaining. + + + + Enables configuring the instantiated dependency container. This can be called multiple times and + the results will be additive. + + The type of builder. + The delegate which configures the builder. + The same instance of the for chaining. + + + + Runs the given actions to initialize the host. This can only be called once. + + An initialized . + + + + Defines methods that are run before or after + and + . + + + + + Triggered before . + + Indicates that the start process has been aborted. + A that represents the asynchronous operation. + + + + Triggered after . + + Indicates that the start process has been aborted. + A that represents the asynchronous operation. + + + + Triggered before . + + Indicates that the start process has been aborted. + A that represents the asynchronous operation. + + + + Triggered after . + + Indicates that the stop process has been aborted. + A that represents the asynchronous operation. + + + + Defines methods for objects that are managed by the host. + + + + + Triggered when the application host is ready to start the service. + + Indicates that the start process has been aborted. + A that represents the asynchronous Start operation. + + + + Triggered when the application host is performing a graceful shutdown. + + Indicates that the shutdown process should no longer be graceful. + A that represents the asynchronous Stop operation. + + + + Provides information about the hosting environment an application is running in. + + + + + Gets or sets the name of the environment. The host automatically sets this property to the value of the + "environment" key as specified in configuration. + + + + + Gets or sets the name of the application. This property is automatically set by the host to the assembly containing + the application entry point. + + + + + Gets or sets the absolute path to the directory that contains the application content files. + + + + + Gets or sets an pointing at . + + + + + Provides information about the hosting environment an application is running in. + + This type is obsolete and will be removed in a future version. + The recommended alternative is Microsoft.Extensions.Hosting.IHostEnvironment. + + + + + + Gets or sets the name of the environment. The host automatically sets this property to the value of the + of the "environment" key as specified in configuration. + + + + + Gets or sets the name of the application. This property is automatically set by the host to the assembly containing + the application entry point. + + + + + Gets or sets the absolute path to the directory that contains the application content files. + + + + + Gets or sets an pointing at . + + + + + Tracks host lifetime. + + + + + Called at the start of which will wait until it's complete before + continuing. This can be used to delay startup until signaled by an external event. + + Used to abort program start. + A . + + + + Called from to indicate that the host is stopping and it's time to shut down. + + Used to indicate when stop should no longer be graceful. + A . + + + + Extension methods for adding hosted services to an . + + + + + Add an registration for the given type. + + An to register. + The to register with. + The original . + + + + Add an registration for the given type. + + An to register. + The to register with. + A factory to create new instances of the service implementation. + The original . + + + The host was aborted. + + + diff --git a/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Hosting.Abstractions.xml b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Hosting.Abstractions.xml new file mode 100644 index 000000000..1fb11a7d8 --- /dev/null +++ b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Hosting.Abstractions.xml @@ -0,0 +1,690 @@ + + + + Microsoft.Extensions.Hosting.Abstractions + + + + + Base class for implementing a long running . + + + + + Gets the Task that executes the background operation. + + + Will return if the background operation hasn't started. + + + + + This method is called when the starts. The implementation should return a task that represents + the lifetime of the long running operation(s) being performed. + + Triggered when is called. + A that represents the long running operations. + See Worker Services in .NET for implementation guidelines. + + + + Triggered when the application host is ready to start the service. + + Indicates that the start process has been aborted. + A that represents the asynchronous Start operation. + + + + Triggered when the application host is performing a graceful shutdown. + + Indicates that the shutdown process should no longer be graceful. + A that represents the asynchronous Stop operation. + + + + + + + Commonly used environment names. + + This type is obsolete and will be removed in a future version. + The recommended alternative is Microsoft.Extensions.Hosting.Environments. + + + + + + The name of the Development environment. + + + + + The name of the Staging environment. + + + + + The name of the Production environment. + + + + + Commonly used environment names. + + + + + Specifies the Development environment. + + The development environment can enable features that shouldn't be exposed in production. Because of the performance cost, scope validation and dependency validation only happens in development. + + + + Specifies the Staging environment. + + The staging environment can be used to validate app changes before changing the environment to production. + + + + Specifies the Production environment. + + The production environment should be configured to maximize security, performance, and application robustness. + + + + The exception that is thrown when an is stopped to indicate the Host is stopping gracefully. This exception should not be thrown or handled by user code. + + + + + Initializes a new instance of the class + with a system-supplied error message. + + + + + Initializes a new instance of the class + with a specified error message. + + + The error message that explains the reason for the exception. + + + The content of is intended to be understood by humans. + The caller of this constructor is required to ensure that this string has been localized for the + current system culture. + + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + + The error message that explains the reason for the exception. + + + The exception that is the cause of the current exception. + + + The content of is intended to be understood by humans. + The caller of this constructor is required to ensure that this string has been localized for the + current system culture. + + + + + Context containing the common services on the . Some properties may be null until set by the . + + + + + Initializes a new instance of . + + A non-null for sharing state between components during the host building process. + + + + The initialized by the . + + + + + The containing the merged configuration of the application and the . + + + + + A central location for sharing state between components during the host building process. + + + + + Constants for HostBuilder configuration keys. + + + + + The configuration key used to set . + + + + + The configuration key used to set . + + + + + The configuration key used to set + and . + + + + + Extension methods for . + + + + + Checks if the current host environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current host environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current host environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Compares the current host environment name against the specified value. + + An instance of . + Environment name to validate against. + if the specified name is the same as the current environment, otherwise . + + + + Provides extension methods for the from the hosting abstractions package. + + + + + Builds and starts the host. + + The to start. + The started . + + + + Builds and starts the host. + + The to start. + A that can be used to cancel the start. + The started . + + + + Provides extension methods for the from the hosting abstractions package. + + + + + Starts the host synchronously. + + The to start. + + + + Attempts to gracefully stop the host with the given timeout. + + The to stop. + The timeout for stopping gracefully. Once expired the + server may terminate any remaining active connections. + The that represents the asynchronous operation. + + + + Blocks the calling thread until shutdown is triggered via Ctrl+C or SIGTERM. + + The running . + + + + Runs an application and blocks the calling thread until host shutdown is triggered and all instances are stopped. + + The to run. + + + + Runs an application and returns a that only completes when the token is triggered or shutdown is triggered. + The instance is disposed of after running. + + The to run. + The token to trigger shutdown. + The that represents the asynchronous operation. + + + + Returns a Task that completes when shutdown is triggered via the given token. + + The running . + The token to trigger shutdown. + The that represents the asynchronous operation. + + + + Extension methods for . + + + + + Checks if the current hosting environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current hosting environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current hosting environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Compares the current hosting environment name against the specified value. + + An instance of . + Environment name to validate against. + if the specified name is the same as the current environment, otherwise . + + + + Allows consumers to perform cleanup during a graceful shutdown. + + This type is obsolete and will be removed in a future version. + The recommended alternative is Microsoft.Extensions.Hosting.IHostApplicationLifetime. + + + + + + Gets a cancellation token. Triggered when the application host has fully started and is about to wait + for a graceful shutdown. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + Requests may still be in flight. Shutdown will block until this event completes. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + All requests should be complete at this point. Shutdown will block + until this event completes. + + + + + Requests termination of the current application. + + + + + A program abstraction. + + + + + Gets the services configured for the program (for example, using ). + + + + + Starts the objects configured for the program. + The application will run until interrupted or until is called. + + Used to abort program start. + A that will be completed when the starts. + + + + Attempts to gracefully stop the program. + + Used to indicate when stop should no longer be graceful. + A that will be completed when the stops. + + + + Represents a hosted applications and services builder which helps manage configuration, logging, lifetime, and more. + + + + + Gets a central location for sharing state between components during the host building process. + + + + + Gets the set of key/value configuration properties. + + + This can be mutated by adding more configuration sources, which will update its current view. + + + + + Gets the information about the hosting environment an application is running in. + + + + + Gets a collection of logging providers for the application to compose. This is useful for adding new logging providers. + + + + + Gets a builder that allows enabling metrics and directing their output. + + + + + Gets a collection of services for the application to compose. This is useful for adding user provided or framework provided services. + + + + + Registers a instance to be used to create the . + + The factory object that can create the and . + + A delegate used to configure the . This can be used to configure services using + APIS specific to the implementation. + + The type of builder provided by the . + + + The is created when this builder is built and so the delegate provided + by will run after all other services have been registered. + + + Multiple calls to will replace + the previously stored and delegate. + + + + + + Allows consumers to be notified of application lifetime events. This interface is not intended to be user-replaceable. + + + + + Gets a cancellation token. Triggered when the application host has fully started. + + + + + Gets a cancellation token. Triggered when the application host is starting a graceful shutdown. + Shutdown will block until all callbacks registered on this token have completed. + + + + + Gets a cancellation token. Triggered when the application host has completed a graceful shutdown. + The application will not exit until all callbacks registered on this token have completed. + + + + + Requests termination of the current application. + + + + + A program initialization abstraction. + + + + + Gets a central location for sharing state between components during the host building process. + + + + + Sets up the configuration for the builder itself. This will be used to initialize the + for use later in the build process. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Sets up the configuration for the remainder of the build process and application. This can be called multiple times and + the results will be additive. The results will be available at for + subsequent operations, as well as in . + + The delegate for configuring the that will be used + to construct the for the application. + The same instance of the for chaining. + + + + Adds services to the container. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the . + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + The type of builder. + The factory to register. + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + The type of builder. + The factory to register. + The same instance of the for chaining. + + + + Enables configuring the instantiated dependency container. This can be called multiple times and + the results will be additive. + + The type of builder. + The delegate which configures the builder. + The same instance of the for chaining. + + + + Runs the given actions to initialize the host. This can only be called once. + + An initialized . + + + + Defines methods that are run before or after + and + . + + + + + Triggered before . + + Indicates that the start process has been aborted. + A that represents the asynchronous operation. + + + + Triggered after . + + Indicates that the start process has been aborted. + A that represents the asynchronous operation. + + + + Triggered before . + + Indicates that the start process has been aborted. + A that represents the asynchronous operation. + + + + Triggered after . + + Indicates that the stop process has been aborted. + A that represents the asynchronous operation. + + + + Defines methods for objects that are managed by the host. + + + + + Triggered when the application host is ready to start the service. + + Indicates that the start process has been aborted. + A that represents the asynchronous Start operation. + + + + Triggered when the application host is performing a graceful shutdown. + + Indicates that the shutdown process should no longer be graceful. + A that represents the asynchronous Stop operation. + + + + Provides information about the hosting environment an application is running in. + + + + + Gets or sets the name of the environment. The host automatically sets this property to the value of the + "environment" key as specified in configuration. + + + + + Gets or sets the name of the application. This property is automatically set by the host to the assembly containing + the application entry point. + + + + + Gets or sets the absolute path to the directory that contains the application content files. + + + + + Gets or sets an pointing at . + + + + + Provides information about the hosting environment an application is running in. + + This type is obsolete and will be removed in a future version. + The recommended alternative is Microsoft.Extensions.Hosting.IHostEnvironment. + + + + + + Gets or sets the name of the environment. The host automatically sets this property to the value of the + of the "environment" key as specified in configuration. + + + + + Gets or sets the name of the application. This property is automatically set by the host to the assembly containing + the application entry point. + + + + + Gets or sets the absolute path to the directory that contains the application content files. + + + + + Gets or sets an pointing at . + + + + + Tracks host lifetime. + + + + + Called at the start of which will wait until it's complete before + continuing. This can be used to delay startup until signaled by an external event. + + Used to abort program start. + A . + + + + Called from to indicate that the host is stopping and it's time to shut down. + + Used to indicate when stop should no longer be graceful. + A . + + + + Extension methods for adding hosted services to an . + + + + + Add an registration for the given type. + + An to register. + The to register with. + The original . + + + + Add an registration for the given type. + + An to register. + The to register with. + A factory to create new instances of the service implementation. + The original . + + + The host was aborted. + + + diff --git a/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.xml b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.xml new file mode 100644 index 000000000..a50d4fe6d --- /dev/null +++ b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.xml @@ -0,0 +1,1084 @@ + + + + Microsoft.Extensions.Hosting.Abstractions + + + + + Base class for implementing a long running . + + + + + Gets the Task that executes the background operation. + + + Will return if the background operation hasn't started. + + + + + This method is called when the starts. The implementation should return a task that represents + the lifetime of the long running operation(s) being performed. + + Triggered when is called. + A that represents the long running operations. + See Worker Services in .NET for implementation guidelines. + + + + Triggered when the application host is ready to start the service. + + Indicates that the start process has been aborted. + A that represents the asynchronous Start operation. + + + + Triggered when the application host is performing a graceful shutdown. + + Indicates that the shutdown process should no longer be graceful. + A that represents the asynchronous Stop operation. + + + + + + + Commonly used environment names. + + This type is obsolete and will be removed in a future version. + The recommended alternative is Microsoft.Extensions.Hosting.Environments. + + + + + + The name of the Development environment. + + + + + The name of the Staging environment. + + + + + The name of the Production environment. + + + + + Commonly used environment names. + + + + + Specifies the Development environment. + + The development environment can enable features that shouldn't be exposed in production. Because of the performance cost, scope validation and dependency validation only happens in development. + + + + Specifies the Staging environment. + + The staging environment can be used to validate app changes before changing the environment to production. + + + + Specifies the Production environment. + + The production environment should be configured to maximize security, performance, and application robustness. + + + + The exception that is thrown when an is stopped to indicate the Host is stopping gracefully. This exception should not be thrown or handled by user code. + + + + + Initializes a new instance of the class + with a system-supplied error message. + + + + + Initializes a new instance of the class + with a specified error message. + + + The error message that explains the reason for the exception. + + + The content of is intended to be understood by humans. + The caller of this constructor is required to ensure that this string has been localized for the + current system culture. + + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + + The error message that explains the reason for the exception. + + + The exception that is the cause of the current exception. + + + The content of is intended to be understood by humans. + The caller of this constructor is required to ensure that this string has been localized for the + current system culture. + + + + + Context containing the common services on the . Some properties may be null until set by the . + + + + + Initializes a new instance of . + + A non-null for sharing state between components during the host building process. + + + + The initialized by the . + + + + + The containing the merged configuration of the application and the . + + + + + A central location for sharing state between components during the host building process. + + + + + Constants for HostBuilder configuration keys. + + + + + The configuration key used to set . + + + + + The configuration key used to set . + + + + + The configuration key used to set + and . + + + + + Extension methods for . + + + + + Checks if the current host environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current host environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current host environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Compares the current host environment name against the specified value. + + An instance of . + Environment name to validate against. + if the specified name is the same as the current environment, otherwise . + + + + Provides extension methods for the from the hosting abstractions package. + + + + + Builds and starts the host. + + The to start. + The started . + + + + Builds and starts the host. + + The to start. + A that can be used to cancel the start. + The started . + + + + Provides extension methods for the from the hosting abstractions package. + + + + + Starts the host synchronously. + + The to start. + + + + Attempts to gracefully stop the host with the given timeout. + + The to stop. + The timeout for stopping gracefully. Once expired the + server may terminate any remaining active connections. + The that represents the asynchronous operation. + + + + Blocks the calling thread until shutdown is triggered via Ctrl+C or SIGTERM. + + The running . + + + + Runs an application and blocks the calling thread until host shutdown is triggered and all instances are stopped. + + The to run. + + + + Runs an application and returns a that only completes when the token is triggered or shutdown is triggered. + The instance is disposed of after running. + + The to run. + The token to trigger shutdown. + The that represents the asynchronous operation. + + + + Returns a Task that completes when shutdown is triggered via the given token. + + The running . + The token to trigger shutdown. + The that represents the asynchronous operation. + + + + Extension methods for . + + + + + Checks if the current hosting environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current hosting environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current hosting environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Compares the current hosting environment name against the specified value. + + An instance of . + Environment name to validate against. + if the specified name is the same as the current environment, otherwise . + + + + Allows consumers to perform cleanup during a graceful shutdown. + + This type is obsolete and will be removed in a future version. + The recommended alternative is Microsoft.Extensions.Hosting.IHostApplicationLifetime. + + + + + + Gets a cancellation token. Triggered when the application host has fully started and is about to wait + for a graceful shutdown. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + Requests may still be in flight. Shutdown will block until this event completes. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + All requests should be complete at this point. Shutdown will block + until this event completes. + + + + + Requests termination of the current application. + + + + + A program abstraction. + + + + + Gets the services configured for the program (for example, using ). + + + + + Starts the objects configured for the program. + The application will run until interrupted or until is called. + + Used to abort program start. + A that will be completed when the starts. + + + + Attempts to gracefully stop the program. + + Used to indicate when stop should no longer be graceful. + A that will be completed when the stops. + + + + Represents a hosted applications and services builder which helps manage configuration, logging, lifetime, and more. + + + + + Gets a central location for sharing state between components during the host building process. + + + + + Gets the set of key/value configuration properties. + + + This can be mutated by adding more configuration sources, which will update its current view. + + + + + Gets the information about the hosting environment an application is running in. + + + + + Gets a collection of logging providers for the application to compose. This is useful for adding new logging providers. + + + + + Gets a builder that allows enabling metrics and directing their output. + + + + + Gets a collection of services for the application to compose. This is useful for adding user provided or framework provided services. + + + + + Registers a instance to be used to create the . + + The factory object that can create the and . + + A delegate used to configure the . This can be used to configure services using + APIS specific to the implementation. + + The type of builder provided by the . + + + The is created when this builder is built and so the delegate provided + by will run after all other services have been registered. + + + Multiple calls to will replace + the previously stored and delegate. + + + + + + Allows consumers to be notified of application lifetime events. This interface is not intended to be user-replaceable. + + + + + Gets a cancellation token. Triggered when the application host has fully started. + + + + + Gets a cancellation token. Triggered when the application host is starting a graceful shutdown. + Shutdown will block until all callbacks registered on this token have completed. + + + + + Gets a cancellation token. Triggered when the application host has completed a graceful shutdown. + The application will not exit until all callbacks registered on this token have completed. + + + + + Requests termination of the current application. + + + + + A program initialization abstraction. + + + + + Gets a central location for sharing state between components during the host building process. + + + + + Sets up the configuration for the builder itself. This will be used to initialize the + for use later in the build process. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Sets up the configuration for the remainder of the build process and application. This can be called multiple times and + the results will be additive. The results will be available at for + subsequent operations, as well as in . + + The delegate for configuring the that will be used + to construct the for the application. + The same instance of the for chaining. + + + + Adds services to the container. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the . + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + The type of builder. + The factory to register. + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + The type of builder. + The factory to register. + The same instance of the for chaining. + + + + Enables configuring the instantiated dependency container. This can be called multiple times and + the results will be additive. + + The type of builder. + The delegate which configures the builder. + The same instance of the for chaining. + + + + Runs the given actions to initialize the host. This can only be called once. + + An initialized . + + + + Defines methods that are run before or after + and + . + + + + + Triggered before . + + Indicates that the start process has been aborted. + A that represents the asynchronous operation. + + + + Triggered after . + + Indicates that the start process has been aborted. + A that represents the asynchronous operation. + + + + Triggered before . + + Indicates that the start process has been aborted. + A that represents the asynchronous operation. + + + + Triggered after . + + Indicates that the stop process has been aborted. + A that represents the asynchronous operation. + + + + Defines methods for objects that are managed by the host. + + + + + Triggered when the application host is ready to start the service. + + Indicates that the start process has been aborted. + A that represents the asynchronous Start operation. + + + + Triggered when the application host is performing a graceful shutdown. + + Indicates that the shutdown process should no longer be graceful. + A that represents the asynchronous Stop operation. + + + + Provides information about the hosting environment an application is running in. + + + + + Gets or sets the name of the environment. The host automatically sets this property to the value of the + "environment" key as specified in configuration. + + + + + Gets or sets the name of the application. This property is automatically set by the host to the assembly containing + the application entry point. + + + + + Gets or sets the absolute path to the directory that contains the application content files. + + + + + Gets or sets an pointing at . + + + + + Provides information about the hosting environment an application is running in. + + This type is obsolete and will be removed in a future version. + The recommended alternative is Microsoft.Extensions.Hosting.IHostEnvironment. + + + + + + Gets or sets the name of the environment. The host automatically sets this property to the value of the + of the "environment" key as specified in configuration. + + + + + Gets or sets the name of the application. This property is automatically set by the host to the assembly containing + the application entry point. + + + + + Gets or sets the absolute path to the directory that contains the application content files. + + + + + Gets or sets an pointing at . + + + + + Tracks host lifetime. + + + + + Called at the start of which will wait until it's complete before + continuing. This can be used to delay startup until signaled by an external event. + + Used to abort program start. + A . + + + + Called from to indicate that the host is stopping and it's time to shut down. + + Used to indicate when stop should no longer be graceful. + A . + + + + Extension methods for adding hosted services to an . + + + + + Add an registration for the given type. + + An to register. + The to register with. + The original . + + + + Add an registration for the given type. + + An to register. + The to register with. + A factory to create new instances of the service implementation. + The original . + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all non-public constructors, including those inherited from base classes. + + + + + Specifies all non-public methods, including those inherited from base classes. + + + + + Specifies all non-public fields, including those inherited from base classes. + + + + + Specifies all non-public nested types, including those inherited from base classes. + + + + + Specifies all non-public properties, including those inherited from base classes. + + + + + Specifies all non-public events, including those inherited from base classes. + + + + + Specifies all public constructors, including those inherited from base classes. + + + + + Specifies all public nested types, including those inherited from base classes. + + + + + Specifies all constructors, including those inherited from base classes. + + + + + Specifies all methods, including those inherited from base classes. + + + + + Specifies all fields, including those inherited from base classes. + + + + + Specifies all nested types, including those inherited from base classes. + + + + + Specifies all properties, including those inherited from base classes. + + + + + Specifies all events, including those inherited from base classes. + + + + + Specifies all members. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + + When applied to an attribute class, instructs the compiler to flow applications of that attribute, + from source code down to compiler-generated symbols. This can help IL-based analysis tools. + + + One example where this attribute applies is in C# primary constructor parameters. If an attribute + marked with gets applied to a primary constructor + parameter, the attribute will also be applied to any compiler-generated fields storing that parameter. + + + + + Initializes a new instance of the class. + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + The host was aborted. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.1/Microsoft.Extensions.Hosting.Abstractions.xml b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.1/Microsoft.Extensions.Hosting.Abstractions.xml new file mode 100644 index 000000000..5b7c4000e --- /dev/null +++ b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.1/Microsoft.Extensions.Hosting.Abstractions.xml @@ -0,0 +1,1020 @@ + + + + Microsoft.Extensions.Hosting.Abstractions + + + + + Base class for implementing a long running . + + + + + Gets the Task that executes the background operation. + + + Will return if the background operation hasn't started. + + + + + This method is called when the starts. The implementation should return a task that represents + the lifetime of the long running operation(s) being performed. + + Triggered when is called. + A that represents the long running operations. + See Worker Services in .NET for implementation guidelines. + + + + Triggered when the application host is ready to start the service. + + Indicates that the start process has been aborted. + A that represents the asynchronous Start operation. + + + + Triggered when the application host is performing a graceful shutdown. + + Indicates that the shutdown process should no longer be graceful. + A that represents the asynchronous Stop operation. + + + + + + + Commonly used environment names. + + This type is obsolete and will be removed in a future version. + The recommended alternative is Microsoft.Extensions.Hosting.Environments. + + + + + + The name of the Development environment. + + + + + The name of the Staging environment. + + + + + The name of the Production environment. + + + + + Commonly used environment names. + + + + + Specifies the Development environment. + + The development environment can enable features that shouldn't be exposed in production. Because of the performance cost, scope validation and dependency validation only happens in development. + + + + Specifies the Staging environment. + + The staging environment can be used to validate app changes before changing the environment to production. + + + + Specifies the Production environment. + + The production environment should be configured to maximize security, performance, and application robustness. + + + + The exception that is thrown when an is stopped to indicate the Host is stopping gracefully. This exception should not be thrown or handled by user code. + + + + + Initializes a new instance of the class + with a system-supplied error message. + + + + + Initializes a new instance of the class + with a specified error message. + + + The error message that explains the reason for the exception. + + + The content of is intended to be understood by humans. + The caller of this constructor is required to ensure that this string has been localized for the + current system culture. + + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + + The error message that explains the reason for the exception. + + + The exception that is the cause of the current exception. + + + The content of is intended to be understood by humans. + The caller of this constructor is required to ensure that this string has been localized for the + current system culture. + + + + + Context containing the common services on the . Some properties may be null until set by the . + + + + + Initializes a new instance of . + + A non-null for sharing state between components during the host building process. + + + + The initialized by the . + + + + + The containing the merged configuration of the application and the . + + + + + A central location for sharing state between components during the host building process. + + + + + Constants for HostBuilder configuration keys. + + + + + The configuration key used to set . + + + + + The configuration key used to set . + + + + + The configuration key used to set + and . + + + + + Extension methods for . + + + + + Checks if the current host environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current host environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current host environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Compares the current host environment name against the specified value. + + An instance of . + Environment name to validate against. + if the specified name is the same as the current environment, otherwise . + + + + Provides extension methods for the from the hosting abstractions package. + + + + + Builds and starts the host. + + The to start. + The started . + + + + Builds and starts the host. + + The to start. + A that can be used to cancel the start. + The started . + + + + Provides extension methods for the from the hosting abstractions package. + + + + + Starts the host synchronously. + + The to start. + + + + Attempts to gracefully stop the host with the given timeout. + + The to stop. + The timeout for stopping gracefully. Once expired the + server may terminate any remaining active connections. + The that represents the asynchronous operation. + + + + Blocks the calling thread until shutdown is triggered via Ctrl+C or SIGTERM. + + The running . + + + + Runs an application and blocks the calling thread until host shutdown is triggered and all instances are stopped. + + The to run. + + + + Runs an application and returns a that only completes when the token is triggered or shutdown is triggered. + The instance is disposed of after running. + + The to run. + The token to trigger shutdown. + The that represents the asynchronous operation. + + + + Returns a Task that completes when shutdown is triggered via the given token. + + The running . + The token to trigger shutdown. + The that represents the asynchronous operation. + + + + Extension methods for . + + + + + Checks if the current hosting environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current hosting environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Checks if the current hosting environment name is . + + An instance of . + if the environment name is , otherwise . + + + + Compares the current hosting environment name against the specified value. + + An instance of . + Environment name to validate against. + if the specified name is the same as the current environment, otherwise . + + + + Allows consumers to perform cleanup during a graceful shutdown. + + This type is obsolete and will be removed in a future version. + The recommended alternative is Microsoft.Extensions.Hosting.IHostApplicationLifetime. + + + + + + Gets a cancellation token. Triggered when the application host has fully started and is about to wait + for a graceful shutdown. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + Requests may still be in flight. Shutdown will block until this event completes. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + All requests should be complete at this point. Shutdown will block + until this event completes. + + + + + Requests termination of the current application. + + + + + A program abstraction. + + + + + Gets the services configured for the program (for example, using ). + + + + + Starts the objects configured for the program. + The application will run until interrupted or until is called. + + Used to abort program start. + A that will be completed when the starts. + + + + Attempts to gracefully stop the program. + + Used to indicate when stop should no longer be graceful. + A that will be completed when the stops. + + + + Represents a hosted applications and services builder which helps manage configuration, logging, lifetime, and more. + + + + + Gets a central location for sharing state between components during the host building process. + + + + + Gets the set of key/value configuration properties. + + + This can be mutated by adding more configuration sources, which will update its current view. + + + + + Gets the information about the hosting environment an application is running in. + + + + + Gets a collection of logging providers for the application to compose. This is useful for adding new logging providers. + + + + + Gets a builder that allows enabling metrics and directing their output. + + + + + Gets a collection of services for the application to compose. This is useful for adding user provided or framework provided services. + + + + + Registers a instance to be used to create the . + + The factory object that can create the and . + + A delegate used to configure the . This can be used to configure services using + APIS specific to the implementation. + + The type of builder provided by the . + + + The is created when this builder is built and so the delegate provided + by will run after all other services have been registered. + + + Multiple calls to will replace + the previously stored and delegate. + + + + + + Allows consumers to be notified of application lifetime events. This interface is not intended to be user-replaceable. + + + + + Gets a cancellation token. Triggered when the application host has fully started. + + + + + Gets a cancellation token. Triggered when the application host is starting a graceful shutdown. + Shutdown will block until all callbacks registered on this token have completed. + + + + + Gets a cancellation token. Triggered when the application host has completed a graceful shutdown. + The application will not exit until all callbacks registered on this token have completed. + + + + + Requests termination of the current application. + + + + + A program initialization abstraction. + + + + + Gets a central location for sharing state between components during the host building process. + + + + + Sets up the configuration for the builder itself. This will be used to initialize the + for use later in the build process. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Sets up the configuration for the remainder of the build process and application. This can be called multiple times and + the results will be additive. The results will be available at for + subsequent operations, as well as in . + + The delegate for configuring the that will be used + to construct the for the application. + The same instance of the for chaining. + + + + Adds services to the container. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the . + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + The type of builder. + The factory to register. + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + The type of builder. + The factory to register. + The same instance of the for chaining. + + + + Enables configuring the instantiated dependency container. This can be called multiple times and + the results will be additive. + + The type of builder. + The delegate which configures the builder. + The same instance of the for chaining. + + + + Runs the given actions to initialize the host. This can only be called once. + + An initialized . + + + + Defines methods that are run before or after + and + . + + + + + Triggered before . + + Indicates that the start process has been aborted. + A that represents the asynchronous operation. + + + + Triggered after . + + Indicates that the start process has been aborted. + A that represents the asynchronous operation. + + + + Triggered before . + + Indicates that the start process has been aborted. + A that represents the asynchronous operation. + + + + Triggered after . + + Indicates that the stop process has been aborted. + A that represents the asynchronous operation. + + + + Defines methods for objects that are managed by the host. + + + + + Triggered when the application host is ready to start the service. + + Indicates that the start process has been aborted. + A that represents the asynchronous Start operation. + + + + Triggered when the application host is performing a graceful shutdown. + + Indicates that the shutdown process should no longer be graceful. + A that represents the asynchronous Stop operation. + + + + Provides information about the hosting environment an application is running in. + + + + + Gets or sets the name of the environment. The host automatically sets this property to the value of the + "environment" key as specified in configuration. + + + + + Gets or sets the name of the application. This property is automatically set by the host to the assembly containing + the application entry point. + + + + + Gets or sets the absolute path to the directory that contains the application content files. + + + + + Gets or sets an pointing at . + + + + + Provides information about the hosting environment an application is running in. + + This type is obsolete and will be removed in a future version. + The recommended alternative is Microsoft.Extensions.Hosting.IHostEnvironment. + + + + + + Gets or sets the name of the environment. The host automatically sets this property to the value of the + of the "environment" key as specified in configuration. + + + + + Gets or sets the name of the application. This property is automatically set by the host to the assembly containing + the application entry point. + + + + + Gets or sets the absolute path to the directory that contains the application content files. + + + + + Gets or sets an pointing at . + + + + + Tracks host lifetime. + + + + + Called at the start of which will wait until it's complete before + continuing. This can be used to delay startup until signaled by an external event. + + Used to abort program start. + A . + + + + Called from to indicate that the host is stopping and it's time to shut down. + + Used to indicate when stop should no longer be graceful. + A . + + + + Extension methods for adding hosted services to an . + + + + + Add an registration for the given type. + + An to register. + The to register with. + The original . + + + + Add an registration for the given type. + + An to register. + The to register with. + A factory to create new instances of the service implementation. + The original . + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all non-public constructors, including those inherited from base classes. + + + + + Specifies all non-public methods, including those inherited from base classes. + + + + + Specifies all non-public fields, including those inherited from base classes. + + + + + Specifies all non-public nested types, including those inherited from base classes. + + + + + Specifies all non-public properties, including those inherited from base classes. + + + + + Specifies all non-public events, including those inherited from base classes. + + + + + Specifies all public constructors, including those inherited from base classes. + + + + + Specifies all public nested types, including those inherited from base classes. + + + + + Specifies all constructors, including those inherited from base classes. + + + + + Specifies all methods, including those inherited from base classes. + + + + + Specifies all fields, including those inherited from base classes. + + + + + Specifies all nested types, including those inherited from base classes. + + + + + Specifies all properties, including those inherited from base classes. + + + + + Specifies all events, including those inherited from base classes. + + + + + Specifies all members. + + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + + When applied to an attribute class, instructs the compiler to flow applications of that attribute, + from source code down to compiler-generated symbols. This can help IL-based analysis tools. + + + One example where this attribute applies is in C# primary constructor parameters. If an attribute + marked with gets applied to a primary constructor + parameter, the attribute will also be applied to any compiler-generated fields storing that parameter. + + + + + Initializes a new instance of the class. + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + The host was aborted. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.hosting.abstractions.10.0.0-rc.2.25502.107.nupkg b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.hosting.abstractions.10.0.0-rc.2.25502.107.nupkg new file mode 100644 index 000000000..1b4559459 Binary files /dev/null and b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.hosting.abstractions.10.0.0-rc.2.25502.107.nupkg differ diff --git a/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.hosting.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.hosting.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..d80fd4331 --- /dev/null +++ b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.hosting.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +TNGEhwdtWSnwsA/JoIZZ9/mEmqMqB06S3XDqoScnAPNujAKZx5u58alj6jpWCtYL52gkkxwGADQCUKjddHjbgQ== \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nugets/microsoft.extensions.hosting.abstractions/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..e9a699c69 --- /dev/null +++ b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "SKKKZjyCpBaDQ7yuFjdk6ELnRBRWeZsbnzUfo59Wc4PGhgf92chE3we/QlT6nk6NqlWcUgH/jogM+B/uq/Qdnw==", + "source": "/mnt/e/dev/git.stella-ops.org/local-nugets" +} \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/.signature.p7s b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..56ede5e9a Binary files /dev/null and b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/Icon.png b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/Microsoft.Extensions.Logging.Abstractions.nuspec b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/Microsoft.Extensions.Logging.Abstractions.nuspec new file mode 100644 index 000000000..1aaff8fb6 --- /dev/null +++ b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/Microsoft.Extensions.Logging.Abstractions.nuspec @@ -0,0 +1,52 @@ + + + + Microsoft.Extensions.Logging.Abstractions + 10.0.0-rc.2.25502.107 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + PACKAGE.md + https://dot.net/ + Logging abstractions for Microsoft.Extensions.Logging. + +Commonly Used Types: +Microsoft.Extensions.Logging.ILogger +Microsoft.Extensions.Logging.ILoggerFactory +Microsoft.Extensions.Logging.ILogger<TCategoryName> +Microsoft.Extensions.Logging.LogLevel +Microsoft.Extensions.Logging.Logger<T> +Microsoft.Extensions.Logging.LoggerMessage +Microsoft.Extensions.Logging.Abstractions.NullLogger + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/PACKAGE.md b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/PACKAGE.md new file mode 100644 index 000000000..400958a0a --- /dev/null +++ b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/PACKAGE.md @@ -0,0 +1,164 @@ +## About + + + +`Microsoft.Extensions.Logging.Abstractions` provides abstractions of logging. Interfaces defined in this package are implemented by classes in [Microsoft.Extensions.Logging](https://www.nuget.org/packages/Microsoft.Extensions.Logging/) and other logging packages. + +This package includes a logging source generator that produces highly efficient and optimized code for logging message methods. + +## Key Features + + + +* Define main logging abstraction interfaces like ILogger, ILoggerFactory, ILoggerProvider, etc. + +## How to Use + + + +#### Custom logger provider implementation example + +```C# +using Microsoft.Extensions.Logging; + +public sealed class ColorConsoleLogger : ILogger +{ + private readonly string _name; + private readonly Func _getCurrentConfig; + + public ColorConsoleLogger( + string name, + Func getCurrentConfig) => + (_name, _getCurrentConfig) = (name, getCurrentConfig); + + public IDisposable? BeginScope(TState state) where TState : notnull => default!; + + public bool IsEnabled(LogLevel logLevel) => + _getCurrentConfig().LogLevelToColorMap.ContainsKey(logLevel); + + public void Log( + LogLevel logLevel, + EventId eventId, + TState state, + Exception? exception, + Func formatter) + { + if (!IsEnabled(logLevel)) + { + return; + } + + ColorConsoleLoggerConfiguration config = _getCurrentConfig(); + if (config.EventId == 0 || config.EventId == eventId.Id) + { + ConsoleColor originalColor = Console.ForegroundColor; + + Console.ForegroundColor = config.LogLevelToColorMap[logLevel]; + Console.WriteLine($"[{eventId.Id,2}: {logLevel,-12}]"); + + Console.ForegroundColor = originalColor; + Console.Write($" {_name} - "); + + Console.ForegroundColor = config.LogLevelToColorMap[logLevel]; + Console.Write($"{formatter(state, exception)}"); + + Console.ForegroundColor = originalColor; + Console.WriteLine(); + } + } +} + +``` + +#### Create logs + +```csharp + +// Worker class that uses logger implementation of teh interface ILogger + +public sealed class Worker : BackgroundService +{ + private readonly ILogger _logger; + + public Worker(ILogger logger) => + _logger = logger; + + protected override async Task ExecuteAsync(CancellationToken stoppingToken) + { + while (!stoppingToken.IsCancellationRequested) + { + _logger.LogInformation("Worker running at: {time}", DateTimeOffset.UtcNow); + await Task.Delay(1_000, stoppingToken); + } + } +} + +``` + +#### Use source generator + +```csharp +public static partial class Log +{ + [LoggerMessage( + EventId = 0, + Level = LogLevel.Critical, + Message = "Could not open socket to `{hostName}`")] + public static partial void CouldNotOpenSocket(this ILogger logger, string hostName); +} + +public partial class InstanceLoggingExample +{ + private readonly ILogger _logger; + + public InstanceLoggingExample(ILogger logger) + { + _logger = logger; + } + + [LoggerMessage( + EventId = 0, + Level = LogLevel.Critical, + Message = "Could not open socket to `{hostName}`")] + public partial void CouldNotOpenSocket(string hostName); +} + +``` + +## Main Types + + + +The main types provided by this library are: + +* `Microsoft.Extensions.Logging.ILogger` +* `Microsoft.Extensions.Logging.ILoggerProvider` +* `Microsoft.Extensions.Logging.ILoggerFactory` +* `Microsoft.Extensions.Logging.ILogger` +* `Microsoft.Extensions.Logging.LogLevel` +* `Microsoft.Extensions.Logging.Logger` +* `Microsoft.Extensions.Logging.LoggerMessage` +* `Microsoft.Extensions.Logging.Abstractions.NullLogger` + +## Additional Documentation + + + +* [Conceptual documentation](https://learn.microsoft.com/dotnet/core/extensions/logging) +* [API documentation](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging) + +## Related Packages + + +[Microsoft.Extensions.Logging](https://www.nuget.org/packages/Microsoft.Extensions.Logging) +[Microsoft.Extensions.Logging.Console](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Console) +[Microsoft.Extensions.Logging.Debug](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Debug) +[Microsoft.Extensions.Logging.EventSource](https://www.nuget.org/packages/Microsoft.Extensions.Logging.EventSource) +[Microsoft.Extensions.Logging.EventLog](https://www.nuget.org/packages/Microsoft.Extensions.Logging.EventLog) +[Microsoft.Extensions.Logging.TraceSource](https://www.nuget.org/packages/Microsoft.Extensions.Logging.TraceSource) + +## Feedback & Contributing + + + +Microsoft.Extensions.Logging.Abstractions is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets new file mode 100644 index 000000000..2b89fd266 --- /dev/null +++ b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets new file mode 100644 index 000000000..82c055576 --- /dev/null +++ b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets @@ -0,0 +1,31 @@ + + + + + <_Microsoft_Extensions_Logging_AbstractionsAnalyzer Include="@(Analyzer)" Condition="'%(Analyzer.NuGetPackageId)' == 'Microsoft.Extensions.Logging.Abstractions'" /> + + + + + + + + + + + + + + + + + + + diff --git a/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets new file mode 100644 index 000000000..82c055576 --- /dev/null +++ b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets @@ -0,0 +1,31 @@ + + + + + <_Microsoft_Extensions_Logging_AbstractionsAnalyzer Include="@(Analyzer)" Condition="'%(Analyzer.NuGetPackageId)' == 'Microsoft.Extensions.Logging.Abstractions'" /> + + + + + + + + + + + + + + + + + + + diff --git a/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets new file mode 100644 index 000000000..8dd05ab05 --- /dev/null +++ b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets new file mode 100644 index 000000000..82c055576 --- /dev/null +++ b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets @@ -0,0 +1,31 @@ + + + + + <_Microsoft_Extensions_Logging_AbstractionsAnalyzer Include="@(Analyzer)" Condition="'%(Analyzer.NuGetPackageId)' == 'Microsoft.Extensions.Logging.Abstractions'" /> + + + + + + + + + + + + + + + + + + + diff --git a/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Logging.Abstractions.xml b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Logging.Abstractions.xml new file mode 100644 index 000000000..6a80b4435 --- /dev/null +++ b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Logging.Abstractions.xml @@ -0,0 +1,1365 @@ + + + + Microsoft.Extensions.Logging.Abstractions + + + + + Represents a buffered log record to be written in batch to an . + + + Instances of this type can be pooled and reused. Implementations of must + not hold onto instance of passed to its method + beyond the invocation of that method. + + + + + Gets the time when the log record was first created. + + + + + Gets the record's logging severity level. + + + + + Gets the record's event ID. + + + + + Gets an exception string for this record. + + + + + Gets an activity span ID for this record, representing the state of the thread that created the record. + + + + + Gets an activity trace ID for this record, representing the state of the thread that created the record. + + + + + Gets the ID of the thread that created the log record. + + + + + Gets the formatted log message. + + + + + Gets the original log message template. + + + + + Gets the variable set of name/value pairs associated with the record. + + + + + Represents the ability of a logging provider to support buffered logging. + + + A logging provider implements the interface that gets invoked by the + logging infrastructure whenever it’s time to log a piece of state. + + A logging provider may also optionally implement the interface. + The logging infrastructure may type-test the object to determine if + it supports the interface. If it does, that indicates to the + logging infrastructure that the logging provider supports buffering. Whenever log + buffering is enabled, buffered log records may be delivered to the logging provider + in a batch via . + + If a logging provider does not support log buffering, then it will always be given + unbuffered log records. If a logging provider does support log buffering, whether its + or implementation is used is + determined by the log producer. + + + + + Delivers a batch of buffered log records to a logging provider. + + The buffered log records to log. + + Once this function returns, the implementation should no longer access the records + or state referenced by these records since the instances may be reused to represent other logs. + + + + + Holds the information for a single log entry. + + + + + Initializes an instance of the LogEntry struct. + + The log level. + The category name for the log. + The log event Id. + The state for which log is being written. + The log exception. + The formatter. + + + + Gets the log level. + + + + + Gets the log category. + + + + + Gets the log event ID. + + + + + Gets the state. + + + + + Gets the log exception. + + + + + Gets the formatter. + + + + + Minimalistic logger that does nothing. + + + + + Returns the shared instance of . + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + An used to create an instance of + that logs nothing. + + + + + Creates a new instance. + + + + + Returns the shared instance of . + + + + + + This returns a instance that logs nothing. + + + + + + This method ignores the parameter and does nothing. + + + + + + + + Provider for the . + + + + + Returns an instance of . + + + + + + + + + + + Minimalistic logger that does nothing. + + + + + Returns an instance of . + + An instance of . + + + + + + + + This method ignores the parameters and does nothing. + + + + + + + + Identifies a logging event. The primary identifier is the "Id" property, with the "Name" property providing a short description of this type of event. + + + + + Implicitly creates an EventId from the given . + + The to convert to an EventId. + + + + Checks if two specified instances have the same value. They are equal if they have the same ID. + + The first . + The second . + if the objects are equal. + + + + Checks if two specified instances have different values. + + The first . + The second . + if the objects are not equal. + + + + Initializes an instance of the struct. + + The numeric identifier for this event. + The name of this event. + + + + Gets the numeric identifier for this event. + + + + + Gets the name of this event. + + + + + + + + Compares the current instance to another object of the same type. Two events are equal if they have the same ID. + + An object to compare with this object. + if the current object is equal to ; otherwise, . + + + + + + + + + + LogValues to enable formatting options supported by . + This also enables using {NamedFormatItem} in the format string. + + + + + Represents a storage of common scope data. + + + + + Executes callback for each currently active scope objects in order of creation. + All callbacks are guaranteed to be called inline from this method. + + The callback to be executed for every scope object. + The state object to be passed into the callback. + The type of state to accept. + + + + Adds scope object to the list. + + The scope object. + The token that removes scope on dispose. + + + + Represents a type used to perform logging. + + Aggregates most logging patterns to a single method. + + + + Writes a log entry. + + Entry will be written on this level. + Id of the event. + The entry to be written. Can be also an object. + The exception related to this entry. + Function to create a message of the and . + The type of the object to be written. + + + + Checks if the given is enabled. + + Level to be checked. + if enabled. + + + + Begins a logical operation scope. + + The identifier for the scope. + The type of the state to begin scope for. + An that ends the logical operation scope on dispose. + + + + Represents a type used to configure the logging system and create instances of from + the registered s. + + + + + Creates a new instance. + + The category name for messages produced by the logger. + The . + + + + Adds an to the logging system. + + The . + + + + Represents a type that can create instances of . + + + + + Creates a new instance. + + The category name for messages produced by the logger. + The instance of that was created. + + + + A generic interface for logging where the category name is derived from the specified + type name. + Generally used to enable activation of a named from dependency injection. + + The type whose name is used for the logger category name. + + + + An interface for configuring logging providers. + + + + + Gets the where Logging services are configured. + + + + + Represents a that is able to consume external scope information. + + + + + Sets external scope information source for logger provider. + + The provider of scope data. + + + + Options for and its overloads. + + + + + Gets or sets the flag to skip IsEnabled check for the logging method. + + + + + ILogger extension methods for common scenarios. + + + + + Formats and writes a debug log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogDebug(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a debug log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogDebug(0, "Processing request from {Address}", address) + + + + + + Formats and writes a debug log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogDebug(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a debug log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogDebug("Processing request from {Address}", address) + + + + + + Formats and writes a trace log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogTrace(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a trace log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogTrace(0, "Processing request from {Address}", address) + + + + + + Formats and writes a trace log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogTrace(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a trace log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogTrace("Processing request from {Address}", address) + + + + + + Formats and writes an informational log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogInformation(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes an informational log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogInformation(0, "Processing request from {Address}", address) + + + + + + Formats and writes an informational log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogInformation(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes an informational log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogInformation("Processing request from {Address}", address) + + + + + + Formats and writes a warning log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogWarning(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a warning log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogWarning(0, "Processing request from {Address}", address) + + + + + + Formats and writes a warning log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogWarning(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a warning log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogWarning("Processing request from {Address}", address) + + + + + + Formats and writes an error log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogError(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes an error log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogError(0, "Processing request from {Address}", address) + + + + + + Formats and writes an error log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogError(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes an error log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogError("Processing request from {Address}", address) + + + + + + Formats and writes a critical log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogCritical(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a critical log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogCritical(0, "Processing request from {Address}", address) + + + + + + Formats and writes a critical log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogCritical(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a critical log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogCritical("Processing request from {Address}", address) + + + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + The event id associated with the log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + The event id associated with the log. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats the message and creates a scope. + + The to create the scope in. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + A disposable scope object. Can be null. + + + using(logger.BeginScope("Processing request from {Address}", address)) { } + + + + + + Default implementation of . + + + + + Creates a new . + + + + + + + + + + + ILoggerFactory extension methods for common scenarios. + + + + + Creates a new instance using the full name of the given type. + + The factory. + The type. + The that was created. + + + + Creates a new instance using the full name of the given . + + The factory. + The type. + The that was created. + + + + Creates delegates that can be later cached to log messages in a performant way. + + + + + Creates a delegate that can be invoked to create a log scope. + + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked for logging a message. + + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Provides information to guide the production of a strongly typed logging method. + + + The method this attribute is applied to: + - Must be a partial method. + - Must return void. + - Must not be generic. + - Must have an as one of its parameters. + - Must have a as one of its parameters. + - None of the parameters can be generic. + + + + + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + The log event ID. + The log level. + Format string of the log message. + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + The log level. + Format string of the log message. + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + The log level. + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + Format string of the log message. + + + + Gets or sets the logging event ID for the logging method. + + + + + Gets or sets the logging event name for the logging method. + + + This will equal the method name if not specified. + + + + + Gets or sets the logging level for the logging method. + + + + + Gets or sets the message text for the logging method. + + + + + Gets or sets the flag to skip IsEnabled check for the logging method. + + + + + Delegates to a new instance using the full name of the given type, created by the + provided . + + The type. + + + + Creates a new . + + The factory. + + + + + + + + + + + + + Defines logging severity levels. + + + + + Logs that contain the most detailed messages. These messages may contain sensitive application data. + These messages are disabled by default and should never be enabled in a production environment. + + + + + Logs that are used for interactive investigation during development. These logs should primarily contain + information useful for debugging and have no long-term value. + + + + + Logs that track the general flow of the application. These logs should have long-term value. + + + + + Logs that highlight an abnormal or unexpected event in the application flow, but do not otherwise cause the + application execution to stop. + + + + + Logs that highlight when the current flow of execution is stopped due to a failure. These should indicate a + failure in the current activity, not an application-wide failure. + + + + + Logs that describe an unrecoverable application or system crash, or a catastrophic failure that requires + immediate attention. + + + + + Not used for writing log messages. Specifies that a logging category should not write any messages. + + + + + Formatter to convert the named format items like {NamedformatItem} to format. + + + + + Defines an alias for implementation to be used in filtering rules. + + + By default, filtering rules are defined using the logging provider type's as configuration section name. + The provides for specifying a second, additional, more concise and user-friendly configuration section name for specifying filter rules. + The logging provider type's can still be used as configuration section name when the is specified for the provider, and its configuration section filtering rules have priority over the filtering rules specified for the alias. + + + + + + Creates a new instance. + + The alias to set. + + + + Gets the alias of the provider. + + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + + Pretty print a type name. + + The . + true to print a fully qualified name. + true to include generic parameter names. + true to include generic parameters. + Character to use as a delimiter in nested type names + The pretty printed type name. + + + + Get a pinnable reference to the builder. + Does not ensure there is a null char after + This overload is pattern matched in the C# 7.3+ compiler so you can omit + the explicit method call, and write eg "fixed (char* c = builder)" + + + + + Get a pinnable reference to the builder. + + Ensures that the builder has a null char after + + + Returns the underlying storage of the builder. + + + + Returns a span around the contents of the builder. + + Ensures that the builder has a null char after + + + + Resize the internal buffer either by doubling current buffer size or + by adding to + whichever is greater. + + + Number of chars requested beyond current position. + + + + The format string '{0}' does not have the expected number of named parameters. Expected {1} parameter(s) but found {2} parameter(s). + + + diff --git a/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Logging.Abstractions.xml b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Logging.Abstractions.xml new file mode 100644 index 000000000..2a703c643 --- /dev/null +++ b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Logging.Abstractions.xml @@ -0,0 +1,1548 @@ + + + + Microsoft.Extensions.Logging.Abstractions + + + + + Represents a buffered log record to be written in batch to an . + + + Instances of this type can be pooled and reused. Implementations of must + not hold onto instance of passed to its method + beyond the invocation of that method. + + + + + Gets the time when the log record was first created. + + + + + Gets the record's logging severity level. + + + + + Gets the record's event ID. + + + + + Gets an exception string for this record. + + + + + Gets an activity span ID for this record, representing the state of the thread that created the record. + + + + + Gets an activity trace ID for this record, representing the state of the thread that created the record. + + + + + Gets the ID of the thread that created the log record. + + + + + Gets the formatted log message. + + + + + Gets the original log message template. + + + + + Gets the variable set of name/value pairs associated with the record. + + + + + Represents the ability of a logging provider to support buffered logging. + + + A logging provider implements the interface that gets invoked by the + logging infrastructure whenever it’s time to log a piece of state. + + A logging provider may also optionally implement the interface. + The logging infrastructure may type-test the object to determine if + it supports the interface. If it does, that indicates to the + logging infrastructure that the logging provider supports buffering. Whenever log + buffering is enabled, buffered log records may be delivered to the logging provider + in a batch via . + + If a logging provider does not support log buffering, then it will always be given + unbuffered log records. If a logging provider does support log buffering, whether its + or implementation is used is + determined by the log producer. + + + + + Delivers a batch of buffered log records to a logging provider. + + The buffered log records to log. + + Once this function returns, the implementation should no longer access the records + or state referenced by these records since the instances may be reused to represent other logs. + + + + + Holds the information for a single log entry. + + + + + Initializes an instance of the LogEntry struct. + + The log level. + The category name for the log. + The log event Id. + The state for which log is being written. + The log exception. + The formatter. + + + + Gets the log level. + + + + + Gets the log category. + + + + + Gets the log event ID. + + + + + Gets the state. + + + + + Gets the log exception. + + + + + Gets the formatter. + + + + + Minimalistic logger that does nothing. + + + + + Returns the shared instance of . + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + An used to create an instance of + that logs nothing. + + + + + Creates a new instance. + + + + + Returns the shared instance of . + + + + + + This returns a instance that logs nothing. + + + + + + This method ignores the parameter and does nothing. + + + + + + + + Provider for the . + + + + + Returns an instance of . + + + + + + + + + + + Minimalistic logger that does nothing. + + + + + Returns an instance of . + + An instance of . + + + + + + + + This method ignores the parameters and does nothing. + + + + + + + + Identifies a logging event. The primary identifier is the "Id" property, with the "Name" property providing a short description of this type of event. + + + + + Implicitly creates an EventId from the given . + + The to convert to an EventId. + + + + Checks if two specified instances have the same value. They are equal if they have the same ID. + + The first . + The second . + if the objects are equal. + + + + Checks if two specified instances have different values. + + The first . + The second . + if the objects are not equal. + + + + Initializes an instance of the struct. + + The numeric identifier for this event. + The name of this event. + + + + Gets the numeric identifier for this event. + + + + + Gets the name of this event. + + + + + + + + Compares the current instance to another object of the same type. Two events are equal if they have the same ID. + + An object to compare with this object. + if the current object is equal to ; otherwise, . + + + + + + + + + + LogValues to enable formatting options supported by . + This also enables using {NamedFormatItem} in the format string. + + + + + Represents a storage of common scope data. + + + + + Executes callback for each currently active scope objects in order of creation. + All callbacks are guaranteed to be called inline from this method. + + The callback to be executed for every scope object. + The state object to be passed into the callback. + The type of state to accept. + + + + Adds scope object to the list. + + The scope object. + The token that removes scope on dispose. + + + + Represents a type used to perform logging. + + Aggregates most logging patterns to a single method. + + + + Writes a log entry. + + Entry will be written on this level. + Id of the event. + The entry to be written. Can be also an object. + The exception related to this entry. + Function to create a message of the and . + The type of the object to be written. + + + + Checks if the given is enabled. + + Level to be checked. + if enabled. + + + + Begins a logical operation scope. + + The identifier for the scope. + The type of the state to begin scope for. + An that ends the logical operation scope on dispose. + + + + Represents a type used to configure the logging system and create instances of from + the registered s. + + + + + Creates a new instance. + + The category name for messages produced by the logger. + The . + + + + Adds an to the logging system. + + The . + + + + Represents a type that can create instances of . + + + + + Creates a new instance. + + The category name for messages produced by the logger. + The instance of that was created. + + + + A generic interface for logging where the category name is derived from the specified + type name. + Generally used to enable activation of a named from dependency injection. + + The type whose name is used for the logger category name. + + + + An interface for configuring logging providers. + + + + + Gets the where Logging services are configured. + + + + + Represents a that is able to consume external scope information. + + + + + Sets external scope information source for logger provider. + + The provider of scope data. + + + + Options for and its overloads. + + + + + Gets or sets the flag to skip IsEnabled check for the logging method. + + + + + ILogger extension methods for common scenarios. + + + + + Formats and writes a debug log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogDebug(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a debug log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogDebug(0, "Processing request from {Address}", address) + + + + + + Formats and writes a debug log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogDebug(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a debug log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogDebug("Processing request from {Address}", address) + + + + + + Formats and writes a trace log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogTrace(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a trace log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogTrace(0, "Processing request from {Address}", address) + + + + + + Formats and writes a trace log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogTrace(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a trace log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogTrace("Processing request from {Address}", address) + + + + + + Formats and writes an informational log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogInformation(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes an informational log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogInformation(0, "Processing request from {Address}", address) + + + + + + Formats and writes an informational log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogInformation(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes an informational log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogInformation("Processing request from {Address}", address) + + + + + + Formats and writes a warning log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogWarning(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a warning log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogWarning(0, "Processing request from {Address}", address) + + + + + + Formats and writes a warning log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogWarning(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a warning log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogWarning("Processing request from {Address}", address) + + + + + + Formats and writes an error log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogError(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes an error log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogError(0, "Processing request from {Address}", address) + + + + + + Formats and writes an error log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogError(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes an error log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogError("Processing request from {Address}", address) + + + + + + Formats and writes a critical log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogCritical(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a critical log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogCritical(0, "Processing request from {Address}", address) + + + + + + Formats and writes a critical log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogCritical(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a critical log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogCritical("Processing request from {Address}", address) + + + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + The event id associated with the log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + The event id associated with the log. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats the message and creates a scope. + + The to create the scope in. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + A disposable scope object. Can be null. + + + using(logger.BeginScope("Processing request from {Address}", address)) { } + + + + + + Default implementation of . + + + + + Creates a new . + + + + + + + + + + + ILoggerFactory extension methods for common scenarios. + + + + + Creates a new instance using the full name of the given type. + + The factory. + The type. + The that was created. + + + + Creates a new instance using the full name of the given . + + The factory. + The type. + The that was created. + + + + Creates delegates that can be later cached to log messages in a performant way. + + + + + Creates a delegate that can be invoked to create a log scope. + + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked for logging a message. + + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Provides information to guide the production of a strongly typed logging method. + + + The method this attribute is applied to: + - Must be a partial method. + - Must return void. + - Must not be generic. + - Must have an as one of its parameters. + - Must have a as one of its parameters. + - None of the parameters can be generic. + + + + + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + The log event ID. + The log level. + Format string of the log message. + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + The log level. + Format string of the log message. + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + The log level. + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + Format string of the log message. + + + + Gets or sets the logging event ID for the logging method. + + + + + Gets or sets the logging event name for the logging method. + + + This will equal the method name if not specified. + + + + + Gets or sets the logging level for the logging method. + + + + + Gets or sets the message text for the logging method. + + + + + Gets or sets the flag to skip IsEnabled check for the logging method. + + + + + Delegates to a new instance using the full name of the given type, created by the + provided . + + The type. + + + + Creates a new . + + The factory. + + + + + + + + + + + + + Defines logging severity levels. + + + + + Logs that contain the most detailed messages. These messages may contain sensitive application data. + These messages are disabled by default and should never be enabled in a production environment. + + + + + Logs that are used for interactive investigation during development. These logs should primarily contain + information useful for debugging and have no long-term value. + + + + + Logs that track the general flow of the application. These logs should have long-term value. + + + + + Logs that highlight an abnormal or unexpected event in the application flow, but do not otherwise cause the + application execution to stop. + + + + + Logs that highlight when the current flow of execution is stopped due to a failure. These should indicate a + failure in the current activity, not an application-wide failure. + + + + + Logs that describe an unrecoverable application or system crash, or a catastrophic failure that requires + immediate attention. + + + + + Not used for writing log messages. Specifies that a logging category should not write any messages. + + + + + Formatter to convert the named format items like {NamedformatItem} to format. + + + + + Defines an alias for implementation to be used in filtering rules. + + + By default, filtering rules are defined using the logging provider type's as configuration section name. + The provides for specifying a second, additional, more concise and user-friendly configuration section name for specifying filter rules. + The logging provider type's can still be used as configuration section name when the is specified for the provider, and its configuration section filtering rules have priority over the filtering rules specified for the alias. + + + + + + Creates a new instance. + + The alias to set. + + + + Gets the alias of the provider. + + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + + Pretty print a type name. + + The . + true to print a fully qualified name. + true to include generic parameter names. + true to include generic parameters. + Character to use as a delimiter in nested type names + The pretty printed type name. + + + + Get a pinnable reference to the builder. + Does not ensure there is a null char after + This overload is pattern matched in the C# 7.3+ compiler so you can omit + the explicit method call, and write eg "fixed (char* c = builder)" + + + + + Get a pinnable reference to the builder. + + Ensures that the builder has a null char after + + + Returns the underlying storage of the builder. + + + + Returns a span around the contents of the builder. + + Ensures that the builder has a null char after + + + + Resize the internal buffer either by doubling current buffer size or + by adding to + whichever is greater. + + + Number of chars requested beyond current position. + + + + The format string '{0}' does not have the expected number of named parameters. Expected {1} parameter(s) but found {2} parameter(s). + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Logging.Abstractions.xml b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Logging.Abstractions.xml new file mode 100644 index 000000000..6a80b4435 --- /dev/null +++ b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Logging.Abstractions.xml @@ -0,0 +1,1365 @@ + + + + Microsoft.Extensions.Logging.Abstractions + + + + + Represents a buffered log record to be written in batch to an . + + + Instances of this type can be pooled and reused. Implementations of must + not hold onto instance of passed to its method + beyond the invocation of that method. + + + + + Gets the time when the log record was first created. + + + + + Gets the record's logging severity level. + + + + + Gets the record's event ID. + + + + + Gets an exception string for this record. + + + + + Gets an activity span ID for this record, representing the state of the thread that created the record. + + + + + Gets an activity trace ID for this record, representing the state of the thread that created the record. + + + + + Gets the ID of the thread that created the log record. + + + + + Gets the formatted log message. + + + + + Gets the original log message template. + + + + + Gets the variable set of name/value pairs associated with the record. + + + + + Represents the ability of a logging provider to support buffered logging. + + + A logging provider implements the interface that gets invoked by the + logging infrastructure whenever it’s time to log a piece of state. + + A logging provider may also optionally implement the interface. + The logging infrastructure may type-test the object to determine if + it supports the interface. If it does, that indicates to the + logging infrastructure that the logging provider supports buffering. Whenever log + buffering is enabled, buffered log records may be delivered to the logging provider + in a batch via . + + If a logging provider does not support log buffering, then it will always be given + unbuffered log records. If a logging provider does support log buffering, whether its + or implementation is used is + determined by the log producer. + + + + + Delivers a batch of buffered log records to a logging provider. + + The buffered log records to log. + + Once this function returns, the implementation should no longer access the records + or state referenced by these records since the instances may be reused to represent other logs. + + + + + Holds the information for a single log entry. + + + + + Initializes an instance of the LogEntry struct. + + The log level. + The category name for the log. + The log event Id. + The state for which log is being written. + The log exception. + The formatter. + + + + Gets the log level. + + + + + Gets the log category. + + + + + Gets the log event ID. + + + + + Gets the state. + + + + + Gets the log exception. + + + + + Gets the formatter. + + + + + Minimalistic logger that does nothing. + + + + + Returns the shared instance of . + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + An used to create an instance of + that logs nothing. + + + + + Creates a new instance. + + + + + Returns the shared instance of . + + + + + + This returns a instance that logs nothing. + + + + + + This method ignores the parameter and does nothing. + + + + + + + + Provider for the . + + + + + Returns an instance of . + + + + + + + + + + + Minimalistic logger that does nothing. + + + + + Returns an instance of . + + An instance of . + + + + + + + + This method ignores the parameters and does nothing. + + + + + + + + Identifies a logging event. The primary identifier is the "Id" property, with the "Name" property providing a short description of this type of event. + + + + + Implicitly creates an EventId from the given . + + The to convert to an EventId. + + + + Checks if two specified instances have the same value. They are equal if they have the same ID. + + The first . + The second . + if the objects are equal. + + + + Checks if two specified instances have different values. + + The first . + The second . + if the objects are not equal. + + + + Initializes an instance of the struct. + + The numeric identifier for this event. + The name of this event. + + + + Gets the numeric identifier for this event. + + + + + Gets the name of this event. + + + + + + + + Compares the current instance to another object of the same type. Two events are equal if they have the same ID. + + An object to compare with this object. + if the current object is equal to ; otherwise, . + + + + + + + + + + LogValues to enable formatting options supported by . + This also enables using {NamedFormatItem} in the format string. + + + + + Represents a storage of common scope data. + + + + + Executes callback for each currently active scope objects in order of creation. + All callbacks are guaranteed to be called inline from this method. + + The callback to be executed for every scope object. + The state object to be passed into the callback. + The type of state to accept. + + + + Adds scope object to the list. + + The scope object. + The token that removes scope on dispose. + + + + Represents a type used to perform logging. + + Aggregates most logging patterns to a single method. + + + + Writes a log entry. + + Entry will be written on this level. + Id of the event. + The entry to be written. Can be also an object. + The exception related to this entry. + Function to create a message of the and . + The type of the object to be written. + + + + Checks if the given is enabled. + + Level to be checked. + if enabled. + + + + Begins a logical operation scope. + + The identifier for the scope. + The type of the state to begin scope for. + An that ends the logical operation scope on dispose. + + + + Represents a type used to configure the logging system and create instances of from + the registered s. + + + + + Creates a new instance. + + The category name for messages produced by the logger. + The . + + + + Adds an to the logging system. + + The . + + + + Represents a type that can create instances of . + + + + + Creates a new instance. + + The category name for messages produced by the logger. + The instance of that was created. + + + + A generic interface for logging where the category name is derived from the specified + type name. + Generally used to enable activation of a named from dependency injection. + + The type whose name is used for the logger category name. + + + + An interface for configuring logging providers. + + + + + Gets the where Logging services are configured. + + + + + Represents a that is able to consume external scope information. + + + + + Sets external scope information source for logger provider. + + The provider of scope data. + + + + Options for and its overloads. + + + + + Gets or sets the flag to skip IsEnabled check for the logging method. + + + + + ILogger extension methods for common scenarios. + + + + + Formats and writes a debug log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogDebug(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a debug log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogDebug(0, "Processing request from {Address}", address) + + + + + + Formats and writes a debug log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogDebug(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a debug log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogDebug("Processing request from {Address}", address) + + + + + + Formats and writes a trace log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogTrace(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a trace log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogTrace(0, "Processing request from {Address}", address) + + + + + + Formats and writes a trace log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogTrace(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a trace log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogTrace("Processing request from {Address}", address) + + + + + + Formats and writes an informational log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogInformation(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes an informational log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogInformation(0, "Processing request from {Address}", address) + + + + + + Formats and writes an informational log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogInformation(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes an informational log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogInformation("Processing request from {Address}", address) + + + + + + Formats and writes a warning log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogWarning(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a warning log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogWarning(0, "Processing request from {Address}", address) + + + + + + Formats and writes a warning log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogWarning(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a warning log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogWarning("Processing request from {Address}", address) + + + + + + Formats and writes an error log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogError(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes an error log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogError(0, "Processing request from {Address}", address) + + + + + + Formats and writes an error log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogError(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes an error log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogError("Processing request from {Address}", address) + + + + + + Formats and writes a critical log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogCritical(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a critical log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogCritical(0, "Processing request from {Address}", address) + + + + + + Formats and writes a critical log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogCritical(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a critical log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogCritical("Processing request from {Address}", address) + + + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + The event id associated with the log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + The event id associated with the log. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats the message and creates a scope. + + The to create the scope in. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + A disposable scope object. Can be null. + + + using(logger.BeginScope("Processing request from {Address}", address)) { } + + + + + + Default implementation of . + + + + + Creates a new . + + + + + + + + + + + ILoggerFactory extension methods for common scenarios. + + + + + Creates a new instance using the full name of the given type. + + The factory. + The type. + The that was created. + + + + Creates a new instance using the full name of the given . + + The factory. + The type. + The that was created. + + + + Creates delegates that can be later cached to log messages in a performant way. + + + + + Creates a delegate that can be invoked to create a log scope. + + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked for logging a message. + + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Provides information to guide the production of a strongly typed logging method. + + + The method this attribute is applied to: + - Must be a partial method. + - Must return void. + - Must not be generic. + - Must have an as one of its parameters. + - Must have a as one of its parameters. + - None of the parameters can be generic. + + + + + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + The log event ID. + The log level. + Format string of the log message. + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + The log level. + Format string of the log message. + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + The log level. + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + Format string of the log message. + + + + Gets or sets the logging event ID for the logging method. + + + + + Gets or sets the logging event name for the logging method. + + + This will equal the method name if not specified. + + + + + Gets or sets the logging level for the logging method. + + + + + Gets or sets the message text for the logging method. + + + + + Gets or sets the flag to skip IsEnabled check for the logging method. + + + + + Delegates to a new instance using the full name of the given type, created by the + provided . + + The type. + + + + Creates a new . + + The factory. + + + + + + + + + + + + + Defines logging severity levels. + + + + + Logs that contain the most detailed messages. These messages may contain sensitive application data. + These messages are disabled by default and should never be enabled in a production environment. + + + + + Logs that are used for interactive investigation during development. These logs should primarily contain + information useful for debugging and have no long-term value. + + + + + Logs that track the general flow of the application. These logs should have long-term value. + + + + + Logs that highlight an abnormal or unexpected event in the application flow, but do not otherwise cause the + application execution to stop. + + + + + Logs that highlight when the current flow of execution is stopped due to a failure. These should indicate a + failure in the current activity, not an application-wide failure. + + + + + Logs that describe an unrecoverable application or system crash, or a catastrophic failure that requires + immediate attention. + + + + + Not used for writing log messages. Specifies that a logging category should not write any messages. + + + + + Formatter to convert the named format items like {NamedformatItem} to format. + + + + + Defines an alias for implementation to be used in filtering rules. + + + By default, filtering rules are defined using the logging provider type's as configuration section name. + The provides for specifying a second, additional, more concise and user-friendly configuration section name for specifying filter rules. + The logging provider type's can still be used as configuration section name when the is specified for the provider, and its configuration section filtering rules have priority over the filtering rules specified for the alias. + + + + + + Creates a new instance. + + The alias to set. + + + + Gets the alias of the provider. + + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + + Pretty print a type name. + + The . + true to print a fully qualified name. + true to include generic parameter names. + true to include generic parameters. + Character to use as a delimiter in nested type names + The pretty printed type name. + + + + Get a pinnable reference to the builder. + Does not ensure there is a null char after + This overload is pattern matched in the C# 7.3+ compiler so you can omit + the explicit method call, and write eg "fixed (char* c = builder)" + + + + + Get a pinnable reference to the builder. + + Ensures that the builder has a null char after + + + Returns the underlying storage of the builder. + + + + Returns a span around the contents of the builder. + + Ensures that the builder has a null char after + + + + Resize the internal buffer either by doubling current buffer size or + by adding to + whichever is greater. + + + Number of chars requested beyond current position. + + + + The format string '{0}' does not have the expected number of named parameters. Expected {1} parameter(s) but found {2} parameter(s). + + + diff --git a/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Logging.Abstractions.xml b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Logging.Abstractions.xml new file mode 100644 index 000000000..6a80b4435 --- /dev/null +++ b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Logging.Abstractions.xml @@ -0,0 +1,1365 @@ + + + + Microsoft.Extensions.Logging.Abstractions + + + + + Represents a buffered log record to be written in batch to an . + + + Instances of this type can be pooled and reused. Implementations of must + not hold onto instance of passed to its method + beyond the invocation of that method. + + + + + Gets the time when the log record was first created. + + + + + Gets the record's logging severity level. + + + + + Gets the record's event ID. + + + + + Gets an exception string for this record. + + + + + Gets an activity span ID for this record, representing the state of the thread that created the record. + + + + + Gets an activity trace ID for this record, representing the state of the thread that created the record. + + + + + Gets the ID of the thread that created the log record. + + + + + Gets the formatted log message. + + + + + Gets the original log message template. + + + + + Gets the variable set of name/value pairs associated with the record. + + + + + Represents the ability of a logging provider to support buffered logging. + + + A logging provider implements the interface that gets invoked by the + logging infrastructure whenever it’s time to log a piece of state. + + A logging provider may also optionally implement the interface. + The logging infrastructure may type-test the object to determine if + it supports the interface. If it does, that indicates to the + logging infrastructure that the logging provider supports buffering. Whenever log + buffering is enabled, buffered log records may be delivered to the logging provider + in a batch via . + + If a logging provider does not support log buffering, then it will always be given + unbuffered log records. If a logging provider does support log buffering, whether its + or implementation is used is + determined by the log producer. + + + + + Delivers a batch of buffered log records to a logging provider. + + The buffered log records to log. + + Once this function returns, the implementation should no longer access the records + or state referenced by these records since the instances may be reused to represent other logs. + + + + + Holds the information for a single log entry. + + + + + Initializes an instance of the LogEntry struct. + + The log level. + The category name for the log. + The log event Id. + The state for which log is being written. + The log exception. + The formatter. + + + + Gets the log level. + + + + + Gets the log category. + + + + + Gets the log event ID. + + + + + Gets the state. + + + + + Gets the log exception. + + + + + Gets the formatter. + + + + + Minimalistic logger that does nothing. + + + + + Returns the shared instance of . + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + An used to create an instance of + that logs nothing. + + + + + Creates a new instance. + + + + + Returns the shared instance of . + + + + + + This returns a instance that logs nothing. + + + + + + This method ignores the parameter and does nothing. + + + + + + + + Provider for the . + + + + + Returns an instance of . + + + + + + + + + + + Minimalistic logger that does nothing. + + + + + Returns an instance of . + + An instance of . + + + + + + + + This method ignores the parameters and does nothing. + + + + + + + + Identifies a logging event. The primary identifier is the "Id" property, with the "Name" property providing a short description of this type of event. + + + + + Implicitly creates an EventId from the given . + + The to convert to an EventId. + + + + Checks if two specified instances have the same value. They are equal if they have the same ID. + + The first . + The second . + if the objects are equal. + + + + Checks if two specified instances have different values. + + The first . + The second . + if the objects are not equal. + + + + Initializes an instance of the struct. + + The numeric identifier for this event. + The name of this event. + + + + Gets the numeric identifier for this event. + + + + + Gets the name of this event. + + + + + + + + Compares the current instance to another object of the same type. Two events are equal if they have the same ID. + + An object to compare with this object. + if the current object is equal to ; otherwise, . + + + + + + + + + + LogValues to enable formatting options supported by . + This also enables using {NamedFormatItem} in the format string. + + + + + Represents a storage of common scope data. + + + + + Executes callback for each currently active scope objects in order of creation. + All callbacks are guaranteed to be called inline from this method. + + The callback to be executed for every scope object. + The state object to be passed into the callback. + The type of state to accept. + + + + Adds scope object to the list. + + The scope object. + The token that removes scope on dispose. + + + + Represents a type used to perform logging. + + Aggregates most logging patterns to a single method. + + + + Writes a log entry. + + Entry will be written on this level. + Id of the event. + The entry to be written. Can be also an object. + The exception related to this entry. + Function to create a message of the and . + The type of the object to be written. + + + + Checks if the given is enabled. + + Level to be checked. + if enabled. + + + + Begins a logical operation scope. + + The identifier for the scope. + The type of the state to begin scope for. + An that ends the logical operation scope on dispose. + + + + Represents a type used to configure the logging system and create instances of from + the registered s. + + + + + Creates a new instance. + + The category name for messages produced by the logger. + The . + + + + Adds an to the logging system. + + The . + + + + Represents a type that can create instances of . + + + + + Creates a new instance. + + The category name for messages produced by the logger. + The instance of that was created. + + + + A generic interface for logging where the category name is derived from the specified + type name. + Generally used to enable activation of a named from dependency injection. + + The type whose name is used for the logger category name. + + + + An interface for configuring logging providers. + + + + + Gets the where Logging services are configured. + + + + + Represents a that is able to consume external scope information. + + + + + Sets external scope information source for logger provider. + + The provider of scope data. + + + + Options for and its overloads. + + + + + Gets or sets the flag to skip IsEnabled check for the logging method. + + + + + ILogger extension methods for common scenarios. + + + + + Formats and writes a debug log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogDebug(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a debug log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogDebug(0, "Processing request from {Address}", address) + + + + + + Formats and writes a debug log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogDebug(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a debug log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogDebug("Processing request from {Address}", address) + + + + + + Formats and writes a trace log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogTrace(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a trace log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogTrace(0, "Processing request from {Address}", address) + + + + + + Formats and writes a trace log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogTrace(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a trace log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogTrace("Processing request from {Address}", address) + + + + + + Formats and writes an informational log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogInformation(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes an informational log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogInformation(0, "Processing request from {Address}", address) + + + + + + Formats and writes an informational log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogInformation(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes an informational log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogInformation("Processing request from {Address}", address) + + + + + + Formats and writes a warning log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogWarning(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a warning log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogWarning(0, "Processing request from {Address}", address) + + + + + + Formats and writes a warning log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogWarning(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a warning log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogWarning("Processing request from {Address}", address) + + + + + + Formats and writes an error log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogError(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes an error log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogError(0, "Processing request from {Address}", address) + + + + + + Formats and writes an error log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogError(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes an error log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogError("Processing request from {Address}", address) + + + + + + Formats and writes a critical log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogCritical(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a critical log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogCritical(0, "Processing request from {Address}", address) + + + + + + Formats and writes a critical log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogCritical(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a critical log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogCritical("Processing request from {Address}", address) + + + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + The event id associated with the log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + The event id associated with the log. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats the message and creates a scope. + + The to create the scope in. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + A disposable scope object. Can be null. + + + using(logger.BeginScope("Processing request from {Address}", address)) { } + + + + + + Default implementation of . + + + + + Creates a new . + + + + + + + + + + + ILoggerFactory extension methods for common scenarios. + + + + + Creates a new instance using the full name of the given type. + + The factory. + The type. + The that was created. + + + + Creates a new instance using the full name of the given . + + The factory. + The type. + The that was created. + + + + Creates delegates that can be later cached to log messages in a performant way. + + + + + Creates a delegate that can be invoked to create a log scope. + + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked for logging a message. + + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Provides information to guide the production of a strongly typed logging method. + + + The method this attribute is applied to: + - Must be a partial method. + - Must return void. + - Must not be generic. + - Must have an as one of its parameters. + - Must have a as one of its parameters. + - None of the parameters can be generic. + + + + + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + The log event ID. + The log level. + Format string of the log message. + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + The log level. + Format string of the log message. + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + The log level. + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + Format string of the log message. + + + + Gets or sets the logging event ID for the logging method. + + + + + Gets or sets the logging event name for the logging method. + + + This will equal the method name if not specified. + + + + + Gets or sets the logging level for the logging method. + + + + + Gets or sets the message text for the logging method. + + + + + Gets or sets the flag to skip IsEnabled check for the logging method. + + + + + Delegates to a new instance using the full name of the given type, created by the + provided . + + The type. + + + + Creates a new . + + The factory. + + + + + + + + + + + + + Defines logging severity levels. + + + + + Logs that contain the most detailed messages. These messages may contain sensitive application data. + These messages are disabled by default and should never be enabled in a production environment. + + + + + Logs that are used for interactive investigation during development. These logs should primarily contain + information useful for debugging and have no long-term value. + + + + + Logs that track the general flow of the application. These logs should have long-term value. + + + + + Logs that highlight an abnormal or unexpected event in the application flow, but do not otherwise cause the + application execution to stop. + + + + + Logs that highlight when the current flow of execution is stopped due to a failure. These should indicate a + failure in the current activity, not an application-wide failure. + + + + + Logs that describe an unrecoverable application or system crash, or a catastrophic failure that requires + immediate attention. + + + + + Not used for writing log messages. Specifies that a logging category should not write any messages. + + + + + Formatter to convert the named format items like {NamedformatItem} to format. + + + + + Defines an alias for implementation to be used in filtering rules. + + + By default, filtering rules are defined using the logging provider type's as configuration section name. + The provides for specifying a second, additional, more concise and user-friendly configuration section name for specifying filter rules. + The logging provider type's can still be used as configuration section name when the is specified for the provider, and its configuration section filtering rules have priority over the filtering rules specified for the alias. + + + + + + Creates a new instance. + + The alias to set. + + + + Gets the alias of the provider. + + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + + Pretty print a type name. + + The . + true to print a fully qualified name. + true to include generic parameter names. + true to include generic parameters. + Character to use as a delimiter in nested type names + The pretty printed type name. + + + + Get a pinnable reference to the builder. + Does not ensure there is a null char after + This overload is pattern matched in the C# 7.3+ compiler so you can omit + the explicit method call, and write eg "fixed (char* c = builder)" + + + + + Get a pinnable reference to the builder. + + Ensures that the builder has a null char after + + + Returns the underlying storage of the builder. + + + + Returns a span around the contents of the builder. + + Ensures that the builder has a null char after + + + + Resize the internal buffer either by doubling current buffer size or + by adding to + whichever is greater. + + + Number of chars requested beyond current position. + + + + The format string '{0}' does not have the expected number of named parameters. Expected {1} parameter(s) but found {2} parameter(s). + + + diff --git a/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml new file mode 100644 index 000000000..2a703c643 --- /dev/null +++ b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml @@ -0,0 +1,1548 @@ + + + + Microsoft.Extensions.Logging.Abstractions + + + + + Represents a buffered log record to be written in batch to an . + + + Instances of this type can be pooled and reused. Implementations of must + not hold onto instance of passed to its method + beyond the invocation of that method. + + + + + Gets the time when the log record was first created. + + + + + Gets the record's logging severity level. + + + + + Gets the record's event ID. + + + + + Gets an exception string for this record. + + + + + Gets an activity span ID for this record, representing the state of the thread that created the record. + + + + + Gets an activity trace ID for this record, representing the state of the thread that created the record. + + + + + Gets the ID of the thread that created the log record. + + + + + Gets the formatted log message. + + + + + Gets the original log message template. + + + + + Gets the variable set of name/value pairs associated with the record. + + + + + Represents the ability of a logging provider to support buffered logging. + + + A logging provider implements the interface that gets invoked by the + logging infrastructure whenever it’s time to log a piece of state. + + A logging provider may also optionally implement the interface. + The logging infrastructure may type-test the object to determine if + it supports the interface. If it does, that indicates to the + logging infrastructure that the logging provider supports buffering. Whenever log + buffering is enabled, buffered log records may be delivered to the logging provider + in a batch via . + + If a logging provider does not support log buffering, then it will always be given + unbuffered log records. If a logging provider does support log buffering, whether its + or implementation is used is + determined by the log producer. + + + + + Delivers a batch of buffered log records to a logging provider. + + The buffered log records to log. + + Once this function returns, the implementation should no longer access the records + or state referenced by these records since the instances may be reused to represent other logs. + + + + + Holds the information for a single log entry. + + + + + Initializes an instance of the LogEntry struct. + + The log level. + The category name for the log. + The log event Id. + The state for which log is being written. + The log exception. + The formatter. + + + + Gets the log level. + + + + + Gets the log category. + + + + + Gets the log event ID. + + + + + Gets the state. + + + + + Gets the log exception. + + + + + Gets the formatter. + + + + + Minimalistic logger that does nothing. + + + + + Returns the shared instance of . + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + An used to create an instance of + that logs nothing. + + + + + Creates a new instance. + + + + + Returns the shared instance of . + + + + + + This returns a instance that logs nothing. + + + + + + This method ignores the parameter and does nothing. + + + + + + + + Provider for the . + + + + + Returns an instance of . + + + + + + + + + + + Minimalistic logger that does nothing. + + + + + Returns an instance of . + + An instance of . + + + + + + + + This method ignores the parameters and does nothing. + + + + + + + + Identifies a logging event. The primary identifier is the "Id" property, with the "Name" property providing a short description of this type of event. + + + + + Implicitly creates an EventId from the given . + + The to convert to an EventId. + + + + Checks if two specified instances have the same value. They are equal if they have the same ID. + + The first . + The second . + if the objects are equal. + + + + Checks if two specified instances have different values. + + The first . + The second . + if the objects are not equal. + + + + Initializes an instance of the struct. + + The numeric identifier for this event. + The name of this event. + + + + Gets the numeric identifier for this event. + + + + + Gets the name of this event. + + + + + + + + Compares the current instance to another object of the same type. Two events are equal if they have the same ID. + + An object to compare with this object. + if the current object is equal to ; otherwise, . + + + + + + + + + + LogValues to enable formatting options supported by . + This also enables using {NamedFormatItem} in the format string. + + + + + Represents a storage of common scope data. + + + + + Executes callback for each currently active scope objects in order of creation. + All callbacks are guaranteed to be called inline from this method. + + The callback to be executed for every scope object. + The state object to be passed into the callback. + The type of state to accept. + + + + Adds scope object to the list. + + The scope object. + The token that removes scope on dispose. + + + + Represents a type used to perform logging. + + Aggregates most logging patterns to a single method. + + + + Writes a log entry. + + Entry will be written on this level. + Id of the event. + The entry to be written. Can be also an object. + The exception related to this entry. + Function to create a message of the and . + The type of the object to be written. + + + + Checks if the given is enabled. + + Level to be checked. + if enabled. + + + + Begins a logical operation scope. + + The identifier for the scope. + The type of the state to begin scope for. + An that ends the logical operation scope on dispose. + + + + Represents a type used to configure the logging system and create instances of from + the registered s. + + + + + Creates a new instance. + + The category name for messages produced by the logger. + The . + + + + Adds an to the logging system. + + The . + + + + Represents a type that can create instances of . + + + + + Creates a new instance. + + The category name for messages produced by the logger. + The instance of that was created. + + + + A generic interface for logging where the category name is derived from the specified + type name. + Generally used to enable activation of a named from dependency injection. + + The type whose name is used for the logger category name. + + + + An interface for configuring logging providers. + + + + + Gets the where Logging services are configured. + + + + + Represents a that is able to consume external scope information. + + + + + Sets external scope information source for logger provider. + + The provider of scope data. + + + + Options for and its overloads. + + + + + Gets or sets the flag to skip IsEnabled check for the logging method. + + + + + ILogger extension methods for common scenarios. + + + + + Formats and writes a debug log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogDebug(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a debug log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogDebug(0, "Processing request from {Address}", address) + + + + + + Formats and writes a debug log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogDebug(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a debug log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogDebug("Processing request from {Address}", address) + + + + + + Formats and writes a trace log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogTrace(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a trace log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogTrace(0, "Processing request from {Address}", address) + + + + + + Formats and writes a trace log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogTrace(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a trace log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogTrace("Processing request from {Address}", address) + + + + + + Formats and writes an informational log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogInformation(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes an informational log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogInformation(0, "Processing request from {Address}", address) + + + + + + Formats and writes an informational log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogInformation(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes an informational log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogInformation("Processing request from {Address}", address) + + + + + + Formats and writes a warning log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogWarning(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a warning log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogWarning(0, "Processing request from {Address}", address) + + + + + + Formats and writes a warning log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogWarning(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a warning log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogWarning("Processing request from {Address}", address) + + + + + + Formats and writes an error log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogError(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes an error log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogError(0, "Processing request from {Address}", address) + + + + + + Formats and writes an error log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogError(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes an error log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogError("Processing request from {Address}", address) + + + + + + Formats and writes a critical log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogCritical(0, exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a critical log message. + + The to write to. + The event id associated with the log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogCritical(0, "Processing request from {Address}", address) + + + + + + Formats and writes a critical log message. + + The to write to. + The exception to log. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogCritical(exception, "Error while processing request from {Address}", address) + + + + + + Formats and writes a critical log message. + + The to write to. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + + + logger.LogCritical("Processing request from {Address}", address) + + + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + The event id associated with the log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a log message at the specified log level. + + The to write to. + Entry will be written on this level. + The event id associated with the log. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats the message and creates a scope. + + The to create the scope in. + Format string of the log message in message template format. Example: "User {User} logged in from {Address}". + An object array that contains zero or more objects to format. + A disposable scope object. Can be null. + + + using(logger.BeginScope("Processing request from {Address}", address)) { } + + + + + + Default implementation of . + + + + + Creates a new . + + + + + + + + + + + ILoggerFactory extension methods for common scenarios. + + + + + Creates a new instance using the full name of the given type. + + The factory. + The type. + The that was created. + + + + Creates a new instance using the full name of the given . + + The factory. + The type. + The that was created. + + + + Creates delegates that can be later cached to log messages in a performant way. + + + + + Creates a delegate that can be invoked to create a log scope. + + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The named format string. + A delegate that, when invoked, creates a log scope. + + + + Creates a delegate that can be invoked for logging a message. + + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The . + The event ID. + The named format string. + A delegate that, when invoked, creates a log message. + + + + Creates a delegate that can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The . + The event ID. + The named format string. + The . + A delegate that, when invoked, creates a log message. + + + + Provides information to guide the production of a strongly typed logging method. + + + The method this attribute is applied to: + - Must be a partial method. + - Must return void. + - Must not be generic. + - Must have an as one of its parameters. + - Must have a as one of its parameters. + - None of the parameters can be generic. + + + + + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + The log event ID. + The log level. + Format string of the log message. + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + The log level. + Format string of the log message. + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + The log level. + + + + Initializes a new instance of the class + that's used to guide the production of a strongly typed logging method. + + Format string of the log message. + + + + Gets or sets the logging event ID for the logging method. + + + + + Gets or sets the logging event name for the logging method. + + + This will equal the method name if not specified. + + + + + Gets or sets the logging level for the logging method. + + + + + Gets or sets the message text for the logging method. + + + + + Gets or sets the flag to skip IsEnabled check for the logging method. + + + + + Delegates to a new instance using the full name of the given type, created by the + provided . + + The type. + + + + Creates a new . + + The factory. + + + + + + + + + + + + + Defines logging severity levels. + + + + + Logs that contain the most detailed messages. These messages may contain sensitive application data. + These messages are disabled by default and should never be enabled in a production environment. + + + + + Logs that are used for interactive investigation during development. These logs should primarily contain + information useful for debugging and have no long-term value. + + + + + Logs that track the general flow of the application. These logs should have long-term value. + + + + + Logs that highlight an abnormal or unexpected event in the application flow, but do not otherwise cause the + application execution to stop. + + + + + Logs that highlight when the current flow of execution is stopped due to a failure. These should indicate a + failure in the current activity, not an application-wide failure. + + + + + Logs that describe an unrecoverable application or system crash, or a catastrophic failure that requires + immediate attention. + + + + + Not used for writing log messages. Specifies that a logging category should not write any messages. + + + + + Formatter to convert the named format items like {NamedformatItem} to format. + + + + + Defines an alias for implementation to be used in filtering rules. + + + By default, filtering rules are defined using the logging provider type's as configuration section name. + The provides for specifying a second, additional, more concise and user-friendly configuration section name for specifying filter rules. + The logging provider type's can still be used as configuration section name when the is specified for the provider, and its configuration section filtering rules have priority over the filtering rules specified for the alias. + + + + + + Creates a new instance. + + The alias to set. + + + + Gets the alias of the provider. + + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + + Pretty print a type name. + + The . + true to print a fully qualified name. + true to include generic parameter names. + true to include generic parameters. + Character to use as a delimiter in nested type names + The pretty printed type name. + + + + Get a pinnable reference to the builder. + Does not ensure there is a null char after + This overload is pattern matched in the C# 7.3+ compiler so you can omit + the explicit method call, and write eg "fixed (char* c = builder)" + + + + + Get a pinnable reference to the builder. + + Ensures that the builder has a null char after + + + Returns the underlying storage of the builder. + + + + Returns a span around the contents of the builder. + + Ensures that the builder has a null char after + + + + Resize the internal buffer either by doubling current buffer size or + by adding to + whichever is greater. + + + Number of chars requested beyond current position. + + + + The format string '{0}' does not have the expected number of named parameters. Expected {1} parameter(s) but found {2} parameter(s). + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.logging.abstractions.10.0.0-rc.2.25502.107.nupkg b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.logging.abstractions.10.0.0-rc.2.25502.107.nupkg new file mode 100644 index 000000000..47fae3a7f Binary files /dev/null and b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.logging.abstractions.10.0.0-rc.2.25502.107.nupkg differ diff --git a/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.logging.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.logging.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..03ca33029 --- /dev/null +++ b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/microsoft.extensions.logging.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +8wOAZBRCLvGAN7zEzMiMYm8g8gs52/k12nbUsGj+X5YpLDYNDrLucmvyFe37kgB03TWKKolQZTNWMWqUZL/Epg== \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nugets/microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nugets/microsoft.extensions.logging.abstractions/2.0.0/.nupkg.metadata b/local-nugets/microsoft.extensions.logging.abstractions/2.0.0/.nupkg.metadata new file mode 100644 index 000000000..889668ee7 --- /dev/null +++ b/local-nugets/microsoft.extensions.logging.abstractions/2.0.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "6ZCllUYGFukkymSTx3Yr0G/ajRxoNJp7/FqSxSB4fGISST54ifBhgu4Nc0ItGi3i6DqwuNd8SUyObmiC++AO2Q==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.logging.abstractions/2.0.0/.signature.p7s b/local-nugets/microsoft.extensions.logging.abstractions/2.0.0/.signature.p7s new file mode 100644 index 000000000..9beadd361 Binary files /dev/null and b/local-nugets/microsoft.extensions.logging.abstractions/2.0.0/.signature.p7s differ diff --git a/local-nugets/microsoft.extensions.logging.abstractions/2.0.0/Microsoft.Extensions.Logging.Abstractions.nuspec b/local-nugets/microsoft.extensions.logging.abstractions/2.0.0/Microsoft.Extensions.Logging.Abstractions.nuspec new file mode 100644 index 000000000..4574cfc9d --- /dev/null +++ b/local-nugets/microsoft.extensions.logging.abstractions/2.0.0/Microsoft.Extensions.Logging.Abstractions.nuspec @@ -0,0 +1,29 @@ + + + + Microsoft.Extensions.Logging.Abstractions + 2.0.0 + Microsoft + Microsoft + true + https://raw.githubusercontent.com/aspnet/Home/2.0.0/LICENSE.txt + https://asp.net/ + https://go.microsoft.com/fwlink/?LinkID=288859 + Logging abstractions for Microsoft.Extensions.Logging. +Commonly used types: +Microsoft.Extensions.Logging.ILogger +Microsoft.Extensions.Logging.ILoggerFactory +Microsoft.Extensions.Logging.ILogger<TCategoryName> +Microsoft.Extensions.Logging.LogLevel +Microsoft.Extensions.Logging.Logger<T> +Microsoft.Extensions.Logging.LoggerMessage +Microsoft.Extensions.Logging.Abstractions.NullLogger + Copyright © Microsoft Corporation + logging + true + + + + + + \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.logging.abstractions/2.0.0/lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml b/local-nugets/microsoft.extensions.logging.abstractions/2.0.0/lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml new file mode 100644 index 000000000..c4b434843 --- /dev/null +++ b/local-nugets/microsoft.extensions.logging.abstractions/2.0.0/lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml @@ -0,0 +1,596 @@ + + + + Microsoft.Extensions.Logging.Abstractions + + + + + Represents a type used to perform logging. + + Aggregates most logging patterns to a single method. + + + + Writes a log entry. + + Entry will be written on this level. + Id of the event. + The entry to be written. Can be also an object. + The exception related to this entry. + Function to create a string message of the and . + + + + Checks if the given is enabled. + + level to be checked. + true if enabled. + + + + Begins a logical operation scope. + + The identifier for the scope. + An IDisposable that ends the logical operation scope on dispose. + + + + Represents a type used to configure the logging system and create instances of from + the registered s. + + + + + Creates a new instance. + + The category name for messages produced by the logger. + The . + + + + Adds an to the logging system. + + The . + + + + A generic interface for logging where the category name is derived from the specified + type name. + Generally used to enable activation of a named from dependency injection. + + The type who's name is used for the logger category name. + + + + Represents a type that can create instances of . + + + + + Creates a new instance. + + The category name for messages produced by the logger. + + + + + LogValues to enable formatting options supported by . + This also enables using {NamedformatItem} in the format string. + + + + + Formatter to convert the named format items like {NamedformatItem} to format. + + + + + An empty scope without any logic + + + + + + + + Minimalistic logger that does nothing. + + + + + + + + + + + + + + An used to create instance of + that logs nothing. + + + + + + This returns a instance which logs nothing. + + + + + + This method ignores the parameter and does nothing. + + + + + Minimalistic logger that does nothing. + + + + + + + + + This method ignores the parameters and does nothing. + + + + + + + + Provider for the . + + + + + + + + + + + The format string '{0}' does not have the expected number of named parameters. Expected {1} parameter(s) but found {2} parameter(s). + + + + + The format string '{0}' does not have the expected number of named parameters. Expected {1} parameter(s) but found {2} parameter(s). + + + + + ILogger extension methods for common scenarios. + + + + + Formats and writes a debug log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a debug log message. + + The to write to. + The event id associated with the log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a debug log message. + + The to write to. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a debug log message. + + The to write to. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a trace log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a trace log message. + + The to write to. + The event id associated with the log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a trace log message. + + The to write to. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a trace log message. + + The to write to. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes an informational log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes an informational log message. + + The to write to. + The event id associated with the log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes an informational log message. + + The to write to. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes an informational log message. + + The to write to. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a warning log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a warning log message. + + The to write to. + The event id associated with the log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a warning log message. + + The to write to. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a warning log message. + + The to write to. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes an error log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes an error log message. + + The to write to. + The event id associated with the log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes an error log message. + + The to write to. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes an error log message. + + The to write to. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a critical log message. + + The to write to. + The event id associated with the log. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a critical log message. + + The to write to. + The event id associated with the log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a critical log message. + + The to write to. + The exception to log. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats and writes a critical log message. + + The to write to. + Format string of the log message. + An object array that contains zero or more objects to format. + + + + Formats the message and creates a scope. + + The to create the scope in. + Format string of the scope message. + An object array that contains zero or more objects to format. + A disposable scope object. Can be null. + + + + ILoggerFactory extension methods for common scenarios. + + + + + Creates a new ILogger instance using the full name of the given type. + + The type. + The factory. + + + + Creates a new ILogger instance using the full name of the given type. + + The factory. + The type. + + + + Creates delegates which can be later cached to log messages in a performant way. + + + + + Creates a delegate which can be invoked to create a log scope. + + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked to create a log scope. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The named format string + A delegate which when invoked creates a log scope. + + + + Creates a delegate which can be invoked for logging a message. + + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Creates a delegate which can be invoked for logging a message. + + The type of the first parameter passed to the named format string. + The type of the second parameter passed to the named format string. + The type of the third parameter passed to the named format string. + The type of the fourth parameter passed to the named format string. + The type of the fifth parameter passed to the named format string. + The type of the sixth parameter passed to the named format string. + The + The event id + The named format string + A delegate which when invoked creates a log message. + + + + Delegates to a new instance using the full name of the given type, created by the + provided . + + The type. + + + + Creates a new . + + The factory. + + + + Defines logging severity levels. + + + + + Logs that contain the most detailed messages. These messages may contain sensitive application data. + These messages are disabled by default and should never be enabled in a production environment. + + + + + Logs that are used for interactive investigation during development. These logs should primarily contain + information useful for debugging and have no long-term value. + + + + + Logs that track the general flow of the application. These logs should have long-term value. + + + + + Logs that highlight an abnormal or unexpected event in the application flow, but do not otherwise cause the + application execution to stop. + + + + + Logs that highlight when the current flow of execution is stopped due to a failure. These should indicate a + failure in the current activity, not an application-wide failure. + + + + + Logs that describe an unrecoverable application or system crash, or a catastrophic failure that requires + immediate attention. + + + + + Not used for writing log messages. Specifies that a logging category should not write any messages. + + + + diff --git a/local-nugets/microsoft.extensions.logging.abstractions/2.0.0/microsoft.extensions.logging.abstractions.2.0.0.nupkg b/local-nugets/microsoft.extensions.logging.abstractions/2.0.0/microsoft.extensions.logging.abstractions.2.0.0.nupkg new file mode 100644 index 000000000..689642529 Binary files /dev/null and b/local-nugets/microsoft.extensions.logging.abstractions/2.0.0/microsoft.extensions.logging.abstractions.2.0.0.nupkg differ diff --git a/local-nugets/microsoft.extensions.logging.abstractions/2.0.0/microsoft.extensions.logging.abstractions.2.0.0.nupkg.sha512 b/local-nugets/microsoft.extensions.logging.abstractions/2.0.0/microsoft.extensions.logging.abstractions.2.0.0.nupkg.sha512 new file mode 100644 index 000000000..d00858849 --- /dev/null +++ b/local-nugets/microsoft.extensions.logging.abstractions/2.0.0/microsoft.extensions.logging.abstractions.2.0.0.nupkg.sha512 @@ -0,0 +1 @@ +uhZnIkbwREXhfXmZz5V3U+1PBuKMkniymUYWKLGOfMQDYZKzdev0N3pNGl3eqL3j4uy3s2BKUg3O/YBPapRZgQ== \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..7861baabe --- /dev/null +++ b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "Ib6BCCjisp7ZUdhtNpSulFO0ODhz/IE4ZZd8OCqQWoRs363BQ0QOZi9KwpqpiEWo51S0kIXWqNicDPGXwpt9pQ==", + "source": "/mnt/e/dev/git.stella-ops.org/local-nugets" +} \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/.signature.p7s b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..0f5355e1e Binary files /dev/null and b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/Icon.png b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/Microsoft.Extensions.Options.nuspec b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/Microsoft.Extensions.Options.nuspec new file mode 100644 index 000000000..7a0bffa23 --- /dev/null +++ b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/Microsoft.Extensions.Options.nuspec @@ -0,0 +1,50 @@ + + + + Microsoft.Extensions.Options + 10.0.0-rc.2.25502.107 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + PACKAGE.md + https://dot.net/ + Provides a strongly typed way of specifying and accessing settings using dependency injection. + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/PACKAGE.md b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/PACKAGE.md new file mode 100644 index 000000000..ee0cc2ab6 --- /dev/null +++ b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/PACKAGE.md @@ -0,0 +1,170 @@ +## About +`Microsoft.Extensions.Options` provides a strongly typed way of specifying and accessing settings using dependency injection and acts as a bridge between configuration, DI, and higher level libraries. This library is the glue for how an app developer uses DI to configure the behavior of a library like HttpClient Factory. This also enables user to get a strongly-typed view of their configuration. + +Within this package, you'll find an options validation source generator that generates exceptionally efficient and optimized code for validating options. + +## Key Features + +* Offer the IValidateOptions interface for the validation of options, along with several generic ValidateOptions classes that implement this interface. +* OptionsBuilder to configure options. +* Provide extension methods for service collections and options builder to register options and validate options. +* Supply a set of generic ConfigureNamedOptions classes that implement the IConfigureNamedOptions interface for configuring named options. +* Provide a source generator that generates validation code for options. +* Options caching, managing and monitoring. + +## How to Use + +#### Options validation example + +```C# +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; + +var builder = WebApplication.CreateBuilder(args); + +builder.Services.AddControllersWithViews(); + +// Load the configuration and validate it +builder.Services.AddOptions() + .Bind(builder.Configuration.GetSection(MyConfigOptions.MyConfig)) + .ValidateDataAnnotations(); +var app = builder.Build(); + + +// Declare the option class to validate +public class MyConfigOptions +{ + public const string MyConfig = "MyConfig"; + + [RegularExpression(@"^[a-zA-Z''-'\s]{1,40}$")] + public string Key1 { get; set; } + [Range(0, 1000, + ErrorMessage = "Value for {0} must be between {1} and {2}.")] + public int Key2 { get; set; } + public int Key3 { get; set; } +} +``` + +#### Using IValidateOptions to validate options + +```C# +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; + +var builder = WebApplication.CreateBuilder(args); + +builder.Services.AddControllersWithViews(); + +// Configuration to validate +builder.Services.Configure(builder.Configuration.GetSection( + MyConfigOptions.MyConfig)); + +// OPtions validation through the DI container +builder.Services.AddSingleton, MyConfigValidation>(); + +var app = builder.Build(); + +public class MyConfigValidation : IValidateOptions +{ + public MyConfigOptions _config { get; private set; } + + public MyConfigValidation(IConfiguration config) + { + _config = config.GetSection(MyConfigOptions.MyConfig) + .Get(); + } + + public ValidateOptionsResult Validate(string name, MyConfigOptions options) + { + string? vor = null; + var rx = new Regex(@"^[a-zA-Z''-'\s]{1,40}$"); + var match = rx.Match(options.Key1!); + + if (string.IsNullOrEmpty(match.Value)) + { + vor = $"{options.Key1} doesn't match RegEx \n"; + } + + if ( options.Key2 < 0 || options.Key2 > 1000) + { + vor = $"{options.Key2} doesn't match Range 0 - 1000 \n"; + } + + if (_config.Key2 != default) + { + if(_config.Key3 <= _config.Key2) + { + vor += "Key3 must be > than Key2."; + } + } + + if (vor != null) + { + return ValidateOptionsResult.Fail(vor); + } + + return ValidateOptionsResult.Success; + } +} + +``` + +#### Options Validation Source Generator Example + +```C# +using System; +using System.ComponentModel.DataAnnotations; +using Microsoft.Extensions.Options; + +public class MyConfigOptions +{ + [RegularExpression(@"^[a-zA-Z''-'\s]{1,40}$")] + public string Key1 { get; set; } + + [Range(0, 1000, + ErrorMessage = "Value for {0} must be between {1} and {2}.")] + public int Key2 { get; set; } + public int Key3 { get; set; } +} + +[OptionsValidator] +public partial class MyConfigValidation : IValidateOptions +{ + // Source generator will automatically provide the implementation of IValidateOptions + // Then you can add the validation to the DI Container using the following code: + // + // builder.Services.AddSingleton, MyConfigValidation>(); + // builder.Services.AddOptions() + // .Bind(builder.Configuration.GetSection(MyConfigOptions.MyConfig)) + // .ValidateDataAnnotations(); +} + +``` + +## Main Types + +The main types provided by this library are: + +* `IOptions`, `IOptionsFactory`, and `IOptionsMonitor` +* `IValidateOptions` and `ValidateOptions` +* `OptionsBuilder`, `OptionsFactory`, `OptionsMonitor`, and `OptionsManager` +* `OptionsServiceCollectionExtensions` +* `OptionsValidatorAttribute` + +## Additional Documentation + +* [Conceptual documentation](https://learn.microsoft.com/aspnet/core/fundamentals/configuration/options) +* [API documentation](https://learn.microsoft.com/dotnet/api/microsoft.extensions.options) + +## Related Packages + +[Microsoft.Extensions.Logging](https://www.nuget.org/packages/Microsoft.Extensions.Logging) +[Microsoft.Extensions.Configuration](https://www.nuget.org/packages/Microsoft.Extensions.Configuration) + +## Feedback & Contributing + +Microsoft.Extensions.Options is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Options.targets b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Options.targets new file mode 100644 index 000000000..8ebd1f9c3 --- /dev/null +++ b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Options.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/buildTransitive/net462/Microsoft.Extensions.Options.targets b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/buildTransitive/net462/Microsoft.Extensions.Options.targets new file mode 100644 index 000000000..da4da57a0 --- /dev/null +++ b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/buildTransitive/net462/Microsoft.Extensions.Options.targets @@ -0,0 +1,31 @@ + + + + + <_Microsoft_Extensions_OptionsAnalyzer Include="@(Analyzer)" Condition="'%(Analyzer.NuGetPackageId)' == 'Microsoft.Extensions.Options'" /> + + + + + + + + + + + + + + + + + + + diff --git a/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/buildTransitive/net8.0/Microsoft.Extensions.Options.targets b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/buildTransitive/net8.0/Microsoft.Extensions.Options.targets new file mode 100644 index 000000000..da4da57a0 --- /dev/null +++ b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/buildTransitive/net8.0/Microsoft.Extensions.Options.targets @@ -0,0 +1,31 @@ + + + + + <_Microsoft_Extensions_OptionsAnalyzer Include="@(Analyzer)" Condition="'%(Analyzer.NuGetPackageId)' == 'Microsoft.Extensions.Options'" /> + + + + + + + + + + + + + + + + + + + diff --git a/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets new file mode 100644 index 000000000..b295f9a90 --- /dev/null +++ b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets new file mode 100644 index 000000000..da4da57a0 --- /dev/null +++ b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets @@ -0,0 +1,31 @@ + + + + + <_Microsoft_Extensions_OptionsAnalyzer Include="@(Analyzer)" Condition="'%(Analyzer.NuGetPackageId)' == 'Microsoft.Extensions.Options'" /> + + + + + + + + + + + + + + + + + + + diff --git a/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Options.xml b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Options.xml new file mode 100644 index 000000000..293615cc2 --- /dev/null +++ b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Options.xml @@ -0,0 +1,2047 @@ + + + + Microsoft.Extensions.Options + + + + + Implementation of . + + Options type being configured. + + + + Initializes a new instance of . + + The name of the options. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Gets the fifth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + + + + Initializes a new instance of . + + The action to register. + + + + Gets the configuration action. + + + + + Invokes the registered configure . + + The options instance to configure. + + + + Represents something that configures the type. + + The options type being configured. + + + + Configures a instance. + + The name of the options instance being configured. + The options instance to configure. + + + + Represents something that configures the type. + + The options type being configured. + + These are run before all . + + + + + Configures a instance. + + The options instance to configure. + + + + Retrieves configured instances. + + The type of options being requested. + + + + Gets the default configured instance. + + + + + Fetches a that's used for tracking options changes. + + The options type being changed. + + + + Returns a that can be used to register a change notification callback. + + A change token. + + + + Gets the name of the option instance being changed. + + + + + Creates instances. + + The type of options being requested. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with the given . + + + + Monitors changes on a instance. + + The options type. + + + + Gets the current instance with the . + + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + + + + Registers a listener to be called whenever a named changes. + + The action to be invoked when has changed. + An that should be disposed to stop listening for changes. + + + + Used by to cache instances. + + The type of options being requested. + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The func used to create the new instance. + The options instance. + + + + Tries to adds a new option to the cache. + + The name of the options instance. + The options instance. + if the options instance was added; if the name already exists. + + + + Tries to remove an options instance. + + The name of the options instance. + if the options instance was removed; otherwise, . + + + + Clears all options instances from the cache. + + + + + Used to access the value of for the lifetime of a request. + + Options type. + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + + + + Represents something that configures the type. + + Options type being configured. + + These are run after all . + + + + + Configures a instance. + + The name of the options instance being configured. + The options instance to configured. + + + + Used by hosts to validate options during startup. + + + Options are enabled to be validated during startup by calling . + + + + + Calls the validators. + + One or more return failed when validating. + + + + Validates options. + + The options type to validate. + + + + Validates a specified named options instance (or all if is ). + + The name of the options instance being validated. + The options instance. + The result. + + + + Helper class for options. + + + + + The default name used for options instances: "". + + + + + Creates a wrapper around an instance of to return itself as an . + + Options type. + Options object. + Wrapped options object. + + + + Configures instances. + + The type of options being requested. + + + + Gets the default name of the instance. + + + + + Gets the for the options being configured. + + + + + Creates a new instance of the class. + + The for the options being configured. + The default name of the instance; if , is used. + + + + Registers an action used to configure a particular type of options. + + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + A dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers a validation action for an options type using a default failure message. + + The validation function. + The current . + + + + Registers a validation action for an options type. + + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Caches instances. + + The type of options being requested. + + + + Clears all options instances from the cache. + + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The function used to create the new instance. + The options instance. + + + + Gets a named options instance, if available. + + The name of the options instance. + The options instance. + if the options were retrieved; otherwise, . + + + + Tries to adds a new option to the cache. + + The name of the options instance. + The options instance. + if the option was added; if the name already exists. + + + + Tries to remove an options instance. + + The name of the options instance. + if anything was removed; otherwise, . + + + + Implementation of . + + The type of options being requested. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + The validations to run. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with the given . + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Creates a new instance of type . + + The name of the instance to create. + The created instance. + The does not have a public parameterless constructor or is . + + + + Implements and . + + The options type. + + + + Initializes a new instance with the specified options configurations. + + The factory to use to create options. + + + + Gets the default configured instance (equivalent to Get(Options.DefaultName)). + + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Implements . + + The options type. + + + + Initializes a new instance of with the specified factory, sources, and cache. + + The factory to use to create options. + The sources used to listen for changes to the options instance. + The cache used to store options. + + + + Gets the present value of the options (equivalent to Get(Options.DefaultName)). + + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Registers a listener to be called whenever changes. + + The action to be invoked when has changed. + An that should be disposed to stop listening for changes. + + + + Removes all change registration subscriptions. + + + + + Extension methods for . + + + + + Registers a listener to be called whenever changes. + + The type of options instance being monitored. + The IOptionsMonitor. + The action to be invoked when has changed. + An object that should be disposed to stop listening for changes. + + + + Represents the exception that's thrown when options validation fails. + + + + + Creates a new instance of . + + The name of the options instance that failed. + The options type that failed. + The validation failure messages. + + + + Gets the name of the options instance that failed. + + + + + Gets the type of the options that failed. + + + + + Gets the validation failures. + + + + + Gets a semicolon-separated list of the . + + + + + Triggers the automatic generation of the implementation of at compile time. + + + + + Wraps the options instance. + + The options type. + + + + Initializes the wrapper with the options instance to return. + + The options instance to return. + + + + Gets the options instance. + + + + + Implementation of . + + The options type being configured. + + + + Creates a new instance of . + + The name of the options. + The action to register. + + + + Gets the options name. + + + + + Gets the initialization action. + + + + + Invokes the registered initialization if the matches. + + The name of the action to invoke. + The options to use in initialization. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + The dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Gets the fifth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Marks a field or property to be enumerated; each enumerated object is validated. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field or property tells the code generator to + generate validation for the individual members of the enumerable's type. + + + + + Initializes a new instance of the class. + + A type that implements for the enumerable's type. + + Using this constructor for a field or property tells the code generator to use the given type to validate + the object held by the enumerable. + + + + + Gets the type to use to validate the enumerable's objects. + + + + + Marks a field or property to be validated transitively. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field or property tells the code generator to + generate validation for the individual members of the field/property's type. + + + + + Initializes a new instance of the class. + + A type that implements for the field/property's type. + + Using this constructor for a field or property tells the code generator to use the given type to validate + the object held by the field or property. + + + + + Gets the type to use to validate a field or property. + + + + + Implementation of + + The options type to validate. + + + + Initializes a new instance of . + + Options name. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + Dependency type. + + + + Initializes a new instance of . + + Options name. + Gets the dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of . + + The options type to validate. + First dependency type. + Second dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + The third dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + The fifth dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Gets the fifth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Represents the result of an options validation. + + + + + The result when validation was skipped due to name not matching. + + + + + The result when validation was successful. + + + + + Gets a value that indicates whether validation was successful. + + + + + Gets a value that indicates whether validation was run. + + + if validation was skipped; if validation was run. + + + + + Gets a value that indicates whether validation failed. + + + if validation failed; otherwise, . + + + + + Gets the description of why validation failed. + + + + + Gets the full list of failures (can be multiple). + + + + + Returns a failure result. + + The reason for the failure. + The failure result. + + + + Returns a failure result. + + The reasons for the failure. + The failure result. + + + + Builds with support for multiple error messages. + + + + + Creates new instance of the class. + + + + + Adds a new validation error to the builder. + + The content of the error message. + The property in the option object which contains an error. + + + + Adds any validation error carried by the instance to this instance. + + The instance to append the error from. + + + + Adds any validation error carried by the enumeration of instances to this instance. + + The enumeration to consume the errors from. + + + + Adds any validation errors carried by the instance to this instance. + + The instance to consume the errors from. + + + + Builds based on provided data. + + A new instance of . + + + + Reset the builder to the empty state. + + + + + Extension methods for adding configuration-related options services to the DI container via . + + + + + Enforces options validation check on start rather than at run time. + + The type of options. + The to configure options instance. + The so that additional calls can be chained. + + + + Extension methods for adding options services to the DI container. + + + + + Adds services required for using options. + + The to add the services to. + The so that additional calls can be chained. + + + + Adds services required for using options and enforces options validation check on start rather than at run time. + + + The extension is called by this method. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + + Adds services required for using options and enforces options validation check on start rather than at run time. + + + The extension is called by this method. + + The options type to be configured. + The validator type. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure all instances of a particular type of options. + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to initialize a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run after all . + + The options type to be configure. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to post configure all instances of a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The type that will configure options. + The to add the services to. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The to add the services to. + The type that will configure options. + The so that additional calls can be chained. + + + + Registers an object that will have all of its , + , and + registered. + + The to add the services to. + The instance that will configure options. + The so that additional calls can be chained. + + + + Gets an options builder that forwards Configure calls for the same to the underlying service collection. + + The options type to be configured. + The to add the services to. + The so that configure calls can be chained in it. + + + + Gets an options builder that forwards Configure calls for the same named to the underlying service collection. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + Cannot create instance of type '{0}' because it is either abstract or an interface. + + + Failed to convert '{0}' to type '{1}'. + + + Failed to create instance of type '{0}'. + + + Cannot create instance of type '{0}' because it is missing a public parameterless constructor. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found, did you mean to call Configure<> or PostConfigure<>? + + + diff --git a/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Options.xml b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Options.xml new file mode 100644 index 000000000..b33769324 --- /dev/null +++ b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Options.xml @@ -0,0 +1,2515 @@ + + + + Microsoft.Extensions.Options + + + + + Implementation of . + + Options type being configured. + + + + Initializes a new instance of . + + The name of the options. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Gets the fifth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + + + + Initializes a new instance of . + + The action to register. + + + + Gets the configuration action. + + + + + Invokes the registered configure . + + The options instance to configure. + + + + Represents something that configures the type. + + The options type being configured. + + + + Configures a instance. + + The name of the options instance being configured. + The options instance to configure. + + + + Represents something that configures the type. + + The options type being configured. + + These are run before all . + + + + + Configures a instance. + + The options instance to configure. + + + + Retrieves configured instances. + + The type of options being requested. + + + + Gets the default configured instance. + + + + + Fetches a that's used for tracking options changes. + + The options type being changed. + + + + Returns a that can be used to register a change notification callback. + + A change token. + + + + Gets the name of the option instance being changed. + + + + + Creates instances. + + The type of options being requested. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with the given . + + + + Monitors changes on a instance. + + The options type. + + + + Gets the current instance with the . + + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + + + + Registers a listener to be called whenever a named changes. + + The action to be invoked when has changed. + An that should be disposed to stop listening for changes. + + + + Used by to cache instances. + + The type of options being requested. + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The func used to create the new instance. + The options instance. + + + + Tries to adds a new option to the cache. + + The name of the options instance. + The options instance. + if the options instance was added; if the name already exists. + + + + Tries to remove an options instance. + + The name of the options instance. + if the options instance was removed; otherwise, . + + + + Clears all options instances from the cache. + + + + + Used to access the value of for the lifetime of a request. + + Options type. + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + + + + Represents something that configures the type. + + Options type being configured. + + These are run after all . + + + + + Configures a instance. + + The name of the options instance being configured. + The options instance to configured. + + + + Used by hosts to validate options during startup. + + + Options are enabled to be validated during startup by calling . + + + + + Calls the validators. + + One or more return failed when validating. + + + + Validates options. + + The options type to validate. + + + + Validates a specified named options instance (or all if is ). + + The name of the options instance being validated. + The options instance. + The result. + + + + Helper class for options. + + + + + The default name used for options instances: "". + + + + + Creates a wrapper around an instance of to return itself as an . + + Options type. + Options object. + Wrapped options object. + + + + Configures instances. + + The type of options being requested. + + + + Gets the default name of the instance. + + + + + Gets the for the options being configured. + + + + + Creates a new instance of the class. + + The for the options being configured. + The default name of the instance; if , is used. + + + + Registers an action used to configure a particular type of options. + + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + A dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers a validation action for an options type using a default failure message. + + The validation function. + The current . + + + + Registers a validation action for an options type. + + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Caches instances. + + The type of options being requested. + + + + Clears all options instances from the cache. + + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The function used to create the new instance. + The options instance. + + + + Gets a named options instance, if available. + + The name of the options instance. + The options instance. + if the options were retrieved; otherwise, . + + + + Tries to adds a new option to the cache. + + The name of the options instance. + The options instance. + if the option was added; if the name already exists. + + + + Tries to remove an options instance. + + The name of the options instance. + if anything was removed; otherwise, . + + + + Implementation of . + + The type of options being requested. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + The validations to run. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with the given . + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Creates a new instance of type . + + The name of the instance to create. + The created instance. + The does not have a public parameterless constructor or is . + + + + Implements and . + + The options type. + + + + Initializes a new instance with the specified options configurations. + + The factory to use to create options. + + + + Gets the default configured instance (equivalent to Get(Options.DefaultName)). + + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Implements . + + The options type. + + + + Initializes a new instance of with the specified factory, sources, and cache. + + The factory to use to create options. + The sources used to listen for changes to the options instance. + The cache used to store options. + + + + Gets the present value of the options (equivalent to Get(Options.DefaultName)). + + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Registers a listener to be called whenever changes. + + The action to be invoked when has changed. + An that should be disposed to stop listening for changes. + + + + Removes all change registration subscriptions. + + + + + Extension methods for . + + + + + Registers a listener to be called whenever changes. + + The type of options instance being monitored. + The IOptionsMonitor. + The action to be invoked when has changed. + An object that should be disposed to stop listening for changes. + + + + Represents the exception that's thrown when options validation fails. + + + + + Creates a new instance of . + + The name of the options instance that failed. + The options type that failed. + The validation failure messages. + + + + Gets the name of the options instance that failed. + + + + + Gets the type of the options that failed. + + + + + Gets the validation failures. + + + + + Gets a semicolon-separated list of the . + + + + + Triggers the automatic generation of the implementation of at compile time. + + + + + Wraps the options instance. + + The options type. + + + + Initializes the wrapper with the options instance to return. + + The options instance to return. + + + + Gets the options instance. + + + + + Implementation of . + + The options type being configured. + + + + Creates a new instance of . + + The name of the options. + The action to register. + + + + Gets the options name. + + + + + Gets the initialization action. + + + + + Invokes the registered initialization if the matches. + + The name of the action to invoke. + The options to use in initialization. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + The dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Gets the fifth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Marks a field or property to be enumerated; each enumerated object is validated. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field or property tells the code generator to + generate validation for the individual members of the enumerable's type. + + + + + Initializes a new instance of the class. + + A type that implements for the enumerable's type. + + Using this constructor for a field or property tells the code generator to use the given type to validate + the object held by the enumerable. + + + + + Gets the type to use to validate the enumerable's objects. + + + + + Marks a field or property to be validated transitively. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field or property tells the code generator to + generate validation for the individual members of the field/property's type. + + + + + Initializes a new instance of the class. + + A type that implements for the field/property's type. + + Using this constructor for a field or property tells the code generator to use the given type to validate + the object held by the field or property. + + + + + Gets the type to use to validate a field or property. + + + + + Implementation of + + The options type to validate. + + + + Initializes a new instance of . + + Options name. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + Dependency type. + + + + Initializes a new instance of . + + Options name. + Gets the dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of . + + The options type to validate. + First dependency type. + Second dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + The third dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + The fifth dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Gets the fifth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Represents the result of an options validation. + + + + + The result when validation was skipped due to name not matching. + + + + + The result when validation was successful. + + + + + Gets a value that indicates whether validation was successful. + + + + + Gets a value that indicates whether validation was run. + + + if validation was skipped; if validation was run. + + + + + Gets a value that indicates whether validation failed. + + + if validation failed; otherwise, . + + + + + Gets the description of why validation failed. + + + + + Gets the full list of failures (can be multiple). + + + + + Returns a failure result. + + The reason for the failure. + The failure result. + + + + Returns a failure result. + + The reasons for the failure. + The failure result. + + + + Builds with support for multiple error messages. + + + + + Creates new instance of the class. + + + + + Adds a new validation error to the builder. + + The content of the error message. + The property in the option object which contains an error. + + + + Adds any validation error carried by the instance to this instance. + + The instance to append the error from. + + + + Adds any validation error carried by the enumeration of instances to this instance. + + The enumeration to consume the errors from. + + + + Adds any validation errors carried by the instance to this instance. + + The instance to consume the errors from. + + + + Builds based on provided data. + + A new instance of . + + + + Reset the builder to the empty state. + + + + + Extension methods for adding configuration-related options services to the DI container via . + + + + + Enforces options validation check on start rather than at run time. + + The type of options. + The to configure options instance. + The so that additional calls can be chained. + + + + Extension methods for adding options services to the DI container. + + + + + Adds services required for using options. + + The to add the services to. + The so that additional calls can be chained. + + + + Adds services required for using options and enforces options validation check on start rather than at run time. + + + The extension is called by this method. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + + Adds services required for using options and enforces options validation check on start rather than at run time. + + + The extension is called by this method. + + The options type to be configured. + The validator type. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure all instances of a particular type of options. + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to initialize a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run after all . + + The options type to be configure. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to post configure all instances of a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The type that will configure options. + The to add the services to. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The to add the services to. + The type that will configure options. + The so that additional calls can be chained. + + + + Registers an object that will have all of its , + , and + registered. + + The to add the services to. + The instance that will configure options. + The so that additional calls can be chained. + + + + Gets an options builder that forwards Configure calls for the same to the underlying service collection. + + The options type to be configured. + The to add the services to. + The so that configure calls can be chained in it. + + + + Gets an options builder that forwards Configure calls for the same named to the underlying service collection. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all non-public constructors, including those inherited from base classes. + + + + + Specifies all non-public methods, including those inherited from base classes. + + + + + Specifies all non-public fields, including those inherited from base classes. + + + + + Specifies all non-public nested types, including those inherited from base classes. + + + + + Specifies all non-public properties, including those inherited from base classes. + + + + + Specifies all non-public events, including those inherited from base classes. + + + + + Specifies all public constructors, including those inherited from base classes. + + + + + Specifies all public nested types, including those inherited from base classes. + + + + + Specifies all constructors, including those inherited from base classes. + + + + + Specifies all methods, including those inherited from base classes. + + + + + Specifies all fields, including those inherited from base classes. + + + + + Specifies all nested types, including those inherited from base classes. + + + + + Specifies all properties, including those inherited from base classes. + + + + + Specifies all events, including those inherited from base classes. + + + + + Specifies all members. + + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + + When applied to an attribute class, instructs the compiler to flow applications of that attribute, + from source code down to compiler-generated symbols. This can help IL-based analysis tools. + + + One example where this attribute applies is in C# primary constructor parameters. If an attribute + marked with gets applied to a primary constructor + parameter, the attribute will also be applied to any compiler-generated fields storing that parameter. + + + + + Initializes a new instance of the class. + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Cannot create instance of type '{0}' because it is either abstract or an interface. + + + Failed to convert '{0}' to type '{1}'. + + + Failed to create instance of type '{0}'. + + + Cannot create instance of type '{0}' because it is missing a public parameterless constructor. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found, did you mean to call Configure<> or PostConfigure<>? + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Options.xml b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Options.xml new file mode 100644 index 000000000..293615cc2 --- /dev/null +++ b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Options.xml @@ -0,0 +1,2047 @@ + + + + Microsoft.Extensions.Options + + + + + Implementation of . + + Options type being configured. + + + + Initializes a new instance of . + + The name of the options. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Gets the fifth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + + + + Initializes a new instance of . + + The action to register. + + + + Gets the configuration action. + + + + + Invokes the registered configure . + + The options instance to configure. + + + + Represents something that configures the type. + + The options type being configured. + + + + Configures a instance. + + The name of the options instance being configured. + The options instance to configure. + + + + Represents something that configures the type. + + The options type being configured. + + These are run before all . + + + + + Configures a instance. + + The options instance to configure. + + + + Retrieves configured instances. + + The type of options being requested. + + + + Gets the default configured instance. + + + + + Fetches a that's used for tracking options changes. + + The options type being changed. + + + + Returns a that can be used to register a change notification callback. + + A change token. + + + + Gets the name of the option instance being changed. + + + + + Creates instances. + + The type of options being requested. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with the given . + + + + Monitors changes on a instance. + + The options type. + + + + Gets the current instance with the . + + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + + + + Registers a listener to be called whenever a named changes. + + The action to be invoked when has changed. + An that should be disposed to stop listening for changes. + + + + Used by to cache instances. + + The type of options being requested. + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The func used to create the new instance. + The options instance. + + + + Tries to adds a new option to the cache. + + The name of the options instance. + The options instance. + if the options instance was added; if the name already exists. + + + + Tries to remove an options instance. + + The name of the options instance. + if the options instance was removed; otherwise, . + + + + Clears all options instances from the cache. + + + + + Used to access the value of for the lifetime of a request. + + Options type. + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + + + + Represents something that configures the type. + + Options type being configured. + + These are run after all . + + + + + Configures a instance. + + The name of the options instance being configured. + The options instance to configured. + + + + Used by hosts to validate options during startup. + + + Options are enabled to be validated during startup by calling . + + + + + Calls the validators. + + One or more return failed when validating. + + + + Validates options. + + The options type to validate. + + + + Validates a specified named options instance (or all if is ). + + The name of the options instance being validated. + The options instance. + The result. + + + + Helper class for options. + + + + + The default name used for options instances: "". + + + + + Creates a wrapper around an instance of to return itself as an . + + Options type. + Options object. + Wrapped options object. + + + + Configures instances. + + The type of options being requested. + + + + Gets the default name of the instance. + + + + + Gets the for the options being configured. + + + + + Creates a new instance of the class. + + The for the options being configured. + The default name of the instance; if , is used. + + + + Registers an action used to configure a particular type of options. + + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + A dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers a validation action for an options type using a default failure message. + + The validation function. + The current . + + + + Registers a validation action for an options type. + + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Caches instances. + + The type of options being requested. + + + + Clears all options instances from the cache. + + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The function used to create the new instance. + The options instance. + + + + Gets a named options instance, if available. + + The name of the options instance. + The options instance. + if the options were retrieved; otherwise, . + + + + Tries to adds a new option to the cache. + + The name of the options instance. + The options instance. + if the option was added; if the name already exists. + + + + Tries to remove an options instance. + + The name of the options instance. + if anything was removed; otherwise, . + + + + Implementation of . + + The type of options being requested. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + The validations to run. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with the given . + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Creates a new instance of type . + + The name of the instance to create. + The created instance. + The does not have a public parameterless constructor or is . + + + + Implements and . + + The options type. + + + + Initializes a new instance with the specified options configurations. + + The factory to use to create options. + + + + Gets the default configured instance (equivalent to Get(Options.DefaultName)). + + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Implements . + + The options type. + + + + Initializes a new instance of with the specified factory, sources, and cache. + + The factory to use to create options. + The sources used to listen for changes to the options instance. + The cache used to store options. + + + + Gets the present value of the options (equivalent to Get(Options.DefaultName)). + + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Registers a listener to be called whenever changes. + + The action to be invoked when has changed. + An that should be disposed to stop listening for changes. + + + + Removes all change registration subscriptions. + + + + + Extension methods for . + + + + + Registers a listener to be called whenever changes. + + The type of options instance being monitored. + The IOptionsMonitor. + The action to be invoked when has changed. + An object that should be disposed to stop listening for changes. + + + + Represents the exception that's thrown when options validation fails. + + + + + Creates a new instance of . + + The name of the options instance that failed. + The options type that failed. + The validation failure messages. + + + + Gets the name of the options instance that failed. + + + + + Gets the type of the options that failed. + + + + + Gets the validation failures. + + + + + Gets a semicolon-separated list of the . + + + + + Triggers the automatic generation of the implementation of at compile time. + + + + + Wraps the options instance. + + The options type. + + + + Initializes the wrapper with the options instance to return. + + The options instance to return. + + + + Gets the options instance. + + + + + Implementation of . + + The options type being configured. + + + + Creates a new instance of . + + The name of the options. + The action to register. + + + + Gets the options name. + + + + + Gets the initialization action. + + + + + Invokes the registered initialization if the matches. + + The name of the action to invoke. + The options to use in initialization. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + The dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Gets the fifth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Marks a field or property to be enumerated; each enumerated object is validated. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field or property tells the code generator to + generate validation for the individual members of the enumerable's type. + + + + + Initializes a new instance of the class. + + A type that implements for the enumerable's type. + + Using this constructor for a field or property tells the code generator to use the given type to validate + the object held by the enumerable. + + + + + Gets the type to use to validate the enumerable's objects. + + + + + Marks a field or property to be validated transitively. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field or property tells the code generator to + generate validation for the individual members of the field/property's type. + + + + + Initializes a new instance of the class. + + A type that implements for the field/property's type. + + Using this constructor for a field or property tells the code generator to use the given type to validate + the object held by the field or property. + + + + + Gets the type to use to validate a field or property. + + + + + Implementation of + + The options type to validate. + + + + Initializes a new instance of . + + Options name. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + Dependency type. + + + + Initializes a new instance of . + + Options name. + Gets the dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of . + + The options type to validate. + First dependency type. + Second dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + The third dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + The fifth dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Gets the fifth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Represents the result of an options validation. + + + + + The result when validation was skipped due to name not matching. + + + + + The result when validation was successful. + + + + + Gets a value that indicates whether validation was successful. + + + + + Gets a value that indicates whether validation was run. + + + if validation was skipped; if validation was run. + + + + + Gets a value that indicates whether validation failed. + + + if validation failed; otherwise, . + + + + + Gets the description of why validation failed. + + + + + Gets the full list of failures (can be multiple). + + + + + Returns a failure result. + + The reason for the failure. + The failure result. + + + + Returns a failure result. + + The reasons for the failure. + The failure result. + + + + Builds with support for multiple error messages. + + + + + Creates new instance of the class. + + + + + Adds a new validation error to the builder. + + The content of the error message. + The property in the option object which contains an error. + + + + Adds any validation error carried by the instance to this instance. + + The instance to append the error from. + + + + Adds any validation error carried by the enumeration of instances to this instance. + + The enumeration to consume the errors from. + + + + Adds any validation errors carried by the instance to this instance. + + The instance to consume the errors from. + + + + Builds based on provided data. + + A new instance of . + + + + Reset the builder to the empty state. + + + + + Extension methods for adding configuration-related options services to the DI container via . + + + + + Enforces options validation check on start rather than at run time. + + The type of options. + The to configure options instance. + The so that additional calls can be chained. + + + + Extension methods for adding options services to the DI container. + + + + + Adds services required for using options. + + The to add the services to. + The so that additional calls can be chained. + + + + Adds services required for using options and enforces options validation check on start rather than at run time. + + + The extension is called by this method. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + + Adds services required for using options and enforces options validation check on start rather than at run time. + + + The extension is called by this method. + + The options type to be configured. + The validator type. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure all instances of a particular type of options. + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to initialize a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run after all . + + The options type to be configure. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to post configure all instances of a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The type that will configure options. + The to add the services to. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The to add the services to. + The type that will configure options. + The so that additional calls can be chained. + + + + Registers an object that will have all of its , + , and + registered. + + The to add the services to. + The instance that will configure options. + The so that additional calls can be chained. + + + + Gets an options builder that forwards Configure calls for the same to the underlying service collection. + + The options type to be configured. + The to add the services to. + The so that configure calls can be chained in it. + + + + Gets an options builder that forwards Configure calls for the same named to the underlying service collection. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + Cannot create instance of type '{0}' because it is either abstract or an interface. + + + Failed to convert '{0}' to type '{1}'. + + + Failed to create instance of type '{0}'. + + + Cannot create instance of type '{0}' because it is missing a public parameterless constructor. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found, did you mean to call Configure<> or PostConfigure<>? + + + diff --git a/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Options.xml b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Options.xml new file mode 100644 index 000000000..293615cc2 --- /dev/null +++ b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Options.xml @@ -0,0 +1,2047 @@ + + + + Microsoft.Extensions.Options + + + + + Implementation of . + + Options type being configured. + + + + Initializes a new instance of . + + The name of the options. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Gets the fifth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + + + + Initializes a new instance of . + + The action to register. + + + + Gets the configuration action. + + + + + Invokes the registered configure . + + The options instance to configure. + + + + Represents something that configures the type. + + The options type being configured. + + + + Configures a instance. + + The name of the options instance being configured. + The options instance to configure. + + + + Represents something that configures the type. + + The options type being configured. + + These are run before all . + + + + + Configures a instance. + + The options instance to configure. + + + + Retrieves configured instances. + + The type of options being requested. + + + + Gets the default configured instance. + + + + + Fetches a that's used for tracking options changes. + + The options type being changed. + + + + Returns a that can be used to register a change notification callback. + + A change token. + + + + Gets the name of the option instance being changed. + + + + + Creates instances. + + The type of options being requested. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with the given . + + + + Monitors changes on a instance. + + The options type. + + + + Gets the current instance with the . + + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + + + + Registers a listener to be called whenever a named changes. + + The action to be invoked when has changed. + An that should be disposed to stop listening for changes. + + + + Used by to cache instances. + + The type of options being requested. + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The func used to create the new instance. + The options instance. + + + + Tries to adds a new option to the cache. + + The name of the options instance. + The options instance. + if the options instance was added; if the name already exists. + + + + Tries to remove an options instance. + + The name of the options instance. + if the options instance was removed; otherwise, . + + + + Clears all options instances from the cache. + + + + + Used to access the value of for the lifetime of a request. + + Options type. + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + + + + Represents something that configures the type. + + Options type being configured. + + These are run after all . + + + + + Configures a instance. + + The name of the options instance being configured. + The options instance to configured. + + + + Used by hosts to validate options during startup. + + + Options are enabled to be validated during startup by calling . + + + + + Calls the validators. + + One or more return failed when validating. + + + + Validates options. + + The options type to validate. + + + + Validates a specified named options instance (or all if is ). + + The name of the options instance being validated. + The options instance. + The result. + + + + Helper class for options. + + + + + The default name used for options instances: "". + + + + + Creates a wrapper around an instance of to return itself as an . + + Options type. + Options object. + Wrapped options object. + + + + Configures instances. + + The type of options being requested. + + + + Gets the default name of the instance. + + + + + Gets the for the options being configured. + + + + + Creates a new instance of the class. + + The for the options being configured. + The default name of the instance; if , is used. + + + + Registers an action used to configure a particular type of options. + + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + A dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers a validation action for an options type using a default failure message. + + The validation function. + The current . + + + + Registers a validation action for an options type. + + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Caches instances. + + The type of options being requested. + + + + Clears all options instances from the cache. + + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The function used to create the new instance. + The options instance. + + + + Gets a named options instance, if available. + + The name of the options instance. + The options instance. + if the options were retrieved; otherwise, . + + + + Tries to adds a new option to the cache. + + The name of the options instance. + The options instance. + if the option was added; if the name already exists. + + + + Tries to remove an options instance. + + The name of the options instance. + if anything was removed; otherwise, . + + + + Implementation of . + + The type of options being requested. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + The validations to run. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with the given . + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Creates a new instance of type . + + The name of the instance to create. + The created instance. + The does not have a public parameterless constructor or is . + + + + Implements and . + + The options type. + + + + Initializes a new instance with the specified options configurations. + + The factory to use to create options. + + + + Gets the default configured instance (equivalent to Get(Options.DefaultName)). + + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Implements . + + The options type. + + + + Initializes a new instance of with the specified factory, sources, and cache. + + The factory to use to create options. + The sources used to listen for changes to the options instance. + The cache used to store options. + + + + Gets the present value of the options (equivalent to Get(Options.DefaultName)). + + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Registers a listener to be called whenever changes. + + The action to be invoked when has changed. + An that should be disposed to stop listening for changes. + + + + Removes all change registration subscriptions. + + + + + Extension methods for . + + + + + Registers a listener to be called whenever changes. + + The type of options instance being monitored. + The IOptionsMonitor. + The action to be invoked when has changed. + An object that should be disposed to stop listening for changes. + + + + Represents the exception that's thrown when options validation fails. + + + + + Creates a new instance of . + + The name of the options instance that failed. + The options type that failed. + The validation failure messages. + + + + Gets the name of the options instance that failed. + + + + + Gets the type of the options that failed. + + + + + Gets the validation failures. + + + + + Gets a semicolon-separated list of the . + + + + + Triggers the automatic generation of the implementation of at compile time. + + + + + Wraps the options instance. + + The options type. + + + + Initializes the wrapper with the options instance to return. + + The options instance to return. + + + + Gets the options instance. + + + + + Implementation of . + + The options type being configured. + + + + Creates a new instance of . + + The name of the options. + The action to register. + + + + Gets the options name. + + + + + Gets the initialization action. + + + + + Invokes the registered initialization if the matches. + + The name of the action to invoke. + The options to use in initialization. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + The dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Gets the fifth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Marks a field or property to be enumerated; each enumerated object is validated. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field or property tells the code generator to + generate validation for the individual members of the enumerable's type. + + + + + Initializes a new instance of the class. + + A type that implements for the enumerable's type. + + Using this constructor for a field or property tells the code generator to use the given type to validate + the object held by the enumerable. + + + + + Gets the type to use to validate the enumerable's objects. + + + + + Marks a field or property to be validated transitively. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field or property tells the code generator to + generate validation for the individual members of the field/property's type. + + + + + Initializes a new instance of the class. + + A type that implements for the field/property's type. + + Using this constructor for a field or property tells the code generator to use the given type to validate + the object held by the field or property. + + + + + Gets the type to use to validate a field or property. + + + + + Implementation of + + The options type to validate. + + + + Initializes a new instance of . + + Options name. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + Dependency type. + + + + Initializes a new instance of . + + Options name. + Gets the dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of . + + The options type to validate. + First dependency type. + Second dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + The third dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + The fifth dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Gets the fifth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Represents the result of an options validation. + + + + + The result when validation was skipped due to name not matching. + + + + + The result when validation was successful. + + + + + Gets a value that indicates whether validation was successful. + + + + + Gets a value that indicates whether validation was run. + + + if validation was skipped; if validation was run. + + + + + Gets a value that indicates whether validation failed. + + + if validation failed; otherwise, . + + + + + Gets the description of why validation failed. + + + + + Gets the full list of failures (can be multiple). + + + + + Returns a failure result. + + The reason for the failure. + The failure result. + + + + Returns a failure result. + + The reasons for the failure. + The failure result. + + + + Builds with support for multiple error messages. + + + + + Creates new instance of the class. + + + + + Adds a new validation error to the builder. + + The content of the error message. + The property in the option object which contains an error. + + + + Adds any validation error carried by the instance to this instance. + + The instance to append the error from. + + + + Adds any validation error carried by the enumeration of instances to this instance. + + The enumeration to consume the errors from. + + + + Adds any validation errors carried by the instance to this instance. + + The instance to consume the errors from. + + + + Builds based on provided data. + + A new instance of . + + + + Reset the builder to the empty state. + + + + + Extension methods for adding configuration-related options services to the DI container via . + + + + + Enforces options validation check on start rather than at run time. + + The type of options. + The to configure options instance. + The so that additional calls can be chained. + + + + Extension methods for adding options services to the DI container. + + + + + Adds services required for using options. + + The to add the services to. + The so that additional calls can be chained. + + + + Adds services required for using options and enforces options validation check on start rather than at run time. + + + The extension is called by this method. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + + Adds services required for using options and enforces options validation check on start rather than at run time. + + + The extension is called by this method. + + The options type to be configured. + The validator type. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure all instances of a particular type of options. + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to initialize a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run after all . + + The options type to be configure. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to post configure all instances of a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The type that will configure options. + The to add the services to. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The to add the services to. + The type that will configure options. + The so that additional calls can be chained. + + + + Registers an object that will have all of its , + , and + registered. + + The to add the services to. + The instance that will configure options. + The so that additional calls can be chained. + + + + Gets an options builder that forwards Configure calls for the same to the underlying service collection. + + The options type to be configured. + The to add the services to. + The so that configure calls can be chained in it. + + + + Gets an options builder that forwards Configure calls for the same named to the underlying service collection. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + Cannot create instance of type '{0}' because it is either abstract or an interface. + + + Failed to convert '{0}' to type '{1}'. + + + Failed to create instance of type '{0}'. + + + Cannot create instance of type '{0}' because it is missing a public parameterless constructor. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found, did you mean to call Configure<> or PostConfigure<>? + + + diff --git a/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Options.xml b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Options.xml new file mode 100644 index 000000000..b33769324 --- /dev/null +++ b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Options.xml @@ -0,0 +1,2515 @@ + + + + Microsoft.Extensions.Options + + + + + Implementation of . + + Options type being configured. + + + + Initializes a new instance of . + + The name of the options. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Gets the fifth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + + + + Initializes a new instance of . + + The action to register. + + + + Gets the configuration action. + + + + + Invokes the registered configure . + + The options instance to configure. + + + + Represents something that configures the type. + + The options type being configured. + + + + Configures a instance. + + The name of the options instance being configured. + The options instance to configure. + + + + Represents something that configures the type. + + The options type being configured. + + These are run before all . + + + + + Configures a instance. + + The options instance to configure. + + + + Retrieves configured instances. + + The type of options being requested. + + + + Gets the default configured instance. + + + + + Fetches a that's used for tracking options changes. + + The options type being changed. + + + + Returns a that can be used to register a change notification callback. + + A change token. + + + + Gets the name of the option instance being changed. + + + + + Creates instances. + + The type of options being requested. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with the given . + + + + Monitors changes on a instance. + + The options type. + + + + Gets the current instance with the . + + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + + + + Registers a listener to be called whenever a named changes. + + The action to be invoked when has changed. + An that should be disposed to stop listening for changes. + + + + Used by to cache instances. + + The type of options being requested. + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The func used to create the new instance. + The options instance. + + + + Tries to adds a new option to the cache. + + The name of the options instance. + The options instance. + if the options instance was added; if the name already exists. + + + + Tries to remove an options instance. + + The name of the options instance. + if the options instance was removed; otherwise, . + + + + Clears all options instances from the cache. + + + + + Used to access the value of for the lifetime of a request. + + Options type. + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + + + + Represents something that configures the type. + + Options type being configured. + + These are run after all . + + + + + Configures a instance. + + The name of the options instance being configured. + The options instance to configured. + + + + Used by hosts to validate options during startup. + + + Options are enabled to be validated during startup by calling . + + + + + Calls the validators. + + One or more return failed when validating. + + + + Validates options. + + The options type to validate. + + + + Validates a specified named options instance (or all if is ). + + The name of the options instance being validated. + The options instance. + The result. + + + + Helper class for options. + + + + + The default name used for options instances: "". + + + + + Creates a wrapper around an instance of to return itself as an . + + Options type. + Options object. + Wrapped options object. + + + + Configures instances. + + The type of options being requested. + + + + Gets the default name of the instance. + + + + + Gets the for the options being configured. + + + + + Creates a new instance of the class. + + The for the options being configured. + The default name of the instance; if , is used. + + + + Registers an action used to configure a particular type of options. + + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + A dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers a validation action for an options type using a default failure message. + + The validation function. + The current . + + + + Registers a validation action for an options type. + + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Caches instances. + + The type of options being requested. + + + + Clears all options instances from the cache. + + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The function used to create the new instance. + The options instance. + + + + Gets a named options instance, if available. + + The name of the options instance. + The options instance. + if the options were retrieved; otherwise, . + + + + Tries to adds a new option to the cache. + + The name of the options instance. + The options instance. + if the option was added; if the name already exists. + + + + Tries to remove an options instance. + + The name of the options instance. + if anything was removed; otherwise, . + + + + Implementation of . + + The type of options being requested. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + The validations to run. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with the given . + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Creates a new instance of type . + + The name of the instance to create. + The created instance. + The does not have a public parameterless constructor or is . + + + + Implements and . + + The options type. + + + + Initializes a new instance with the specified options configurations. + + The factory to use to create options. + + + + Gets the default configured instance (equivalent to Get(Options.DefaultName)). + + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Implements . + + The options type. + + + + Initializes a new instance of with the specified factory, sources, and cache. + + The factory to use to create options. + The sources used to listen for changes to the options instance. + The cache used to store options. + + + + Gets the present value of the options (equivalent to Get(Options.DefaultName)). + + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Registers a listener to be called whenever changes. + + The action to be invoked when has changed. + An that should be disposed to stop listening for changes. + + + + Removes all change registration subscriptions. + + + + + Extension methods for . + + + + + Registers a listener to be called whenever changes. + + The type of options instance being monitored. + The IOptionsMonitor. + The action to be invoked when has changed. + An object that should be disposed to stop listening for changes. + + + + Represents the exception that's thrown when options validation fails. + + + + + Creates a new instance of . + + The name of the options instance that failed. + The options type that failed. + The validation failure messages. + + + + Gets the name of the options instance that failed. + + + + + Gets the type of the options that failed. + + + + + Gets the validation failures. + + + + + Gets a semicolon-separated list of the . + + + + + Triggers the automatic generation of the implementation of at compile time. + + + + + Wraps the options instance. + + The options type. + + + + Initializes the wrapper with the options instance to return. + + The options instance to return. + + + + Gets the options instance. + + + + + Implementation of . + + The options type being configured. + + + + Creates a new instance of . + + The name of the options. + The action to register. + + + + Gets the options name. + + + + + Gets the initialization action. + + + + + Invokes the registered initialization if the matches. + + The name of the action to invoke. + The options to use in initialization. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + The dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Gets the fifth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Marks a field or property to be enumerated; each enumerated object is validated. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field or property tells the code generator to + generate validation for the individual members of the enumerable's type. + + + + + Initializes a new instance of the class. + + A type that implements for the enumerable's type. + + Using this constructor for a field or property tells the code generator to use the given type to validate + the object held by the enumerable. + + + + + Gets the type to use to validate the enumerable's objects. + + + + + Marks a field or property to be validated transitively. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field or property tells the code generator to + generate validation for the individual members of the field/property's type. + + + + + Initializes a new instance of the class. + + A type that implements for the field/property's type. + + Using this constructor for a field or property tells the code generator to use the given type to validate + the object held by the field or property. + + + + + Gets the type to use to validate a field or property. + + + + + Implementation of + + The options type to validate. + + + + Initializes a new instance of . + + Options name. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + Dependency type. + + + + Initializes a new instance of . + + Options name. + Gets the dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of . + + The options type to validate. + First dependency type. + Second dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + The third dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + The fifth dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Gets the fifth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Represents the result of an options validation. + + + + + The result when validation was skipped due to name not matching. + + + + + The result when validation was successful. + + + + + Gets a value that indicates whether validation was successful. + + + + + Gets a value that indicates whether validation was run. + + + if validation was skipped; if validation was run. + + + + + Gets a value that indicates whether validation failed. + + + if validation failed; otherwise, . + + + + + Gets the description of why validation failed. + + + + + Gets the full list of failures (can be multiple). + + + + + Returns a failure result. + + The reason for the failure. + The failure result. + + + + Returns a failure result. + + The reasons for the failure. + The failure result. + + + + Builds with support for multiple error messages. + + + + + Creates new instance of the class. + + + + + Adds a new validation error to the builder. + + The content of the error message. + The property in the option object which contains an error. + + + + Adds any validation error carried by the instance to this instance. + + The instance to append the error from. + + + + Adds any validation error carried by the enumeration of instances to this instance. + + The enumeration to consume the errors from. + + + + Adds any validation errors carried by the instance to this instance. + + The instance to consume the errors from. + + + + Builds based on provided data. + + A new instance of . + + + + Reset the builder to the empty state. + + + + + Extension methods for adding configuration-related options services to the DI container via . + + + + + Enforces options validation check on start rather than at run time. + + The type of options. + The to configure options instance. + The so that additional calls can be chained. + + + + Extension methods for adding options services to the DI container. + + + + + Adds services required for using options. + + The to add the services to. + The so that additional calls can be chained. + + + + Adds services required for using options and enforces options validation check on start rather than at run time. + + + The extension is called by this method. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + + Adds services required for using options and enforces options validation check on start rather than at run time. + + + The extension is called by this method. + + The options type to be configured. + The validator type. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure all instances of a particular type of options. + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to initialize a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run after all . + + The options type to be configure. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to post configure all instances of a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The type that will configure options. + The to add the services to. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The to add the services to. + The type that will configure options. + The so that additional calls can be chained. + + + + Registers an object that will have all of its , + , and + registered. + + The to add the services to. + The instance that will configure options. + The so that additional calls can be chained. + + + + Gets an options builder that forwards Configure calls for the same to the underlying service collection. + + The options type to be configured. + The to add the services to. + The so that configure calls can be chained in it. + + + + Gets an options builder that forwards Configure calls for the same named to the underlying service collection. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all non-public constructors, including those inherited from base classes. + + + + + Specifies all non-public methods, including those inherited from base classes. + + + + + Specifies all non-public fields, including those inherited from base classes. + + + + + Specifies all non-public nested types, including those inherited from base classes. + + + + + Specifies all non-public properties, including those inherited from base classes. + + + + + Specifies all non-public events, including those inherited from base classes. + + + + + Specifies all public constructors, including those inherited from base classes. + + + + + Specifies all public nested types, including those inherited from base classes. + + + + + Specifies all constructors, including those inherited from base classes. + + + + + Specifies all methods, including those inherited from base classes. + + + + + Specifies all fields, including those inherited from base classes. + + + + + Specifies all nested types, including those inherited from base classes. + + + + + Specifies all properties, including those inherited from base classes. + + + + + Specifies all events, including those inherited from base classes. + + + + + Specifies all members. + + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + + When applied to an attribute class, instructs the compiler to flow applications of that attribute, + from source code down to compiler-generated symbols. This can help IL-based analysis tools. + + + One example where this attribute applies is in C# primary constructor parameters. If an attribute + marked with gets applied to a primary constructor + parameter, the attribute will also be applied to any compiler-generated fields storing that parameter. + + + + + Initializes a new instance of the class. + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Cannot create instance of type '{0}' because it is either abstract or an interface. + + + Failed to convert '{0}' to type '{1}'. + + + Failed to create instance of type '{0}'. + + + Cannot create instance of type '{0}' because it is missing a public parameterless constructor. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found, did you mean to call Configure<> or PostConfigure<>? + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/lib/netstandard2.1/Microsoft.Extensions.Options.xml b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/lib/netstandard2.1/Microsoft.Extensions.Options.xml new file mode 100644 index 000000000..73b1d5824 --- /dev/null +++ b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/lib/netstandard2.1/Microsoft.Extensions.Options.xml @@ -0,0 +1,2451 @@ + + + + Microsoft.Extensions.Options + + + + + Implementation of . + + Options type being configured. + + + + Initializes a new instance of . + + The name of the options. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Gets the fifth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Configures a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + + + + Initializes a new instance of . + + The action to register. + + + + Gets the configuration action. + + + + + Invokes the registered configure . + + The options instance to configure. + + + + Represents something that configures the type. + + The options type being configured. + + + + Configures a instance. + + The name of the options instance being configured. + The options instance to configure. + + + + Represents something that configures the type. + + The options type being configured. + + These are run before all . + + + + + Configures a instance. + + The options instance to configure. + + + + Retrieves configured instances. + + The type of options being requested. + + + + Gets the default configured instance. + + + + + Fetches a that's used for tracking options changes. + + The options type being changed. + + + + Returns a that can be used to register a change notification callback. + + A change token. + + + + Gets the name of the option instance being changed. + + + + + Creates instances. + + The type of options being requested. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with the given . + + + + Monitors changes on a instance. + + The options type. + + + + Gets the current instance with the . + + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + + + + Registers a listener to be called whenever a named changes. + + The action to be invoked when has changed. + An that should be disposed to stop listening for changes. + + + + Used by to cache instances. + + The type of options being requested. + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The func used to create the new instance. + The options instance. + + + + Tries to adds a new option to the cache. + + The name of the options instance. + The options instance. + if the options instance was added; if the name already exists. + + + + Tries to remove an options instance. + + The name of the options instance. + if the options instance was removed; otherwise, . + + + + Clears all options instances from the cache. + + + + + Used to access the value of for the lifetime of a request. + + Options type. + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + + + + Represents something that configures the type. + + Options type being configured. + + These are run after all . + + + + + Configures a instance. + + The name of the options instance being configured. + The options instance to configured. + + + + Used by hosts to validate options during startup. + + + Options are enabled to be validated during startup by calling . + + + + + Calls the validators. + + One or more return failed when validating. + + + + Validates options. + + The options type to validate. + + + + Validates a specified named options instance (or all if is ). + + The name of the options instance being validated. + The options instance. + The result. + + + + Helper class for options. + + + + + The default name used for options instances: "". + + + + + Creates a wrapper around an instance of to return itself as an . + + Options type. + Options object. + Wrapped options object. + + + + Configures instances. + + The type of options being requested. + + + + Gets the default name of the instance. + + + + + Gets the for the options being configured. + + + + + Creates a new instance of the class. + + The for the options being configured. + The default name of the instance; if , is used. + + + + Registers an action used to configure a particular type of options. + + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + A dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + These are run before all . + + + + + Registers an action used to configure a particular type of options. + + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers an action used to post configure a particular type of options. + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + These are run after all . + + + + + Registers a validation action for an options type using a default failure message. + + The validation function. + The current . + + + + Registers a validation action for an options type. + + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Registers a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The current . + + + + Registers a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Caches instances. + + The type of options being requested. + + + + Clears all options instances from the cache. + + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The function used to create the new instance. + The options instance. + + + + Gets a named options instance, if available. + + The name of the options instance. + The options instance. + if the options were retrieved; otherwise, . + + + + Tries to adds a new option to the cache. + + The name of the options instance. + The options instance. + if the option was added; if the name already exists. + + + + Tries to remove an options instance. + + The name of the options instance. + if anything was removed; otherwise, . + + + + Implementation of . + + The type of options being requested. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + The validations to run. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with the given . + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Creates a new instance of type . + + The name of the instance to create. + The created instance. + The does not have a public parameterless constructor or is . + + + + Implements and . + + The options type. + + + + Initializes a new instance with the specified options configurations. + + The factory to use to create options. + + + + Gets the default configured instance (equivalent to Get(Options.DefaultName)). + + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Implements . + + The options type. + + + + Initializes a new instance of with the specified factory, sources, and cache. + + The factory to use to create options. + The sources used to listen for changes to the options instance. + The cache used to store options. + + + + Gets the present value of the options (equivalent to Get(Options.DefaultName)). + + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Returns a configured instance with the given . + + The name of the instance. If , , which is the empty string, is used. + The instance that matches the given . + One or more return failed when validating the instance created. + The does not have a public parameterless constructor or is . + + + + Registers a listener to be called whenever changes. + + The action to be invoked when has changed. + An that should be disposed to stop listening for changes. + + + + Removes all change registration subscriptions. + + + + + Extension methods for . + + + + + Registers a listener to be called whenever changes. + + The type of options instance being monitored. + The IOptionsMonitor. + The action to be invoked when has changed. + An object that should be disposed to stop listening for changes. + + + + Represents the exception that's thrown when options validation fails. + + + + + Creates a new instance of . + + The name of the options instance that failed. + The options type that failed. + The validation failure messages. + + + + Gets the name of the options instance that failed. + + + + + Gets the type of the options that failed. + + + + + Gets the validation failures. + + + + + Gets a semicolon-separated list of the . + + + + + Triggers the automatic generation of the implementation of at compile time. + + + + + Wraps the options instance. + + The options type. + + + + Initializes the wrapper with the options instance to return. + + The options instance to return. + + + + Gets the options instance. + + + + + Implementation of . + + The options type being configured. + + + + Creates a new instance of . + + The name of the options. + The action to register. + + + + Gets the options name. + + + + + Gets the initialization action. + + + + + Invokes the registered initialization if the matches. + + The name of the action to invoke. + The options to use in initialization. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + The dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Initializes a new instance of . + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + Gets the options name. + + + + + Gets the configuration action. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Gets the fifth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Configures a instance using the . + + The options instance to configured. + + + + Marks a field or property to be enumerated; each enumerated object is validated. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field or property tells the code generator to + generate validation for the individual members of the enumerable's type. + + + + + Initializes a new instance of the class. + + A type that implements for the enumerable's type. + + Using this constructor for a field or property tells the code generator to use the given type to validate + the object held by the enumerable. + + + + + Gets the type to use to validate the enumerable's objects. + + + + + Marks a field or property to be validated transitively. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field or property tells the code generator to + generate validation for the individual members of the field/property's type. + + + + + Initializes a new instance of the class. + + A type that implements for the field/property's type. + + Using this constructor for a field or property tells the code generator to use the given type to validate + the object held by the field or property. + + + + + Gets the type to use to validate a field or property. + + + + + Implementation of + + The options type to validate. + + + + Initializes a new instance of . + + Options name. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + Dependency type. + + + + Initializes a new instance of . + + Options name. + Gets the dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of . + + The options type to validate. + First dependency type. + Second dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + The third dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Initializes a new instance of . + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + The fifth dependency. + Validation function. + Validation failure message. + + + + Gets the options name. + + + + + Gets the validation function. + + + + + Gets the error to return when validation fails. + + + + + Gets the first dependency. + + + + + Gets the second dependency. + + + + + Gets the third dependency. + + + + + Gets the fourth dependency. + + + + + Gets the fifth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Represents the result of an options validation. + + + + + The result when validation was skipped due to name not matching. + + + + + The result when validation was successful. + + + + + Gets a value that indicates whether validation was successful. + + + + + Gets a value that indicates whether validation was run. + + + if validation was skipped; if validation was run. + + + + + Gets a value that indicates whether validation failed. + + + if validation failed; otherwise, . + + + + + Gets the description of why validation failed. + + + + + Gets the full list of failures (can be multiple). + + + + + Returns a failure result. + + The reason for the failure. + The failure result. + + + + Returns a failure result. + + The reasons for the failure. + The failure result. + + + + Builds with support for multiple error messages. + + + + + Creates new instance of the class. + + + + + Adds a new validation error to the builder. + + The content of the error message. + The property in the option object which contains an error. + + + + Adds any validation error carried by the instance to this instance. + + The instance to append the error from. + + + + Adds any validation error carried by the enumeration of instances to this instance. + + The enumeration to consume the errors from. + + + + Adds any validation errors carried by the instance to this instance. + + The instance to consume the errors from. + + + + Builds based on provided data. + + A new instance of . + + + + Reset the builder to the empty state. + + + + + Extension methods for adding configuration-related options services to the DI container via . + + + + + Enforces options validation check on start rather than at run time. + + The type of options. + The to configure options instance. + The so that additional calls can be chained. + + + + Extension methods for adding options services to the DI container. + + + + + Adds services required for using options. + + The to add the services to. + The so that additional calls can be chained. + + + + Adds services required for using options and enforces options validation check on start rather than at run time. + + + The extension is called by this method. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + + Adds services required for using options and enforces options validation check on start rather than at run time. + + + The extension is called by this method. + + The options type to be configured. + The validator type. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure all instances of a particular type of options. + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to initialize a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run after all . + + The options type to be configure. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to post configure all instances of a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The type that will configure options. + The to add the services to. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The to add the services to. + The type that will configure options. + The so that additional calls can be chained. + + + + Registers an object that will have all of its , + , and + registered. + + The to add the services to. + The instance that will configure options. + The so that additional calls can be chained. + + + + Gets an options builder that forwards Configure calls for the same to the underlying service collection. + + The options type to be configured. + The to add the services to. + The so that configure calls can be chained in it. + + + + Gets an options builder that forwards Configure calls for the same named to the underlying service collection. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all non-public constructors, including those inherited from base classes. + + + + + Specifies all non-public methods, including those inherited from base classes. + + + + + Specifies all non-public fields, including those inherited from base classes. + + + + + Specifies all non-public nested types, including those inherited from base classes. + + + + + Specifies all non-public properties, including those inherited from base classes. + + + + + Specifies all non-public events, including those inherited from base classes. + + + + + Specifies all public constructors, including those inherited from base classes. + + + + + Specifies all public nested types, including those inherited from base classes. + + + + + Specifies all constructors, including those inherited from base classes. + + + + + Specifies all methods, including those inherited from base classes. + + + + + Specifies all fields, including those inherited from base classes. + + + + + Specifies all nested types, including those inherited from base classes. + + + + + Specifies all properties, including those inherited from base classes. + + + + + Specifies all events, including those inherited from base classes. + + + + + Specifies all members. + + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + + When applied to an attribute class, instructs the compiler to flow applications of that attribute, + from source code down to compiler-generated symbols. This can help IL-based analysis tools. + + + One example where this attribute applies is in C# primary constructor parameters. If an attribute + marked with gets applied to a primary constructor + parameter, the attribute will also be applied to any compiler-generated fields storing that parameter. + + + + + Initializes a new instance of the class. + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Cannot create instance of type '{0}' because it is either abstract or an interface. + + + Failed to convert '{0}' to type '{1}'. + + + Failed to create instance of type '{0}'. + + + Cannot create instance of type '{0}' because it is missing a public parameterless constructor. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found, did you mean to call Configure<> or PostConfigure<>? + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/microsoft.extensions.options.10.0.0-rc.2.25502.107.nupkg b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/microsoft.extensions.options.10.0.0-rc.2.25502.107.nupkg new file mode 100644 index 000000000..8332e807c Binary files /dev/null and b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/microsoft.extensions.options.10.0.0-rc.2.25502.107.nupkg differ diff --git a/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/microsoft.extensions.options.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/microsoft.extensions.options.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..886850a99 --- /dev/null +++ b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/microsoft.extensions.options.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +YtqwJ5LYO4otgwg4qexd5DbkGJxIS8zBF2v2Ac9SBnn8g0ipXlnfJN7cLdu7YrXFBPVKC6G22+zIB5+o3/hZUA== \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nugets/microsoft.extensions.options/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..9dace09bd --- /dev/null +++ b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "9pm2zqqn5u/OsKs2zgkhJEQQeMx9KkVOWPdHrs7Kt5sfpk+eIh/gmpi/mMH/ljS2T/PFsFdCEtm+GS/6l7zoZA==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/.signature.p7s b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..c25b25a4c Binary files /dev/null and b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/Icon.png b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/Microsoft.Extensions.Primitives.nuspec b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/Microsoft.Extensions.Primitives.nuspec new file mode 100644 index 000000000..968d85162 --- /dev/null +++ b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/Microsoft.Extensions.Primitives.nuspec @@ -0,0 +1,36 @@ + + + + Microsoft.Extensions.Primitives + 10.0.0-rc.2.25502.107 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + PACKAGE.md + https://dot.net/ + Primitives shared by framework extensions. Commonly used types include: + +Commonly Used Types: +Microsoft.Extensions.Primitives.IChangeToken +Microsoft.Extensions.Primitives.StringValues +Microsoft.Extensions.Primitives.StringSegment + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/PACKAGE.md b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/PACKAGE.md new file mode 100644 index 000000000..432abfa96 --- /dev/null +++ b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/PACKAGE.md @@ -0,0 +1,109 @@ +## About + +`Microsoft.Extensions.Primitives` contains isolated types that are used in many places within console or ASP.NET Core applications using framework extensions. + +## Key Features + +* IChangeToken: An interface that represents a token that can notify when a change occurs. This can be used to trigger actions or invalidate caches when something changes. For example, the configuration and file providers libraries use this interface to reload settings or files when they are modified. +* StringValues: A struct that represents a single string or an array of strings. This can be used to efficiently store and manipulate multiple values that are logically a single value. For example, the HTTP headers and query strings libraries use this struct to handle multiple values for the same key. +* StringSegment: A struct that represents a substring of another string. This can be used to avoid allocating new strings when performing operations on parts of a string. For example, the configuration and logging libraries use this struct to parse and format strings. + +## How to Use + +#### IChangeToken with configuration example + +```C# +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Primitives; +using System; + +class Program +{ + static void Main(string[] args) + { + // Create a configuration builder + var configurationBuilder = new ConfigurationBuilder() + .SetBasePath(Environment.CurrentDirectory) + // appsettings.json expected to have the following contents: + // { + // "SomeKey": "SomeValue" + // } + .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); + + // Build the configuration + IConfiguration configuration = configurationBuilder.Build(); + + // Create a change token for the configuration + IChangeToken changeToken = configuration.GetReloadToken(); + + // Attach a change callback + IDisposable changeTokenRegistration = changeToken.RegisterChangeCallback(state => + { + Console.WriteLine("Configuration changed!"); + IConfigurationRoot root = (IConfigurationRoot)state; + var someValue = root["SomeKey"]; // Access the updated configuration value + Console.WriteLine($"New value of SomeKey: {someValue}"); + }, configuration); + + // go and update the value of the key SomeKey in appsettings.json. + // The change callback will be invoked when the file is saved. + Console.WriteLine("Listening for configuration changes. Press any key to exit."); + Console.ReadKey(); + + // Clean up the change token registration when no longer needed + changeTokenRegistration.Dispose(); + } +} +``` +#### StringValues example + +```C# +using System; +using Microsoft.Extensions.Primitives; + +namespace StringValuesSample +{ + class Program + { + static void Main(string[] args) + { + // Create a StringValues object from a single string or an array of strings + StringValues single = "Hello"; + StringValues multiple = new string[] { "Hello", "World" }; + + // Use the implicit conversion to string or the ToString method to get the values + Console.WriteLine($"Single: {single}"); // Single: Hello + Console.WriteLine($"Multiple: {multiple}"); // Multiple: Hello,World + + // Use the indexer, the Count property, and the IsNullOrEmpty method to access the values + Console.WriteLine($"Multiple[1]: {multiple[1]}"); // Multiple[1]: World + Console.WriteLine($"Single.Count: {single.Count}"); // Single.Count: 1 + Console.WriteLine($"Multiple.IsNullOrEmpty: {StringValues.IsNullOrEmpty(multiple)}"); // Multiple.IsNullOrEmpty: False + + // Use the Equals method or the == operator to compare two StringValues objects + Console.WriteLine($"single == \"Hello\": {single == "Hello"}"); // single == "Hello": True + Console.WriteLine($"multiple == \"Hello\": {multiple == "Hello"}"); // multiple == "Hello": False + } + } +} +``` +## Main Types + +The main types provided by this library are: + +* `IChangeToken` +* `StringValues` +* `StringSegment` + +## Additional Documentation + +* [Conceptual documentation](https://learn.microsoft.com/dotnet/core/extensions/primitives) +* [API documentation](https://learn.microsoft.com/dotnet/api/microsoft.extensions.primitives) + +## Related Packages + +* [Microsoft.Extensions.Configuration](https://www.nuget.org/packages/Microsoft.Extensions.Configuration) + +## Feedback & Contributing + +Microsoft.Extensions.Primitives is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Primitives.targets b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Primitives.targets new file mode 100644 index 000000000..f34909c1c --- /dev/null +++ b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Primitives.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets new file mode 100644 index 000000000..2c7e5517e --- /dev/null +++ b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Primitives.xml b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Primitives.xml new file mode 100644 index 000000000..71d9c503a --- /dev/null +++ b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Primitives.xml @@ -0,0 +1,1035 @@ + + + + Microsoft.Extensions.Primitives + + + + + A implementation using . + + + + + Initializes a new instance of . + + The . + + + + + + + + + + + + + Propagates notifications that a change has occurred. + + + + + Registers the action to be called whenever the token produced changes. + + Produces the change token. + Action called when the token changes. + + + + + Registers the action to be called whenever the token produced changes. + + Produces the change token. + Action called when the token changes. + state for the consumer. + + + + + An that represents one or more instances. + + + + + Creates a new instance of . + + The list of to compose. + + + + Returns the list of that compose the current . + + + + + + + + + + + + + + Provides extensions methods for the namespace. + + + + + Adds the given to the . + + The to add to. + The to add. + The original . + + + + Propagates notifications that a change has occurred. + + + + + Gets a value that indicates if a change has occurred. + + + + + Indicates if this token will proactively raise callbacks. If false, the token consumer must + poll to detect changes. + + + + + Registers for a callback that will be invoked when the entry has changed. + MUST be set before the callback is invoked. + + The to invoke. + State to be passed into the callback. + An that is used to unregister the callback. + + + + Provides a mechanism for fast, non-allocating string concatenation. + + + + + Initializes a new instance of the class. + + The suggested starting size of the instance. + + + + Gets the number of characters that the current object can contain. + + + + + Appends a string to the end of the current instance. + + The string to append. + + + + Appends a string segment to the end of the current instance. + + The string segment to append. + + + + Appends a substring to the end of the current instance. + + The string that contains the substring to append. + The starting position of the substring within value. + The number of characters in value to append. + + + + Appends a character to the end of the current instance. + + The character to append. + + + + Converts the value of this instance to a String. + + A string whose value is the same as this instance. + + + + An optimized representation of a substring. + + + + + A for . + + + + + Initializes an instance of the struct. + + + The original . The includes the whole . + + + + + Initializes an instance of the struct. + + The original used as buffer. + The offset of the segment within the . + The length of the segment. + + is . + + + or is less than zero, or + + is greater than the number of characters in . + + + + + Gets the buffer for this . + + + + + Gets the offset within the buffer for this . + + + + + Gets the length of this . + + + + + Gets the value of this segment as a . + + + + + Gets whether this contains a valid value. + + + + + Gets the at a specified position in the current . + + The offset into the + The at a specified position. + + is greater than or equal to or less than zero. + + + + + Gets a from the current . + + The from this . + + + + Gets a from the current that starts + at the position specified by , and has the remaining length. + + The zero-based starting character position in this . + A with the remaining chars that begins at in + this . + + is greater than or equal to or less than zero. + + + + + Gets a from the current that starts + at the position specified by , and has the specified . + + The zero-based starting character position in this . + The number of characters in the span. + A with that begins at + in this . + + or is less than zero, or + is + greater than . + + + + + Gets a from the current . + + The from this . + + + + Compares substrings of two specified objects using the specified rules, + and returns an integer that indicates their relative position in the sort order. + + The first to compare. + The second to compare. + One of the enumeration values that specifies the rules for the comparison. + + A 32-bit signed integer indicating the lexical relationship between the two comparands. + The value is negative if is less than , 0 if the two comparands are equal, + and positive if is greater than . + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + if the current object is equal to ; otherwise, . + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + if the current object is equal to ; otherwise, . + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + One of the enumeration values that specifies the rules to use in the comparison. + if the current object is equal to ; otherwise, . + + + + Determines whether two specified objects have the same value. A parameter specifies the culture, case, and + sort rules used in the comparison. + + The first to compare. + The second to compare. + One of the enumeration values that specifies the rules for the comparison. + if the objects are equal; otherwise, . + + + + Checks if the specified is equal to the current . + + The to compare with the current . + if the specified is equal to the current ; otherwise, . + + + + Checks if the specified is equal to the current . + + The to compare with the current . + One of the enumeration values that specifies the rules to use in the comparison. + if the specified is equal to the current ; otherwise, . + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Checks if two specified have the same value. + + The first to compare, or . + The second to compare, or . + if the value of is the same as the value of ; otherwise, . + + + + Checks if two specified have different values. + + The first to compare, or . + The second to compare, or . + if the value of is different from the value of ; otherwise, . + + + + Creates a new from the given . + + The to convert to a . + + + + Creates a see from the given . + + The to convert to a . + + + + Creates a see from the given . + + The to convert to a . + + + + Checks if the beginning of this matches the specified when compared using the specified . + + The to compare. + One of the enumeration values that specifies the rules to use in the comparison. + if matches the beginning of this ; otherwise, . + + is . + + + + + Checks if the end of this matches the specified when compared using the specified . + + The to compare. + One of the enumeration values that specifies the rules to use in the comparison. + if matches the end of this ; otherwise, . + + is . + + + + + Retrieves a substring from this . + The substring starts at the position specified by and has the remaining length. + + The zero-based starting character position of a substring in this . + A that is equivalent to the substring of remaining length that begins at + in this . + + is greater than or equal to or less than zero. + + + + + Retrieves a substring from this . + The substring starts at the position specified by and has the specified . + + The zero-based starting character position of a substring in this . + The number of characters in the substring. + A that is equivalent to the substring of that begins at + in this . + + or is less than zero, or + is + greater than . + + + + + Retrieves a that represents a substring from this . + The starts at the position specified by . + + The zero-based starting character position of a substring in this . + A that begins at in this + whose length is the remainder. + + is greater than or equal to or less than zero. + + + + + Retrieves a that represents a substring from this . + The starts at the position specified by and has the specified . + + The zero-based starting character position of a substring in this . + The number of characters in the substring. + A that is equivalent to the substring of that begins at in this . + + or is less than zero, or + is + greater than . + + + + + Gets the zero-based index of the first occurrence of the character in this . + The search starts at and examines a specified number of character positions. + + The Unicode character to seek. + The zero-based index position at which the search starts. + The number of characters to examine. + The zero-based index position of from the beginning of the if that character is found, or -1 if it is not. + + or is less than zero, or + is + greater than . + + + + + Gets the zero-based index of the first occurrence of the character in this . + The search starts at . + + The Unicode character to seek. + The zero-based index position at which the search starts. + The zero-based index position of from the beginning of the if that character is found, or -1 if it is not. + + is greater than or equal to or less than zero. + + + + + Gets the zero-based index of the first occurrence of the character in this . + + The Unicode character to seek. + The zero-based index position of from the beginning of the if that character is found, or -1 if it is not. + + + + Reports the zero-based index of the first occurrence in this instance of any character in a specified array + of Unicode characters. The search starts at a specified character position and examines a specified number + of character positions. + + A Unicode character array containing one or more characters to seek. + The search starting position. + The number of character positions to examine. + The zero-based index position of the first occurrence in this instance where any character in + was found; -1 if no character in was found. + + is . + + + or is less than zero, or + is + greater than . + + + + + Reports the zero-based index of the first occurrence in this instance of any character in a specified array + of Unicode characters. The search starts at a specified character position. + + A Unicode character array containing one or more characters to seek. + The search starting position. + The zero-based index position of the first occurrence in this instance where any character in + was found; -1 if no character in was found. + + is greater than or equal to or less than zero. + + + + + Reports the zero-based index of the first occurrence in this instance of any character in a specified array + of Unicode characters. + + A Unicode character array containing one or more characters to seek. + The zero-based index position of the first occurrence in this instance where any character in + was found; -1 if no character in was found. + + + + Reports the zero-based index position of the last occurrence of a specified Unicode character within this instance. + + The Unicode character to seek. + The zero-based index position of value if that character is found, or -1 if it is not. + + + + Removes all leading and trailing whitespaces. + + The trimmed . + + + + Removes all leading whitespaces. + + The trimmed . + + + + Removes all trailing whitespaces. + + The trimmed . + + + + Splits a string into s that are based on the characters in an array. + + A character array that delimits the substrings in this string, an empty array that + contains no delimiters, or null. + An whose elements contain the s from this instance + that are delimited by one or more characters in . + + + + Indicates whether the specified is null or an Empty string. + + The to test. + + + + + Returns the represented by this or if the does not contain a value. + + The represented by this or if the does not contain a value. + + + + Compares two objects. + + + + + Gets a object that performs a case-sensitive ordinal comparison. + + + + + Gets a object that performs a case-insensitive ordinal comparison. + + + + + Compares two objects and returns an indication of their relative sort order. + + The first to compare. + The second to compare. + A 32-bit signed integer that indicates the lexical relationship between the two comparands. + + + + Determines whether two objects are equal. + + The first to compare. + The second to compare. + if the two objects are equal; otherwise, . + + + + Returns a hash code for a object. + + The to get a hash code for. + A hash code for a , suitable for use in hashing algorithms and data structures like a hash table. + + + + Tokenizes a into StringSegments. + + + + + Initializes a new instance of . + + The to tokenize. + The characters to tokenize by. + + + + Initializes a new instance of . + + The to tokenize. + The characters to tokenize by. + + + + Initializes a new instance of . + + An based on the 's value and separators. + + + + Enumerates the tokens represented by . + + + + + Initializes an using a . + + A that contains the value to enumerate and token separators. + + + + Gets the current from the . + + + + + Releases all resources used by the . + + + + + Advances the enumerator to the next token in the . + + if the enumerator was successfully advanced to the next token; if the enumerator has passed the end of the . + + + + Resets the to its initial state. + + + + + Represents zero/null, one, or many strings in an efficient way. + + + + + A readonly instance of the struct whose value is an empty string array. + + + In application code, this field is most commonly used to safely represent a that has null string values. + + + + + Initializes a new instance of the structure using the specified string. + + A string value or . + + + + Initializes a new instance of the structure using the specified array of strings. + + A string array. + + + + Defines an implicit conversion of a given string to a . + + A string to implicitly convert. + + + + Defines an implicit conversion of a given string array to a . + + A string array to implicitly convert. + + + + Defines an implicit conversion of a given to a string, with multiple values joined as a comma separated string. + + + Returns where has been initialized from an empty string array or is . + + A to implicitly convert. + + + + Defines an implicit conversion of a given to a string array. + + A to implicitly convert. + + + + Gets the number of elements contained in this . + + + + + Gets the at the specified index. + + The string at the specified index. + The zero-based index of the element to get. + Set operations are not supported on readonly . + + + + Gets the at the specified index. + + The string at the specified index. + The zero-based index of the element to get. + + + + Converts the value of the current object to its equivalent string representation, with multiple values joined as a comma separated string. + + A string representation of the value of the current object. + + + + Creates a string array from the current object. + + A string array represented by this instance. + + If the contains a single string internally, it is copied to a new array. + If the contains an array internally it returns that array instance. + + + + + Returns the zero-based index of the first occurrence of an item in the . + + The string to locate in the . + The zero-based index of the first occurrence of within the , if found; otherwise, -1. + + + Determines whether a string is in the . + The to locate in the . + if is found in the ; otherwise, . + + + + Copies the entire to a string array, starting at the specified index of the target array. + + The one-dimensional that is the destination of the elements copied from. The must have zero-based indexing. + The zero-based index in the destination array at which copying begins. + is null. + is less than 0. + The number of elements in the source is greater than the available space from to the end of the destination . + + + Retrieves an object that can iterate through the individual strings in this . + An enumerator that can be used to iterate through the . + + + + + + + + + + Indicates whether the specified contains no string values. + + The to test. + if contains a single or empty string or an empty array; otherwise, . + + + + Concatenates two specified instances of . + + The first to concatenate. + The second to concatenate. + The concatenation of and . + + + + Concatenates specified instance of with specified . + + The to concatenate. + The to concatenate. + The concatenation of and . + + + + Concatenates specified instance of with specified . + + The to concatenate. + The to concatenate. + The concatenation of and . + + + + Determines whether two specified objects have the same values in the same order. + + The first to compare. + The second to compare. + if the value of is the same as the value of ; otherwise, . + + + + Determines whether two specified have the same values. + + The first to compare. + The second to compare. + if the value of is the same as the value of ; otherwise, . + + + + Determines whether two specified have different values. + + The first to compare. + The second to compare. + if the value of is different to the value of ; otherwise, . + + + + Determines whether this instance and another specified object have the same values. + + The string to compare to this instance. + if the value of is the same as the value of this instance; otherwise, . + + + + Determines whether the specified and objects have the same values. + + The to compare. + The to compare. + if the value of is the same as the value of ; otherwise, . If is , the method returns . + + + + Determines whether the specified and objects have the same values. + + The to compare. + The to compare. + if the value of is the same as the value of ; otherwise, . If is , the method returns . + + + + Determines whether this instance and a specified , have the same value. + + The to compare to this instance. + if the value of is the same as this instance; otherwise, . If is , returns . + + + + Determines whether the specified string array and objects have the same values. + + The string array to compare. + The to compare. + if the value of is the same as the value of ; otherwise, . + + + + Determines whether the specified and string array objects have the same values. + + The to compare. + The string array to compare. + if the value of is the same as the value of ; otherwise, . + + + + Determines whether this instance and a specified string array have the same values. + + The string array to compare to this instance. + if the value of is the same as this instance; otherwise, . + + + + + + + Determines whether the specified and objects have different values. + + The to compare. + The to compare. + if the value of is different to the value of ; otherwise, . + + + + + + + Determines whether the specified and objects have different values. + + The to compare. + The to compare. + if the value of is different to the value of ; otherwise, . + + + + + + + Determines whether the specified and string array have different values. + + The to compare. + The string array to compare. + if the value of is different to the value of ; otherwise, . + + + + + + + Determines whether the specified string array and have different values. + + The string array to compare. + The to compare. + if the value of is different to the value of ; otherwise, . + + + + Determines whether the specified and , which must be a + , , or array of , have the same value. + + The to compare. + The to compare. + if the object is equal to the ; otherwise, . + + + + Determines whether the specified and , which must be a + , , or array of , have different values. + + The to compare. + The to compare. + if the object is equal to the ; otherwise, . + + + + Determines whether the specified , which must be a + , , or array of , and specified , have the same value. + + The to compare. + The to compare. + if the object is equal to the ; otherwise, . + + + + Determines whether the specified and object have the same values. + + The to compare. + The to compare. + if the object is equal to the ; otherwise, . + + + + Determines whether this instance and a specified object have the same value. + + An object to compare with this object. + if the current object is equal to ; otherwise, . + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Enumerates the string values of a . + + + + + Instantiates an using a . + + The to enumerate. + + + + Advances the enumerator to the next element of the . + + if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the . + + + + Gets the element at the current position of the enumerator. + + + + + Releases all resources used by the . + + + + + Registers for a callback that will be invoked when the entry has changed. + MUST be set before the callback is invoked. + + The callback to invoke. + State to be passed into the callback. + The to invoke the callback with. + The action to execute when an is thrown. Should be used to set the IChangeToken's ActiveChangeCallbacks property to false. + The state to be passed into the action. + The registration. + + + Offset and length are out of bounds for the string or length is greater than the number of characters from index to the end of the string. + + + Offset and length are out of bounds for this StringSegment or length is greater than the number of characters to the end of this StringSegment. + + + Cannot change capacity after write started. + + + Not enough capacity to write '{0}' characters, only '{1}' left. + + + Entire reserved capacity was not used. Capacity: '{0}', written '{1}'. + + + diff --git a/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Primitives.xml b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Primitives.xml new file mode 100644 index 000000000..14f3a0f7a --- /dev/null +++ b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Primitives.xml @@ -0,0 +1,1251 @@ + + + + Microsoft.Extensions.Primitives + + + + + A implementation using . + + + + + Initializes a new instance of . + + The . + + + + + + + + + + + + + Propagates notifications that a change has occurred. + + + + + Registers the action to be called whenever the token produced changes. + + Produces the change token. + Action called when the token changes. + + + + + Registers the action to be called whenever the token produced changes. + + Produces the change token. + Action called when the token changes. + state for the consumer. + + + + + An that represents one or more instances. + + + + + Creates a new instance of . + + The list of to compose. + + + + Returns the list of that compose the current . + + + + + + + + + + + + + + Provides extensions methods for the namespace. + + + + + Adds the given to the . + + The to add to. + The to add. + The original . + + + + Propagates notifications that a change has occurred. + + + + + Gets a value that indicates if a change has occurred. + + + + + Indicates if this token will proactively raise callbacks. If false, the token consumer must + poll to detect changes. + + + + + Registers for a callback that will be invoked when the entry has changed. + MUST be set before the callback is invoked. + + The to invoke. + State to be passed into the callback. + An that is used to unregister the callback. + + + + Provides a mechanism for fast, non-allocating string concatenation. + + + + + Initializes a new instance of the class. + + The suggested starting size of the instance. + + + + Gets the number of characters that the current object can contain. + + + + + Appends a string to the end of the current instance. + + The string to append. + + + + Appends a string segment to the end of the current instance. + + The string segment to append. + + + + Appends a substring to the end of the current instance. + + The string that contains the substring to append. + The starting position of the substring within value. + The number of characters in value to append. + + + + Appends a character to the end of the current instance. + + The character to append. + + + + Converts the value of this instance to a String. + + A string whose value is the same as this instance. + + + + An optimized representation of a substring. + + + + + A for . + + + + + Initializes an instance of the struct. + + + The original . The includes the whole . + + + + + Initializes an instance of the struct. + + The original used as buffer. + The offset of the segment within the . + The length of the segment. + + is . + + + or is less than zero, or + + is greater than the number of characters in . + + + + + Gets the buffer for this . + + + + + Gets the offset within the buffer for this . + + + + + Gets the length of this . + + + + + Gets the value of this segment as a . + + + + + Gets whether this contains a valid value. + + + + + Gets the at a specified position in the current . + + The offset into the + The at a specified position. + + is greater than or equal to or less than zero. + + + + + Gets a from the current . + + The from this . + + + + Gets a from the current that starts + at the position specified by , and has the remaining length. + + The zero-based starting character position in this . + A with the remaining chars that begins at in + this . + + is greater than or equal to or less than zero. + + + + + Gets a from the current that starts + at the position specified by , and has the specified . + + The zero-based starting character position in this . + The number of characters in the span. + A with that begins at + in this . + + or is less than zero, or + is + greater than . + + + + + Gets a from the current . + + The from this . + + + + Compares substrings of two specified objects using the specified rules, + and returns an integer that indicates their relative position in the sort order. + + The first to compare. + The second to compare. + One of the enumeration values that specifies the rules for the comparison. + + A 32-bit signed integer indicating the lexical relationship between the two comparands. + The value is negative if is less than , 0 if the two comparands are equal, + and positive if is greater than . + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + if the current object is equal to ; otherwise, . + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + if the current object is equal to ; otherwise, . + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + One of the enumeration values that specifies the rules to use in the comparison. + if the current object is equal to ; otherwise, . + + + + Determines whether two specified objects have the same value. A parameter specifies the culture, case, and + sort rules used in the comparison. + + The first to compare. + The second to compare. + One of the enumeration values that specifies the rules for the comparison. + if the objects are equal; otherwise, . + + + + Checks if the specified is equal to the current . + + The to compare with the current . + if the specified is equal to the current ; otherwise, . + + + + Checks if the specified is equal to the current . + + The to compare with the current . + One of the enumeration values that specifies the rules to use in the comparison. + if the specified is equal to the current ; otherwise, . + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Checks if two specified have the same value. + + The first to compare, or . + The second to compare, or . + if the value of is the same as the value of ; otherwise, . + + + + Checks if two specified have different values. + + The first to compare, or . + The second to compare, or . + if the value of is different from the value of ; otherwise, . + + + + Creates a new from the given . + + The to convert to a . + + + + Creates a see from the given . + + The to convert to a . + + + + Creates a see from the given . + + The to convert to a . + + + + Checks if the beginning of this matches the specified when compared using the specified . + + The to compare. + One of the enumeration values that specifies the rules to use in the comparison. + if matches the beginning of this ; otherwise, . + + is . + + + + + Checks if the end of this matches the specified when compared using the specified . + + The to compare. + One of the enumeration values that specifies the rules to use in the comparison. + if matches the end of this ; otherwise, . + + is . + + + + + Retrieves a substring from this . + The substring starts at the position specified by and has the remaining length. + + The zero-based starting character position of a substring in this . + A that is equivalent to the substring of remaining length that begins at + in this . + + is greater than or equal to or less than zero. + + + + + Retrieves a substring from this . + The substring starts at the position specified by and has the specified . + + The zero-based starting character position of a substring in this . + The number of characters in the substring. + A that is equivalent to the substring of that begins at + in this . + + or is less than zero, or + is + greater than . + + + + + Retrieves a that represents a substring from this . + The starts at the position specified by . + + The zero-based starting character position of a substring in this . + A that begins at in this + whose length is the remainder. + + is greater than or equal to or less than zero. + + + + + Retrieves a that represents a substring from this . + The starts at the position specified by and has the specified . + + The zero-based starting character position of a substring in this . + The number of characters in the substring. + A that is equivalent to the substring of that begins at in this . + + or is less than zero, or + is + greater than . + + + + + Gets the zero-based index of the first occurrence of the character in this . + The search starts at and examines a specified number of character positions. + + The Unicode character to seek. + The zero-based index position at which the search starts. + The number of characters to examine. + The zero-based index position of from the beginning of the if that character is found, or -1 if it is not. + + or is less than zero, or + is + greater than . + + + + + Gets the zero-based index of the first occurrence of the character in this . + The search starts at . + + The Unicode character to seek. + The zero-based index position at which the search starts. + The zero-based index position of from the beginning of the if that character is found, or -1 if it is not. + + is greater than or equal to or less than zero. + + + + + Gets the zero-based index of the first occurrence of the character in this . + + The Unicode character to seek. + The zero-based index position of from the beginning of the if that character is found, or -1 if it is not. + + + + Reports the zero-based index of the first occurrence in this instance of any character in a specified array + of Unicode characters. The search starts at a specified character position and examines a specified number + of character positions. + + A Unicode character array containing one or more characters to seek. + The search starting position. + The number of character positions to examine. + The zero-based index position of the first occurrence in this instance where any character in + was found; -1 if no character in was found. + + is . + + + or is less than zero, or + is + greater than . + + + + + Reports the zero-based index of the first occurrence in this instance of any character in a specified array + of Unicode characters. The search starts at a specified character position. + + A Unicode character array containing one or more characters to seek. + The search starting position. + The zero-based index position of the first occurrence in this instance where any character in + was found; -1 if no character in was found. + + is greater than or equal to or less than zero. + + + + + Reports the zero-based index of the first occurrence in this instance of any character in a specified array + of Unicode characters. + + A Unicode character array containing one or more characters to seek. + The zero-based index position of the first occurrence in this instance where any character in + was found; -1 if no character in was found. + + + + Reports the zero-based index position of the last occurrence of a specified Unicode character within this instance. + + The Unicode character to seek. + The zero-based index position of value if that character is found, or -1 if it is not. + + + + Removes all leading and trailing whitespaces. + + The trimmed . + + + + Removes all leading whitespaces. + + The trimmed . + + + + Removes all trailing whitespaces. + + The trimmed . + + + + Splits a string into s that are based on the characters in an array. + + A character array that delimits the substrings in this string, an empty array that + contains no delimiters, or null. + An whose elements contain the s from this instance + that are delimited by one or more characters in . + + + + Indicates whether the specified is null or an Empty string. + + The to test. + + + + + Returns the represented by this or if the does not contain a value. + + The represented by this or if the does not contain a value. + + + + Compares two objects. + + + + + Gets a object that performs a case-sensitive ordinal comparison. + + + + + Gets a object that performs a case-insensitive ordinal comparison. + + + + + Compares two objects and returns an indication of their relative sort order. + + The first to compare. + The second to compare. + A 32-bit signed integer that indicates the lexical relationship between the two comparands. + + + + Determines whether two objects are equal. + + The first to compare. + The second to compare. + if the two objects are equal; otherwise, . + + + + Returns a hash code for a object. + + The to get a hash code for. + A hash code for a , suitable for use in hashing algorithms and data structures like a hash table. + + + + Tokenizes a into StringSegments. + + + + + Initializes a new instance of . + + The to tokenize. + The characters to tokenize by. + + + + Initializes a new instance of . + + The to tokenize. + The characters to tokenize by. + + + + Initializes a new instance of . + + An based on the 's value and separators. + + + + Enumerates the tokens represented by . + + + + + Initializes an using a . + + A that contains the value to enumerate and token separators. + + + + Gets the current from the . + + + + + Releases all resources used by the . + + + + + Advances the enumerator to the next token in the . + + if the enumerator was successfully advanced to the next token; if the enumerator has passed the end of the . + + + + Resets the to its initial state. + + + + + Represents zero/null, one, or many strings in an efficient way. + + + + + A readonly instance of the struct whose value is an empty string array. + + + In application code, this field is most commonly used to safely represent a that has null string values. + + + + + Initializes a new instance of the structure using the specified string. + + A string value or . + + + + Initializes a new instance of the structure using the specified array of strings. + + A string array. + + + + Defines an implicit conversion of a given string to a . + + A string to implicitly convert. + + + + Defines an implicit conversion of a given string array to a . + + A string array to implicitly convert. + + + + Defines an implicit conversion of a given to a string, with multiple values joined as a comma separated string. + + + Returns where has been initialized from an empty string array or is . + + A to implicitly convert. + + + + Defines an implicit conversion of a given to a string array. + + A to implicitly convert. + + + + Gets the number of elements contained in this . + + + + + Gets the at the specified index. + + The string at the specified index. + The zero-based index of the element to get. + Set operations are not supported on readonly . + + + + Gets the at the specified index. + + The string at the specified index. + The zero-based index of the element to get. + + + + Converts the value of the current object to its equivalent string representation, with multiple values joined as a comma separated string. + + A string representation of the value of the current object. + + + + Creates a string array from the current object. + + A string array represented by this instance. + + If the contains a single string internally, it is copied to a new array. + If the contains an array internally it returns that array instance. + + + + + Returns the zero-based index of the first occurrence of an item in the . + + The string to locate in the . + The zero-based index of the first occurrence of within the , if found; otherwise, -1. + + + Determines whether a string is in the . + The to locate in the . + if is found in the ; otherwise, . + + + + Copies the entire to a string array, starting at the specified index of the target array. + + The one-dimensional that is the destination of the elements copied from. The must have zero-based indexing. + The zero-based index in the destination array at which copying begins. + is null. + is less than 0. + The number of elements in the source is greater than the available space from to the end of the destination . + + + Retrieves an object that can iterate through the individual strings in this . + An enumerator that can be used to iterate through the . + + + + + + + + + + Indicates whether the specified contains no string values. + + The to test. + if contains a single or empty string or an empty array; otherwise, . + + + + Concatenates two specified instances of . + + The first to concatenate. + The second to concatenate. + The concatenation of and . + + + + Concatenates specified instance of with specified . + + The to concatenate. + The to concatenate. + The concatenation of and . + + + + Concatenates specified instance of with specified . + + The to concatenate. + The to concatenate. + The concatenation of and . + + + + Determines whether two specified objects have the same values in the same order. + + The first to compare. + The second to compare. + if the value of is the same as the value of ; otherwise, . + + + + Determines whether two specified have the same values. + + The first to compare. + The second to compare. + if the value of is the same as the value of ; otherwise, . + + + + Determines whether two specified have different values. + + The first to compare. + The second to compare. + if the value of is different to the value of ; otherwise, . + + + + Determines whether this instance and another specified object have the same values. + + The string to compare to this instance. + if the value of is the same as the value of this instance; otherwise, . + + + + Determines whether the specified and objects have the same values. + + The to compare. + The to compare. + if the value of is the same as the value of ; otherwise, . If is , the method returns . + + + + Determines whether the specified and objects have the same values. + + The to compare. + The to compare. + if the value of is the same as the value of ; otherwise, . If is , the method returns . + + + + Determines whether this instance and a specified , have the same value. + + The to compare to this instance. + if the value of is the same as this instance; otherwise, . If is , returns . + + + + Determines whether the specified string array and objects have the same values. + + The string array to compare. + The to compare. + if the value of is the same as the value of ; otherwise, . + + + + Determines whether the specified and string array objects have the same values. + + The to compare. + The string array to compare. + if the value of is the same as the value of ; otherwise, . + + + + Determines whether this instance and a specified string array have the same values. + + The string array to compare to this instance. + if the value of is the same as this instance; otherwise, . + + + + + + + Determines whether the specified and objects have different values. + + The to compare. + The to compare. + if the value of is different to the value of ; otherwise, . + + + + + + + Determines whether the specified and objects have different values. + + The to compare. + The to compare. + if the value of is different to the value of ; otherwise, . + + + + + + + Determines whether the specified and string array have different values. + + The to compare. + The string array to compare. + if the value of is different to the value of ; otherwise, . + + + + + + + Determines whether the specified string array and have different values. + + The string array to compare. + The to compare. + if the value of is different to the value of ; otherwise, . + + + + Determines whether the specified and , which must be a + , , or array of , have the same value. + + The to compare. + The to compare. + if the object is equal to the ; otherwise, . + + + + Determines whether the specified and , which must be a + , , or array of , have different values. + + The to compare. + The to compare. + if the object is equal to the ; otherwise, . + + + + Determines whether the specified , which must be a + , , or array of , and specified , have the same value. + + The to compare. + The to compare. + if the object is equal to the ; otherwise, . + + + + Determines whether the specified and object have the same values. + + The to compare. + The to compare. + if the object is equal to the ; otherwise, . + + + + Determines whether this instance and a specified object have the same value. + + An object to compare with this object. + if the current object is equal to ; otherwise, . + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Enumerates the string values of a . + + + + + Instantiates an using a . + + The to enumerate. + + + + Advances the enumerator to the next element of the . + + if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the . + + + + Gets the element at the current position of the enumerator. + + + + + Releases all resources used by the . + + + + + Registers for a callback that will be invoked when the entry has changed. + MUST be set before the callback is invoked. + + The callback to invoke. + State to be passed into the callback. + The to invoke the callback with. + The action to execute when an is thrown. Should be used to set the IChangeToken's ActiveChangeCallbacks property to false. + The state to be passed into the action. + The registration. + + + + Get a pinnable reference to the builder. + Does not ensure there is a null char after + This overload is pattern matched in the C# 7.3+ compiler so you can omit + the explicit method call, and write eg "fixed (char* c = builder)" + + + + + Get a pinnable reference to the builder. + + Ensures that the builder has a null char after + + + Returns the underlying storage of the builder. + + + + Returns a span around the contents of the builder. + + Ensures that the builder has a null char after + + + + Resize the internal buffer either by doubling current buffer size or + by adding to + whichever is greater. + + + Number of chars requested beyond current position. + + + + Offset and length are out of bounds for the string or length is greater than the number of characters from index to the end of the string. + + + Offset and length are out of bounds for this StringSegment or length is greater than the number of characters to the end of this StringSegment. + + + Cannot change capacity after write started. + + + Not enough capacity to write '{0}' characters, only '{1}' left. + + + Entire reserved capacity was not used. Capacity: '{0}', written '{1}'. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Primitives.xml b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Primitives.xml new file mode 100644 index 000000000..71d9c503a --- /dev/null +++ b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Primitives.xml @@ -0,0 +1,1035 @@ + + + + Microsoft.Extensions.Primitives + + + + + A implementation using . + + + + + Initializes a new instance of . + + The . + + + + + + + + + + + + + Propagates notifications that a change has occurred. + + + + + Registers the action to be called whenever the token produced changes. + + Produces the change token. + Action called when the token changes. + + + + + Registers the action to be called whenever the token produced changes. + + Produces the change token. + Action called when the token changes. + state for the consumer. + + + + + An that represents one or more instances. + + + + + Creates a new instance of . + + The list of to compose. + + + + Returns the list of that compose the current . + + + + + + + + + + + + + + Provides extensions methods for the namespace. + + + + + Adds the given to the . + + The to add to. + The to add. + The original . + + + + Propagates notifications that a change has occurred. + + + + + Gets a value that indicates if a change has occurred. + + + + + Indicates if this token will proactively raise callbacks. If false, the token consumer must + poll to detect changes. + + + + + Registers for a callback that will be invoked when the entry has changed. + MUST be set before the callback is invoked. + + The to invoke. + State to be passed into the callback. + An that is used to unregister the callback. + + + + Provides a mechanism for fast, non-allocating string concatenation. + + + + + Initializes a new instance of the class. + + The suggested starting size of the instance. + + + + Gets the number of characters that the current object can contain. + + + + + Appends a string to the end of the current instance. + + The string to append. + + + + Appends a string segment to the end of the current instance. + + The string segment to append. + + + + Appends a substring to the end of the current instance. + + The string that contains the substring to append. + The starting position of the substring within value. + The number of characters in value to append. + + + + Appends a character to the end of the current instance. + + The character to append. + + + + Converts the value of this instance to a String. + + A string whose value is the same as this instance. + + + + An optimized representation of a substring. + + + + + A for . + + + + + Initializes an instance of the struct. + + + The original . The includes the whole . + + + + + Initializes an instance of the struct. + + The original used as buffer. + The offset of the segment within the . + The length of the segment. + + is . + + + or is less than zero, or + + is greater than the number of characters in . + + + + + Gets the buffer for this . + + + + + Gets the offset within the buffer for this . + + + + + Gets the length of this . + + + + + Gets the value of this segment as a . + + + + + Gets whether this contains a valid value. + + + + + Gets the at a specified position in the current . + + The offset into the + The at a specified position. + + is greater than or equal to or less than zero. + + + + + Gets a from the current . + + The from this . + + + + Gets a from the current that starts + at the position specified by , and has the remaining length. + + The zero-based starting character position in this . + A with the remaining chars that begins at in + this . + + is greater than or equal to or less than zero. + + + + + Gets a from the current that starts + at the position specified by , and has the specified . + + The zero-based starting character position in this . + The number of characters in the span. + A with that begins at + in this . + + or is less than zero, or + is + greater than . + + + + + Gets a from the current . + + The from this . + + + + Compares substrings of two specified objects using the specified rules, + and returns an integer that indicates their relative position in the sort order. + + The first to compare. + The second to compare. + One of the enumeration values that specifies the rules for the comparison. + + A 32-bit signed integer indicating the lexical relationship between the two comparands. + The value is negative if is less than , 0 if the two comparands are equal, + and positive if is greater than . + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + if the current object is equal to ; otherwise, . + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + if the current object is equal to ; otherwise, . + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + One of the enumeration values that specifies the rules to use in the comparison. + if the current object is equal to ; otherwise, . + + + + Determines whether two specified objects have the same value. A parameter specifies the culture, case, and + sort rules used in the comparison. + + The first to compare. + The second to compare. + One of the enumeration values that specifies the rules for the comparison. + if the objects are equal; otherwise, . + + + + Checks if the specified is equal to the current . + + The to compare with the current . + if the specified is equal to the current ; otherwise, . + + + + Checks if the specified is equal to the current . + + The to compare with the current . + One of the enumeration values that specifies the rules to use in the comparison. + if the specified is equal to the current ; otherwise, . + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Checks if two specified have the same value. + + The first to compare, or . + The second to compare, or . + if the value of is the same as the value of ; otherwise, . + + + + Checks if two specified have different values. + + The first to compare, or . + The second to compare, or . + if the value of is different from the value of ; otherwise, . + + + + Creates a new from the given . + + The to convert to a . + + + + Creates a see from the given . + + The to convert to a . + + + + Creates a see from the given . + + The to convert to a . + + + + Checks if the beginning of this matches the specified when compared using the specified . + + The to compare. + One of the enumeration values that specifies the rules to use in the comparison. + if matches the beginning of this ; otherwise, . + + is . + + + + + Checks if the end of this matches the specified when compared using the specified . + + The to compare. + One of the enumeration values that specifies the rules to use in the comparison. + if matches the end of this ; otherwise, . + + is . + + + + + Retrieves a substring from this . + The substring starts at the position specified by and has the remaining length. + + The zero-based starting character position of a substring in this . + A that is equivalent to the substring of remaining length that begins at + in this . + + is greater than or equal to or less than zero. + + + + + Retrieves a substring from this . + The substring starts at the position specified by and has the specified . + + The zero-based starting character position of a substring in this . + The number of characters in the substring. + A that is equivalent to the substring of that begins at + in this . + + or is less than zero, or + is + greater than . + + + + + Retrieves a that represents a substring from this . + The starts at the position specified by . + + The zero-based starting character position of a substring in this . + A that begins at in this + whose length is the remainder. + + is greater than or equal to or less than zero. + + + + + Retrieves a that represents a substring from this . + The starts at the position specified by and has the specified . + + The zero-based starting character position of a substring in this . + The number of characters in the substring. + A that is equivalent to the substring of that begins at in this . + + or is less than zero, or + is + greater than . + + + + + Gets the zero-based index of the first occurrence of the character in this . + The search starts at and examines a specified number of character positions. + + The Unicode character to seek. + The zero-based index position at which the search starts. + The number of characters to examine. + The zero-based index position of from the beginning of the if that character is found, or -1 if it is not. + + or is less than zero, or + is + greater than . + + + + + Gets the zero-based index of the first occurrence of the character in this . + The search starts at . + + The Unicode character to seek. + The zero-based index position at which the search starts. + The zero-based index position of from the beginning of the if that character is found, or -1 if it is not. + + is greater than or equal to or less than zero. + + + + + Gets the zero-based index of the first occurrence of the character in this . + + The Unicode character to seek. + The zero-based index position of from the beginning of the if that character is found, or -1 if it is not. + + + + Reports the zero-based index of the first occurrence in this instance of any character in a specified array + of Unicode characters. The search starts at a specified character position and examines a specified number + of character positions. + + A Unicode character array containing one or more characters to seek. + The search starting position. + The number of character positions to examine. + The zero-based index position of the first occurrence in this instance where any character in + was found; -1 if no character in was found. + + is . + + + or is less than zero, or + is + greater than . + + + + + Reports the zero-based index of the first occurrence in this instance of any character in a specified array + of Unicode characters. The search starts at a specified character position. + + A Unicode character array containing one or more characters to seek. + The search starting position. + The zero-based index position of the first occurrence in this instance where any character in + was found; -1 if no character in was found. + + is greater than or equal to or less than zero. + + + + + Reports the zero-based index of the first occurrence in this instance of any character in a specified array + of Unicode characters. + + A Unicode character array containing one or more characters to seek. + The zero-based index position of the first occurrence in this instance where any character in + was found; -1 if no character in was found. + + + + Reports the zero-based index position of the last occurrence of a specified Unicode character within this instance. + + The Unicode character to seek. + The zero-based index position of value if that character is found, or -1 if it is not. + + + + Removes all leading and trailing whitespaces. + + The trimmed . + + + + Removes all leading whitespaces. + + The trimmed . + + + + Removes all trailing whitespaces. + + The trimmed . + + + + Splits a string into s that are based on the characters in an array. + + A character array that delimits the substrings in this string, an empty array that + contains no delimiters, or null. + An whose elements contain the s from this instance + that are delimited by one or more characters in . + + + + Indicates whether the specified is null or an Empty string. + + The to test. + + + + + Returns the represented by this or if the does not contain a value. + + The represented by this or if the does not contain a value. + + + + Compares two objects. + + + + + Gets a object that performs a case-sensitive ordinal comparison. + + + + + Gets a object that performs a case-insensitive ordinal comparison. + + + + + Compares two objects and returns an indication of their relative sort order. + + The first to compare. + The second to compare. + A 32-bit signed integer that indicates the lexical relationship between the two comparands. + + + + Determines whether two objects are equal. + + The first to compare. + The second to compare. + if the two objects are equal; otherwise, . + + + + Returns a hash code for a object. + + The to get a hash code for. + A hash code for a , suitable for use in hashing algorithms and data structures like a hash table. + + + + Tokenizes a into StringSegments. + + + + + Initializes a new instance of . + + The to tokenize. + The characters to tokenize by. + + + + Initializes a new instance of . + + The to tokenize. + The characters to tokenize by. + + + + Initializes a new instance of . + + An based on the 's value and separators. + + + + Enumerates the tokens represented by . + + + + + Initializes an using a . + + A that contains the value to enumerate and token separators. + + + + Gets the current from the . + + + + + Releases all resources used by the . + + + + + Advances the enumerator to the next token in the . + + if the enumerator was successfully advanced to the next token; if the enumerator has passed the end of the . + + + + Resets the to its initial state. + + + + + Represents zero/null, one, or many strings in an efficient way. + + + + + A readonly instance of the struct whose value is an empty string array. + + + In application code, this field is most commonly used to safely represent a that has null string values. + + + + + Initializes a new instance of the structure using the specified string. + + A string value or . + + + + Initializes a new instance of the structure using the specified array of strings. + + A string array. + + + + Defines an implicit conversion of a given string to a . + + A string to implicitly convert. + + + + Defines an implicit conversion of a given string array to a . + + A string array to implicitly convert. + + + + Defines an implicit conversion of a given to a string, with multiple values joined as a comma separated string. + + + Returns where has been initialized from an empty string array or is . + + A to implicitly convert. + + + + Defines an implicit conversion of a given to a string array. + + A to implicitly convert. + + + + Gets the number of elements contained in this . + + + + + Gets the at the specified index. + + The string at the specified index. + The zero-based index of the element to get. + Set operations are not supported on readonly . + + + + Gets the at the specified index. + + The string at the specified index. + The zero-based index of the element to get. + + + + Converts the value of the current object to its equivalent string representation, with multiple values joined as a comma separated string. + + A string representation of the value of the current object. + + + + Creates a string array from the current object. + + A string array represented by this instance. + + If the contains a single string internally, it is copied to a new array. + If the contains an array internally it returns that array instance. + + + + + Returns the zero-based index of the first occurrence of an item in the . + + The string to locate in the . + The zero-based index of the first occurrence of within the , if found; otherwise, -1. + + + Determines whether a string is in the . + The to locate in the . + if is found in the ; otherwise, . + + + + Copies the entire to a string array, starting at the specified index of the target array. + + The one-dimensional that is the destination of the elements copied from. The must have zero-based indexing. + The zero-based index in the destination array at which copying begins. + is null. + is less than 0. + The number of elements in the source is greater than the available space from to the end of the destination . + + + Retrieves an object that can iterate through the individual strings in this . + An enumerator that can be used to iterate through the . + + + + + + + + + + Indicates whether the specified contains no string values. + + The to test. + if contains a single or empty string or an empty array; otherwise, . + + + + Concatenates two specified instances of . + + The first to concatenate. + The second to concatenate. + The concatenation of and . + + + + Concatenates specified instance of with specified . + + The to concatenate. + The to concatenate. + The concatenation of and . + + + + Concatenates specified instance of with specified . + + The to concatenate. + The to concatenate. + The concatenation of and . + + + + Determines whether two specified objects have the same values in the same order. + + The first to compare. + The second to compare. + if the value of is the same as the value of ; otherwise, . + + + + Determines whether two specified have the same values. + + The first to compare. + The second to compare. + if the value of is the same as the value of ; otherwise, . + + + + Determines whether two specified have different values. + + The first to compare. + The second to compare. + if the value of is different to the value of ; otherwise, . + + + + Determines whether this instance and another specified object have the same values. + + The string to compare to this instance. + if the value of is the same as the value of this instance; otherwise, . + + + + Determines whether the specified and objects have the same values. + + The to compare. + The to compare. + if the value of is the same as the value of ; otherwise, . If is , the method returns . + + + + Determines whether the specified and objects have the same values. + + The to compare. + The to compare. + if the value of is the same as the value of ; otherwise, . If is , the method returns . + + + + Determines whether this instance and a specified , have the same value. + + The to compare to this instance. + if the value of is the same as this instance; otherwise, . If is , returns . + + + + Determines whether the specified string array and objects have the same values. + + The string array to compare. + The to compare. + if the value of is the same as the value of ; otherwise, . + + + + Determines whether the specified and string array objects have the same values. + + The to compare. + The string array to compare. + if the value of is the same as the value of ; otherwise, . + + + + Determines whether this instance and a specified string array have the same values. + + The string array to compare to this instance. + if the value of is the same as this instance; otherwise, . + + + + + + + Determines whether the specified and objects have different values. + + The to compare. + The to compare. + if the value of is different to the value of ; otherwise, . + + + + + + + Determines whether the specified and objects have different values. + + The to compare. + The to compare. + if the value of is different to the value of ; otherwise, . + + + + + + + Determines whether the specified and string array have different values. + + The to compare. + The string array to compare. + if the value of is different to the value of ; otherwise, . + + + + + + + Determines whether the specified string array and have different values. + + The string array to compare. + The to compare. + if the value of is different to the value of ; otherwise, . + + + + Determines whether the specified and , which must be a + , , or array of , have the same value. + + The to compare. + The to compare. + if the object is equal to the ; otherwise, . + + + + Determines whether the specified and , which must be a + , , or array of , have different values. + + The to compare. + The to compare. + if the object is equal to the ; otherwise, . + + + + Determines whether the specified , which must be a + , , or array of , and specified , have the same value. + + The to compare. + The to compare. + if the object is equal to the ; otherwise, . + + + + Determines whether the specified and object have the same values. + + The to compare. + The to compare. + if the object is equal to the ; otherwise, . + + + + Determines whether this instance and a specified object have the same value. + + An object to compare with this object. + if the current object is equal to ; otherwise, . + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Enumerates the string values of a . + + + + + Instantiates an using a . + + The to enumerate. + + + + Advances the enumerator to the next element of the . + + if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the . + + + + Gets the element at the current position of the enumerator. + + + + + Releases all resources used by the . + + + + + Registers for a callback that will be invoked when the entry has changed. + MUST be set before the callback is invoked. + + The callback to invoke. + State to be passed into the callback. + The to invoke the callback with. + The action to execute when an is thrown. Should be used to set the IChangeToken's ActiveChangeCallbacks property to false. + The state to be passed into the action. + The registration. + + + Offset and length are out of bounds for the string or length is greater than the number of characters from index to the end of the string. + + + Offset and length are out of bounds for this StringSegment or length is greater than the number of characters to the end of this StringSegment. + + + Cannot change capacity after write started. + + + Not enough capacity to write '{0}' characters, only '{1}' left. + + + Entire reserved capacity was not used. Capacity: '{0}', written '{1}'. + + + diff --git a/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Primitives.xml b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Primitives.xml new file mode 100644 index 000000000..71d9c503a --- /dev/null +++ b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Primitives.xml @@ -0,0 +1,1035 @@ + + + + Microsoft.Extensions.Primitives + + + + + A implementation using . + + + + + Initializes a new instance of . + + The . + + + + + + + + + + + + + Propagates notifications that a change has occurred. + + + + + Registers the action to be called whenever the token produced changes. + + Produces the change token. + Action called when the token changes. + + + + + Registers the action to be called whenever the token produced changes. + + Produces the change token. + Action called when the token changes. + state for the consumer. + + + + + An that represents one or more instances. + + + + + Creates a new instance of . + + The list of to compose. + + + + Returns the list of that compose the current . + + + + + + + + + + + + + + Provides extensions methods for the namespace. + + + + + Adds the given to the . + + The to add to. + The to add. + The original . + + + + Propagates notifications that a change has occurred. + + + + + Gets a value that indicates if a change has occurred. + + + + + Indicates if this token will proactively raise callbacks. If false, the token consumer must + poll to detect changes. + + + + + Registers for a callback that will be invoked when the entry has changed. + MUST be set before the callback is invoked. + + The to invoke. + State to be passed into the callback. + An that is used to unregister the callback. + + + + Provides a mechanism for fast, non-allocating string concatenation. + + + + + Initializes a new instance of the class. + + The suggested starting size of the instance. + + + + Gets the number of characters that the current object can contain. + + + + + Appends a string to the end of the current instance. + + The string to append. + + + + Appends a string segment to the end of the current instance. + + The string segment to append. + + + + Appends a substring to the end of the current instance. + + The string that contains the substring to append. + The starting position of the substring within value. + The number of characters in value to append. + + + + Appends a character to the end of the current instance. + + The character to append. + + + + Converts the value of this instance to a String. + + A string whose value is the same as this instance. + + + + An optimized representation of a substring. + + + + + A for . + + + + + Initializes an instance of the struct. + + + The original . The includes the whole . + + + + + Initializes an instance of the struct. + + The original used as buffer. + The offset of the segment within the . + The length of the segment. + + is . + + + or is less than zero, or + + is greater than the number of characters in . + + + + + Gets the buffer for this . + + + + + Gets the offset within the buffer for this . + + + + + Gets the length of this . + + + + + Gets the value of this segment as a . + + + + + Gets whether this contains a valid value. + + + + + Gets the at a specified position in the current . + + The offset into the + The at a specified position. + + is greater than or equal to or less than zero. + + + + + Gets a from the current . + + The from this . + + + + Gets a from the current that starts + at the position specified by , and has the remaining length. + + The zero-based starting character position in this . + A with the remaining chars that begins at in + this . + + is greater than or equal to or less than zero. + + + + + Gets a from the current that starts + at the position specified by , and has the specified . + + The zero-based starting character position in this . + The number of characters in the span. + A with that begins at + in this . + + or is less than zero, or + is + greater than . + + + + + Gets a from the current . + + The from this . + + + + Compares substrings of two specified objects using the specified rules, + and returns an integer that indicates their relative position in the sort order. + + The first to compare. + The second to compare. + One of the enumeration values that specifies the rules for the comparison. + + A 32-bit signed integer indicating the lexical relationship between the two comparands. + The value is negative if is less than , 0 if the two comparands are equal, + and positive if is greater than . + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + if the current object is equal to ; otherwise, . + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + if the current object is equal to ; otherwise, . + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + One of the enumeration values that specifies the rules to use in the comparison. + if the current object is equal to ; otherwise, . + + + + Determines whether two specified objects have the same value. A parameter specifies the culture, case, and + sort rules used in the comparison. + + The first to compare. + The second to compare. + One of the enumeration values that specifies the rules for the comparison. + if the objects are equal; otherwise, . + + + + Checks if the specified is equal to the current . + + The to compare with the current . + if the specified is equal to the current ; otherwise, . + + + + Checks if the specified is equal to the current . + + The to compare with the current . + One of the enumeration values that specifies the rules to use in the comparison. + if the specified is equal to the current ; otherwise, . + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Checks if two specified have the same value. + + The first to compare, or . + The second to compare, or . + if the value of is the same as the value of ; otherwise, . + + + + Checks if two specified have different values. + + The first to compare, or . + The second to compare, or . + if the value of is different from the value of ; otherwise, . + + + + Creates a new from the given . + + The to convert to a . + + + + Creates a see from the given . + + The to convert to a . + + + + Creates a see from the given . + + The to convert to a . + + + + Checks if the beginning of this matches the specified when compared using the specified . + + The to compare. + One of the enumeration values that specifies the rules to use in the comparison. + if matches the beginning of this ; otherwise, . + + is . + + + + + Checks if the end of this matches the specified when compared using the specified . + + The to compare. + One of the enumeration values that specifies the rules to use in the comparison. + if matches the end of this ; otherwise, . + + is . + + + + + Retrieves a substring from this . + The substring starts at the position specified by and has the remaining length. + + The zero-based starting character position of a substring in this . + A that is equivalent to the substring of remaining length that begins at + in this . + + is greater than or equal to or less than zero. + + + + + Retrieves a substring from this . + The substring starts at the position specified by and has the specified . + + The zero-based starting character position of a substring in this . + The number of characters in the substring. + A that is equivalent to the substring of that begins at + in this . + + or is less than zero, or + is + greater than . + + + + + Retrieves a that represents a substring from this . + The starts at the position specified by . + + The zero-based starting character position of a substring in this . + A that begins at in this + whose length is the remainder. + + is greater than or equal to or less than zero. + + + + + Retrieves a that represents a substring from this . + The starts at the position specified by and has the specified . + + The zero-based starting character position of a substring in this . + The number of characters in the substring. + A that is equivalent to the substring of that begins at in this . + + or is less than zero, or + is + greater than . + + + + + Gets the zero-based index of the first occurrence of the character in this . + The search starts at and examines a specified number of character positions. + + The Unicode character to seek. + The zero-based index position at which the search starts. + The number of characters to examine. + The zero-based index position of from the beginning of the if that character is found, or -1 if it is not. + + or is less than zero, or + is + greater than . + + + + + Gets the zero-based index of the first occurrence of the character in this . + The search starts at . + + The Unicode character to seek. + The zero-based index position at which the search starts. + The zero-based index position of from the beginning of the if that character is found, or -1 if it is not. + + is greater than or equal to or less than zero. + + + + + Gets the zero-based index of the first occurrence of the character in this . + + The Unicode character to seek. + The zero-based index position of from the beginning of the if that character is found, or -1 if it is not. + + + + Reports the zero-based index of the first occurrence in this instance of any character in a specified array + of Unicode characters. The search starts at a specified character position and examines a specified number + of character positions. + + A Unicode character array containing one or more characters to seek. + The search starting position. + The number of character positions to examine. + The zero-based index position of the first occurrence in this instance where any character in + was found; -1 if no character in was found. + + is . + + + or is less than zero, or + is + greater than . + + + + + Reports the zero-based index of the first occurrence in this instance of any character in a specified array + of Unicode characters. The search starts at a specified character position. + + A Unicode character array containing one or more characters to seek. + The search starting position. + The zero-based index position of the first occurrence in this instance where any character in + was found; -1 if no character in was found. + + is greater than or equal to or less than zero. + + + + + Reports the zero-based index of the first occurrence in this instance of any character in a specified array + of Unicode characters. + + A Unicode character array containing one or more characters to seek. + The zero-based index position of the first occurrence in this instance where any character in + was found; -1 if no character in was found. + + + + Reports the zero-based index position of the last occurrence of a specified Unicode character within this instance. + + The Unicode character to seek. + The zero-based index position of value if that character is found, or -1 if it is not. + + + + Removes all leading and trailing whitespaces. + + The trimmed . + + + + Removes all leading whitespaces. + + The trimmed . + + + + Removes all trailing whitespaces. + + The trimmed . + + + + Splits a string into s that are based on the characters in an array. + + A character array that delimits the substrings in this string, an empty array that + contains no delimiters, or null. + An whose elements contain the s from this instance + that are delimited by one or more characters in . + + + + Indicates whether the specified is null or an Empty string. + + The to test. + + + + + Returns the represented by this or if the does not contain a value. + + The represented by this or if the does not contain a value. + + + + Compares two objects. + + + + + Gets a object that performs a case-sensitive ordinal comparison. + + + + + Gets a object that performs a case-insensitive ordinal comparison. + + + + + Compares two objects and returns an indication of their relative sort order. + + The first to compare. + The second to compare. + A 32-bit signed integer that indicates the lexical relationship between the two comparands. + + + + Determines whether two objects are equal. + + The first to compare. + The second to compare. + if the two objects are equal; otherwise, . + + + + Returns a hash code for a object. + + The to get a hash code for. + A hash code for a , suitable for use in hashing algorithms and data structures like a hash table. + + + + Tokenizes a into StringSegments. + + + + + Initializes a new instance of . + + The to tokenize. + The characters to tokenize by. + + + + Initializes a new instance of . + + The to tokenize. + The characters to tokenize by. + + + + Initializes a new instance of . + + An based on the 's value and separators. + + + + Enumerates the tokens represented by . + + + + + Initializes an using a . + + A that contains the value to enumerate and token separators. + + + + Gets the current from the . + + + + + Releases all resources used by the . + + + + + Advances the enumerator to the next token in the . + + if the enumerator was successfully advanced to the next token; if the enumerator has passed the end of the . + + + + Resets the to its initial state. + + + + + Represents zero/null, one, or many strings in an efficient way. + + + + + A readonly instance of the struct whose value is an empty string array. + + + In application code, this field is most commonly used to safely represent a that has null string values. + + + + + Initializes a new instance of the structure using the specified string. + + A string value or . + + + + Initializes a new instance of the structure using the specified array of strings. + + A string array. + + + + Defines an implicit conversion of a given string to a . + + A string to implicitly convert. + + + + Defines an implicit conversion of a given string array to a . + + A string array to implicitly convert. + + + + Defines an implicit conversion of a given to a string, with multiple values joined as a comma separated string. + + + Returns where has been initialized from an empty string array or is . + + A to implicitly convert. + + + + Defines an implicit conversion of a given to a string array. + + A to implicitly convert. + + + + Gets the number of elements contained in this . + + + + + Gets the at the specified index. + + The string at the specified index. + The zero-based index of the element to get. + Set operations are not supported on readonly . + + + + Gets the at the specified index. + + The string at the specified index. + The zero-based index of the element to get. + + + + Converts the value of the current object to its equivalent string representation, with multiple values joined as a comma separated string. + + A string representation of the value of the current object. + + + + Creates a string array from the current object. + + A string array represented by this instance. + + If the contains a single string internally, it is copied to a new array. + If the contains an array internally it returns that array instance. + + + + + Returns the zero-based index of the first occurrence of an item in the . + + The string to locate in the . + The zero-based index of the first occurrence of within the , if found; otherwise, -1. + + + Determines whether a string is in the . + The to locate in the . + if is found in the ; otherwise, . + + + + Copies the entire to a string array, starting at the specified index of the target array. + + The one-dimensional that is the destination of the elements copied from. The must have zero-based indexing. + The zero-based index in the destination array at which copying begins. + is null. + is less than 0. + The number of elements in the source is greater than the available space from to the end of the destination . + + + Retrieves an object that can iterate through the individual strings in this . + An enumerator that can be used to iterate through the . + + + + + + + + + + Indicates whether the specified contains no string values. + + The to test. + if contains a single or empty string or an empty array; otherwise, . + + + + Concatenates two specified instances of . + + The first to concatenate. + The second to concatenate. + The concatenation of and . + + + + Concatenates specified instance of with specified . + + The to concatenate. + The to concatenate. + The concatenation of and . + + + + Concatenates specified instance of with specified . + + The to concatenate. + The to concatenate. + The concatenation of and . + + + + Determines whether two specified objects have the same values in the same order. + + The first to compare. + The second to compare. + if the value of is the same as the value of ; otherwise, . + + + + Determines whether two specified have the same values. + + The first to compare. + The second to compare. + if the value of is the same as the value of ; otherwise, . + + + + Determines whether two specified have different values. + + The first to compare. + The second to compare. + if the value of is different to the value of ; otherwise, . + + + + Determines whether this instance and another specified object have the same values. + + The string to compare to this instance. + if the value of is the same as the value of this instance; otherwise, . + + + + Determines whether the specified and objects have the same values. + + The to compare. + The to compare. + if the value of is the same as the value of ; otherwise, . If is , the method returns . + + + + Determines whether the specified and objects have the same values. + + The to compare. + The to compare. + if the value of is the same as the value of ; otherwise, . If is , the method returns . + + + + Determines whether this instance and a specified , have the same value. + + The to compare to this instance. + if the value of is the same as this instance; otherwise, . If is , returns . + + + + Determines whether the specified string array and objects have the same values. + + The string array to compare. + The to compare. + if the value of is the same as the value of ; otherwise, . + + + + Determines whether the specified and string array objects have the same values. + + The to compare. + The string array to compare. + if the value of is the same as the value of ; otherwise, . + + + + Determines whether this instance and a specified string array have the same values. + + The string array to compare to this instance. + if the value of is the same as this instance; otherwise, . + + + + + + + Determines whether the specified and objects have different values. + + The to compare. + The to compare. + if the value of is different to the value of ; otherwise, . + + + + + + + Determines whether the specified and objects have different values. + + The to compare. + The to compare. + if the value of is different to the value of ; otherwise, . + + + + + + + Determines whether the specified and string array have different values. + + The to compare. + The string array to compare. + if the value of is different to the value of ; otherwise, . + + + + + + + Determines whether the specified string array and have different values. + + The string array to compare. + The to compare. + if the value of is different to the value of ; otherwise, . + + + + Determines whether the specified and , which must be a + , , or array of , have the same value. + + The to compare. + The to compare. + if the object is equal to the ; otherwise, . + + + + Determines whether the specified and , which must be a + , , or array of , have different values. + + The to compare. + The to compare. + if the object is equal to the ; otherwise, . + + + + Determines whether the specified , which must be a + , , or array of , and specified , have the same value. + + The to compare. + The to compare. + if the object is equal to the ; otherwise, . + + + + Determines whether the specified and object have the same values. + + The to compare. + The to compare. + if the object is equal to the ; otherwise, . + + + + Determines whether this instance and a specified object have the same value. + + An object to compare with this object. + if the current object is equal to ; otherwise, . + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Enumerates the string values of a . + + + + + Instantiates an using a . + + The to enumerate. + + + + Advances the enumerator to the next element of the . + + if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the . + + + + Gets the element at the current position of the enumerator. + + + + + Releases all resources used by the . + + + + + Registers for a callback that will be invoked when the entry has changed. + MUST be set before the callback is invoked. + + The callback to invoke. + State to be passed into the callback. + The to invoke the callback with. + The action to execute when an is thrown. Should be used to set the IChangeToken's ActiveChangeCallbacks property to false. + The state to be passed into the action. + The registration. + + + Offset and length are out of bounds for the string or length is greater than the number of characters from index to the end of the string. + + + Offset and length are out of bounds for this StringSegment or length is greater than the number of characters to the end of this StringSegment. + + + Cannot change capacity after write started. + + + Not enough capacity to write '{0}' characters, only '{1}' left. + + + Entire reserved capacity was not used. Capacity: '{0}', written '{1}'. + + + diff --git a/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Primitives.xml b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Primitives.xml new file mode 100644 index 000000000..14f3a0f7a --- /dev/null +++ b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Primitives.xml @@ -0,0 +1,1251 @@ + + + + Microsoft.Extensions.Primitives + + + + + A implementation using . + + + + + Initializes a new instance of . + + The . + + + + + + + + + + + + + Propagates notifications that a change has occurred. + + + + + Registers the action to be called whenever the token produced changes. + + Produces the change token. + Action called when the token changes. + + + + + Registers the action to be called whenever the token produced changes. + + Produces the change token. + Action called when the token changes. + state for the consumer. + + + + + An that represents one or more instances. + + + + + Creates a new instance of . + + The list of to compose. + + + + Returns the list of that compose the current . + + + + + + + + + + + + + + Provides extensions methods for the namespace. + + + + + Adds the given to the . + + The to add to. + The to add. + The original . + + + + Propagates notifications that a change has occurred. + + + + + Gets a value that indicates if a change has occurred. + + + + + Indicates if this token will proactively raise callbacks. If false, the token consumer must + poll to detect changes. + + + + + Registers for a callback that will be invoked when the entry has changed. + MUST be set before the callback is invoked. + + The to invoke. + State to be passed into the callback. + An that is used to unregister the callback. + + + + Provides a mechanism for fast, non-allocating string concatenation. + + + + + Initializes a new instance of the class. + + The suggested starting size of the instance. + + + + Gets the number of characters that the current object can contain. + + + + + Appends a string to the end of the current instance. + + The string to append. + + + + Appends a string segment to the end of the current instance. + + The string segment to append. + + + + Appends a substring to the end of the current instance. + + The string that contains the substring to append. + The starting position of the substring within value. + The number of characters in value to append. + + + + Appends a character to the end of the current instance. + + The character to append. + + + + Converts the value of this instance to a String. + + A string whose value is the same as this instance. + + + + An optimized representation of a substring. + + + + + A for . + + + + + Initializes an instance of the struct. + + + The original . The includes the whole . + + + + + Initializes an instance of the struct. + + The original used as buffer. + The offset of the segment within the . + The length of the segment. + + is . + + + or is less than zero, or + + is greater than the number of characters in . + + + + + Gets the buffer for this . + + + + + Gets the offset within the buffer for this . + + + + + Gets the length of this . + + + + + Gets the value of this segment as a . + + + + + Gets whether this contains a valid value. + + + + + Gets the at a specified position in the current . + + The offset into the + The at a specified position. + + is greater than or equal to or less than zero. + + + + + Gets a from the current . + + The from this . + + + + Gets a from the current that starts + at the position specified by , and has the remaining length. + + The zero-based starting character position in this . + A with the remaining chars that begins at in + this . + + is greater than or equal to or less than zero. + + + + + Gets a from the current that starts + at the position specified by , and has the specified . + + The zero-based starting character position in this . + The number of characters in the span. + A with that begins at + in this . + + or is less than zero, or + is + greater than . + + + + + Gets a from the current . + + The from this . + + + + Compares substrings of two specified objects using the specified rules, + and returns an integer that indicates their relative position in the sort order. + + The first to compare. + The second to compare. + One of the enumeration values that specifies the rules for the comparison. + + A 32-bit signed integer indicating the lexical relationship between the two comparands. + The value is negative if is less than , 0 if the two comparands are equal, + and positive if is greater than . + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + if the current object is equal to ; otherwise, . + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + if the current object is equal to ; otherwise, . + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + One of the enumeration values that specifies the rules to use in the comparison. + if the current object is equal to ; otherwise, . + + + + Determines whether two specified objects have the same value. A parameter specifies the culture, case, and + sort rules used in the comparison. + + The first to compare. + The second to compare. + One of the enumeration values that specifies the rules for the comparison. + if the objects are equal; otherwise, . + + + + Checks if the specified is equal to the current . + + The to compare with the current . + if the specified is equal to the current ; otherwise, . + + + + Checks if the specified is equal to the current . + + The to compare with the current . + One of the enumeration values that specifies the rules to use in the comparison. + if the specified is equal to the current ; otherwise, . + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Checks if two specified have the same value. + + The first to compare, or . + The second to compare, or . + if the value of is the same as the value of ; otherwise, . + + + + Checks if two specified have different values. + + The first to compare, or . + The second to compare, or . + if the value of is different from the value of ; otherwise, . + + + + Creates a new from the given . + + The to convert to a . + + + + Creates a see from the given . + + The to convert to a . + + + + Creates a see from the given . + + The to convert to a . + + + + Checks if the beginning of this matches the specified when compared using the specified . + + The to compare. + One of the enumeration values that specifies the rules to use in the comparison. + if matches the beginning of this ; otherwise, . + + is . + + + + + Checks if the end of this matches the specified when compared using the specified . + + The to compare. + One of the enumeration values that specifies the rules to use in the comparison. + if matches the end of this ; otherwise, . + + is . + + + + + Retrieves a substring from this . + The substring starts at the position specified by and has the remaining length. + + The zero-based starting character position of a substring in this . + A that is equivalent to the substring of remaining length that begins at + in this . + + is greater than or equal to or less than zero. + + + + + Retrieves a substring from this . + The substring starts at the position specified by and has the specified . + + The zero-based starting character position of a substring in this . + The number of characters in the substring. + A that is equivalent to the substring of that begins at + in this . + + or is less than zero, or + is + greater than . + + + + + Retrieves a that represents a substring from this . + The starts at the position specified by . + + The zero-based starting character position of a substring in this . + A that begins at in this + whose length is the remainder. + + is greater than or equal to or less than zero. + + + + + Retrieves a that represents a substring from this . + The starts at the position specified by and has the specified . + + The zero-based starting character position of a substring in this . + The number of characters in the substring. + A that is equivalent to the substring of that begins at in this . + + or is less than zero, or + is + greater than . + + + + + Gets the zero-based index of the first occurrence of the character in this . + The search starts at and examines a specified number of character positions. + + The Unicode character to seek. + The zero-based index position at which the search starts. + The number of characters to examine. + The zero-based index position of from the beginning of the if that character is found, or -1 if it is not. + + or is less than zero, or + is + greater than . + + + + + Gets the zero-based index of the first occurrence of the character in this . + The search starts at . + + The Unicode character to seek. + The zero-based index position at which the search starts. + The zero-based index position of from the beginning of the if that character is found, or -1 if it is not. + + is greater than or equal to or less than zero. + + + + + Gets the zero-based index of the first occurrence of the character in this . + + The Unicode character to seek. + The zero-based index position of from the beginning of the if that character is found, or -1 if it is not. + + + + Reports the zero-based index of the first occurrence in this instance of any character in a specified array + of Unicode characters. The search starts at a specified character position and examines a specified number + of character positions. + + A Unicode character array containing one or more characters to seek. + The search starting position. + The number of character positions to examine. + The zero-based index position of the first occurrence in this instance where any character in + was found; -1 if no character in was found. + + is . + + + or is less than zero, or + is + greater than . + + + + + Reports the zero-based index of the first occurrence in this instance of any character in a specified array + of Unicode characters. The search starts at a specified character position. + + A Unicode character array containing one or more characters to seek. + The search starting position. + The zero-based index position of the first occurrence in this instance where any character in + was found; -1 if no character in was found. + + is greater than or equal to or less than zero. + + + + + Reports the zero-based index of the first occurrence in this instance of any character in a specified array + of Unicode characters. + + A Unicode character array containing one or more characters to seek. + The zero-based index position of the first occurrence in this instance where any character in + was found; -1 if no character in was found. + + + + Reports the zero-based index position of the last occurrence of a specified Unicode character within this instance. + + The Unicode character to seek. + The zero-based index position of value if that character is found, or -1 if it is not. + + + + Removes all leading and trailing whitespaces. + + The trimmed . + + + + Removes all leading whitespaces. + + The trimmed . + + + + Removes all trailing whitespaces. + + The trimmed . + + + + Splits a string into s that are based on the characters in an array. + + A character array that delimits the substrings in this string, an empty array that + contains no delimiters, or null. + An whose elements contain the s from this instance + that are delimited by one or more characters in . + + + + Indicates whether the specified is null or an Empty string. + + The to test. + + + + + Returns the represented by this or if the does not contain a value. + + The represented by this or if the does not contain a value. + + + + Compares two objects. + + + + + Gets a object that performs a case-sensitive ordinal comparison. + + + + + Gets a object that performs a case-insensitive ordinal comparison. + + + + + Compares two objects and returns an indication of their relative sort order. + + The first to compare. + The second to compare. + A 32-bit signed integer that indicates the lexical relationship between the two comparands. + + + + Determines whether two objects are equal. + + The first to compare. + The second to compare. + if the two objects are equal; otherwise, . + + + + Returns a hash code for a object. + + The to get a hash code for. + A hash code for a , suitable for use in hashing algorithms and data structures like a hash table. + + + + Tokenizes a into StringSegments. + + + + + Initializes a new instance of . + + The to tokenize. + The characters to tokenize by. + + + + Initializes a new instance of . + + The to tokenize. + The characters to tokenize by. + + + + Initializes a new instance of . + + An based on the 's value and separators. + + + + Enumerates the tokens represented by . + + + + + Initializes an using a . + + A that contains the value to enumerate and token separators. + + + + Gets the current from the . + + + + + Releases all resources used by the . + + + + + Advances the enumerator to the next token in the . + + if the enumerator was successfully advanced to the next token; if the enumerator has passed the end of the . + + + + Resets the to its initial state. + + + + + Represents zero/null, one, or many strings in an efficient way. + + + + + A readonly instance of the struct whose value is an empty string array. + + + In application code, this field is most commonly used to safely represent a that has null string values. + + + + + Initializes a new instance of the structure using the specified string. + + A string value or . + + + + Initializes a new instance of the structure using the specified array of strings. + + A string array. + + + + Defines an implicit conversion of a given string to a . + + A string to implicitly convert. + + + + Defines an implicit conversion of a given string array to a . + + A string array to implicitly convert. + + + + Defines an implicit conversion of a given to a string, with multiple values joined as a comma separated string. + + + Returns where has been initialized from an empty string array or is . + + A to implicitly convert. + + + + Defines an implicit conversion of a given to a string array. + + A to implicitly convert. + + + + Gets the number of elements contained in this . + + + + + Gets the at the specified index. + + The string at the specified index. + The zero-based index of the element to get. + Set operations are not supported on readonly . + + + + Gets the at the specified index. + + The string at the specified index. + The zero-based index of the element to get. + + + + Converts the value of the current object to its equivalent string representation, with multiple values joined as a comma separated string. + + A string representation of the value of the current object. + + + + Creates a string array from the current object. + + A string array represented by this instance. + + If the contains a single string internally, it is copied to a new array. + If the contains an array internally it returns that array instance. + + + + + Returns the zero-based index of the first occurrence of an item in the . + + The string to locate in the . + The zero-based index of the first occurrence of within the , if found; otherwise, -1. + + + Determines whether a string is in the . + The to locate in the . + if is found in the ; otherwise, . + + + + Copies the entire to a string array, starting at the specified index of the target array. + + The one-dimensional that is the destination of the elements copied from. The must have zero-based indexing. + The zero-based index in the destination array at which copying begins. + is null. + is less than 0. + The number of elements in the source is greater than the available space from to the end of the destination . + + + Retrieves an object that can iterate through the individual strings in this . + An enumerator that can be used to iterate through the . + + + + + + + + + + Indicates whether the specified contains no string values. + + The to test. + if contains a single or empty string or an empty array; otherwise, . + + + + Concatenates two specified instances of . + + The first to concatenate. + The second to concatenate. + The concatenation of and . + + + + Concatenates specified instance of with specified . + + The to concatenate. + The to concatenate. + The concatenation of and . + + + + Concatenates specified instance of with specified . + + The to concatenate. + The to concatenate. + The concatenation of and . + + + + Determines whether two specified objects have the same values in the same order. + + The first to compare. + The second to compare. + if the value of is the same as the value of ; otherwise, . + + + + Determines whether two specified have the same values. + + The first to compare. + The second to compare. + if the value of is the same as the value of ; otherwise, . + + + + Determines whether two specified have different values. + + The first to compare. + The second to compare. + if the value of is different to the value of ; otherwise, . + + + + Determines whether this instance and another specified object have the same values. + + The string to compare to this instance. + if the value of is the same as the value of this instance; otherwise, . + + + + Determines whether the specified and objects have the same values. + + The to compare. + The to compare. + if the value of is the same as the value of ; otherwise, . If is , the method returns . + + + + Determines whether the specified and objects have the same values. + + The to compare. + The to compare. + if the value of is the same as the value of ; otherwise, . If is , the method returns . + + + + Determines whether this instance and a specified , have the same value. + + The to compare to this instance. + if the value of is the same as this instance; otherwise, . If is , returns . + + + + Determines whether the specified string array and objects have the same values. + + The string array to compare. + The to compare. + if the value of is the same as the value of ; otherwise, . + + + + Determines whether the specified and string array objects have the same values. + + The to compare. + The string array to compare. + if the value of is the same as the value of ; otherwise, . + + + + Determines whether this instance and a specified string array have the same values. + + The string array to compare to this instance. + if the value of is the same as this instance; otherwise, . + + + + + + + Determines whether the specified and objects have different values. + + The to compare. + The to compare. + if the value of is different to the value of ; otherwise, . + + + + + + + Determines whether the specified and objects have different values. + + The to compare. + The to compare. + if the value of is different to the value of ; otherwise, . + + + + + + + Determines whether the specified and string array have different values. + + The to compare. + The string array to compare. + if the value of is different to the value of ; otherwise, . + + + + + + + Determines whether the specified string array and have different values. + + The string array to compare. + The to compare. + if the value of is different to the value of ; otherwise, . + + + + Determines whether the specified and , which must be a + , , or array of , have the same value. + + The to compare. + The to compare. + if the object is equal to the ; otherwise, . + + + + Determines whether the specified and , which must be a + , , or array of , have different values. + + The to compare. + The to compare. + if the object is equal to the ; otherwise, . + + + + Determines whether the specified , which must be a + , , or array of , and specified , have the same value. + + The to compare. + The to compare. + if the object is equal to the ; otherwise, . + + + + Determines whether the specified and object have the same values. + + The to compare. + The to compare. + if the object is equal to the ; otherwise, . + + + + Determines whether this instance and a specified object have the same value. + + An object to compare with this object. + if the current object is equal to ; otherwise, . + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Enumerates the string values of a . + + + + + Instantiates an using a . + + The to enumerate. + + + + Advances the enumerator to the next element of the . + + if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the . + + + + Gets the element at the current position of the enumerator. + + + + + Releases all resources used by the . + + + + + Registers for a callback that will be invoked when the entry has changed. + MUST be set before the callback is invoked. + + The callback to invoke. + State to be passed into the callback. + The to invoke the callback with. + The action to execute when an is thrown. Should be used to set the IChangeToken's ActiveChangeCallbacks property to false. + The state to be passed into the action. + The registration. + + + + Get a pinnable reference to the builder. + Does not ensure there is a null char after + This overload is pattern matched in the C# 7.3+ compiler so you can omit + the explicit method call, and write eg "fixed (char* c = builder)" + + + + + Get a pinnable reference to the builder. + + Ensures that the builder has a null char after + + + Returns the underlying storage of the builder. + + + + Returns a span around the contents of the builder. + + Ensures that the builder has a null char after + + + + Resize the internal buffer either by doubling current buffer size or + by adding to + whichever is greater. + + + Number of chars requested beyond current position. + + + + Offset and length are out of bounds for the string or length is greater than the number of characters from index to the end of the string. + + + Offset and length are out of bounds for this StringSegment or length is greater than the number of characters to the end of this StringSegment. + + + Cannot change capacity after write started. + + + Not enough capacity to write '{0}' characters, only '{1}' left. + + + Entire reserved capacity was not used. Capacity: '{0}', written '{1}'. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/microsoft.extensions.primitives.10.0.0-rc.2.25502.107.nupkg b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/microsoft.extensions.primitives.10.0.0-rc.2.25502.107.nupkg new file mode 100644 index 000000000..838514d47 Binary files /dev/null and b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/microsoft.extensions.primitives.10.0.0-rc.2.25502.107.nupkg differ diff --git a/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/microsoft.extensions.primitives.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/microsoft.extensions.primitives.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..0dcfd85d9 --- /dev/null +++ b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/microsoft.extensions.primitives.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +qJ2hs0p+yzA+8D5hlml4wMaxqoRXaM0p4LVUtPFZ0f3gh0eQ7hb0n1a6CuKbHtTR0hBRhRWhDCXpahpWUBOr4Q== \ No newline at end of file diff --git a/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nugets/microsoft.extensions.primitives/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nugets/mongodb.bson/3.5.0/.nupkg.metadata b/local-nugets/mongodb.bson/3.5.0/.nupkg.metadata new file mode 100644 index 000000000..541ce95da --- /dev/null +++ b/local-nugets/mongodb.bson/3.5.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "JGNK6BanLDEifgkvPLqVFCPus5EDCy416pxf1dxUBRSVd3D9+NB3AvMVX190eXlk5/UXuCxpsQv7jWfNKvppBQ==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/local-nugets/mongodb.bson/3.5.0/.signature.p7s b/local-nugets/mongodb.bson/3.5.0/.signature.p7s new file mode 100644 index 000000000..ef51aa230 Binary files /dev/null and b/local-nugets/mongodb.bson/3.5.0/.signature.p7s differ diff --git a/local-nugets/mongodb.bson/3.5.0/MongoDB.Bson.nuspec b/local-nugets/mongodb.bson/3.5.0/MongoDB.Bson.nuspec new file mode 100644 index 000000000..4c023aace --- /dev/null +++ b/local-nugets/mongodb.bson/3.5.0/MongoDB.Bson.nuspec @@ -0,0 +1,33 @@ + + + + MongoDB.Bson + 3.5.0 + MongoDB Inc. + true + Apache-2.0 + https://licenses.nuget.org/Apache-2.0 + packageIcon.png + README.md + https://www.mongodb.com/docs/drivers/csharp/ + MongoDB's Official Bson Library. + https://github.com/mongodb/mongo-csharp-driver/releases/tag/v3.5.0 + Copyright © 2010-present MongoDB Inc. + mongodb mongo nosql bson + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nugets/mongodb.bson/3.5.0/README.md b/local-nugets/mongodb.bson/3.5.0/README.md new file mode 100644 index 000000000..a4b7f919d --- /dev/null +++ b/local-nugets/mongodb.bson/3.5.0/README.md @@ -0,0 +1,87 @@ +MongoDB C# Driver +================= + +[![MongoDB.Driver](https://img.shields.io/nuget/v/MongoDB.Driver.svg)](https://www.nuget.org/packages/MongoDB.Driver/) +[![Documentation](https://img.shields.io/badge/docs-docfx-blue.svg)](https://mongodb.github.io/mongo-csharp-driver/3.4.0/api/index.html) +[![Documentation](https://img.shields.io/badge/docs-mongo-green.svg)](https://www.mongodb.com/docs/drivers/csharp/current/) +[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/mongodb/mongo-csharp-driver/blob/main/LICENSE.md) + +The official MongoDB .NET/C# driver. + +The MongoDB .NET/C# driver follows [semantic versioning](https://semver.org/) since v3.0.0 of its releases. + +Getting Started +--------------- + +### Untyped Documents +```C# +using MongoDB.Bson; +using MongoDB.Driver; +``` + +```C# +var client = new MongoClient("mongodb://localhost:27017"); +var database = client.GetDatabase("foo"); +var collection = database.GetCollection("bar"); + +await collection.InsertOneAsync(new BsonDocument("Name", "Jack")); + +var list = await collection.Find(new BsonDocument("Name", "Jack")) + .ToListAsync(); + +foreach(var document in list) +{ + Console.WriteLine(document["Name"]); +} +``` + +### Typed Documents + +```C# +using MongoDB.Bson; +using MongoDB.Driver; +``` + +```C# +public class Person +{ + public ObjectId Id { get; set; } + public string Name { get; set; } +} +``` + +```C# +var client = new MongoClient("mongodb://localhost:27017"); +var database = client.GetDatabase("foo"); +var collection = database.GetCollection("bar"); + +await collection.InsertOneAsync(new Person { Name = "Jack" }); + +var list = await collection.Find(x => x.Name == "Jack") + .ToListAsync(); + +foreach(var person in list) +{ + Console.WriteLine(person.Name); +} +``` + +Documentation +------------- +* [MongoDB](https://www.mongodb.com/docs) +* [.NET/C# Driver](https://www.mongodb.com/docs/drivers/csharp/current/) +* [API Reference](https://mongodb.github.io/mongo-csharp-driver/3.4.0/api/index.html) + +Questions/Bug Reports +--------------------- +* [MongoDB Community Forum](https://www.mongodb.com/community/forums/tags/c/data/drivers-odms/7/dot-net) +* [Jira](https://jira.mongodb.org/browse/CSHARP) + +If you’ve identified a security vulnerability in a driver or any other MongoDB project, please report it according to the [instructions here](https://www.mongodb.com/docs/manual/tutorial/create-a-vulnerability-report). + +Contributing +------------ + +Please see our [guidelines](CONTRIBUTING.md) for contributing to the driver. + +Thank you to [everyone](https://github.com/mongodb/mongo-csharp-driver/graphs/contributors) who has contributed to this project. diff --git a/local-nugets/mongodb.bson/3.5.0/lib/net472/MongoDB.Bson.xml b/local-nugets/mongodb.bson/3.5.0/lib/net472/MongoDB.Bson.xml new file mode 100644 index 000000000..9025afffd --- /dev/null +++ b/local-nugets/mongodb.bson/3.5.0/lib/net472/MongoDB.Bson.xml @@ -0,0 +1,23606 @@ + + + + MongoDB.Bson + + + + + A static class containing BSON constants. + + + + + Gets the number of milliseconds since the Unix epoch for DateTime.MaxValue. + + + + + Gets the number of milliseconds since the Unix epoch for DateTime.MinValue. + + + + + Gets the Unix Epoch for BSON DateTimes (1970-01-01). + + + + + A static helper class containing BSON defaults. + + + + + Gets or sets the dynamic array serializer. + + + + + Gets or sets the dynamic document serializer. + + + + + Gets or sets the default max document size. The default is 4MiB. + + + + + Gets or sets the default max serialization depth (used to detect circular references during serialization). The default is 100. + + + + + A static class containing BSON extension methods. + + + + + Serializes an object to a BSON byte array. + + The nominal type of the object. + The object. + The serializer. + The writer settings. + The serialization context configurator. + The serialization args. + The estimated size of the serialized object + A BSON byte array. + + + + Serializes an object to a BSON byte array. + + The object. + The nominal type of the object.. + The writer settings. + The serializer. + The serialization context configurator. + The serialization args. + The estimated size of the serialized object. + A BSON byte array. + nominalType + serializer + + + + Serializes an object to a BsonDocument. + + The nominal type of the object. + The object. + The serializer. + The serialization context configurator. + The serialization args. + A BsonDocument. + + + + Serializes an object to a BsonDocument. + + The object. + The nominal type of the object. + The serializer. + The serialization context configurator. + The serialization args. + A BsonDocument. + nominalType + serializer + + + + Serializes an object to a JSON string. + + The nominal type of the object. + The object. + The JsonWriter settings. + The serializer. + The serialization context configurator. + The serialization args. + + A JSON string. + + + + + Serializes an object to a JSON string. + + The object. + The nominal type of the objectt. + The JsonWriter settings. + The serializer. + The serialization context configurator. + The serialization args. + + A JSON string. + + nominalType + serializer + + + + A static class containing BSON utility methods. + + + + + Gets a friendly class name suitable for use in error messages. + + The type. + A friendly class name. + + + + Parses a hex string into its equivalent byte array. + + The hex string to parse. + The byte equivalent of the hex string. + + + + Converts from number of milliseconds since Unix epoch to DateTime. + + The number of milliseconds since Unix epoch. + A DateTime. + + + + Converts a value to a hex character. + + The value (assumed to be between 0 and 15). + The hex character. + + + + Converts a byte array to a hex string. + + The byte array. + A hex string. + + + + Converts a DateTime to local time (with special handling for MinValue and MaxValue). + + A DateTime. + The DateTime in local time. + + + + Converts a DateTime to number of milliseconds since Unix epoch. + + A DateTime. + Number of milliseconds since Unix epoch. + + + + Converts a DateTime to number of seconds since Unix epoch. + + A DateTime. + Number of seconds since Unix epoch. + + + + Converts a DateTime to UTC (with special handling for MinValue and MaxValue). + + A DateTime. + The DateTime in UTC. + + + + Tries to parse a hex string to a byte array. + + The hex string. + A byte array. + True if the hex string was successfully parsed. + + + + Represents a BSON exception. + + + + + Initializes a new instance of the BsonException class. + + + + + Initializes a new instance of the BsonException class. + + The error message. + + + + Initializes a new instance of the BsonException class. + + The error message. + The inner exception. + + + + Initializes a new instance of the BsonException class. + + The error message format string. + One or more args for the error message. + + + + Initializes a new instance of the BsonException class (this overload used by deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Represents a BSON internal exception (almost surely the result of a bug). + + + + + Initializes a new instance of the BsonInternalException class. + + + + + Initializes a new instance of the BsonInternalException class. + + The error message. + + + + Initializes a new instance of the BsonInternalException class. + + The error message. + The inner exception. + + + + Initializes a new instance of the BsonInternalException class (this overload used by deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Represents a BSON serialization exception. + + + + + Initializes a new instance of the BsonSerializationException class. + + + + + Initializes a new instance of the BsonSerializationException class. + + The error message. + + + + Initializes a new instance of the BsonSerializationException class. + + The error message. + The inner exception. + + + + Initializes a new instance of the BsonSerializationException class (this overload used by deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Indicates that an attribute restricted to one member has been applied to multiple members. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Initializes a new instance of the class. + + The info. + The context. + + + + Represents a truncation exception. + + + + + Initializes a new instance of the TruncationException class. + + + + + Initializes a new instance of the TruncationException class. + + The error message. + + + + Initializes a new instance of the TruncationException class. + + The error message. + The inner exception. + + + + Initializes a new instance of the TruncationException class (this overload used by deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Represents a fast converter from integer indexes to UTF8 BSON array element names. + + + + + Gets the element name bytes. + + The index. + The element name bytes. + + + + Represents a fast converter from integer indexes to UTF8 BSON array element names. + + + + + Gets or sets the default array element name accelerator. + + + + + Initializes a new instance of the class. + + The number of cached element names. + + + + Gets the element name bytes. + + The index. + + The element name bytes. + + + + + Represents a BSON reader for a binary BSON byte array. + + + + + Initializes a new instance of the BsonBinaryReader class. + + A stream (BsonBinary does not own the stream and will not Dispose it). + + + + Initializes a new instance of the BsonBinaryReader class. + + A stream (BsonBinary does not own the stream and will not Dispose it). + A BsonBinaryReaderSettings. + + + + Gets the base stream. + + + The base stream. + + + + + Gets the BSON stream. + + + The BSON stream. + + + + + Gets the settings of the writer. + + + + + Closes the reader. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name decoder. + The name of the element. + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a raw BSON array. + + + The raw BSON array. + + + + + Reads a raw BSON document. + + + The raw BSON document. + + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Creates a clone of the context. + + A clone of the context. + + + + Represents settings for a BsonBinaryReader. + + + + + Initializes a new instance of the BsonBinaryReaderSettings class. + + + + + Gets or sets the default settings for a BsonBinaryReader. + + + + + Gets or sets the Encoding. + + + + + Gets or sets whether to fix occurrences of the old binary subtype on input. + + + + + Gets or sets whether to fix occurrences of the old representation of DateTime.MaxValue on input. + + + + + Gets or sets the max document size. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Represents a BSON writer to a BSON Stream. + + + + + Initializes a new instance of the BsonBinaryWriter class. + + A stream. The BsonBinaryWriter does not own the stream and will not Dispose it. + + + + Initializes a new instance of the BsonBinaryWriter class. + + A stream. The BsonBinaryWriter does not own the stream and will not Dispose it. + The BsonBinaryWriter settings. + + + + Gets the base stream. + + + The base stream. + + + + + Gets the BSON stream. + + + The BSON stream. + + + + + + + + Gets the settings of the writer. + + + + + Closes the writer. Also closes the base stream. + + + + + Flushes any pending data to the output destination. + + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a raw BSON array. + + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Represents settings for a BsonBinaryWriter. + + + + + Initializes a new instance of the BsonBinaryWriterSettings class. + + + + + Gets or sets the default BsonBinaryWriter settings. + + + + + Gets or sets the Encoding. + + + + + Gets or sets whether to fix the old binary data subtype on output. + + + + + Gets or sets the max document size. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Represents a pool of chunks. + + + + + Gets or sets the default chunk pool. + + + The default chunk pool. + + + + + Initializes a new instance of the class. + + The maximum number of chunks to keep in the pool. + The size of each chunk. + + + + Gets the chunk size. + + + The chunk size. + + + + + Gets the maximum size of the pool. + + + The maximum size of the pool. + + + + + Gets the size of the pool. + + + The size of the pool. + + + + + + + + + + + Represents a BSON reader for a BsonDocument. + + + + + Initializes a new instance of the BsonDocumentReader class. + + A BsonDocument. + + + + Initializes a new instance of the BsonDocumentReader class. + + A BsonDocument. + The reader settings. + + + + Closes the reader. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Creates a clone of the context. + + A clone of the context. + + + + Represents settings for a BsonDocumentReader. + + + + + Initializes a new instance of the BsonDocumentReaderSettings class. + + + + + Gets or sets the default settings for a BsonDocumentReader. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Represents a BSON writer to a BsonDocument. + + + + + Initializes a new instance of the BsonDocumentWriter class. + + The document to write to (normally starts out as an empty document). + + + + Initializes a new instance of the BsonDocumentWriter class. + + The document to write to (normally starts out as an empty document). + The settings. + + + + Gets the BsonDocument being written to. + + + + + + + + Closes the writer. + + + + + Flushes any pending data to the output destination. + + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes the name of an element to the writer. + + The name of the element. + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Represents settings for a BsonDocumentWriter. + + + + + Initializes a new instance of the BsonDocumentWriterSettings class. + + + + + Gets or sets the default BsonDocumentWriter settings. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Represents a BSON reader for some external format (see subclasses). + + + + + Initializes a new instance of the BsonReader class. + + The reader settings. + + + + Gets the current BsonType. + + + + + Gets the settings of the reader. + + + + + Gets the current state of the reader. + + + + + Gets the current name. + + + + + Gets whether the BsonReader has been disposed. + + + + + Closes the reader. + + + + + Disposes of any resources used by the reader. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Gets the current BsonType (calls ReadBsonType if necessary). + + The current BsonType. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + + + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + + + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name of the element. + + + + Reads the name of an element from the reader (using the provided name decoder). + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a raw BSON array. + + The raw BSON array. + + + + Reads a raw BSON document. + + The raw BSON document. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Throws an InvalidOperationException when the method called is not valid for the current ContextType. + + The name of the method. + The actual ContextType. + The valid ContextTypes. + + + + Throws an InvalidOperationException when the method called is not valid for the current state. + + The name of the method. + The valid states. + + + + Throws an ObjectDisposedException. + + + + + Verifies the current state and BsonType of the reader. + + The name of the method calling this one. + The required BSON type. + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Initializes a new instance of the BsonReaderBookmark class. + + The state of the reader. + The current BSON type. + The name of the current element. + + + + Gets the current state of the reader. + + + + + Gets the current BsonType; + + + + + Gets the name of the current element. + + + + + Represents settings for a BsonReader. + + + + + Initializes a new instance of the BsonReaderSettings class. + + + + + Gets whether the settings are frozen. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Throws an InvalidOperationException when an attempt is made to change a setting after the settings are frozen. + + + + + Represents the state of a reader. + + + + + The initial state. + + + + + The reader is positioned at the type of an element or value. + + + + + The reader is positioned at the name of an element. + + + + + The reader is positioned at a value. + + + + + The reader is positioned at a scope document. + + + + + The reader is positioned at the end of a document. + + + + + The reader is positioned at the end of an array. + + + + + The reader has finished reading a document. + + + + + The reader is closed. + + + + + Represents a Stream has additional methods to suport reading and writing BSON values. + + + + + Reads a BSON CString from the stream. + + The encoding. + A string. + + + + Reads a BSON CString from the stream. + + An ArraySegment containing the CString bytes (without the null byte). + + + + Reads a BSON Decimal128 from the stream. + + A . + + + + Reads a BSON double from the stream. + + A double. + + + + Reads a 32-bit BSON integer from the stream. + + An int. + + + + Reads a 64-bit BSON integer from the stream. + + A long. + + + + Reads a BSON ObjectId from the stream. + + An ObjectId. + + + + Reads a raw length prefixed slice from the stream. + + A slice. + + + + Reads a BSON string from the stream. + + The encoding. + A string. + + + + Skips over a BSON CString leaving the stream positioned just after the terminating null byte. + + + + + Writes a BSON CString to the stream. + + The value. + + + + Writes the CString bytes to the stream. + + The value. + + + + Writes a BSON Decimal128 to the stream. + + The value. + + + + Writes a BSON double to the stream. + + The value. + + + + Writes a 32-bit BSON integer to the stream. + + The value. + + + + Writes a 64-bit BSON integer to the stream. + + The value. + + + + Writes a BSON ObjectId to the stream. + + The value. + + + + Writes a BSON string to the stream. + + The value. + The encoding. + + + + A Stream that wraps another Stream while implementing the BsonStream abstract methods. + + + + + Initializes a new instance of the class. + + The stream. + if set to true [owns stream]. + stream + + + + Gets the base stream. + + + The base stream. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents extension methods on BsonStream. + + + + + Backpatches the size. + + The stream. + The start position. + + + + Reads the binary sub type. + + The stream. + The binary sub type. + + + + Reads a boolean from the stream. + + The stream. + A boolean. + + + + Reads the BSON type. + + The stream. + The BSON type. + + + + Reads bytes from the stream. + + The stream. + The buffer. + The offset. + The count. + + + + Reads bytes from the stream. + + The stream. + The count. + The bytes. + + + + Writes a binary sub type to the stream. + + The stream. + The value. + + + + Writes a boolean to the stream. + + The stream. + The value. + + + + Writes a BsonType to the stream. + + The stream. + The value. + + + + Writes bytes to the stream. + + The stream. + The buffer. + The offset. + The count. + + + + Writes a slice to the stream. + + The stream. + The slice. + + + + Represents a mapping from a set of UTF8 encoded strings to a set of elementName/value pairs, implemented as a trie. + + The type of the BsonTrie values. + + + + Initializes a new instance of the BsonTrie class. + + + + + Gets the root node. + + + + + Adds the specified elementName (after encoding as a UTF8 byte sequence) and value to the trie. + + The element name to add. + The value to add. The value can be null for reference types. + + + + Gets the node associated with the specified element name. + + The element name. + + When this method returns, contains the node associated with the specified element name, if the key is found; + otherwise, null. This parameter is passed uninitialized. + + True if the node was found; otherwise, false. + + + + Tries to get the node associated with a name read from a stream. + + The stream. + The node. + + True if the node was found. + If the node was found the stream is advanced over the name, otherwise + the stream is repositioned to the beginning of the name. + + + + + Gets the value associated with the specified element name. + + The element name. + + When this method returns, contains the value associated with the specified element name, if the key is found; + otherwise, the default value for the type of the value parameter. This parameter is passed uninitialized. + + True if the value was found; otherwise, false. + + + + Gets the value associated with the specified element name. + + The element name. + + When this method returns, contains the value associated with the specified element name, if the key is found; + otherwise, the default value for the type of the value parameter. This parameter is passed uninitialized. + + True if the value was found; otherwise, false. + + + + Represents a node in a BsonTrie. + + The type of the BsonTrie values. + + + + Gets whether this node has a value. + + + + + Gets the element name for this node. + + + + + Gets the value for this node. + + + + + Gets the child of this node for a given key byte. + + The key byte. + The child node if it exists; otherwise, null. + + + + Represents a BSON writer for some external format (see subclasses). + + + + + Initializes a new instance of the BsonWriter class. + + The writer settings. + + + + + + + Gets the current serialization depth. + + + + + Gets the settings of the writer. + + + + + Gets the current state of the writer. + + + + + Gets whether the BsonWriter has been disposed. + + + + + Gets the name of the element being written. + + + + + Closes the writer. + + + + + Disposes of any resources used by the writer. + + + + + Flushes any pending data to the output destination. + + + + + Pops the element name validator. + + The popped element validator. + + + + + + + Pushes the element name validator. + + The validator. + + + + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + + + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes the name of an element to the writer. + + The name of the element. + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a raw BSON array. + + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Throws an InvalidOperationException when the method called is not valid for the current ContextType. + + The name of the method. + The actual ContextType. + The valid ContextTypes. + + + + Throws an InvalidOperationException when the method called is not valid for the current state. + + The name of the method. + The valid states. + + + + Represents settings for a BsonWriter. + + + + + Initializes a new instance of the BsonWriterSettings class. + + + + + Gets whether the settings are frozen. + + + + + Gets or sets the max serialization depth allowed (used to detect circular references). + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Throws an InvalidOperationException when an attempt is made to change a setting after the settings are frozen. + + + + + Represents the state of a BsonWriter. + + + + + The initial state. + + + + + The writer is positioned to write a name. + + + + + The writer is positioned to write a value. + + + + + The writer is positioned to write a scope document (call WriteStartDocument to start writing the scope document). + + + + + The writer is done. + + + + + The writer is closed. + + + + + An IByteBuffer that is backed by a contiguous byte array. + + + + + Initializes a new instance of the class. + + The bytes. + Whether the buffer is read only. + + + + Initializes a new instance of the class. + + The bytes. + The length. + Whether the buffer is read only. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a chunk backed by a byte array. + + + + + Initializes a new instance of the class. + + The size. + + + + Initializes a new instance of the class. + + The bytes. + bytes + + + + + + + + + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Represents a factory for IBsonBuffers. + + + + + Creates a buffer of the specified length. Depending on the length, either a SingleChunkBuffer or a MultiChunkBuffer will be created. + + The chunk pool. + The minimum capacity. + A buffer with at least the minimum capacity. + + + + Represents a slice of a byte buffer. + + + + + Initializes a new instance of the class. + + The byte buffer. + The offset of the slice. + The length of the slice. + + + + Gets the buffer. + + + The buffer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Represents a Stream backed by an IByteBuffer. Similar to MemoryStream but backed by an IByteBuffer + instead of a byte array and also implements the BsonStream interface for higher performance BSON I/O. + + + + + Initializes a new instance of the class. + + The buffer. + Whether the stream owns the buffer and should Dispose it when done. + + + + Gets the buffer. + + + The buffer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Used by BsonReaders and BsonWriters to represent the current context. + + + + + The top level of a BSON document. + + + + + A (possibly embedded) BSON document. + + + + + A BSON array. + + + + + A JavaScriptWithScope BSON value. + + + + + The scope document of a JavaScriptWithScope BSON value. + + + + + A BsonWriter that appends elements to the end of a document. + + + + + + Initializes a new instance of the class. + + The wrapped writer. + The elements to append. + The settings configurator. + + + + + + + + + + Represents a class that has some helper methods for . + + + + + Represents a chunk of bytes. + + + + + Gets the bytes. + + + The bytes. + + + + + Returns a new reference to the same chunk that can be independently disposed. + + A new reference to the same chunk. + + + + Represents a source of chunks. + + + + + Gets the chunk. + + The chunk source is free to return a larger or smaller chunk than requested. + Size of the requested. + A chunk. + + + + Represents a BSON reader. + + + + + Gets the current BsonType. + + + + + Gets the current state of the reader. + + + + + Closes the reader. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Gets the current BsonType (calls ReadBsonType if necessary). + + The current BsonType. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Pops the settings. + + + + + Pushes new settings for the reader. + + The settings configurator. + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + Reads a BSON Decimal128 from the reader. + + A . + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a Guid from the reader. + + A Guid. + + + + Reads a Guid with the specified representation from the reader. + + The Guid representation. + A Guid. + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader (using the provided name decoder). + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a raw BSON array. + + The raw BSON array. + + + + Reads a raw BSON document. + + The raw BSON document. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Contains extensions methods for IBsonReader. + + + + + Positions the reader to an element by name. + + The reader. + The name of the element. + True if the element was found. + + + + Positions the reader to a string element by name. + + The reader. + The name of the element. + True if the element was found. + + + + Reads a BSON binary data element from the reader. + + The reader. + The name of the element. + A BsonBinaryData. + + + + Reads a BSON boolean element from the reader. + + The reader. + The name of the element. + A Boolean. + + + + Reads a BSON binary data element from the reader. + + The reader. + The name of the element. + A byte array. + + + + Reads a BSON DateTime element from the reader. + + The reader. + The name of the element. + The number of milliseconds since the Unix epoch. + + + + Reads a BSON Decimal128 element from the reader. + + The reader. + The name of the element. + A . + + + + Reads a BSON Double element from the reader. + + The reader. + The name of the element. + A Double. + + + + Reads a BSON Int32 element from the reader. + + The reader. + The name of the element. + An Int32. + + + + Reads a BSON Int64 element from the reader. + + The reader. + The name of the element. + An Int64. + + + + Reads a BSON JavaScript element from the reader. + + The reader. + The name of the element. + A string. + + + + Reads a BSON JavaScript with scope element from the reader (call ReadStartDocument next to read the scope). + + The reader. + The name of the element. + A string. + + + + Reads a BSON MaxKey element from the reader. + + The reader. + The name of the element. + + + + Reads a BSON MinKey element from the reader. + + The reader. + The name of the element. + + + + Reads the name of an element from the reader. + + The reader. + The name of the element. + + + + Reads the name of an element from the reader. + + The reader. + The name of the element. + + + + Reads a BSON null element from the reader. + + The reader. + The name of the element. + + + + Reads a BSON ObjectId element from the reader. + + The reader. + The name of the element. + An ObjectId. + + + + Reads a raw BSON array. + + The reader. + The name. + + The raw BSON array. + + + + + Reads a raw BSON document. + + The reader. + The name. + The raw BSON document. + + + + Reads a BSON regular expression element from the reader. + + The reader. + The name of the element. + A BsonRegularExpression. + + + + Reads a BSON string element from the reader. + + The reader. + The name of the element. + A String. + + + + Reads a BSON symbol element from the reader. + + The reader. + The name of the element. + A string. + + + + Reads a BSON timestamp element from the reader. + + The combined timestamp/increment. + The reader. + The name of the element. + + + + Reads a BSON undefined element from the reader. + + The reader. + The name of the element. + + + + Represents a BSON writer. + + + + + + Gets the position. + Not all writers are able to report the position. Those that can't simply return zero. + + + The position. + + + + + Gets the current serialization depth. + + + + + Gets the settings of the writer. + + + + + Gets the current state of the writer. + + + + + Closes the writer. + + + + + Flushes any pending data to the output destination. + + + + + Pops the element name validator. + + The popped element validator. + + + + Pops the settings. + + + + + Pushes the element name validator. + + The validator. + + + + Pushes new settings for the writer. + + The settings configurator. + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + Writes a BSON Decimal128 to the writer. + + The value. + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a Guid in Standard representation to the writer. + + The Guid value. + + + + Writes a Guid in the specified representation to the writer. + + The Guid value. + The GuidRepresentation. + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes the name of an element to the writer. + + The name of the element. + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a raw BSON array. + + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Contains extension methods for IBsonWriter. + + + + + Writes a BSON binary data element to the writer. + + The writer. + The name of the element. + The binary data. + + + + Writes a BSON Boolean element to the writer. + + The writer. + The name of the element. + The Boolean value. + + + + Writes a BSON binary data element to the writer. + + The writer. + The name of the element. + The bytes. + + + + Writes a BSON DateTime element to the writer. + + The writer. + The name of the element. + The number of milliseconds since the Unix epoch. + + + + Writes a BSON Decimal128 element to the writer. + + The writer. + The name of the element. + The value. + + + + Writes a BSON Double element to the writer. + + The writer. + The name of the element. + The Double value. + + + + Writes a BSON Int32 element to the writer. + + The writer. + The name of the element. + The Int32 value. + + + + Writes a BSON Int64 element to the writer. + + The writer. + The name of the element. + The Int64 value. + + + + Writes a BSON JavaScript element to the writer. + + The writer. + The name of the element. + The JavaScript code. + + + + Writes a BSON JavaScript element to the writer (call WriteStartDocument to start writing the scope). + + The writer. + The name of the element. + The JavaScript code. + + + + Writes a BSON MaxKey element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON MinKey element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON null element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON ObjectId element to the writer. + + The writer. + The name of the element. + The ObjectId. + + + + Writes a raw BSON array. + + The writer. + The name. + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The writer. + The name. + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression element to the writer. + + The writer. + The name of the element. + A BsonRegularExpression. + + + + Writes the start of a BSON array element to the writer. + + The writer. + The name of the element. + + + + Writes the start of a BSON document element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON String element to the writer. + + The writer. + The name of the element. + The String value. + + + + Writes a BSON Symbol element to the writer. + + The writer. + The name of the element. + The symbol. + + + + Writes a BSON timestamp element to the writer. + + The writer. + The name of the element. + The combined timestamp/increment value. + + + + Writes a BSON undefined element to the writer. + + The writer. + The name of the element. + + + + Represents a byte buffer (backed by various means depending on the implementation). + + + + + Gets the capacity. + + + The capacity. + + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + Gets or sets the length. + + + The length. + + + + + Access the backing bytes directly. The returned ArraySegment will point to the desired position and contain + as many bytes as possible up to the next chunk boundary (if any). If the returned ArraySegment does not + contain enough bytes for your needs you will have to call ReadBytes instead. + + The position. + + An ArraySegment pointing directly to the backing bytes for the position. + + + + + Clears the specified bytes. + + The position. + The count. + + + + Ensure that the buffer has a minimum capacity. Depending on the buffer allocation strategy + calling this method may result in a higher capacity than the minimum (but never lower). + + The minimum capacity. + + + + Gets a slice of this buffer. + + The position of the start of the slice. + The length of the slice. + A slice of this buffer. + + + + Makes this buffer read only. + + + + + Gets a byte. + + The position. + A byte. + + + + Gets bytes. + + The position. + The destination. + The destination offset. + The count. + + + + Sets a byte. + + The position. + The value. + + + + Sets bytes. + + The position. + The bytes. + The offset. + The count. + + + + Represents an element name validator. Used by BsonWriters when WriteName is called + to determine if the element name is valid. + + + + + Gets the validator to use for child content (a nested document or array). + + The name of the element. + The validator to use for child content. + + + + Determines whether the element name is valid. + + The name of the element. + True if the element name is valid. + + + + Represents a name decoder. + + + + + Decodes the name. + + The stream. + The encoding. + + The name. + + + + + Informs the decoder of an already decoded name (so the decoder can change state if necessary). + + The name. + + + + Represents a source of chunks optimized for input buffers. + + + + + Initializes a new instance of the class. + + The chunk source. + The maximum size of an unpooled chunk. + The minimum size of a chunk. + The maximum size of a chunk. + + + + Gets the base source. + + + The base source. + + + + + Gets the maximum size of a chunk. + + + The maximum size of a chunk. + + + + + Gets the minimum size of a chunk. + + + The minimum size of a chunk. + + + + + Gets the maximum size of an unpooled chunk. + + + The maximum size of an unpooled chunk. + + + + + + + + + + + Represents the effective CopyTo method. + + + + + Copy the current stream to the destination without making unnecessary copies of the bytes. + + The destination stream. + + + + Represents a wrapper around a TextReader to provide some buffering functionality. + + + + + Initializes a new instance of the class. + + The json. + + + + Initializes a new instance of the class. + + The reader. + + + + Gets or sets the current position. + + + + + Gets a snippet of a maximum length from the buffer (usually to include in an error message). + + The start. + The maximum length. + The snippet. + + + + Gets a substring from the buffer. + + The start. + The count. + The substring. + + + + Reads the next character from the text reader and advances the character position by one character. + + + The next character from the text reader, or -1 if no more characters are available. The default implementation returns -1. + + + + + Resets the buffer (clears everything up to the current position). + + + + + Unreads one character (moving the current Position back one position). + + The character. + + + + Encodes and decodes scalar values to JSON compatible strings. + + + + + Converts a string to a Boolean. + + The value. + A Boolean. + + + + Converts a string to a DateTime. + + The value. + A DateTime. + + + + Converts a string to a DateTimeOffset. + + The value. + A DateTimeOffset. + + + + Converts a string to a Decimal. + + The value. + A Decimal. + + + + Converts a string to a . + + The value. + A . + + + + Converts a string to a Double. + + The value. + A Double. + + + + Converts a string to an Int16. + + The value. + An Int16. + + + + Converts a string to an Int32. + + The value. + An Int32. + + + + Converts a string to an Int64. + + The value. + An Int64. + + + + Converts a string to a Single. + + The value. + A Single. + + + + Converts a Boolean to a string. + + The value. + A string. + + + + Converts a DateTime to a string. + + The value. + A string. + + + + Converts a DateTimeOffset to a string. + + The value. + A string. + + + + Converts a Decimal to a string. + + The value. + A string. + + + + Converts a to a string. + + The value. + A string. + + + + Converts a Double to a string. + + The value. + A string. + + + + Converts a Single to a string. + + The value. + A string. + + + + Converts an Int32 to a string. + + The value. + A string. + + + + Converts an Int64 to a string. + + The value. + A string. + + + + Converts an Int16 to a string. + + The value. + A string. + + + + Converts a UInt32 to a string. + + The value. + A string. + + + + Converts a UInt64 to a string. + + The value. + A string. + + + + Converts a UInt16 to a string. + + The value. + A string. + + + + Converts a string to a UInt16. + + The value. + A UInt16. + + + + Converts a string to a UInt32. + + The value. + A UInt32. + + + + Converts a string to a UInt64. + + The value. + A UInt64. + + + + Represents the output mode of a JsonWriter. + + + + + Use a format that can be pasted in to the MongoDB shell. + + + + + Output canonical extended JSON. + + + + + Output relaxed extended JSON. + + + + + Represents a BSON reader for a JSON string. + + + + + Initializes a new instance of the JsonReader class. + + The JSON string. + + + + Initializes a new instance of the JsonReader class. + + The JSON string. + The reader settings. + + + + Initializes a new instance of the JsonReader class. + + The TextReader. + + + + Initializes a new instance of the JsonReader class. + + The TextReader. + The reader settings. + + + + Closes the reader. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + + + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Creates a clone of the context. + + A clone of the context. + + + + Represents settings for a JsonReader. + + + + + Initializes a new instance of the JsonReaderSettings class. + + + + + Gets or sets the default settings for a JsonReader. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + A static class that represents a JSON scanner. + + + + + Gets the next JsonToken from a JsonBuffer. + + The buffer. + The next token. + + + + Represents a JSON token type. + + + + + An invalid token. + + + + + A begin array token (a '['). + + + + + A begin object token (a '{'). + + + + + An end array token (a ']'). + + + + + A left parenthesis (a '('). + + + + + A right parenthesis (a ')'). + + + + + An end object token (a '}'). + + + + + A colon token (a ':'). + + + + + A comma token (a ','). + + + + + A DateTime token. + + + + + A Double token. + + + + + An Int32 token. + + + + + And Int64 token. + + + + + An ObjectId token. + + + + + A regular expression token. + + + + + A string token. + + + + + An unquoted string token. + + + + + An end of file token. + + + + + Represents a JSON token. + + + + + Initializes a new instance of the JsonToken class. + + The token type. + The lexeme. + + + + Gets the token type. + + + + + Gets the lexeme. + + + + + Gets the value of a DateTime token. + + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int64 token. + + + + + Gets a value indicating whether this token is number. + + + true if this token is number; otherwise, false. + + + + + Gets the value of an ObjectId token. + + + + + Gets the value of a regular expression token. + + + + + Gets the value of a string token. + + + + + Represents a DateTime JSON token. + + + + + Initializes a new instance of the DateTimeJsonToken class. + + The lexeme. + The DateTime value. + + + + Gets the value of a DateTime token. + + + + + Represents a Double JSON token. + + + + + Initializes a new instance of the DoubleJsonToken class. + + The lexeme. + The Double value. + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int64 token. + + + + + Gets a value indicating whether this token is number. + + + true if this token is number; otherwise, false. + + + + + Represents an Int32 JSON token. + + + + + Initializes a new instance of the Int32JsonToken class. + + The lexeme. + The Int32 value. + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int32 token as an Int64. + + + + + Gets a value indicating whether this token is number. + + + true if this token is number; otherwise, false. + + + + + Represents an Int64 JSON token. + + + + + Initializes a new instance of the Int64JsonToken class. + + The lexeme. + The Int64 value. + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int64 token. + + + + + Gets a value indicating whether this token is number. + + + true if this token is number; otherwise, false. + + + + + Represents an ObjectId JSON token. + + + + + Initializes a new instance of the ObjectIdJsonToken class. + + The lexeme. + The ObjectId value. + + + + Gets the value of an ObjectId token. + + + + + Represents a regular expression JSON token. + + + + + Initializes a new instance of the RegularExpressionJsonToken class. + + The lexeme. + The BsonRegularExpression value. + + + + Gets the value of a regular expression token. + + + + + Represents a String JSON token. + + + + + Initializes a new instance of the StringJsonToken class. + + The token type. + The lexeme. + The String value. + + + + Gets the value of an String token. + + + + + Represents a BSON writer to a TextWriter (in JSON format). + + + + + Initializes a new instance of the JsonWriter class. + + A TextWriter. + + + + Initializes a new instance of the JsonWriter class. + + A TextWriter. + Optional JsonWriter settings. + + + + Gets the base TextWriter. + + + The base TextWriter. + + + + + + + + Gets the settings of the writer. + + + + + Closes the writer. + + + + + Flushes any pending data to the output destination. + + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Represents settings for a JsonWriter. + + + + + Initializes a new instance of the JsonWriterSettings class. + + + + + Gets or sets the default JsonWriterSettings. + + + + + Gets or sets whether to indent the output. + + + + + Gets or sets the indent characters. + + + + + Gets or sets the new line characters. + + + + + Gets or sets the output mode. + + + + + Gets or sets the shell version (used with OutputMode Shell). + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + An IByteBuffer that is backed by multiple chunks. + + + + + Initializes a new instance of the class. + + The chunk pool. + chunkPool + + + + Initializes a new instance of the class. + + The chunks. + The length. + Whether the buffer is read only. + chunks + + + + + + + Gets the chunk source. + + + The chunk source. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents an element name validator that does no validation. + + + + + Gets the instance. + + + The instance. + + + + + Gets the validator to use for child content (a nested document or array). + + The name of the element. + The validator to use for child content. + + + + Determines whether the element name is valid. + + The name of the element. + True if the element name is valid. + + + + Represents a source of chunks optimized for output buffers. + + + + + Initializes a new instance of the class. + + The chunk source. + The size of the initial unpooled chunk. + The minimum size of a chunk. + The maximum size of a chunk. + + + + Gets the base source. + + + The base source. + + + + + Gets the initial unpooled chunk size. + + + The initial unpooled chunk size. + + + + + Gets the maximum size of a chunk. + + + The maximum size of a chunk. + + + + + Gets the minimum size of a chunk. + + + The minimum size of a chunk. + + + + + + + + + + + An IByteBuffer that is backed by a single chunk. + + + + + Initializes a new instance of the class. + + The chuns. + The length. + Whether the buffer is read only. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a class that provides reusable buffer per thread. + Use this technique ONLY when: + 1. Buffer is not shared across multiple threads. + 2. No nested methods invocations use the same buffer. + Advised to limit the usage scope to a single method. + + + + + Represents a Trie-based name decoder that also provides a value. + + The type of the value. + + + + Initializes a new instance of the class. + + The trie. + + + + Gets a value indicating whether this is found. + + + true if found; otherwise, false. + + + + + Gets the value. + + + The value. + + + + + Reads the name. + + The stream. + The encoding. + + The name. + + + + + Informs the decoder of an already decoded name (so the decoder can change state if necessary). + + The name. + + + + Represents a singleton instance of a strict UTF8Encoding. + + + + + Gets the lenient instance. + + + + + Gets the strict instance. + + + + + Represents a class that has some helper methods for decoding UTF8 strings. + + + + + Decodes a UTF8 string. + + The bytes. + The index. + The count. + The encoding. + The decoded string. + + + + Represents a UTF8 name decoder. + + + + + Gets the instance. + + + The instance. + + + + + Decodes the name. + + The stream. + The encoding. + + The name. + + + + + Informs the decoder of an already decoded name (so the decoder can change state if necessary). + + The name. + + + + An abstract base class for an IBsonWriter that wraps another IBsonWriter. + + + + + + Initializes a new instance of the class. + + The wrapped writer. + + + + + + + + + + + + + + + + Gets the wrapped writer. + + + The wrapped writer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Throws if disposed. + + + + + + Represents a binary vector. + + + + + Initializes a new instance of the class. + + The vector data. + Type of the vector data. + + + + Gets the vector data type. + + + + + Gets the vector data. + + + + + Represents a vector of values. + + + + + Initializes a new instance of the class. + + + + + Represents a vector of values. + + + + + Initializes a new instance of the class. + + + + + Represents a vector of 0/1 values. + The vector values are packed into groups of 8 (a byte). + + + + + Initializes a new instance of the class. + + + + + Gets the bits padding. + + + + + Represents the data type of a binary Vector. + + + + + + Data type is float32. + + + + + Data type is int8. + + + + + Data type is packed bit. + + + + + Represents a BSON array. + + + + + Initializes a new instance of the BsonArray class. + + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + The initial capacity of the array. + + + + Compares two BsonArray values. + + The first BsonArray. + The other BsonArray. + True if the two BsonArray values are not equal according to ==. + + + + Compares two BsonArray values. + + The first BsonArray. + The other BsonArray. + True if the two BsonArray values are equal according to ==. + + + + Gets the BsonType of this BsonValue. + + + + + Gets or sets the total number of elements the internal data structure can hold without resizing. + + + + + Gets the count of array elements. + + + + + Gets whether the array is read-only. + + + + + Gets the array elements. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Creates a new BsonArray. + + A value to be mapped to a BsonArray. + A BsonArray or null. + + + + Adds an element to the array. + + The value to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Creates a shallow clone of the array (see also DeepClone). + + A shallow clone of the array. + + + + Clears the array. + + + + + Compares the array to another array. + + The other array. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other. + + + + Compares the array to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other BsonValue. + + + + Tests whether the array contains a value. + + The value to test for. + True if the array contains the value. + + + + Copies elements from this array to another array. + + The other array. + The zero based index of the other array at which to start copying. + + + + Creates a deep clone of the array (see also Clone). + + A deep clone of the array. + + + + Compares this array to another array. + + The other array. + True if the two arrays are equal. + + + + Compares this BsonArray to another object. + + The other object. + True if the other object is a BsonArray and equal to this one. + + + + Gets an enumerator that can enumerate the elements of the array. + + An enumerator. + + + + Gets the hash code. + + The hash code. + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The number of elements to search. + The zero based index of the value (or -1 if not found). + + + + Inserts a new value into the array. + + The zero based index at which to insert the new value. + The new value. + + + + Removes the first occurrence of a value from the array. + + The value to remove. + True if the value was removed. + + + + Removes an element from the array. + + The zero based index of the element to remove. + + + + Converts the BsonArray to an array of BsonValues. + + An array of BsonValues. + + + + Converts the BsonArray to a list of BsonValues. + + A list of BsonValues. + + + + Returns a string representation of the array. + + A string representation of the array. + + + + Represents BSON binary data. + + + + + Initializes a new instance of the BsonBinaryData class. + + The binary data. + + + + Initializes a new instance of the BsonBinaryData class. + + The binary data. + The binary data subtype. + + + + Initializes a new instance of the BsonBinaryData class. + + A Guid. + The representation for Guids. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the binary data. + + + + + Gets the binary data subtype. + + + + + Converts a byte array to a BsonBinaryData. + + A byte array. + A BsonBinaryData. + + + + Compares two BsonBinaryData values. + + The first BsonBinaryData. + The other BsonBinaryData. + True if the two BsonBinaryData values are not equal according to ==. + + + + Compares two BsonBinaryData values. + + The first BsonBinaryData. + The other BsonBinaryData. + True if the two BsonBinaryData values are equal according to ==. + + + + Creates a new BsonBinaryData. + + An object to be mapped to a BsonBinaryData. + A BsonBinaryData or null. + + + + Compares this BsonBinaryData to another BsonBinaryData. + + The other BsonBinaryData. + A 32-bit signed integer that indicates whether this BsonBinaryData is less than, equal to, or greather than the other. + + + + Compares the BsonBinaryData to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonBinaryData is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonBinaryData to another BsonBinaryData. + + The other BsonBinaryData. + True if the two BsonBinaryData values are equal. + + + + Compares this BsonBinaryData to another object. + + The other object. + True if the other object is a BsonBinaryData and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonBinaryData to a Guid. + + A Guid. + + + + Converts this BsonBinaryData to a Guid. + + The representation for Guids. + A Guid. + + + + Returns a string representation of the binary data. + + A string representation of the binary data. + + + + Represents the binary data subtype of a BsonBinaryData. + + + + + Binary data. + + + + + A function. + + + + + Obsolete binary data subtype (use Binary instead). + + + + + A UUID in a driver dependent legacy byte order. + + + + + A UUID in standard network byte order. + + + + + An MD5 hash. + + + + + Encrypted binary data. + + + + + Column data. + + + + + Sensitive data. + + + + + Vector data. + + + + + User defined binary data. + + + + + Represents a BSON boolean value. + + + + + Initializes a new instance of the BsonBoolean class. + + The value. + + + + Gets the instance of BsonBoolean that represents false. + + + + + Gets the instance of BsonBoolean that represents true. + + + + + Gets the BsonType of this BsonValue. + + + + + Gets the value of this BsonBoolean. + + + + + Converts a bool to a BsonBoolean. + + A bool. + A BsonBoolean. + + + + Compares two BsonBoolean values. + + The first BsonBoolean. + The other BsonBoolean. + True if the two BsonBoolean values are not equal according to ==. + + + + Compares two BsonBoolean values. + + The first BsonBoolean. + The other BsonBoolean. + True if the two BsonBoolean values are equal according to ==. + + + + Returns one of the two possible BsonBoolean values. + + An object to be mapped to a BsonBoolean. + A BsonBoolean or null. + + + + Compares this BsonBoolean to another BsonBoolean. + + The other BsonBoolean. + A 32-bit signed integer that indicates whether this BsonBoolean is less than, equal to, or greather than the other. + + + + Compares the BsonBoolean to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonBoolean is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonBoolean to another BsonBoolean. + + The other BsonBoolean. + True if the two BsonBoolean values are equal. + + + + Compares this BsonBoolean to another object. + + The other object. + True if the other object is a BsonBoolean and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a BSON DateTime value. + + + + + Initializes a new instance of the BsonDateTime class. + + A DateTime. + + + + Initializes a new instance of the BsonDateTime class. + + Milliseconds since Unix Epoch. + + + + Gets the BsonType of this BsonValue. + + + + + Gets whether this BsonDateTime is a valid .NET DateTime. + + + + + Gets the number of milliseconds since the Unix Epoch. + + + + + Converts a DateTime to a BsonDateTime. + + A DateTime. + A BsonDateTime. + + + + Compares two BsonDateTime values. + + The first BsonDateTime. + The other BsonDateTime. + True if the two BsonDateTime values are not equal according to ==. + + + + Compares two BsonDateTime values. + + The first BsonDateTime. + The other BsonDateTime. + True if the two BsonDateTime values are equal according to ==. + + + + Creates a new BsonDateTime. + + An object to be mapped to a BsonDateTime. + A BsonDateTime or null. + + + + Compares this BsonDateTime to another BsonDateTime. + + The other BsonDateTime. + A 32-bit signed integer that indicates whether this BsonDateTime is less than, equal to, or greather than the other. + + + + Compares the BsonDateTime to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonDateTime is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonDateTime to another BsonDateTime. + + The other BsonDateTime. + True if the two BsonDateTime values are equal. + + + + Compares this BsonDateTime to another object. + + The other object. + True if the other object is a BsonDateTime and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a DateTime in local time. + + A DateTime. + + + + Converts this BsonValue to a DateTime? in local time. + + A DateTime?. + + + + Converts this BsonValue to a DateTime? in UTC. + + A DateTime?. + + + + Converts this BsonValue to a DateTime in UTC. + + A DateTime. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + + + + Represents a BSON Decimal128 value. + + + + + + Initializes a new instance of the class. + + The value. + + + + + + + Gets the value. + + + + + Converts a Decimal128 to a BsonDecimal128. + + A Decimal128. + A BsonDecimal128. + + + + Compares two BsonDecimal128 values. + + The first BsonDecimal128. + The other BsonDecimal128. + True if the two BsonDecimal128 values are not equal according to ==. + + + + Compares two BsonDecimal128 values. + + The first BsonDecimal128. + The other BsonDecimal128. + True if the two BsonDecimal128 values are equal according to ==. + + + + Creates a new instance of the BsonDecimal128 class. + + An object to be mapped to a BsonDecimal128. + A BsonDecimal128. + + + + Compares this BsonDecimal128 to another BsonDecimal128. + + The other BsonDecimal128. + A 32-bit signed integer that indicates whether this BsonDecimal128 is less than, equal to, or greather than the other. + + + + + + + Compares this BsonDecimal128 to another BsonDecimal128. + + The other BsonDecimal128. + True if the two BsonDecimal128 values are equal. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a BSON document. + + + + + Initializes a new instance of the BsonDocument class. + + + + + Initializes a new instance of the BsonDocument class specifying whether duplicate element names are allowed + (allowing duplicate element names is not recommended). + + Whether duplicate element names are allowed. + + + + Initializes a new instance of the BsonDocument class and adds one element. + + An element to add to the document. + + + + Initializes a new instance of the BsonDocument by coping elements from another BsonDocument. + + The document whose elements will be copied + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a list of elements. + + A list of elements to add to the document. + + + + Initializes a new instance of the BsonDocument class and adds one or more elements. + + One or more elements to add to the document. + + + + Initializes a new instance of the BsonDocument class and creates and adds a new element. + + The name of the element to add to the document. + The value of the element to add to the document. + + + + Compares two BsonDocument values. + + The first BsonDocument. + The other BsonDocument. + True if the two BsonDocument values are not equal according to ==. + + + + Compares two BsonDocument values. + + The first BsonDocument. + The other BsonDocument. + True if the two BsonDocument values are equal according to ==. + + + + Gets or sets whether to allow duplicate names (allowing duplicate names is not recommended). + + + + + Gets the BsonType of this BsonValue. + + + + + Gets the number of elements. + + + + + Gets the elements. + + + + + Gets the element names. + + + + + Gets the values. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Gets or sets a value by name. + + The name. + The value. + + + + Creates a new BsonDocument by mapping an object to a BsonDocument. + + The object to be mapped to a BsonDocument. + A BsonDocument. + + + + Parses a JSON string and returns a BsonDocument. + + The JSON string. + A BsonDocument. + + + + Tries to parse a JSON string and returns a value indicating whether it succeeded or failed. + + The JSON string. + The result. + Whether it succeeded or failed. + + + + Adds an element to the document. + + The element to add. + The document (so method calls can be chained). + + + + Creates and adds an element to the document. + + The name of the element. + The value of the element. + The document (so method calls can be chained). + + + + Creates and adds an element to the document, but only if the condition is true. + + The name of the element. + The value of the element. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Creates and adds an element to the document, but only if the condition is true. + If the condition is false the value factory is not called at all. + + The name of the element. + A delegate called to compute the value of the element if condition is true. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Clears the document (removes all elements). + + + + + Creates a shallow clone of the document (see also DeepClone). + + A shallow clone of the document. + + + + Compares this document to another document. + + The other document. + A 32-bit signed integer that indicates whether this document is less than, equal to, or greater than the other. + + + + Compares the BsonDocument to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonDocument is less than, equal to, or greater than the other BsonValue. + + + + Tests whether the document contains an element with the specified name. + + The name of the element to look for. + True if the document contains an element with the specified name. + + + + Tests whether the document contains an element with the specified value. + + The value of the element to look for. + True if the document contains an element with the specified value. + + + + Creates a deep clone of the document (see also Clone). + + A deep clone of the document. + + + + Compares this document to another document. + + The other document. + True if the two documents are equal. + + + + Compares this BsonDocument to another object. + + The other object. + True if the other object is a BsonDocument and equal to this one. + + + + Gets an element of this document. + + The zero based index of the element. + The element. + + + + Gets an element of this document. + + The name of the element. + A BsonElement. + + + + Gets an enumerator that can be used to enumerate the elements of this document. + + An enumerator. + + + + Gets the hash code. + + The hash code. + + + + Gets the value of an element. + + The zero based index of the element. + The value of the element. + + + + Gets the value of an element. + + The name of the element. + The value of the element. + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value returned if the element is not found. + The value of the element or the default value if the element is not found. + + + + Gets the index of an element. + + The name of the element. + The index of the element, or -1 if the element is not found. + + + + Inserts a new element at a specified position. + + The position of the new element. + The element. + + + + Merges another document into this one. Existing elements are not overwritten. + + The other document. + The document (so method calls can be chained). + + + + Merges another document into this one, specifying whether existing elements are overwritten. + + The other document. + Whether to overwrite existing elements. + The document (so method calls can be chained). + + + + Removes an element from this document (if duplicate element names are allowed + then all elements with this name will be removed). + + The name of the element to remove. + + + + Removes an element from this document. + + The zero based index of the element to remove. + + + + Removes an element from this document. + + The element to remove. + + + + Sets the value of an element. + + The zero based index of the element whose value is to be set. + The new value. + The document (so method calls can be chained). + + + + Sets the value of an element (an element will be added if no element with this name is found). + + The name of the element whose value is to be set. + The new value. + The document (so method calls can be chained). + + + + Sets an element of the document (replacing the existing element at that position). + + The zero based index of the element to replace. + The new element. + The document. + + + + Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). + + The new element. + The document. + + + + Converts the BsonDocument to a Dictionary<string, object>. + + A dictionary. + + + + Converts the BsonDocument to a Hashtable. + + A hashtable. + + + + Returns a string representation of the document. + + A string representation of the document. + + + + Tries to get an element of this document. + + The name of the element. + The element. + True if an element with that name was found. + + + + Tries to get the value of an element of this document. + + The name of the element. + The value of the element. + True if an element with that name was found. + + + + Represents a BsonDocument wrapper. + + + + + Initializes a new instance of the class. + + The value. + + + + Initializes a new instance of the class. + + The value. + The serializer. + + + + Gets the serializer. + + + The serializer. + + + + + Gets the wrapped value. + + + + + Creates a new instance of the BsonDocumentWrapper class. + + The nominal type of the wrapped object. + The wrapped object. + A BsonDocumentWrapper. + + + + Creates a new instance of the BsonDocumentWrapper class. + + The nominal type of the wrapped object. + The wrapped object. + A BsonDocumentWrapper. + + + + Creates a list of new instances of the BsonDocumentWrapper class. + + The nominal type of the wrapped objects. + A list of wrapped objects. + A list of BsonDocumentWrappers. + + + + Creates a list of new instances of the BsonDocumentWrapper class. + + The nominal type of the wrapped object. + A list of wrapped objects. + A list of BsonDocumentWrappers. + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Materializes the BsonDocument. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Represents a BSON double value. + + + + + + Initializes a new instance of the BsonDouble class. + + The value. + + + + + + + Gets the value of this BsonDouble. + + + + + Converts a double to a BsonDouble. + + A double. + A BsonDouble. + + + + Compares two BsonDouble values. + + The first BsonDouble. + The other BsonDouble. + True if the two BsonDouble values are not equal according to ==. + + + + Compares two BsonDouble values. + + The first BsonDouble. + The other BsonDouble. + True if the two BsonDouble values are equal according to ==. + + + + Creates a new instance of the BsonDouble class. + + An object to be mapped to a BsonDouble. + A BsonDouble. + + + + Compares this BsonDouble to another BsonDouble. + + The other BsonDouble. + A 32-bit signed integer that indicates whether this BsonDouble is less than, equal to, or greather than the other. + + + + + + + Compares this BsonDouble to another BsonDouble. + + The other BsonDouble. + True if the two BsonDouble values are equal. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a BSON element. + + + + + Initializes a new instance of the BsonElement class. + + The name of the element. + The value of the element. + + + + Gets the name of the element. + + + + + Gets or sets the value of the element. + + + + + Compares two BsonElements. + + The first BsonElement. + The other BsonElement. + True if the two BsonElements are equal (or both null). + + + + Compares two BsonElements. + + The first BsonElement. + The other BsonElement. + True if the two BsonElements are not equal (or one is null and the other is not). + + + + Creates a shallow clone of the element (see also DeepClone). + + A shallow clone of the element. + + + + Creates a deep clone of the element (see also Clone). + + A deep clone of the element. + + + + Compares this BsonElement to another BsonElement. + + The other BsonElement. + A 32-bit signed integer that indicates whether this BsonElement is less than, equal to, or greather than the other. + + + + Compares this BsonElement to another BsonElement. + + The other BsonElement. + True if the two BsonElement values are equal. + + + + Compares this BsonElement to another object. + + The other object. + True if the other object is a BsonElement and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON int value. + + + + + Creates a new instance of the BsonInt32 class. + + The value. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the value of this BsonInt32. + + + + + Converts an int to a BsonInt32. + + An int. + A BsonInt32. + + + + Compares two BsonInt32 values. + + The first BsonInt32. + The other BsonInt32. + True if the two BsonInt32 values are not equal according to ==. + + + + Compares two BsonInt32 values. + + The first BsonInt32. + The other BsonInt32. + True if the two BsonInt32 values are equal according to ==. + + + + Creates a new BsonInt32. + + An object to be mapped to a BsonInt32. + A BsonInt32 or null. + + + + Compares this BsonInt32 to another BsonInt32. + + The other BsonInt32. + A 32-bit signed integer that indicates whether this BsonInt32 is less than, equal to, or greather than the other. + + + + Compares the BsonInt32 to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonInt32 is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonInt32 to another BsonInt32. + + The other BsonInt32. + True if the two BsonInt32 values are equal. + + + + Compares this BsonInt32 to another object. + + The other object. + True if the other object is a BsonInt32 and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + + + + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int32. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compares this BsonInt32 against another BsonValue. + + The other BsonValue. + True if this BsonInt32 and the other BsonValue are equal according to ==. + + + + Represents a BSON long value. + + + + + Initializes a new instance of the BsonInt64 class. + + The value. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the value of this BsonInt64. + + + + + Converts a long to a BsonInt64. + + A long. + A BsonInt64. + + + + Compares two BsonInt64 values. + + The first BsonInt64. + The other BsonInt64. + True if the two BsonInt64 values are not equal according to ==. + + + + Compares two BsonInt64 values. + + The first BsonInt64. + The other BsonInt64. + True if the two BsonInt64 values are equal according to ==. + + + + Creates a new BsonInt64. + + An object to be mapped to a BsonInt64. + A BsonInt64 or null. + + + + Compares this BsonInt64 to another BsonInt64. + + The other BsonInt64. + A 32-bit signed integer that indicates whether this BsonInt64 is less than, equal to, or greather than the other. + + + + Compares the BsonInt64 to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonInt64 is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonInt64 to another BsonInt64. + + The other BsonInt64. + True if the two BsonInt64 values are equal. + + + + Compares this BsonInt64 to another object. + + The other object. + True if the other object is a BsonInt64 and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + + + + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int32. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compares this BsonInt32 against another BsonValue. + + The other BsonValue. + True if this BsonInt64 and the other BsonValue are equal according to ==. + + + + Represents a BSON JavaScript value. + + + + + Initializes a new instance of the BsonJavaScript class. + + The JavaScript code. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the JavaScript code. + + + + + Compares two BsonJavaScript values. + + The first BsonJavaScript. + The other BsonJavaScript. + True if the two BsonJavaScript values are not equal according to ==. + + + + Compares two BsonJavaScript values. + + The first BsonJavaScript. + The other BsonJavaScript. + True if the two BsonJavaScript values are equal according to ==. + + + + Converts a string to a BsonJavaScript. + + A string. + A BsonJavaScript. + + + + Creates a new BsonJavaScript. + + An object to be mapped to a BsonJavaScript. + A BsonJavaScript or null. + + + + Compares this BsonJavaScript to another BsonJavaScript. + + The other BsonJavaScript. + A 32-bit signed integer that indicates whether this BsonJavaScript is less than, equal to, or greather than the other. + + + + Compares the BsonJavaScript to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonJavaScript is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonJavaScript to another BsonJavaScript. + + The other BsonJavaScript. + True if the two BsonJavaScript values are equal. + + + + Compares this BsonJavaScript to another object. + + The other object. + True if the other object is a BsonJavaScript and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON JavaScript value with a scope. + + + + + Initializes a new instance of the BsonJavaScriptWithScope class. + + The JavaScript code. + A scope (a set of variables with values). + + + + Compares two BsonJavaScriptWithScope values. + + The first BsonJavaScriptWithScope. + The other BsonJavaScriptWithScope. + True if the two BsonJavaScriptWithScope values are not equal according to ==. + + + + Compares two BsonJavaScriptWithScope values. + + The first BsonJavaScriptWithScope. + The other BsonJavaScriptWithScope. + True if the two BsonJavaScriptWithScope values are equal according to ==. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the scope (a set of variables with values). + + + + + Creates a new BsonJavaScriptWithScope. + + An object to be mapped to a BsonJavaScriptWithScope. + A BsonJavaScriptWithScope or null. + + + + Creates a shallow clone of the BsonJavaScriptWithScope (see also DeepClone). + + A shallow clone of the BsonJavaScriptWithScope. + + + + Creates a deep clone of the BsonJavaScriptWithScope (see also Clone). + + A deep clone of the BsonJavaScriptWithScope. + + + + Compares this BsonJavaScriptWithScope to another BsonJavaScriptWithScope. + + The other BsonJavaScriptWithScope. + A 32-bit signed integer that indicates whether this BsonJavaScriptWithScope is less than, equal to, or greather than the other. + + + + Compares the BsonJavaScriptWithScope to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonJavaScriptWithScope is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonJavaScriptWithScope to another BsonJavaScriptWithScope. + + The other BsonJavaScriptWithScope. + True if the two BsonJavaScriptWithScope values are equal. + + + + Compares this BsonJavaScriptWithScope to another object. + + The other object. + True if the other object is a BsonJavaScriptWithScope and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the BSON MaxKey value. + + + + + Compares two BsonMaxKey values. + + The first BsonMaxKey. + The other BsonMaxKey. + True if the two BsonMaxKey values are not equal according to ==. + + + + Compares two BsonMaxKey values. + + The first BsonMaxKey. + The other BsonMaxKey. + True if the two BsonMaxKey values are equal according to ==. + + + + Gets the singleton instance of BsonMaxKey. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonMaxKey to another BsonMaxKey. + + The other BsonMaxKey. + A 32-bit signed integer that indicates whether this BsonMaxKey is less than, equal to, or greather than the other. + + + + Compares the BsonMaxKey to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonMaxKey is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonMaxKey to another BsonMaxKey. + + The other BsonMaxKey. + True if the two BsonMaxKey values are equal. + + + + Compares this BsonMaxKey to another object. + + The other object. + True if the other object is a BsonMaxKey and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the BSON MinKey value. + + + + + Compares two BsonMinKey values. + + The first BsonMinKey. + The other BsonMinKey. + True if the two BsonMinKey values are not equal according to ==. + + + + Compares two BsonMinKey values. + + The first BsonMinKey. + The other BsonMinKey. + True if the two BsonMinKey values are equal according to ==. + + + + Gets the singleton instance of BsonMinKey. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonMinKey to another BsonMinKey. + + The other BsonMinKey. + A 32-bit signed integer that indicates whether this BsonMinKey is less than, equal to, or greather than the other. + + + + Compares the BsonMinKey to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonMinKey is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonMinKey to another BsonMinKey. + + The other BsonMinKey. + True if the two BsonMinKey values are equal. + + + + Compares this BsonMinKey to another object. + + The other object. + True if the other object is a BsonMinKey and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the BSON Null value. + + + + + Compares two BsonNull values. + + The first BsonNull. + The other BsonNull. + True if the two BsonNull values are not equal according to ==. + + + + Compares two BsonNull values. + + The first BsonNull. + The other BsonNull. + True if the two BsonNull values are equal according to ==. + + + + Gets the singleton instance of BsonNull. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonNull to another BsonNull. + + The other BsonNull. + A 32-bit signed integer that indicates whether this BsonNull is less than, equal to, or greather than the other. + + + + Compares the BsonNull to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonNull is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonNull to another BsonNull. + + The other BsonNull. + True if the two BsonNull values are equal. + + + + Compares this BsonNull to another object. + + The other object. + True if the other object is a BsonNull and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a DateTime? in local time. + + A DateTime?. + + + + Converts this BsonValue to a DateTime? in UTC. + + A DateTime?. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON ObjectId value (see also ObjectId). + + + + + Initializes a new instance of the BsonObjectId class. + + The value. + + + + Gets an instance of BsonObjectId where the value is empty. + + + + + Gets the BsonType of this BsonValue. + + + + + Gets the value of this BsonObjectId. + + + + + Converts an ObjectId to a BsonObjectId. + + An ObjectId. + A BsonObjectId. + + + + Compares two BsonObjectId values. + + The first BsonObjectId. + The other BsonObjectId. + True if the two BsonObjectId values are not equal according to ==. + + + + Compares two BsonObjectId values. + + The first BsonObjectId. + The other BsonObjectId. + True if the two BsonObjectId values are equal according to ==. + + + + Creates a new BsonObjectId. + + An object to be mapped to a BsonObjectId. + A BsonObjectId or null. + + + + Compares this BsonObjectId to another BsonObjectId. + + The other BsonObjectId. + A 32-bit signed integer that indicates whether this BsonObjectId is less than, equal to, or greather than the other. + + + + Compares the BsonObjectId to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonObjectId is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonObjectId to another BsonObjectId. + + The other BsonObjectId. + True if the two BsonObjectId values are equal. + + + + Compares this BsonObjectId to another object. + + The other object. + True if the other object is a BsonObjectId and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + Represents a BSON regular expression value. + + + + + Initializes a new instance of the BsonRegularExpression class. + + A regular expression pattern. + + + + Initializes a new instance of the BsonRegularExpression class. + + A regular expression pattern. + Regular expression options. + + + + Initializes a new instance of the BsonRegularExpression class. + + A Regex. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the regular expression pattern. + + + + + Gets the regular expression options. + + + + + Converts a Regex to a BsonRegularExpression. + + A Regex. + A BsonRegularExpression. + + + + Converts a string to a BsonRegularExpression. + + A string. + A BsonRegularExpression. + + + + Compares two BsonRegularExpression values. + + The first BsonRegularExpression. + The other BsonRegularExpression. + True if the two BsonRegularExpression values are not equal according to ==. + + + + Compares two BsonRegularExpression values. + + The first BsonRegularExpression. + The other BsonRegularExpression. + True if the two BsonRegularExpression values are equal according to ==. + + + + Creates a new BsonRegularExpression. + + An object to be mapped to a BsonRegularExpression. + A BsonRegularExpression or null. + + + + Compares this BsonRegularExpression to another BsonRegularExpression. + + The other BsonRegularExpression. + A 32-bit signed integer that indicates whether this BsonRegularExpression is less than, equal to, or greather than the other. + + + + Compares the BsonRegularExpression to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonRegularExpression is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonRegularExpression to another BsonRegularExpression. + + The other BsonRegularExpression. + True if the two BsonRegularExpression values are equal. + + + + Compares this BsonRegularExpression to another object. + + The other object. + True if the other object is a BsonRegularExpression and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts the BsonRegularExpression to a Regex. + + A Regex. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON string value. + + + + + Initializes a new instance of the BsonString class. + + The value. + + + + Gets an instance of BsonString that represents an empty string. + + + + + Gets the BsonType of this BsonValue. + + + + + Gets the value of this BsonString. + + + + + Converts a string to a BsonString. + + A string. + A BsonString. + + + + Compares two BsonString values. + + The first BsonString. + The other BsonString. + True if the two BsonString values are not equal according to ==. + + + + Compares two BsonString values. + + The first BsonString. + The other BsonString. + True if the two BsonString values are equal according to ==. + + + + Creates a new BsonString. + + An object to be mapped to a BsonString. + A BsonString or null. + + + + Compares this BsonString to another BsonString. + + The other BsonString. + A 32-bit signed integer that indicates whether this BsonString is less than, equal to, or greather than the other. + + + + Compares the BsonString to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonString is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonString to another BsonString. + + The other BsonString. + True if the two BsonString values are equal. + + + + Compares this BsonString to another object. + + The other object. + True if the other object is a BsonString and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + + + + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int32. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a BSON symbol value. + + + + + Gets the BsonType of this BsonValue. + + + + + Gets the name of the symbol. + + + + + Converts a string to a BsonSymbol. + + A string. + A BsonSymbol. + + + + Compares two BsonSymbol values. + + The first BsonSymbol. + The other BsonSymbol. + True if the two BsonSymbol values are not equal according to ==. + + + + Compares two BsonSymbol values. + + The first BsonSymbol. + The other BsonSymbol. + True if the two BsonSymbol values are equal according to ==. + + + + Creates a new BsonSymbol. + + An object to be mapped to a BsonSymbol. + A BsonSymbol or null. + + + + Compares this BsonSymbol to another BsonSymbol. + + The other BsonSymbol. + A 32-bit signed integer that indicates whether this BsonSymbol is less than, equal to, or greather than the other. + + + + Compares the BsonSymbol to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonSymbol is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonSymbol to another BsonSymbol. + + The other BsonSymbol. + True if the two BsonSymbol values are equal. + + + + Compares this BsonSymbol to another object. + + The other object. + True if the other object is a BsonSymbol and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the symbol table of BsonSymbols. + + + + + Looks up a symbol (and creates a new one if necessary). + + The name of the symbol. + The symbol. + + + + Represents a BSON timestamp value. + + + + + Initializes a new instance of the BsonTimestamp class. + + The combined timestamp/increment value. + + + + Initializes a new instance of the BsonTimestamp class. + + The timestamp. + The increment. + + + + Compares two BsonTimestamp values. + + The first BsonTimestamp. + The other BsonTimestamp. + True if the two BsonTimestamp values are not equal according to ==. + + + + Compares two BsonTimestamp values. + + The first BsonTimestamp. + The other BsonTimestamp. + True if the two BsonTimestamp values are equal according to ==. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the value of this BsonTimestamp. + + + + + Gets the increment. + + + + + Gets the timestamp. + + + + + Creates a new BsonTimestamp. + + An object to be mapped to a BsonTimestamp. + A BsonTimestamp or null. + + + + Compares this BsonTimestamp to another BsonTimestamp. + + The other BsonTimestamp. + A 32-bit signed integer that indicates whether this BsonTimestamp is less than, equal to, or greather than the other. + + + + Compares the BsonTimestamp to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonTimestamp is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonTimestamp to another BsonTimestamp. + + The other BsonTimestamp. + True if the two BsonTimestamp values are equal. + + + + Compares this BsonTimestamp to another object. + + The other object. + True if the other object is a BsonTimestamp and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the type of a BSON element. + + + + + Not a real BSON type. Used to signal the end of a document. + + + + + A BSON double. + + + + + A BSON string. + + + + + A BSON document. + + + + + A BSON array. + + + + + BSON binary data. + + + + + A BSON undefined value. + + + + + A BSON ObjectId. + + + + + A BSON bool. + + + + + A BSON DateTime. + + + + + A BSON null value. + + + + + A BSON regular expression. + + + + + BSON JavaScript code. + + + + + A BSON symbol. + + + + + BSON JavaScript code with a scope (a set of variables with values). + + + + + A BSON 32-bit integer. + + + + + A BSON timestamp. + + + + + A BSON 64-bit integer. + + + + + A BSON 128-bit decimal. + + + + + A BSON MinKey value. + + + + + A BSON MaxKey value. + + + + + A static class containing extension methods for . + + + + + Maps a to its corresponding server string representation. + + The input type to map. + + + + A static class that maps between .NET objects and BsonValues. + + + + + Maps an object to an instance of the closest BsonValue class. + + An object. + A BsonValue. + + + + Maps an object to a specific BsonValue type. + + An object. + The BsonType to map to. + A BsonValue of the desired type (or BsonNull.Value if value is null and bsonType is Null). + + + + Maps a BsonValue to a .NET value using the default BsonTypeMapperOptions. + + The BsonValue. + The mapped .NET value. + + + + Maps a BsonValue to a .NET value. + + The BsonValue. + The BsonTypeMapperOptions. + The mapped .NET value. + + + + Registers a custom type mapper. + + The type. + A custom type mapper. + + + + Tries to map an object to an instance of the closest BsonValue class. + + An object. + The BsonValue. + True if the mapping was successfull. + + + + Compares this Mapping to another object. + + The other object. + True if the other object is a Mapping and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Represents how duplicate names should be handled. + + + + + Overwrite original value with new value. + + + + + Ignore duplicate name and keep original value. + + + + + Throw an exception. + + + + + Represents options used by the BsonTypeMapper. + + + + + Initializes a new instance of the BsonTypeMapperOptions class. + + + + + Gets or sets the default BsonTypeMapperOptions. + + + + + Gets or sets how duplicate names should be handled. + + + + + Gets whether the BsonTypeMapperOptions is frozen. + + + + + Gets or sets the type that a BsonArray should be mapped to. + + + + + Gets or sets the type that a BsonDocument should be mapped to. + + + + + Gets or sets whether binary sub type OldBinary should be mapped to byte[] the way sub type Binary is. + + + + + Clones the BsonTypeMapperOptions. + + The cloned BsonTypeMapperOptions. + + + + Freezes the BsonTypeMapperOptions. + + The frozen BsonTypeMapperOptions. + + + + Represents the BSON undefined value. + + + + + Compares two BsonUndefined values. + + The first BsonUndefined. + The other BsonUndefined. + True if the two BsonUndefined values are not equal according to ==. + + + + Compares two BsonUndefined values. + + The first BsonUndefined. + The other BsonUndefined. + True if the two BsonUndefined values are equal according to ==. + + + + Gets the singleton instance of BsonUndefined. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonUndefined to another BsonUndefined. + + The other BsonUndefined. + A 32-bit signed integer that indicates whether this BsonUndefined is less than, equal to, or greather than the other. + + + + Compares the BsonUndefined to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonUndefined is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonUndefined to another BsonUndefined. + + The other BsonUndefined. + True if the two BsonUndefined values are equal. + + + + Compares this BsonUndefined to another object. + + The other object. + True if the other object is a BsonUndefined and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON value (this is an abstract class, see the various subclasses). + + + + + Casts the BsonValue to a Boolean (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonArray (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonBinaryData (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonDateTime (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonDocument (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonJavaScript (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonJavaScriptWithScope (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonMaxKey (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonMinKey (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonNull (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonRegularExpression (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonSymbol (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonTimestamp (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonUndefined (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonValue (a way of upcasting subclasses of BsonValue to BsonValue at compile time). + + + + + Casts the BsonValue to a Byte[] (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Double (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Guid (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to an Int32 (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Int64 (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a DateTime in the local timezone (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Boolean} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Decimal} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Decimal128} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Double} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Guid} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Int32} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Int64} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{DateTime} in the local timezone (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{ObjectId} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{DateTime} in UTC (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to an ObjectId (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Regex (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a String (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a DateTime in UTC (throws an InvalidCastException if the cast is not valid). + + + + + Gets the BsonType of this BsonValue. + + + + + Tests whether this BsonValue is a Boolean. + + + + + Tests whether this BsonValue is a BsonArray. + + + + + Tests whether this BsonValue is a BsonBinaryData. + + + + + Tests whether this BsonValue is a BsonDateTime. + + + + + Tests whether this BsonValue is a BsonDocument. + + + + + Tests whether this BsonValue is a BsonJavaScript. + + + + + Tests whether this BsonValue is a BsonJavaScriptWithScope. + + + + + Tests whether this BsonValue is a BsonMaxKey. + + + + + Tests whether this BsonValue is a BsonMinKey. + + + + + Tests whether this BsonValue is a BsonNull. + + + + + Tests whether this BsonValue is a BsonRegularExpression. + + + + + Tests whether this BsonValue is a BsonSymbol . + + + + + Tests whether this BsonValue is a BsonTimestamp. + + + + + Tests whether this BsonValue is a BsonUndefined. + + + + + Tests whether this BsonValue is a Decimal128. + + + + + Tests whether this BsonValue is a Double. + + + + + Tests whether this BsonValue is a Guid. + + + + + Tests whether this BsonValue is an Int32. + + + + + Tests whether this BsonValue is an Int64. + + + + + Tests whether this BsonValue is a numeric value. + + + + + Tests whether this BsonValue is an ObjectId . + + + + + Tests whether this BsonValue is a String. + + + + + Tests whether this BsonValue is a valid DateTime. + + + + + Casts a BsonValue to a bool. + + The BsonValue. + A bool. + + + + Casts a BsonValue to a bool?. + + The BsonValue. + A bool?. + + + + Converts a bool to a BsonValue. + + A bool. + A BsonValue. + + + + Converts a bool? to a BsonValue. + + A bool?. + A BsonValue. + + + + Converts a byte[] to a BsonValue. + + A byte[]. + A BsonValue. + + + + Converts a DateTime to a BsonValue. + + A DateTime. + A BsonValue. + + + + Converts a DateTime? to a BsonValue. + + A DateTime?. + A BsonValue. + + + + Converts a decimal to a BsonValue. + + A decimal. + A BsonValue. + + + + Converts a decimal? to a BsonValue. + + A decimal?. + A BsonValue. + + + + Converts a to a BsonValue. + + A Decimal128. + A BsonValue. + + + + Converts a nullable to a BsonValue. + + A Decimal128?. + A BsonValue. + + + + Converts a double to a BsonValue. + + A double. + A BsonValue. + + + + Converts a double? to a BsonValue. + + A double?. + A BsonValue. + + + + Converts an Enum to a BsonValue. + + An Enum. + A BsonValue. + + + + Converts an int to a BsonValue. + + An int. + A BsonValue. + + + + Converts an int? to a BsonValue. + + An int?. + A BsonValue. + + + + Converts a long to a BsonValue. + + A long. + A BsonValue. + + + + Converts a long? to a BsonValue. + + A long?. + A BsonValue. + + + + Converts an ObjectId to a BsonValue. + + An ObjectId. + A BsonValue. + + + + Converts an ObjectId? to a BsonValue. + + An ObjectId?. + A BsonValue. + + + + Converts a Regex to a BsonValue. + + A Regex. + A BsonValue. + + + + Converts a string to a BsonValue. + + A string. + A BsonValue. + + + + Casts a BsonValue to a byte[]. + + The BsonValue. + A byte[]. + + + + Casts a BsonValue to a DateTime. + + The BsonValue. + A DateTime. + + + + Casts a BsonValue to a DateTime?. + + The BsonValue. + A DateTime?. + + + + Casts a BsonValue to a decimal. + + The BsonValue. + A decimal. + + + + Casts a BsonValue to a decimal?. + + The BsonValue. + A decimal?. + + + + Casts a BsonValue to a . + + The BsonValue. + A . + + + + Casts a BsonValue to a nullable ?. + + The BsonValue. + A nullable . + + + + Casts a BsonValue to a double. + + The BsonValue. + A double. + + + + Casts a BsonValue to a double?. + + The BsonValue. + A double?. + + + + Casts a BsonValue to a Guid. + + The BsonValue. + A Guid. + + + + Casts a BsonValue to a Guid?. + + The BsonValue. + A Guid?. + + + + Casts a BsonValue to an int. + + The BsonValue. + An int. + + + + Casts a BsonValue to an int?. + + The BsonValue. + An int?. + + + + Casts a BsonValue to a long. + + The BsonValue. + A long. + + + + Casts a BsonValue to a long?. + + The BsonValue. + A long?. + + + + Casts a BsonValue to an ObjectId. + + The BsonValue. + An ObjectId. + + + + Casts a BsonValue to an ObjectId?. + + The BsonValue. + An ObjectId?. + + + + Casts a BsonValue to a Regex. + + The BsonValue. + A Regex. + + + + Casts a BsonValue to a string. + + The BsonValue. + A string. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is less than the other one. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is less than or equal to the other one. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the two BsonValues are not equal according to ==. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the two BsonValues are equal according to ==. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is greater than the other one. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is greater than or equal to the other one. + + + + Gets or sets a value by position (only applies to BsonDocument and BsonArray). + + The position. + The value. + + + + Gets or sets a value by name (only applies to BsonDocument). + + The name. + The value. + + + + Creates a new instance of the BsonValue class. + + A value to be mapped to a BsonValue. + A BsonValue. + + + + Creates a shallow clone of the BsonValue (see also DeepClone). + + A shallow clone of the BsonValue. + + + + Compares this BsonValue to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonValue is less than, equal to, or greather than the other BsonValue. + + + + Compares the type of this BsonValue to the type of another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether the type of this BsonValue is less than, equal to, or greather than the type of the other BsonValue. + + + + Creates a deep clone of the BsonValue (see also Clone). + + A deep clone of the BsonValue. + + + + Compares this BsonValue to another BsonValue. + + The other BsonValue. + True if the two BsonValue values are equal. + + + + Compares this BsonValue to another object. + + The other object. + True if the other object is a BsonValue and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a Decimal. + + A Decimal. + + + + Converts this BsonValue to a Decimal128. + + A Decimal128. + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int64. + + + + Converts this BsonValue to a DateTime in local time. + + A DateTime. + + + + Converts this BsonValue to a DateTime? in local time. + + A DateTime?. + + + + Converts this BsonValue to a DateTime? in UTC. + + A DateTime?. + + + + Converts this BsonValue to a DateTime in UTC. + + A DateTime. + + + + Implementation of the IConvertible GetTypeCode method. + + The TypeCode. + + + + Implementation of the IConvertible ToBoolean method. + + The format provider. + A bool. + + + + Implementation of the IConvertible ToByte method. + + The format provider. + A byte. + + + + Implementation of the IConvertible ToChar method. + + The format provider. + A char. + + + + Implementation of the IConvertible ToDateTime method. + + The format provider. + A DateTime. + + + + Implementation of the IConvertible ToDecimal method. + + The format provider. + A decimal. + + + + Implementation of the IConvertible ToDouble method. + + The format provider. + A double. + + + + Implementation of the IConvertible ToInt16 method. + + The format provider. + A short. + + + + Implementation of the IConvertible ToInt32 method. + + The format provider. + An int. + + + + Implementation of the IConvertible ToInt64 method. + + The format provider. + A long. + + + + Implementation of the IConvertible ToSByte method. + + The format provider. + An sbyte. + + + + Implementation of the IConvertible ToSingle method. + + The format provider. + A float. + + + + Implementation of the IConvertible ToString method. + + The format provider. + A string. + + + + Implementation of the IConvertible ToUInt16 method. + + The format provider. + A ushort. + + + + Implementation of the IConvertible ToUInt32 method. + + The format provider. + A uint. + + + + Implementation of the IConvertible ToUInt64 method. + + The format provider. + A ulong. + + + + Implementation of operator ==. + + The other BsonValue. + True if the two BsonValues are equal according to ==. + + + + Represents a Decimal128 value. + + + + + Gets the maximum value. + + + + + Gets the minimum value. + + + + + Represents negative infinity. + + + + + Represents one. + + + + + Represents positive infinity. + + + + + Represents a value that is not a number. + + + + + Represents a value that is not a number and raises errors when used in calculations. + + + + + Represents zero. + + + + + Implements the operator ==. + + The LHS. + The RHS. + + The result of the operator. + + + + + Implements the operator !=. + + The LHS. + The RHS. + + The result of the operator. + + + + + Returns a value indicating whether a specified Decimal128 is greater than another specified Decimal128. + + The first value. + The second value. + + true if x > y; otherwise, false. + + + + + Returns a value indicating whether a specified Decimal128 is greater than or equal to another another specified Decimal128. + + The first value. + The second value. + + true if x >= y; otherwise, false. + + + + + Returns a value indicating whether a specified Decimal128 is less than another specified Decimal128. + + The first value. + The second value. + + true if x < y; otherwise, false. + + + + + Returns a value indicating whether a specified Decimal128 is less than or equal to another another specified Decimal128. + + The first value. + The second value. + + true if x <= y; otherwise, false. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Compares two specified Decimal128 values and returns an integer that indicates whether the first value + is greater than, less than, or equal to the second value. + + The first value. + The second value. + Less than zero if x < y, zero if x == y, and greater than zero if x > y. + + + + Determines whether the specified Decimal128 instances are considered equal. + + The first Decimal128 object to compare. + The second Decimal128 object to compare. + True if the objects are considered equal; otherwise false. If both x and y are null, the method returns true. + + + + Creates a new Decimal128 value from its components. + + if set to true [is negative]. + The exponent. + The signficand high bits. + The significand low bits. + A Decimal128 value. + + + + Creates a new Decimal128 value from the IEEE encoding bits. + + The high bits. + The low bits. + A Decimal128 value. + + + + Gets the exponent of a Decimal128 value. + + The Decimal128 value. + The exponent. + + + + Gets the high bits of the significand of a Decimal128 value. + + The Decimal128 value. + The high bits of the significand. + + + + Gets the high bits of the significand of a Decimal128 value. + + The Decimal128 value. + The high bits of the significand. + + + + Returns a value indicating whether the specified number evaluates to negative or positive infinity. + + A 128-bit decimal. + true if evaluates to negative or positive infinity; otherwise, false. + + + + Returns a value indicating whether the specified number is not a number. + + A 128-bit decimal. + true if is not a number; otherwise, false. + + + + Returns a value indicating whether the specified number is negative. + + A 128-bit decimal. + true if is negative; otherwise, false. + + + + Returns a value indicating whether the specified number evaluates to negative infinity. + + A 128-bit decimal. + true if evaluates to negative infinity; otherwise, false. + + + + Returns a value indicating whether the specified number evaluates to positive infinity. + + A 128-bit decimal. + true if evaluates to positive infinity; otherwise, false. + + + + Returns a value indicating whether the specified number is a quiet not a number. + + A 128-bit decimal. + true if is a quiet not a number; otherwise, false. + + + + Returns a value indicating whether the specified number is a signaled not a number. + + A 128-bit decimal. + true if is a signaled not a number; otherwise, false. + + + + Returns a value indicating whether the specified number is zero. + + A 128-bit decimal. + + true if the specified number is zero; otherwise, false. + + + + + Negates the specified x. + + The x. + The result of multiplying the value by negative one. + + + + Converts the string representation of a number to its equivalent. + + The string representation of the number to convert. + + The equivalent to the number contained in . + + + + + Converts the value of the specified to the equivalent 8-bit unsigned integer. + + The number to convert. + A 8-bit unsigned integer equivalent to . + + + + Converts the value of the specified to the equivalent . + + The number to convert. + A equivalent to . + + + + Converts the value of the specified to the equivalent . + + The number to convert. + A equivalent to . + + + + Converts the value of the specified to the equivalent 16-bit signed integer. + + The number to convert. + A 16-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent 32-bit signed integer. + + The number to convert. + A 32-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent 64-bit signed integer. + + The number to convert. + A 64-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent 8-bit signed integer. + + The number to convert. + A 8-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent . + + The number to convert. + A equivalent to . + + + + Converts the value of the specified to the equivalent 16-bit unsigned integer. + + The number to convert. + A 16-bit unsigned integer equivalent to . + + + + Converts the value of the specified to the equivalent 32-bit unsigned integer. + + The number to convert. + A 32-bit unsigned integer equivalent to . + + + + Converts the value of the specified to the equivalent 64-bit unsigned integer. + + The number to convert. + A 64-bit unsigned integer equivalent to . + + + + Converts the string representation of a number to its equivalent. A return value indicates whether the conversion succeeded or failed. + + The string representation of the number to convert. + When this method returns, contains the number that is equivalent to the numeric value contained in , if the conversion succeeded, or is zero if the conversion failed. The conversion fails if the parameter is null, is not a number in a valid format, or represents a number less than the min value or greater than the max value. This parameter is passed uninitialized. + + true if was converted successfully; otherwise, false. + + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + + + + + + + + + + + + + Gets the high order 64 bits of the binary representation of this instance. + + The high order 64 bits of the binary representation of this instance. + + + + Gets the low order 64 bits of the binary representation of this instance. + + The low order 64 bits of the binary representation of this instance. + + + + + + + A static class containing methods to convert to and from Guids and byte arrays in various byte orders. + + + + + Converts a byte array to a Guid. + + The byte array. + The representation of the Guid in the byte array. + A Guid. + + + + Gets the sub type that corresponds to the guidRepresentation. + + The Guid representation. + The sub type. + + + + Converts a Guid to a byte array. + + The Guid. + The representation of the Guid in the byte array. + A byte array. + + + + Represents the representation to use when converting a Guid to a BSON binary value. + + + + + The representation for Guids is unspecified, so conversion between Guids and Bson binary data is not possible. + + + + + Use the new standard representation for Guids (binary subtype 4 with bytes in network byte order). + + + + + Use the representation used by older versions of the C# driver (including most community provided C# drivers). + + + + + Use the representation used by older versions of the Java driver. + + + + + Use the representation used by older versions of the Python driver. + + + + + An interface implemented by objects that convert themselves to a BsonDocument. + + + + + Converts this object to a BsonDocument. + + A BsonDocument. + + + + An interface for custom mappers that map an object to a BsonValue. + + + + + Tries to map an object to a BsonValue. + + An object. + The BsonValue. + True if the mapping was successfull. + + + + Represents a BSON array that is deserialized lazily. + + + + + Initializes a new instance of the class. + + The slice. + slice + LazyBsonArray cannot be used with an IByteBuffer that needs disposing. + + + + Gets the slice. + + + The slice. + + + + + Creates a shallow clone of the array (see also DeepClone). + + A shallow clone of the array. + + + + Creates a deep clone of the array (see also Clone). + + A deep clone of the array. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Materializes the BsonArray. + + + The materialized values. + + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Represents a BSON document that is deserialized lazily. + + + + + Initializes a new instance of the class. + + The slice. + slice + LazyBsonDocument cannot be used with an IByteBuffer that needs disposing. + + + + Initializes a new instance of the class. + + The bytes. + + + + Gets the slice. + + + The slice. + + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Creates a deep clone of the document (see also Clone). + + + A deep clone of the document. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Materializes the BsonDocument. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Represents a BSON array that is not materialized until you start using it. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the total number of elements the internal data structure can hold without resizing. + + + + + Gets the count of array elements. + + + + + Gets a value indicating whether this instance is disposed. + + + true if this instance is disposed; otherwise, false. + + + + + Gets a value indicating whether this instance is materialized. + + + true if this instance is materialized; otherwise, false. + + + + + Gets the array elements. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Adds an element to the array. + + The value to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Clears the array. + + + + + Creates a shallow clone of the array (see also DeepClone). + + + A shallow clone of the array. + + + + + Compares the array to another array. + + The other array. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other. + + + + Compares the array to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other BsonValue. + + + + Tests whether the array contains a value. + + The value to test for. + True if the array contains the value. + + + + Copies elements from this array to another array. + + The other array. + The zero based index of the other array at which to start copying. + + + + Creates a deep clone of the array (see also Clone). + + + A deep clone of the array. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets an enumerator that can enumerate the elements of the array. + + An enumerator. + + + + Gets the hash code. + + The hash code. + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The number of elements to search. + The zero based index of the value (or -1 if not found). + + + + Inserts a new value into the array. + + The zero based index at which to insert the new value. + The new value. + + + + Removes the first occurrence of a value from the array. + + The value to remove. + True if the value was removed. + + + + Removes an element from the array. + + The zero based index of the element to remove. + + + + Converts the BsonArray to an array of BsonValues. + + An array of BsonValues. + + + + Converts the BsonArray to a list of BsonValues. + + A list of BsonValues. + + + + Returns a string representation of the array. + + A string representation of the array. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Materializes the BsonArray. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Throws if disposed. + + + + + + Represents a BSON document that is not materialized until you start using it. + + + + + Initializes a new instance of the class. + + + + + Gets the number of elements. + + + + + Gets the elements. + + + + + Gets a value indicating whether this instance is disposed. + + + true if this instance is disposed; otherwise, false. + + + + + Gets a value indicating whether this instance is materialized. + + + true if this instance is materialized; otherwise, false. + + + + + Gets the element names. + + + + + Gets the values. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Gets or sets a value by name. + + The name. + The value. + + + + Adds an element to the document. + + The element to add. + + The document (so method calls can be chained). + + + + + Creates and adds an element to the document. + + The name of the element. + The value of the element. + + The document (so method calls can be chained). + + + + + Creates and adds an element to the document, but only if the condition is true. + + The name of the element. + The value of the element. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Creates and adds an element to the document, but only if the condition is true. + If the condition is false the value factory is not called at all. + + The name of the element. + A delegate called to compute the value of the element if condition is true. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds a list of elements to the document. + + The list of elements. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Clears the document (removes all elements). + + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Compares this document to another document. + + The other document. + + A 32-bit signed integer that indicates whether this document is less than, equal to, or greather than the other. + + + + + Compares the BsonDocument to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonDocument is less than, equal to, or greather than the other BsonValue. + + + + Tests whether the document contains an element with the specified name. + + The name of the element to look for. + + True if the document contains an element with the specified name. + + + + + Tests whether the document contains an element with the specified value. + + The value of the element to look for. + + True if the document contains an element with the specified value. + + + + + Creates a deep clone of the document (see also Clone). + + + A deep clone of the document. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets an element of this document. + + The zero based index of the element. + + The element. + + + + + Gets an element of this document. + + The name of the element. + + A BsonElement. + + + + + Gets an enumerator that can be used to enumerate the elements of this document. + + + An enumerator. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the value of an element. + + The zero based index of the element. + + The value of the element. + + + + + Gets the value of an element. + + The name of the element. + + The value of the element. + + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value returned if the element is not found. + + The value of the element or the default value if the element is not found. + + + + + Inserts a new element at a specified position. + + The position of the new element. + The element. + + + + Merges another document into this one. Existing elements are not overwritten. + + The other document. + + The document (so method calls can be chained). + + + + + Merges another document into this one, specifying whether existing elements are overwritten. + + The other document. + Whether to overwrite existing elements. + + The document (so method calls can be chained). + + + + + Removes an element from this document (if duplicate element names are allowed + then all elements with this name will be removed). + + The name of the element to remove. + + + + Removes an element from this document. + + The zero based index of the element to remove. + + + + Removes an element from this document. + + The element to remove. + + + + Sets the value of an element. + + The zero based index of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets the value of an element (an element will be added if no element with this name is found). + + The name of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). + + The new element. + + The document. + + + + + Sets an element of the document (replacing the existing element at that position). + + The zero based index of the element to replace. + The new element. + + The document. + + + + + Tries to get an element of this document. + + The name of the element. + The element. + + True if an element with that name was found. + + + + + Tries to get the value of an element of this document. + + The name of the element. + The value of the element. + + True if an element with that name was found. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Materializes the BsonDocument. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Throws if disposed. + + + + + + Represents an ObjectId (see also BsonObjectId). + + + + + Initializes a new instance of the ObjectId class. + + The bytes. + + + + Initializes a new instance of the ObjectId class. + + The bytes. + The index into the byte array where the ObjectId starts. + + + + Initializes a new instance of the ObjectId class. + + The value. + + + + Gets an instance of ObjectId where the value is empty. + + + + + Gets the timestamp. + + + + + Gets the creation time (derived from the timestamp). + + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is less than the second ObjectId. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is less than or equal to the second ObjectId. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId. + True if the two ObjectIds are equal. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId. + True if the two ObjectIds are not equal. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is greather than or equal to the second ObjectId. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is greather than the second ObjectId. + + + + Generates a new ObjectId with a unique value. + + An ObjectId. + + + + Generates a new ObjectId with a unique value (with the timestamp component based on a given DateTime). + + The timestamp component (expressed as a DateTime). + An ObjectId. + + + + Generates a new ObjectId with a unique value (with the given timestamp). + + The timestamp component. + An ObjectId. + + + + Parses a string and creates a new ObjectId. + + The string value. + A ObjectId. + + + + Tries to parse a string and create a new ObjectId. + + The string value. + The new ObjectId. + True if the string was parsed successfully. + + + + Gets the current process id. This method exists because of how CAS operates on the call stack, checking + for permissions before executing the method. Hence, if we inlined this call, the calling method would not execute + before throwing an exception requiring the try/catch at an even higher level that we don't necessarily control. + + + + + Compares this ObjectId to another ObjectId. + + The other ObjectId. + A 32-bit signed integer that indicates whether this ObjectId is less than, equal to, or greather than the other. + + + + Compares this ObjectId to another ObjectId. + + The other ObjectId. + True if the two ObjectIds are equal. + + + + Compares this ObjectId to another object. + + The other object. + True if the other object is an ObjectId and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts the ObjectId to a byte array. + + A byte array. + + + + Converts the ObjectId to a byte array. + + The destination. + The offset. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents an immutable BSON array that is represented using only the raw bytes. + + + + + Initializes a new instance of the class. + + The slice. + slice + RawBsonArray cannot be used with an IByteBuffer that needs disposing. + + + + Gets or sets the total number of elements the internal data structure can hold without resizing. + + + + + Gets the count of array elements. + + + + + Gets whether the array is read-only. + + + + + Gets the slice. + + + The slice. + + + + + Gets the array elements. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Adds an element to the array. + + The value to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Creates a shallow clone of the array (see also DeepClone). + + A shallow clone of the array. + + + + Clears the array. + + + + + Tests whether the array contains a value. + + The value to test for. + True if the array contains the value. + + + + Copies elements from this array to another array. + + The other array. + The zero based index of the other array at which to start copying. + + + + Creates a deep clone of the array (see also Clone). + + A deep clone of the array. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Gets an enumerator that can enumerate the elements of the array. + + An enumerator. + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The number of elements to search. + The zero based index of the value (or -1 if not found). + + + + Inserts a new value into the array. + + The zero based index at which to insert the new value. + The new value. + + + + Materializes the RawBsonArray into a regular BsonArray. + + The binary reader settings. + A BsonArray. + + + + Removes the first occurrence of a value from the array. + + The value to remove. + True if the value was removed. + + + + Removes an element from the array. + + The zero based index of the element to remove. + + + + Converts the BsonArray to an array of BsonValues. + + An array of BsonValues. + + + + Converts the BsonArray to a list of BsonValues. + + A list of BsonValues. + + + + Returns a string representation of the array. + + A string representation of the array. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Throws if disposed. + + + + + + Represents an immutable BSON document that is represented using only the raw bytes. + + + + + Initializes a new instance of the class. + + The slice. + slice + RawBsonDocument cannot be used with an IByteBuffer that needs disposing. + + + + Initializes a new instance of the class. + + The bytes. + + + + Gets the number of elements. + + + + + Gets the elements. + + + + + Gets the element names. + + + + + Gets the slice. + + + The slice. + + + + + Gets the values. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Gets or sets a value by name. + + The name. + The value. + + + + Adds an element to the document. + + The element to add. + + The document (so method calls can be chained). + + + + + Creates and adds an element to the document. + + The name of the element. + The value of the element. + + The document (so method calls can be chained). + + + + + Creates and adds an element to the document, but only if the condition is true. + + The name of the element. + The value of the element. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds a list of elements to the document. + + The list of elements. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Clears the document (removes all elements). + + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Tests whether the document contains an element with the specified name. + + The name of the element to look for. + + True if the document contains an element with the specified name. + + + + + Tests whether the document contains an element with the specified value. + + The value of the element to look for. + + True if the document contains an element with the specified value. + + + + + Creates a deep clone of the document (see also Clone). + + + A deep clone of the document. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Gets an element of this document. + + The zero based index of the element. + + The element. + + + + + Gets an element of this document. + + The name of the element. + + A BsonElement. + + + + + Gets an enumerator that can be used to enumerate the elements of this document. + + + An enumerator. + + + + + Gets the value of an element. + + The zero based index of the element. + + The value of the element. + + + + + Gets the value of an element. + + The name of the element. + + The value of the element. + + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value returned if the element is not found. + + The value of the element or the default value if the element is not found. + + + + + Inserts a new element at a specified position. + + The position of the new element. + The element. + + + + Materializes the RawBsonDocument into a regular BsonDocument. + + The binary reader settings. + A BsonDocument. + + + + Merges another document into this one. Existing elements are not overwritten. + + The other document. + + The document (so method calls can be chained). + + + + + Merges another document into this one, specifying whether existing elements are overwritten. + + The other document. + Whether to overwrite existing elements. + + The document (so method calls can be chained). + + + + + Removes an element from this document (if duplicate element names are allowed + then all elements with this name will be removed). + + The name of the element to remove. + + + + Removes an element from this document. + + The zero based index of the element to remove. + + + + Removes an element from this document. + + The element to remove. + + + + Sets the value of an element. + + The zero based index of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets the value of an element (an element will be added if no element with this name is found). + + The name of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). + + The new element. + + The document. + + + + + Sets an element of the document (replacing the existing element at that position). + + The zero based index of the element to replace. + The new element. + + The document. + + + + + Tries to get an element of this document. + + The name of the element. + The element. + + True if an element with that name was found. + + + + + Tries to get the value of an element of this document. + + The name of the element. + The value of the element. + + True if an element with that name was found. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Throws if disposed. + + RawBsonDocument + + + + Prevents the Xamarin managed linker from stripping the target. + + + + + When used on a class rather than a property, ensures that all members of this type are preserved. + + + + + Flags the method as a method to preserve during linking if the container class is pulled in. + + + + + Provides serializers based on an attribute. + + + + + + + + Specifies that this constructor should be used for creator-based deserialization. + + + + + Initializes a new instance of the BsonConstructorAttribute class. + + + + + Initializes a new instance of the BsonConstructorAttribute class. + + The names of the members that the creator argument values come from. + + + + Gets the names of the members that the creator arguments values come from. + + + + + Applies a modification to the creator map. + + The creator map. + + + + Specifies serialization options for a DateTime field or property. + + + + + Initializes a new instance of the BsonDateTimeOptionsAttribute class. + + + + + Gets or sets whether the DateTime consists of a Date only. + + + + + Gets or sets the DateTimeKind (Local, Unspecified or Utc). + + + + + Gets or sets the external representation. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Specifies the default value for a field or property. + + + + + Initializes a new instance of the BsonDefaultValueAttribute class. + + The default value. + + + + Gets the default value. + + + + + Applies a modification to the member map. + + The member map. + + + + Specifies serialization options for a Dictionary field or property. + + + + + Initializes a new instance of the BsonDictionaryOptionsAttribute class. + + + + + Initializes a new instance of the BsonDictionaryOptionsAttribute class. + + The representation to use for the Dictionary. + + + + Gets or sets the external representation. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Specifies the discriminator and related options for a class. + + + + + Initializes a new instance of the BsonDiscriminatorAttribute class. + + + + + Initializes a new instance of the BsonDiscriminatorAttribute class. + + The discriminator. + + + + Gets the discriminator. + + + + + Gets or sets whether the discriminator is required. + + + + + Gets or sets whether this is a root class. + + + + + Applies a modification to the class map. + + The class map. + + + + Specifies the element name and related options for a field or property. + + + + + Initializes a new instance of the BsonElementAttribute class. + + + + + Initializes a new instance of the BsonElementAttribute class. + + The name of the element. + + + + Gets the element name. + + + + + Gets the element serialization order. + + + + + Applies a modification to the member map. + + The member map. + + + + Indicates that this property or field will be used to hold any extra elements found during deserialization. + + + + + Applies a modification to the member map. + + The member map. + + + + Specifies that this factory method should be used for creator-based deserialization. + + + + + Initializes a new instance of the BsonFactoryMethodAttribute class. + + + + + Initializes a new instance of the BsonFactoryMethodAttribute class. + + The names of the members that the creator argument values come from. + + + + Gets the names of the members that the creator arguments values come from. + + + + + Applies a modification to the creator map. + + The creator map. + + + + Specifies the Guid representation to use with the GuidSerializer for this member. + + + + + Initializes a new instance of the BsonGuidRepresentationAttribute class. + + The Guid representation. + + + + Gets the Guid representation. + + + + + + + + Specifies that this is the Id field or property. + + + + + Initializes a new instance of the BsonIdAttribute class. + + + + + Gets or sets the Id generator for the Id. + + + + + Gets or sets the Id element serialization order. + + + + + Applies a modification to the member map. + + The member map. + + + + Indicates that this field or property should be ignored when this class is serialized. + + + + + Specifies whether extra elements should be ignored when this class is deserialized. + + + + + Initializes a new instance of the BsonIgnoreExtraElementsAttribute class. + + + + + Initializes a new instance of the BsonIgnoreExtraElementsAttribute class. + + Whether extra elements should be ignored when this class is deserialized. + + + + Gets whether extra elements should be ignored when this class is deserialized. + + + + + Gets whether extra elements should also be ignored when any class derived from this one is deserialized. + + + + + Applies a modification to the class map. + + The class map. + + + + Indicates whether a field or property equal to the default value should be ignored when serializing this class. + + + + + Initializes a new instance of the BsonIgnoreIfDefaultAttribute class. + + + + + Initializes a new instance of the BsonIgnoreIfDefaultAttribute class. + + Whether a field or property equal to the default value should be ignored when serializing this class. + + + + Gets whether a field or property equal to the default value should be ignored when serializing this class. + + + + + Applies a modification to the member map. + + The member map. + + + + Indicates whether a field or property equal to null should be ignored when serializing this class. + + + + + Initializes a new instance of the BsonIgnoreIfNullAttribute class. + + + + + Initializes a new instance of the BsonIgnoreIfNullAttribute class. + + Whether a field or property equal to null should be ignored when serializing this class. + + + + Gets whether a field or property equal to null should be ignored when serializing this class. + + + + + Applies a modification to the member map. + + The member map. + + + + Specifies the known types for this class (the derived classes). + + + + + Initializes a new instance of the BsonKnownTypesAttribute class. + + One or more known types. + + + + Initializes a new instance of the BsonKnownTypesAttribute class. + + A known types. + + + + Gets a list of the known types. + + + + + Applies a modification to the class map. + + The class map. + + + + Specifies that the class's IdMember should be null. + + + + + Applies the post processing attribute to the class map. + + The class map. + + + + Specifies the external representation and related options for this field or property. + + + + + Initializes a new instance of the BsonRepresentationAttribute class. + + The external representation. + + + + Gets the external representation. + + + + + Gets or sets whether to allow overflow. + + + + + Gets or sets whether to allow truncation. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Indicates that a field or property is required. + + + + + Applies a modification to the member map. + + The member map. + + + + Abstract base class for serialization options attributes. + + + + + Initializes a new instance of the BsonSerializationOptionsAttribute class. + + + + + Applies a modification to the member map. + + The member map. + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + + Specifies the type of the serializer to use for a class. + + + + + Initializes a new instance of the BsonSerializerAttribute class. + + + + + Initializes a new instance of the BsonSerializerAttribute class. + + The type of the serializer to use for a class. + + + + Gets or sets the type of the serializer to use for a class. + + + + + Applies a modification to the member map. + + The member map. + + + + Creates a serializer for a type based on the serializer type specified by the attribute. + + The type that a serializer should be created for. + A serializer for the type. + + + + Specifies the external representation and related options for this field or property. + + + + + Initializes a new instance of the BsonTimeSpanOptionsAttribute class. + + The external representation. + + + + Initializes a new instance of the BsonTimeSpanOptionsAttribute class. + + The external representation. + The TimeSpanUnits. + + + + Gets the external representation. + + + + + Gets or sets the TimeSpanUnits. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Indicates the usage restrictions for the attribute. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether the attribute this attribute applies to is allowed to be applied + to more than one member. + + + + + Represents an attribute used to modify a class map. + + + + + Applies the attribute to the class map. + + The class map. + + + + Represents an attribute used to modify a creator map. + + + + + Applies the attribute to the creator map. + + The creator map. + + + + Represents an attribute used to modify a member map. + + + + + Applies the attribute to the member map. + + The member map. + + + + Represents an attribute used to post process a class map. + + + + + Applies the post processing attribute to the class map. + + The class map. + + + + Contains extensions methods for + + + + + Converts to . + + The .NET data type. + The binary vector. + A instance. + + + + Contains extensions methods for . + + + + + Converts to . + + Data type of the binary vector. + The binary data. + A instance. + + + + Extracts binary vector data from as bytes, padding and data type. + The result bytes should be interpreted according to the vector data type. + + The binary data. + Vector bytes, padding and datatype + + + + Extracts binary vector data from as an array of , padding and data type. + The result bytes should be interpreted according to the vector data type. + + The binary data. + Vector data, padding and datatype + + + + Represents a mapping between a class and a BSON document. + + + + + Initializes a new instance of the BsonClassMap class. + + The class type. + + + + Initializes a new instance of the class. + + Type of the class. + The base class map. + + + + Gets all the member maps (including maps for inherited members). + + + + + Gets the base class map. + + + + + Gets the class type. + + + + + Gets the constructor maps. + + + + + Gets the conventions used for auto mapping. + + + + + Gets the declared member maps (only for members declared in this class). + + + + + Gets the discriminator. + + + + + Gets whether a discriminator is required when serializing this class. + + + + + Gets the member map of the member used to hold extra elements. + + + + + Gets whether this class map has any creator maps. + + + + + Gets whether this class has a root class ancestor. + + + + + Gets the Id member map (null if none). + + + + + Gets whether extra elements should be ignored when deserializing. + + + + + Gets whether the IgnoreExtraElements value should be inherited by derived classes. + + + + + Gets whether this class is anonymous. + + + + + Gets whether the class map is frozen. + + + + + Gets whether this class is a root class. + + + + + Gets the known types of this class. + + + + + Gets the element name to member index trie. + + + + + Gets the member index of the member used to hold extra elements. + + + + + Gets the type of a member. + + The member info. + The type of the member. + + + + Gets all registered class maps. + + All registered class maps. + + + + Checks whether a class map is registered for a type. + + The type to check. + True if there is a class map registered for the type. + + + + Looks up a class map (will AutoMap the class if no class map is registered). + + The class type. + The class map. + + + + Creates and registers a class map. + + The class. + The class map. + + + + Creates and registers a class map. + + The class. + The class map initializer. + The class map. + + + + Registers a class map. + + The class map. + + + + Registers a class map if it is not already registered. + + The class. + True if this call registered the class map, false if the class map was already registered. + + + + Registers a class map if it is not already registered. + + The class. + The class map. + True if this call registered the class map, false if the class map was already registered. + + + + Registers a class map if it is not already registered. + + The class. + The class map initializer (only called if the class map is not already registered). + True if this call registered the class map, false if the class map was already registered. + + + + Registers a class map if it is not already registered. + + The class. + The class map factory (only called if the class map is not already registered). + True if this call registered the class map, false if the class map was already registered. + + + + Automaps the class. + + + + + Creates an instance of the class. + + An object. + + + + + + + + + + Freezes the class map. + + The frozen class map. + + + + Gets a member map (only considers members declared in this class). + + The member name. + The member map (or null if the member was not found). + + + + Gets the member map for a BSON element. + + The name of the element. + The member map. + + + + Creates a creator map for a constructor and adds it to the class map. + + The constructor info. + The creator map (so method calls can be chained). + + + + Creates a creator map for a constructor and adds it to the class map. + + The constructor info. + The argument names. + The creator map (so method calls can be chained). + + + + Creates a creator map and adds it to the class. + + The delegate. + The factory method map (so method calls can be chained). + + + + Creates a creator map and adds it to the class. + + The delegate. + The argument names. + The factory method map (so method calls can be chained). + + + + Creates a member map for the extra elements field and adds it to the class map. + + The name of the extra elements field. + The member map (so method calls can be chained). + + + + Creates a member map for the extra elements member and adds it to the class map. + + The member info for the extra elements member. + The member map (so method calls can be chained). + + + + Creates a member map for the extra elements property and adds it to the class map. + + The name of the property. + The member map (so method calls can be chained). + + + + Creates a creator map for a factory method and adds it to the class. + + The method info. + The creator map (so method calls can be chained). + + + + Creates a creator map for a factory method and adds it to the class. + + The method info. + The argument names. + The creator map (so method calls can be chained). + + + + Creates a member map for a field and adds it to the class map. + + The name of the field. + The member map (so method calls can be chained). + + + + Creates a member map for the Id field and adds it to the class map. + + The name of the Id field. + The member map (so method calls can be chained). + + + + Creates a member map for the Id member and adds it to the class map. + + The member info for the Id member. + The member map (so method calls can be chained). + + + + Creates a member map for the Id property and adds it to the class map. + + The name of the Id property. + The member map (so method calls can be chained). + + + + Creates a member map for a member and adds it to the class map. + + The member info. + The member map (so method calls can be chained). + + + + Creates a member map for a property and adds it to the class map. + + The name of the property. + The member map (so method calls can be chained). + + + + Resets the class map back to its initial state. + + + + + Sets the creator for the object. + + The creator. + The class map (so method calls can be chained). + + + + Sets the discriminator. + + The discriminator. + + + + Sets the discriminator convention. + + The discriminator convention. + + + + Sets whether a discriminator is required when serializing this class. + + Whether a discriminator is required. + + + + Sets the member map of the member used to hold extra elements. + + The extra elements member map. + + + + Adds a known type to the class map. + + The known type. + + + + Sets the Id member. + + The Id member (null if none). + + + + Sets whether extra elements should be ignored when deserializing. + + Whether extra elements should be ignored when deserializing. + + + + Sets whether the IgnoreExtraElements value should be inherited by derived classes. + + Whether the IgnoreExtraElements value should be inherited by derived classes. + + + + Sets whether this class is a root class. + + Whether this class is a root class. + + + + Removes a creator map for a constructor from the class map. + + The constructor info. + + + + Removes a creator map for a factory method from the class map. + + The method info. + + + + Removes the member map for a field from the class map. + + The name of the field. + + + + Removes a member map from the class map. + + The member info. + + + + Removes the member map for a property from the class map. + + The name of the property. + + + + Gets the discriminator convention for the class. + + The discriminator convention for the class. + + + + Represents a mapping between a class and a BSON document. + + The class. + + + + Initializes a new instance of the BsonClassMap class. + + + + + Initializes a new instance of the BsonClassMap class. + + The class map initializer. + + + + Initializes a new instance of the BsonClassMap class. + + The base class map. + + + + Creates an instance. + + An instance. + + + + Gets a member map. + + The member type. + A lambda expression specifying the member. + The member map. + + + + Creates a creator map and adds it to the class map. + + Lambda expression specifying the creator code and parameters to use. + The member map. + + + + Creates a member map for the extra elements field and adds it to the class map. + + The member type. + A lambda expression specifying the extra elements field. + The member map. + + + + Creates a member map for the extra elements member and adds it to the class map. + + The member type. + A lambda expression specifying the extra elements member. + The member map. + + + + Creates a member map for the extra elements property and adds it to the class map. + + The member type. + A lambda expression specifying the extra elements property. + The member map. + + + + Creates a member map for a field and adds it to the class map. + + The member type. + A lambda expression specifying the field. + The member map. + + + + Creates a member map for the Id field and adds it to the class map. + + The member type. + A lambda expression specifying the Id field. + The member map. + + + + Creates a member map for the Id member and adds it to the class map. + + The member type. + A lambda expression specifying the Id member. + The member map. + + + + Creates a member map for the Id property and adds it to the class map. + + The member type. + A lambda expression specifying the Id property. + The member map. + + + + Creates a member map and adds it to the class map. + + The member type. + A lambda expression specifying the member. + The member map. + + + + Creates a member map for the property and adds it to the class map. + + The member type. + A lambda expression specifying the property. + The member map. + + + + Removes the member map for a field from the class map. + + The member type. + A lambda expression specifying the field. + + + + Removes a member map from the class map. + + The member type. + A lambda expression specifying the member. + + + + Removes a member map for a property from the class map. + + The member type. + A lambda expression specifying the property. + + + + Represents the class map serialization provider. + + + + + + + + Represents a mapping to a delegate and its arguments. + + + + + Initializes a new instance of the BsonCreatorMap class. + + The class map. + The member info (null if none). + The delegate. + + + + Gets the arguments. + + + + + Gets the class map that this creator map belongs to. + + + + + Gets the delegeate + + + + + Gets the element names. + + + + + Gets the member info (null if none). + + + + + + + + Freezes the creator map. + + + + + + + + Gets whether there is a default value for a missing element. + + The element name. + True if there is a default value for element name; otherwise, false. + + + + Sets the arguments for the creator map. + + The arguments. + The creator map. + + + + Sets the arguments for the creator map. + + The argument names. + The creator map. + + + + Represents args common to all serializers. + + + + + Gets or sets the nominal type. + + + The nominal type. + + + + + Represents all the contextual information needed by a serializer to deserialize a value. + + + + + Gets a value indicating whether to allow duplicate element names. + + + true if duplicate element names shoud be allowed; otherwise, false. + + + + + Gets the dynamic array serializer. + + + The dynamic array serializer. + + + + + Gets the dynamic document serializer. + + + The dynamic document serializer. + + + + + Gets the reader. + + + The reader. + + + + + Creates a root context. + + The reader. + The configurator. + + A root context. + + + + + Creates a new context with some values changed. + + The configurator. + + A new context. + + + + + Represents a builder for a BsonDeserializationContext. + + + + + Gets or sets a value indicating whether to allow duplicate element names. + + + true if duplicate element names should be allowed; otherwise, false. + + + + + Gets or sets the dynamic array serializer. + + + The dynamic array serializer. + + + + + Gets or sets the dynamic document serializer. + + + The dynamic document serializer. + + + + + Gets the reader. + + + The reader. + + + + + Builds the BsonDeserializationContext instance. + + A BsonDeserializationContext. + + + + A class backed by a BsonDocument. + + + + + Initializes a new instance of the class. + + The serializer. + + + + Initializes a new instance of the class. + + The backing document. + The serializer. + + + + Gets the backing document. + + + + + Gets the value from the backing document. + + The type of the value. + The member name. + The value. + + + + Gets the value from the backing document. + + The type of the value. + The member name. + The default value. + The value. + + + + Sets the value in the backing document. + + The member name. + The value. + + + + Represents the mapping between a field or property and a BSON element. + + + + + Initializes a new instance of the BsonMemberMap class. + + The class map this member map belongs to. + The member info. + + + + Gets the class map that this member map belongs to. + + + + + Gets the name of the member. + + + + + Gets the type of the member. + + + + + Gets whether the member type is a BsonValue. + + + + + Gets the name of the element. + + + + + Gets the serialization order. + + + + + Gets the member info. + + + + + Gets the getter function. + + + + + Gets the setter function. + + + + + Gets the Id generator. + + + + + Gets whether a default value was specified. + + + + + Gets whether an element is required for this member when deserialized. + + + + + Gets the method that will be called to determine whether the member should be serialized. + + + + + Gets whether default values should be ignored when serialized. + + + + + Gets whether null values should be ignored when serialized. + + + + + Gets the default value. + + + + + Gets whether the member is readonly. + + + Readonly indicates that the member is written to the database, but not read from the database. + + + + + Applies the default value to the member of an object. + + The object. + + + + Freezes this instance. + + + + + + + + + + + Gets the serializer. + + The serializer. + + + + Resets the member map back to its initial state. + + The member map. + + + + Sets the default value creator. + + The default value creator (note: the supplied delegate must be thread safe). + The member map. + + + + Sets the default value. + + The default value. + The member map. + + + + Sets the name of the element. + + The name of the element. + The member map. + + + + Sets the Id generator. + + The Id generator. + The member map. + + + + Sets whether default values should be ignored when serialized. + + Whether default values should be ignored when serialized. + The member map. + + + + Sets whether null values should be ignored when serialized. + + Wether null values should be ignored when serialized. + The member map. + + + + Sets whether an element is required for this member when deserialized + + Whether an element is required for this member when deserialized + The member map. + + + + Sets the serialization order. + + The serialization order. + The member map. + + + + Sets the serializer. + + The serializer. + + The member map. + + serializer + serializer + + + + Sets the method that will be called to determine whether the member should be serialized. + + The method. + The member map. + + + + Determines whether a value should be serialized + + The object. + The value. + True if the value should be serialized. + + + + Provides serializers for BsonValue and its derivations. + + + + + + + + Represents args common to all serializers. + + + + + Initializes a new instance of the struct. + + The nominal type. + Whether to serialize as the nominal type. + Whether to serialize the id first. + + + + Gets or sets the nominal type. + + + The nominal type. + + + + + Gets or sets a value indicating whether to serialize the value as if it were an instance of the nominal type. + + + + + Gets or sets a value indicating whether to serialize the id first. + + + + + Represents all the contextual information needed by a serializer to serialize a value. + + + + + Gets a function that, when executed, will indicate whether the type + is a dynamic type. + + + + + Gets the writer. + + + The writer. + + + + + Creates a root context. + + The writer. + The serialization context configurator. + + A root context. + + + + + Creates a new context with some values changed. + + The serialization context configurator. + + A new context. + + + + + Represents a builder for a BsonSerializationContext. + + + + + Gets or sets the function used to determine if a type is a dynamic type. + + + + + Gets the writer. + + + The writer. + + + + + Builds the BsonSerializationContext instance. + + A BsonSerializationContext. + + + + Represents the information needed to serialize a member. + + + + + Creates a new instance of the BsonSerializationinfo class with an element path instead of an element name. + + The element path. + The serializer. + The nominal type. + A BsonSerializationInfo. + + + + Initializes a new instance of the BsonSerializationInfo class. + + The element name. + The serializer. + The nominal type. + + + + Gets the element name. + + + + + Gets element path. + + + + + Gets or sets the serializer. + + + + + Gets or sets the nominal type. + + + + + Deserializes the value. + + The value. + A deserialized value. + + + + + + + + + + Serializes the value. + + The value. + The serialized value. + + + + Serializes the values. + + The values. + The serialized values. + + + + Creates a new BsonSerializationInfo object using the elementName provided and copying all other attributes. + + Name of the element. + A new BsonSerializationInfo. + + + + Base class for serialization providers. + + + + + + + + + + + Creates the serializer from a serializer type definition and type arguments. + + The serializer type definition. + The type arguments. + A serializer. + + + + Creates the serializer from a serializer type definition and type arguments. + + The serializer type definition. + The type arguments. + The serializer registry. + + A serializer. + + + + + Creates the serializer. + + The serializer type. + A serializer. + + + + Creates the serializer. + + The serializer type. + The serializer registry. + + A serializer. + + + + + A static class that represents the BSON serialization functionality. + + + + + Gets the serializer registry. + + + + + Gets or sets whether to use the NullIdChecker on reference Id types that don't have an IdGenerator registered. + + + + + Gets or sets whether to use the ZeroIdChecker on value Id types that don't have an IdGenerator registered. + + + + + Deserializes an object from a BsonDocument. + + The nominal type of the object. + The BsonDocument. + The configurator. + A deserialized value. + + + + Deserializes a value. + + The nominal type of the object. + The BsonReader. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON byte array. + + The nominal type of the object. + The BSON byte array. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON Stream. + + The nominal type of the object. + The BSON Stream. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON string. + + The nominal type of the object. + The JSON string. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON TextReader. + + The nominal type of the object. + The JSON TextReader. + The configurator. + A deserialized value. + + + + Deserializes an object from a BsonDocument. + + The BsonDocument. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes a value. + + The BsonReader. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON byte array. + + The BSON byte array. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON Stream. + + The BSON Stream. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON string. + + The JSON string. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON TextReader. + + The JSON TextReader. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Returns whether the given type has any discriminators registered for any of its subclasses. + + A Type. + True if the type is discriminated. + + + + Looks up the actual type of an object to be deserialized. + + The nominal type of the object. + The discriminator. + The actual type of the object. + + + + Looks up the discriminator convention for a type. + + The type. + A discriminator convention. + + + + Looks up an IdGenerator. + + The Id type. + An IdGenerator for the Id type. + + + + Looks up a serializer for a Type. + + The type. + A serializer for type T. + + + + Looks up a serializer for a Type. + + The Type. + A serializer for the Type. + + + + Registers the discriminator for a type. + + The type. + The discriminator. + + + + Registers the discriminator convention for a type. + + Type type. + The discriminator convention. + + + + Registers a generic serializer definition for a generic type. + + The generic type. + The generic serializer definition. + + + + Registers an IdGenerator for an Id Type. + + The Id Type. + The IdGenerator for the Id Type. + + + + Registers a serialization provider. + + The serialization provider. + + + + Registers a serializer for a type. + + The type. + The serializer. + + + + Registers a serializer for a type. + + The type. + The serializer. + + + + Serializes a value. + + The nominal type of the object. + The BsonWriter. + The object. + The serialization context configurator. + The serialization args. + + + + Serializes a value. + + The BsonWriter. + The nominal type of the object. + The object. + The serialization context configurator. + The serialization args. + + + + Tries to register a serializer for a type. + + The serializer. + The type. + True if the serializer was registered on this call, false if the same serializer was already registered on a previous call, throws an exception if a different serializer was already registered. + + + + Tries to register a serializer for a type. + + The type. + The serializer. + True if the serializer was registered on this call, false if the same serializer was already registered on a previous call, throws an exception if a different serializer was already registered. + + + + Default, global implementation of an . + + + + + Initializes a new instance of the class. + + + + + Gets the serializer for the specified . + If none is already registered, the serialization providers will be used to create a serializer and it will be automatically registered. + + The type. + + The serializer. + + + + + Gets the serializer for the specified . + If none is already registered, the serialization providers will be used to create a serializer and it will be automatically registered. + + The value type of the serializer. + + The serializer. + + + + + Registers the serializer. + + The type. + The serializer. + + + + Registers the serialization provider. This behaves like a stack, so the + last provider registered is the first provider consulted. + + The serialization provider. + + + + Tries to register the serializer. + + The type. + The serializer. + True if the serializer was registered on this call, false if the same serializer was already registered on a previous call, throws an exception if a different serializer was already registered. + + + + Provides serializers for collections. + + + + + + + + Convention pack for applying attributes. + + + + + Initializes a new instance of the class. + + + + + Gets the instance. + + + + + Gets the conventions. + + + + + A convention that sets the element name the same as the member name with the first character lower cased. + + + + + Applies a modification to the member map. + + The member map. + + + + Base class for a convention. + + + + + Initializes a new instance of the ConventionBase class. + + + + + Initializes a new instance of the ConventionBase class. + + The name of the convention. + + + + Gets the name of the convention. + + + + + A mutable pack of conventions. + + + + + Initializes a new instance of the class. + + + + + Gets the conventions. + + + + + Adds the specified convention. + + The convention. + + + + + Adds a class map convention created using the specified action upon a class map. + + The name of the convention. + The action the convention should take upon the class map. + + + + Adds a member map convention created using the specified action upon a member map. + + The name of the convention. + The action the convention should take upon the member map. + + + + Adds a post processing convention created using the specified action upon a class map. + + The name of the convention. + The action the convention should take upon the class map. + + + + Adds a range of conventions. + + The conventions. + + + + + Appends the conventions in another pack to the end of this pack. + + The other pack. + + + + Gets an enumerator for the conventions. + + An enumerator. + + + + Inserts the convention after another convention specified by the name. + + The name. + The convention. + + + + Inserts the convention before another convention specified by the name. + + The name. + The convention. + + + + Removes the named convention. + + The name of the convention. + + + + Represents a registry of conventions. + + + + + Looks up the effective set of conventions that apply to a type. + + The type. + The conventions for that type. + + + + Registers the conventions. + + The name. + The conventions. + The filter. + + + + Removes the conventions specified by the given name. + + The name. + Removing a convention allows the removal of the special __defaults__ conventions + and the __attributes__ conventions for those who want to completely customize the + experience. + + + + Runs the conventions against a BsonClassMap and its BsonMemberMaps. + + + + + Initializes a new instance of the class. + + The conventions. + + + + Applies a modification to the class map. + + The class map. + + + + Convention pack of defaults. + + + + + Initializes a new instance of the class. + + + + + Gets the instance. + + + + + Gets the conventions. + + + + + A class map convention that wraps a delegate. + + + + + Initializes a new instance of the class. + + The name. + The delegate. + + + + Applies a modification to the class map. + + The class map. + + + + A member map convention that wraps a delegate. + + + + + Initializes a new instance of the class. + + The name. + The delegate. + + + + Applies a modification to the member map. + + The member map. + + + + A post processing convention that wraps a delegate. + + + + + Initializes a new instance of the class. + + The name. + The delegate. + + + + Applies a post processing modification to the class map. + + The class map. + + + + A convention that allows you to set the Enum serialization representation + + + + + Initializes a new instance of the class. + + The serialization representation. 0 is used to detect representation + from the enum itself. + + + + Initializes a new instance of the class. + + The serialization representation. 0 is used to detect representation + from the enum itself. + If set to true, the convention will be applied only to top level enum properties, and not collections of enums, for example. + + + + Gets the representation. + + + + + Gets a boolean indicating if this convention should be also applied only to the top level enum properties and not to others, + collections of enums for example. True by default. + + + + + Applies a modification to the member map. + + The member map. + + + + Represents a discriminator convention where the discriminator is an array of all the discriminators provided by the class maps of the root class down to the actual type. + + + + + Initializes a new instance of the HierarchicalDiscriminatorConvention class. + + The element name. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + Represents a convention that applies to a BsonClassMap. + + + + + Applies a modification to the class map. + + The class map. + + + + Represents a convention. + + + + + Gets the name of the convention. + + + + + Represents a grouping of conventions. + + + + + Gets the conventions. + + + + + Represents a convention that applies to a BsonCreatorMap. + + + + + Applies a modification to the creator map. + + The creator map. + + + + Represents a discriminator convention. + + + + + Gets the discriminator element name. + + + + + Gets the actual type of an object by reading the discriminator from a BsonReader. + + The reader. + The nominal type. + The actual type. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + A convention that sets whether to ignore extra elements encountered during deserialization. + + + + + Initializes a new instance of the class. + + Whether to ignore extra elements encountered during deserialization. + + + + Applies a modification to the class map. + + The class map. + + + + A convention that sets whether to ignore default values during serialization. + + + + + Initializes a new instance of the class. + + Whether to ignore default values during serialization. + + + + Applies a modification to the member map. + + The member map. + + + + A convention that sets whether to ignore nulls during serialization. + + + + + Initializes a new instance of the class. + + Whether to ignore nulls during serialization. + + + + Applies a modification to the member map. + + The member map. + + + + Represents a discriminator convention where the discriminator for each type in a polymorphic hierarchy is an array representing the hierarchy. + + + + + Represents a convention that applies to a BsonMemberMap. + + + + + Applies a modification to the member map. + + The member map. + + + + Maps a fully immutable type. This will include anonymous types. + + + + + + + + Represents a post processing convention that applies to a BsonClassMap. + + + + + Applies a post processing modification to the class map. + + The class map. + + + + Represents a discriminator convention where the discriminator for each type in a polymorphic hierarchy is a scalar. + + + + + Returns the discriminators for a type and all of its known subtypes. + + The type. + The discriminators. + + + + A convention that looks up an id generator for the id member. + + + + + Applies a post processing modification to the class map. + + The class map. + + + + A convention that sets the default value for members of a given type. + + + + + Initializes a new instance of the class. + + The type of the member. + The default value for members of this type. + + + + Applies a modification to the member map. + + The member map. + + + + A convention that sets the element name the same as the member name. + + + + + Applies a modification to the member map. + + The member map. + + + + A convention that finds the extra elements member by name (and that is also of type or ). + + + + + Initializes a new instance of the NamedExtraElementsMemberConvention class. + + The name of the extra elements member. + + + + Initializes a new instance of the class. + + The names. + + + + Initializes a new instance of the class. + + The names. + The member types. + + + + Initializes a new instance of the class. + + The names. + The binding flags. + + + + Initializes a new instance of the class. + + The names. + The member types. + The binding flags. + + + + + Applies a modification to the class map. + + The class map. + + + + A convention that finds the id member by name. + + + + + Initializes a new instance of the class. + + The names. + + + + Initializes a new instance of the class. + + The names. + + + + Initializes a new instance of the class. + + The names. + The member types. + + + + Initializes a new instance of the class. + + The names. + The binding flags. + + + + Initializes a new instance of the class. + + The names. + The member types. + The binding flags. + + + + + Applies a modification to the class map. + + The class map. + + + + A convention that uses the names of the creator parameters to find the matching members. + + + + + Applies a modification to the creator map. + + The creator map. + + + + A convention that sets a class's IdMember to null. + + + + + Applies a post processing modification to the class map. + + The class map. + + + + Represents the object discriminator convention. + + + + + Initializes a new instance of the ObjectDiscriminatorConvention class. + + The element name. + + + + Gets an instance of the ObjectDiscriminatorConvention. + + + + + Gets the discriminator element name. + + + + + + + + Gets the actual type of an object by reading the discriminator from a BsonReader. + + The reader. + The nominal type. + The actual type. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + + + + A convention that allows to set the types that can be safely serialized and deserialized with the . + + + + + A predefined where all types are allowed for both serialization and deserialization. + + + + + A predefined where no types are allowed for both serialization and deserialization. + + + + + A predefined where only default framework types are allowed for both serialization and deserialization. + + + + + Builds a predefined where all calling assembly types and default framework types are allowed for both serialization and deserialization. + + + + + Initializes a new instance of the class. + + A delegate that determines what types are allowed to be serialized and deserialized. + + + + Initializes a new instance of the class. + + A delegate that determines what types are allowed to be deserialized. + A delegate that determines what types are allowed to be serialized. + + + + Initializes a new instance of the class. + + A collection of the allowed types for both serialization and deserialization. + + + + Initializes a new instance of the class. + + A collection of the allowed types for deserialization. + A collection of the allowed types for serialization. + + + + Initializes a new instance of the class. + + A collection of allowed assemblies whose types can be serialized and deserialized. + + + + Initializes a new instance of the class. + + + + + Indicates whether default framework types are included for serialization and deserialization. Defaults to true. + + + + + Applies a modification to the member map. + + The member map. + + + + A convention that finds readable and writeable members and adds them to the class map. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The member types. + + + + Initializes a new instance of the class. + + The binding flags. + + + + Initializes a new instance of the class. + + The member types. + The binding flags. + + + + Applies a modification to the class map. + + The class map. + + + + A convention that resets a class map (resetting any changes that earlier conventions may have applied). + + + + + Applies a modification to the class map. + + The class map. + + + + A convention that resets class members (resetting any changes that earlier conventions may have applied). + + + + + Applies a modification to the member map. + + The member map. + + + + Represents a discriminator convention where the discriminator is provided by the class map of the actual type. + + + + + Initializes a new instance of the ScalarDiscriminatorConvention class. + + The element name. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + + + + Represents the standard discriminator conventions (see ScalarDiscriminatorConvention and HierarchicalDiscriminatorConvention). + + + + + Initializes a new instance of the StandardDiscriminatorConvention class. + + The element name. + + + + Gets an instance of the ScalarDiscriminatorConvention. + + + + + Gets an instance of the HierarchicalDiscriminatorConvention. + + + + + Gets the discriminator element name. + + + + + + + + Gets the actual type of an object by reading the discriminator from a BsonReader. + + The reader. + The nominal type. + The actual type. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + + + + A convention that sets the representation of a string id class member to ObjectId in BSON with a StringObjectIdGenerator. + This convention is only responsible for setting the serializer and idGenerator. It is assumed that this convention runs after + other conventions that identify which member is the _id and that the _id has already been added to the class map. + + + + + + + + A convention that sets the id generator for a string member with a BSON representation of ObjectId. + + + + + Applies a post processing modification to the class map. + + The class map. + + + + A helper class used to create and compile delegates for creator maps. + + + + + Creates and compiles a delegate that calls a constructor. + + The constructor. + A delegate that calls the constructor. + + + + Creates and compiles a delegate from a lambda expression. + + The type of the class. + The lambda expression. + The arguments for the delegate's parameters. + A delegate. + + + + Creates and compiles a delegate that calls a factory method. + + the method. + A delegate that calls the factory method. + + + + Visits a MemberExpression. + + The MemberExpression. + The MemberExpression (possibly modified). + + + + Visits a ParameterExpression. + + The ParameterExpression. + The ParameterExpression (possibly modified). + + + + Provides a serializer for interfaces. + + + + + + + + An abstract base class for an Expression visitor. + + + + + Initializes a new instance of the ExpressionVisitor class. + + + + + Visits an Expression. + + The Expression. + The Expression (posibly modified). + + + + Visits an Expression list. + + The Expression list. + The Expression list (possibly modified). + + + + Visits a BinaryExpression. + + The BinaryExpression. + The BinaryExpression (possibly modified). + + + + Visits a ConditionalExpression. + + The ConditionalExpression. + The ConditionalExpression (possibly modified). + + + + Visits a ConstantExpression. + + The ConstantExpression. + The ConstantExpression (possibly modified). + + + + Visits an ElementInit. + + The ElementInit. + The ElementInit (possibly modified). + + + + Visits an ElementInit list. + + The ElementInit list. + The ElementInit list (possibly modified). + + + + Visits an InvocationExpression. + + The InvocationExpression. + The InvocationExpression (possibly modified). + + + + Visits a LambdaExpression. + + The LambdaExpression. + The LambdaExpression (possibly modified). + + + + Visits a ListInitExpression. + + The ListInitExpression. + The ListInitExpression (possibly modified). + + + + Visits a MemberExpression. + + The MemberExpression. + The MemberExpression (possibly modified). + + + + Visits a MemberAssignment. + + The MemberAssignment. + The MemberAssignment (possibly modified). + + + + Visits a MemberBinding. + + The MemberBinding. + The MemberBinding (possibly modified). + + + + Visits a MemberBinding list. + + The MemberBinding list. + The MemberBinding list (possibly modified). + + + + Visits a MemberInitExpression. + + The MemberInitExpression. + The MemberInitExpression (possibly modified). + + + + Visits a MemberListBinding. + + The MemberListBinding. + The MemberListBinding (possibly modified). + + + + Visits a MemberMemberBinding. + + The MemberMemberBinding. + The MemberMemberBinding (possibly modified). + + + + Visits a MethodCallExpression. + + The MethodCallExpression. + The MethodCallExpression (possibly modified). + + + + Visits a NewExpression. + + The NewExpression. + The NewExpression (possibly modified). + + + + Visits a NewArrayExpression. + + The NewArrayExpression. + The NewArrayExpression (possibly modified). + + + + Visits a ParameterExpression. + + The ParameterExpression. + The ParameterExpression (possibly modified). + + + + Visits a TypeBinaryExpression. + + The TypeBinaryExpression. + The TypeBinaryExpression (possibly modified). + + + + Visits a UnaryExpression. + + The UnaryExpression. + The UnaryExpression (possibly modified). + + + + Contract for serializers to implement if they serialize an array of items. + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a dictionary serializer that can be used in LINQ queries. + + + + + Gets the dictionary representation. + + + The dictionary representation. + + + + + Gets the key serializer. + + + The key serializer. + + + + + Gets the value serializer. + + + The value serializer. + + + + + Contract for composite serializers that contain a number of named serializers. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + true if the serialization info exists; otherwise false. + + + + Contract for serializers that can get and set Id values. + + + + + Gets the document Id. + + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. + + + + Sets the document Id. + + The document. + The Id. + + + + An interface implemented by a polymorphic serializer. + + + + + Gets a value indicating whether this serializer's discriminator is compatible with the object serializer. + + + true if this serializer's discriminator is compatible with the object serializer; otherwise, false. + + + + + An interface implemented by serialization providers. + + + + + Gets a serializer for a type. + + The type. + A serializer. + + + + An interface implemented by serialization providers that are aware of registries. + + + This interface was added to preserve backward compatability (changing IBsonSerializationProvider would have been a backward breaking change). + + + + + Gets a serializer for a type. + + The type. + The serializer registry. + + A serializer. + + + + + An interface implemented by a serializer. + + + + + Gets the type of the value. + + + The type of the value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + An interface implemented by a serializer for values of type TValue. + + The type that this serializer knows how to serialize. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Extensions methods for IBsonSerializer. + + + + + Deserializes a value. + + The serializer. + The deserialization context. + A deserialized value. + + + + Deserializes a value. + + The type that this serializer knows how to serialize. + The serializer. + The deserialization context. + A deserialized value. + + + + Gets the discriminator convention for a serializer. + + The serializer. + The discriminator convention. + + + + Serializes a value. + + The serializer. + The serialization context. + The value. + + + + Serializes a value. + + The type that this serializer knows how to serialize. + The serializer. + The serialization context. + The value. + + + + Converts a value to a BsonValue by serializing it. + + The serializer. + The value. + The serialized value. + + + + Converts a value to a BsonValue by serializing it. + + The type of the value. + The serializer. + The value. + The serialized value. + + + + A serializer registry. + + + + + Gets the serializer for the specified . + + The type. + The serializer. + + + + Gets the serializer for the specified . + + The value type of the serializer. + The serializer. + + + + Represents a serializer that has a child serializer that configuration attributes can be forwarded to. + + + + + Gets the child serializer. + + + The child serializer. + + + + + Returns a serializer that has been reconfigured with the specified child serializer. + + The child serializer. + The reconfigured serializer. + + + + A GUID generator that generates GUIDs in ascending order. To enable + an index to make use of the ascending nature make sure to use + GuidRepresentation.Standard + as the storage representation. + Internally the GUID is of the form + 8 bytes: Ticks from DateTime.UtcNow.Ticks + 5 bytes: Random value from ObjectId spec + 3 bytes: increment + + + + + Gets an instance of AscendingGuidGenerator. + + + + + Generates an ascending Guid for a document. Consecutive invocations + should generate Guids that are ascending from a MongoDB perspective + + The container of the document (will be a + MongoCollection when called from the driver). + The document it was generated for. + A Guid. + + + + Generates a Guid for a document. Note - this is purely used for + unit testing + + The time portion of the Guid + A 5 byte array with the first 3 bytes + representing a machine id and the next 2 representing a process + id + The increment portion of the Guid. Used + to distinguish between 2 Guids that have the timestamp. Note + only the least significant 3 bytes are used. + A Guid. + + + + Tests whether an id is empty. + + The id to test. + True if the Id is empty. False otherwise + + + + Represents an Id generator for Guids stored in BsonBinaryData values. + + + + + Initializes a new instance of the BsonBinaryDataGuidGenerator class. + + The GuidRepresentation to use when generating new Id values. + + + + Gets an instance of BsonBinaryDataGuidGenerator for CSharpLegacy GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for JavaLegacy GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for PythonLegacy GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for Standard GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for Unspecifed GuidRepresentation. + + + + + Gets the Guid representation. + + + + + Gets the instance of BsonBinaryDataGuidGenerator for a GuidRepresentation. + + The GuidRepresentation. + The instance of BsonBinaryDataGuidGenerator for a GuidRepresentation. + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for BsonObjectIds. + + + + + Initializes a new instance of the BsonObjectIdGenerator class. + + + + + Gets an instance of ObjectIdGenerator. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for Guids using the COMB algorithm. + + + + + Initializes a new instance of the CombGuidGenerator class. + + + + + Gets an instance of CombGuidGenerator. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Create a new CombGuid from a given Guid and timestamp. + + The base Guid. + The timestamp. + A new CombGuid created by combining the base Guid with the timestamp. + + + + Represents an Id generator for Guids. + + + + + Initializes a new instance of the GuidGenerator class. + + + + + Gets an instance of GuidGenerator. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator that only checks that the Id is not null. + + + + + Initializes a new instance of the NullIdChecker class. + + + + + Gets an instance of NullIdChecker. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for ObjectIds. + + + + + Initializes a new instance of the ObjectIdGenerator class. + + + + + Gets an instance of ObjectIdGenerator. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for ObjectIds represented internally as strings. + + + + + Initializes a new instance of the StringObjectIdGenerator class. + + + + + Gets an instance of StringObjectIdGenerator. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator that only checks that the Id is not all zeros. + + The type of the Id. + + + + Initializes a new instance of the ZeroIdChecker class. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents a serializer that has a DictionaryRepresentation property. + + + + + Gets the dictionary representation. + + + The dictionary representation. + + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Represents a serializer that has a DictionaryRepresentation property. + + The type of the serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Represents a serializer that has a DiscriminatorConvention property. + + + + + Gets the discriminator convention. + + + + + An interface implemented by Id generators. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents a serializer that has multiple child serializers that configuration attributes can be forwarded to. + + + + + Gets the child serializers. + + + The child serializers. + + + + + Returns a serializer that has been reconfigured with the specified child serializers. + + The child serializers. + The reconfigured serializer. + + + + Represents a serializer that has a Representation property. + + + + + Gets the representation. + + + + + Represents a serializer whose representation can be configured. + + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer that has a Representation property. + + The type of the serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer that has a representation converter. + + + + + Gets the converter. + + + The converter. + + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Represents a serializer that has a representation converter. + + The type of the serializer. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Represents the format to use with a DateOnly serializer when the representation is BsonType.Document. + + + + + The document will contain "DateTime" (BsonType.DateTime) and "Ticks" (BsonType.Int64). + + + + + The document will contain "Year", "Month" and "Day" (all BsonType.Int32). + + + + + Represents the representation to use for dictionaries. + + + + + Represent the dictionary as a Document. + + + + + Represent the dictionary as an array of arrays. + + + + + Represent the dictionary as an array of documents. + + + + + Represents the external representation of a field or property. + + + + + Initializes a new instance of the RepresentationConverter class. + + Whether to allow overflow. + Whether to allow truncation. + + + + Gets whether to allow overflow. + + + + + Gets whether to allow truncation. + + + + + + + + + + + Converts a Decimal128 to a Decimal. + + A Decimal128. + A Decimal. + + + + Converts a Double to a Decimal. + + A Double. + A Decimal. + + + + Converts an Int32 to a Decimal. + + An Int32. + A Decimal. + + + + Converts an Int64 to a Decimal. + + An Int64. + A Decimal. + + + + Converts a decimal to a Decimal128. + + A decimal. + A Decimal128. + + + + Converts a Double to a Decimal128. + + A Double. + A Decimal128. + + + + Converts an Int32 to a Decimal128. + + An Int32. + A Decimal128. + + + + Converts an Int64 to a Decimal128. + + An Int64. + A Decimal128. + + + + Converts a UInt64 to a Decimal128. + + A UInt64. + A Decimal128. + + + + Converts a Decimal to a Double. + + A Decimal. + A Double. + + + + Converts a Decimal128 to a Double. + + A Decimal. + A Double. + + + + Converts a Double to a Double. + + A Double. + A Double. + + + + Converts a Single to a Double. + + A Single. + A Double. + + + + Converts an Int32 to a Double. + + An Int32. + A Double. + + + + Converts an Int64 to a Double. + + An Int64. + A Double. + + + + Converts an Int16 to a Double. + + An Int16. + A Double. + + + + Converts a UInt32 to a Double. + + A UInt32. + A Double. + + + + Converts a UInt64 to a Double. + + A UInt64. + A Double. + + + + Converts a UInt16 to a Double. + + A UInt16. + A Double. + + + + Converts a Decimal128 to an Int16. + + A Decimal128. + An Int16. + + + + Converts a Double to an Int16. + + A Double. + An Int16. + + + + Converts an Int32 to an Int16. + + An Int32. + An Int16. + + + + Converts an Int64 to an Int16. + + An Int64. + An Int16. + + + + Converts a Decimal to an Int32. + + A Decimal. + An Int32. + + + + Converts a Decimal128 to an Int32. + + A Decimal128. + An Int32. + + + + Converts a Double to an Int32. + + A Double. + An Int32. + + + + Converts a Single to an Int32. + + A Single. + An Int32. + + + + Converts an Int32 to an Int32. + + An Int32. + An Int32. + + + + Converts an Int64 to an Int32. + + An Int64. + An Int32. + + + + Converts an Int16 to an Int32. + + An Int16. + An Int32. + + + + Converts a UInt32 to an Int32. + + A UInt32. + An Int32. + + + + Converts a UInt64 to an Int32. + + A UInt64. + An Int32. + + + + Converts a UInt16 to an Int32. + + A UInt16. + An Int32. + + + + Converts a Decimal to an Int64. + + A Decimal. + An Int64. + + + + Converts a Decimal128 to an Int64. + + A Decimal128. + An Int64. + + + + Converts a Double to an Int64. + + A Double. + An Int64. + + + + Converts a Single to an Int64. + + A Single. + An Int64. + + + + Converts an Int32 to an Int64. + + An Int32. + An Int64. + + + + Converts an Int64 to an Int64. + + An Int64. + An Int64. + + + + Converts an Int16 to an Int64. + + An Int16. + An Int64. + + + + Converts a UInt32 to an Int64. + + A UInt32. + An Int64. + + + + Converts a UInt64 to an Int64. + + A UInt64. + An Int64. + + + + Converts a UInt16 to an Int64. + + A UInt16. + An Int64. + + + + Converts a Decimal128 to a Single. + + A Decimal128. + A Single. + + + + Converts a Double to a Single. + + A Double. + A Single. + + + + Converts an Int32 to a Single. + + An Int32. + A Single. + + + + Converts an Int64 to a Single. + + An Int64. + A Single. + + + + Converts a Decimal128 to a UInt16. + + A Decimal128. + A UInt16. + + + + Converts a Double to a UInt16. + + A Double. + A UInt16. + + + + Converts an Int32 to a UInt16. + + An Int32. + A UInt16. + + + + Converts an Int64 to a UInt16. + + An Int64. + A UInt16. + + + + Converts a Decimal128 to a UInt32. + + A Decimal128. + A UInt32. + + + + Converts a Double to a UInt32. + + A Double. + A UInt32. + + + + Converts an Int32 to a UInt32. + + An Int32. + A UInt32. + + + + Converts an Int64 to a UInt32. + + An Int64. + A UInt32. + + + + Converts a Decimal128 to a UInt64. + + A Decimal128. + A UInt64. + + + + Converts a Double to a UInt64. + + A Double. + A UInt64. + + + + Converts an Int32 to a UInt64. + + An Int32. + A UInt64. + + + + Converts an Int64 to a UInt64. + + An Int64. + A UInt64. + + + + Represents the units a TimeOnly is serialized in. + + + + + Use ticks as the units. + + + + + Use hours as the units. + + + + + Use minutes as the units. + + + + + Use seconds as the units. + + + + + Use milliseconds as the units. + + + + + Use microseconds as the units. + + + + + Use nanoseconds as the units. + + + + + Represents the units a TimeSpan is serialized in. + + + + + Use ticks as the units. + + + + + Use days as the units. + + + + + Use hours as the units. + + + + + Use minutes as the units. + + + + + Use seconds as the units. + + + + + Use milliseconds as the units. + + + + + Use microseconds as the units. + + + + + Use nanoseconds as the units. + + + + + Provides serializers for primitive types. + + + + + + + + Represents a serializer for an abstract class. + + The type of the class. + + + + Represents a serializer for one-dimensional arrays. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for TItemContainer values represented as a BinaryVector. + + The items container, for example or . + The .NET data type. + + + + Initializes a new instance of the class. + + Type of the binary vector data. + + + + Gets the type of the vector data. + + + + + + + + + + + Reads bson binary data. + + The bson reader. + + + + Represents a serializer for . + + The concrete type derived from . + The .NET data type. + + + + Initializes a new instance of the class. + + + + + + + + + + + A base class for serializers for containers represented as a BinaryVector. + + The collection type. + The .NET data type. + + + + Initializes a new instance of the class. + + + + + + + + + + + Represents a serializer for arrays represented as a BinaryVector. + + The .NET data type. + + + + Initializes a new instance of the class. + + + + + Represents a serializer for represented as a binary vector. + + The .NET data type. + + + + Initializes a new instance of the class. + + + + + Represents a serializer for represented as a BinaryVector. + + The .NET data type. + + + + Initializes a new instance of the class. + + + + + Represents a serializer for BitArrays. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Booleans. + + + + + Gets a cached instance of a BooleanSerializer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for BsonArrays. + + + + + Initializes a new instance of the BsonArraySerializer class. + + + + + Gets an instance of the BsonArraySerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonBinaryDatas. + + + + + Initializes a new instance of the BsonBinaryDataSerializer class. + + + + + Gets an instance of the BsonBinaryDataSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonBooleans. + + + + + Initializes a new instance of the BsonBooleanSerializer class. + + + + + Gets an instance of the BsonBooleanSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDateTimes. + + + + + Initializes a new instance of the BsonDateTimeSerializer class. + + + + + Gets an instance of the BsonDateTimeSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDecimal128s. + + + + + Initializes a new instance of the BsonBooleanSerializer class. + + + + + Gets an instance of the BsonBooleanSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDocuments. + + + + + Initializes a new instance of the BsonDocumentSerializer class. + + + + + Gets an instance of the BsonDocumentSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the document Id. + + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Sets the document Id. + + The document. + The Id. + + + + Represents a serializer for BsonDocumentWrappers. + + + + + Initializes a new instance of the BsonDocumentWrapperSerializer class. + + + + + Gets an instance of the BsonDocumentWrapperSerializer class. + + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + An object. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDoubles. + + + + + Initializes a new instance of the BsonDoubleSerializer class. + + + + + Gets an instance of the BsonDoubleSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonInt32s. + + + + + Initializes a new instance of the BsonInt32Serializer class. + + + + + Gets an instance of the BsonInt32Serializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonInt64s. + + + + + Initializes a new instance of the BsonInt64Serializer class. + + + + + Gets an instance of the BsonInt64Serializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonJavaScripts. + + + + + Initializes a new instance of the BsonJavaScriptSerializer class. + + + + + Gets an instance of the BsonJavaScriptSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonJavaScriptWithScopes. + + + + + Initializes a new instance of the BsonJavaScriptWithScopeSerializer class. + + + + + Gets an instance of the BsonJavaScriptWithScopeSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonMaxKeys. + + + + + Initializes a new instance of the BsonMaxKeySerializer class. + + + + + Gets an instance of the BsonMaxKeySerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonMinKeys. + + + + + Initializes a new instance of the BsonMinKeySerializer class. + + + + + Gets an instance of the BsonMinKeySerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonNulls. + + + + + Initializes a new instance of the BsonNullSerializer class. + + + + + Gets an instance of the BsonNullSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonObjectIds. + + + + + Initializes a new instance of the BsonObjectIdSerializer class. + + + + + Gets an instance of the BsonObjectIdSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonRegularExpressions. + + + + + Initializes a new instance of the BsonRegularExpressionSerializer class. + + + + + Gets an instance of the BsonRegularExpressionSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonStrings. + + + + + Initializes a new instance of the BsonStringSerializer class. + + + + + Gets an instance of the BsonStringSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonSymbols. + + + + + Initializes a new instance of the BsonSymbolSerializer class. + + + + + Gets an instance of the BsonSymbolSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonTimestamps. + + + + + Initializes a new instance of the BsonTimestampSerializer class. + + + + + Gets an instance of the BsonTimestampSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonUndefineds. + + + + + Initializes a new instance of the BsonUndefinedSerializer class. + + + + + Gets an instance of the BsonUndefinedSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for a BsonValue that can round trip C# null. + + The type of the BsonValue. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for a BsonValue that can round trip C# null and implements IBsonArraySerializer and IBsonDocumentSerializer. + + The type of the bson value. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + The serialization info for the items. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for a BsonValue that can round trip C# null and implements IBsonArraySerializer. + + The type of the bson value. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for a BsonValue that can round trip C# null and implements IBsonDocumentSerializer. + + The type of the bson value. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for BsonValues. + + + + + Initializes a new instance of the BsonValueSerializer class. + + + + + Gets an instance of the BsonValueSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a base class for BsonValue serializers. + + The type of the BsonValue. + + + + Initializes a new instance of the class. + + The Bson type. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for ByteArrays. + + + + + Gets a cached instance of a ByteArraySerializer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Bytes. + + + + + Gets a cached instance of a default ByteSerializer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Chars. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents an abstract base class for class serializers. + + The type of the value. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the actual type. + + The context. + The actual type. + + + + Serializes a value of type {TValue}. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for CultureInfos. + + + + + Initializes a new instance of the CultureInfoSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for DateTimeOffsets. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for DateTimes. + + + + + Gets the default DateTimeSerializer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + if set to true [date only]. + + + + Initializes a new instance of the class. + + if set to true [date only]. + The representation. + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The kind. + + + + Initializes a new instance of the class. + + The kind. + The representation. + + + + Gets an instance of DateTimeSerializer with DateOnly=true. + + + + + Gets an instance of DateTimeSerializer with Kind=Local. + + + + + Gets an instance of DateTimeSerializer with Kind=Utc. + + + + + Gets whether this DateTime consists of a Date only. + + + + + Gets the DateTimeKind (Local, Unspecified or Utc). + + + + + Gets the external representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified dateOnly value. + + if set to true the values will be required to be Date's only (zero time component). + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified dateOnly value and representation. + + if set to true the values will be required to be Date's only (zero time component). + The representation. + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified DateTimeKind value. + + The DateTimeKind. + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified DateTimeKind value and representation. + + The DateTimeKind. + The representation. + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Decimal128s. + + + + + Gets a cached instance of a Decimal128Serializer with Decimal128 representation. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Decimals. + + + + + Gets a cached instance of a DecimalSerializer with Decimal128 representation. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for a class that implements IDictionary. + + The type of the dictionary. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation and key value serializers. + + The dictionary representation. + The key serializer. + The value serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified key serializer. + + The key serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified value serializer. + + The value serializer. + The reconfigured serializer. + + + + Creates the instance. + + The instance. + + + + Represents a serializer for a class that implements . + + The type of the dictionary. + The type of the key. + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation and key value serializers. + + The dictionary representation. + The key serializer. + The value serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified key serializer. + + The key serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified value serializer. + + The value serializer. + The reconfigured serializer. + + + + + + + Represents a serializer for dictionaries. + + The type of the dictionary. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Gets the dictionary representation. + + + The dictionary representation. + + + + + Gets the key serializer. + + + The key serializer. + + + + + Gets the value serializer. + + + The value serializer. + + + + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Creates the instance. + + The instance. + + + + Represents a serializer for dictionaries. + + The type of the dictionary. + The type of the keys. + The type of the values. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Initializes a new instance of the class. + + The dictionary representation. + The serializer registry. + + + + Gets the dictionary representation. + + + The dictionary representation. + + + + + Gets the key serializer. + + + The key serializer. + + + + + Gets the value serializer. + + + The value serializer. + + + + + + + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Creates an accumulator. + + The accumulator. + + + + Finalizes an accumulator. + + The accumulator to finalize + The instance. + + + + An interface implemented by DiscriminatedInterfaceSerializer. + + + + + Gets the interface serializer. + + + + + Represents a serializer for Interfaces. + + The type of the interface. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The discriminator convention. + interfaceType + interfaceType + + + + Initializes a new instance of the class. + + The discriminator convention. + The interface serializer (necessary to support LINQ queries). + interfaceType + interfaceType + + + + Initializes a new instance of the class. + + The discriminator convention. + The interface serializer (necessary to support LINQ queries). + The serializer that is used to serialize any objects. + interfaceType + interfaceType + + + + Gets the interface serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The document. + + + + + + + Represents a serializer that serializes values as a discriminator/value pair. + + The type of the value. + + + + Initializes a new instance of the class. + + The discriminator convention. + The wrapped serializer. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Determines whether the reader is positioned at a discriminated wrapper. + + The context. + True if the reader is positioned at a discriminated wrapper. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for Doubles. + + + + + Gets a cached instance of DoubleSerializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + An interface implemented by DowncastingSerializer. + + + + + The base type that the serializer will downcast from. + + + + + The serializer for the derived type. + + + + + The derived type that the serializer will downcast to. + + + + + Static factory class for DowncastingSerializer. + + + + + Creates a new DowncastingSerializer. + + The base type. + The derived type. + The derived type serializer. + A instance. + + + + A serializer for TBase where the actual values are of type TDerived. + + The base type. + The derived type. + + + + Initializes a new instance of DowncastingSerializer. + + The derived type serializer. + + + + + + + + The serializer for the derived type. + + + + + + + + + + + + + + + + + + + + + + + + + + Base serializer for dynamic types. + + The dynamic type. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Configures the deserialization context. + + The builder. + + + + Configures the serialization context. + + The builder. + + + + Creates the document. + + A + + + + Sets the value for the member. + + The document. + Name of the member. + The value. + + + + Tries to get the value for a member. Returns true if the member should be serialized. + + The document. + Name of the member. + The value. + true if the member should be serialized; otherwise false. + + + + A serializer that serializes a document and appends elements to the end of it. + + The type of the document. + + + + + Initializes a new instance of the class. + + The document serializer. + The elements to append. + The writer settings configurator. + + + + + + + + + + + + + + + + + + + Represents a serializer for a class that implements IEnumerable. + + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Creates the accumulator. + + The accumulator. + + + + Represents a serializer for a class that implementes . + + The type of the value. + The type of the item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Creates the accumulator. + + The accumulator. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Represents a serializer for enumerable values. + + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for enumerable values. + + The type of the value. + The type of the items. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a base serializer for enumerable values. + + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the item serializer. + + + The item serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Represents a serializer for enumerable values. + + The type of the value. + The type of the items. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the item serializer. + + + The item serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + The serialization info for the items. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for enums. + + The type of the enum. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Static factory class for EnumSerializer. + + + + + Creates a EnumSerializer. + + The value type. + A EnumSerializer + + + + Serializer for . + + + The use of will serialize any without type information. + To get the best experience out of using an , any member wanting to be used + as an array should use . + + + + + Initializes a new instance of the class. + + + + + Configures the deserialization context. + + The builder. + + + + Configures the serialization context. + + The builder. + + + + Creates the document. + + + A . + + + + + Sets the value for the member. + + The document. + Name of the member. + The value. + + + + Tries to get the value for a member. Returns true if the member should be serialized. + + The value. + Name of the member. + The member value. + true if the member should be serialized; otherwise false. + + + + Represents a serializer for Guids. + + + + + Gets a cached instance of a GuidSerializer with Standard representation. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The Guid representation. + + + + Gets the Guid representation. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified Guid representation. + + The GuidRepresentation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for IEnumerable and any other derived interface implemented by TCollection. + + The type of an IEnumerable interface. + The type of the items. + The type of the collection used when deserializing. + + + + Initializes a new instance of the IEnumerableDeserializingAsCollectionSerializer class. + + + + + Initializes a new instance of the IEnumerableDeserializingAsCollectionSerializer class. + + The item serializer. + + + + Initializes a new instance of the IEnumerableDeserializingAsCollectionSerializer class. + + The serializer registry. + + + + Gets the item serializer. + + + The item serializer. + + + + + + + + + + + + + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + The serialization info for the items. + + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + An interface implemented by ImpliedImplementationInterfaceSerializer. + + + + + Gets the serializer for the implied implementation. + + + + + Represents a serializer for Interfaces. + + The type of the interface. + The type of the implementation. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The implementation serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the dictionary representation. + + + The dictionary representation. + + + + + + Gets the key serializer. + + + The key serializer. + + + + + + Gets the implementation serializer. + + + The implementation serializer. + + + + + Gets the value serializer. + + + The value serializer. + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The document. + + + + Returns a serializer that has been reconfigured with the specified implementation serializer. + + The implementation serializer. + + The reconfigured serializer. + + + + + Represents a serializer for Int16s. + + + + + Gets a cached instance of an Int16Serializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Int32. + + + + + Gets a cached instance of an Int32Serializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Int64s. + + + + + Gets a cached instance of an Int64Serializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for IOrderedEnumerable. + + The type of the items. + + + + Initializes a new instance of IOrderedEnumerableSerializer. + + The item serializer. + The message to use when throwing an exception because ThenBy is not supported. + + + + + + + + + + + + + + + + + + + A factory class for instances of IOrderedEnumerableSerializer<TItem>. + + + + + Creates an instance IOrderedEnumerableSerializer<TItem>. + + The item serializer. + The message to use when throwing an exception because ThenBy is not supported. + An IOrderedEnumerableSerializer<TItem>. + + + + Represents a serializer for IPAddresses. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for IPEndPoints. + + + + + Initializes a new instance of the IPEndPointSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + An interface implemented by KeyValuePairSerializer. + + + + + Gets the representation. + + + + + Represents a serializer for KeyValuePairs. + + The type of the keys. + The type of the values. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The key serializer. + The value serializer. + + + + Initializes a new instance of the class. + + The representation. + The serializer registry. + + + + Gets the key serializer. + + + The key serializer. + + + + + Gets the representation. + + + The representation. + + + + + Gets the value serializer. + + + The value serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + + + + Represents a serializer for LazyBsonArrays. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for LazyBsonDocuments. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for . + + The type of the item. Only primitive numeric types are supported. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + + + + + + + Represents a serializer for . + + The type of the item. Only primitive numeric types are supported. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + + + + + + + Represents an abstract base class for and serializers. + + The type of the item. Only primitive numeric types are supported. + The type of the memory struct. + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + + + + + + + Creates the Memory{TITem} structure. + + The items to initialize the resulting instance with. + The created memory structure. + + + + Get the memory structure from TMemory instance. + + The Memory{TITem} structure. + + + + An interface used by the LINQ3 translators to access the value serializer without needing to use reflection. + + + + + Gets the value serializer. + + + + + Static factory class for NullableSerializers. + + + + + Creates a NullableSerializer. + + The value serializer. + A NullableSerializer + + + + Represents a serializer for nullable values. + + The underlying type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the value serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified serializer. + + The serializer. + + The reconfigured serializer. + + + + + Represents a serializer for ObjectIds. + + + + + Gets a cached instance of an ObjectId serializer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for objects. + + + + + An allowed types function that returns true for all types. + + + + + An allowed types function that returns true for framework types known to be safe. + + + + + Gets the standard instance. + + + + + An allowed types function that returns false for all types. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The discriminator convention. + discriminatorConvention + + + + Initializes a new instance of the class. + + The discriminator convention. + The Guid representation. + + + + Initializes a new instance of the class. + + A delegate that determines what types are allowed. + + + + Initializes a new instance of the class. + + The discriminator convention. + A delegate that determines what types are allowed. + + + + Initializes a new instance of the class. + + The discriminator convention. + The Guid representation. + A delegate that determines what types are allowed. + + + + Initializes a new instance of the class. + + The discriminator convention. + The Guid representation. + A delegate that determines what types are allowed to be deserialized. + A delegate that determines what types are allowed to be serialized. + + + + Gets the AllowedDeserializationTypes filter; + + + + + Gets the AllowedSerializationTypes filter; + + + + + Gets the discriminator convention. + + + + + Gets the GuidRepresentation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a new ObjectSerializer configured the same but with the specified discriminator convention. + + The discriminator convention. + An ObjectSerializer with the specified discriminator convention. + + + + Returns a new ObjectSerializer configured the same but with the specified allowed types delegates. + + A delegate that determines what types are allowed to be deserialized. + A delegate that determines what types are allowed to be serialized. + + + + + Represents a serializer for a BsonDocument with some parts raw. + + + + + Initializes a new instance of the class. + + The name. + The raw serializer. + + + + + + + + + + + + + Wraps a serializer and projects using a function. + + The type of from. + The type of to. + + + + Initializes a new instance of the class. + + From serializer. + The projector. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Represents a serializer for Queues. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items. + + The value. + The items. + + + + Finalizes the result. + + The instance. + The result. + + + + Represents a serializer for Queues. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for RawBsonArrays. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for RawBsonDocuments. + + + + + Initializes a new instance of the class. + + + + + Gets the instance. + + + The instance. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + + + + Represents a serializer for readonly collection. + + The type of the item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Creates the accumulator. + + The accumulator. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Represents a serializer for a subclass of ReadOnlyCollection. + + The type of the value. + The type of the item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Creates the accumulator. + + The accumulator. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Represents a serializer for a class that implements . + + The type of the dictionary. + The type of the key. + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation and key value serializers. + + The dictionary representation. + The key serializer. + The value serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified key serializer. + + The key serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified value serializer. + + The value serializer. + The reconfigured serializer. + + + + + + + + + + Represents a serializer for Regex. + + + + + Gets a cached instance of a RegexSerializer with RegularExpression representation. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for SBytes. + + + + + Gets a cached instance of an SByteSerializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents an abstract base class for sealed class serializers. + + The type of the value. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value of type {TValue}. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a class that will be serialized as if it were one of its base classes. + + The actual type. + The nominal type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base class serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents an abstract base class for serializers. + + The type of the value. + + + + Gets the type of the values. + + + The type of the values. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Creates an exception to throw when a type cannot be deserialized. + + An exception. + + + + Creates an exception to throw when a type cannot be deserialized. + + An exception. + + + + Creates an exception to throw when a type cannot be deserialized from a BsonType. + + The BSON type. + An exception. + + + + Ensures that the BsonType equals the expected type. + + The reader. + The expected type. + + + + Represents a helper for serializers. + + + + + Initializes a new instance of the class. + + The members. + + + + Deserializes the members. + + The deserialization context. + The member handler. + The found member flags. + + + + Represents information about a member. + + + + + Initializes a new instance of the class. + + The name of the element. + The flag. + Whether the member is optional. + + + + Gets the flag. + + + The flag. + + + + + Gets the name of the element. + + + The name of the element. + + + + + Gets a value indicating whether this member is optional. + + Whether this member is optional. + + + + Represents a serializer for Singles. + + + + + Gets a cached instance of an SingleSerializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Stacks. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for Stacks. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for Strings. + + + + + Gets a cached instance of a default string serializer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents an abstract base class for struct serializers. + + The type of the value. + + + + Represents a serializer for three-dimensional arrays. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the item serializer. + + + The item serializer. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for Timespans. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The units. + + + + Gets the representation. + + + The representation. + + + + + Gets the units. + + + The units. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation and units. + + The representation. + The units. + + The reconfigured serializer. + + + + + An interface implemented by tuple serializers. + + + + + Gets ths serializer for an item. + + The item number. + The serializer for the item. + + + + A factory class for TupleSerializers. + + + + + Creates a TupleSerializer. + + The item serializers. + A TupleSerializer. + + + + Tries to parse an item name to an item number. + + The item name. + The item number. + True if the item name was valid. + + + + Represents a serializer for a . + + The type of item 1. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + The type of item 7. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + The Item7 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + Gets the Item7 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + The type of item 7. + The type of the rest item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + The Item7 serializer. + The Rest serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + Gets the Item7 serializer. + + + + + Gets the Rest serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for two-dimensional arrays. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the item serializer. + + + The item serializer. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for UInt16s. + + + + + Gets a cached instance of an UInt16Serializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for UInt32s. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for UInt64s. + + + + + Gets a cached instance of an UInt64Serializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for interfaces and base classes that delegates to the actual type interface without writing a discriminator. + + Type type of the value. + + + + Initializes a new instance of the class. + + + + + Gets the instance. + + + The instance. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The document. + + + + Represents a serializer for Uris. + + + + + Initializes a new instance of the UriSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + A factory class for ValueTupleSerializers. + + + + + Creates a ValueTupleSerializer. + + The item serializers. + A ValueTupleSerializer. + + + + Represents a serializer for a . + + The type of item 1. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + The type of item 7. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + The Item7 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + Gets the Item7 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + The type of item 7. + The type of the rest item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + The Item7 serializer. + The Rest serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + Gets the Item7 serializer. + + + + + Gets the Rest serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for Versions. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for a class map. + + The type of the class. + + + + Initializes a new instance of the BsonClassMapSerializer class. + + The class map. + + + + + + + Gets a value indicating whether this serializer's discriminator is compatible with the object serializer. + + + true if this serializer's discriminator is compatible with the object serializer; otherwise, false. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Deserializes a value. + + The deserialization context. + A deserialized value. + + + + + + + + + + Gets the document Id. + + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Sets the document Id. + + The document. + The Id. + + + + Represents a serializer for TClass (a subclass of BsonDocumentBackedClass). + + The subclass of BsonDocumentBackedClass. + + + + Initializes a new instance of the class. + + + + + + + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + + + + Registers a member. + + The member name. + The element name. + The serializer. + + + + + + + Creates the instance. + + The backing document. + An instance of TClass. + + + + Represents a serialization provider based on a mapping from value types to serializer types. + + + + + Initializes a new instance of the class. + + + + + + + + Registers the serializer mapping. + + The type. + Type of the serializer. + + + + Supports using type names as discriminators. + + + + + Resolves a type name discriminator. + + The type name. + The type if type type name can be resolved; otherwise, null. + + + + Gets a type name to be used as a discriminator (like AssemblyQualifiedName but shortened for common DLLs). + + The type. + The type name. + + + + Sets the representation for this field or property as a binary vector with the specified data type. + + + + + Initializes a new instance of the class. + + + + + Gets the vector data type. + + + + + Applies the attribute to the member map. + + The member map. + + + diff --git a/local-nugets/mongodb.bson/3.5.0/lib/net6.0/MongoDB.Bson.xml b/local-nugets/mongodb.bson/3.5.0/lib/net6.0/MongoDB.Bson.xml new file mode 100644 index 000000000..8fde6be4a --- /dev/null +++ b/local-nugets/mongodb.bson/3.5.0/lib/net6.0/MongoDB.Bson.xml @@ -0,0 +1,24049 @@ + + + + MongoDB.Bson + + + + + A static class containing BSON constants. + + + + + Gets the number of milliseconds since the Unix epoch for DateTime.MaxValue. + + + + + Gets the number of milliseconds since the Unix epoch for DateTime.MinValue. + + + + + Gets the Unix Epoch for BSON DateTimes (1970-01-01). + + + + + A static helper class containing BSON defaults. + + + + + Gets or sets the dynamic array serializer. + + + + + Gets or sets the dynamic document serializer. + + + + + Gets or sets the default max document size. The default is 4MiB. + + + + + Gets or sets the default max serialization depth (used to detect circular references during serialization). The default is 100. + + + + + A static class containing BSON extension methods. + + + + + Serializes an object to a BSON byte array. + + The nominal type of the object. + The object. + The serializer. + The writer settings. + The serialization context configurator. + The serialization args. + The estimated size of the serialized object + A BSON byte array. + + + + Serializes an object to a BSON byte array. + + The object. + The nominal type of the object.. + The writer settings. + The serializer. + The serialization context configurator. + The serialization args. + The estimated size of the serialized object. + A BSON byte array. + nominalType + serializer + + + + Serializes an object to a BsonDocument. + + The nominal type of the object. + The object. + The serializer. + The serialization context configurator. + The serialization args. + A BsonDocument. + + + + Serializes an object to a BsonDocument. + + The object. + The nominal type of the object. + The serializer. + The serialization context configurator. + The serialization args. + A BsonDocument. + nominalType + serializer + + + + Serializes an object to a JSON string. + + The nominal type of the object. + The object. + The JsonWriter settings. + The serializer. + The serialization context configurator. + The serialization args. + + A JSON string. + + + + + Serializes an object to a JSON string. + + The object. + The nominal type of the objectt. + The JsonWriter settings. + The serializer. + The serialization context configurator. + The serialization args. + + A JSON string. + + nominalType + serializer + + + + A static class containing BSON utility methods. + + + + + Gets a friendly class name suitable for use in error messages. + + The type. + A friendly class name. + + + + Parses a hex string into its equivalent byte array. + + The hex string to parse. + The byte equivalent of the hex string. + + + + Converts from number of milliseconds since Unix epoch to DateTime. + + The number of milliseconds since Unix epoch. + A DateTime. + + + + Converts a value to a hex character. + + The value (assumed to be between 0 and 15). + The hex character. + + + + Converts a byte array to a hex string. + + The byte array. + A hex string. + + + + Converts a DateTime to local time (with special handling for MinValue and MaxValue). + + A DateTime. + The DateTime in local time. + + + + Converts a DateTime to number of milliseconds since Unix epoch. + + A DateTime. + Number of milliseconds since Unix epoch. + + + + Converts a DateTime to number of seconds since Unix epoch. + + A DateTime. + Number of seconds since Unix epoch. + + + + Converts a DateTime to UTC (with special handling for MinValue and MaxValue). + + A DateTime. + The DateTime in UTC. + + + + Tries to parse a hex string to a byte array. + + The hex string. + A byte array. + True if the hex string was successfully parsed. + + + + Represents a BSON exception. + + + + + Initializes a new instance of the BsonException class. + + + + + Initializes a new instance of the BsonException class. + + The error message. + + + + Initializes a new instance of the BsonException class. + + The error message. + The inner exception. + + + + Initializes a new instance of the BsonException class. + + The error message format string. + One or more args for the error message. + + + + Initializes a new instance of the BsonException class (this overload used by deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Represents a BSON internal exception (almost surely the result of a bug). + + + + + Initializes a new instance of the BsonInternalException class. + + + + + Initializes a new instance of the BsonInternalException class. + + The error message. + + + + Initializes a new instance of the BsonInternalException class. + + The error message. + The inner exception. + + + + Initializes a new instance of the BsonInternalException class (this overload used by deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Represents a BSON serialization exception. + + + + + Initializes a new instance of the BsonSerializationException class. + + + + + Initializes a new instance of the BsonSerializationException class. + + The error message. + + + + Initializes a new instance of the BsonSerializationException class. + + The error message. + The inner exception. + + + + Initializes a new instance of the BsonSerializationException class (this overload used by deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Indicates that an attribute restricted to one member has been applied to multiple members. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Initializes a new instance of the class. + + The info. + The context. + + + + Represents a truncation exception. + + + + + Initializes a new instance of the TruncationException class. + + + + + Initializes a new instance of the TruncationException class. + + The error message. + + + + Initializes a new instance of the TruncationException class. + + The error message. + The inner exception. + + + + Initializes a new instance of the TruncationException class (this overload used by deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Represents a fast converter from integer indexes to UTF8 BSON array element names. + + + + + Gets the element name bytes. + + The index. + The element name bytes. + + + + Represents a fast converter from integer indexes to UTF8 BSON array element names. + + + + + Gets or sets the default array element name accelerator. + + + + + Initializes a new instance of the class. + + The number of cached element names. + + + + Gets the element name bytes. + + The index. + + The element name bytes. + + + + + Represents a BSON reader for a binary BSON byte array. + + + + + Initializes a new instance of the BsonBinaryReader class. + + A stream (BsonBinary does not own the stream and will not Dispose it). + + + + Initializes a new instance of the BsonBinaryReader class. + + A stream (BsonBinary does not own the stream and will not Dispose it). + A BsonBinaryReaderSettings. + + + + Gets the base stream. + + + The base stream. + + + + + Gets the BSON stream. + + + The BSON stream. + + + + + Gets the settings of the writer. + + + + + Closes the reader. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name decoder. + The name of the element. + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a raw BSON array. + + + The raw BSON array. + + + + + Reads a raw BSON document. + + + The raw BSON document. + + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Creates a clone of the context. + + A clone of the context. + + + + Represents settings for a BsonBinaryReader. + + + + + Initializes a new instance of the BsonBinaryReaderSettings class. + + + + + Gets or sets the default settings for a BsonBinaryReader. + + + + + Gets or sets the Encoding. + + + + + Gets or sets whether to fix occurrences of the old binary subtype on input. + + + + + Gets or sets whether to fix occurrences of the old representation of DateTime.MaxValue on input. + + + + + Gets or sets the max document size. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Represents a BSON writer to a BSON Stream. + + + + + Initializes a new instance of the BsonBinaryWriter class. + + A stream. The BsonBinaryWriter does not own the stream and will not Dispose it. + + + + Initializes a new instance of the BsonBinaryWriter class. + + A stream. The BsonBinaryWriter does not own the stream and will not Dispose it. + The BsonBinaryWriter settings. + + + + Gets the base stream. + + + The base stream. + + + + + Gets the BSON stream. + + + The BSON stream. + + + + + + + + Gets the settings of the writer. + + + + + Closes the writer. Also closes the base stream. + + + + + Flushes any pending data to the output destination. + + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a raw BSON array. + + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Represents settings for a BsonBinaryWriter. + + + + + Initializes a new instance of the BsonBinaryWriterSettings class. + + + + + Gets or sets the default BsonBinaryWriter settings. + + + + + Gets or sets the Encoding. + + + + + Gets or sets whether to fix the old binary data subtype on output. + + + + + Gets or sets the max document size. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Represents a pool of chunks. + + + + + Gets or sets the default chunk pool. + + + The default chunk pool. + + + + + Initializes a new instance of the class. + + The maximum number of chunks to keep in the pool. + The size of each chunk. + + + + Gets the chunk size. + + + The chunk size. + + + + + Gets the maximum size of the pool. + + + The maximum size of the pool. + + + + + Gets the size of the pool. + + + The size of the pool. + + + + + + + + + + + Represents a BSON reader for a BsonDocument. + + + + + Initializes a new instance of the BsonDocumentReader class. + + A BsonDocument. + + + + Initializes a new instance of the BsonDocumentReader class. + + A BsonDocument. + The reader settings. + + + + Closes the reader. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Creates a clone of the context. + + A clone of the context. + + + + Represents settings for a BsonDocumentReader. + + + + + Initializes a new instance of the BsonDocumentReaderSettings class. + + + + + Gets or sets the default settings for a BsonDocumentReader. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Represents a BSON writer to a BsonDocument. + + + + + Initializes a new instance of the BsonDocumentWriter class. + + The document to write to (normally starts out as an empty document). + + + + Initializes a new instance of the BsonDocumentWriter class. + + The document to write to (normally starts out as an empty document). + The settings. + + + + Gets the BsonDocument being written to. + + + + + + + + Closes the writer. + + + + + Flushes any pending data to the output destination. + + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes the name of an element to the writer. + + The name of the element. + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Represents settings for a BsonDocumentWriter. + + + + + Initializes a new instance of the BsonDocumentWriterSettings class. + + + + + Gets or sets the default BsonDocumentWriter settings. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Represents a BSON reader for some external format (see subclasses). + + + + + Initializes a new instance of the BsonReader class. + + The reader settings. + + + + Gets the current BsonType. + + + + + Gets the settings of the reader. + + + + + Gets the current state of the reader. + + + + + Gets the current name. + + + + + Gets whether the BsonReader has been disposed. + + + + + Closes the reader. + + + + + Disposes of any resources used by the reader. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Gets the current BsonType (calls ReadBsonType if necessary). + + The current BsonType. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + + + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + + + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name of the element. + + + + Reads the name of an element from the reader (using the provided name decoder). + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a raw BSON array. + + The raw BSON array. + + + + Reads a raw BSON document. + + The raw BSON document. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Throws an InvalidOperationException when the method called is not valid for the current ContextType. + + The name of the method. + The actual ContextType. + The valid ContextTypes. + + + + Throws an InvalidOperationException when the method called is not valid for the current state. + + The name of the method. + The valid states. + + + + Throws an ObjectDisposedException. + + + + + Verifies the current state and BsonType of the reader. + + The name of the method calling this one. + The required BSON type. + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Initializes a new instance of the BsonReaderBookmark class. + + The state of the reader. + The current BSON type. + The name of the current element. + + + + Gets the current state of the reader. + + + + + Gets the current BsonType; + + + + + Gets the name of the current element. + + + + + Represents settings for a BsonReader. + + + + + Initializes a new instance of the BsonReaderSettings class. + + + + + Gets whether the settings are frozen. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Throws an InvalidOperationException when an attempt is made to change a setting after the settings are frozen. + + + + + Represents the state of a reader. + + + + + The initial state. + + + + + The reader is positioned at the type of an element or value. + + + + + The reader is positioned at the name of an element. + + + + + The reader is positioned at a value. + + + + + The reader is positioned at a scope document. + + + + + The reader is positioned at the end of a document. + + + + + The reader is positioned at the end of an array. + + + + + The reader has finished reading a document. + + + + + The reader is closed. + + + + + Represents a Stream has additional methods to suport reading and writing BSON values. + + + + + Reads a BSON CString from the stream. + + The encoding. + A string. + + + + Reads a BSON CString from the stream. + + An ArraySegment containing the CString bytes (without the null byte). + + + + Reads a BSON Decimal128 from the stream. + + A . + + + + Reads a BSON double from the stream. + + A double. + + + + Reads a 32-bit BSON integer from the stream. + + An int. + + + + Reads a 64-bit BSON integer from the stream. + + A long. + + + + Reads a BSON ObjectId from the stream. + + An ObjectId. + + + + Reads a raw length prefixed slice from the stream. + + A slice. + + + + Reads a BSON string from the stream. + + The encoding. + A string. + + + + Skips over a BSON CString leaving the stream positioned just after the terminating null byte. + + + + + Writes a BSON CString to the stream. + + The value. + + + + Writes the CString bytes to the stream. + + The value. + + + + Writes a BSON Decimal128 to the stream. + + The value. + + + + Writes a BSON double to the stream. + + The value. + + + + Writes a 32-bit BSON integer to the stream. + + The value. + + + + Writes a 64-bit BSON integer to the stream. + + The value. + + + + Writes a BSON ObjectId to the stream. + + The value. + + + + Writes a BSON string to the stream. + + The value. + The encoding. + + + + A Stream that wraps another Stream while implementing the BsonStream abstract methods. + + + + + Initializes a new instance of the class. + + The stream. + if set to true [owns stream]. + stream + + + + Gets the base stream. + + + The base stream. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents extension methods on BsonStream. + + + + + Backpatches the size. + + The stream. + The start position. + + + + Reads the binary sub type. + + The stream. + The binary sub type. + + + + Reads a boolean from the stream. + + The stream. + A boolean. + + + + Reads the BSON type. + + The stream. + The BSON type. + + + + Reads bytes from the stream. + + The stream. + The buffer. + The offset. + The count. + + + + Reads bytes from the stream. + + The stream. + The count. + The bytes. + + + + Writes a binary sub type to the stream. + + The stream. + The value. + + + + Writes a boolean to the stream. + + The stream. + The value. + + + + Writes a BsonType to the stream. + + The stream. + The value. + + + + Writes bytes to the stream. + + The stream. + The buffer. + The offset. + The count. + + + + Writes a slice to the stream. + + The stream. + The slice. + + + + Represents a mapping from a set of UTF8 encoded strings to a set of elementName/value pairs, implemented as a trie. + + The type of the BsonTrie values. + + + + Initializes a new instance of the BsonTrie class. + + + + + Gets the root node. + + + + + Adds the specified elementName (after encoding as a UTF8 byte sequence) and value to the trie. + + The element name to add. + The value to add. The value can be null for reference types. + + + + Gets the node associated with the specified element name. + + The element name. + + When this method returns, contains the node associated with the specified element name, if the key is found; + otherwise, null. This parameter is passed uninitialized. + + True if the node was found; otherwise, false. + + + + Tries to get the node associated with a name read from a stream. + + The stream. + The node. + + True if the node was found. + If the node was found the stream is advanced over the name, otherwise + the stream is repositioned to the beginning of the name. + + + + + Gets the value associated with the specified element name. + + The element name. + + When this method returns, contains the value associated with the specified element name, if the key is found; + otherwise, the default value for the type of the value parameter. This parameter is passed uninitialized. + + True if the value was found; otherwise, false. + + + + Gets the value associated with the specified element name. + + The element name. + + When this method returns, contains the value associated with the specified element name, if the key is found; + otherwise, the default value for the type of the value parameter. This parameter is passed uninitialized. + + True if the value was found; otherwise, false. + + + + Represents a node in a BsonTrie. + + The type of the BsonTrie values. + + + + Gets whether this node has a value. + + + + + Gets the element name for this node. + + + + + Gets the value for this node. + + + + + Gets the child of this node for a given key byte. + + The key byte. + The child node if it exists; otherwise, null. + + + + Represents a BSON writer for some external format (see subclasses). + + + + + Initializes a new instance of the BsonWriter class. + + The writer settings. + + + + + + + Gets the current serialization depth. + + + + + Gets the settings of the writer. + + + + + Gets the current state of the writer. + + + + + Gets whether the BsonWriter has been disposed. + + + + + Gets the name of the element being written. + + + + + Closes the writer. + + + + + Disposes of any resources used by the writer. + + + + + Flushes any pending data to the output destination. + + + + + Pops the element name validator. + + The popped element validator. + + + + + + + Pushes the element name validator. + + The validator. + + + + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + + + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes the name of an element to the writer. + + The name of the element. + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a raw BSON array. + + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Throws an InvalidOperationException when the method called is not valid for the current ContextType. + + The name of the method. + The actual ContextType. + The valid ContextTypes. + + + + Throws an InvalidOperationException when the method called is not valid for the current state. + + The name of the method. + The valid states. + + + + Represents settings for a BsonWriter. + + + + + Initializes a new instance of the BsonWriterSettings class. + + + + + Gets whether the settings are frozen. + + + + + Gets or sets the max serialization depth allowed (used to detect circular references). + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Throws an InvalidOperationException when an attempt is made to change a setting after the settings are frozen. + + + + + Represents the state of a BsonWriter. + + + + + The initial state. + + + + + The writer is positioned to write a name. + + + + + The writer is positioned to write a value. + + + + + The writer is positioned to write a scope document (call WriteStartDocument to start writing the scope document). + + + + + The writer is done. + + + + + The writer is closed. + + + + + An IByteBuffer that is backed by a contiguous byte array. + + + + + Initializes a new instance of the class. + + The bytes. + Whether the buffer is read only. + + + + Initializes a new instance of the class. + + The bytes. + The length. + Whether the buffer is read only. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a chunk backed by a byte array. + + + + + Initializes a new instance of the class. + + The size. + + + + Initializes a new instance of the class. + + The bytes. + bytes + + + + + + + + + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Represents a factory for IBsonBuffers. + + + + + Creates a buffer of the specified length. Depending on the length, either a SingleChunkBuffer or a MultiChunkBuffer will be created. + + The chunk pool. + The minimum capacity. + A buffer with at least the minimum capacity. + + + + Represents a slice of a byte buffer. + + + + + Initializes a new instance of the class. + + The byte buffer. + The offset of the slice. + The length of the slice. + + + + Gets the buffer. + + + The buffer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Represents a Stream backed by an IByteBuffer. Similar to MemoryStream but backed by an IByteBuffer + instead of a byte array and also implements the BsonStream interface for higher performance BSON I/O. + + + + + Initializes a new instance of the class. + + The buffer. + Whether the stream owns the buffer and should Dispose it when done. + + + + Gets the buffer. + + + The buffer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Used by BsonReaders and BsonWriters to represent the current context. + + + + + The top level of a BSON document. + + + + + A (possibly embedded) BSON document. + + + + + A BSON array. + + + + + A JavaScriptWithScope BSON value. + + + + + The scope document of a JavaScriptWithScope BSON value. + + + + + A BsonWriter that appends elements to the end of a document. + + + + + + Initializes a new instance of the class. + + The wrapped writer. + The elements to append. + The settings configurator. + + + + + + + + + + Represents a class that has some helper methods for . + + + + + Represents a chunk of bytes. + + + + + Gets the bytes. + + + The bytes. + + + + + Returns a new reference to the same chunk that can be independently disposed. + + A new reference to the same chunk. + + + + Represents a source of chunks. + + + + + Gets the chunk. + + The chunk source is free to return a larger or smaller chunk than requested. + Size of the requested. + A chunk. + + + + Represents a BSON reader. + + + + + Gets the current BsonType. + + + + + Gets the current state of the reader. + + + + + Closes the reader. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Gets the current BsonType (calls ReadBsonType if necessary). + + The current BsonType. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Pops the settings. + + + + + Pushes new settings for the reader. + + The settings configurator. + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + Reads a BSON Decimal128 from the reader. + + A . + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a Guid from the reader. + + A Guid. + + + + Reads a Guid with the specified representation from the reader. + + The Guid representation. + A Guid. + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader (using the provided name decoder). + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a raw BSON array. + + The raw BSON array. + + + + Reads a raw BSON document. + + The raw BSON document. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Contains extensions methods for IBsonReader. + + + + + Positions the reader to an element by name. + + The reader. + The name of the element. + True if the element was found. + + + + Positions the reader to a string element by name. + + The reader. + The name of the element. + True if the element was found. + + + + Reads a BSON binary data element from the reader. + + The reader. + The name of the element. + A BsonBinaryData. + + + + Reads a BSON boolean element from the reader. + + The reader. + The name of the element. + A Boolean. + + + + Reads a BSON binary data element from the reader. + + The reader. + The name of the element. + A byte array. + + + + Reads a BSON DateTime element from the reader. + + The reader. + The name of the element. + The number of milliseconds since the Unix epoch. + + + + Reads a BSON Decimal128 element from the reader. + + The reader. + The name of the element. + A . + + + + Reads a BSON Double element from the reader. + + The reader. + The name of the element. + A Double. + + + + Reads a BSON Int32 element from the reader. + + The reader. + The name of the element. + An Int32. + + + + Reads a BSON Int64 element from the reader. + + The reader. + The name of the element. + An Int64. + + + + Reads a BSON JavaScript element from the reader. + + The reader. + The name of the element. + A string. + + + + Reads a BSON JavaScript with scope element from the reader (call ReadStartDocument next to read the scope). + + The reader. + The name of the element. + A string. + + + + Reads a BSON MaxKey element from the reader. + + The reader. + The name of the element. + + + + Reads a BSON MinKey element from the reader. + + The reader. + The name of the element. + + + + Reads the name of an element from the reader. + + The reader. + The name of the element. + + + + Reads the name of an element from the reader. + + The reader. + The name of the element. + + + + Reads a BSON null element from the reader. + + The reader. + The name of the element. + + + + Reads a BSON ObjectId element from the reader. + + The reader. + The name of the element. + An ObjectId. + + + + Reads a raw BSON array. + + The reader. + The name. + + The raw BSON array. + + + + + Reads a raw BSON document. + + The reader. + The name. + The raw BSON document. + + + + Reads a BSON regular expression element from the reader. + + The reader. + The name of the element. + A BsonRegularExpression. + + + + Reads a BSON string element from the reader. + + The reader. + The name of the element. + A String. + + + + Reads a BSON symbol element from the reader. + + The reader. + The name of the element. + A string. + + + + Reads a BSON timestamp element from the reader. + + The combined timestamp/increment. + The reader. + The name of the element. + + + + Reads a BSON undefined element from the reader. + + The reader. + The name of the element. + + + + Represents a BSON writer. + + + + + + Gets the position. + Not all writers are able to report the position. Those that can't simply return zero. + + + The position. + + + + + Gets the current serialization depth. + + + + + Gets the settings of the writer. + + + + + Gets the current state of the writer. + + + + + Closes the writer. + + + + + Flushes any pending data to the output destination. + + + + + Pops the element name validator. + + The popped element validator. + + + + Pops the settings. + + + + + Pushes the element name validator. + + The validator. + + + + Pushes new settings for the writer. + + The settings configurator. + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + Writes a BSON Decimal128 to the writer. + + The value. + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a Guid in Standard representation to the writer. + + The Guid value. + + + + Writes a Guid in the specified representation to the writer. + + The Guid value. + The GuidRepresentation. + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes the name of an element to the writer. + + The name of the element. + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a raw BSON array. + + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Contains extension methods for IBsonWriter. + + + + + Writes a BSON binary data element to the writer. + + The writer. + The name of the element. + The binary data. + + + + Writes a BSON Boolean element to the writer. + + The writer. + The name of the element. + The Boolean value. + + + + Writes a BSON binary data element to the writer. + + The writer. + The name of the element. + The bytes. + + + + Writes a BSON DateTime element to the writer. + + The writer. + The name of the element. + The number of milliseconds since the Unix epoch. + + + + Writes a BSON Decimal128 element to the writer. + + The writer. + The name of the element. + The value. + + + + Writes a BSON Double element to the writer. + + The writer. + The name of the element. + The Double value. + + + + Writes a BSON Int32 element to the writer. + + The writer. + The name of the element. + The Int32 value. + + + + Writes a BSON Int64 element to the writer. + + The writer. + The name of the element. + The Int64 value. + + + + Writes a BSON JavaScript element to the writer. + + The writer. + The name of the element. + The JavaScript code. + + + + Writes a BSON JavaScript element to the writer (call WriteStartDocument to start writing the scope). + + The writer. + The name of the element. + The JavaScript code. + + + + Writes a BSON MaxKey element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON MinKey element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON null element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON ObjectId element to the writer. + + The writer. + The name of the element. + The ObjectId. + + + + Writes a raw BSON array. + + The writer. + The name. + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The writer. + The name. + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression element to the writer. + + The writer. + The name of the element. + A BsonRegularExpression. + + + + Writes the start of a BSON array element to the writer. + + The writer. + The name of the element. + + + + Writes the start of a BSON document element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON String element to the writer. + + The writer. + The name of the element. + The String value. + + + + Writes a BSON Symbol element to the writer. + + The writer. + The name of the element. + The symbol. + + + + Writes a BSON timestamp element to the writer. + + The writer. + The name of the element. + The combined timestamp/increment value. + + + + Writes a BSON undefined element to the writer. + + The writer. + The name of the element. + + + + Represents a byte buffer (backed by various means depending on the implementation). + + + + + Gets the capacity. + + + The capacity. + + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + Gets or sets the length. + + + The length. + + + + + Access the backing bytes directly. The returned ArraySegment will point to the desired position and contain + as many bytes as possible up to the next chunk boundary (if any). If the returned ArraySegment does not + contain enough bytes for your needs you will have to call ReadBytes instead. + + The position. + + An ArraySegment pointing directly to the backing bytes for the position. + + + + + Clears the specified bytes. + + The position. + The count. + + + + Ensure that the buffer has a minimum capacity. Depending on the buffer allocation strategy + calling this method may result in a higher capacity than the minimum (but never lower). + + The minimum capacity. + + + + Gets a slice of this buffer. + + The position of the start of the slice. + The length of the slice. + A slice of this buffer. + + + + Makes this buffer read only. + + + + + Gets a byte. + + The position. + A byte. + + + + Gets bytes. + + The position. + The destination. + The destination offset. + The count. + + + + Sets a byte. + + The position. + The value. + + + + Sets bytes. + + The position. + The bytes. + The offset. + The count. + + + + Represents an element name validator. Used by BsonWriters when WriteName is called + to determine if the element name is valid. + + + + + Gets the validator to use for child content (a nested document or array). + + The name of the element. + The validator to use for child content. + + + + Determines whether the element name is valid. + + The name of the element. + True if the element name is valid. + + + + Represents a name decoder. + + + + + Decodes the name. + + The stream. + The encoding. + + The name. + + + + + Informs the decoder of an already decoded name (so the decoder can change state if necessary). + + The name. + + + + Represents a source of chunks optimized for input buffers. + + + + + Initializes a new instance of the class. + + The chunk source. + The maximum size of an unpooled chunk. + The minimum size of a chunk. + The maximum size of a chunk. + + + + Gets the base source. + + + The base source. + + + + + Gets the maximum size of a chunk. + + + The maximum size of a chunk. + + + + + Gets the minimum size of a chunk. + + + The minimum size of a chunk. + + + + + Gets the maximum size of an unpooled chunk. + + + The maximum size of an unpooled chunk. + + + + + + + + + + + Represents the effective CopyTo method. + + + + + Copy the current stream to the destination without making unnecessary copies of the bytes. + + The destination stream. + + + + Represents a wrapper around a TextReader to provide some buffering functionality. + + + + + Initializes a new instance of the class. + + The json. + + + + Initializes a new instance of the class. + + The reader. + + + + Gets or sets the current position. + + + + + Gets a snippet of a maximum length from the buffer (usually to include in an error message). + + The start. + The maximum length. + The snippet. + + + + Gets a substring from the buffer. + + The start. + The count. + The substring. + + + + Reads the next character from the text reader and advances the character position by one character. + + + The next character from the text reader, or -1 if no more characters are available. The default implementation returns -1. + + + + + Resets the buffer (clears everything up to the current position). + + + + + Unreads one character (moving the current Position back one position). + + The character. + + + + Encodes and decodes scalar values to JSON compatible strings. + + + + + Converts a string to a Boolean. + + The value. + A Boolean. + + + + Converts a string to a DateTime. + + The value. + A DateTime. + + + + Converts a string to a DateTimeOffset. + + The value. + A DateTimeOffset. + + + + Converts a string to a Decimal. + + The value. + A Decimal. + + + + Converts a string to a . + + The value. + A . + + + + Converts a string to a Double. + + The value. + A Double. + + + + Converts a string to a Half. + + The value. + A Half. + + + + Converts a string to an Int16. + + The value. + An Int16. + + + + Converts a string to an Int32. + + The value. + An Int32. + + + + Converts a string to an Int64. + + The value. + An Int64. + + + + Converts a string to a Single. + + The value. + A Single. + + + + Converts a Boolean to a string. + + The value. + A string. + + + + Converts a DateTime to a string. + + The value. + A string. + + + + Converts a DateTimeOffset to a string. + + The value. + A string. + + + + Converts a Decimal to a string. + + The value. + A string. + + + + Converts a to a string. + + The value. + A string. + + + + Converts a Double to a string. + + The value. + A string. + + + + Converts a Single to a string. + + The value. + A string. + + + + Converts a Half to a string. + + The value. + A string. + + + + Converts an Int32 to a string. + + The value. + A string. + + + + Converts an Int64 to a string. + + The value. + A string. + + + + Converts an Int16 to a string. + + The value. + A string. + + + + Converts a UInt32 to a string. + + The value. + A string. + + + + Converts a UInt64 to a string. + + The value. + A string. + + + + Converts a UInt16 to a string. + + The value. + A string. + + + + Converts a string to a UInt16. + + The value. + A UInt16. + + + + Converts a string to a UInt32. + + The value. + A UInt32. + + + + Converts a string to a UInt64. + + The value. + A UInt64. + + + + Represents the output mode of a JsonWriter. + + + + + Use a format that can be pasted in to the MongoDB shell. + + + + + Output canonical extended JSON. + + + + + Output relaxed extended JSON. + + + + + Represents a BSON reader for a JSON string. + + + + + Initializes a new instance of the JsonReader class. + + The JSON string. + + + + Initializes a new instance of the JsonReader class. + + The JSON string. + The reader settings. + + + + Initializes a new instance of the JsonReader class. + + The TextReader. + + + + Initializes a new instance of the JsonReader class. + + The TextReader. + The reader settings. + + + + Closes the reader. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + + + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Creates a clone of the context. + + A clone of the context. + + + + Represents settings for a JsonReader. + + + + + Initializes a new instance of the JsonReaderSettings class. + + + + + Gets or sets the default settings for a JsonReader. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + A static class that represents a JSON scanner. + + + + + Gets the next JsonToken from a JsonBuffer. + + The buffer. + The next token. + + + + Represents a JSON token type. + + + + + An invalid token. + + + + + A begin array token (a '['). + + + + + A begin object token (a '{'). + + + + + An end array token (a ']'). + + + + + A left parenthesis (a '('). + + + + + A right parenthesis (a ')'). + + + + + An end object token (a '}'). + + + + + A colon token (a ':'). + + + + + A comma token (a ','). + + + + + A DateTime token. + + + + + A Double token. + + + + + An Int32 token. + + + + + And Int64 token. + + + + + An ObjectId token. + + + + + A regular expression token. + + + + + A string token. + + + + + An unquoted string token. + + + + + An end of file token. + + + + + Represents a JSON token. + + + + + Initializes a new instance of the JsonToken class. + + The token type. + The lexeme. + + + + Gets the token type. + + + + + Gets the lexeme. + + + + + Gets the value of a DateTime token. + + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int64 token. + + + + + Gets a value indicating whether this token is number. + + + true if this token is number; otherwise, false. + + + + + Gets the value of an ObjectId token. + + + + + Gets the value of a regular expression token. + + + + + Gets the value of a string token. + + + + + Represents a DateTime JSON token. + + + + + Initializes a new instance of the DateTimeJsonToken class. + + The lexeme. + The DateTime value. + + + + Gets the value of a DateTime token. + + + + + Represents a Double JSON token. + + + + + Initializes a new instance of the DoubleJsonToken class. + + The lexeme. + The Double value. + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int64 token. + + + + + Gets a value indicating whether this token is number. + + + true if this token is number; otherwise, false. + + + + + Represents an Int32 JSON token. + + + + + Initializes a new instance of the Int32JsonToken class. + + The lexeme. + The Int32 value. + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int32 token as an Int64. + + + + + Gets a value indicating whether this token is number. + + + true if this token is number; otherwise, false. + + + + + Represents an Int64 JSON token. + + + + + Initializes a new instance of the Int64JsonToken class. + + The lexeme. + The Int64 value. + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int64 token. + + + + + Gets a value indicating whether this token is number. + + + true if this token is number; otherwise, false. + + + + + Represents an ObjectId JSON token. + + + + + Initializes a new instance of the ObjectIdJsonToken class. + + The lexeme. + The ObjectId value. + + + + Gets the value of an ObjectId token. + + + + + Represents a regular expression JSON token. + + + + + Initializes a new instance of the RegularExpressionJsonToken class. + + The lexeme. + The BsonRegularExpression value. + + + + Gets the value of a regular expression token. + + + + + Represents a String JSON token. + + + + + Initializes a new instance of the StringJsonToken class. + + The token type. + The lexeme. + The String value. + + + + Gets the value of an String token. + + + + + Represents a BSON writer to a TextWriter (in JSON format). + + + + + Initializes a new instance of the JsonWriter class. + + A TextWriter. + + + + Initializes a new instance of the JsonWriter class. + + A TextWriter. + Optional JsonWriter settings. + + + + Gets the base TextWriter. + + + The base TextWriter. + + + + + + + + Gets the settings of the writer. + + + + + Closes the writer. + + + + + Flushes any pending data to the output destination. + + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Represents settings for a JsonWriter. + + + + + Initializes a new instance of the JsonWriterSettings class. + + + + + Gets or sets the default JsonWriterSettings. + + + + + Gets or sets whether to indent the output. + + + + + Gets or sets the indent characters. + + + + + Gets or sets the new line characters. + + + + + Gets or sets the output mode. + + + + + Gets or sets the shell version (used with OutputMode Shell). + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + An IByteBuffer that is backed by multiple chunks. + + + + + Initializes a new instance of the class. + + The chunk pool. + chunkPool + + + + Initializes a new instance of the class. + + The chunks. + The length. + Whether the buffer is read only. + chunks + + + + + + + Gets the chunk source. + + + The chunk source. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents an element name validator that does no validation. + + + + + Gets the instance. + + + The instance. + + + + + Gets the validator to use for child content (a nested document or array). + + The name of the element. + The validator to use for child content. + + + + Determines whether the element name is valid. + + The name of the element. + True if the element name is valid. + + + + Represents a source of chunks optimized for output buffers. + + + + + Initializes a new instance of the class. + + The chunk source. + The size of the initial unpooled chunk. + The minimum size of a chunk. + The maximum size of a chunk. + + + + Gets the base source. + + + The base source. + + + + + Gets the initial unpooled chunk size. + + + The initial unpooled chunk size. + + + + + Gets the maximum size of a chunk. + + + The maximum size of a chunk. + + + + + Gets the minimum size of a chunk. + + + The minimum size of a chunk. + + + + + + + + + + + An IByteBuffer that is backed by a single chunk. + + + + + Initializes a new instance of the class. + + The chuns. + The length. + Whether the buffer is read only. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a class that provides reusable buffer per thread. + Use this technique ONLY when: + 1. Buffer is not shared across multiple threads. + 2. No nested methods invocations use the same buffer. + Advised to limit the usage scope to a single method. + + + + + Represents a Trie-based name decoder that also provides a value. + + The type of the value. + + + + Initializes a new instance of the class. + + The trie. + + + + Gets a value indicating whether this is found. + + + true if found; otherwise, false. + + + + + Gets the value. + + + The value. + + + + + Reads the name. + + The stream. + The encoding. + + The name. + + + + + Informs the decoder of an already decoded name (so the decoder can change state if necessary). + + The name. + + + + Represents a singleton instance of a strict UTF8Encoding. + + + + + Gets the lenient instance. + + + + + Gets the strict instance. + + + + + Represents a class that has some helper methods for decoding UTF8 strings. + + + + + Decodes a UTF8 string. + + The bytes. + The index. + The count. + The encoding. + The decoded string. + + + + Represents a UTF8 name decoder. + + + + + Gets the instance. + + + The instance. + + + + + Decodes the name. + + The stream. + The encoding. + + The name. + + + + + Informs the decoder of an already decoded name (so the decoder can change state if necessary). + + The name. + + + + An abstract base class for an IBsonWriter that wraps another IBsonWriter. + + + + + + Initializes a new instance of the class. + + The wrapped writer. + + + + + + + + + + + + + + + + Gets the wrapped writer. + + + The wrapped writer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Throws if disposed. + + + + + + Represents a binary vector. + + + + + Initializes a new instance of the class. + + The vector data. + Type of the vector data. + + + + Gets the vector data type. + + + + + Gets the vector data. + + + + + Represents a vector of values. + + + + + Initializes a new instance of the class. + + + + + Represents a vector of values. + + + + + Initializes a new instance of the class. + + + + + Represents a vector of 0/1 values. + The vector values are packed into groups of 8 (a byte). + + + + + Initializes a new instance of the class. + + + + + Gets the bits padding. + + + + + Represents the data type of a binary Vector. + + + + + + Data type is float32. + + + + + Data type is int8. + + + + + Data type is packed bit. + + + + + Represents a BSON array. + + + + + Initializes a new instance of the BsonArray class. + + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + The initial capacity of the array. + + + + Compares two BsonArray values. + + The first BsonArray. + The other BsonArray. + True if the two BsonArray values are not equal according to ==. + + + + Compares two BsonArray values. + + The first BsonArray. + The other BsonArray. + True if the two BsonArray values are equal according to ==. + + + + Gets the BsonType of this BsonValue. + + + + + Gets or sets the total number of elements the internal data structure can hold without resizing. + + + + + Gets the count of array elements. + + + + + Gets whether the array is read-only. + + + + + Gets the array elements. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Creates a new BsonArray. + + A value to be mapped to a BsonArray. + A BsonArray or null. + + + + Adds an element to the array. + + The value to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Creates a shallow clone of the array (see also DeepClone). + + A shallow clone of the array. + + + + Clears the array. + + + + + Compares the array to another array. + + The other array. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other. + + + + Compares the array to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other BsonValue. + + + + Tests whether the array contains a value. + + The value to test for. + True if the array contains the value. + + + + Copies elements from this array to another array. + + The other array. + The zero based index of the other array at which to start copying. + + + + Creates a deep clone of the array (see also Clone). + + A deep clone of the array. + + + + Compares this array to another array. + + The other array. + True if the two arrays are equal. + + + + Compares this BsonArray to another object. + + The other object. + True if the other object is a BsonArray and equal to this one. + + + + Gets an enumerator that can enumerate the elements of the array. + + An enumerator. + + + + Gets the hash code. + + The hash code. + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The number of elements to search. + The zero based index of the value (or -1 if not found). + + + + Inserts a new value into the array. + + The zero based index at which to insert the new value. + The new value. + + + + Removes the first occurrence of a value from the array. + + The value to remove. + True if the value was removed. + + + + Removes an element from the array. + + The zero based index of the element to remove. + + + + Converts the BsonArray to an array of BsonValues. + + An array of BsonValues. + + + + Converts the BsonArray to a list of BsonValues. + + A list of BsonValues. + + + + Returns a string representation of the array. + + A string representation of the array. + + + + Represents BSON binary data. + + + + + Initializes a new instance of the BsonBinaryData class. + + The binary data. + + + + Initializes a new instance of the BsonBinaryData class. + + The binary data. + The binary data subtype. + + + + Initializes a new instance of the BsonBinaryData class. + + A Guid. + The representation for Guids. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the binary data. + + + + + Gets the binary data subtype. + + + + + Converts a byte array to a BsonBinaryData. + + A byte array. + A BsonBinaryData. + + + + Compares two BsonBinaryData values. + + The first BsonBinaryData. + The other BsonBinaryData. + True if the two BsonBinaryData values are not equal according to ==. + + + + Compares two BsonBinaryData values. + + The first BsonBinaryData. + The other BsonBinaryData. + True if the two BsonBinaryData values are equal according to ==. + + + + Creates a new BsonBinaryData. + + An object to be mapped to a BsonBinaryData. + A BsonBinaryData or null. + + + + Compares this BsonBinaryData to another BsonBinaryData. + + The other BsonBinaryData. + A 32-bit signed integer that indicates whether this BsonBinaryData is less than, equal to, or greather than the other. + + + + Compares the BsonBinaryData to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonBinaryData is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonBinaryData to another BsonBinaryData. + + The other BsonBinaryData. + True if the two BsonBinaryData values are equal. + + + + Compares this BsonBinaryData to another object. + + The other object. + True if the other object is a BsonBinaryData and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonBinaryData to a Guid. + + A Guid. + + + + Converts this BsonBinaryData to a Guid. + + The representation for Guids. + A Guid. + + + + Returns a string representation of the binary data. + + A string representation of the binary data. + + + + Represents the binary data subtype of a BsonBinaryData. + + + + + Binary data. + + + + + A function. + + + + + Obsolete binary data subtype (use Binary instead). + + + + + A UUID in a driver dependent legacy byte order. + + + + + A UUID in standard network byte order. + + + + + An MD5 hash. + + + + + Encrypted binary data. + + + + + Column data. + + + + + Sensitive data. + + + + + Vector data. + + + + + User defined binary data. + + + + + Represents a BSON boolean value. + + + + + Initializes a new instance of the BsonBoolean class. + + The value. + + + + Gets the instance of BsonBoolean that represents false. + + + + + Gets the instance of BsonBoolean that represents true. + + + + + Gets the BsonType of this BsonValue. + + + + + Gets the value of this BsonBoolean. + + + + + Converts a bool to a BsonBoolean. + + A bool. + A BsonBoolean. + + + + Compares two BsonBoolean values. + + The first BsonBoolean. + The other BsonBoolean. + True if the two BsonBoolean values are not equal according to ==. + + + + Compares two BsonBoolean values. + + The first BsonBoolean. + The other BsonBoolean. + True if the two BsonBoolean values are equal according to ==. + + + + Returns one of the two possible BsonBoolean values. + + An object to be mapped to a BsonBoolean. + A BsonBoolean or null. + + + + Compares this BsonBoolean to another BsonBoolean. + + The other BsonBoolean. + A 32-bit signed integer that indicates whether this BsonBoolean is less than, equal to, or greather than the other. + + + + Compares the BsonBoolean to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonBoolean is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonBoolean to another BsonBoolean. + + The other BsonBoolean. + True if the two BsonBoolean values are equal. + + + + Compares this BsonBoolean to another object. + + The other object. + True if the other object is a BsonBoolean and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a BSON DateTime value. + + + + + Initializes a new instance of the BsonDateTime class. + + A DateTime. + + + + Initializes a new instance of the BsonDateTime class. + + Milliseconds since Unix Epoch. + + + + Gets the BsonType of this BsonValue. + + + + + Gets whether this BsonDateTime is a valid .NET DateTime. + + + + + Gets the number of milliseconds since the Unix Epoch. + + + + + Converts a DateTime to a BsonDateTime. + + A DateTime. + A BsonDateTime. + + + + Compares two BsonDateTime values. + + The first BsonDateTime. + The other BsonDateTime. + True if the two BsonDateTime values are not equal according to ==. + + + + Compares two BsonDateTime values. + + The first BsonDateTime. + The other BsonDateTime. + True if the two BsonDateTime values are equal according to ==. + + + + Creates a new BsonDateTime. + + An object to be mapped to a BsonDateTime. + A BsonDateTime or null. + + + + Compares this BsonDateTime to another BsonDateTime. + + The other BsonDateTime. + A 32-bit signed integer that indicates whether this BsonDateTime is less than, equal to, or greather than the other. + + + + Compares the BsonDateTime to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonDateTime is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonDateTime to another BsonDateTime. + + The other BsonDateTime. + True if the two BsonDateTime values are equal. + + + + Compares this BsonDateTime to another object. + + The other object. + True if the other object is a BsonDateTime and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a DateTime in local time. + + A DateTime. + + + + Converts this BsonValue to a DateTime? in local time. + + A DateTime?. + + + + Converts this BsonValue to a DateTime? in UTC. + + A DateTime?. + + + + Converts this BsonValue to a DateTime in UTC. + + A DateTime. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + + + + Represents a BSON Decimal128 value. + + + + + + Initializes a new instance of the class. + + The value. + + + + + + + Gets the value. + + + + + Converts a Decimal128 to a BsonDecimal128. + + A Decimal128. + A BsonDecimal128. + + + + Compares two BsonDecimal128 values. + + The first BsonDecimal128. + The other BsonDecimal128. + True if the two BsonDecimal128 values are not equal according to ==. + + + + Compares two BsonDecimal128 values. + + The first BsonDecimal128. + The other BsonDecimal128. + True if the two BsonDecimal128 values are equal according to ==. + + + + Creates a new instance of the BsonDecimal128 class. + + An object to be mapped to a BsonDecimal128. + A BsonDecimal128. + + + + Compares this BsonDecimal128 to another BsonDecimal128. + + The other BsonDecimal128. + A 32-bit signed integer that indicates whether this BsonDecimal128 is less than, equal to, or greather than the other. + + + + + + + Compares this BsonDecimal128 to another BsonDecimal128. + + The other BsonDecimal128. + True if the two BsonDecimal128 values are equal. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a BSON document. + + + + + Initializes a new instance of the BsonDocument class. + + + + + Initializes a new instance of the BsonDocument class specifying whether duplicate element names are allowed + (allowing duplicate element names is not recommended). + + Whether duplicate element names are allowed. + + + + Initializes a new instance of the BsonDocument class and adds one element. + + An element to add to the document. + + + + Initializes a new instance of the BsonDocument by coping elements from another BsonDocument. + + The document whose elements will be copied + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a list of elements. + + A list of elements to add to the document. + + + + Initializes a new instance of the BsonDocument class and adds one or more elements. + + One or more elements to add to the document. + + + + Initializes a new instance of the BsonDocument class and creates and adds a new element. + + The name of the element to add to the document. + The value of the element to add to the document. + + + + Compares two BsonDocument values. + + The first BsonDocument. + The other BsonDocument. + True if the two BsonDocument values are not equal according to ==. + + + + Compares two BsonDocument values. + + The first BsonDocument. + The other BsonDocument. + True if the two BsonDocument values are equal according to ==. + + + + Gets or sets whether to allow duplicate names (allowing duplicate names is not recommended). + + + + + Gets the BsonType of this BsonValue. + + + + + Gets the number of elements. + + + + + Gets the elements. + + + + + Gets the element names. + + + + + Gets the values. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Gets or sets a value by name. + + The name. + The value. + + + + Creates a new BsonDocument by mapping an object to a BsonDocument. + + The object to be mapped to a BsonDocument. + A BsonDocument. + + + + Parses a JSON string and returns a BsonDocument. + + The JSON string. + A BsonDocument. + + + + Tries to parse a JSON string and returns a value indicating whether it succeeded or failed. + + The JSON string. + The result. + Whether it succeeded or failed. + + + + Adds an element to the document. + + The element to add. + The document (so method calls can be chained). + + + + Creates and adds an element to the document. + + The name of the element. + The value of the element. + The document (so method calls can be chained). + + + + Creates and adds an element to the document, but only if the condition is true. + + The name of the element. + The value of the element. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Creates and adds an element to the document, but only if the condition is true. + If the condition is false the value factory is not called at all. + + The name of the element. + A delegate called to compute the value of the element if condition is true. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Clears the document (removes all elements). + + + + + Creates a shallow clone of the document (see also DeepClone). + + A shallow clone of the document. + + + + Compares this document to another document. + + The other document. + A 32-bit signed integer that indicates whether this document is less than, equal to, or greater than the other. + + + + Compares the BsonDocument to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonDocument is less than, equal to, or greater than the other BsonValue. + + + + Tests whether the document contains an element with the specified name. + + The name of the element to look for. + True if the document contains an element with the specified name. + + + + Tests whether the document contains an element with the specified value. + + The value of the element to look for. + True if the document contains an element with the specified value. + + + + Creates a deep clone of the document (see also Clone). + + A deep clone of the document. + + + + Compares this document to another document. + + The other document. + True if the two documents are equal. + + + + Compares this BsonDocument to another object. + + The other object. + True if the other object is a BsonDocument and equal to this one. + + + + Gets an element of this document. + + The zero based index of the element. + The element. + + + + Gets an element of this document. + + The name of the element. + A BsonElement. + + + + Gets an enumerator that can be used to enumerate the elements of this document. + + An enumerator. + + + + Gets the hash code. + + The hash code. + + + + Gets the value of an element. + + The zero based index of the element. + The value of the element. + + + + Gets the value of an element. + + The name of the element. + The value of the element. + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value returned if the element is not found. + The value of the element or the default value if the element is not found. + + + + Gets the index of an element. + + The name of the element. + The index of the element, or -1 if the element is not found. + + + + Inserts a new element at a specified position. + + The position of the new element. + The element. + + + + Merges another document into this one. Existing elements are not overwritten. + + The other document. + The document (so method calls can be chained). + + + + Merges another document into this one, specifying whether existing elements are overwritten. + + The other document. + Whether to overwrite existing elements. + The document (so method calls can be chained). + + + + Removes an element from this document (if duplicate element names are allowed + then all elements with this name will be removed). + + The name of the element to remove. + + + + Removes an element from this document. + + The zero based index of the element to remove. + + + + Removes an element from this document. + + The element to remove. + + + + Sets the value of an element. + + The zero based index of the element whose value is to be set. + The new value. + The document (so method calls can be chained). + + + + Sets the value of an element (an element will be added if no element with this name is found). + + The name of the element whose value is to be set. + The new value. + The document (so method calls can be chained). + + + + Sets an element of the document (replacing the existing element at that position). + + The zero based index of the element to replace. + The new element. + The document. + + + + Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). + + The new element. + The document. + + + + Converts the BsonDocument to a Dictionary<string, object>. + + A dictionary. + + + + Converts the BsonDocument to a Hashtable. + + A hashtable. + + + + Returns a string representation of the document. + + A string representation of the document. + + + + Tries to get an element of this document. + + The name of the element. + The element. + True if an element with that name was found. + + + + Tries to get the value of an element of this document. + + The name of the element. + The value of the element. + True if an element with that name was found. + + + + Represents a BsonDocument wrapper. + + + + + Initializes a new instance of the class. + + The value. + + + + Initializes a new instance of the class. + + The value. + The serializer. + + + + Gets the serializer. + + + The serializer. + + + + + Gets the wrapped value. + + + + + Creates a new instance of the BsonDocumentWrapper class. + + The nominal type of the wrapped object. + The wrapped object. + A BsonDocumentWrapper. + + + + Creates a new instance of the BsonDocumentWrapper class. + + The nominal type of the wrapped object. + The wrapped object. + A BsonDocumentWrapper. + + + + Creates a list of new instances of the BsonDocumentWrapper class. + + The nominal type of the wrapped objects. + A list of wrapped objects. + A list of BsonDocumentWrappers. + + + + Creates a list of new instances of the BsonDocumentWrapper class. + + The nominal type of the wrapped object. + A list of wrapped objects. + A list of BsonDocumentWrappers. + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Materializes the BsonDocument. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Represents a BSON double value. + + + + + + Initializes a new instance of the BsonDouble class. + + The value. + + + + + + + Gets the value of this BsonDouble. + + + + + Converts a double to a BsonDouble. + + A double. + A BsonDouble. + + + + Compares two BsonDouble values. + + The first BsonDouble. + The other BsonDouble. + True if the two BsonDouble values are not equal according to ==. + + + + Compares two BsonDouble values. + + The first BsonDouble. + The other BsonDouble. + True if the two BsonDouble values are equal according to ==. + + + + Creates a new instance of the BsonDouble class. + + An object to be mapped to a BsonDouble. + A BsonDouble. + + + + Compares this BsonDouble to another BsonDouble. + + The other BsonDouble. + A 32-bit signed integer that indicates whether this BsonDouble is less than, equal to, or greather than the other. + + + + + + + Compares this BsonDouble to another BsonDouble. + + The other BsonDouble. + True if the two BsonDouble values are equal. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a BSON element. + + + + + Initializes a new instance of the BsonElement class. + + The name of the element. + The value of the element. + + + + Gets the name of the element. + + + + + Gets or sets the value of the element. + + + + + Compares two BsonElements. + + The first BsonElement. + The other BsonElement. + True if the two BsonElements are equal (or both null). + + + + Compares two BsonElements. + + The first BsonElement. + The other BsonElement. + True if the two BsonElements are not equal (or one is null and the other is not). + + + + Creates a shallow clone of the element (see also DeepClone). + + A shallow clone of the element. + + + + Creates a deep clone of the element (see also Clone). + + A deep clone of the element. + + + + Compares this BsonElement to another BsonElement. + + The other BsonElement. + A 32-bit signed integer that indicates whether this BsonElement is less than, equal to, or greather than the other. + + + + Compares this BsonElement to another BsonElement. + + The other BsonElement. + True if the two BsonElement values are equal. + + + + Compares this BsonElement to another object. + + The other object. + True if the other object is a BsonElement and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON int value. + + + + + Creates a new instance of the BsonInt32 class. + + The value. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the value of this BsonInt32. + + + + + Converts an int to a BsonInt32. + + An int. + A BsonInt32. + + + + Compares two BsonInt32 values. + + The first BsonInt32. + The other BsonInt32. + True if the two BsonInt32 values are not equal according to ==. + + + + Compares two BsonInt32 values. + + The first BsonInt32. + The other BsonInt32. + True if the two BsonInt32 values are equal according to ==. + + + + Creates a new BsonInt32. + + An object to be mapped to a BsonInt32. + A BsonInt32 or null. + + + + Compares this BsonInt32 to another BsonInt32. + + The other BsonInt32. + A 32-bit signed integer that indicates whether this BsonInt32 is less than, equal to, or greather than the other. + + + + Compares the BsonInt32 to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonInt32 is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonInt32 to another BsonInt32. + + The other BsonInt32. + True if the two BsonInt32 values are equal. + + + + Compares this BsonInt32 to another object. + + The other object. + True if the other object is a BsonInt32 and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + + + + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int32. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compares this BsonInt32 against another BsonValue. + + The other BsonValue. + True if this BsonInt32 and the other BsonValue are equal according to ==. + + + + Represents a BSON long value. + + + + + Initializes a new instance of the BsonInt64 class. + + The value. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the value of this BsonInt64. + + + + + Converts a long to a BsonInt64. + + A long. + A BsonInt64. + + + + Compares two BsonInt64 values. + + The first BsonInt64. + The other BsonInt64. + True if the two BsonInt64 values are not equal according to ==. + + + + Compares two BsonInt64 values. + + The first BsonInt64. + The other BsonInt64. + True if the two BsonInt64 values are equal according to ==. + + + + Creates a new BsonInt64. + + An object to be mapped to a BsonInt64. + A BsonInt64 or null. + + + + Compares this BsonInt64 to another BsonInt64. + + The other BsonInt64. + A 32-bit signed integer that indicates whether this BsonInt64 is less than, equal to, or greather than the other. + + + + Compares the BsonInt64 to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonInt64 is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonInt64 to another BsonInt64. + + The other BsonInt64. + True if the two BsonInt64 values are equal. + + + + Compares this BsonInt64 to another object. + + The other object. + True if the other object is a BsonInt64 and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + + + + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int32. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compares this BsonInt32 against another BsonValue. + + The other BsonValue. + True if this BsonInt64 and the other BsonValue are equal according to ==. + + + + Represents a BSON JavaScript value. + + + + + Initializes a new instance of the BsonJavaScript class. + + The JavaScript code. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the JavaScript code. + + + + + Compares two BsonJavaScript values. + + The first BsonJavaScript. + The other BsonJavaScript. + True if the two BsonJavaScript values are not equal according to ==. + + + + Compares two BsonJavaScript values. + + The first BsonJavaScript. + The other BsonJavaScript. + True if the two BsonJavaScript values are equal according to ==. + + + + Converts a string to a BsonJavaScript. + + A string. + A BsonJavaScript. + + + + Creates a new BsonJavaScript. + + An object to be mapped to a BsonJavaScript. + A BsonJavaScript or null. + + + + Compares this BsonJavaScript to another BsonJavaScript. + + The other BsonJavaScript. + A 32-bit signed integer that indicates whether this BsonJavaScript is less than, equal to, or greather than the other. + + + + Compares the BsonJavaScript to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonJavaScript is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonJavaScript to another BsonJavaScript. + + The other BsonJavaScript. + True if the two BsonJavaScript values are equal. + + + + Compares this BsonJavaScript to another object. + + The other object. + True if the other object is a BsonJavaScript and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON JavaScript value with a scope. + + + + + Initializes a new instance of the BsonJavaScriptWithScope class. + + The JavaScript code. + A scope (a set of variables with values). + + + + Compares two BsonJavaScriptWithScope values. + + The first BsonJavaScriptWithScope. + The other BsonJavaScriptWithScope. + True if the two BsonJavaScriptWithScope values are not equal according to ==. + + + + Compares two BsonJavaScriptWithScope values. + + The first BsonJavaScriptWithScope. + The other BsonJavaScriptWithScope. + True if the two BsonJavaScriptWithScope values are equal according to ==. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the scope (a set of variables with values). + + + + + Creates a new BsonJavaScriptWithScope. + + An object to be mapped to a BsonJavaScriptWithScope. + A BsonJavaScriptWithScope or null. + + + + Creates a shallow clone of the BsonJavaScriptWithScope (see also DeepClone). + + A shallow clone of the BsonJavaScriptWithScope. + + + + Creates a deep clone of the BsonJavaScriptWithScope (see also Clone). + + A deep clone of the BsonJavaScriptWithScope. + + + + Compares this BsonJavaScriptWithScope to another BsonJavaScriptWithScope. + + The other BsonJavaScriptWithScope. + A 32-bit signed integer that indicates whether this BsonJavaScriptWithScope is less than, equal to, or greather than the other. + + + + Compares the BsonJavaScriptWithScope to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonJavaScriptWithScope is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonJavaScriptWithScope to another BsonJavaScriptWithScope. + + The other BsonJavaScriptWithScope. + True if the two BsonJavaScriptWithScope values are equal. + + + + Compares this BsonJavaScriptWithScope to another object. + + The other object. + True if the other object is a BsonJavaScriptWithScope and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the BSON MaxKey value. + + + + + Compares two BsonMaxKey values. + + The first BsonMaxKey. + The other BsonMaxKey. + True if the two BsonMaxKey values are not equal according to ==. + + + + Compares two BsonMaxKey values. + + The first BsonMaxKey. + The other BsonMaxKey. + True if the two BsonMaxKey values are equal according to ==. + + + + Gets the singleton instance of BsonMaxKey. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonMaxKey to another BsonMaxKey. + + The other BsonMaxKey. + A 32-bit signed integer that indicates whether this BsonMaxKey is less than, equal to, or greather than the other. + + + + Compares the BsonMaxKey to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonMaxKey is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonMaxKey to another BsonMaxKey. + + The other BsonMaxKey. + True if the two BsonMaxKey values are equal. + + + + Compares this BsonMaxKey to another object. + + The other object. + True if the other object is a BsonMaxKey and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the BSON MinKey value. + + + + + Compares two BsonMinKey values. + + The first BsonMinKey. + The other BsonMinKey. + True if the two BsonMinKey values are not equal according to ==. + + + + Compares two BsonMinKey values. + + The first BsonMinKey. + The other BsonMinKey. + True if the two BsonMinKey values are equal according to ==. + + + + Gets the singleton instance of BsonMinKey. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonMinKey to another BsonMinKey. + + The other BsonMinKey. + A 32-bit signed integer that indicates whether this BsonMinKey is less than, equal to, or greather than the other. + + + + Compares the BsonMinKey to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonMinKey is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonMinKey to another BsonMinKey. + + The other BsonMinKey. + True if the two BsonMinKey values are equal. + + + + Compares this BsonMinKey to another object. + + The other object. + True if the other object is a BsonMinKey and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the BSON Null value. + + + + + Compares two BsonNull values. + + The first BsonNull. + The other BsonNull. + True if the two BsonNull values are not equal according to ==. + + + + Compares two BsonNull values. + + The first BsonNull. + The other BsonNull. + True if the two BsonNull values are equal according to ==. + + + + Gets the singleton instance of BsonNull. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonNull to another BsonNull. + + The other BsonNull. + A 32-bit signed integer that indicates whether this BsonNull is less than, equal to, or greather than the other. + + + + Compares the BsonNull to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonNull is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonNull to another BsonNull. + + The other BsonNull. + True if the two BsonNull values are equal. + + + + Compares this BsonNull to another object. + + The other object. + True if the other object is a BsonNull and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a DateTime? in local time. + + A DateTime?. + + + + Converts this BsonValue to a DateTime? in UTC. + + A DateTime?. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON ObjectId value (see also ObjectId). + + + + + Initializes a new instance of the BsonObjectId class. + + The value. + + + + Gets an instance of BsonObjectId where the value is empty. + + + + + Gets the BsonType of this BsonValue. + + + + + Gets the value of this BsonObjectId. + + + + + Converts an ObjectId to a BsonObjectId. + + An ObjectId. + A BsonObjectId. + + + + Compares two BsonObjectId values. + + The first BsonObjectId. + The other BsonObjectId. + True if the two BsonObjectId values are not equal according to ==. + + + + Compares two BsonObjectId values. + + The first BsonObjectId. + The other BsonObjectId. + True if the two BsonObjectId values are equal according to ==. + + + + Creates a new BsonObjectId. + + An object to be mapped to a BsonObjectId. + A BsonObjectId or null. + + + + Compares this BsonObjectId to another BsonObjectId. + + The other BsonObjectId. + A 32-bit signed integer that indicates whether this BsonObjectId is less than, equal to, or greather than the other. + + + + Compares the BsonObjectId to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonObjectId is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonObjectId to another BsonObjectId. + + The other BsonObjectId. + True if the two BsonObjectId values are equal. + + + + Compares this BsonObjectId to another object. + + The other object. + True if the other object is a BsonObjectId and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + Represents a BSON regular expression value. + + + + + Initializes a new instance of the BsonRegularExpression class. + + A regular expression pattern. + + + + Initializes a new instance of the BsonRegularExpression class. + + A regular expression pattern. + Regular expression options. + + + + Initializes a new instance of the BsonRegularExpression class. + + A Regex. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the regular expression pattern. + + + + + Gets the regular expression options. + + + + + Converts a Regex to a BsonRegularExpression. + + A Regex. + A BsonRegularExpression. + + + + Converts a string to a BsonRegularExpression. + + A string. + A BsonRegularExpression. + + + + Compares two BsonRegularExpression values. + + The first BsonRegularExpression. + The other BsonRegularExpression. + True if the two BsonRegularExpression values are not equal according to ==. + + + + Compares two BsonRegularExpression values. + + The first BsonRegularExpression. + The other BsonRegularExpression. + True if the two BsonRegularExpression values are equal according to ==. + + + + Creates a new BsonRegularExpression. + + An object to be mapped to a BsonRegularExpression. + A BsonRegularExpression or null. + + + + Compares this BsonRegularExpression to another BsonRegularExpression. + + The other BsonRegularExpression. + A 32-bit signed integer that indicates whether this BsonRegularExpression is less than, equal to, or greather than the other. + + + + Compares the BsonRegularExpression to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonRegularExpression is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonRegularExpression to another BsonRegularExpression. + + The other BsonRegularExpression. + True if the two BsonRegularExpression values are equal. + + + + Compares this BsonRegularExpression to another object. + + The other object. + True if the other object is a BsonRegularExpression and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts the BsonRegularExpression to a Regex. + + A Regex. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON string value. + + + + + Initializes a new instance of the BsonString class. + + The value. + + + + Gets an instance of BsonString that represents an empty string. + + + + + Gets the BsonType of this BsonValue. + + + + + Gets the value of this BsonString. + + + + + Converts a string to a BsonString. + + A string. + A BsonString. + + + + Compares two BsonString values. + + The first BsonString. + The other BsonString. + True if the two BsonString values are not equal according to ==. + + + + Compares two BsonString values. + + The first BsonString. + The other BsonString. + True if the two BsonString values are equal according to ==. + + + + Creates a new BsonString. + + An object to be mapped to a BsonString. + A BsonString or null. + + + + Compares this BsonString to another BsonString. + + The other BsonString. + A 32-bit signed integer that indicates whether this BsonString is less than, equal to, or greather than the other. + + + + Compares the BsonString to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonString is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonString to another BsonString. + + The other BsonString. + True if the two BsonString values are equal. + + + + Compares this BsonString to another object. + + The other object. + True if the other object is a BsonString and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + + + + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int32. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a BSON symbol value. + + + + + Gets the BsonType of this BsonValue. + + + + + Gets the name of the symbol. + + + + + Converts a string to a BsonSymbol. + + A string. + A BsonSymbol. + + + + Compares two BsonSymbol values. + + The first BsonSymbol. + The other BsonSymbol. + True if the two BsonSymbol values are not equal according to ==. + + + + Compares two BsonSymbol values. + + The first BsonSymbol. + The other BsonSymbol. + True if the two BsonSymbol values are equal according to ==. + + + + Creates a new BsonSymbol. + + An object to be mapped to a BsonSymbol. + A BsonSymbol or null. + + + + Compares this BsonSymbol to another BsonSymbol. + + The other BsonSymbol. + A 32-bit signed integer that indicates whether this BsonSymbol is less than, equal to, or greather than the other. + + + + Compares the BsonSymbol to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonSymbol is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonSymbol to another BsonSymbol. + + The other BsonSymbol. + True if the two BsonSymbol values are equal. + + + + Compares this BsonSymbol to another object. + + The other object. + True if the other object is a BsonSymbol and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the symbol table of BsonSymbols. + + + + + Looks up a symbol (and creates a new one if necessary). + + The name of the symbol. + The symbol. + + + + Represents a BSON timestamp value. + + + + + Initializes a new instance of the BsonTimestamp class. + + The combined timestamp/increment value. + + + + Initializes a new instance of the BsonTimestamp class. + + The timestamp. + The increment. + + + + Compares two BsonTimestamp values. + + The first BsonTimestamp. + The other BsonTimestamp. + True if the two BsonTimestamp values are not equal according to ==. + + + + Compares two BsonTimestamp values. + + The first BsonTimestamp. + The other BsonTimestamp. + True if the two BsonTimestamp values are equal according to ==. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the value of this BsonTimestamp. + + + + + Gets the increment. + + + + + Gets the timestamp. + + + + + Creates a new BsonTimestamp. + + An object to be mapped to a BsonTimestamp. + A BsonTimestamp or null. + + + + Compares this BsonTimestamp to another BsonTimestamp. + + The other BsonTimestamp. + A 32-bit signed integer that indicates whether this BsonTimestamp is less than, equal to, or greather than the other. + + + + Compares the BsonTimestamp to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonTimestamp is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonTimestamp to another BsonTimestamp. + + The other BsonTimestamp. + True if the two BsonTimestamp values are equal. + + + + Compares this BsonTimestamp to another object. + + The other object. + True if the other object is a BsonTimestamp and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the type of a BSON element. + + + + + Not a real BSON type. Used to signal the end of a document. + + + + + A BSON double. + + + + + A BSON string. + + + + + A BSON document. + + + + + A BSON array. + + + + + BSON binary data. + + + + + A BSON undefined value. + + + + + A BSON ObjectId. + + + + + A BSON bool. + + + + + A BSON DateTime. + + + + + A BSON null value. + + + + + A BSON regular expression. + + + + + BSON JavaScript code. + + + + + A BSON symbol. + + + + + BSON JavaScript code with a scope (a set of variables with values). + + + + + A BSON 32-bit integer. + + + + + A BSON timestamp. + + + + + A BSON 64-bit integer. + + + + + A BSON 128-bit decimal. + + + + + A BSON MinKey value. + + + + + A BSON MaxKey value. + + + + + A static class containing extension methods for . + + + + + Maps a to its corresponding server string representation. + + The input type to map. + + + + A static class that maps between .NET objects and BsonValues. + + + + + Maps an object to an instance of the closest BsonValue class. + + An object. + A BsonValue. + + + + Maps an object to a specific BsonValue type. + + An object. + The BsonType to map to. + A BsonValue of the desired type (or BsonNull.Value if value is null and bsonType is Null). + + + + Maps a BsonValue to a .NET value using the default BsonTypeMapperOptions. + + The BsonValue. + The mapped .NET value. + + + + Maps a BsonValue to a .NET value. + + The BsonValue. + The BsonTypeMapperOptions. + The mapped .NET value. + + + + Registers a custom type mapper. + + The type. + A custom type mapper. + + + + Tries to map an object to an instance of the closest BsonValue class. + + An object. + The BsonValue. + True if the mapping was successfull. + + + + Compares this Mapping to another object. + + The other object. + True if the other object is a Mapping and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Represents how duplicate names should be handled. + + + + + Overwrite original value with new value. + + + + + Ignore duplicate name and keep original value. + + + + + Throw an exception. + + + + + Represents options used by the BsonTypeMapper. + + + + + Initializes a new instance of the BsonTypeMapperOptions class. + + + + + Gets or sets the default BsonTypeMapperOptions. + + + + + Gets or sets how duplicate names should be handled. + + + + + Gets whether the BsonTypeMapperOptions is frozen. + + + + + Gets or sets the type that a BsonArray should be mapped to. + + + + + Gets or sets the type that a BsonDocument should be mapped to. + + + + + Gets or sets whether binary sub type OldBinary should be mapped to byte[] the way sub type Binary is. + + + + + Clones the BsonTypeMapperOptions. + + The cloned BsonTypeMapperOptions. + + + + Freezes the BsonTypeMapperOptions. + + The frozen BsonTypeMapperOptions. + + + + Represents the BSON undefined value. + + + + + Compares two BsonUndefined values. + + The first BsonUndefined. + The other BsonUndefined. + True if the two BsonUndefined values are not equal according to ==. + + + + Compares two BsonUndefined values. + + The first BsonUndefined. + The other BsonUndefined. + True if the two BsonUndefined values are equal according to ==. + + + + Gets the singleton instance of BsonUndefined. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonUndefined to another BsonUndefined. + + The other BsonUndefined. + A 32-bit signed integer that indicates whether this BsonUndefined is less than, equal to, or greather than the other. + + + + Compares the BsonUndefined to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonUndefined is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonUndefined to another BsonUndefined. + + The other BsonUndefined. + True if the two BsonUndefined values are equal. + + + + Compares this BsonUndefined to another object. + + The other object. + True if the other object is a BsonUndefined and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON value (this is an abstract class, see the various subclasses). + + + + + Casts the BsonValue to a Boolean (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonArray (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonBinaryData (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonDateTime (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonDocument (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonJavaScript (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonJavaScriptWithScope (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonMaxKey (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonMinKey (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonNull (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonRegularExpression (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonSymbol (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonTimestamp (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonUndefined (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonValue (a way of upcasting subclasses of BsonValue to BsonValue at compile time). + + + + + Casts the BsonValue to a Byte[] (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Double (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Guid (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to an Int32 (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Int64 (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a DateTime in the local timezone (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Boolean} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Decimal} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Decimal128} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Double} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Guid} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Int32} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Int64} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{DateTime} in the local timezone (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{ObjectId} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{DateTime} in UTC (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to an ObjectId (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Regex (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a String (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a DateTime in UTC (throws an InvalidCastException if the cast is not valid). + + + + + Gets the BsonType of this BsonValue. + + + + + Tests whether this BsonValue is a Boolean. + + + + + Tests whether this BsonValue is a BsonArray. + + + + + Tests whether this BsonValue is a BsonBinaryData. + + + + + Tests whether this BsonValue is a BsonDateTime. + + + + + Tests whether this BsonValue is a BsonDocument. + + + + + Tests whether this BsonValue is a BsonJavaScript. + + + + + Tests whether this BsonValue is a BsonJavaScriptWithScope. + + + + + Tests whether this BsonValue is a BsonMaxKey. + + + + + Tests whether this BsonValue is a BsonMinKey. + + + + + Tests whether this BsonValue is a BsonNull. + + + + + Tests whether this BsonValue is a BsonRegularExpression. + + + + + Tests whether this BsonValue is a BsonSymbol . + + + + + Tests whether this BsonValue is a BsonTimestamp. + + + + + Tests whether this BsonValue is a BsonUndefined. + + + + + Tests whether this BsonValue is a Decimal128. + + + + + Tests whether this BsonValue is a Double. + + + + + Tests whether this BsonValue is a Guid. + + + + + Tests whether this BsonValue is an Int32. + + + + + Tests whether this BsonValue is an Int64. + + + + + Tests whether this BsonValue is a numeric value. + + + + + Tests whether this BsonValue is an ObjectId . + + + + + Tests whether this BsonValue is a String. + + + + + Tests whether this BsonValue is a valid DateTime. + + + + + Casts a BsonValue to a bool. + + The BsonValue. + A bool. + + + + Casts a BsonValue to a bool?. + + The BsonValue. + A bool?. + + + + Converts a bool to a BsonValue. + + A bool. + A BsonValue. + + + + Converts a bool? to a BsonValue. + + A bool?. + A BsonValue. + + + + Converts a byte[] to a BsonValue. + + A byte[]. + A BsonValue. + + + + Converts a DateTime to a BsonValue. + + A DateTime. + A BsonValue. + + + + Converts a DateTime? to a BsonValue. + + A DateTime?. + A BsonValue. + + + + Converts a decimal to a BsonValue. + + A decimal. + A BsonValue. + + + + Converts a decimal? to a BsonValue. + + A decimal?. + A BsonValue. + + + + Converts a to a BsonValue. + + A Decimal128. + A BsonValue. + + + + Converts a nullable to a BsonValue. + + A Decimal128?. + A BsonValue. + + + + Converts a double to a BsonValue. + + A double. + A BsonValue. + + + + Converts a double? to a BsonValue. + + A double?. + A BsonValue. + + + + Converts an Enum to a BsonValue. + + An Enum. + A BsonValue. + + + + Converts an int to a BsonValue. + + An int. + A BsonValue. + + + + Converts an int? to a BsonValue. + + An int?. + A BsonValue. + + + + Converts a long to a BsonValue. + + A long. + A BsonValue. + + + + Converts a long? to a BsonValue. + + A long?. + A BsonValue. + + + + Converts an ObjectId to a BsonValue. + + An ObjectId. + A BsonValue. + + + + Converts an ObjectId? to a BsonValue. + + An ObjectId?. + A BsonValue. + + + + Converts a Regex to a BsonValue. + + A Regex. + A BsonValue. + + + + Converts a string to a BsonValue. + + A string. + A BsonValue. + + + + Casts a BsonValue to a byte[]. + + The BsonValue. + A byte[]. + + + + Casts a BsonValue to a DateTime. + + The BsonValue. + A DateTime. + + + + Casts a BsonValue to a DateTime?. + + The BsonValue. + A DateTime?. + + + + Casts a BsonValue to a decimal. + + The BsonValue. + A decimal. + + + + Casts a BsonValue to a decimal?. + + The BsonValue. + A decimal?. + + + + Casts a BsonValue to a . + + The BsonValue. + A . + + + + Casts a BsonValue to a nullable ?. + + The BsonValue. + A nullable . + + + + Casts a BsonValue to a double. + + The BsonValue. + A double. + + + + Casts a BsonValue to a double?. + + The BsonValue. + A double?. + + + + Casts a BsonValue to a Guid. + + The BsonValue. + A Guid. + + + + Casts a BsonValue to a Guid?. + + The BsonValue. + A Guid?. + + + + Casts a BsonValue to an int. + + The BsonValue. + An int. + + + + Casts a BsonValue to an int?. + + The BsonValue. + An int?. + + + + Casts a BsonValue to a long. + + The BsonValue. + A long. + + + + Casts a BsonValue to a long?. + + The BsonValue. + A long?. + + + + Casts a BsonValue to an ObjectId. + + The BsonValue. + An ObjectId. + + + + Casts a BsonValue to an ObjectId?. + + The BsonValue. + An ObjectId?. + + + + Casts a BsonValue to a Regex. + + The BsonValue. + A Regex. + + + + Casts a BsonValue to a string. + + The BsonValue. + A string. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is less than the other one. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is less than or equal to the other one. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the two BsonValues are not equal according to ==. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the two BsonValues are equal according to ==. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is greater than the other one. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is greater than or equal to the other one. + + + + Gets or sets a value by position (only applies to BsonDocument and BsonArray). + + The position. + The value. + + + + Gets or sets a value by name (only applies to BsonDocument). + + The name. + The value. + + + + Creates a new instance of the BsonValue class. + + A value to be mapped to a BsonValue. + A BsonValue. + + + + Creates a shallow clone of the BsonValue (see also DeepClone). + + A shallow clone of the BsonValue. + + + + Compares this BsonValue to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonValue is less than, equal to, or greather than the other BsonValue. + + + + Compares the type of this BsonValue to the type of another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether the type of this BsonValue is less than, equal to, or greather than the type of the other BsonValue. + + + + Creates a deep clone of the BsonValue (see also Clone). + + A deep clone of the BsonValue. + + + + Compares this BsonValue to another BsonValue. + + The other BsonValue. + True if the two BsonValue values are equal. + + + + Compares this BsonValue to another object. + + The other object. + True if the other object is a BsonValue and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a Decimal. + + A Decimal. + + + + Converts this BsonValue to a Decimal128. + + A Decimal128. + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int64. + + + + Converts this BsonValue to a DateTime in local time. + + A DateTime. + + + + Converts this BsonValue to a DateTime? in local time. + + A DateTime?. + + + + Converts this BsonValue to a DateTime? in UTC. + + A DateTime?. + + + + Converts this BsonValue to a DateTime in UTC. + + A DateTime. + + + + Implementation of the IConvertible GetTypeCode method. + + The TypeCode. + + + + Implementation of the IConvertible ToBoolean method. + + The format provider. + A bool. + + + + Implementation of the IConvertible ToByte method. + + The format provider. + A byte. + + + + Implementation of the IConvertible ToChar method. + + The format provider. + A char. + + + + Implementation of the IConvertible ToDateTime method. + + The format provider. + A DateTime. + + + + Implementation of the IConvertible ToDecimal method. + + The format provider. + A decimal. + + + + Implementation of the IConvertible ToDouble method. + + The format provider. + A double. + + + + Implementation of the IConvertible ToInt16 method. + + The format provider. + A short. + + + + Implementation of the IConvertible ToInt32 method. + + The format provider. + An int. + + + + Implementation of the IConvertible ToInt64 method. + + The format provider. + A long. + + + + Implementation of the IConvertible ToSByte method. + + The format provider. + An sbyte. + + + + Implementation of the IConvertible ToSingle method. + + The format provider. + A float. + + + + Implementation of the IConvertible ToString method. + + The format provider. + A string. + + + + Implementation of the IConvertible ToUInt16 method. + + The format provider. + A ushort. + + + + Implementation of the IConvertible ToUInt32 method. + + The format provider. + A uint. + + + + Implementation of the IConvertible ToUInt64 method. + + The format provider. + A ulong. + + + + Implementation of operator ==. + + The other BsonValue. + True if the two BsonValues are equal according to ==. + + + + Represents a Decimal128 value. + + + + + Gets the maximum value. + + + + + Gets the minimum value. + + + + + Represents negative infinity. + + + + + Represents one. + + + + + Represents positive infinity. + + + + + Represents a value that is not a number. + + + + + Represents a value that is not a number and raises errors when used in calculations. + + + + + Represents zero. + + + + + Implements the operator ==. + + The LHS. + The RHS. + + The result of the operator. + + + + + Implements the operator !=. + + The LHS. + The RHS. + + The result of the operator. + + + + + Returns a value indicating whether a specified Decimal128 is greater than another specified Decimal128. + + The first value. + The second value. + + true if x > y; otherwise, false. + + + + + Returns a value indicating whether a specified Decimal128 is greater than or equal to another another specified Decimal128. + + The first value. + The second value. + + true if x >= y; otherwise, false. + + + + + Returns a value indicating whether a specified Decimal128 is less than another specified Decimal128. + + The first value. + The second value. + + true if x < y; otherwise, false. + + + + + Returns a value indicating whether a specified Decimal128 is less than or equal to another another specified Decimal128. + + The first value. + The second value. + + true if x <= y; otherwise, false. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Compares two specified Decimal128 values and returns an integer that indicates whether the first value + is greater than, less than, or equal to the second value. + + The first value. + The second value. + Less than zero if x < y, zero if x == y, and greater than zero if x > y. + + + + Determines whether the specified Decimal128 instances are considered equal. + + The first Decimal128 object to compare. + The second Decimal128 object to compare. + True if the objects are considered equal; otherwise false. If both x and y are null, the method returns true. + + + + Creates a new Decimal128 value from its components. + + if set to true [is negative]. + The exponent. + The signficand high bits. + The significand low bits. + A Decimal128 value. + + + + Creates a new Decimal128 value from the IEEE encoding bits. + + The high bits. + The low bits. + A Decimal128 value. + + + + Gets the exponent of a Decimal128 value. + + The Decimal128 value. + The exponent. + + + + Gets the high bits of the significand of a Decimal128 value. + + The Decimal128 value. + The high bits of the significand. + + + + Gets the high bits of the significand of a Decimal128 value. + + The Decimal128 value. + The high bits of the significand. + + + + Returns a value indicating whether the specified number evaluates to negative or positive infinity. + + A 128-bit decimal. + true if evaluates to negative or positive infinity; otherwise, false. + + + + Returns a value indicating whether the specified number is not a number. + + A 128-bit decimal. + true if is not a number; otherwise, false. + + + + Returns a value indicating whether the specified number is negative. + + A 128-bit decimal. + true if is negative; otherwise, false. + + + + Returns a value indicating whether the specified number evaluates to negative infinity. + + A 128-bit decimal. + true if evaluates to negative infinity; otherwise, false. + + + + Returns a value indicating whether the specified number evaluates to positive infinity. + + A 128-bit decimal. + true if evaluates to positive infinity; otherwise, false. + + + + Returns a value indicating whether the specified number is a quiet not a number. + + A 128-bit decimal. + true if is a quiet not a number; otherwise, false. + + + + Returns a value indicating whether the specified number is a signaled not a number. + + A 128-bit decimal. + true if is a signaled not a number; otherwise, false. + + + + Returns a value indicating whether the specified number is zero. + + A 128-bit decimal. + + true if the specified number is zero; otherwise, false. + + + + + Negates the specified x. + + The x. + The result of multiplying the value by negative one. + + + + Converts the string representation of a number to its equivalent. + + The string representation of the number to convert. + + The equivalent to the number contained in . + + + + + Converts the value of the specified to the equivalent 8-bit unsigned integer. + + The number to convert. + A 8-bit unsigned integer equivalent to . + + + + Converts the value of the specified to the equivalent . + + The number to convert. + A equivalent to . + + + + Converts the value of the specified to the equivalent . + + The number to convert. + A equivalent to . + + + + Converts the value of the specified to the equivalent 16-bit signed integer. + + The number to convert. + A 16-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent 32-bit signed integer. + + The number to convert. + A 32-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent 64-bit signed integer. + + The number to convert. + A 64-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent 8-bit signed integer. + + The number to convert. + A 8-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent . + + The number to convert. + A equivalent to . + + + + Converts the value of the specified to the equivalent . + + The number to convert. + A equivalent to . + + + + Converts the value of the specified to the equivalent 16-bit unsigned integer. + + The number to convert. + A 16-bit unsigned integer equivalent to . + + + + Converts the value of the specified to the equivalent 32-bit unsigned integer. + + The number to convert. + A 32-bit unsigned integer equivalent to . + + + + Converts the value of the specified to the equivalent 64-bit unsigned integer. + + The number to convert. + A 64-bit unsigned integer equivalent to . + + + + Converts the string representation of a number to its equivalent. A return value indicates whether the conversion succeeded or failed. + + The string representation of the number to convert. + When this method returns, contains the number that is equivalent to the numeric value contained in , if the conversion succeeded, or is zero if the conversion failed. The conversion fails if the parameter is null, is not a number in a valid format, or represents a number less than the min value or greater than the max value. This parameter is passed uninitialized. + + true if was converted successfully; otherwise, false. + + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + + + + + + + + + + + + + Gets the high order 64 bits of the binary representation of this instance. + + The high order 64 bits of the binary representation of this instance. + + + + Gets the low order 64 bits of the binary representation of this instance. + + The low order 64 bits of the binary representation of this instance. + + + + + + + A static class containing methods to convert to and from Guids and byte arrays in various byte orders. + + + + + Converts a byte array to a Guid. + + The byte array. + The representation of the Guid in the byte array. + A Guid. + + + + Gets the sub type that corresponds to the guidRepresentation. + + The Guid representation. + The sub type. + + + + Converts a Guid to a byte array. + + The Guid. + The representation of the Guid in the byte array. + A byte array. + + + + Represents the representation to use when converting a Guid to a BSON binary value. + + + + + The representation for Guids is unspecified, so conversion between Guids and Bson binary data is not possible. + + + + + Use the new standard representation for Guids (binary subtype 4 with bytes in network byte order). + + + + + Use the representation used by older versions of the C# driver (including most community provided C# drivers). + + + + + Use the representation used by older versions of the Java driver. + + + + + Use the representation used by older versions of the Python driver. + + + + + An interface implemented by objects that convert themselves to a BsonDocument. + + + + + Converts this object to a BsonDocument. + + A BsonDocument. + + + + An interface for custom mappers that map an object to a BsonValue. + + + + + Tries to map an object to a BsonValue. + + An object. + The BsonValue. + True if the mapping was successfull. + + + + Represents a BSON array that is deserialized lazily. + + + + + Initializes a new instance of the class. + + The slice. + slice + LazyBsonArray cannot be used with an IByteBuffer that needs disposing. + + + + Gets the slice. + + + The slice. + + + + + Creates a shallow clone of the array (see also DeepClone). + + A shallow clone of the array. + + + + Creates a deep clone of the array (see also Clone). + + A deep clone of the array. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Materializes the BsonArray. + + + The materialized values. + + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Represents a BSON document that is deserialized lazily. + + + + + Initializes a new instance of the class. + + The slice. + slice + LazyBsonDocument cannot be used with an IByteBuffer that needs disposing. + + + + Initializes a new instance of the class. + + The bytes. + + + + Gets the slice. + + + The slice. + + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Creates a deep clone of the document (see also Clone). + + + A deep clone of the document. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Materializes the BsonDocument. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Represents a BSON array that is not materialized until you start using it. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the total number of elements the internal data structure can hold without resizing. + + + + + Gets the count of array elements. + + + + + Gets a value indicating whether this instance is disposed. + + + true if this instance is disposed; otherwise, false. + + + + + Gets a value indicating whether this instance is materialized. + + + true if this instance is materialized; otherwise, false. + + + + + Gets the array elements. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Adds an element to the array. + + The value to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Clears the array. + + + + + Creates a shallow clone of the array (see also DeepClone). + + + A shallow clone of the array. + + + + + Compares the array to another array. + + The other array. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other. + + + + Compares the array to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other BsonValue. + + + + Tests whether the array contains a value. + + The value to test for. + True if the array contains the value. + + + + Copies elements from this array to another array. + + The other array. + The zero based index of the other array at which to start copying. + + + + Creates a deep clone of the array (see also Clone). + + + A deep clone of the array. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets an enumerator that can enumerate the elements of the array. + + An enumerator. + + + + Gets the hash code. + + The hash code. + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The number of elements to search. + The zero based index of the value (or -1 if not found). + + + + Inserts a new value into the array. + + The zero based index at which to insert the new value. + The new value. + + + + Removes the first occurrence of a value from the array. + + The value to remove. + True if the value was removed. + + + + Removes an element from the array. + + The zero based index of the element to remove. + + + + Converts the BsonArray to an array of BsonValues. + + An array of BsonValues. + + + + Converts the BsonArray to a list of BsonValues. + + A list of BsonValues. + + + + Returns a string representation of the array. + + A string representation of the array. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Materializes the BsonArray. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Throws if disposed. + + + + + + Represents a BSON document that is not materialized until you start using it. + + + + + Initializes a new instance of the class. + + + + + Gets the number of elements. + + + + + Gets the elements. + + + + + Gets a value indicating whether this instance is disposed. + + + true if this instance is disposed; otherwise, false. + + + + + Gets a value indicating whether this instance is materialized. + + + true if this instance is materialized; otherwise, false. + + + + + Gets the element names. + + + + + Gets the values. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Gets or sets a value by name. + + The name. + The value. + + + + Adds an element to the document. + + The element to add. + + The document (so method calls can be chained). + + + + + Creates and adds an element to the document. + + The name of the element. + The value of the element. + + The document (so method calls can be chained). + + + + + Creates and adds an element to the document, but only if the condition is true. + + The name of the element. + The value of the element. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Creates and adds an element to the document, but only if the condition is true. + If the condition is false the value factory is not called at all. + + The name of the element. + A delegate called to compute the value of the element if condition is true. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds a list of elements to the document. + + The list of elements. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Clears the document (removes all elements). + + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Compares this document to another document. + + The other document. + + A 32-bit signed integer that indicates whether this document is less than, equal to, or greather than the other. + + + + + Compares the BsonDocument to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonDocument is less than, equal to, or greather than the other BsonValue. + + + + Tests whether the document contains an element with the specified name. + + The name of the element to look for. + + True if the document contains an element with the specified name. + + + + + Tests whether the document contains an element with the specified value. + + The value of the element to look for. + + True if the document contains an element with the specified value. + + + + + Creates a deep clone of the document (see also Clone). + + + A deep clone of the document. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets an element of this document. + + The zero based index of the element. + + The element. + + + + + Gets an element of this document. + + The name of the element. + + A BsonElement. + + + + + Gets an enumerator that can be used to enumerate the elements of this document. + + + An enumerator. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the value of an element. + + The zero based index of the element. + + The value of the element. + + + + + Gets the value of an element. + + The name of the element. + + The value of the element. + + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value returned if the element is not found. + + The value of the element or the default value if the element is not found. + + + + + Inserts a new element at a specified position. + + The position of the new element. + The element. + + + + Merges another document into this one. Existing elements are not overwritten. + + The other document. + + The document (so method calls can be chained). + + + + + Merges another document into this one, specifying whether existing elements are overwritten. + + The other document. + Whether to overwrite existing elements. + + The document (so method calls can be chained). + + + + + Removes an element from this document (if duplicate element names are allowed + then all elements with this name will be removed). + + The name of the element to remove. + + + + Removes an element from this document. + + The zero based index of the element to remove. + + + + Removes an element from this document. + + The element to remove. + + + + Sets the value of an element. + + The zero based index of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets the value of an element (an element will be added if no element with this name is found). + + The name of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). + + The new element. + + The document. + + + + + Sets an element of the document (replacing the existing element at that position). + + The zero based index of the element to replace. + The new element. + + The document. + + + + + Tries to get an element of this document. + + The name of the element. + The element. + + True if an element with that name was found. + + + + + Tries to get the value of an element of this document. + + The name of the element. + The value of the element. + + True if an element with that name was found. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Materializes the BsonDocument. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Throws if disposed. + + + + + + Represents an ObjectId (see also BsonObjectId). + + + + + Initializes a new instance of the ObjectId class. + + The bytes. + + + + Initializes a new instance of the ObjectId class. + + The bytes. + The index into the byte array where the ObjectId starts. + + + + Initializes a new instance of the ObjectId class. + + The value. + + + + Gets an instance of ObjectId where the value is empty. + + + + + Gets the timestamp. + + + + + Gets the creation time (derived from the timestamp). + + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is less than the second ObjectId. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is less than or equal to the second ObjectId. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId. + True if the two ObjectIds are equal. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId. + True if the two ObjectIds are not equal. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is greather than or equal to the second ObjectId. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is greather than the second ObjectId. + + + + Generates a new ObjectId with a unique value. + + An ObjectId. + + + + Generates a new ObjectId with a unique value (with the timestamp component based on a given DateTime). + + The timestamp component (expressed as a DateTime). + An ObjectId. + + + + Generates a new ObjectId with a unique value (with the given timestamp). + + The timestamp component. + An ObjectId. + + + + Parses a string and creates a new ObjectId. + + The string value. + A ObjectId. + + + + Tries to parse a string and create a new ObjectId. + + The string value. + The new ObjectId. + True if the string was parsed successfully. + + + + Gets the current process id. This method exists because of how CAS operates on the call stack, checking + for permissions before executing the method. Hence, if we inlined this call, the calling method would not execute + before throwing an exception requiring the try/catch at an even higher level that we don't necessarily control. + + + + + Compares this ObjectId to another ObjectId. + + The other ObjectId. + A 32-bit signed integer that indicates whether this ObjectId is less than, equal to, or greather than the other. + + + + Compares this ObjectId to another ObjectId. + + The other ObjectId. + True if the two ObjectIds are equal. + + + + Compares this ObjectId to another object. + + The other object. + True if the other object is an ObjectId and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts the ObjectId to a byte array. + + A byte array. + + + + Converts the ObjectId to a byte array. + + The destination. + The offset. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents an immutable BSON array that is represented using only the raw bytes. + + + + + Initializes a new instance of the class. + + The slice. + slice + RawBsonArray cannot be used with an IByteBuffer that needs disposing. + + + + Gets or sets the total number of elements the internal data structure can hold without resizing. + + + + + Gets the count of array elements. + + + + + Gets whether the array is read-only. + + + + + Gets the slice. + + + The slice. + + + + + Gets the array elements. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Adds an element to the array. + + The value to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Creates a shallow clone of the array (see also DeepClone). + + A shallow clone of the array. + + + + Clears the array. + + + + + Tests whether the array contains a value. + + The value to test for. + True if the array contains the value. + + + + Copies elements from this array to another array. + + The other array. + The zero based index of the other array at which to start copying. + + + + Creates a deep clone of the array (see also Clone). + + A deep clone of the array. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Gets an enumerator that can enumerate the elements of the array. + + An enumerator. + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The number of elements to search. + The zero based index of the value (or -1 if not found). + + + + Inserts a new value into the array. + + The zero based index at which to insert the new value. + The new value. + + + + Materializes the RawBsonArray into a regular BsonArray. + + The binary reader settings. + A BsonArray. + + + + Removes the first occurrence of a value from the array. + + The value to remove. + True if the value was removed. + + + + Removes an element from the array. + + The zero based index of the element to remove. + + + + Converts the BsonArray to an array of BsonValues. + + An array of BsonValues. + + + + Converts the BsonArray to a list of BsonValues. + + A list of BsonValues. + + + + Returns a string representation of the array. + + A string representation of the array. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Throws if disposed. + + + + + + Represents an immutable BSON document that is represented using only the raw bytes. + + + + + Initializes a new instance of the class. + + The slice. + slice + RawBsonDocument cannot be used with an IByteBuffer that needs disposing. + + + + Initializes a new instance of the class. + + The bytes. + + + + Gets the number of elements. + + + + + Gets the elements. + + + + + Gets the element names. + + + + + Gets the slice. + + + The slice. + + + + + Gets the values. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Gets or sets a value by name. + + The name. + The value. + + + + Adds an element to the document. + + The element to add. + + The document (so method calls can be chained). + + + + + Creates and adds an element to the document. + + The name of the element. + The value of the element. + + The document (so method calls can be chained). + + + + + Creates and adds an element to the document, but only if the condition is true. + + The name of the element. + The value of the element. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds a list of elements to the document. + + The list of elements. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Clears the document (removes all elements). + + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Tests whether the document contains an element with the specified name. + + The name of the element to look for. + + True if the document contains an element with the specified name. + + + + + Tests whether the document contains an element with the specified value. + + The value of the element to look for. + + True if the document contains an element with the specified value. + + + + + Creates a deep clone of the document (see also Clone). + + + A deep clone of the document. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Gets an element of this document. + + The zero based index of the element. + + The element. + + + + + Gets an element of this document. + + The name of the element. + + A BsonElement. + + + + + Gets an enumerator that can be used to enumerate the elements of this document. + + + An enumerator. + + + + + Gets the value of an element. + + The zero based index of the element. + + The value of the element. + + + + + Gets the value of an element. + + The name of the element. + + The value of the element. + + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value returned if the element is not found. + + The value of the element or the default value if the element is not found. + + + + + Inserts a new element at a specified position. + + The position of the new element. + The element. + + + + Materializes the RawBsonDocument into a regular BsonDocument. + + The binary reader settings. + A BsonDocument. + + + + Merges another document into this one. Existing elements are not overwritten. + + The other document. + + The document (so method calls can be chained). + + + + + Merges another document into this one, specifying whether existing elements are overwritten. + + The other document. + Whether to overwrite existing elements. + + The document (so method calls can be chained). + + + + + Removes an element from this document (if duplicate element names are allowed + then all elements with this name will be removed). + + The name of the element to remove. + + + + Removes an element from this document. + + The zero based index of the element to remove. + + + + Removes an element from this document. + + The element to remove. + + + + Sets the value of an element. + + The zero based index of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets the value of an element (an element will be added if no element with this name is found). + + The name of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). + + The new element. + + The document. + + + + + Sets an element of the document (replacing the existing element at that position). + + The zero based index of the element to replace. + The new element. + + The document. + + + + + Tries to get an element of this document. + + The name of the element. + The element. + + True if an element with that name was found. + + + + + Tries to get the value of an element of this document. + + The name of the element. + The value of the element. + + True if an element with that name was found. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Throws if disposed. + + RawBsonDocument + + + + Prevents the Xamarin managed linker from stripping the target. + + + + + When used on a class rather than a property, ensures that all members of this type are preserved. + + + + + Flags the method as a method to preserve during linking if the container class is pulled in. + + + + + Provides serializers based on an attribute. + + + + + + + + Specifies that this constructor should be used for creator-based deserialization. + + + + + Initializes a new instance of the BsonConstructorAttribute class. + + + + + Initializes a new instance of the BsonConstructorAttribute class. + + The names of the members that the creator argument values come from. + + + + Gets the names of the members that the creator arguments values come from. + + + + + Applies a modification to the creator map. + + The creator map. + + + + Specifies the external representation and related options for a DateOnly field or property. + + + + + Initializes a new instance of the BsonDateOnlyOptionsAttribute class. + + The external representation. + The format to use with document representation. + + + + Gets the external representation. + + + + + Gets the document format. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Specifies serialization options for a DateTime field or property. + + + + + Initializes a new instance of the BsonDateTimeOptionsAttribute class. + + + + + Gets or sets whether the DateTime consists of a Date only. + + + + + Gets or sets the DateTimeKind (Local, Unspecified or Utc). + + + + + Gets or sets the external representation. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Specifies the default value for a field or property. + + + + + Initializes a new instance of the BsonDefaultValueAttribute class. + + The default value. + + + + Gets the default value. + + + + + Applies a modification to the member map. + + The member map. + + + + Specifies serialization options for a Dictionary field or property. + + + + + Initializes a new instance of the BsonDictionaryOptionsAttribute class. + + + + + Initializes a new instance of the BsonDictionaryOptionsAttribute class. + + The representation to use for the Dictionary. + + + + Gets or sets the external representation. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Specifies the discriminator and related options for a class. + + + + + Initializes a new instance of the BsonDiscriminatorAttribute class. + + + + + Initializes a new instance of the BsonDiscriminatorAttribute class. + + The discriminator. + + + + Gets the discriminator. + + + + + Gets or sets whether the discriminator is required. + + + + + Gets or sets whether this is a root class. + + + + + Applies a modification to the class map. + + The class map. + + + + Specifies the element name and related options for a field or property. + + + + + Initializes a new instance of the BsonElementAttribute class. + + + + + Initializes a new instance of the BsonElementAttribute class. + + The name of the element. + + + + Gets the element name. + + + + + Gets the element serialization order. + + + + + Applies a modification to the member map. + + The member map. + + + + Indicates that this property or field will be used to hold any extra elements found during deserialization. + + + + + Applies a modification to the member map. + + The member map. + + + + Specifies that this factory method should be used for creator-based deserialization. + + + + + Initializes a new instance of the BsonFactoryMethodAttribute class. + + + + + Initializes a new instance of the BsonFactoryMethodAttribute class. + + The names of the members that the creator argument values come from. + + + + Gets the names of the members that the creator arguments values come from. + + + + + Applies a modification to the creator map. + + The creator map. + + + + Specifies the Guid representation to use with the GuidSerializer for this member. + + + + + Initializes a new instance of the BsonGuidRepresentationAttribute class. + + The Guid representation. + + + + Gets the Guid representation. + + + + + + + + Specifies that this is the Id field or property. + + + + + Initializes a new instance of the BsonIdAttribute class. + + + + + Gets or sets the Id generator for the Id. + + + + + Gets or sets the Id element serialization order. + + + + + Applies a modification to the member map. + + The member map. + + + + Indicates that this field or property should be ignored when this class is serialized. + + + + + Specifies whether extra elements should be ignored when this class is deserialized. + + + + + Initializes a new instance of the BsonIgnoreExtraElementsAttribute class. + + + + + Initializes a new instance of the BsonIgnoreExtraElementsAttribute class. + + Whether extra elements should be ignored when this class is deserialized. + + + + Gets whether extra elements should be ignored when this class is deserialized. + + + + + Gets whether extra elements should also be ignored when any class derived from this one is deserialized. + + + + + Applies a modification to the class map. + + The class map. + + + + Indicates whether a field or property equal to the default value should be ignored when serializing this class. + + + + + Initializes a new instance of the BsonIgnoreIfDefaultAttribute class. + + + + + Initializes a new instance of the BsonIgnoreIfDefaultAttribute class. + + Whether a field or property equal to the default value should be ignored when serializing this class. + + + + Gets whether a field or property equal to the default value should be ignored when serializing this class. + + + + + Applies a modification to the member map. + + The member map. + + + + Indicates whether a field or property equal to null should be ignored when serializing this class. + + + + + Initializes a new instance of the BsonIgnoreIfNullAttribute class. + + + + + Initializes a new instance of the BsonIgnoreIfNullAttribute class. + + Whether a field or property equal to null should be ignored when serializing this class. + + + + Gets whether a field or property equal to null should be ignored when serializing this class. + + + + + Applies a modification to the member map. + + The member map. + + + + Specifies the known types for this class (the derived classes). + + + + + Initializes a new instance of the BsonKnownTypesAttribute class. + + One or more known types. + + + + Initializes a new instance of the BsonKnownTypesAttribute class. + + A known types. + + + + Gets a list of the known types. + + + + + Applies a modification to the class map. + + The class map. + + + + Specifies that the class's IdMember should be null. + + + + + Applies the post processing attribute to the class map. + + The class map. + + + + Specifies the external representation and related options for this field or property. + + + + + Initializes a new instance of the BsonRepresentationAttribute class. + + The external representation. + + + + Gets the external representation. + + + + + Gets or sets whether to allow overflow. + + + + + Gets or sets whether to allow truncation. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Indicates that a field or property is required. + + + + + Applies a modification to the member map. + + The member map. + + + + Abstract base class for serialization options attributes. + + + + + Initializes a new instance of the BsonSerializationOptionsAttribute class. + + + + + Applies a modification to the member map. + + The member map. + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + + Specifies the type of the serializer to use for a class. + + + + + Initializes a new instance of the BsonSerializerAttribute class. + + + + + Initializes a new instance of the BsonSerializerAttribute class. + + The type of the serializer to use for a class. + + + + Gets or sets the type of the serializer to use for a class. + + + + + Applies a modification to the member map. + + The member map. + + + + Creates a serializer for a type based on the serializer type specified by the attribute. + + The type that a serializer should be created for. + A serializer for the type. + + + + Specifies the external representation and related options for this field or property. + + + + + Initializes a new instance of the BsonTimeOnlyOptionsAttribute class. + + The external representation. + + + + Initializes a new instance of the BsonTimeOnlyOptionsAttribute class. + + The external representation. + The TimeOnlyUnits. + + + + Gets the external representation. + + + + + Gets or sets the TimeOnlyUnits. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Specifies the external representation and related options for this field or property. + + + + + Initializes a new instance of the BsonTimeSpanOptionsAttribute class. + + The external representation. + + + + Initializes a new instance of the BsonTimeSpanOptionsAttribute class. + + The external representation. + The TimeSpanUnits. + + + + Gets the external representation. + + + + + Gets or sets the TimeSpanUnits. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Indicates the usage restrictions for the attribute. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether the attribute this attribute applies to is allowed to be applied + to more than one member. + + + + + Represents an attribute used to modify a class map. + + + + + Applies the attribute to the class map. + + The class map. + + + + Represents an attribute used to modify a creator map. + + + + + Applies the attribute to the creator map. + + The creator map. + + + + Represents an attribute used to modify a member map. + + + + + Applies the attribute to the member map. + + The member map. + + + + Represents an attribute used to post process a class map. + + + + + Applies the post processing attribute to the class map. + + The class map. + + + + Contains extensions methods for + + + + + Converts to . + + The .NET data type. + The binary vector. + A instance. + + + + Contains extensions methods for . + + + + + Converts to . + + Data type of the binary vector. + The binary data. + A instance. + + + + Extracts binary vector data from as bytes, padding and data type. + The result bytes should be interpreted according to the vector data type. + + The binary data. + Vector bytes, padding and datatype + + + + Extracts binary vector data from as an array of , padding and data type. + The result bytes should be interpreted according to the vector data type. + + The binary data. + Vector data, padding and datatype + + + + Represents a mapping between a class and a BSON document. + + + + + Initializes a new instance of the BsonClassMap class. + + The class type. + + + + Initializes a new instance of the class. + + Type of the class. + The base class map. + + + + Gets all the member maps (including maps for inherited members). + + + + + Gets the base class map. + + + + + Gets the class type. + + + + + Gets the constructor maps. + + + + + Gets the conventions used for auto mapping. + + + + + Gets the declared member maps (only for members declared in this class). + + + + + Gets the discriminator. + + + + + Gets whether a discriminator is required when serializing this class. + + + + + Gets the member map of the member used to hold extra elements. + + + + + Gets whether this class map has any creator maps. + + + + + Gets whether this class has a root class ancestor. + + + + + Gets the Id member map (null if none). + + + + + Gets whether extra elements should be ignored when deserializing. + + + + + Gets whether the IgnoreExtraElements value should be inherited by derived classes. + + + + + Gets whether this class is anonymous. + + + + + Gets whether the class map is frozen. + + + + + Gets whether this class is a root class. + + + + + Gets the known types of this class. + + + + + Gets the element name to member index trie. + + + + + Gets the member index of the member used to hold extra elements. + + + + + Gets the type of a member. + + The member info. + The type of the member. + + + + Gets all registered class maps. + + All registered class maps. + + + + Checks whether a class map is registered for a type. + + The type to check. + True if there is a class map registered for the type. + + + + Looks up a class map (will AutoMap the class if no class map is registered). + + The class type. + The class map. + + + + Creates and registers a class map. + + The class. + The class map. + + + + Creates and registers a class map. + + The class. + The class map initializer. + The class map. + + + + Registers a class map. + + The class map. + + + + Registers a class map if it is not already registered. + + The class. + True if this call registered the class map, false if the class map was already registered. + + + + Registers a class map if it is not already registered. + + The class. + The class map. + True if this call registered the class map, false if the class map was already registered. + + + + Registers a class map if it is not already registered. + + The class. + The class map initializer (only called if the class map is not already registered). + True if this call registered the class map, false if the class map was already registered. + + + + Registers a class map if it is not already registered. + + The class. + The class map factory (only called if the class map is not already registered). + True if this call registered the class map, false if the class map was already registered. + + + + Automaps the class. + + + + + Creates an instance of the class. + + An object. + + + + + + + + + + Freezes the class map. + + The frozen class map. + + + + Gets a member map (only considers members declared in this class). + + The member name. + The member map (or null if the member was not found). + + + + Gets the member map for a BSON element. + + The name of the element. + The member map. + + + + Creates a creator map for a constructor and adds it to the class map. + + The constructor info. + The creator map (so method calls can be chained). + + + + Creates a creator map for a constructor and adds it to the class map. + + The constructor info. + The argument names. + The creator map (so method calls can be chained). + + + + Creates a creator map and adds it to the class. + + The delegate. + The factory method map (so method calls can be chained). + + + + Creates a creator map and adds it to the class. + + The delegate. + The argument names. + The factory method map (so method calls can be chained). + + + + Creates a member map for the extra elements field and adds it to the class map. + + The name of the extra elements field. + The member map (so method calls can be chained). + + + + Creates a member map for the extra elements member and adds it to the class map. + + The member info for the extra elements member. + The member map (so method calls can be chained). + + + + Creates a member map for the extra elements property and adds it to the class map. + + The name of the property. + The member map (so method calls can be chained). + + + + Creates a creator map for a factory method and adds it to the class. + + The method info. + The creator map (so method calls can be chained). + + + + Creates a creator map for a factory method and adds it to the class. + + The method info. + The argument names. + The creator map (so method calls can be chained). + + + + Creates a member map for a field and adds it to the class map. + + The name of the field. + The member map (so method calls can be chained). + + + + Creates a member map for the Id field and adds it to the class map. + + The name of the Id field. + The member map (so method calls can be chained). + + + + Creates a member map for the Id member and adds it to the class map. + + The member info for the Id member. + The member map (so method calls can be chained). + + + + Creates a member map for the Id property and adds it to the class map. + + The name of the Id property. + The member map (so method calls can be chained). + + + + Creates a member map for a member and adds it to the class map. + + The member info. + The member map (so method calls can be chained). + + + + Creates a member map for a property and adds it to the class map. + + The name of the property. + The member map (so method calls can be chained). + + + + Resets the class map back to its initial state. + + + + + Sets the creator for the object. + + The creator. + The class map (so method calls can be chained). + + + + Sets the discriminator. + + The discriminator. + + + + Sets the discriminator convention. + + The discriminator convention. + + + + Sets whether a discriminator is required when serializing this class. + + Whether a discriminator is required. + + + + Sets the member map of the member used to hold extra elements. + + The extra elements member map. + + + + Adds a known type to the class map. + + The known type. + + + + Sets the Id member. + + The Id member (null if none). + + + + Sets whether extra elements should be ignored when deserializing. + + Whether extra elements should be ignored when deserializing. + + + + Sets whether the IgnoreExtraElements value should be inherited by derived classes. + + Whether the IgnoreExtraElements value should be inherited by derived classes. + + + + Sets whether this class is a root class. + + Whether this class is a root class. + + + + Removes a creator map for a constructor from the class map. + + The constructor info. + + + + Removes a creator map for a factory method from the class map. + + The method info. + + + + Removes the member map for a field from the class map. + + The name of the field. + + + + Removes a member map from the class map. + + The member info. + + + + Removes the member map for a property from the class map. + + The name of the property. + + + + Gets the discriminator convention for the class. + + The discriminator convention for the class. + + + + Represents a mapping between a class and a BSON document. + + The class. + + + + Initializes a new instance of the BsonClassMap class. + + + + + Initializes a new instance of the BsonClassMap class. + + The class map initializer. + + + + Initializes a new instance of the BsonClassMap class. + + The base class map. + + + + Creates an instance. + + An instance. + + + + Gets a member map. + + The member type. + A lambda expression specifying the member. + The member map. + + + + Creates a creator map and adds it to the class map. + + Lambda expression specifying the creator code and parameters to use. + The member map. + + + + Creates a member map for the extra elements field and adds it to the class map. + + The member type. + A lambda expression specifying the extra elements field. + The member map. + + + + Creates a member map for the extra elements member and adds it to the class map. + + The member type. + A lambda expression specifying the extra elements member. + The member map. + + + + Creates a member map for the extra elements property and adds it to the class map. + + The member type. + A lambda expression specifying the extra elements property. + The member map. + + + + Creates a member map for a field and adds it to the class map. + + The member type. + A lambda expression specifying the field. + The member map. + + + + Creates a member map for the Id field and adds it to the class map. + + The member type. + A lambda expression specifying the Id field. + The member map. + + + + Creates a member map for the Id member and adds it to the class map. + + The member type. + A lambda expression specifying the Id member. + The member map. + + + + Creates a member map for the Id property and adds it to the class map. + + The member type. + A lambda expression specifying the Id property. + The member map. + + + + Creates a member map and adds it to the class map. + + The member type. + A lambda expression specifying the member. + The member map. + + + + Creates a member map for the property and adds it to the class map. + + The member type. + A lambda expression specifying the property. + The member map. + + + + Removes the member map for a field from the class map. + + The member type. + A lambda expression specifying the field. + + + + Removes a member map from the class map. + + The member type. + A lambda expression specifying the member. + + + + Removes a member map for a property from the class map. + + The member type. + A lambda expression specifying the property. + + + + Represents the class map serialization provider. + + + + + + + + Represents a mapping to a delegate and its arguments. + + + + + Initializes a new instance of the BsonCreatorMap class. + + The class map. + The member info (null if none). + The delegate. + + + + Gets the arguments. + + + + + Gets the class map that this creator map belongs to. + + + + + Gets the delegeate + + + + + Gets the element names. + + + + + Gets the member info (null if none). + + + + + + + + Freezes the creator map. + + + + + + + + Gets whether there is a default value for a missing element. + + The element name. + True if there is a default value for element name; otherwise, false. + + + + Sets the arguments for the creator map. + + The arguments. + The creator map. + + + + Sets the arguments for the creator map. + + The argument names. + The creator map. + + + + Represents args common to all serializers. + + + + + Gets or sets the nominal type. + + + The nominal type. + + + + + Represents all the contextual information needed by a serializer to deserialize a value. + + + + + Gets a value indicating whether to allow duplicate element names. + + + true if duplicate element names shoud be allowed; otherwise, false. + + + + + Gets the dynamic array serializer. + + + The dynamic array serializer. + + + + + Gets the dynamic document serializer. + + + The dynamic document serializer. + + + + + Gets the reader. + + + The reader. + + + + + Creates a root context. + + The reader. + The configurator. + + A root context. + + + + + Creates a new context with some values changed. + + The configurator. + + A new context. + + + + + Represents a builder for a BsonDeserializationContext. + + + + + Gets or sets a value indicating whether to allow duplicate element names. + + + true if duplicate element names should be allowed; otherwise, false. + + + + + Gets or sets the dynamic array serializer. + + + The dynamic array serializer. + + + + + Gets or sets the dynamic document serializer. + + + The dynamic document serializer. + + + + + Gets the reader. + + + The reader. + + + + + Builds the BsonDeserializationContext instance. + + A BsonDeserializationContext. + + + + A class backed by a BsonDocument. + + + + + Initializes a new instance of the class. + + The serializer. + + + + Initializes a new instance of the class. + + The backing document. + The serializer. + + + + Gets the backing document. + + + + + Gets the value from the backing document. + + The type of the value. + The member name. + The value. + + + + Gets the value from the backing document. + + The type of the value. + The member name. + The default value. + The value. + + + + Sets the value in the backing document. + + The member name. + The value. + + + + Represents the mapping between a field or property and a BSON element. + + + + + Initializes a new instance of the BsonMemberMap class. + + The class map this member map belongs to. + The member info. + + + + Gets the class map that this member map belongs to. + + + + + Gets the name of the member. + + + + + Gets the type of the member. + + + + + Gets whether the member type is a BsonValue. + + + + + Gets the name of the element. + + + + + Gets the serialization order. + + + + + Gets the member info. + + + + + Gets the getter function. + + + + + Gets the setter function. + + + + + Gets the Id generator. + + + + + Gets whether a default value was specified. + + + + + Gets whether an element is required for this member when deserialized. + + + + + Gets the method that will be called to determine whether the member should be serialized. + + + + + Gets whether default values should be ignored when serialized. + + + + + Gets whether null values should be ignored when serialized. + + + + + Gets the default value. + + + + + Gets whether the member is readonly. + + + Readonly indicates that the member is written to the database, but not read from the database. + + + + + Applies the default value to the member of an object. + + The object. + + + + Freezes this instance. + + + + + + + + + + + Gets the serializer. + + The serializer. + + + + Resets the member map back to its initial state. + + The member map. + + + + Sets the default value creator. + + The default value creator (note: the supplied delegate must be thread safe). + The member map. + + + + Sets the default value. + + The default value. + The member map. + + + + Sets the name of the element. + + The name of the element. + The member map. + + + + Sets the Id generator. + + The Id generator. + The member map. + + + + Sets whether default values should be ignored when serialized. + + Whether default values should be ignored when serialized. + The member map. + + + + Sets whether null values should be ignored when serialized. + + Wether null values should be ignored when serialized. + The member map. + + + + Sets whether an element is required for this member when deserialized + + Whether an element is required for this member when deserialized + The member map. + + + + Sets the serialization order. + + The serialization order. + The member map. + + + + Sets the serializer. + + The serializer. + + The member map. + + serializer + serializer + + + + Sets the method that will be called to determine whether the member should be serialized. + + The method. + The member map. + + + + Determines whether a value should be serialized + + The object. + The value. + True if the value should be serialized. + + + + Provides serializers for BsonValue and its derivations. + + + + + + + + Represents args common to all serializers. + + + + + Initializes a new instance of the struct. + + The nominal type. + Whether to serialize as the nominal type. + Whether to serialize the id first. + + + + Gets or sets the nominal type. + + + The nominal type. + + + + + Gets or sets a value indicating whether to serialize the value as if it were an instance of the nominal type. + + + + + Gets or sets a value indicating whether to serialize the id first. + + + + + Represents all the contextual information needed by a serializer to serialize a value. + + + + + Gets a function that, when executed, will indicate whether the type + is a dynamic type. + + + + + Gets the writer. + + + The writer. + + + + + Creates a root context. + + The writer. + The serialization context configurator. + + A root context. + + + + + Creates a new context with some values changed. + + The serialization context configurator. + + A new context. + + + + + Represents a builder for a BsonSerializationContext. + + + + + Gets or sets the function used to determine if a type is a dynamic type. + + + + + Gets the writer. + + + The writer. + + + + + Builds the BsonSerializationContext instance. + + A BsonSerializationContext. + + + + Represents the information needed to serialize a member. + + + + + Creates a new instance of the BsonSerializationinfo class with an element path instead of an element name. + + The element path. + The serializer. + The nominal type. + A BsonSerializationInfo. + + + + Initializes a new instance of the BsonSerializationInfo class. + + The element name. + The serializer. + The nominal type. + + + + Gets the element name. + + + + + Gets element path. + + + + + Gets or sets the serializer. + + + + + Gets or sets the nominal type. + + + + + Deserializes the value. + + The value. + A deserialized value. + + + + + + + + + + Serializes the value. + + The value. + The serialized value. + + + + Serializes the values. + + The values. + The serialized values. + + + + Creates a new BsonSerializationInfo object using the elementName provided and copying all other attributes. + + Name of the element. + A new BsonSerializationInfo. + + + + Base class for serialization providers. + + + + + + + + + + + Creates the serializer from a serializer type definition and type arguments. + + The serializer type definition. + The type arguments. + A serializer. + + + + Creates the serializer from a serializer type definition and type arguments. + + The serializer type definition. + The type arguments. + The serializer registry. + + A serializer. + + + + + Creates the serializer. + + The serializer type. + A serializer. + + + + Creates the serializer. + + The serializer type. + The serializer registry. + + A serializer. + + + + + A static class that represents the BSON serialization functionality. + + + + + Gets the serializer registry. + + + + + Gets or sets whether to use the NullIdChecker on reference Id types that don't have an IdGenerator registered. + + + + + Gets or sets whether to use the ZeroIdChecker on value Id types that don't have an IdGenerator registered. + + + + + Deserializes an object from a BsonDocument. + + The nominal type of the object. + The BsonDocument. + The configurator. + A deserialized value. + + + + Deserializes a value. + + The nominal type of the object. + The BsonReader. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON byte array. + + The nominal type of the object. + The BSON byte array. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON Stream. + + The nominal type of the object. + The BSON Stream. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON string. + + The nominal type of the object. + The JSON string. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON TextReader. + + The nominal type of the object. + The JSON TextReader. + The configurator. + A deserialized value. + + + + Deserializes an object from a BsonDocument. + + The BsonDocument. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes a value. + + The BsonReader. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON byte array. + + The BSON byte array. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON Stream. + + The BSON Stream. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON string. + + The JSON string. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON TextReader. + + The JSON TextReader. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Returns whether the given type has any discriminators registered for any of its subclasses. + + A Type. + True if the type is discriminated. + + + + Looks up the actual type of an object to be deserialized. + + The nominal type of the object. + The discriminator. + The actual type of the object. + + + + Looks up the discriminator convention for a type. + + The type. + A discriminator convention. + + + + Looks up an IdGenerator. + + The Id type. + An IdGenerator for the Id type. + + + + Looks up a serializer for a Type. + + The type. + A serializer for type T. + + + + Looks up a serializer for a Type. + + The Type. + A serializer for the Type. + + + + Registers the discriminator for a type. + + The type. + The discriminator. + + + + Registers the discriminator convention for a type. + + Type type. + The discriminator convention. + + + + Registers a generic serializer definition for a generic type. + + The generic type. + The generic serializer definition. + + + + Registers an IdGenerator for an Id Type. + + The Id Type. + The IdGenerator for the Id Type. + + + + Registers a serialization provider. + + The serialization provider. + + + + Registers a serializer for a type. + + The type. + The serializer. + + + + Registers a serializer for a type. + + The type. + The serializer. + + + + Serializes a value. + + The nominal type of the object. + The BsonWriter. + The object. + The serialization context configurator. + The serialization args. + + + + Serializes a value. + + The BsonWriter. + The nominal type of the object. + The object. + The serialization context configurator. + The serialization args. + + + + Tries to register a serializer for a type. + + The serializer. + The type. + True if the serializer was registered on this call, false if the same serializer was already registered on a previous call, throws an exception if a different serializer was already registered. + + + + Tries to register a serializer for a type. + + The type. + The serializer. + True if the serializer was registered on this call, false if the same serializer was already registered on a previous call, throws an exception if a different serializer was already registered. + + + + Default, global implementation of an . + + + + + Initializes a new instance of the class. + + + + + Gets the serializer for the specified . + If none is already registered, the serialization providers will be used to create a serializer and it will be automatically registered. + + The type. + + The serializer. + + + + + Gets the serializer for the specified . + If none is already registered, the serialization providers will be used to create a serializer and it will be automatically registered. + + The value type of the serializer. + + The serializer. + + + + + Registers the serializer. + + The type. + The serializer. + + + + Registers the serialization provider. This behaves like a stack, so the + last provider registered is the first provider consulted. + + The serialization provider. + + + + Tries to register the serializer. + + The type. + The serializer. + True if the serializer was registered on this call, false if the same serializer was already registered on a previous call, throws an exception if a different serializer was already registered. + + + + Provides serializers for collections. + + + + + + + + Convention pack for applying attributes. + + + + + Initializes a new instance of the class. + + + + + Gets the instance. + + + + + Gets the conventions. + + + + + A convention that sets the element name the same as the member name with the first character lower cased. + + + + + Applies a modification to the member map. + + The member map. + + + + Base class for a convention. + + + + + Initializes a new instance of the ConventionBase class. + + + + + Initializes a new instance of the ConventionBase class. + + The name of the convention. + + + + Gets the name of the convention. + + + + + A mutable pack of conventions. + + + + + Initializes a new instance of the class. + + + + + Gets the conventions. + + + + + Adds the specified convention. + + The convention. + + + + + Adds a class map convention created using the specified action upon a class map. + + The name of the convention. + The action the convention should take upon the class map. + + + + Adds a member map convention created using the specified action upon a member map. + + The name of the convention. + The action the convention should take upon the member map. + + + + Adds a post processing convention created using the specified action upon a class map. + + The name of the convention. + The action the convention should take upon the class map. + + + + Adds a range of conventions. + + The conventions. + + + + + Appends the conventions in another pack to the end of this pack. + + The other pack. + + + + Gets an enumerator for the conventions. + + An enumerator. + + + + Inserts the convention after another convention specified by the name. + + The name. + The convention. + + + + Inserts the convention before another convention specified by the name. + + The name. + The convention. + + + + Removes the named convention. + + The name of the convention. + + + + Represents a registry of conventions. + + + + + Looks up the effective set of conventions that apply to a type. + + The type. + The conventions for that type. + + + + Registers the conventions. + + The name. + The conventions. + The filter. + + + + Removes the conventions specified by the given name. + + The name. + Removing a convention allows the removal of the special __defaults__ conventions + and the __attributes__ conventions for those who want to completely customize the + experience. + + + + Runs the conventions against a BsonClassMap and its BsonMemberMaps. + + + + + Initializes a new instance of the class. + + The conventions. + + + + Applies a modification to the class map. + + The class map. + + + + Convention pack of defaults. + + + + + Initializes a new instance of the class. + + + + + Gets the instance. + + + + + Gets the conventions. + + + + + A class map convention that wraps a delegate. + + + + + Initializes a new instance of the class. + + The name. + The delegate. + + + + Applies a modification to the class map. + + The class map. + + + + A member map convention that wraps a delegate. + + + + + Initializes a new instance of the class. + + The name. + The delegate. + + + + Applies a modification to the member map. + + The member map. + + + + A post processing convention that wraps a delegate. + + + + + Initializes a new instance of the class. + + The name. + The delegate. + + + + Applies a post processing modification to the class map. + + The class map. + + + + A convention that allows you to set the Enum serialization representation + + + + + Initializes a new instance of the class. + + The serialization representation. 0 is used to detect representation + from the enum itself. + + + + Initializes a new instance of the class. + + The serialization representation. 0 is used to detect representation + from the enum itself. + If set to true, the convention will be applied only to top level enum properties, and not collections of enums, for example. + + + + Gets the representation. + + + + + Gets a boolean indicating if this convention should be also applied only to the top level enum properties and not to others, + collections of enums for example. True by default. + + + + + Applies a modification to the member map. + + The member map. + + + + Represents a discriminator convention where the discriminator is an array of all the discriminators provided by the class maps of the root class down to the actual type. + + + + + Initializes a new instance of the HierarchicalDiscriminatorConvention class. + + The element name. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + Represents a convention that applies to a BsonClassMap. + + + + + Applies a modification to the class map. + + The class map. + + + + Represents a convention. + + + + + Gets the name of the convention. + + + + + Represents a grouping of conventions. + + + + + Gets the conventions. + + + + + Represents a convention that applies to a BsonCreatorMap. + + + + + Applies a modification to the creator map. + + The creator map. + + + + Represents a discriminator convention. + + + + + Gets the discriminator element name. + + + + + Gets the actual type of an object by reading the discriminator from a BsonReader. + + The reader. + The nominal type. + The actual type. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + A convention that sets whether to ignore extra elements encountered during deserialization. + + + + + Initializes a new instance of the class. + + Whether to ignore extra elements encountered during deserialization. + + + + Applies a modification to the class map. + + The class map. + + + + A convention that sets whether to ignore default values during serialization. + + + + + Initializes a new instance of the class. + + Whether to ignore default values during serialization. + + + + Applies a modification to the member map. + + The member map. + + + + A convention that sets whether to ignore nulls during serialization. + + + + + Initializes a new instance of the class. + + Whether to ignore nulls during serialization. + + + + Applies a modification to the member map. + + The member map. + + + + Represents a discriminator convention where the discriminator for each type in a polymorphic hierarchy is an array representing the hierarchy. + + + + + Represents a convention that applies to a BsonMemberMap. + + + + + Applies a modification to the member map. + + The member map. + + + + Maps a fully immutable type. This will include anonymous types. + + + + + + + + Represents a post processing convention that applies to a BsonClassMap. + + + + + Applies a post processing modification to the class map. + + The class map. + + + + Represents a discriminator convention where the discriminator for each type in a polymorphic hierarchy is a scalar. + + + + + Returns the discriminators for a type and all of its known subtypes. + + The type. + The discriminators. + + + + A convention that looks up an id generator for the id member. + + + + + Applies a post processing modification to the class map. + + The class map. + + + + A convention that sets the default value for members of a given type. + + + + + Initializes a new instance of the class. + + The type of the member. + The default value for members of this type. + + + + Applies a modification to the member map. + + The member map. + + + + A convention that sets the element name the same as the member name. + + + + + Applies a modification to the member map. + + The member map. + + + + A convention that finds the extra elements member by name (and that is also of type or ). + + + + + Initializes a new instance of the NamedExtraElementsMemberConvention class. + + The name of the extra elements member. + + + + Initializes a new instance of the class. + + The names. + + + + Initializes a new instance of the class. + + The names. + The member types. + + + + Initializes a new instance of the class. + + The names. + The binding flags. + + + + Initializes a new instance of the class. + + The names. + The member types. + The binding flags. + + + + + Applies a modification to the class map. + + The class map. + + + + A convention that finds the id member by name. + + + + + Initializes a new instance of the class. + + The names. + + + + Initializes a new instance of the class. + + The names. + + + + Initializes a new instance of the class. + + The names. + The member types. + + + + Initializes a new instance of the class. + + The names. + The binding flags. + + + + Initializes a new instance of the class. + + The names. + The member types. + The binding flags. + + + + + Applies a modification to the class map. + + The class map. + + + + A convention that uses the names of the creator parameters to find the matching members. + + + + + Applies a modification to the creator map. + + The creator map. + + + + A convention that sets a class's IdMember to null. + + + + + Applies a post processing modification to the class map. + + The class map. + + + + Represents the object discriminator convention. + + + + + Initializes a new instance of the ObjectDiscriminatorConvention class. + + The element name. + + + + Gets an instance of the ObjectDiscriminatorConvention. + + + + + Gets the discriminator element name. + + + + + + + + Gets the actual type of an object by reading the discriminator from a BsonReader. + + The reader. + The nominal type. + The actual type. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + + + + A convention that allows to set the types that can be safely serialized and deserialized with the . + + + + + A predefined where all types are allowed for both serialization and deserialization. + + + + + A predefined where no types are allowed for both serialization and deserialization. + + + + + A predefined where only default framework types are allowed for both serialization and deserialization. + + + + + Builds a predefined where all calling assembly types and default framework types are allowed for both serialization and deserialization. + + + + + Initializes a new instance of the class. + + A delegate that determines what types are allowed to be serialized and deserialized. + + + + Initializes a new instance of the class. + + A delegate that determines what types are allowed to be deserialized. + A delegate that determines what types are allowed to be serialized. + + + + Initializes a new instance of the class. + + A collection of the allowed types for both serialization and deserialization. + + + + Initializes a new instance of the class. + + A collection of the allowed types for deserialization. + A collection of the allowed types for serialization. + + + + Initializes a new instance of the class. + + A collection of allowed assemblies whose types can be serialized and deserialized. + + + + Initializes a new instance of the class. + + + + + Indicates whether default framework types are included for serialization and deserialization. Defaults to true. + + + + + Applies a modification to the member map. + + The member map. + + + + A convention that finds readable and writeable members and adds them to the class map. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The member types. + + + + Initializes a new instance of the class. + + The binding flags. + + + + Initializes a new instance of the class. + + The member types. + The binding flags. + + + + Applies a modification to the class map. + + The class map. + + + + A convention that resets a class map (resetting any changes that earlier conventions may have applied). + + + + + Applies a modification to the class map. + + The class map. + + + + A convention that resets class members (resetting any changes that earlier conventions may have applied). + + + + + Applies a modification to the member map. + + The member map. + + + + Represents a discriminator convention where the discriminator is provided by the class map of the actual type. + + + + + Initializes a new instance of the ScalarDiscriminatorConvention class. + + The element name. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + + + + Represents the standard discriminator conventions (see ScalarDiscriminatorConvention and HierarchicalDiscriminatorConvention). + + + + + Initializes a new instance of the StandardDiscriminatorConvention class. + + The element name. + + + + Gets an instance of the ScalarDiscriminatorConvention. + + + + + Gets an instance of the HierarchicalDiscriminatorConvention. + + + + + Gets the discriminator element name. + + + + + + + + Gets the actual type of an object by reading the discriminator from a BsonReader. + + The reader. + The nominal type. + The actual type. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + + + + A convention that sets the representation of a string id class member to ObjectId in BSON with a StringObjectIdGenerator. + This convention is only responsible for setting the serializer and idGenerator. It is assumed that this convention runs after + other conventions that identify which member is the _id and that the _id has already been added to the class map. + + + + + + + + A convention that sets the id generator for a string member with a BSON representation of ObjectId. + + + + + Applies a post processing modification to the class map. + + The class map. + + + + A helper class used to create and compile delegates for creator maps. + + + + + Creates and compiles a delegate that calls a constructor. + + The constructor. + A delegate that calls the constructor. + + + + Creates and compiles a delegate from a lambda expression. + + The type of the class. + The lambda expression. + The arguments for the delegate's parameters. + A delegate. + + + + Creates and compiles a delegate that calls a factory method. + + the method. + A delegate that calls the factory method. + + + + Visits a MemberExpression. + + The MemberExpression. + The MemberExpression (possibly modified). + + + + Visits a ParameterExpression. + + The ParameterExpression. + The ParameterExpression (possibly modified). + + + + Provides a serializer for interfaces. + + + + + + + + An abstract base class for an Expression visitor. + + + + + Initializes a new instance of the ExpressionVisitor class. + + + + + Visits an Expression. + + The Expression. + The Expression (posibly modified). + + + + Visits an Expression list. + + The Expression list. + The Expression list (possibly modified). + + + + Visits a BinaryExpression. + + The BinaryExpression. + The BinaryExpression (possibly modified). + + + + Visits a ConditionalExpression. + + The ConditionalExpression. + The ConditionalExpression (possibly modified). + + + + Visits a ConstantExpression. + + The ConstantExpression. + The ConstantExpression (possibly modified). + + + + Visits an ElementInit. + + The ElementInit. + The ElementInit (possibly modified). + + + + Visits an ElementInit list. + + The ElementInit list. + The ElementInit list (possibly modified). + + + + Visits an InvocationExpression. + + The InvocationExpression. + The InvocationExpression (possibly modified). + + + + Visits a LambdaExpression. + + The LambdaExpression. + The LambdaExpression (possibly modified). + + + + Visits a ListInitExpression. + + The ListInitExpression. + The ListInitExpression (possibly modified). + + + + Visits a MemberExpression. + + The MemberExpression. + The MemberExpression (possibly modified). + + + + Visits a MemberAssignment. + + The MemberAssignment. + The MemberAssignment (possibly modified). + + + + Visits a MemberBinding. + + The MemberBinding. + The MemberBinding (possibly modified). + + + + Visits a MemberBinding list. + + The MemberBinding list. + The MemberBinding list (possibly modified). + + + + Visits a MemberInitExpression. + + The MemberInitExpression. + The MemberInitExpression (possibly modified). + + + + Visits a MemberListBinding. + + The MemberListBinding. + The MemberListBinding (possibly modified). + + + + Visits a MemberMemberBinding. + + The MemberMemberBinding. + The MemberMemberBinding (possibly modified). + + + + Visits a MethodCallExpression. + + The MethodCallExpression. + The MethodCallExpression (possibly modified). + + + + Visits a NewExpression. + + The NewExpression. + The NewExpression (possibly modified). + + + + Visits a NewArrayExpression. + + The NewArrayExpression. + The NewArrayExpression (possibly modified). + + + + Visits a ParameterExpression. + + The ParameterExpression. + The ParameterExpression (possibly modified). + + + + Visits a TypeBinaryExpression. + + The TypeBinaryExpression. + The TypeBinaryExpression (possibly modified). + + + + Visits a UnaryExpression. + + The UnaryExpression. + The UnaryExpression (possibly modified). + + + + Contract for serializers to implement if they serialize an array of items. + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a dictionary serializer that can be used in LINQ queries. + + + + + Gets the dictionary representation. + + + The dictionary representation. + + + + + Gets the key serializer. + + + The key serializer. + + + + + Gets the value serializer. + + + The value serializer. + + + + + Contract for composite serializers that contain a number of named serializers. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + true if the serialization info exists; otherwise false. + + + + Contract for serializers that can get and set Id values. + + + + + Gets the document Id. + + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. + + + + Sets the document Id. + + The document. + The Id. + + + + An interface implemented by a polymorphic serializer. + + + + + Gets a value indicating whether this serializer's discriminator is compatible with the object serializer. + + + true if this serializer's discriminator is compatible with the object serializer; otherwise, false. + + + + + An interface implemented by serialization providers. + + + + + Gets a serializer for a type. + + The type. + A serializer. + + + + An interface implemented by serialization providers that are aware of registries. + + + This interface was added to preserve backward compatability (changing IBsonSerializationProvider would have been a backward breaking change). + + + + + Gets a serializer for a type. + + The type. + The serializer registry. + + A serializer. + + + + + An interface implemented by a serializer. + + + + + Gets the type of the value. + + + The type of the value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + An interface implemented by a serializer for values of type TValue. + + The type that this serializer knows how to serialize. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Extensions methods for IBsonSerializer. + + + + + Deserializes a value. + + The serializer. + The deserialization context. + A deserialized value. + + + + Deserializes a value. + + The type that this serializer knows how to serialize. + The serializer. + The deserialization context. + A deserialized value. + + + + Gets the discriminator convention for a serializer. + + The serializer. + The discriminator convention. + + + + Serializes a value. + + The serializer. + The serialization context. + The value. + + + + Serializes a value. + + The type that this serializer knows how to serialize. + The serializer. + The serialization context. + The value. + + + + Converts a value to a BsonValue by serializing it. + + The serializer. + The value. + The serialized value. + + + + Converts a value to a BsonValue by serializing it. + + The type of the value. + The serializer. + The value. + The serialized value. + + + + A serializer registry. + + + + + Gets the serializer for the specified . + + The type. + The serializer. + + + + Gets the serializer for the specified . + + The value type of the serializer. + The serializer. + + + + Represents a serializer that has a child serializer that configuration attributes can be forwarded to. + + + + + Gets the child serializer. + + + The child serializer. + + + + + Returns a serializer that has been reconfigured with the specified child serializer. + + The child serializer. + The reconfigured serializer. + + + + A GUID generator that generates GUIDs in ascending order. To enable + an index to make use of the ascending nature make sure to use + GuidRepresentation.Standard + as the storage representation. + Internally the GUID is of the form + 8 bytes: Ticks from DateTime.UtcNow.Ticks + 5 bytes: Random value from ObjectId spec + 3 bytes: increment + + + + + Gets an instance of AscendingGuidGenerator. + + + + + Generates an ascending Guid for a document. Consecutive invocations + should generate Guids that are ascending from a MongoDB perspective + + The container of the document (will be a + MongoCollection when called from the driver). + The document it was generated for. + A Guid. + + + + Generates a Guid for a document. Note - this is purely used for + unit testing + + The time portion of the Guid + A 5 byte array with the first 3 bytes + representing a machine id and the next 2 representing a process + id + The increment portion of the Guid. Used + to distinguish between 2 Guids that have the timestamp. Note + only the least significant 3 bytes are used. + A Guid. + + + + Tests whether an id is empty. + + The id to test. + True if the Id is empty. False otherwise + + + + Represents an Id generator for Guids stored in BsonBinaryData values. + + + + + Initializes a new instance of the BsonBinaryDataGuidGenerator class. + + The GuidRepresentation to use when generating new Id values. + + + + Gets an instance of BsonBinaryDataGuidGenerator for CSharpLegacy GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for JavaLegacy GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for PythonLegacy GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for Standard GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for Unspecifed GuidRepresentation. + + + + + Gets the Guid representation. + + + + + Gets the instance of BsonBinaryDataGuidGenerator for a GuidRepresentation. + + The GuidRepresentation. + The instance of BsonBinaryDataGuidGenerator for a GuidRepresentation. + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for BsonObjectIds. + + + + + Initializes a new instance of the BsonObjectIdGenerator class. + + + + + Gets an instance of ObjectIdGenerator. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for Guids using the COMB algorithm. + + + + + Initializes a new instance of the CombGuidGenerator class. + + + + + Gets an instance of CombGuidGenerator. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Create a new CombGuid from a given Guid and timestamp. + + The base Guid. + The timestamp. + A new CombGuid created by combining the base Guid with the timestamp. + + + + Represents an Id generator for Guids. + + + + + Initializes a new instance of the GuidGenerator class. + + + + + Gets an instance of GuidGenerator. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator that only checks that the Id is not null. + + + + + Initializes a new instance of the NullIdChecker class. + + + + + Gets an instance of NullIdChecker. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for ObjectIds. + + + + + Initializes a new instance of the ObjectIdGenerator class. + + + + + Gets an instance of ObjectIdGenerator. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for ObjectIds represented internally as strings. + + + + + Initializes a new instance of the StringObjectIdGenerator class. + + + + + Gets an instance of StringObjectIdGenerator. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator that only checks that the Id is not all zeros. + + The type of the Id. + + + + Initializes a new instance of the ZeroIdChecker class. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents a serializer that has a DictionaryRepresentation property. + + + + + Gets the dictionary representation. + + + The dictionary representation. + + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Represents a serializer that has a DictionaryRepresentation property. + + The type of the serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Represents a serializer that has a DiscriminatorConvention property. + + + + + Gets the discriminator convention. + + + + + An interface implemented by Id generators. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents a serializer that has multiple child serializers that configuration attributes can be forwarded to. + + + + + Gets the child serializers. + + + The child serializers. + + + + + Returns a serializer that has been reconfigured with the specified child serializers. + + The child serializers. + The reconfigured serializer. + + + + Represents a serializer that has a Representation property. + + + + + Gets the representation. + + + + + Represents a serializer whose representation can be configured. + + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer that has a Representation property. + + The type of the serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer that has a representation converter. + + + + + Gets the converter. + + + The converter. + + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Represents a serializer that has a representation converter. + + The type of the serializer. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Represents the format to use with a DateOnly serializer when the representation is BsonType.Document. + + + + + The document will contain "DateTime" (BsonType.DateTime) and "Ticks" (BsonType.Int64). + + + + + The document will contain "Year", "Month" and "Day" (all BsonType.Int32). + + + + + Represents the representation to use for dictionaries. + + + + + Represent the dictionary as a Document. + + + + + Represent the dictionary as an array of arrays. + + + + + Represent the dictionary as an array of documents. + + + + + Represents the external representation of a field or property. + + + + + Initializes a new instance of the RepresentationConverter class. + + Whether to allow overflow. + Whether to allow truncation. + + + + Gets whether to allow overflow. + + + + + Gets whether to allow truncation. + + + + + + + + + + + Converts a Decimal128 to a Decimal. + + A Decimal128. + A Decimal. + + + + Converts a Double to a Decimal. + + A Double. + A Decimal. + + + + Converts an Int32 to a Decimal. + + An Int32. + A Decimal. + + + + Converts an Int64 to a Decimal. + + An Int64. + A Decimal. + + + + Converts a decimal to a Decimal128. + + A decimal. + A Decimal128. + + + + Converts a Double to a Decimal128. + + A Double. + A Decimal128. + + + + Converts a Half to a Decimal128. + + A Half. + A Decimal128. + + + + Converts an Int32 to a Decimal128. + + An Int32. + A Decimal128. + + + + Converts an Int64 to a Decimal128. + + An Int64. + A Decimal128. + + + + Converts a UInt64 to a Decimal128. + + A UInt64. + A Decimal128. + + + + Converts a Decimal to a Double. + + A Decimal. + A Double. + + + + Converts a Decimal128 to a Double. + + A Decimal. + A Double. + + + + Converts a Double to a Double. + + A Double. + A Double. + + + + Converts a Single to a Double. + + A Single. + A Double. + + + + Converts a Half to a Double. + + A Half. + A Double. + + + + Converts an Int32 to a Double. + + An Int32. + A Double. + + + + Converts an Int64 to a Double. + + An Int64. + A Double. + + + + Converts an Int16 to a Double. + + An Int16. + A Double. + + + + Converts a UInt32 to a Double. + + A UInt32. + A Double. + + + + Converts a UInt64 to a Double. + + A UInt64. + A Double. + + + + Converts a UInt16 to a Double. + + A UInt16. + A Double. + + + + Converts a Decimal128 to a Half. + + A Decimal128. + A Half to. + + + + Converts a Double to a Half. + + A double. + A Half. + + + + Converts an Int32 to a Half. + + An Int32. + A Half. + + + + Converts an Int64 to a Half. + + An Int64. + A Half to. + + + + Converts a Decimal128 to an Int16. + + A Decimal128. + An Int16. + + + + Converts a Double to an Int16. + + A Double. + An Int16. + + + + Converts an Int32 to an Int16. + + An Int32. + An Int16. + + + + Converts an Int64 to an Int16. + + An Int64. + An Int16. + + + + Converts a Decimal to an Int32. + + A Decimal. + An Int32. + + + + Converts a Decimal128 to an Int32. + + A Decimal128. + An Int32. + + + + Converts a Double to an Int32. + + A Double. + An Int32. + + + + Converts a Single to an Int32. + + A Single. + An Int32. + + + + Converts a Half to an Int32. + + A Half. + An Int32. + + + + Converts an Int32 to an Int32. + + An Int32. + An Int32. + + + + Converts an Int64 to an Int32. + + An Int64. + An Int32. + + + + Converts an Int16 to an Int32. + + An Int16. + An Int32. + + + + Converts a UInt32 to an Int32. + + A UInt32. + An Int32. + + + + Converts a UInt64 to an Int32. + + A UInt64. + An Int32. + + + + Converts a UInt16 to an Int32. + + A UInt16. + An Int32. + + + + Converts a Decimal to an Int64. + + A Decimal. + An Int64. + + + + Converts a Decimal128 to an Int64. + + A Decimal128. + An Int64. + + + + Converts a Double to an Int64. + + A Double. + An Int64. + + + + Converts a Single to an Int64. + + A Single. + An Int64. + + + + Converts a Half to an Int64. + + A Half. + An Int64. + + + + Converts an Int32 to an Int64. + + An Int32. + An Int64. + + + + Converts an Int64 to an Int64. + + An Int64. + An Int64. + + + + Converts an Int16 to an Int64. + + An Int16. + An Int64. + + + + Converts a UInt32 to an Int64. + + A UInt32. + An Int64. + + + + Converts a UInt64 to an Int64. + + A UInt64. + An Int64. + + + + Converts a UInt16 to an Int64. + + A UInt16. + An Int64. + + + + Converts a Decimal128 to a Single. + + A Decimal128. + A Single. + + + + Converts a Double to a Single. + + A Double. + A Single. + + + + Converts an Int32 to a Single. + + An Int32. + A Single. + + + + Converts an Int64 to a Single. + + An Int64. + A Single. + + + + Converts a Decimal128 to a UInt16. + + A Decimal128. + A UInt16. + + + + Converts a Double to a UInt16. + + A Double. + A UInt16. + + + + Converts an Int32 to a UInt16. + + An Int32. + A UInt16. + + + + Converts an Int64 to a UInt16. + + An Int64. + A UInt16. + + + + Converts a Decimal128 to a UInt32. + + A Decimal128. + A UInt32. + + + + Converts a Double to a UInt32. + + A Double. + A UInt32. + + + + Converts an Int32 to a UInt32. + + An Int32. + A UInt32. + + + + Converts an Int64 to a UInt32. + + An Int64. + A UInt32. + + + + Converts a Decimal128 to a UInt64. + + A Decimal128. + A UInt64. + + + + Converts a Double to a UInt64. + + A Double. + A UInt64. + + + + Converts an Int32 to a UInt64. + + An Int32. + A UInt64. + + + + Converts an Int64 to a UInt64. + + An Int64. + A UInt64. + + + + Represents the units a TimeOnly is serialized in. + + + + + Use ticks as the units. + + + + + Use hours as the units. + + + + + Use minutes as the units. + + + + + Use seconds as the units. + + + + + Use milliseconds as the units. + + + + + Use microseconds as the units. + + + + + Use nanoseconds as the units. + + + + + Represents the units a TimeSpan is serialized in. + + + + + Use ticks as the units. + + + + + Use days as the units. + + + + + Use hours as the units. + + + + + Use minutes as the units. + + + + + Use seconds as the units. + + + + + Use milliseconds as the units. + + + + + Use microseconds as the units. + + + + + Use nanoseconds as the units. + + + + + Provides serializers for primitive types. + + + + + + + + Represents a serializer for an abstract class. + + The type of the class. + + + + Represents a serializer for one-dimensional arrays. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for TItemContainer values represented as a BinaryVector. + + The items container, for example or . + The .NET data type. + + + + Initializes a new instance of the class. + + Type of the binary vector data. + + + + Gets the type of the vector data. + + + + + + + + + + + Reads bson binary data. + + The bson reader. + + + + Represents a serializer for . + + The concrete type derived from . + The .NET data type. + + + + Initializes a new instance of the class. + + + + + + + + + + + A base class for serializers for containers represented as a BinaryVector. + + The collection type. + The .NET data type. + + + + Initializes a new instance of the class. + + + + + + + + + + + Represents a serializer for arrays represented as a BinaryVector. + + The .NET data type. + + + + Initializes a new instance of the class. + + + + + Represents a serializer for represented as a binary vector. + + The .NET data type. + + + + Initializes a new instance of the class. + + + + + Represents a serializer for represented as a BinaryVector. + + The .NET data type. + + + + Initializes a new instance of the class. + + + + + Represents a serializer for BitArrays. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Booleans. + + + + + Gets a cached instance of a BooleanSerializer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for BsonArrays. + + + + + Initializes a new instance of the BsonArraySerializer class. + + + + + Gets an instance of the BsonArraySerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonBinaryDatas. + + + + + Initializes a new instance of the BsonBinaryDataSerializer class. + + + + + Gets an instance of the BsonBinaryDataSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonBooleans. + + + + + Initializes a new instance of the BsonBooleanSerializer class. + + + + + Gets an instance of the BsonBooleanSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDateTimes. + + + + + Initializes a new instance of the BsonDateTimeSerializer class. + + + + + Gets an instance of the BsonDateTimeSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDecimal128s. + + + + + Initializes a new instance of the BsonBooleanSerializer class. + + + + + Gets an instance of the BsonBooleanSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDocuments. + + + + + Initializes a new instance of the BsonDocumentSerializer class. + + + + + Gets an instance of the BsonDocumentSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the document Id. + + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Sets the document Id. + + The document. + The Id. + + + + Represents a serializer for BsonDocumentWrappers. + + + + + Initializes a new instance of the BsonDocumentWrapperSerializer class. + + + + + Gets an instance of the BsonDocumentWrapperSerializer class. + + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + An object. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDoubles. + + + + + Initializes a new instance of the BsonDoubleSerializer class. + + + + + Gets an instance of the BsonDoubleSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonInt32s. + + + + + Initializes a new instance of the BsonInt32Serializer class. + + + + + Gets an instance of the BsonInt32Serializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonInt64s. + + + + + Initializes a new instance of the BsonInt64Serializer class. + + + + + Gets an instance of the BsonInt64Serializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonJavaScripts. + + + + + Initializes a new instance of the BsonJavaScriptSerializer class. + + + + + Gets an instance of the BsonJavaScriptSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonJavaScriptWithScopes. + + + + + Initializes a new instance of the BsonJavaScriptWithScopeSerializer class. + + + + + Gets an instance of the BsonJavaScriptWithScopeSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonMaxKeys. + + + + + Initializes a new instance of the BsonMaxKeySerializer class. + + + + + Gets an instance of the BsonMaxKeySerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonMinKeys. + + + + + Initializes a new instance of the BsonMinKeySerializer class. + + + + + Gets an instance of the BsonMinKeySerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonNulls. + + + + + Initializes a new instance of the BsonNullSerializer class. + + + + + Gets an instance of the BsonNullSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonObjectIds. + + + + + Initializes a new instance of the BsonObjectIdSerializer class. + + + + + Gets an instance of the BsonObjectIdSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonRegularExpressions. + + + + + Initializes a new instance of the BsonRegularExpressionSerializer class. + + + + + Gets an instance of the BsonRegularExpressionSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonStrings. + + + + + Initializes a new instance of the BsonStringSerializer class. + + + + + Gets an instance of the BsonStringSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonSymbols. + + + + + Initializes a new instance of the BsonSymbolSerializer class. + + + + + Gets an instance of the BsonSymbolSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonTimestamps. + + + + + Initializes a new instance of the BsonTimestampSerializer class. + + + + + Gets an instance of the BsonTimestampSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonUndefineds. + + + + + Initializes a new instance of the BsonUndefinedSerializer class. + + + + + Gets an instance of the BsonUndefinedSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for a BsonValue that can round trip C# null. + + The type of the BsonValue. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for a BsonValue that can round trip C# null and implements IBsonArraySerializer and IBsonDocumentSerializer. + + The type of the bson value. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + The serialization info for the items. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for a BsonValue that can round trip C# null and implements IBsonArraySerializer. + + The type of the bson value. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for a BsonValue that can round trip C# null and implements IBsonDocumentSerializer. + + The type of the bson value. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for BsonValues. + + + + + Initializes a new instance of the BsonValueSerializer class. + + + + + Gets an instance of the BsonValueSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a base class for BsonValue serializers. + + The type of the BsonValue. + + + + Initializes a new instance of the class. + + The Bson type. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for ByteArrays. + + + + + Gets a cached instance of a ByteArraySerializer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Bytes. + + + + + Gets a cached instance of a default ByteSerializer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Chars. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents an abstract base class for class serializers. + + The type of the value. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the actual type. + + The context. + The actual type. + + + + Serializes a value of type {TValue}. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for CultureInfos. + + + + + Initializes a new instance of the CultureInfoSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for DateOnlys. + + + + + Gets the default DateOnlySerializer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The format to use with the BsonType.Document representation. It will be ignored if the representation is different. + + + + + + + The format to use for the BsonType.Document representation. It will be ignored if the representation is different. + + + + + + + + + + + + + + + + + Returns a serializer that has been reconfigured with the specified representation and document format. + + The representation. + The document format to use with BsonType.Document representation. + + The reconfigured serializer. + + + + + + + + Represents a serializer for DateTimeOffsets. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for DateTimes. + + + + + Gets the default DateTimeSerializer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + if set to true [date only]. + + + + Initializes a new instance of the class. + + if set to true [date only]. + The representation. + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The kind. + + + + Initializes a new instance of the class. + + The kind. + The representation. + + + + Gets an instance of DateTimeSerializer with DateOnly=true. + + + + + Gets an instance of DateTimeSerializer with Kind=Local. + + + + + Gets an instance of DateTimeSerializer with Kind=Utc. + + + + + Gets whether this DateTime consists of a Date only. + + + + + Gets the DateTimeKind (Local, Unspecified or Utc). + + + + + Gets the external representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified dateOnly value. + + if set to true the values will be required to be Date's only (zero time component). + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified dateOnly value and representation. + + if set to true the values will be required to be Date's only (zero time component). + The representation. + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified DateTimeKind value. + + The DateTimeKind. + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified DateTimeKind value and representation. + + The DateTimeKind. + The representation. + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Decimal128s. + + + + + Gets a cached instance of a Decimal128Serializer with Decimal128 representation. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Decimals. + + + + + Gets a cached instance of a DecimalSerializer with Decimal128 representation. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for a class that implements IDictionary. + + The type of the dictionary. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation and key value serializers. + + The dictionary representation. + The key serializer. + The value serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified key serializer. + + The key serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified value serializer. + + The value serializer. + The reconfigured serializer. + + + + Creates the instance. + + The instance. + + + + Represents a serializer for a class that implements . + + The type of the dictionary. + The type of the key. + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation and key value serializers. + + The dictionary representation. + The key serializer. + The value serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified key serializer. + + The key serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified value serializer. + + The value serializer. + The reconfigured serializer. + + + + + + + Represents a serializer for dictionaries. + + The type of the dictionary. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Gets the dictionary representation. + + + The dictionary representation. + + + + + Gets the key serializer. + + + The key serializer. + + + + + Gets the value serializer. + + + The value serializer. + + + + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Creates the instance. + + The instance. + + + + Represents a serializer for dictionaries. + + The type of the dictionary. + The type of the keys. + The type of the values. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Initializes a new instance of the class. + + The dictionary representation. + The serializer registry. + + + + Gets the dictionary representation. + + + The dictionary representation. + + + + + Gets the key serializer. + + + The key serializer. + + + + + Gets the value serializer. + + + The value serializer. + + + + + + + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Creates an accumulator. + + The accumulator. + + + + Finalizes an accumulator. + + The accumulator to finalize + The instance. + + + + An interface implemented by DiscriminatedInterfaceSerializer. + + + + + Gets the interface serializer. + + + + + Represents a serializer for Interfaces. + + The type of the interface. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The discriminator convention. + interfaceType + interfaceType + + + + Initializes a new instance of the class. + + The discriminator convention. + The interface serializer (necessary to support LINQ queries). + interfaceType + interfaceType + + + + Initializes a new instance of the class. + + The discriminator convention. + The interface serializer (necessary to support LINQ queries). + The serializer that is used to serialize any objects. + interfaceType + interfaceType + + + + Gets the interface serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The document. + + + + + + + Represents a serializer that serializes values as a discriminator/value pair. + + The type of the value. + + + + Initializes a new instance of the class. + + The discriminator convention. + The wrapped serializer. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Determines whether the reader is positioned at a discriminated wrapper. + + The context. + True if the reader is positioned at a discriminated wrapper. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for Doubles. + + + + + Gets a cached instance of DoubleSerializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + An interface implemented by DowncastingSerializer. + + + + + The base type that the serializer will downcast from. + + + + + The serializer for the derived type. + + + + + The derived type that the serializer will downcast to. + + + + + Static factory class for DowncastingSerializer. + + + + + Creates a new DowncastingSerializer. + + The base type. + The derived type. + The derived type serializer. + A instance. + + + + A serializer for TBase where the actual values are of type TDerived. + + The base type. + The derived type. + + + + Initializes a new instance of DowncastingSerializer. + + The derived type serializer. + + + + + + + + The serializer for the derived type. + + + + + + + + + + + + + + + + + + + + + + + + + + Base serializer for dynamic types. + + The dynamic type. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Configures the deserialization context. + + The builder. + + + + Configures the serialization context. + + The builder. + + + + Creates the document. + + A + + + + Sets the value for the member. + + The document. + Name of the member. + The value. + + + + Tries to get the value for a member. Returns true if the member should be serialized. + + The document. + Name of the member. + The value. + true if the member should be serialized; otherwise false. + + + + A serializer that serializes a document and appends elements to the end of it. + + The type of the document. + + + + + Initializes a new instance of the class. + + The document serializer. + The elements to append. + The writer settings configurator. + + + + + + + + + + + + + + + + + + + Represents a serializer for a class that implements IEnumerable. + + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Creates the accumulator. + + The accumulator. + + + + Represents a serializer for a class that implementes . + + The type of the value. + The type of the item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Creates the accumulator. + + The accumulator. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Represents a serializer for enumerable values. + + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for enumerable values. + + The type of the value. + The type of the items. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a base serializer for enumerable values. + + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the item serializer. + + + The item serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Represents a serializer for enumerable values. + + The type of the value. + The type of the items. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the item serializer. + + + The item serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + The serialization info for the items. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for enums. + + The type of the enum. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Static factory class for EnumSerializer. + + + + + Creates a EnumSerializer. + + The value type. + A EnumSerializer + + + + Serializer for . + + + The use of will serialize any without type information. + To get the best experience out of using an , any member wanting to be used + as an array should use . + + + + + Initializes a new instance of the class. + + + + + Configures the deserialization context. + + The builder. + + + + Configures the serialization context. + + The builder. + + + + Creates the document. + + + A . + + + + + Sets the value for the member. + + The document. + Name of the member. + The value. + + + + Tries to get the value for a member. Returns true if the member should be serialized. + + The value. + Name of the member. + The member value. + true if the member should be serialized; otherwise false. + + + + Represents a serializer for Guids. + + + + + Gets a cached instance of a GuidSerializer with Standard representation. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The Guid representation. + + + + Gets the Guid representation. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified Guid representation. + + The GuidRepresentation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Halfs. + + + + + Gets the default HalfSerializer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a serializer for IEnumerable and any other derived interface implemented by TCollection. + + The type of an IEnumerable interface. + The type of the items. + The type of the collection used when deserializing. + + + + Initializes a new instance of the IEnumerableDeserializingAsCollectionSerializer class. + + + + + Initializes a new instance of the IEnumerableDeserializingAsCollectionSerializer class. + + The item serializer. + + + + Initializes a new instance of the IEnumerableDeserializingAsCollectionSerializer class. + + The serializer registry. + + + + Gets the item serializer. + + + The item serializer. + + + + + + + + + + + + + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + The serialization info for the items. + + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for ImmutableArrays. + + The type of element stored by the collection. + + + + + + + + + + Represents a serializer for ImmutableDictionaries. + + The type of the keys in the dictionary. + The type of the values in the dictionary. + + + + + + + + + + Represents a serializer for ImmutableHashSets. + + The type of element stored by the collection. + + + + + + + + + + Represents a serializer for ImmutableLists. + + The type of element stored by the collection. + + + + + + + + + + Represents a serializer for ImmutableQueues. + + The type of element stored by the collection. + + + + + + + + + + Represents a serializer for ImmutableSortedDictionaries. + + The type of the keys in the dictionary. + The type of the values in the dictionary. + + + + + + + + + + Represents a serializer for ImmutableSortedSets. + + The type of element stored by the collection. + + + + + + + + + + Represents a serializer for ImmutableStacks. + + The type of element stored by the collection. + + + + + + + + + + + + + An interface implemented by ImpliedImplementationInterfaceSerializer. + + + + + Gets the serializer for the implied implementation. + + + + + Represents a serializer for Interfaces. + + The type of the interface. + The type of the implementation. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The implementation serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the dictionary representation. + + + The dictionary representation. + + + + + + Gets the key serializer. + + + The key serializer. + + + + + + Gets the implementation serializer. + + + The implementation serializer. + + + + + Gets the value serializer. + + + The value serializer. + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The document. + + + + Returns a serializer that has been reconfigured with the specified implementation serializer. + + The implementation serializer. + + The reconfigured serializer. + + + + + Represents a serializer for Int16s. + + + + + Gets a cached instance of an Int16Serializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Int32. + + + + + Gets a cached instance of an Int32Serializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Int64s. + + + + + Gets a cached instance of an Int64Serializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for IOrderedEnumerable. + + The type of the items. + + + + Initializes a new instance of IOrderedEnumerableSerializer. + + The item serializer. + The message to use when throwing an exception because ThenBy is not supported. + + + + + + + + + + + + + + + + + + + A factory class for instances of IOrderedEnumerableSerializer<TItem>. + + + + + Creates an instance IOrderedEnumerableSerializer<TItem>. + + The item serializer. + The message to use when throwing an exception because ThenBy is not supported. + An IOrderedEnumerableSerializer<TItem>. + + + + Represents a serializer for IPAddresses. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for IPEndPoints. + + + + + Initializes a new instance of the IPEndPointSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + An interface implemented by KeyValuePairSerializer. + + + + + Gets the representation. + + + + + Represents a serializer for KeyValuePairs. + + The type of the keys. + The type of the values. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The key serializer. + The value serializer. + + + + Initializes a new instance of the class. + + The representation. + The serializer registry. + + + + Gets the key serializer. + + + The key serializer. + + + + + Gets the representation. + + + The representation. + + + + + Gets the value serializer. + + + The value serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + + + + Represents a serializer for LazyBsonArrays. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for LazyBsonDocuments. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for . + + The type of the item. Only primitive numeric types are supported. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + + + + + + + Represents a serializer for . + + The type of the item. Only primitive numeric types are supported. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + + + + + + + Represents an abstract base class for and serializers. + + The type of the item. Only primitive numeric types are supported. + The type of the memory struct. + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + + + + + + + Creates the Memory{TITem} structure. + + The items to initialize the resulting instance with. + The created memory structure. + + + + Get the memory structure from TMemory instance. + + The Memory{TITem} structure. + + + + An interface used by the LINQ3 translators to access the value serializer without needing to use reflection. + + + + + Gets the value serializer. + + + + + Static factory class for NullableSerializers. + + + + + Creates a NullableSerializer. + + The value serializer. + A NullableSerializer + + + + Represents a serializer for nullable values. + + The underlying type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the value serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified serializer. + + The serializer. + + The reconfigured serializer. + + + + + Represents a serializer for ObjectIds. + + + + + Gets a cached instance of an ObjectId serializer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for objects. + + + + + An allowed types function that returns true for all types. + + + + + An allowed types function that returns true for framework types known to be safe. + + + + + Gets the standard instance. + + + + + An allowed types function that returns false for all types. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The discriminator convention. + discriminatorConvention + + + + Initializes a new instance of the class. + + The discriminator convention. + The Guid representation. + + + + Initializes a new instance of the class. + + A delegate that determines what types are allowed. + + + + Initializes a new instance of the class. + + The discriminator convention. + A delegate that determines what types are allowed. + + + + Initializes a new instance of the class. + + The discriminator convention. + The Guid representation. + A delegate that determines what types are allowed. + + + + Initializes a new instance of the class. + + The discriminator convention. + The Guid representation. + A delegate that determines what types are allowed to be deserialized. + A delegate that determines what types are allowed to be serialized. + + + + Gets the AllowedDeserializationTypes filter; + + + + + Gets the AllowedSerializationTypes filter; + + + + + Gets the discriminator convention. + + + + + Gets the GuidRepresentation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a new ObjectSerializer configured the same but with the specified discriminator convention. + + The discriminator convention. + An ObjectSerializer with the specified discriminator convention. + + + + Returns a new ObjectSerializer configured the same but with the specified allowed types delegates. + + A delegate that determines what types are allowed to be deserialized. + A delegate that determines what types are allowed to be serialized. + + + + + Represents a serializer for a BsonDocument with some parts raw. + + + + + Initializes a new instance of the class. + + The name. + The raw serializer. + + + + + + + + + + + + + Wraps a serializer and projects using a function. + + The type of from. + The type of to. + + + + Initializes a new instance of the class. + + From serializer. + The projector. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Represents a serializer for Queues. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items. + + The value. + The items. + + + + Finalizes the result. + + The instance. + The result. + + + + Represents a serializer for Queues. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for RawBsonArrays. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for RawBsonDocuments. + + + + + Initializes a new instance of the class. + + + + + Gets the instance. + + + The instance. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + + + + Represents a serializer for readonly collection. + + The type of the item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Creates the accumulator. + + The accumulator. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Represents a serializer for a subclass of ReadOnlyCollection. + + The type of the value. + The type of the item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Creates the accumulator. + + The accumulator. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Represents a serializer for a class that implements . + + The type of the dictionary. + The type of the key. + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation and key value serializers. + + The dictionary representation. + The key serializer. + The value serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified key serializer. + + The key serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified value serializer. + + The value serializer. + The reconfigured serializer. + + + + + + + + + + Represents a serializer for Regex. + + + + + Gets a cached instance of a RegexSerializer with RegularExpression representation. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for SBytes. + + + + + Gets a cached instance of an SByteSerializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents an abstract base class for sealed class serializers. + + The type of the value. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value of type {TValue}. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a class that will be serialized as if it were one of its base classes. + + The actual type. + The nominal type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base class serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents an abstract base class for serializers. + + The type of the value. + + + + Gets the type of the values. + + + The type of the values. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Creates an exception to throw when a type cannot be deserialized. + + An exception. + + + + Creates an exception to throw when a type cannot be deserialized. + + An exception. + + + + Creates an exception to throw when a type cannot be deserialized from a BsonType. + + The BSON type. + An exception. + + + + Ensures that the BsonType equals the expected type. + + The reader. + The expected type. + + + + Represents a helper for serializers. + + + + + Initializes a new instance of the class. + + The members. + + + + Deserializes the members. + + The deserialization context. + The member handler. + The found member flags. + + + + Represents information about a member. + + + + + Initializes a new instance of the class. + + The name of the element. + The flag. + Whether the member is optional. + + + + Gets the flag. + + + The flag. + + + + + Gets the name of the element. + + + The name of the element. + + + + + Gets a value indicating whether this member is optional. + + Whether this member is optional. + + + + Represents a serializer for Singles. + + + + + Gets a cached instance of an SingleSerializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Stacks. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for Stacks. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for Strings. + + + + + Gets a cached instance of a default string serializer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents an abstract base class for struct serializers. + + The type of the value. + + + + Represents a serializer for three-dimensional arrays. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the item serializer. + + + The item serializer. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for TimeOnlys + + + + + Gets the default TimeOnlySerializer + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The units. + + + + + + + Gets the units. + + + The units. + + + + + + + + + + + + + + + + + + + + Returns a serializer that has been reconfigured with the specified representation and units. + + The representation. + The units. + + The reconfigured serializer. + + + + + Represents a serializer for Timespans. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The units. + + + + Gets the representation. + + + The representation. + + + + + Gets the units. + + + The units. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation and units. + + The representation. + The units. + + The reconfigured serializer. + + + + + An interface implemented by tuple serializers. + + + + + Gets ths serializer for an item. + + The item number. + The serializer for the item. + + + + A factory class for TupleSerializers. + + + + + Creates a TupleSerializer. + + The item serializers. + A TupleSerializer. + + + + Tries to parse an item name to an item number. + + The item name. + The item number. + True if the item name was valid. + + + + Represents a serializer for a . + + The type of item 1. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + The type of item 7. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + The Item7 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + Gets the Item7 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + The type of item 7. + The type of the rest item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + The Item7 serializer. + The Rest serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + Gets the Item7 serializer. + + + + + Gets the Rest serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for two-dimensional arrays. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the item serializer. + + + The item serializer. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for UInt16s. + + + + + Gets a cached instance of an UInt16Serializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for UInt32s. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for UInt64s. + + + + + Gets a cached instance of an UInt64Serializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for interfaces and base classes that delegates to the actual type interface without writing a discriminator. + + Type type of the value. + + + + Initializes a new instance of the class. + + + + + Gets the instance. + + + The instance. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The document. + + + + Represents a serializer for Uris. + + + + + Initializes a new instance of the UriSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + A factory class for ValueTupleSerializers. + + + + + Creates a ValueTupleSerializer. + + The item serializers. + A ValueTupleSerializer. + + + + Represents a serializer for a . + + The type of item 1. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + The type of item 7. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + The Item7 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + Gets the Item7 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + The type of item 7. + The type of the rest item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + The Item7 serializer. + The Rest serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + Gets the Item7 serializer. + + + + + Gets the Rest serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for Versions. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for a class map. + + The type of the class. + + + + Initializes a new instance of the BsonClassMapSerializer class. + + The class map. + + + + + + + Gets a value indicating whether this serializer's discriminator is compatible with the object serializer. + + + true if this serializer's discriminator is compatible with the object serializer; otherwise, false. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Deserializes a value. + + The deserialization context. + A deserialized value. + + + + + + + + + + Gets the document Id. + + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Sets the document Id. + + The document. + The Id. + + + + Represents a serializer for TClass (a subclass of BsonDocumentBackedClass). + + The subclass of BsonDocumentBackedClass. + + + + Initializes a new instance of the class. + + + + + + + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + + + + Registers a member. + + The member name. + The element name. + The serializer. + + + + + + + Creates the instance. + + The backing document. + An instance of TClass. + + + + Represents a serialization provider based on a mapping from value types to serializer types. + + + + + Initializes a new instance of the class. + + + + + + + + Registers the serializer mapping. + + The type. + Type of the serializer. + + + + Supports using type names as discriminators. + + + + + Resolves a type name discriminator. + + The type name. + The type if type type name can be resolved; otherwise, null. + + + + Gets a type name to be used as a discriminator (like AssemblyQualifiedName but shortened for common DLLs). + + The type. + The type name. + + + + Sets the representation for this field or property as a binary vector with the specified data type. + + + + + Initializes a new instance of the class. + + + + + Gets the vector data type. + + + + + Applies the attribute to the member map. + + The member map. + + + diff --git a/local-nugets/mongodb.bson/3.5.0/lib/netstandard2.1/MongoDB.Bson.xml b/local-nugets/mongodb.bson/3.5.0/lib/netstandard2.1/MongoDB.Bson.xml new file mode 100644 index 000000000..9025afffd --- /dev/null +++ b/local-nugets/mongodb.bson/3.5.0/lib/netstandard2.1/MongoDB.Bson.xml @@ -0,0 +1,23606 @@ + + + + MongoDB.Bson + + + + + A static class containing BSON constants. + + + + + Gets the number of milliseconds since the Unix epoch for DateTime.MaxValue. + + + + + Gets the number of milliseconds since the Unix epoch for DateTime.MinValue. + + + + + Gets the Unix Epoch for BSON DateTimes (1970-01-01). + + + + + A static helper class containing BSON defaults. + + + + + Gets or sets the dynamic array serializer. + + + + + Gets or sets the dynamic document serializer. + + + + + Gets or sets the default max document size. The default is 4MiB. + + + + + Gets or sets the default max serialization depth (used to detect circular references during serialization). The default is 100. + + + + + A static class containing BSON extension methods. + + + + + Serializes an object to a BSON byte array. + + The nominal type of the object. + The object. + The serializer. + The writer settings. + The serialization context configurator. + The serialization args. + The estimated size of the serialized object + A BSON byte array. + + + + Serializes an object to a BSON byte array. + + The object. + The nominal type of the object.. + The writer settings. + The serializer. + The serialization context configurator. + The serialization args. + The estimated size of the serialized object. + A BSON byte array. + nominalType + serializer + + + + Serializes an object to a BsonDocument. + + The nominal type of the object. + The object. + The serializer. + The serialization context configurator. + The serialization args. + A BsonDocument. + + + + Serializes an object to a BsonDocument. + + The object. + The nominal type of the object. + The serializer. + The serialization context configurator. + The serialization args. + A BsonDocument. + nominalType + serializer + + + + Serializes an object to a JSON string. + + The nominal type of the object. + The object. + The JsonWriter settings. + The serializer. + The serialization context configurator. + The serialization args. + + A JSON string. + + + + + Serializes an object to a JSON string. + + The object. + The nominal type of the objectt. + The JsonWriter settings. + The serializer. + The serialization context configurator. + The serialization args. + + A JSON string. + + nominalType + serializer + + + + A static class containing BSON utility methods. + + + + + Gets a friendly class name suitable for use in error messages. + + The type. + A friendly class name. + + + + Parses a hex string into its equivalent byte array. + + The hex string to parse. + The byte equivalent of the hex string. + + + + Converts from number of milliseconds since Unix epoch to DateTime. + + The number of milliseconds since Unix epoch. + A DateTime. + + + + Converts a value to a hex character. + + The value (assumed to be between 0 and 15). + The hex character. + + + + Converts a byte array to a hex string. + + The byte array. + A hex string. + + + + Converts a DateTime to local time (with special handling for MinValue and MaxValue). + + A DateTime. + The DateTime in local time. + + + + Converts a DateTime to number of milliseconds since Unix epoch. + + A DateTime. + Number of milliseconds since Unix epoch. + + + + Converts a DateTime to number of seconds since Unix epoch. + + A DateTime. + Number of seconds since Unix epoch. + + + + Converts a DateTime to UTC (with special handling for MinValue and MaxValue). + + A DateTime. + The DateTime in UTC. + + + + Tries to parse a hex string to a byte array. + + The hex string. + A byte array. + True if the hex string was successfully parsed. + + + + Represents a BSON exception. + + + + + Initializes a new instance of the BsonException class. + + + + + Initializes a new instance of the BsonException class. + + The error message. + + + + Initializes a new instance of the BsonException class. + + The error message. + The inner exception. + + + + Initializes a new instance of the BsonException class. + + The error message format string. + One or more args for the error message. + + + + Initializes a new instance of the BsonException class (this overload used by deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Represents a BSON internal exception (almost surely the result of a bug). + + + + + Initializes a new instance of the BsonInternalException class. + + + + + Initializes a new instance of the BsonInternalException class. + + The error message. + + + + Initializes a new instance of the BsonInternalException class. + + The error message. + The inner exception. + + + + Initializes a new instance of the BsonInternalException class (this overload used by deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Represents a BSON serialization exception. + + + + + Initializes a new instance of the BsonSerializationException class. + + + + + Initializes a new instance of the BsonSerializationException class. + + The error message. + + + + Initializes a new instance of the BsonSerializationException class. + + The error message. + The inner exception. + + + + Initializes a new instance of the BsonSerializationException class (this overload used by deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Indicates that an attribute restricted to one member has been applied to multiple members. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Initializes a new instance of the class. + + The info. + The context. + + + + Represents a truncation exception. + + + + + Initializes a new instance of the TruncationException class. + + + + + Initializes a new instance of the TruncationException class. + + The error message. + + + + Initializes a new instance of the TruncationException class. + + The error message. + The inner exception. + + + + Initializes a new instance of the TruncationException class (this overload used by deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Represents a fast converter from integer indexes to UTF8 BSON array element names. + + + + + Gets the element name bytes. + + The index. + The element name bytes. + + + + Represents a fast converter from integer indexes to UTF8 BSON array element names. + + + + + Gets or sets the default array element name accelerator. + + + + + Initializes a new instance of the class. + + The number of cached element names. + + + + Gets the element name bytes. + + The index. + + The element name bytes. + + + + + Represents a BSON reader for a binary BSON byte array. + + + + + Initializes a new instance of the BsonBinaryReader class. + + A stream (BsonBinary does not own the stream and will not Dispose it). + + + + Initializes a new instance of the BsonBinaryReader class. + + A stream (BsonBinary does not own the stream and will not Dispose it). + A BsonBinaryReaderSettings. + + + + Gets the base stream. + + + The base stream. + + + + + Gets the BSON stream. + + + The BSON stream. + + + + + Gets the settings of the writer. + + + + + Closes the reader. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name decoder. + The name of the element. + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a raw BSON array. + + + The raw BSON array. + + + + + Reads a raw BSON document. + + + The raw BSON document. + + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Creates a clone of the context. + + A clone of the context. + + + + Represents settings for a BsonBinaryReader. + + + + + Initializes a new instance of the BsonBinaryReaderSettings class. + + + + + Gets or sets the default settings for a BsonBinaryReader. + + + + + Gets or sets the Encoding. + + + + + Gets or sets whether to fix occurrences of the old binary subtype on input. + + + + + Gets or sets whether to fix occurrences of the old representation of DateTime.MaxValue on input. + + + + + Gets or sets the max document size. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Represents a BSON writer to a BSON Stream. + + + + + Initializes a new instance of the BsonBinaryWriter class. + + A stream. The BsonBinaryWriter does not own the stream and will not Dispose it. + + + + Initializes a new instance of the BsonBinaryWriter class. + + A stream. The BsonBinaryWriter does not own the stream and will not Dispose it. + The BsonBinaryWriter settings. + + + + Gets the base stream. + + + The base stream. + + + + + Gets the BSON stream. + + + The BSON stream. + + + + + + + + Gets the settings of the writer. + + + + + Closes the writer. Also closes the base stream. + + + + + Flushes any pending data to the output destination. + + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a raw BSON array. + + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Represents settings for a BsonBinaryWriter. + + + + + Initializes a new instance of the BsonBinaryWriterSettings class. + + + + + Gets or sets the default BsonBinaryWriter settings. + + + + + Gets or sets the Encoding. + + + + + Gets or sets whether to fix the old binary data subtype on output. + + + + + Gets or sets the max document size. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Represents a pool of chunks. + + + + + Gets or sets the default chunk pool. + + + The default chunk pool. + + + + + Initializes a new instance of the class. + + The maximum number of chunks to keep in the pool. + The size of each chunk. + + + + Gets the chunk size. + + + The chunk size. + + + + + Gets the maximum size of the pool. + + + The maximum size of the pool. + + + + + Gets the size of the pool. + + + The size of the pool. + + + + + + + + + + + Represents a BSON reader for a BsonDocument. + + + + + Initializes a new instance of the BsonDocumentReader class. + + A BsonDocument. + + + + Initializes a new instance of the BsonDocumentReader class. + + A BsonDocument. + The reader settings. + + + + Closes the reader. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Creates a clone of the context. + + A clone of the context. + + + + Represents settings for a BsonDocumentReader. + + + + + Initializes a new instance of the BsonDocumentReaderSettings class. + + + + + Gets or sets the default settings for a BsonDocumentReader. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Represents a BSON writer to a BsonDocument. + + + + + Initializes a new instance of the BsonDocumentWriter class. + + The document to write to (normally starts out as an empty document). + + + + Initializes a new instance of the BsonDocumentWriter class. + + The document to write to (normally starts out as an empty document). + The settings. + + + + Gets the BsonDocument being written to. + + + + + + + + Closes the writer. + + + + + Flushes any pending data to the output destination. + + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes the name of an element to the writer. + + The name of the element. + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Represents settings for a BsonDocumentWriter. + + + + + Initializes a new instance of the BsonDocumentWriterSettings class. + + + + + Gets or sets the default BsonDocumentWriter settings. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Represents a BSON reader for some external format (see subclasses). + + + + + Initializes a new instance of the BsonReader class. + + The reader settings. + + + + Gets the current BsonType. + + + + + Gets the settings of the reader. + + + + + Gets the current state of the reader. + + + + + Gets the current name. + + + + + Gets whether the BsonReader has been disposed. + + + + + Closes the reader. + + + + + Disposes of any resources used by the reader. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Gets the current BsonType (calls ReadBsonType if necessary). + + The current BsonType. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + + + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + + + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name of the element. + + + + Reads the name of an element from the reader (using the provided name decoder). + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a raw BSON array. + + The raw BSON array. + + + + Reads a raw BSON document. + + The raw BSON document. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Throws an InvalidOperationException when the method called is not valid for the current ContextType. + + The name of the method. + The actual ContextType. + The valid ContextTypes. + + + + Throws an InvalidOperationException when the method called is not valid for the current state. + + The name of the method. + The valid states. + + + + Throws an ObjectDisposedException. + + + + + Verifies the current state and BsonType of the reader. + + The name of the method calling this one. + The required BSON type. + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Initializes a new instance of the BsonReaderBookmark class. + + The state of the reader. + The current BSON type. + The name of the current element. + + + + Gets the current state of the reader. + + + + + Gets the current BsonType; + + + + + Gets the name of the current element. + + + + + Represents settings for a BsonReader. + + + + + Initializes a new instance of the BsonReaderSettings class. + + + + + Gets whether the settings are frozen. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Throws an InvalidOperationException when an attempt is made to change a setting after the settings are frozen. + + + + + Represents the state of a reader. + + + + + The initial state. + + + + + The reader is positioned at the type of an element or value. + + + + + The reader is positioned at the name of an element. + + + + + The reader is positioned at a value. + + + + + The reader is positioned at a scope document. + + + + + The reader is positioned at the end of a document. + + + + + The reader is positioned at the end of an array. + + + + + The reader has finished reading a document. + + + + + The reader is closed. + + + + + Represents a Stream has additional methods to suport reading and writing BSON values. + + + + + Reads a BSON CString from the stream. + + The encoding. + A string. + + + + Reads a BSON CString from the stream. + + An ArraySegment containing the CString bytes (without the null byte). + + + + Reads a BSON Decimal128 from the stream. + + A . + + + + Reads a BSON double from the stream. + + A double. + + + + Reads a 32-bit BSON integer from the stream. + + An int. + + + + Reads a 64-bit BSON integer from the stream. + + A long. + + + + Reads a BSON ObjectId from the stream. + + An ObjectId. + + + + Reads a raw length prefixed slice from the stream. + + A slice. + + + + Reads a BSON string from the stream. + + The encoding. + A string. + + + + Skips over a BSON CString leaving the stream positioned just after the terminating null byte. + + + + + Writes a BSON CString to the stream. + + The value. + + + + Writes the CString bytes to the stream. + + The value. + + + + Writes a BSON Decimal128 to the stream. + + The value. + + + + Writes a BSON double to the stream. + + The value. + + + + Writes a 32-bit BSON integer to the stream. + + The value. + + + + Writes a 64-bit BSON integer to the stream. + + The value. + + + + Writes a BSON ObjectId to the stream. + + The value. + + + + Writes a BSON string to the stream. + + The value. + The encoding. + + + + A Stream that wraps another Stream while implementing the BsonStream abstract methods. + + + + + Initializes a new instance of the class. + + The stream. + if set to true [owns stream]. + stream + + + + Gets the base stream. + + + The base stream. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents extension methods on BsonStream. + + + + + Backpatches the size. + + The stream. + The start position. + + + + Reads the binary sub type. + + The stream. + The binary sub type. + + + + Reads a boolean from the stream. + + The stream. + A boolean. + + + + Reads the BSON type. + + The stream. + The BSON type. + + + + Reads bytes from the stream. + + The stream. + The buffer. + The offset. + The count. + + + + Reads bytes from the stream. + + The stream. + The count. + The bytes. + + + + Writes a binary sub type to the stream. + + The stream. + The value. + + + + Writes a boolean to the stream. + + The stream. + The value. + + + + Writes a BsonType to the stream. + + The stream. + The value. + + + + Writes bytes to the stream. + + The stream. + The buffer. + The offset. + The count. + + + + Writes a slice to the stream. + + The stream. + The slice. + + + + Represents a mapping from a set of UTF8 encoded strings to a set of elementName/value pairs, implemented as a trie. + + The type of the BsonTrie values. + + + + Initializes a new instance of the BsonTrie class. + + + + + Gets the root node. + + + + + Adds the specified elementName (after encoding as a UTF8 byte sequence) and value to the trie. + + The element name to add. + The value to add. The value can be null for reference types. + + + + Gets the node associated with the specified element name. + + The element name. + + When this method returns, contains the node associated with the specified element name, if the key is found; + otherwise, null. This parameter is passed uninitialized. + + True if the node was found; otherwise, false. + + + + Tries to get the node associated with a name read from a stream. + + The stream. + The node. + + True if the node was found. + If the node was found the stream is advanced over the name, otherwise + the stream is repositioned to the beginning of the name. + + + + + Gets the value associated with the specified element name. + + The element name. + + When this method returns, contains the value associated with the specified element name, if the key is found; + otherwise, the default value for the type of the value parameter. This parameter is passed uninitialized. + + True if the value was found; otherwise, false. + + + + Gets the value associated with the specified element name. + + The element name. + + When this method returns, contains the value associated with the specified element name, if the key is found; + otherwise, the default value for the type of the value parameter. This parameter is passed uninitialized. + + True if the value was found; otherwise, false. + + + + Represents a node in a BsonTrie. + + The type of the BsonTrie values. + + + + Gets whether this node has a value. + + + + + Gets the element name for this node. + + + + + Gets the value for this node. + + + + + Gets the child of this node for a given key byte. + + The key byte. + The child node if it exists; otherwise, null. + + + + Represents a BSON writer for some external format (see subclasses). + + + + + Initializes a new instance of the BsonWriter class. + + The writer settings. + + + + + + + Gets the current serialization depth. + + + + + Gets the settings of the writer. + + + + + Gets the current state of the writer. + + + + + Gets whether the BsonWriter has been disposed. + + + + + Gets the name of the element being written. + + + + + Closes the writer. + + + + + Disposes of any resources used by the writer. + + + + + Flushes any pending data to the output destination. + + + + + Pops the element name validator. + + The popped element validator. + + + + + + + Pushes the element name validator. + + The validator. + + + + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + + + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes the name of an element to the writer. + + The name of the element. + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a raw BSON array. + + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Throws an InvalidOperationException when the method called is not valid for the current ContextType. + + The name of the method. + The actual ContextType. + The valid ContextTypes. + + + + Throws an InvalidOperationException when the method called is not valid for the current state. + + The name of the method. + The valid states. + + + + Represents settings for a BsonWriter. + + + + + Initializes a new instance of the BsonWriterSettings class. + + + + + Gets whether the settings are frozen. + + + + + Gets or sets the max serialization depth allowed (used to detect circular references). + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Throws an InvalidOperationException when an attempt is made to change a setting after the settings are frozen. + + + + + Represents the state of a BsonWriter. + + + + + The initial state. + + + + + The writer is positioned to write a name. + + + + + The writer is positioned to write a value. + + + + + The writer is positioned to write a scope document (call WriteStartDocument to start writing the scope document). + + + + + The writer is done. + + + + + The writer is closed. + + + + + An IByteBuffer that is backed by a contiguous byte array. + + + + + Initializes a new instance of the class. + + The bytes. + Whether the buffer is read only. + + + + Initializes a new instance of the class. + + The bytes. + The length. + Whether the buffer is read only. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a chunk backed by a byte array. + + + + + Initializes a new instance of the class. + + The size. + + + + Initializes a new instance of the class. + + The bytes. + bytes + + + + + + + + + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Represents a factory for IBsonBuffers. + + + + + Creates a buffer of the specified length. Depending on the length, either a SingleChunkBuffer or a MultiChunkBuffer will be created. + + The chunk pool. + The minimum capacity. + A buffer with at least the minimum capacity. + + + + Represents a slice of a byte buffer. + + + + + Initializes a new instance of the class. + + The byte buffer. + The offset of the slice. + The length of the slice. + + + + Gets the buffer. + + + The buffer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Represents a Stream backed by an IByteBuffer. Similar to MemoryStream but backed by an IByteBuffer + instead of a byte array and also implements the BsonStream interface for higher performance BSON I/O. + + + + + Initializes a new instance of the class. + + The buffer. + Whether the stream owns the buffer and should Dispose it when done. + + + + Gets the buffer. + + + The buffer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Used by BsonReaders and BsonWriters to represent the current context. + + + + + The top level of a BSON document. + + + + + A (possibly embedded) BSON document. + + + + + A BSON array. + + + + + A JavaScriptWithScope BSON value. + + + + + The scope document of a JavaScriptWithScope BSON value. + + + + + A BsonWriter that appends elements to the end of a document. + + + + + + Initializes a new instance of the class. + + The wrapped writer. + The elements to append. + The settings configurator. + + + + + + + + + + Represents a class that has some helper methods for . + + + + + Represents a chunk of bytes. + + + + + Gets the bytes. + + + The bytes. + + + + + Returns a new reference to the same chunk that can be independently disposed. + + A new reference to the same chunk. + + + + Represents a source of chunks. + + + + + Gets the chunk. + + The chunk source is free to return a larger or smaller chunk than requested. + Size of the requested. + A chunk. + + + + Represents a BSON reader. + + + + + Gets the current BsonType. + + + + + Gets the current state of the reader. + + + + + Closes the reader. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Gets the current BsonType (calls ReadBsonType if necessary). + + The current BsonType. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Pops the settings. + + + + + Pushes new settings for the reader. + + The settings configurator. + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + Reads a BSON Decimal128 from the reader. + + A . + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + Reads a Guid from the reader. + + A Guid. + + + + Reads a Guid with the specified representation from the reader. + + The Guid representation. + A Guid. + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader (using the provided name decoder). + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a raw BSON array. + + The raw BSON array. + + + + Reads a raw BSON document. + + The raw BSON document. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Contains extensions methods for IBsonReader. + + + + + Positions the reader to an element by name. + + The reader. + The name of the element. + True if the element was found. + + + + Positions the reader to a string element by name. + + The reader. + The name of the element. + True if the element was found. + + + + Reads a BSON binary data element from the reader. + + The reader. + The name of the element. + A BsonBinaryData. + + + + Reads a BSON boolean element from the reader. + + The reader. + The name of the element. + A Boolean. + + + + Reads a BSON binary data element from the reader. + + The reader. + The name of the element. + A byte array. + + + + Reads a BSON DateTime element from the reader. + + The reader. + The name of the element. + The number of milliseconds since the Unix epoch. + + + + Reads a BSON Decimal128 element from the reader. + + The reader. + The name of the element. + A . + + + + Reads a BSON Double element from the reader. + + The reader. + The name of the element. + A Double. + + + + Reads a BSON Int32 element from the reader. + + The reader. + The name of the element. + An Int32. + + + + Reads a BSON Int64 element from the reader. + + The reader. + The name of the element. + An Int64. + + + + Reads a BSON JavaScript element from the reader. + + The reader. + The name of the element. + A string. + + + + Reads a BSON JavaScript with scope element from the reader (call ReadStartDocument next to read the scope). + + The reader. + The name of the element. + A string. + + + + Reads a BSON MaxKey element from the reader. + + The reader. + The name of the element. + + + + Reads a BSON MinKey element from the reader. + + The reader. + The name of the element. + + + + Reads the name of an element from the reader. + + The reader. + The name of the element. + + + + Reads the name of an element from the reader. + + The reader. + The name of the element. + + + + Reads a BSON null element from the reader. + + The reader. + The name of the element. + + + + Reads a BSON ObjectId element from the reader. + + The reader. + The name of the element. + An ObjectId. + + + + Reads a raw BSON array. + + The reader. + The name. + + The raw BSON array. + + + + + Reads a raw BSON document. + + The reader. + The name. + The raw BSON document. + + + + Reads a BSON regular expression element from the reader. + + The reader. + The name of the element. + A BsonRegularExpression. + + + + Reads a BSON string element from the reader. + + The reader. + The name of the element. + A String. + + + + Reads a BSON symbol element from the reader. + + The reader. + The name of the element. + A string. + + + + Reads a BSON timestamp element from the reader. + + The combined timestamp/increment. + The reader. + The name of the element. + + + + Reads a BSON undefined element from the reader. + + The reader. + The name of the element. + + + + Represents a BSON writer. + + + + + + Gets the position. + Not all writers are able to report the position. Those that can't simply return zero. + + + The position. + + + + + Gets the current serialization depth. + + + + + Gets the settings of the writer. + + + + + Gets the current state of the writer. + + + + + Closes the writer. + + + + + Flushes any pending data to the output destination. + + + + + Pops the element name validator. + + The popped element validator. + + + + Pops the settings. + + + + + Pushes the element name validator. + + The validator. + + + + Pushes new settings for the writer. + + The settings configurator. + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + Writes a BSON Decimal128 to the writer. + + The value. + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + Writes a Guid in Standard representation to the writer. + + The Guid value. + + + + Writes a Guid in the specified representation to the writer. + + The Guid value. + The GuidRepresentation. + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes the name of an element to the writer. + + The name of the element. + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a raw BSON array. + + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Contains extension methods for IBsonWriter. + + + + + Writes a BSON binary data element to the writer. + + The writer. + The name of the element. + The binary data. + + + + Writes a BSON Boolean element to the writer. + + The writer. + The name of the element. + The Boolean value. + + + + Writes a BSON binary data element to the writer. + + The writer. + The name of the element. + The bytes. + + + + Writes a BSON DateTime element to the writer. + + The writer. + The name of the element. + The number of milliseconds since the Unix epoch. + + + + Writes a BSON Decimal128 element to the writer. + + The writer. + The name of the element. + The value. + + + + Writes a BSON Double element to the writer. + + The writer. + The name of the element. + The Double value. + + + + Writes a BSON Int32 element to the writer. + + The writer. + The name of the element. + The Int32 value. + + + + Writes a BSON Int64 element to the writer. + + The writer. + The name of the element. + The Int64 value. + + + + Writes a BSON JavaScript element to the writer. + + The writer. + The name of the element. + The JavaScript code. + + + + Writes a BSON JavaScript element to the writer (call WriteStartDocument to start writing the scope). + + The writer. + The name of the element. + The JavaScript code. + + + + Writes a BSON MaxKey element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON MinKey element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON null element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON ObjectId element to the writer. + + The writer. + The name of the element. + The ObjectId. + + + + Writes a raw BSON array. + + The writer. + The name. + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The writer. + The name. + The byte buffer containing the raw BSON document. + + + + Writes a BSON regular expression element to the writer. + + The writer. + The name of the element. + A BsonRegularExpression. + + + + Writes the start of a BSON array element to the writer. + + The writer. + The name of the element. + + + + Writes the start of a BSON document element to the writer. + + The writer. + The name of the element. + + + + Writes a BSON String element to the writer. + + The writer. + The name of the element. + The String value. + + + + Writes a BSON Symbol element to the writer. + + The writer. + The name of the element. + The symbol. + + + + Writes a BSON timestamp element to the writer. + + The writer. + The name of the element. + The combined timestamp/increment value. + + + + Writes a BSON undefined element to the writer. + + The writer. + The name of the element. + + + + Represents a byte buffer (backed by various means depending on the implementation). + + + + + Gets the capacity. + + + The capacity. + + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + Gets or sets the length. + + + The length. + + + + + Access the backing bytes directly. The returned ArraySegment will point to the desired position and contain + as many bytes as possible up to the next chunk boundary (if any). If the returned ArraySegment does not + contain enough bytes for your needs you will have to call ReadBytes instead. + + The position. + + An ArraySegment pointing directly to the backing bytes for the position. + + + + + Clears the specified bytes. + + The position. + The count. + + + + Ensure that the buffer has a minimum capacity. Depending on the buffer allocation strategy + calling this method may result in a higher capacity than the minimum (but never lower). + + The minimum capacity. + + + + Gets a slice of this buffer. + + The position of the start of the slice. + The length of the slice. + A slice of this buffer. + + + + Makes this buffer read only. + + + + + Gets a byte. + + The position. + A byte. + + + + Gets bytes. + + The position. + The destination. + The destination offset. + The count. + + + + Sets a byte. + + The position. + The value. + + + + Sets bytes. + + The position. + The bytes. + The offset. + The count. + + + + Represents an element name validator. Used by BsonWriters when WriteName is called + to determine if the element name is valid. + + + + + Gets the validator to use for child content (a nested document or array). + + The name of the element. + The validator to use for child content. + + + + Determines whether the element name is valid. + + The name of the element. + True if the element name is valid. + + + + Represents a name decoder. + + + + + Decodes the name. + + The stream. + The encoding. + + The name. + + + + + Informs the decoder of an already decoded name (so the decoder can change state if necessary). + + The name. + + + + Represents a source of chunks optimized for input buffers. + + + + + Initializes a new instance of the class. + + The chunk source. + The maximum size of an unpooled chunk. + The minimum size of a chunk. + The maximum size of a chunk. + + + + Gets the base source. + + + The base source. + + + + + Gets the maximum size of a chunk. + + + The maximum size of a chunk. + + + + + Gets the minimum size of a chunk. + + + The minimum size of a chunk. + + + + + Gets the maximum size of an unpooled chunk. + + + The maximum size of an unpooled chunk. + + + + + + + + + + + Represents the effective CopyTo method. + + + + + Copy the current stream to the destination without making unnecessary copies of the bytes. + + The destination stream. + + + + Represents a wrapper around a TextReader to provide some buffering functionality. + + + + + Initializes a new instance of the class. + + The json. + + + + Initializes a new instance of the class. + + The reader. + + + + Gets or sets the current position. + + + + + Gets a snippet of a maximum length from the buffer (usually to include in an error message). + + The start. + The maximum length. + The snippet. + + + + Gets a substring from the buffer. + + The start. + The count. + The substring. + + + + Reads the next character from the text reader and advances the character position by one character. + + + The next character from the text reader, or -1 if no more characters are available. The default implementation returns -1. + + + + + Resets the buffer (clears everything up to the current position). + + + + + Unreads one character (moving the current Position back one position). + + The character. + + + + Encodes and decodes scalar values to JSON compatible strings. + + + + + Converts a string to a Boolean. + + The value. + A Boolean. + + + + Converts a string to a DateTime. + + The value. + A DateTime. + + + + Converts a string to a DateTimeOffset. + + The value. + A DateTimeOffset. + + + + Converts a string to a Decimal. + + The value. + A Decimal. + + + + Converts a string to a . + + The value. + A . + + + + Converts a string to a Double. + + The value. + A Double. + + + + Converts a string to an Int16. + + The value. + An Int16. + + + + Converts a string to an Int32. + + The value. + An Int32. + + + + Converts a string to an Int64. + + The value. + An Int64. + + + + Converts a string to a Single. + + The value. + A Single. + + + + Converts a Boolean to a string. + + The value. + A string. + + + + Converts a DateTime to a string. + + The value. + A string. + + + + Converts a DateTimeOffset to a string. + + The value. + A string. + + + + Converts a Decimal to a string. + + The value. + A string. + + + + Converts a to a string. + + The value. + A string. + + + + Converts a Double to a string. + + The value. + A string. + + + + Converts a Single to a string. + + The value. + A string. + + + + Converts an Int32 to a string. + + The value. + A string. + + + + Converts an Int64 to a string. + + The value. + A string. + + + + Converts an Int16 to a string. + + The value. + A string. + + + + Converts a UInt32 to a string. + + The value. + A string. + + + + Converts a UInt64 to a string. + + The value. + A string. + + + + Converts a UInt16 to a string. + + The value. + A string. + + + + Converts a string to a UInt16. + + The value. + A UInt16. + + + + Converts a string to a UInt32. + + The value. + A UInt32. + + + + Converts a string to a UInt64. + + The value. + A UInt64. + + + + Represents the output mode of a JsonWriter. + + + + + Use a format that can be pasted in to the MongoDB shell. + + + + + Output canonical extended JSON. + + + + + Output relaxed extended JSON. + + + + + Represents a BSON reader for a JSON string. + + + + + Initializes a new instance of the JsonReader class. + + The JSON string. + + + + Initializes a new instance of the JsonReader class. + + The JSON string. + The reader settings. + + + + Initializes a new instance of the JsonReader class. + + The TextReader. + + + + Initializes a new instance of the JsonReader class. + + The TextReader. + The reader settings. + + + + Closes the reader. + + + + + Gets a bookmark to the reader's current position and state. + + A bookmark. + + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + + + + + Reads BSON binary data from the reader. + + A BsonBinaryData. + + + + Reads a BSON boolean from the reader. + + A Boolean. + + + + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. + + A byte array. + + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. + + + + + + + Reads a BSON Double from the reader. + + A Double. + + + + Reads the end of a BSON array from the reader. + + + + + Reads the end of a BSON document from the reader. + + + + + + + + + + + Reads a BSON Int32 from the reader. + + An Int32. + + + + Reads a BSON Int64 from the reader. + + An Int64. + + + + Reads a BSON JavaScript from the reader. + + A string. + + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. + + + + Reads a BSON MaxKey from the reader. + + + + + Reads a BSON MinKey from the reader. + + + + + Reads the name of an element from the reader. + + The name decoder. + + The name of the element. + + + + + Reads a BSON null from the reader. + + + + + Reads a BSON ObjectId from the reader. + + An ObjectId. + + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. + + + + Reads the start of a BSON array. + + + + + Reads the start of a BSON document. + + + + + Reads a BSON string from the reader. + + A String. + + + + Reads a BSON symbol from the reader. + + A string. + + + + Reads a BSON timestamp from the reader. + + The combined timestamp/increment. + + + + Reads a BSON undefined from the reader. + + + + + Returns the reader to previously bookmarked position and state. + + The bookmark. + + + + Skips the name (reader must be positioned on a name). + + + + + Skips the value (reader must be positioned on a value). + + + + + Disposes of any resources used by the reader. + + True if called from Dispose. + + + + Represents a bookmark that can be used to return a reader to the current position and state. + + + + + Creates a clone of the context. + + A clone of the context. + + + + Represents settings for a JsonReader. + + + + + Initializes a new instance of the JsonReaderSettings class. + + + + + Gets or sets the default settings for a JsonReader. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + A static class that represents a JSON scanner. + + + + + Gets the next JsonToken from a JsonBuffer. + + The buffer. + The next token. + + + + Represents a JSON token type. + + + + + An invalid token. + + + + + A begin array token (a '['). + + + + + A begin object token (a '{'). + + + + + An end array token (a ']'). + + + + + A left parenthesis (a '('). + + + + + A right parenthesis (a ')'). + + + + + An end object token (a '}'). + + + + + A colon token (a ':'). + + + + + A comma token (a ','). + + + + + A DateTime token. + + + + + A Double token. + + + + + An Int32 token. + + + + + And Int64 token. + + + + + An ObjectId token. + + + + + A regular expression token. + + + + + A string token. + + + + + An unquoted string token. + + + + + An end of file token. + + + + + Represents a JSON token. + + + + + Initializes a new instance of the JsonToken class. + + The token type. + The lexeme. + + + + Gets the token type. + + + + + Gets the lexeme. + + + + + Gets the value of a DateTime token. + + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int64 token. + + + + + Gets a value indicating whether this token is number. + + + true if this token is number; otherwise, false. + + + + + Gets the value of an ObjectId token. + + + + + Gets the value of a regular expression token. + + + + + Gets the value of a string token. + + + + + Represents a DateTime JSON token. + + + + + Initializes a new instance of the DateTimeJsonToken class. + + The lexeme. + The DateTime value. + + + + Gets the value of a DateTime token. + + + + + Represents a Double JSON token. + + + + + Initializes a new instance of the DoubleJsonToken class. + + The lexeme. + The Double value. + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int64 token. + + + + + Gets a value indicating whether this token is number. + + + true if this token is number; otherwise, false. + + + + + Represents an Int32 JSON token. + + + + + Initializes a new instance of the Int32JsonToken class. + + The lexeme. + The Int32 value. + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int32 token as an Int64. + + + + + Gets a value indicating whether this token is number. + + + true if this token is number; otherwise, false. + + + + + Represents an Int64 JSON token. + + + + + Initializes a new instance of the Int64JsonToken class. + + The lexeme. + The Int64 value. + + + + Gets the value of a Double token. + + + + + Gets the value of an Int32 token. + + + + + Gets the value of an Int64 token. + + + + + Gets a value indicating whether this token is number. + + + true if this token is number; otherwise, false. + + + + + Represents an ObjectId JSON token. + + + + + Initializes a new instance of the ObjectIdJsonToken class. + + The lexeme. + The ObjectId value. + + + + Gets the value of an ObjectId token. + + + + + Represents a regular expression JSON token. + + + + + Initializes a new instance of the RegularExpressionJsonToken class. + + The lexeme. + The BsonRegularExpression value. + + + + Gets the value of a regular expression token. + + + + + Represents a String JSON token. + + + + + Initializes a new instance of the StringJsonToken class. + + The token type. + The lexeme. + The String value. + + + + Gets the value of an String token. + + + + + Represents a BSON writer to a TextWriter (in JSON format). + + + + + Initializes a new instance of the JsonWriter class. + + A TextWriter. + + + + Initializes a new instance of the JsonWriter class. + + A TextWriter. + Optional JsonWriter settings. + + + + Gets the base TextWriter. + + + The base TextWriter. + + + + + + + + Gets the settings of the writer. + + + + + Closes the writer. + + + + + Flushes any pending data to the output destination. + + + + + Writes BSON binary data to the writer. + + The binary data. + + + + Writes a BSON Boolean to the writer. + + The Boolean value. + + + + Writes BSON binary data to the writer. + + The bytes. + + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. + + + + + + + Writes a BSON Double to the writer. + + The Double value. + + + + Writes the end of a BSON array to the writer. + + + + + Writes the end of a BSON document to the writer. + + + + + + + + Writes a BSON Int32 to the writer. + + The Int32 value. + + + + Writes a BSON Int64 to the writer. + + The Int64 value. + + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. + + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. + + + + Writes a BSON MaxKey to the writer. + + + + + Writes a BSON MinKey to the writer. + + + + + Writes a BSON null to the writer. + + + + + Writes a BSON ObjectId to the writer. + + The ObjectId. + + + + Writes a BSON regular expression to the writer. + + A BsonRegularExpression. + + + + Writes the start of a BSON array to the writer. + + + + + Writes the start of a BSON document to the writer. + + + + + Writes a BSON String to the writer. + + The String value. + + + + Writes a BSON Symbol to the writer. + + The symbol. + + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + + + Writes a BSON undefined to the writer. + + + + + Disposes of any resources used by the writer. + + True if called from Dispose. + + + + Represents settings for a JsonWriter. + + + + + Initializes a new instance of the JsonWriterSettings class. + + + + + Gets or sets the default JsonWriterSettings. + + + + + Gets or sets whether to indent the output. + + + + + Gets or sets the indent characters. + + + + + Gets or sets the new line characters. + + + + + Gets or sets the output mode. + + + + + Gets or sets the shell version (used with OutputMode Shell). + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + An IByteBuffer that is backed by multiple chunks. + + + + + Initializes a new instance of the class. + + The chunk pool. + chunkPool + + + + Initializes a new instance of the class. + + The chunks. + The length. + Whether the buffer is read only. + chunks + + + + + + + Gets the chunk source. + + + The chunk source. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents an element name validator that does no validation. + + + + + Gets the instance. + + + The instance. + + + + + Gets the validator to use for child content (a nested document or array). + + The name of the element. + The validator to use for child content. + + + + Determines whether the element name is valid. + + The name of the element. + True if the element name is valid. + + + + Represents a source of chunks optimized for output buffers. + + + + + Initializes a new instance of the class. + + The chunk source. + The size of the initial unpooled chunk. + The minimum size of a chunk. + The maximum size of a chunk. + + + + Gets the base source. + + + The base source. + + + + + Gets the initial unpooled chunk size. + + + The initial unpooled chunk size. + + + + + Gets the maximum size of a chunk. + + + The maximum size of a chunk. + + + + + Gets the minimum size of a chunk. + + + The minimum size of a chunk. + + + + + + + + + + + An IByteBuffer that is backed by a single chunk. + + + + + Initializes a new instance of the class. + + The chuns. + The length. + Whether the buffer is read only. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a class that provides reusable buffer per thread. + Use this technique ONLY when: + 1. Buffer is not shared across multiple threads. + 2. No nested methods invocations use the same buffer. + Advised to limit the usage scope to a single method. + + + + + Represents a Trie-based name decoder that also provides a value. + + The type of the value. + + + + Initializes a new instance of the class. + + The trie. + + + + Gets a value indicating whether this is found. + + + true if found; otherwise, false. + + + + + Gets the value. + + + The value. + + + + + Reads the name. + + The stream. + The encoding. + + The name. + + + + + Informs the decoder of an already decoded name (so the decoder can change state if necessary). + + The name. + + + + Represents a singleton instance of a strict UTF8Encoding. + + + + + Gets the lenient instance. + + + + + Gets the strict instance. + + + + + Represents a class that has some helper methods for decoding UTF8 strings. + + + + + Decodes a UTF8 string. + + The bytes. + The index. + The count. + The encoding. + The decoded string. + + + + Represents a UTF8 name decoder. + + + + + Gets the instance. + + + The instance. + + + + + Decodes the name. + + The stream. + The encoding. + + The name. + + + + + Informs the decoder of an already decoded name (so the decoder can change state if necessary). + + The name. + + + + An abstract base class for an IBsonWriter that wraps another IBsonWriter. + + + + + + Initializes a new instance of the class. + + The wrapped writer. + + + + + + + + + + + + + + + + Gets the wrapped writer. + + + The wrapped writer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Throws if disposed. + + + + + + Represents a binary vector. + + + + + Initializes a new instance of the class. + + The vector data. + Type of the vector data. + + + + Gets the vector data type. + + + + + Gets the vector data. + + + + + Represents a vector of values. + + + + + Initializes a new instance of the class. + + + + + Represents a vector of values. + + + + + Initializes a new instance of the class. + + + + + Represents a vector of 0/1 values. + The vector values are packed into groups of 8 (a byte). + + + + + Initializes a new instance of the class. + + + + + Gets the bits padding. + + + + + Represents the data type of a binary Vector. + + + + + + Data type is float32. + + + + + Data type is int8. + + + + + Data type is packed bit. + + + + + Represents a BSON array. + + + + + Initializes a new instance of the BsonArray class. + + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + A list of values to add to the array. + + + + Initializes a new instance of the BsonArray class. + + The initial capacity of the array. + + + + Compares two BsonArray values. + + The first BsonArray. + The other BsonArray. + True if the two BsonArray values are not equal according to ==. + + + + Compares two BsonArray values. + + The first BsonArray. + The other BsonArray. + True if the two BsonArray values are equal according to ==. + + + + Gets the BsonType of this BsonValue. + + + + + Gets or sets the total number of elements the internal data structure can hold without resizing. + + + + + Gets the count of array elements. + + + + + Gets whether the array is read-only. + + + + + Gets the array elements. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Creates a new BsonArray. + + A value to be mapped to a BsonArray. + A BsonArray or null. + + + + Adds an element to the array. + + The value to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Creates a shallow clone of the array (see also DeepClone). + + A shallow clone of the array. + + + + Clears the array. + + + + + Compares the array to another array. + + The other array. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other. + + + + Compares the array to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other BsonValue. + + + + Tests whether the array contains a value. + + The value to test for. + True if the array contains the value. + + + + Copies elements from this array to another array. + + The other array. + The zero based index of the other array at which to start copying. + + + + Creates a deep clone of the array (see also Clone). + + A deep clone of the array. + + + + Compares this array to another array. + + The other array. + True if the two arrays are equal. + + + + Compares this BsonArray to another object. + + The other object. + True if the other object is a BsonArray and equal to this one. + + + + Gets an enumerator that can enumerate the elements of the array. + + An enumerator. + + + + Gets the hash code. + + The hash code. + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The number of elements to search. + The zero based index of the value (or -1 if not found). + + + + Inserts a new value into the array. + + The zero based index at which to insert the new value. + The new value. + + + + Removes the first occurrence of a value from the array. + + The value to remove. + True if the value was removed. + + + + Removes an element from the array. + + The zero based index of the element to remove. + + + + Converts the BsonArray to an array of BsonValues. + + An array of BsonValues. + + + + Converts the BsonArray to a list of BsonValues. + + A list of BsonValues. + + + + Returns a string representation of the array. + + A string representation of the array. + + + + Represents BSON binary data. + + + + + Initializes a new instance of the BsonBinaryData class. + + The binary data. + + + + Initializes a new instance of the BsonBinaryData class. + + The binary data. + The binary data subtype. + + + + Initializes a new instance of the BsonBinaryData class. + + A Guid. + The representation for Guids. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the binary data. + + + + + Gets the binary data subtype. + + + + + Converts a byte array to a BsonBinaryData. + + A byte array. + A BsonBinaryData. + + + + Compares two BsonBinaryData values. + + The first BsonBinaryData. + The other BsonBinaryData. + True if the two BsonBinaryData values are not equal according to ==. + + + + Compares two BsonBinaryData values. + + The first BsonBinaryData. + The other BsonBinaryData. + True if the two BsonBinaryData values are equal according to ==. + + + + Creates a new BsonBinaryData. + + An object to be mapped to a BsonBinaryData. + A BsonBinaryData or null. + + + + Compares this BsonBinaryData to another BsonBinaryData. + + The other BsonBinaryData. + A 32-bit signed integer that indicates whether this BsonBinaryData is less than, equal to, or greather than the other. + + + + Compares the BsonBinaryData to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonBinaryData is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonBinaryData to another BsonBinaryData. + + The other BsonBinaryData. + True if the two BsonBinaryData values are equal. + + + + Compares this BsonBinaryData to another object. + + The other object. + True if the other object is a BsonBinaryData and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonBinaryData to a Guid. + + A Guid. + + + + Converts this BsonBinaryData to a Guid. + + The representation for Guids. + A Guid. + + + + Returns a string representation of the binary data. + + A string representation of the binary data. + + + + Represents the binary data subtype of a BsonBinaryData. + + + + + Binary data. + + + + + A function. + + + + + Obsolete binary data subtype (use Binary instead). + + + + + A UUID in a driver dependent legacy byte order. + + + + + A UUID in standard network byte order. + + + + + An MD5 hash. + + + + + Encrypted binary data. + + + + + Column data. + + + + + Sensitive data. + + + + + Vector data. + + + + + User defined binary data. + + + + + Represents a BSON boolean value. + + + + + Initializes a new instance of the BsonBoolean class. + + The value. + + + + Gets the instance of BsonBoolean that represents false. + + + + + Gets the instance of BsonBoolean that represents true. + + + + + Gets the BsonType of this BsonValue. + + + + + Gets the value of this BsonBoolean. + + + + + Converts a bool to a BsonBoolean. + + A bool. + A BsonBoolean. + + + + Compares two BsonBoolean values. + + The first BsonBoolean. + The other BsonBoolean. + True if the two BsonBoolean values are not equal according to ==. + + + + Compares two BsonBoolean values. + + The first BsonBoolean. + The other BsonBoolean. + True if the two BsonBoolean values are equal according to ==. + + + + Returns one of the two possible BsonBoolean values. + + An object to be mapped to a BsonBoolean. + A BsonBoolean or null. + + + + Compares this BsonBoolean to another BsonBoolean. + + The other BsonBoolean. + A 32-bit signed integer that indicates whether this BsonBoolean is less than, equal to, or greather than the other. + + + + Compares the BsonBoolean to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonBoolean is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonBoolean to another BsonBoolean. + + The other BsonBoolean. + True if the two BsonBoolean values are equal. + + + + Compares this BsonBoolean to another object. + + The other object. + True if the other object is a BsonBoolean and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a BSON DateTime value. + + + + + Initializes a new instance of the BsonDateTime class. + + A DateTime. + + + + Initializes a new instance of the BsonDateTime class. + + Milliseconds since Unix Epoch. + + + + Gets the BsonType of this BsonValue. + + + + + Gets whether this BsonDateTime is a valid .NET DateTime. + + + + + Gets the number of milliseconds since the Unix Epoch. + + + + + Converts a DateTime to a BsonDateTime. + + A DateTime. + A BsonDateTime. + + + + Compares two BsonDateTime values. + + The first BsonDateTime. + The other BsonDateTime. + True if the two BsonDateTime values are not equal according to ==. + + + + Compares two BsonDateTime values. + + The first BsonDateTime. + The other BsonDateTime. + True if the two BsonDateTime values are equal according to ==. + + + + Creates a new BsonDateTime. + + An object to be mapped to a BsonDateTime. + A BsonDateTime or null. + + + + Compares this BsonDateTime to another BsonDateTime. + + The other BsonDateTime. + A 32-bit signed integer that indicates whether this BsonDateTime is less than, equal to, or greather than the other. + + + + Compares the BsonDateTime to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonDateTime is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonDateTime to another BsonDateTime. + + The other BsonDateTime. + True if the two BsonDateTime values are equal. + + + + Compares this BsonDateTime to another object. + + The other object. + True if the other object is a BsonDateTime and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a DateTime in local time. + + A DateTime. + + + + Converts this BsonValue to a DateTime? in local time. + + A DateTime?. + + + + Converts this BsonValue to a DateTime? in UTC. + + A DateTime?. + + + + Converts this BsonValue to a DateTime in UTC. + + A DateTime. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + + + + Represents a BSON Decimal128 value. + + + + + + Initializes a new instance of the class. + + The value. + + + + + + + Gets the value. + + + + + Converts a Decimal128 to a BsonDecimal128. + + A Decimal128. + A BsonDecimal128. + + + + Compares two BsonDecimal128 values. + + The first BsonDecimal128. + The other BsonDecimal128. + True if the two BsonDecimal128 values are not equal according to ==. + + + + Compares two BsonDecimal128 values. + + The first BsonDecimal128. + The other BsonDecimal128. + True if the two BsonDecimal128 values are equal according to ==. + + + + Creates a new instance of the BsonDecimal128 class. + + An object to be mapped to a BsonDecimal128. + A BsonDecimal128. + + + + Compares this BsonDecimal128 to another BsonDecimal128. + + The other BsonDecimal128. + A 32-bit signed integer that indicates whether this BsonDecimal128 is less than, equal to, or greather than the other. + + + + + + + Compares this BsonDecimal128 to another BsonDecimal128. + + The other BsonDecimal128. + True if the two BsonDecimal128 values are equal. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a BSON document. + + + + + Initializes a new instance of the BsonDocument class. + + + + + Initializes a new instance of the BsonDocument class specifying whether duplicate element names are allowed + (allowing duplicate element names is not recommended). + + Whether duplicate element names are allowed. + + + + Initializes a new instance of the BsonDocument class and adds one element. + + An element to add to the document. + + + + Initializes a new instance of the BsonDocument by coping elements from another BsonDocument. + + The document whose elements will be copied + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + + A dictionary to initialize the document from. + + + + Initializes a new instance of the BsonDocument class and adds new elements from a list of elements. + + A list of elements to add to the document. + + + + Initializes a new instance of the BsonDocument class and adds one or more elements. + + One or more elements to add to the document. + + + + Initializes a new instance of the BsonDocument class and creates and adds a new element. + + The name of the element to add to the document. + The value of the element to add to the document. + + + + Compares two BsonDocument values. + + The first BsonDocument. + The other BsonDocument. + True if the two BsonDocument values are not equal according to ==. + + + + Compares two BsonDocument values. + + The first BsonDocument. + The other BsonDocument. + True if the two BsonDocument values are equal according to ==. + + + + Gets or sets whether to allow duplicate names (allowing duplicate names is not recommended). + + + + + Gets the BsonType of this BsonValue. + + + + + Gets the number of elements. + + + + + Gets the elements. + + + + + Gets the element names. + + + + + Gets the values. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Gets or sets a value by name. + + The name. + The value. + + + + Creates a new BsonDocument by mapping an object to a BsonDocument. + + The object to be mapped to a BsonDocument. + A BsonDocument. + + + + Parses a JSON string and returns a BsonDocument. + + The JSON string. + A BsonDocument. + + + + Tries to parse a JSON string and returns a value indicating whether it succeeded or failed. + + The JSON string. + The result. + Whether it succeeded or failed. + + + + Adds an element to the document. + + The element to add. + The document (so method calls can be chained). + + + + Creates and adds an element to the document. + + The name of the element. + The value of the element. + The document (so method calls can be chained). + + + + Creates and adds an element to the document, but only if the condition is true. + + The name of the element. + The value of the element. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Creates and adds an element to the document, but only if the condition is true. + If the condition is false the value factory is not called at all. + + The name of the element. + A delegate called to compute the value of the element if condition is true. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Adds a list of elements to the document. + + The list of elements. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + The document (so method calls can be chained). + + + + Clears the document (removes all elements). + + + + + Creates a shallow clone of the document (see also DeepClone). + + A shallow clone of the document. + + + + Compares this document to another document. + + The other document. + A 32-bit signed integer that indicates whether this document is less than, equal to, or greater than the other. + + + + Compares the BsonDocument to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonDocument is less than, equal to, or greater than the other BsonValue. + + + + Tests whether the document contains an element with the specified name. + + The name of the element to look for. + True if the document contains an element with the specified name. + + + + Tests whether the document contains an element with the specified value. + + The value of the element to look for. + True if the document contains an element with the specified value. + + + + Creates a deep clone of the document (see also Clone). + + A deep clone of the document. + + + + Compares this document to another document. + + The other document. + True if the two documents are equal. + + + + Compares this BsonDocument to another object. + + The other object. + True if the other object is a BsonDocument and equal to this one. + + + + Gets an element of this document. + + The zero based index of the element. + The element. + + + + Gets an element of this document. + + The name of the element. + A BsonElement. + + + + Gets an enumerator that can be used to enumerate the elements of this document. + + An enumerator. + + + + Gets the hash code. + + The hash code. + + + + Gets the value of an element. + + The zero based index of the element. + The value of the element. + + + + Gets the value of an element. + + The name of the element. + The value of the element. + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value returned if the element is not found. + The value of the element or the default value if the element is not found. + + + + Gets the index of an element. + + The name of the element. + The index of the element, or -1 if the element is not found. + + + + Inserts a new element at a specified position. + + The position of the new element. + The element. + + + + Merges another document into this one. Existing elements are not overwritten. + + The other document. + The document (so method calls can be chained). + + + + Merges another document into this one, specifying whether existing elements are overwritten. + + The other document. + Whether to overwrite existing elements. + The document (so method calls can be chained). + + + + Removes an element from this document (if duplicate element names are allowed + then all elements with this name will be removed). + + The name of the element to remove. + + + + Removes an element from this document. + + The zero based index of the element to remove. + + + + Removes an element from this document. + + The element to remove. + + + + Sets the value of an element. + + The zero based index of the element whose value is to be set. + The new value. + The document (so method calls can be chained). + + + + Sets the value of an element (an element will be added if no element with this name is found). + + The name of the element whose value is to be set. + The new value. + The document (so method calls can be chained). + + + + Sets an element of the document (replacing the existing element at that position). + + The zero based index of the element to replace. + The new element. + The document. + + + + Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). + + The new element. + The document. + + + + Converts the BsonDocument to a Dictionary<string, object>. + + A dictionary. + + + + Converts the BsonDocument to a Hashtable. + + A hashtable. + + + + Returns a string representation of the document. + + A string representation of the document. + + + + Tries to get an element of this document. + + The name of the element. + The element. + True if an element with that name was found. + + + + Tries to get the value of an element of this document. + + The name of the element. + The value of the element. + True if an element with that name was found. + + + + Represents a BsonDocument wrapper. + + + + + Initializes a new instance of the class. + + The value. + + + + Initializes a new instance of the class. + + The value. + The serializer. + + + + Gets the serializer. + + + The serializer. + + + + + Gets the wrapped value. + + + + + Creates a new instance of the BsonDocumentWrapper class. + + The nominal type of the wrapped object. + The wrapped object. + A BsonDocumentWrapper. + + + + Creates a new instance of the BsonDocumentWrapper class. + + The nominal type of the wrapped object. + The wrapped object. + A BsonDocumentWrapper. + + + + Creates a list of new instances of the BsonDocumentWrapper class. + + The nominal type of the wrapped objects. + A list of wrapped objects. + A list of BsonDocumentWrappers. + + + + Creates a list of new instances of the BsonDocumentWrapper class. + + The nominal type of the wrapped object. + A list of wrapped objects. + A list of BsonDocumentWrappers. + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Materializes the BsonDocument. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Represents a BSON double value. + + + + + + Initializes a new instance of the BsonDouble class. + + The value. + + + + + + + Gets the value of this BsonDouble. + + + + + Converts a double to a BsonDouble. + + A double. + A BsonDouble. + + + + Compares two BsonDouble values. + + The first BsonDouble. + The other BsonDouble. + True if the two BsonDouble values are not equal according to ==. + + + + Compares two BsonDouble values. + + The first BsonDouble. + The other BsonDouble. + True if the two BsonDouble values are equal according to ==. + + + + Creates a new instance of the BsonDouble class. + + An object to be mapped to a BsonDouble. + A BsonDouble. + + + + Compares this BsonDouble to another BsonDouble. + + The other BsonDouble. + A 32-bit signed integer that indicates whether this BsonDouble is less than, equal to, or greather than the other. + + + + + + + Compares this BsonDouble to another BsonDouble. + + The other BsonDouble. + True if the two BsonDouble values are equal. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a BSON element. + + + + + Initializes a new instance of the BsonElement class. + + The name of the element. + The value of the element. + + + + Gets the name of the element. + + + + + Gets or sets the value of the element. + + + + + Compares two BsonElements. + + The first BsonElement. + The other BsonElement. + True if the two BsonElements are equal (or both null). + + + + Compares two BsonElements. + + The first BsonElement. + The other BsonElement. + True if the two BsonElements are not equal (or one is null and the other is not). + + + + Creates a shallow clone of the element (see also DeepClone). + + A shallow clone of the element. + + + + Creates a deep clone of the element (see also Clone). + + A deep clone of the element. + + + + Compares this BsonElement to another BsonElement. + + The other BsonElement. + A 32-bit signed integer that indicates whether this BsonElement is less than, equal to, or greather than the other. + + + + Compares this BsonElement to another BsonElement. + + The other BsonElement. + True if the two BsonElement values are equal. + + + + Compares this BsonElement to another object. + + The other object. + True if the other object is a BsonElement and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON int value. + + + + + Creates a new instance of the BsonInt32 class. + + The value. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the value of this BsonInt32. + + + + + Converts an int to a BsonInt32. + + An int. + A BsonInt32. + + + + Compares two BsonInt32 values. + + The first BsonInt32. + The other BsonInt32. + True if the two BsonInt32 values are not equal according to ==. + + + + Compares two BsonInt32 values. + + The first BsonInt32. + The other BsonInt32. + True if the two BsonInt32 values are equal according to ==. + + + + Creates a new BsonInt32. + + An object to be mapped to a BsonInt32. + A BsonInt32 or null. + + + + Compares this BsonInt32 to another BsonInt32. + + The other BsonInt32. + A 32-bit signed integer that indicates whether this BsonInt32 is less than, equal to, or greather than the other. + + + + Compares the BsonInt32 to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonInt32 is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonInt32 to another BsonInt32. + + The other BsonInt32. + True if the two BsonInt32 values are equal. + + + + Compares this BsonInt32 to another object. + + The other object. + True if the other object is a BsonInt32 and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + + + + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int32. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compares this BsonInt32 against another BsonValue. + + The other BsonValue. + True if this BsonInt32 and the other BsonValue are equal according to ==. + + + + Represents a BSON long value. + + + + + Initializes a new instance of the BsonInt64 class. + + The value. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the value of this BsonInt64. + + + + + Converts a long to a BsonInt64. + + A long. + A BsonInt64. + + + + Compares two BsonInt64 values. + + The first BsonInt64. + The other BsonInt64. + True if the two BsonInt64 values are not equal according to ==. + + + + Compares two BsonInt64 values. + + The first BsonInt64. + The other BsonInt64. + True if the two BsonInt64 values are equal according to ==. + + + + Creates a new BsonInt64. + + An object to be mapped to a BsonInt64. + A BsonInt64 or null. + + + + Compares this BsonInt64 to another BsonInt64. + + The other BsonInt64. + A 32-bit signed integer that indicates whether this BsonInt64 is less than, equal to, or greather than the other. + + + + Compares the BsonInt64 to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonInt64 is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonInt64 to another BsonInt64. + + The other BsonInt64. + True if the two BsonInt64 values are equal. + + + + Compares this BsonInt64 to another object. + + The other object. + True if the other object is a BsonInt64 and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + + + + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int32. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compares this BsonInt32 against another BsonValue. + + The other BsonValue. + True if this BsonInt64 and the other BsonValue are equal according to ==. + + + + Represents a BSON JavaScript value. + + + + + Initializes a new instance of the BsonJavaScript class. + + The JavaScript code. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the JavaScript code. + + + + + Compares two BsonJavaScript values. + + The first BsonJavaScript. + The other BsonJavaScript. + True if the two BsonJavaScript values are not equal according to ==. + + + + Compares two BsonJavaScript values. + + The first BsonJavaScript. + The other BsonJavaScript. + True if the two BsonJavaScript values are equal according to ==. + + + + Converts a string to a BsonJavaScript. + + A string. + A BsonJavaScript. + + + + Creates a new BsonJavaScript. + + An object to be mapped to a BsonJavaScript. + A BsonJavaScript or null. + + + + Compares this BsonJavaScript to another BsonJavaScript. + + The other BsonJavaScript. + A 32-bit signed integer that indicates whether this BsonJavaScript is less than, equal to, or greather than the other. + + + + Compares the BsonJavaScript to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonJavaScript is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonJavaScript to another BsonJavaScript. + + The other BsonJavaScript. + True if the two BsonJavaScript values are equal. + + + + Compares this BsonJavaScript to another object. + + The other object. + True if the other object is a BsonJavaScript and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON JavaScript value with a scope. + + + + + Initializes a new instance of the BsonJavaScriptWithScope class. + + The JavaScript code. + A scope (a set of variables with values). + + + + Compares two BsonJavaScriptWithScope values. + + The first BsonJavaScriptWithScope. + The other BsonJavaScriptWithScope. + True if the two BsonJavaScriptWithScope values are not equal according to ==. + + + + Compares two BsonJavaScriptWithScope values. + + The first BsonJavaScriptWithScope. + The other BsonJavaScriptWithScope. + True if the two BsonJavaScriptWithScope values are equal according to ==. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the scope (a set of variables with values). + + + + + Creates a new BsonJavaScriptWithScope. + + An object to be mapped to a BsonJavaScriptWithScope. + A BsonJavaScriptWithScope or null. + + + + Creates a shallow clone of the BsonJavaScriptWithScope (see also DeepClone). + + A shallow clone of the BsonJavaScriptWithScope. + + + + Creates a deep clone of the BsonJavaScriptWithScope (see also Clone). + + A deep clone of the BsonJavaScriptWithScope. + + + + Compares this BsonJavaScriptWithScope to another BsonJavaScriptWithScope. + + The other BsonJavaScriptWithScope. + A 32-bit signed integer that indicates whether this BsonJavaScriptWithScope is less than, equal to, or greather than the other. + + + + Compares the BsonJavaScriptWithScope to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonJavaScriptWithScope is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonJavaScriptWithScope to another BsonJavaScriptWithScope. + + The other BsonJavaScriptWithScope. + True if the two BsonJavaScriptWithScope values are equal. + + + + Compares this BsonJavaScriptWithScope to another object. + + The other object. + True if the other object is a BsonJavaScriptWithScope and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the BSON MaxKey value. + + + + + Compares two BsonMaxKey values. + + The first BsonMaxKey. + The other BsonMaxKey. + True if the two BsonMaxKey values are not equal according to ==. + + + + Compares two BsonMaxKey values. + + The first BsonMaxKey. + The other BsonMaxKey. + True if the two BsonMaxKey values are equal according to ==. + + + + Gets the singleton instance of BsonMaxKey. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonMaxKey to another BsonMaxKey. + + The other BsonMaxKey. + A 32-bit signed integer that indicates whether this BsonMaxKey is less than, equal to, or greather than the other. + + + + Compares the BsonMaxKey to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonMaxKey is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonMaxKey to another BsonMaxKey. + + The other BsonMaxKey. + True if the two BsonMaxKey values are equal. + + + + Compares this BsonMaxKey to another object. + + The other object. + True if the other object is a BsonMaxKey and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the BSON MinKey value. + + + + + Compares two BsonMinKey values. + + The first BsonMinKey. + The other BsonMinKey. + True if the two BsonMinKey values are not equal according to ==. + + + + Compares two BsonMinKey values. + + The first BsonMinKey. + The other BsonMinKey. + True if the two BsonMinKey values are equal according to ==. + + + + Gets the singleton instance of BsonMinKey. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonMinKey to another BsonMinKey. + + The other BsonMinKey. + A 32-bit signed integer that indicates whether this BsonMinKey is less than, equal to, or greather than the other. + + + + Compares the BsonMinKey to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonMinKey is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonMinKey to another BsonMinKey. + + The other BsonMinKey. + True if the two BsonMinKey values are equal. + + + + Compares this BsonMinKey to another object. + + The other object. + True if the other object is a BsonMinKey and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the BSON Null value. + + + + + Compares two BsonNull values. + + The first BsonNull. + The other BsonNull. + True if the two BsonNull values are not equal according to ==. + + + + Compares two BsonNull values. + + The first BsonNull. + The other BsonNull. + True if the two BsonNull values are equal according to ==. + + + + Gets the singleton instance of BsonNull. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonNull to another BsonNull. + + The other BsonNull. + A 32-bit signed integer that indicates whether this BsonNull is less than, equal to, or greather than the other. + + + + Compares the BsonNull to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonNull is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonNull to another BsonNull. + + The other BsonNull. + True if the two BsonNull values are equal. + + + + Compares this BsonNull to another object. + + The other object. + True if the other object is a BsonNull and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a DateTime? in local time. + + A DateTime?. + + + + Converts this BsonValue to a DateTime? in UTC. + + A DateTime?. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON ObjectId value (see also ObjectId). + + + + + Initializes a new instance of the BsonObjectId class. + + The value. + + + + Gets an instance of BsonObjectId where the value is empty. + + + + + Gets the BsonType of this BsonValue. + + + + + Gets the value of this BsonObjectId. + + + + + Converts an ObjectId to a BsonObjectId. + + An ObjectId. + A BsonObjectId. + + + + Compares two BsonObjectId values. + + The first BsonObjectId. + The other BsonObjectId. + True if the two BsonObjectId values are not equal according to ==. + + + + Compares two BsonObjectId values. + + The first BsonObjectId. + The other BsonObjectId. + True if the two BsonObjectId values are equal according to ==. + + + + Creates a new BsonObjectId. + + An object to be mapped to a BsonObjectId. + A BsonObjectId or null. + + + + Compares this BsonObjectId to another BsonObjectId. + + The other BsonObjectId. + A 32-bit signed integer that indicates whether this BsonObjectId is less than, equal to, or greather than the other. + + + + Compares the BsonObjectId to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonObjectId is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonObjectId to another BsonObjectId. + + The other BsonObjectId. + True if the two BsonObjectId values are equal. + + + + Compares this BsonObjectId to another object. + + The other object. + True if the other object is a BsonObjectId and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + Represents a BSON regular expression value. + + + + + Initializes a new instance of the BsonRegularExpression class. + + A regular expression pattern. + + + + Initializes a new instance of the BsonRegularExpression class. + + A regular expression pattern. + Regular expression options. + + + + Initializes a new instance of the BsonRegularExpression class. + + A Regex. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the regular expression pattern. + + + + + Gets the regular expression options. + + + + + Converts a Regex to a BsonRegularExpression. + + A Regex. + A BsonRegularExpression. + + + + Converts a string to a BsonRegularExpression. + + A string. + A BsonRegularExpression. + + + + Compares two BsonRegularExpression values. + + The first BsonRegularExpression. + The other BsonRegularExpression. + True if the two BsonRegularExpression values are not equal according to ==. + + + + Compares two BsonRegularExpression values. + + The first BsonRegularExpression. + The other BsonRegularExpression. + True if the two BsonRegularExpression values are equal according to ==. + + + + Creates a new BsonRegularExpression. + + An object to be mapped to a BsonRegularExpression. + A BsonRegularExpression or null. + + + + Compares this BsonRegularExpression to another BsonRegularExpression. + + The other BsonRegularExpression. + A 32-bit signed integer that indicates whether this BsonRegularExpression is less than, equal to, or greather than the other. + + + + Compares the BsonRegularExpression to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonRegularExpression is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonRegularExpression to another BsonRegularExpression. + + The other BsonRegularExpression. + True if the two BsonRegularExpression values are equal. + + + + Compares this BsonRegularExpression to another object. + + The other object. + True if the other object is a BsonRegularExpression and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts the BsonRegularExpression to a Regex. + + A Regex. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON string value. + + + + + Initializes a new instance of the BsonString class. + + The value. + + + + Gets an instance of BsonString that represents an empty string. + + + + + Gets the BsonType of this BsonValue. + + + + + Gets the value of this BsonString. + + + + + Converts a string to a BsonString. + + A string. + A BsonString. + + + + Compares two BsonString values. + + The first BsonString. + The other BsonString. + True if the two BsonString values are not equal according to ==. + + + + Compares two BsonString values. + + The first BsonString. + The other BsonString. + True if the two BsonString values are equal according to ==. + + + + Creates a new BsonString. + + An object to be mapped to a BsonString. + A BsonString or null. + + + + Compares this BsonString to another BsonString. + + The other BsonString. + A 32-bit signed integer that indicates whether this BsonString is less than, equal to, or greather than the other. + + + + Compares the BsonString to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonString is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonString to another BsonString. + + The other BsonString. + True if the two BsonString values are equal. + + + + Compares this BsonString to another object. + + The other object. + True if the other object is a BsonString and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + + + + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int32. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a BSON symbol value. + + + + + Gets the BsonType of this BsonValue. + + + + + Gets the name of the symbol. + + + + + Converts a string to a BsonSymbol. + + A string. + A BsonSymbol. + + + + Compares two BsonSymbol values. + + The first BsonSymbol. + The other BsonSymbol. + True if the two BsonSymbol values are not equal according to ==. + + + + Compares two BsonSymbol values. + + The first BsonSymbol. + The other BsonSymbol. + True if the two BsonSymbol values are equal according to ==. + + + + Creates a new BsonSymbol. + + An object to be mapped to a BsonSymbol. + A BsonSymbol or null. + + + + Compares this BsonSymbol to another BsonSymbol. + + The other BsonSymbol. + A 32-bit signed integer that indicates whether this BsonSymbol is less than, equal to, or greather than the other. + + + + Compares the BsonSymbol to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonSymbol is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonSymbol to another BsonSymbol. + + The other BsonSymbol. + True if the two BsonSymbol values are equal. + + + + Compares this BsonSymbol to another object. + + The other object. + True if the other object is a BsonSymbol and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the symbol table of BsonSymbols. + + + + + Looks up a symbol (and creates a new one if necessary). + + The name of the symbol. + The symbol. + + + + Represents a BSON timestamp value. + + + + + Initializes a new instance of the BsonTimestamp class. + + The combined timestamp/increment value. + + + + Initializes a new instance of the BsonTimestamp class. + + The timestamp. + The increment. + + + + Compares two BsonTimestamp values. + + The first BsonTimestamp. + The other BsonTimestamp. + True if the two BsonTimestamp values are not equal according to ==. + + + + Compares two BsonTimestamp values. + + The first BsonTimestamp. + The other BsonTimestamp. + True if the two BsonTimestamp values are equal according to ==. + + + + Gets the BsonType of this BsonValue. + + + + + Gets the value of this BsonTimestamp. + + + + + Gets the increment. + + + + + Gets the timestamp. + + + + + Creates a new BsonTimestamp. + + An object to be mapped to a BsonTimestamp. + A BsonTimestamp or null. + + + + Compares this BsonTimestamp to another BsonTimestamp. + + The other BsonTimestamp. + A 32-bit signed integer that indicates whether this BsonTimestamp is less than, equal to, or greather than the other. + + + + Compares the BsonTimestamp to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonTimestamp is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonTimestamp to another BsonTimestamp. + + The other BsonTimestamp. + True if the two BsonTimestamp values are equal. + + + + Compares this BsonTimestamp to another object. + + The other object. + True if the other object is a BsonTimestamp and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents the type of a BSON element. + + + + + Not a real BSON type. Used to signal the end of a document. + + + + + A BSON double. + + + + + A BSON string. + + + + + A BSON document. + + + + + A BSON array. + + + + + BSON binary data. + + + + + A BSON undefined value. + + + + + A BSON ObjectId. + + + + + A BSON bool. + + + + + A BSON DateTime. + + + + + A BSON null value. + + + + + A BSON regular expression. + + + + + BSON JavaScript code. + + + + + A BSON symbol. + + + + + BSON JavaScript code with a scope (a set of variables with values). + + + + + A BSON 32-bit integer. + + + + + A BSON timestamp. + + + + + A BSON 64-bit integer. + + + + + A BSON 128-bit decimal. + + + + + A BSON MinKey value. + + + + + A BSON MaxKey value. + + + + + A static class containing extension methods for . + + + + + Maps a to its corresponding server string representation. + + The input type to map. + + + + A static class that maps between .NET objects and BsonValues. + + + + + Maps an object to an instance of the closest BsonValue class. + + An object. + A BsonValue. + + + + Maps an object to a specific BsonValue type. + + An object. + The BsonType to map to. + A BsonValue of the desired type (or BsonNull.Value if value is null and bsonType is Null). + + + + Maps a BsonValue to a .NET value using the default BsonTypeMapperOptions. + + The BsonValue. + The mapped .NET value. + + + + Maps a BsonValue to a .NET value. + + The BsonValue. + The BsonTypeMapperOptions. + The mapped .NET value. + + + + Registers a custom type mapper. + + The type. + A custom type mapper. + + + + Tries to map an object to an instance of the closest BsonValue class. + + An object. + The BsonValue. + True if the mapping was successfull. + + + + Compares this Mapping to another object. + + The other object. + True if the other object is a Mapping and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Represents how duplicate names should be handled. + + + + + Overwrite original value with new value. + + + + + Ignore duplicate name and keep original value. + + + + + Throw an exception. + + + + + Represents options used by the BsonTypeMapper. + + + + + Initializes a new instance of the BsonTypeMapperOptions class. + + + + + Gets or sets the default BsonTypeMapperOptions. + + + + + Gets or sets how duplicate names should be handled. + + + + + Gets whether the BsonTypeMapperOptions is frozen. + + + + + Gets or sets the type that a BsonArray should be mapped to. + + + + + Gets or sets the type that a BsonDocument should be mapped to. + + + + + Gets or sets whether binary sub type OldBinary should be mapped to byte[] the way sub type Binary is. + + + + + Clones the BsonTypeMapperOptions. + + The cloned BsonTypeMapperOptions. + + + + Freezes the BsonTypeMapperOptions. + + The frozen BsonTypeMapperOptions. + + + + Represents the BSON undefined value. + + + + + Compares two BsonUndefined values. + + The first BsonUndefined. + The other BsonUndefined. + True if the two BsonUndefined values are not equal according to ==. + + + + Compares two BsonUndefined values. + + The first BsonUndefined. + The other BsonUndefined. + True if the two BsonUndefined values are equal according to ==. + + + + Gets the singleton instance of BsonUndefined. + + + + + Gets the BsonType of this BsonValue. + + + + + Compares this BsonUndefined to another BsonUndefined. + + The other BsonUndefined. + A 32-bit signed integer that indicates whether this BsonUndefined is less than, equal to, or greather than the other. + + + + Compares the BsonUndefined to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonUndefined is less than, equal to, or greather than the other BsonValue. + + + + Compares this BsonUndefined to another BsonUndefined. + + The other BsonUndefined. + True if the two BsonUndefined values are equal. + + + + Compares this BsonUndefined to another object. + + The other object. + True if the other object is a BsonUndefined and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a BSON value (this is an abstract class, see the various subclasses). + + + + + Casts the BsonValue to a Boolean (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonArray (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonBinaryData (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonDateTime (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonDocument (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonJavaScript (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonJavaScriptWithScope (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonMaxKey (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonMinKey (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonNull (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonRegularExpression (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonSymbol (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonTimestamp (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonUndefined (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a BsonValue (a way of upcasting subclasses of BsonValue to BsonValue at compile time). + + + + + Casts the BsonValue to a Byte[] (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Double (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Guid (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to an Int32 (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Int64 (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a DateTime in the local timezone (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Boolean} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Decimal} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Decimal128} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Double} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Guid} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Int32} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{Int64} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{DateTime} in the local timezone (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{ObjectId} (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Nullable{DateTime} in UTC (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to an ObjectId (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a Regex (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a String (throws an InvalidCastException if the cast is not valid). + + + + + Casts the BsonValue to a DateTime in UTC (throws an InvalidCastException if the cast is not valid). + + + + + Gets the BsonType of this BsonValue. + + + + + Tests whether this BsonValue is a Boolean. + + + + + Tests whether this BsonValue is a BsonArray. + + + + + Tests whether this BsonValue is a BsonBinaryData. + + + + + Tests whether this BsonValue is a BsonDateTime. + + + + + Tests whether this BsonValue is a BsonDocument. + + + + + Tests whether this BsonValue is a BsonJavaScript. + + + + + Tests whether this BsonValue is a BsonJavaScriptWithScope. + + + + + Tests whether this BsonValue is a BsonMaxKey. + + + + + Tests whether this BsonValue is a BsonMinKey. + + + + + Tests whether this BsonValue is a BsonNull. + + + + + Tests whether this BsonValue is a BsonRegularExpression. + + + + + Tests whether this BsonValue is a BsonSymbol . + + + + + Tests whether this BsonValue is a BsonTimestamp. + + + + + Tests whether this BsonValue is a BsonUndefined. + + + + + Tests whether this BsonValue is a Decimal128. + + + + + Tests whether this BsonValue is a Double. + + + + + Tests whether this BsonValue is a Guid. + + + + + Tests whether this BsonValue is an Int32. + + + + + Tests whether this BsonValue is an Int64. + + + + + Tests whether this BsonValue is a numeric value. + + + + + Tests whether this BsonValue is an ObjectId . + + + + + Tests whether this BsonValue is a String. + + + + + Tests whether this BsonValue is a valid DateTime. + + + + + Casts a BsonValue to a bool. + + The BsonValue. + A bool. + + + + Casts a BsonValue to a bool?. + + The BsonValue. + A bool?. + + + + Converts a bool to a BsonValue. + + A bool. + A BsonValue. + + + + Converts a bool? to a BsonValue. + + A bool?. + A BsonValue. + + + + Converts a byte[] to a BsonValue. + + A byte[]. + A BsonValue. + + + + Converts a DateTime to a BsonValue. + + A DateTime. + A BsonValue. + + + + Converts a DateTime? to a BsonValue. + + A DateTime?. + A BsonValue. + + + + Converts a decimal to a BsonValue. + + A decimal. + A BsonValue. + + + + Converts a decimal? to a BsonValue. + + A decimal?. + A BsonValue. + + + + Converts a to a BsonValue. + + A Decimal128. + A BsonValue. + + + + Converts a nullable to a BsonValue. + + A Decimal128?. + A BsonValue. + + + + Converts a double to a BsonValue. + + A double. + A BsonValue. + + + + Converts a double? to a BsonValue. + + A double?. + A BsonValue. + + + + Converts an Enum to a BsonValue. + + An Enum. + A BsonValue. + + + + Converts an int to a BsonValue. + + An int. + A BsonValue. + + + + Converts an int? to a BsonValue. + + An int?. + A BsonValue. + + + + Converts a long to a BsonValue. + + A long. + A BsonValue. + + + + Converts a long? to a BsonValue. + + A long?. + A BsonValue. + + + + Converts an ObjectId to a BsonValue. + + An ObjectId. + A BsonValue. + + + + Converts an ObjectId? to a BsonValue. + + An ObjectId?. + A BsonValue. + + + + Converts a Regex to a BsonValue. + + A Regex. + A BsonValue. + + + + Converts a string to a BsonValue. + + A string. + A BsonValue. + + + + Casts a BsonValue to a byte[]. + + The BsonValue. + A byte[]. + + + + Casts a BsonValue to a DateTime. + + The BsonValue. + A DateTime. + + + + Casts a BsonValue to a DateTime?. + + The BsonValue. + A DateTime?. + + + + Casts a BsonValue to a decimal. + + The BsonValue. + A decimal. + + + + Casts a BsonValue to a decimal?. + + The BsonValue. + A decimal?. + + + + Casts a BsonValue to a . + + The BsonValue. + A . + + + + Casts a BsonValue to a nullable ?. + + The BsonValue. + A nullable . + + + + Casts a BsonValue to a double. + + The BsonValue. + A double. + + + + Casts a BsonValue to a double?. + + The BsonValue. + A double?. + + + + Casts a BsonValue to a Guid. + + The BsonValue. + A Guid. + + + + Casts a BsonValue to a Guid?. + + The BsonValue. + A Guid?. + + + + Casts a BsonValue to an int. + + The BsonValue. + An int. + + + + Casts a BsonValue to an int?. + + The BsonValue. + An int?. + + + + Casts a BsonValue to a long. + + The BsonValue. + A long. + + + + Casts a BsonValue to a long?. + + The BsonValue. + A long?. + + + + Casts a BsonValue to an ObjectId. + + The BsonValue. + An ObjectId. + + + + Casts a BsonValue to an ObjectId?. + + The BsonValue. + An ObjectId?. + + + + Casts a BsonValue to a Regex. + + The BsonValue. + A Regex. + + + + Casts a BsonValue to a string. + + The BsonValue. + A string. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is less than the other one. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is less than or equal to the other one. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the two BsonValues are not equal according to ==. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the two BsonValues are equal according to ==. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is greater than the other one. + + + + Compares two BsonValues. + + The first BsonValue. + The other BsonValue. + True if the first BsonValue is greater than or equal to the other one. + + + + Gets or sets a value by position (only applies to BsonDocument and BsonArray). + + The position. + The value. + + + + Gets or sets a value by name (only applies to BsonDocument). + + The name. + The value. + + + + Creates a new instance of the BsonValue class. + + A value to be mapped to a BsonValue. + A BsonValue. + + + + Creates a shallow clone of the BsonValue (see also DeepClone). + + A shallow clone of the BsonValue. + + + + Compares this BsonValue to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonValue is less than, equal to, or greather than the other BsonValue. + + + + Compares the type of this BsonValue to the type of another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether the type of this BsonValue is less than, equal to, or greather than the type of the other BsonValue. + + + + Creates a deep clone of the BsonValue (see also Clone). + + A deep clone of the BsonValue. + + + + Compares this BsonValue to another BsonValue. + + The other BsonValue. + True if the two BsonValue values are equal. + + + + Compares this BsonValue to another object. + + The other object. + True if the other object is a BsonValue and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + + A Boolean. + + + + Converts this BsonValue to a Decimal. + + A Decimal. + + + + Converts this BsonValue to a Decimal128. + + A Decimal128. + + + + Converts this BsonValue to a Double. + + A Double. + + + + Converts this BsonValue to an Int32. + + An Int32. + + + + Converts this BsonValue to an Int64. + + An Int64. + + + + Converts this BsonValue to a DateTime in local time. + + A DateTime. + + + + Converts this BsonValue to a DateTime? in local time. + + A DateTime?. + + + + Converts this BsonValue to a DateTime? in UTC. + + A DateTime?. + + + + Converts this BsonValue to a DateTime in UTC. + + A DateTime. + + + + Implementation of the IConvertible GetTypeCode method. + + The TypeCode. + + + + Implementation of the IConvertible ToBoolean method. + + The format provider. + A bool. + + + + Implementation of the IConvertible ToByte method. + + The format provider. + A byte. + + + + Implementation of the IConvertible ToChar method. + + The format provider. + A char. + + + + Implementation of the IConvertible ToDateTime method. + + The format provider. + A DateTime. + + + + Implementation of the IConvertible ToDecimal method. + + The format provider. + A decimal. + + + + Implementation of the IConvertible ToDouble method. + + The format provider. + A double. + + + + Implementation of the IConvertible ToInt16 method. + + The format provider. + A short. + + + + Implementation of the IConvertible ToInt32 method. + + The format provider. + An int. + + + + Implementation of the IConvertible ToInt64 method. + + The format provider. + A long. + + + + Implementation of the IConvertible ToSByte method. + + The format provider. + An sbyte. + + + + Implementation of the IConvertible ToSingle method. + + The format provider. + A float. + + + + Implementation of the IConvertible ToString method. + + The format provider. + A string. + + + + Implementation of the IConvertible ToUInt16 method. + + The format provider. + A ushort. + + + + Implementation of the IConvertible ToUInt32 method. + + The format provider. + A uint. + + + + Implementation of the IConvertible ToUInt64 method. + + The format provider. + A ulong. + + + + Implementation of operator ==. + + The other BsonValue. + True if the two BsonValues are equal according to ==. + + + + Represents a Decimal128 value. + + + + + Gets the maximum value. + + + + + Gets the minimum value. + + + + + Represents negative infinity. + + + + + Represents one. + + + + + Represents positive infinity. + + + + + Represents a value that is not a number. + + + + + Represents a value that is not a number and raises errors when used in calculations. + + + + + Represents zero. + + + + + Implements the operator ==. + + The LHS. + The RHS. + + The result of the operator. + + + + + Implements the operator !=. + + The LHS. + The RHS. + + The result of the operator. + + + + + Returns a value indicating whether a specified Decimal128 is greater than another specified Decimal128. + + The first value. + The second value. + + true if x > y; otherwise, false. + + + + + Returns a value indicating whether a specified Decimal128 is greater than or equal to another another specified Decimal128. + + The first value. + The second value. + + true if x >= y; otherwise, false. + + + + + Returns a value indicating whether a specified Decimal128 is less than another specified Decimal128. + + The first value. + The second value. + + true if x < y; otherwise, false. + + + + + Returns a value indicating whether a specified Decimal128 is less than or equal to another another specified Decimal128. + + The first value. + The second value. + + true if x <= y; otherwise, false. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Performs an explicit conversion from to . + + The value to convert. + + The result of the conversion. + + + + + Compares two specified Decimal128 values and returns an integer that indicates whether the first value + is greater than, less than, or equal to the second value. + + The first value. + The second value. + Less than zero if x < y, zero if x == y, and greater than zero if x > y. + + + + Determines whether the specified Decimal128 instances are considered equal. + + The first Decimal128 object to compare. + The second Decimal128 object to compare. + True if the objects are considered equal; otherwise false. If both x and y are null, the method returns true. + + + + Creates a new Decimal128 value from its components. + + if set to true [is negative]. + The exponent. + The signficand high bits. + The significand low bits. + A Decimal128 value. + + + + Creates a new Decimal128 value from the IEEE encoding bits. + + The high bits. + The low bits. + A Decimal128 value. + + + + Gets the exponent of a Decimal128 value. + + The Decimal128 value. + The exponent. + + + + Gets the high bits of the significand of a Decimal128 value. + + The Decimal128 value. + The high bits of the significand. + + + + Gets the high bits of the significand of a Decimal128 value. + + The Decimal128 value. + The high bits of the significand. + + + + Returns a value indicating whether the specified number evaluates to negative or positive infinity. + + A 128-bit decimal. + true if evaluates to negative or positive infinity; otherwise, false. + + + + Returns a value indicating whether the specified number is not a number. + + A 128-bit decimal. + true if is not a number; otherwise, false. + + + + Returns a value indicating whether the specified number is negative. + + A 128-bit decimal. + true if is negative; otherwise, false. + + + + Returns a value indicating whether the specified number evaluates to negative infinity. + + A 128-bit decimal. + true if evaluates to negative infinity; otherwise, false. + + + + Returns a value indicating whether the specified number evaluates to positive infinity. + + A 128-bit decimal. + true if evaluates to positive infinity; otherwise, false. + + + + Returns a value indicating whether the specified number is a quiet not a number. + + A 128-bit decimal. + true if is a quiet not a number; otherwise, false. + + + + Returns a value indicating whether the specified number is a signaled not a number. + + A 128-bit decimal. + true if is a signaled not a number; otherwise, false. + + + + Returns a value indicating whether the specified number is zero. + + A 128-bit decimal. + + true if the specified number is zero; otherwise, false. + + + + + Negates the specified x. + + The x. + The result of multiplying the value by negative one. + + + + Converts the string representation of a number to its equivalent. + + The string representation of the number to convert. + + The equivalent to the number contained in . + + + + + Converts the value of the specified to the equivalent 8-bit unsigned integer. + + The number to convert. + A 8-bit unsigned integer equivalent to . + + + + Converts the value of the specified to the equivalent . + + The number to convert. + A equivalent to . + + + + Converts the value of the specified to the equivalent . + + The number to convert. + A equivalent to . + + + + Converts the value of the specified to the equivalent 16-bit signed integer. + + The number to convert. + A 16-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent 32-bit signed integer. + + The number to convert. + A 32-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent 64-bit signed integer. + + The number to convert. + A 64-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent 8-bit signed integer. + + The number to convert. + A 8-bit signed integer equivalent to . + + + + Converts the value of the specified to the equivalent . + + The number to convert. + A equivalent to . + + + + Converts the value of the specified to the equivalent 16-bit unsigned integer. + + The number to convert. + A 16-bit unsigned integer equivalent to . + + + + Converts the value of the specified to the equivalent 32-bit unsigned integer. + + The number to convert. + A 32-bit unsigned integer equivalent to . + + + + Converts the value of the specified to the equivalent 64-bit unsigned integer. + + The number to convert. + A 64-bit unsigned integer equivalent to . + + + + Converts the string representation of a number to its equivalent. A return value indicates whether the conversion succeeded or failed. + + The string representation of the number to convert. + When this method returns, contains the number that is equivalent to the numeric value contained in , if the conversion succeeded, or is zero if the conversion failed. The conversion fails if the parameter is null, is not a number in a valid format, or represents a number less than the min value or greater than the max value. This parameter is passed uninitialized. + + true if was converted successfully; otherwise, false. + + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + + + + + + + + + + + + + Gets the high order 64 bits of the binary representation of this instance. + + The high order 64 bits of the binary representation of this instance. + + + + Gets the low order 64 bits of the binary representation of this instance. + + The low order 64 bits of the binary representation of this instance. + + + + + + + A static class containing methods to convert to and from Guids and byte arrays in various byte orders. + + + + + Converts a byte array to a Guid. + + The byte array. + The representation of the Guid in the byte array. + A Guid. + + + + Gets the sub type that corresponds to the guidRepresentation. + + The Guid representation. + The sub type. + + + + Converts a Guid to a byte array. + + The Guid. + The representation of the Guid in the byte array. + A byte array. + + + + Represents the representation to use when converting a Guid to a BSON binary value. + + + + + The representation for Guids is unspecified, so conversion between Guids and Bson binary data is not possible. + + + + + Use the new standard representation for Guids (binary subtype 4 with bytes in network byte order). + + + + + Use the representation used by older versions of the C# driver (including most community provided C# drivers). + + + + + Use the representation used by older versions of the Java driver. + + + + + Use the representation used by older versions of the Python driver. + + + + + An interface implemented by objects that convert themselves to a BsonDocument. + + + + + Converts this object to a BsonDocument. + + A BsonDocument. + + + + An interface for custom mappers that map an object to a BsonValue. + + + + + Tries to map an object to a BsonValue. + + An object. + The BsonValue. + True if the mapping was successfull. + + + + Represents a BSON array that is deserialized lazily. + + + + + Initializes a new instance of the class. + + The slice. + slice + LazyBsonArray cannot be used with an IByteBuffer that needs disposing. + + + + Gets the slice. + + + The slice. + + + + + Creates a shallow clone of the array (see also DeepClone). + + A shallow clone of the array. + + + + Creates a deep clone of the array (see also Clone). + + A deep clone of the array. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Materializes the BsonArray. + + + The materialized values. + + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Represents a BSON document that is deserialized lazily. + + + + + Initializes a new instance of the class. + + The slice. + slice + LazyBsonDocument cannot be used with an IByteBuffer that needs disposing. + + + + Initializes a new instance of the class. + + The bytes. + + + + Gets the slice. + + + The slice. + + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Creates a deep clone of the document (see also Clone). + + + A deep clone of the document. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Materializes the BsonDocument. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Represents a BSON array that is not materialized until you start using it. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the total number of elements the internal data structure can hold without resizing. + + + + + Gets the count of array elements. + + + + + Gets a value indicating whether this instance is disposed. + + + true if this instance is disposed; otherwise, false. + + + + + Gets a value indicating whether this instance is materialized. + + + true if this instance is materialized; otherwise, false. + + + + + Gets the array elements. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Adds an element to the array. + + The value to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Clears the array. + + + + + Creates a shallow clone of the array (see also DeepClone). + + + A shallow clone of the array. + + + + + Compares the array to another array. + + The other array. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other. + + + + Compares the array to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other BsonValue. + + + + Tests whether the array contains a value. + + The value to test for. + True if the array contains the value. + + + + Copies elements from this array to another array. + + The other array. + The zero based index of the other array at which to start copying. + + + + Creates a deep clone of the array (see also Clone). + + + A deep clone of the array. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets an enumerator that can enumerate the elements of the array. + + An enumerator. + + + + Gets the hash code. + + The hash code. + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The number of elements to search. + The zero based index of the value (or -1 if not found). + + + + Inserts a new value into the array. + + The zero based index at which to insert the new value. + The new value. + + + + Removes the first occurrence of a value from the array. + + The value to remove. + True if the value was removed. + + + + Removes an element from the array. + + The zero based index of the element to remove. + + + + Converts the BsonArray to an array of BsonValues. + + An array of BsonValues. + + + + Converts the BsonArray to a list of BsonValues. + + A list of BsonValues. + + + + Returns a string representation of the array. + + A string representation of the array. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Materializes the BsonArray. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Throws if disposed. + + + + + + Represents a BSON document that is not materialized until you start using it. + + + + + Initializes a new instance of the class. + + + + + Gets the number of elements. + + + + + Gets the elements. + + + + + Gets a value indicating whether this instance is disposed. + + + true if this instance is disposed; otherwise, false. + + + + + Gets a value indicating whether this instance is materialized. + + + true if this instance is materialized; otherwise, false. + + + + + Gets the element names. + + + + + Gets the values. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Gets or sets a value by name. + + The name. + The value. + + + + Adds an element to the document. + + The element to add. + + The document (so method calls can be chained). + + + + + Creates and adds an element to the document. + + The name of the element. + The value of the element. + + The document (so method calls can be chained). + + + + + Creates and adds an element to the document, but only if the condition is true. + + The name of the element. + The value of the element. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Creates and adds an element to the document, but only if the condition is true. + If the condition is false the value factory is not called at all. + + The name of the element. + A delegate called to compute the value of the element if condition is true. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds a list of elements to the document. + + The list of elements. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Clears the document (removes all elements). + + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Compares this document to another document. + + The other document. + + A 32-bit signed integer that indicates whether this document is less than, equal to, or greather than the other. + + + + + Compares the BsonDocument to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonDocument is less than, equal to, or greather than the other BsonValue. + + + + Tests whether the document contains an element with the specified name. + + The name of the element to look for. + + True if the document contains an element with the specified name. + + + + + Tests whether the document contains an element with the specified value. + + The value of the element to look for. + + True if the document contains an element with the specified value. + + + + + Creates a deep clone of the document (see also Clone). + + + A deep clone of the document. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Gets an element of this document. + + The zero based index of the element. + + The element. + + + + + Gets an element of this document. + + The name of the element. + + A BsonElement. + + + + + Gets an enumerator that can be used to enumerate the elements of this document. + + + An enumerator. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the value of an element. + + The zero based index of the element. + + The value of the element. + + + + + Gets the value of an element. + + The name of the element. + + The value of the element. + + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value returned if the element is not found. + + The value of the element or the default value if the element is not found. + + + + + Inserts a new element at a specified position. + + The position of the new element. + The element. + + + + Merges another document into this one. Existing elements are not overwritten. + + The other document. + + The document (so method calls can be chained). + + + + + Merges another document into this one, specifying whether existing elements are overwritten. + + The other document. + Whether to overwrite existing elements. + + The document (so method calls can be chained). + + + + + Removes an element from this document (if duplicate element names are allowed + then all elements with this name will be removed). + + The name of the element to remove. + + + + Removes an element from this document. + + The zero based index of the element to remove. + + + + Removes an element from this document. + + The element to remove. + + + + Sets the value of an element. + + The zero based index of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets the value of an element (an element will be added if no element with this name is found). + + The name of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). + + The new element. + + The document. + + + + + Sets an element of the document (replacing the existing element at that position). + + The zero based index of the element to replace. + The new element. + + The document. + + + + + Tries to get an element of this document. + + The name of the element. + The element. + + True if an element with that name was found. + + + + + Tries to get the value of an element of this document. + + The name of the element. + The value of the element. + + True if an element with that name was found. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Materializes the BsonDocument. + + The materialized elements. + + + + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + + + + + Throws if disposed. + + + + + + Represents an ObjectId (see also BsonObjectId). + + + + + Initializes a new instance of the ObjectId class. + + The bytes. + + + + Initializes a new instance of the ObjectId class. + + The bytes. + The index into the byte array where the ObjectId starts. + + + + Initializes a new instance of the ObjectId class. + + The value. + + + + Gets an instance of ObjectId where the value is empty. + + + + + Gets the timestamp. + + + + + Gets the creation time (derived from the timestamp). + + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is less than the second ObjectId. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is less than or equal to the second ObjectId. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId. + True if the two ObjectIds are equal. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId. + True if the two ObjectIds are not equal. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is greather than or equal to the second ObjectId. + + + + Compares two ObjectIds. + + The first ObjectId. + The other ObjectId + True if the first ObjectId is greather than the second ObjectId. + + + + Generates a new ObjectId with a unique value. + + An ObjectId. + + + + Generates a new ObjectId with a unique value (with the timestamp component based on a given DateTime). + + The timestamp component (expressed as a DateTime). + An ObjectId. + + + + Generates a new ObjectId with a unique value (with the given timestamp). + + The timestamp component. + An ObjectId. + + + + Parses a string and creates a new ObjectId. + + The string value. + A ObjectId. + + + + Tries to parse a string and create a new ObjectId. + + The string value. + The new ObjectId. + True if the string was parsed successfully. + + + + Gets the current process id. This method exists because of how CAS operates on the call stack, checking + for permissions before executing the method. Hence, if we inlined this call, the calling method would not execute + before throwing an exception requiring the try/catch at an even higher level that we don't necessarily control. + + + + + Compares this ObjectId to another ObjectId. + + The other ObjectId. + A 32-bit signed integer that indicates whether this ObjectId is less than, equal to, or greather than the other. + + + + Compares this ObjectId to another ObjectId. + + The other ObjectId. + True if the two ObjectIds are equal. + + + + Compares this ObjectId to another object. + + The other object. + True if the other object is an ObjectId and equal to this one. + + + + Gets the hash code. + + The hash code. + + + + Converts the ObjectId to a byte array. + + A byte array. + + + + Converts the ObjectId to a byte array. + + The destination. + The offset. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents an immutable BSON array that is represented using only the raw bytes. + + + + + Initializes a new instance of the class. + + The slice. + slice + RawBsonArray cannot be used with an IByteBuffer that needs disposing. + + + + Gets or sets the total number of elements the internal data structure can hold without resizing. + + + + + Gets the count of array elements. + + + + + Gets whether the array is read-only. + + + + + Gets the slice. + + + The slice. + + + + + Gets the array elements. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Adds an element to the array. + + The value to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). + + + + Creates a shallow clone of the array (see also DeepClone). + + A shallow clone of the array. + + + + Clears the array. + + + + + Tests whether the array contains a value. + + The value to test for. + True if the array contains the value. + + + + Copies elements from this array to another array. + + The other array. + The zero based index of the other array at which to start copying. + + + + Creates a deep clone of the array (see also Clone). + + A deep clone of the array. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Gets an enumerator that can enumerate the elements of the array. + + An enumerator. + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The zero based index of the value (or -1 if not found). + + + + Gets the index of a value in the array. + + The value to search for. + The zero based index at which to start the search. + The number of elements to search. + The zero based index of the value (or -1 if not found). + + + + Inserts a new value into the array. + + The zero based index at which to insert the new value. + The new value. + + + + Materializes the RawBsonArray into a regular BsonArray. + + The binary reader settings. + A BsonArray. + + + + Removes the first occurrence of a value from the array. + + The value to remove. + True if the value was removed. + + + + Removes an element from the array. + + The zero based index of the element to remove. + + + + Converts the BsonArray to an array of BsonValues. + + An array of BsonValues. + + + + Converts the BsonArray to a list of BsonValues. + + A list of BsonValues. + + + + Returns a string representation of the array. + + A string representation of the array. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Throws if disposed. + + + + + + Represents an immutable BSON document that is represented using only the raw bytes. + + + + + Initializes a new instance of the class. + + The slice. + slice + RawBsonDocument cannot be used with an IByteBuffer that needs disposing. + + + + Initializes a new instance of the class. + + The bytes. + + + + Gets the number of elements. + + + + + Gets the elements. + + + + + Gets the element names. + + + + + Gets the slice. + + + The slice. + + + + + Gets the values. + + + + + Gets or sets a value by position. + + The position. + The value. + + + + Gets or sets a value by name. + + The name. + The value. + + + + Adds an element to the document. + + The element to add. + + The document (so method calls can be chained). + + + + + Creates and adds an element to the document. + + The name of the element. + The value of the element. + + The document (so method calls can be chained). + + + + + Creates and adds an element to the document, but only if the condition is true. + + The name of the element. + The value of the element. + Whether to add the element to the document. + The document (so method calls can be chained). + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Adds a list of elements to the document. + + The list of elements. + + The document (so method calls can be chained). + + + + + Adds elements to the document from a dictionary of key/value pairs. + + The dictionary. + + The document (so method calls can be chained). + + + + + Clears the document (removes all elements). + + + + + Creates a shallow clone of the document (see also DeepClone). + + + A shallow clone of the document. + + + + + Tests whether the document contains an element with the specified name. + + The name of the element to look for. + + True if the document contains an element with the specified name. + + + + + Tests whether the document contains an element with the specified value. + + The value of the element to look for. + + True if the document contains an element with the specified value. + + + + + Creates a deep clone of the document (see also Clone). + + + A deep clone of the document. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Gets an element of this document. + + The zero based index of the element. + + The element. + + + + + Gets an element of this document. + + The name of the element. + + A BsonElement. + + + + + Gets an enumerator that can be used to enumerate the elements of this document. + + + An enumerator. + + + + + Gets the value of an element. + + The zero based index of the element. + + The value of the element. + + + + + Gets the value of an element. + + The name of the element. + + The value of the element. + + + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value returned if the element is not found. + + The value of the element or the default value if the element is not found. + + + + + Inserts a new element at a specified position. + + The position of the new element. + The element. + + + + Materializes the RawBsonDocument into a regular BsonDocument. + + The binary reader settings. + A BsonDocument. + + + + Merges another document into this one. Existing elements are not overwritten. + + The other document. + + The document (so method calls can be chained). + + + + + Merges another document into this one, specifying whether existing elements are overwritten. + + The other document. + Whether to overwrite existing elements. + + The document (so method calls can be chained). + + + + + Removes an element from this document (if duplicate element names are allowed + then all elements with this name will be removed). + + The name of the element to remove. + + + + Removes an element from this document. + + The zero based index of the element to remove. + + + + Removes an element from this document. + + The element to remove. + + + + Sets the value of an element. + + The zero based index of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets the value of an element (an element will be added if no element with this name is found). + + The name of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + + + + + Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). + + The new element. + + The document. + + + + + Sets an element of the document (replacing the existing element at that position). + + The zero based index of the element to replace. + The new element. + + The document. + + + + + Tries to get an element of this document. + + The name of the element. + The element. + + True if an element with that name was found. + + + + + Tries to get the value of an element of this document. + + The name of the element. + The value of the element. + + True if an element with that name was found. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Throws if disposed. + + RawBsonDocument + + + + Prevents the Xamarin managed linker from stripping the target. + + + + + When used on a class rather than a property, ensures that all members of this type are preserved. + + + + + Flags the method as a method to preserve during linking if the container class is pulled in. + + + + + Provides serializers based on an attribute. + + + + + + + + Specifies that this constructor should be used for creator-based deserialization. + + + + + Initializes a new instance of the BsonConstructorAttribute class. + + + + + Initializes a new instance of the BsonConstructorAttribute class. + + The names of the members that the creator argument values come from. + + + + Gets the names of the members that the creator arguments values come from. + + + + + Applies a modification to the creator map. + + The creator map. + + + + Specifies serialization options for a DateTime field or property. + + + + + Initializes a new instance of the BsonDateTimeOptionsAttribute class. + + + + + Gets or sets whether the DateTime consists of a Date only. + + + + + Gets or sets the DateTimeKind (Local, Unspecified or Utc). + + + + + Gets or sets the external representation. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Specifies the default value for a field or property. + + + + + Initializes a new instance of the BsonDefaultValueAttribute class. + + The default value. + + + + Gets the default value. + + + + + Applies a modification to the member map. + + The member map. + + + + Specifies serialization options for a Dictionary field or property. + + + + + Initializes a new instance of the BsonDictionaryOptionsAttribute class. + + + + + Initializes a new instance of the BsonDictionaryOptionsAttribute class. + + The representation to use for the Dictionary. + + + + Gets or sets the external representation. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Specifies the discriminator and related options for a class. + + + + + Initializes a new instance of the BsonDiscriminatorAttribute class. + + + + + Initializes a new instance of the BsonDiscriminatorAttribute class. + + The discriminator. + + + + Gets the discriminator. + + + + + Gets or sets whether the discriminator is required. + + + + + Gets or sets whether this is a root class. + + + + + Applies a modification to the class map. + + The class map. + + + + Specifies the element name and related options for a field or property. + + + + + Initializes a new instance of the BsonElementAttribute class. + + + + + Initializes a new instance of the BsonElementAttribute class. + + The name of the element. + + + + Gets the element name. + + + + + Gets the element serialization order. + + + + + Applies a modification to the member map. + + The member map. + + + + Indicates that this property or field will be used to hold any extra elements found during deserialization. + + + + + Applies a modification to the member map. + + The member map. + + + + Specifies that this factory method should be used for creator-based deserialization. + + + + + Initializes a new instance of the BsonFactoryMethodAttribute class. + + + + + Initializes a new instance of the BsonFactoryMethodAttribute class. + + The names of the members that the creator argument values come from. + + + + Gets the names of the members that the creator arguments values come from. + + + + + Applies a modification to the creator map. + + The creator map. + + + + Specifies the Guid representation to use with the GuidSerializer for this member. + + + + + Initializes a new instance of the BsonGuidRepresentationAttribute class. + + The Guid representation. + + + + Gets the Guid representation. + + + + + + + + Specifies that this is the Id field or property. + + + + + Initializes a new instance of the BsonIdAttribute class. + + + + + Gets or sets the Id generator for the Id. + + + + + Gets or sets the Id element serialization order. + + + + + Applies a modification to the member map. + + The member map. + + + + Indicates that this field or property should be ignored when this class is serialized. + + + + + Specifies whether extra elements should be ignored when this class is deserialized. + + + + + Initializes a new instance of the BsonIgnoreExtraElementsAttribute class. + + + + + Initializes a new instance of the BsonIgnoreExtraElementsAttribute class. + + Whether extra elements should be ignored when this class is deserialized. + + + + Gets whether extra elements should be ignored when this class is deserialized. + + + + + Gets whether extra elements should also be ignored when any class derived from this one is deserialized. + + + + + Applies a modification to the class map. + + The class map. + + + + Indicates whether a field or property equal to the default value should be ignored when serializing this class. + + + + + Initializes a new instance of the BsonIgnoreIfDefaultAttribute class. + + + + + Initializes a new instance of the BsonIgnoreIfDefaultAttribute class. + + Whether a field or property equal to the default value should be ignored when serializing this class. + + + + Gets whether a field or property equal to the default value should be ignored when serializing this class. + + + + + Applies a modification to the member map. + + The member map. + + + + Indicates whether a field or property equal to null should be ignored when serializing this class. + + + + + Initializes a new instance of the BsonIgnoreIfNullAttribute class. + + + + + Initializes a new instance of the BsonIgnoreIfNullAttribute class. + + Whether a field or property equal to null should be ignored when serializing this class. + + + + Gets whether a field or property equal to null should be ignored when serializing this class. + + + + + Applies a modification to the member map. + + The member map. + + + + Specifies the known types for this class (the derived classes). + + + + + Initializes a new instance of the BsonKnownTypesAttribute class. + + One or more known types. + + + + Initializes a new instance of the BsonKnownTypesAttribute class. + + A known types. + + + + Gets a list of the known types. + + + + + Applies a modification to the class map. + + The class map. + + + + Specifies that the class's IdMember should be null. + + + + + Applies the post processing attribute to the class map. + + The class map. + + + + Specifies the external representation and related options for this field or property. + + + + + Initializes a new instance of the BsonRepresentationAttribute class. + + The external representation. + + + + Gets the external representation. + + + + + Gets or sets whether to allow overflow. + + + + + Gets or sets whether to allow truncation. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Indicates that a field or property is required. + + + + + Applies a modification to the member map. + + The member map. + + + + Abstract base class for serialization options attributes. + + + + + Initializes a new instance of the BsonSerializationOptionsAttribute class. + + + + + Applies a modification to the member map. + + The member map. + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + + Specifies the type of the serializer to use for a class. + + + + + Initializes a new instance of the BsonSerializerAttribute class. + + + + + Initializes a new instance of the BsonSerializerAttribute class. + + The type of the serializer to use for a class. + + + + Gets or sets the type of the serializer to use for a class. + + + + + Applies a modification to the member map. + + The member map. + + + + Creates a serializer for a type based on the serializer type specified by the attribute. + + The type that a serializer should be created for. + A serializer for the type. + + + + Specifies the external representation and related options for this field or property. + + + + + Initializes a new instance of the BsonTimeSpanOptionsAttribute class. + + The external representation. + + + + Initializes a new instance of the BsonTimeSpanOptionsAttribute class. + + The external representation. + The TimeSpanUnits. + + + + Gets the external representation. + + + + + Gets or sets the TimeSpanUnits. + + + + + Reconfigures the specified serializer by applying this attribute to it. + + The serializer. + A reconfigured serializer. + + + + Indicates the usage restrictions for the attribute. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether the attribute this attribute applies to is allowed to be applied + to more than one member. + + + + + Represents an attribute used to modify a class map. + + + + + Applies the attribute to the class map. + + The class map. + + + + Represents an attribute used to modify a creator map. + + + + + Applies the attribute to the creator map. + + The creator map. + + + + Represents an attribute used to modify a member map. + + + + + Applies the attribute to the member map. + + The member map. + + + + Represents an attribute used to post process a class map. + + + + + Applies the post processing attribute to the class map. + + The class map. + + + + Contains extensions methods for + + + + + Converts to . + + The .NET data type. + The binary vector. + A instance. + + + + Contains extensions methods for . + + + + + Converts to . + + Data type of the binary vector. + The binary data. + A instance. + + + + Extracts binary vector data from as bytes, padding and data type. + The result bytes should be interpreted according to the vector data type. + + The binary data. + Vector bytes, padding and datatype + + + + Extracts binary vector data from as an array of , padding and data type. + The result bytes should be interpreted according to the vector data type. + + The binary data. + Vector data, padding and datatype + + + + Represents a mapping between a class and a BSON document. + + + + + Initializes a new instance of the BsonClassMap class. + + The class type. + + + + Initializes a new instance of the class. + + Type of the class. + The base class map. + + + + Gets all the member maps (including maps for inherited members). + + + + + Gets the base class map. + + + + + Gets the class type. + + + + + Gets the constructor maps. + + + + + Gets the conventions used for auto mapping. + + + + + Gets the declared member maps (only for members declared in this class). + + + + + Gets the discriminator. + + + + + Gets whether a discriminator is required when serializing this class. + + + + + Gets the member map of the member used to hold extra elements. + + + + + Gets whether this class map has any creator maps. + + + + + Gets whether this class has a root class ancestor. + + + + + Gets the Id member map (null if none). + + + + + Gets whether extra elements should be ignored when deserializing. + + + + + Gets whether the IgnoreExtraElements value should be inherited by derived classes. + + + + + Gets whether this class is anonymous. + + + + + Gets whether the class map is frozen. + + + + + Gets whether this class is a root class. + + + + + Gets the known types of this class. + + + + + Gets the element name to member index trie. + + + + + Gets the member index of the member used to hold extra elements. + + + + + Gets the type of a member. + + The member info. + The type of the member. + + + + Gets all registered class maps. + + All registered class maps. + + + + Checks whether a class map is registered for a type. + + The type to check. + True if there is a class map registered for the type. + + + + Looks up a class map (will AutoMap the class if no class map is registered). + + The class type. + The class map. + + + + Creates and registers a class map. + + The class. + The class map. + + + + Creates and registers a class map. + + The class. + The class map initializer. + The class map. + + + + Registers a class map. + + The class map. + + + + Registers a class map if it is not already registered. + + The class. + True if this call registered the class map, false if the class map was already registered. + + + + Registers a class map if it is not already registered. + + The class. + The class map. + True if this call registered the class map, false if the class map was already registered. + + + + Registers a class map if it is not already registered. + + The class. + The class map initializer (only called if the class map is not already registered). + True if this call registered the class map, false if the class map was already registered. + + + + Registers a class map if it is not already registered. + + The class. + The class map factory (only called if the class map is not already registered). + True if this call registered the class map, false if the class map was already registered. + + + + Automaps the class. + + + + + Creates an instance of the class. + + An object. + + + + + + + + + + Freezes the class map. + + The frozen class map. + + + + Gets a member map (only considers members declared in this class). + + The member name. + The member map (or null if the member was not found). + + + + Gets the member map for a BSON element. + + The name of the element. + The member map. + + + + Creates a creator map for a constructor and adds it to the class map. + + The constructor info. + The creator map (so method calls can be chained). + + + + Creates a creator map for a constructor and adds it to the class map. + + The constructor info. + The argument names. + The creator map (so method calls can be chained). + + + + Creates a creator map and adds it to the class. + + The delegate. + The factory method map (so method calls can be chained). + + + + Creates a creator map and adds it to the class. + + The delegate. + The argument names. + The factory method map (so method calls can be chained). + + + + Creates a member map for the extra elements field and adds it to the class map. + + The name of the extra elements field. + The member map (so method calls can be chained). + + + + Creates a member map for the extra elements member and adds it to the class map. + + The member info for the extra elements member. + The member map (so method calls can be chained). + + + + Creates a member map for the extra elements property and adds it to the class map. + + The name of the property. + The member map (so method calls can be chained). + + + + Creates a creator map for a factory method and adds it to the class. + + The method info. + The creator map (so method calls can be chained). + + + + Creates a creator map for a factory method and adds it to the class. + + The method info. + The argument names. + The creator map (so method calls can be chained). + + + + Creates a member map for a field and adds it to the class map. + + The name of the field. + The member map (so method calls can be chained). + + + + Creates a member map for the Id field and adds it to the class map. + + The name of the Id field. + The member map (so method calls can be chained). + + + + Creates a member map for the Id member and adds it to the class map. + + The member info for the Id member. + The member map (so method calls can be chained). + + + + Creates a member map for the Id property and adds it to the class map. + + The name of the Id property. + The member map (so method calls can be chained). + + + + Creates a member map for a member and adds it to the class map. + + The member info. + The member map (so method calls can be chained). + + + + Creates a member map for a property and adds it to the class map. + + The name of the property. + The member map (so method calls can be chained). + + + + Resets the class map back to its initial state. + + + + + Sets the creator for the object. + + The creator. + The class map (so method calls can be chained). + + + + Sets the discriminator. + + The discriminator. + + + + Sets the discriminator convention. + + The discriminator convention. + + + + Sets whether a discriminator is required when serializing this class. + + Whether a discriminator is required. + + + + Sets the member map of the member used to hold extra elements. + + The extra elements member map. + + + + Adds a known type to the class map. + + The known type. + + + + Sets the Id member. + + The Id member (null if none). + + + + Sets whether extra elements should be ignored when deserializing. + + Whether extra elements should be ignored when deserializing. + + + + Sets whether the IgnoreExtraElements value should be inherited by derived classes. + + Whether the IgnoreExtraElements value should be inherited by derived classes. + + + + Sets whether this class is a root class. + + Whether this class is a root class. + + + + Removes a creator map for a constructor from the class map. + + The constructor info. + + + + Removes a creator map for a factory method from the class map. + + The method info. + + + + Removes the member map for a field from the class map. + + The name of the field. + + + + Removes a member map from the class map. + + The member info. + + + + Removes the member map for a property from the class map. + + The name of the property. + + + + Gets the discriminator convention for the class. + + The discriminator convention for the class. + + + + Represents a mapping between a class and a BSON document. + + The class. + + + + Initializes a new instance of the BsonClassMap class. + + + + + Initializes a new instance of the BsonClassMap class. + + The class map initializer. + + + + Initializes a new instance of the BsonClassMap class. + + The base class map. + + + + Creates an instance. + + An instance. + + + + Gets a member map. + + The member type. + A lambda expression specifying the member. + The member map. + + + + Creates a creator map and adds it to the class map. + + Lambda expression specifying the creator code and parameters to use. + The member map. + + + + Creates a member map for the extra elements field and adds it to the class map. + + The member type. + A lambda expression specifying the extra elements field. + The member map. + + + + Creates a member map for the extra elements member and adds it to the class map. + + The member type. + A lambda expression specifying the extra elements member. + The member map. + + + + Creates a member map for the extra elements property and adds it to the class map. + + The member type. + A lambda expression specifying the extra elements property. + The member map. + + + + Creates a member map for a field and adds it to the class map. + + The member type. + A lambda expression specifying the field. + The member map. + + + + Creates a member map for the Id field and adds it to the class map. + + The member type. + A lambda expression specifying the Id field. + The member map. + + + + Creates a member map for the Id member and adds it to the class map. + + The member type. + A lambda expression specifying the Id member. + The member map. + + + + Creates a member map for the Id property and adds it to the class map. + + The member type. + A lambda expression specifying the Id property. + The member map. + + + + Creates a member map and adds it to the class map. + + The member type. + A lambda expression specifying the member. + The member map. + + + + Creates a member map for the property and adds it to the class map. + + The member type. + A lambda expression specifying the property. + The member map. + + + + Removes the member map for a field from the class map. + + The member type. + A lambda expression specifying the field. + + + + Removes a member map from the class map. + + The member type. + A lambda expression specifying the member. + + + + Removes a member map for a property from the class map. + + The member type. + A lambda expression specifying the property. + + + + Represents the class map serialization provider. + + + + + + + + Represents a mapping to a delegate and its arguments. + + + + + Initializes a new instance of the BsonCreatorMap class. + + The class map. + The member info (null if none). + The delegate. + + + + Gets the arguments. + + + + + Gets the class map that this creator map belongs to. + + + + + Gets the delegeate + + + + + Gets the element names. + + + + + Gets the member info (null if none). + + + + + + + + Freezes the creator map. + + + + + + + + Gets whether there is a default value for a missing element. + + The element name. + True if there is a default value for element name; otherwise, false. + + + + Sets the arguments for the creator map. + + The arguments. + The creator map. + + + + Sets the arguments for the creator map. + + The argument names. + The creator map. + + + + Represents args common to all serializers. + + + + + Gets or sets the nominal type. + + + The nominal type. + + + + + Represents all the contextual information needed by a serializer to deserialize a value. + + + + + Gets a value indicating whether to allow duplicate element names. + + + true if duplicate element names shoud be allowed; otherwise, false. + + + + + Gets the dynamic array serializer. + + + The dynamic array serializer. + + + + + Gets the dynamic document serializer. + + + The dynamic document serializer. + + + + + Gets the reader. + + + The reader. + + + + + Creates a root context. + + The reader. + The configurator. + + A root context. + + + + + Creates a new context with some values changed. + + The configurator. + + A new context. + + + + + Represents a builder for a BsonDeserializationContext. + + + + + Gets or sets a value indicating whether to allow duplicate element names. + + + true if duplicate element names should be allowed; otherwise, false. + + + + + Gets or sets the dynamic array serializer. + + + The dynamic array serializer. + + + + + Gets or sets the dynamic document serializer. + + + The dynamic document serializer. + + + + + Gets the reader. + + + The reader. + + + + + Builds the BsonDeserializationContext instance. + + A BsonDeserializationContext. + + + + A class backed by a BsonDocument. + + + + + Initializes a new instance of the class. + + The serializer. + + + + Initializes a new instance of the class. + + The backing document. + The serializer. + + + + Gets the backing document. + + + + + Gets the value from the backing document. + + The type of the value. + The member name. + The value. + + + + Gets the value from the backing document. + + The type of the value. + The member name. + The default value. + The value. + + + + Sets the value in the backing document. + + The member name. + The value. + + + + Represents the mapping between a field or property and a BSON element. + + + + + Initializes a new instance of the BsonMemberMap class. + + The class map this member map belongs to. + The member info. + + + + Gets the class map that this member map belongs to. + + + + + Gets the name of the member. + + + + + Gets the type of the member. + + + + + Gets whether the member type is a BsonValue. + + + + + Gets the name of the element. + + + + + Gets the serialization order. + + + + + Gets the member info. + + + + + Gets the getter function. + + + + + Gets the setter function. + + + + + Gets the Id generator. + + + + + Gets whether a default value was specified. + + + + + Gets whether an element is required for this member when deserialized. + + + + + Gets the method that will be called to determine whether the member should be serialized. + + + + + Gets whether default values should be ignored when serialized. + + + + + Gets whether null values should be ignored when serialized. + + + + + Gets the default value. + + + + + Gets whether the member is readonly. + + + Readonly indicates that the member is written to the database, but not read from the database. + + + + + Applies the default value to the member of an object. + + The object. + + + + Freezes this instance. + + + + + + + + + + + Gets the serializer. + + The serializer. + + + + Resets the member map back to its initial state. + + The member map. + + + + Sets the default value creator. + + The default value creator (note: the supplied delegate must be thread safe). + The member map. + + + + Sets the default value. + + The default value. + The member map. + + + + Sets the name of the element. + + The name of the element. + The member map. + + + + Sets the Id generator. + + The Id generator. + The member map. + + + + Sets whether default values should be ignored when serialized. + + Whether default values should be ignored when serialized. + The member map. + + + + Sets whether null values should be ignored when serialized. + + Wether null values should be ignored when serialized. + The member map. + + + + Sets whether an element is required for this member when deserialized + + Whether an element is required for this member when deserialized + The member map. + + + + Sets the serialization order. + + The serialization order. + The member map. + + + + Sets the serializer. + + The serializer. + + The member map. + + serializer + serializer + + + + Sets the method that will be called to determine whether the member should be serialized. + + The method. + The member map. + + + + Determines whether a value should be serialized + + The object. + The value. + True if the value should be serialized. + + + + Provides serializers for BsonValue and its derivations. + + + + + + + + Represents args common to all serializers. + + + + + Initializes a new instance of the struct. + + The nominal type. + Whether to serialize as the nominal type. + Whether to serialize the id first. + + + + Gets or sets the nominal type. + + + The nominal type. + + + + + Gets or sets a value indicating whether to serialize the value as if it were an instance of the nominal type. + + + + + Gets or sets a value indicating whether to serialize the id first. + + + + + Represents all the contextual information needed by a serializer to serialize a value. + + + + + Gets a function that, when executed, will indicate whether the type + is a dynamic type. + + + + + Gets the writer. + + + The writer. + + + + + Creates a root context. + + The writer. + The serialization context configurator. + + A root context. + + + + + Creates a new context with some values changed. + + The serialization context configurator. + + A new context. + + + + + Represents a builder for a BsonSerializationContext. + + + + + Gets or sets the function used to determine if a type is a dynamic type. + + + + + Gets the writer. + + + The writer. + + + + + Builds the BsonSerializationContext instance. + + A BsonSerializationContext. + + + + Represents the information needed to serialize a member. + + + + + Creates a new instance of the BsonSerializationinfo class with an element path instead of an element name. + + The element path. + The serializer. + The nominal type. + A BsonSerializationInfo. + + + + Initializes a new instance of the BsonSerializationInfo class. + + The element name. + The serializer. + The nominal type. + + + + Gets the element name. + + + + + Gets element path. + + + + + Gets or sets the serializer. + + + + + Gets or sets the nominal type. + + + + + Deserializes the value. + + The value. + A deserialized value. + + + + + + + + + + Serializes the value. + + The value. + The serialized value. + + + + Serializes the values. + + The values. + The serialized values. + + + + Creates a new BsonSerializationInfo object using the elementName provided and copying all other attributes. + + Name of the element. + A new BsonSerializationInfo. + + + + Base class for serialization providers. + + + + + + + + + + + Creates the serializer from a serializer type definition and type arguments. + + The serializer type definition. + The type arguments. + A serializer. + + + + Creates the serializer from a serializer type definition and type arguments. + + The serializer type definition. + The type arguments. + The serializer registry. + + A serializer. + + + + + Creates the serializer. + + The serializer type. + A serializer. + + + + Creates the serializer. + + The serializer type. + The serializer registry. + + A serializer. + + + + + A static class that represents the BSON serialization functionality. + + + + + Gets the serializer registry. + + + + + Gets or sets whether to use the NullIdChecker on reference Id types that don't have an IdGenerator registered. + + + + + Gets or sets whether to use the ZeroIdChecker on value Id types that don't have an IdGenerator registered. + + + + + Deserializes an object from a BsonDocument. + + The nominal type of the object. + The BsonDocument. + The configurator. + A deserialized value. + + + + Deserializes a value. + + The nominal type of the object. + The BsonReader. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON byte array. + + The nominal type of the object. + The BSON byte array. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON Stream. + + The nominal type of the object. + The BSON Stream. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON string. + + The nominal type of the object. + The JSON string. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON TextReader. + + The nominal type of the object. + The JSON TextReader. + The configurator. + A deserialized value. + + + + Deserializes an object from a BsonDocument. + + The BsonDocument. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes a value. + + The BsonReader. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON byte array. + + The BSON byte array. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON Stream. + + The BSON Stream. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON string. + + The JSON string. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON TextReader. + + The JSON TextReader. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Returns whether the given type has any discriminators registered for any of its subclasses. + + A Type. + True if the type is discriminated. + + + + Looks up the actual type of an object to be deserialized. + + The nominal type of the object. + The discriminator. + The actual type of the object. + + + + Looks up the discriminator convention for a type. + + The type. + A discriminator convention. + + + + Looks up an IdGenerator. + + The Id type. + An IdGenerator for the Id type. + + + + Looks up a serializer for a Type. + + The type. + A serializer for type T. + + + + Looks up a serializer for a Type. + + The Type. + A serializer for the Type. + + + + Registers the discriminator for a type. + + The type. + The discriminator. + + + + Registers the discriminator convention for a type. + + Type type. + The discriminator convention. + + + + Registers a generic serializer definition for a generic type. + + The generic type. + The generic serializer definition. + + + + Registers an IdGenerator for an Id Type. + + The Id Type. + The IdGenerator for the Id Type. + + + + Registers a serialization provider. + + The serialization provider. + + + + Registers a serializer for a type. + + The type. + The serializer. + + + + Registers a serializer for a type. + + The type. + The serializer. + + + + Serializes a value. + + The nominal type of the object. + The BsonWriter. + The object. + The serialization context configurator. + The serialization args. + + + + Serializes a value. + + The BsonWriter. + The nominal type of the object. + The object. + The serialization context configurator. + The serialization args. + + + + Tries to register a serializer for a type. + + The serializer. + The type. + True if the serializer was registered on this call, false if the same serializer was already registered on a previous call, throws an exception if a different serializer was already registered. + + + + Tries to register a serializer for a type. + + The type. + The serializer. + True if the serializer was registered on this call, false if the same serializer was already registered on a previous call, throws an exception if a different serializer was already registered. + + + + Default, global implementation of an . + + + + + Initializes a new instance of the class. + + + + + Gets the serializer for the specified . + If none is already registered, the serialization providers will be used to create a serializer and it will be automatically registered. + + The type. + + The serializer. + + + + + Gets the serializer for the specified . + If none is already registered, the serialization providers will be used to create a serializer and it will be automatically registered. + + The value type of the serializer. + + The serializer. + + + + + Registers the serializer. + + The type. + The serializer. + + + + Registers the serialization provider. This behaves like a stack, so the + last provider registered is the first provider consulted. + + The serialization provider. + + + + Tries to register the serializer. + + The type. + The serializer. + True if the serializer was registered on this call, false if the same serializer was already registered on a previous call, throws an exception if a different serializer was already registered. + + + + Provides serializers for collections. + + + + + + + + Convention pack for applying attributes. + + + + + Initializes a new instance of the class. + + + + + Gets the instance. + + + + + Gets the conventions. + + + + + A convention that sets the element name the same as the member name with the first character lower cased. + + + + + Applies a modification to the member map. + + The member map. + + + + Base class for a convention. + + + + + Initializes a new instance of the ConventionBase class. + + + + + Initializes a new instance of the ConventionBase class. + + The name of the convention. + + + + Gets the name of the convention. + + + + + A mutable pack of conventions. + + + + + Initializes a new instance of the class. + + + + + Gets the conventions. + + + + + Adds the specified convention. + + The convention. + + + + + Adds a class map convention created using the specified action upon a class map. + + The name of the convention. + The action the convention should take upon the class map. + + + + Adds a member map convention created using the specified action upon a member map. + + The name of the convention. + The action the convention should take upon the member map. + + + + Adds a post processing convention created using the specified action upon a class map. + + The name of the convention. + The action the convention should take upon the class map. + + + + Adds a range of conventions. + + The conventions. + + + + + Appends the conventions in another pack to the end of this pack. + + The other pack. + + + + Gets an enumerator for the conventions. + + An enumerator. + + + + Inserts the convention after another convention specified by the name. + + The name. + The convention. + + + + Inserts the convention before another convention specified by the name. + + The name. + The convention. + + + + Removes the named convention. + + The name of the convention. + + + + Represents a registry of conventions. + + + + + Looks up the effective set of conventions that apply to a type. + + The type. + The conventions for that type. + + + + Registers the conventions. + + The name. + The conventions. + The filter. + + + + Removes the conventions specified by the given name. + + The name. + Removing a convention allows the removal of the special __defaults__ conventions + and the __attributes__ conventions for those who want to completely customize the + experience. + + + + Runs the conventions against a BsonClassMap and its BsonMemberMaps. + + + + + Initializes a new instance of the class. + + The conventions. + + + + Applies a modification to the class map. + + The class map. + + + + Convention pack of defaults. + + + + + Initializes a new instance of the class. + + + + + Gets the instance. + + + + + Gets the conventions. + + + + + A class map convention that wraps a delegate. + + + + + Initializes a new instance of the class. + + The name. + The delegate. + + + + Applies a modification to the class map. + + The class map. + + + + A member map convention that wraps a delegate. + + + + + Initializes a new instance of the class. + + The name. + The delegate. + + + + Applies a modification to the member map. + + The member map. + + + + A post processing convention that wraps a delegate. + + + + + Initializes a new instance of the class. + + The name. + The delegate. + + + + Applies a post processing modification to the class map. + + The class map. + + + + A convention that allows you to set the Enum serialization representation + + + + + Initializes a new instance of the class. + + The serialization representation. 0 is used to detect representation + from the enum itself. + + + + Initializes a new instance of the class. + + The serialization representation. 0 is used to detect representation + from the enum itself. + If set to true, the convention will be applied only to top level enum properties, and not collections of enums, for example. + + + + Gets the representation. + + + + + Gets a boolean indicating if this convention should be also applied only to the top level enum properties and not to others, + collections of enums for example. True by default. + + + + + Applies a modification to the member map. + + The member map. + + + + Represents a discriminator convention where the discriminator is an array of all the discriminators provided by the class maps of the root class down to the actual type. + + + + + Initializes a new instance of the HierarchicalDiscriminatorConvention class. + + The element name. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + Represents a convention that applies to a BsonClassMap. + + + + + Applies a modification to the class map. + + The class map. + + + + Represents a convention. + + + + + Gets the name of the convention. + + + + + Represents a grouping of conventions. + + + + + Gets the conventions. + + + + + Represents a convention that applies to a BsonCreatorMap. + + + + + Applies a modification to the creator map. + + The creator map. + + + + Represents a discriminator convention. + + + + + Gets the discriminator element name. + + + + + Gets the actual type of an object by reading the discriminator from a BsonReader. + + The reader. + The nominal type. + The actual type. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + A convention that sets whether to ignore extra elements encountered during deserialization. + + + + + Initializes a new instance of the class. + + Whether to ignore extra elements encountered during deserialization. + + + + Applies a modification to the class map. + + The class map. + + + + A convention that sets whether to ignore default values during serialization. + + + + + Initializes a new instance of the class. + + Whether to ignore default values during serialization. + + + + Applies a modification to the member map. + + The member map. + + + + A convention that sets whether to ignore nulls during serialization. + + + + + Initializes a new instance of the class. + + Whether to ignore nulls during serialization. + + + + Applies a modification to the member map. + + The member map. + + + + Represents a discriminator convention where the discriminator for each type in a polymorphic hierarchy is an array representing the hierarchy. + + + + + Represents a convention that applies to a BsonMemberMap. + + + + + Applies a modification to the member map. + + The member map. + + + + Maps a fully immutable type. This will include anonymous types. + + + + + + + + Represents a post processing convention that applies to a BsonClassMap. + + + + + Applies a post processing modification to the class map. + + The class map. + + + + Represents a discriminator convention where the discriminator for each type in a polymorphic hierarchy is a scalar. + + + + + Returns the discriminators for a type and all of its known subtypes. + + The type. + The discriminators. + + + + A convention that looks up an id generator for the id member. + + + + + Applies a post processing modification to the class map. + + The class map. + + + + A convention that sets the default value for members of a given type. + + + + + Initializes a new instance of the class. + + The type of the member. + The default value for members of this type. + + + + Applies a modification to the member map. + + The member map. + + + + A convention that sets the element name the same as the member name. + + + + + Applies a modification to the member map. + + The member map. + + + + A convention that finds the extra elements member by name (and that is also of type or ). + + + + + Initializes a new instance of the NamedExtraElementsMemberConvention class. + + The name of the extra elements member. + + + + Initializes a new instance of the class. + + The names. + + + + Initializes a new instance of the class. + + The names. + The member types. + + + + Initializes a new instance of the class. + + The names. + The binding flags. + + + + Initializes a new instance of the class. + + The names. + The member types. + The binding flags. + + + + + Applies a modification to the class map. + + The class map. + + + + A convention that finds the id member by name. + + + + + Initializes a new instance of the class. + + The names. + + + + Initializes a new instance of the class. + + The names. + + + + Initializes a new instance of the class. + + The names. + The member types. + + + + Initializes a new instance of the class. + + The names. + The binding flags. + + + + Initializes a new instance of the class. + + The names. + The member types. + The binding flags. + + + + + Applies a modification to the class map. + + The class map. + + + + A convention that uses the names of the creator parameters to find the matching members. + + + + + Applies a modification to the creator map. + + The creator map. + + + + A convention that sets a class's IdMember to null. + + + + + Applies a post processing modification to the class map. + + The class map. + + + + Represents the object discriminator convention. + + + + + Initializes a new instance of the ObjectDiscriminatorConvention class. + + The element name. + + + + Gets an instance of the ObjectDiscriminatorConvention. + + + + + Gets the discriminator element name. + + + + + + + + Gets the actual type of an object by reading the discriminator from a BsonReader. + + The reader. + The nominal type. + The actual type. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + + + + A convention that allows to set the types that can be safely serialized and deserialized with the . + + + + + A predefined where all types are allowed for both serialization and deserialization. + + + + + A predefined where no types are allowed for both serialization and deserialization. + + + + + A predefined where only default framework types are allowed for both serialization and deserialization. + + + + + Builds a predefined where all calling assembly types and default framework types are allowed for both serialization and deserialization. + + + + + Initializes a new instance of the class. + + A delegate that determines what types are allowed to be serialized and deserialized. + + + + Initializes a new instance of the class. + + A delegate that determines what types are allowed to be deserialized. + A delegate that determines what types are allowed to be serialized. + + + + Initializes a new instance of the class. + + A collection of the allowed types for both serialization and deserialization. + + + + Initializes a new instance of the class. + + A collection of the allowed types for deserialization. + A collection of the allowed types for serialization. + + + + Initializes a new instance of the class. + + A collection of allowed assemblies whose types can be serialized and deserialized. + + + + Initializes a new instance of the class. + + + + + Indicates whether default framework types are included for serialization and deserialization. Defaults to true. + + + + + Applies a modification to the member map. + + The member map. + + + + A convention that finds readable and writeable members and adds them to the class map. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The member types. + + + + Initializes a new instance of the class. + + The binding flags. + + + + Initializes a new instance of the class. + + The member types. + The binding flags. + + + + Applies a modification to the class map. + + The class map. + + + + A convention that resets a class map (resetting any changes that earlier conventions may have applied). + + + + + Applies a modification to the class map. + + The class map. + + + + A convention that resets class members (resetting any changes that earlier conventions may have applied). + + + + + Applies a modification to the member map. + + The member map. + + + + Represents a discriminator convention where the discriminator is provided by the class map of the actual type. + + + + + Initializes a new instance of the ScalarDiscriminatorConvention class. + + The element name. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + + + + Represents the standard discriminator conventions (see ScalarDiscriminatorConvention and HierarchicalDiscriminatorConvention). + + + + + Initializes a new instance of the StandardDiscriminatorConvention class. + + The element name. + + + + Gets an instance of the ScalarDiscriminatorConvention. + + + + + Gets an instance of the HierarchicalDiscriminatorConvention. + + + + + Gets the discriminator element name. + + + + + + + + Gets the actual type of an object by reading the discriminator from a BsonReader. + + The reader. + The nominal type. + The actual type. + + + + Gets the discriminator value for an actual type. + + The nominal type. + The actual type. + The discriminator value. + + + + + + + A convention that sets the representation of a string id class member to ObjectId in BSON with a StringObjectIdGenerator. + This convention is only responsible for setting the serializer and idGenerator. It is assumed that this convention runs after + other conventions that identify which member is the _id and that the _id has already been added to the class map. + + + + + + + + A convention that sets the id generator for a string member with a BSON representation of ObjectId. + + + + + Applies a post processing modification to the class map. + + The class map. + + + + A helper class used to create and compile delegates for creator maps. + + + + + Creates and compiles a delegate that calls a constructor. + + The constructor. + A delegate that calls the constructor. + + + + Creates and compiles a delegate from a lambda expression. + + The type of the class. + The lambda expression. + The arguments for the delegate's parameters. + A delegate. + + + + Creates and compiles a delegate that calls a factory method. + + the method. + A delegate that calls the factory method. + + + + Visits a MemberExpression. + + The MemberExpression. + The MemberExpression (possibly modified). + + + + Visits a ParameterExpression. + + The ParameterExpression. + The ParameterExpression (possibly modified). + + + + Provides a serializer for interfaces. + + + + + + + + An abstract base class for an Expression visitor. + + + + + Initializes a new instance of the ExpressionVisitor class. + + + + + Visits an Expression. + + The Expression. + The Expression (posibly modified). + + + + Visits an Expression list. + + The Expression list. + The Expression list (possibly modified). + + + + Visits a BinaryExpression. + + The BinaryExpression. + The BinaryExpression (possibly modified). + + + + Visits a ConditionalExpression. + + The ConditionalExpression. + The ConditionalExpression (possibly modified). + + + + Visits a ConstantExpression. + + The ConstantExpression. + The ConstantExpression (possibly modified). + + + + Visits an ElementInit. + + The ElementInit. + The ElementInit (possibly modified). + + + + Visits an ElementInit list. + + The ElementInit list. + The ElementInit list (possibly modified). + + + + Visits an InvocationExpression. + + The InvocationExpression. + The InvocationExpression (possibly modified). + + + + Visits a LambdaExpression. + + The LambdaExpression. + The LambdaExpression (possibly modified). + + + + Visits a ListInitExpression. + + The ListInitExpression. + The ListInitExpression (possibly modified). + + + + Visits a MemberExpression. + + The MemberExpression. + The MemberExpression (possibly modified). + + + + Visits a MemberAssignment. + + The MemberAssignment. + The MemberAssignment (possibly modified). + + + + Visits a MemberBinding. + + The MemberBinding. + The MemberBinding (possibly modified). + + + + Visits a MemberBinding list. + + The MemberBinding list. + The MemberBinding list (possibly modified). + + + + Visits a MemberInitExpression. + + The MemberInitExpression. + The MemberInitExpression (possibly modified). + + + + Visits a MemberListBinding. + + The MemberListBinding. + The MemberListBinding (possibly modified). + + + + Visits a MemberMemberBinding. + + The MemberMemberBinding. + The MemberMemberBinding (possibly modified). + + + + Visits a MethodCallExpression. + + The MethodCallExpression. + The MethodCallExpression (possibly modified). + + + + Visits a NewExpression. + + The NewExpression. + The NewExpression (possibly modified). + + + + Visits a NewArrayExpression. + + The NewArrayExpression. + The NewArrayExpression (possibly modified). + + + + Visits a ParameterExpression. + + The ParameterExpression. + The ParameterExpression (possibly modified). + + + + Visits a TypeBinaryExpression. + + The TypeBinaryExpression. + The TypeBinaryExpression (possibly modified). + + + + Visits a UnaryExpression. + + The UnaryExpression. + The UnaryExpression (possibly modified). + + + + Contract for serializers to implement if they serialize an array of items. + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a dictionary serializer that can be used in LINQ queries. + + + + + Gets the dictionary representation. + + + The dictionary representation. + + + + + Gets the key serializer. + + + The key serializer. + + + + + Gets the value serializer. + + + The value serializer. + + + + + Contract for composite serializers that contain a number of named serializers. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + true if the serialization info exists; otherwise false. + + + + Contract for serializers that can get and set Id values. + + + + + Gets the document Id. + + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. + + + + Sets the document Id. + + The document. + The Id. + + + + An interface implemented by a polymorphic serializer. + + + + + Gets a value indicating whether this serializer's discriminator is compatible with the object serializer. + + + true if this serializer's discriminator is compatible with the object serializer; otherwise, false. + + + + + An interface implemented by serialization providers. + + + + + Gets a serializer for a type. + + The type. + A serializer. + + + + An interface implemented by serialization providers that are aware of registries. + + + This interface was added to preserve backward compatability (changing IBsonSerializationProvider would have been a backward breaking change). + + + + + Gets a serializer for a type. + + The type. + The serializer registry. + + A serializer. + + + + + An interface implemented by a serializer. + + + + + Gets the type of the value. + + + The type of the value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + An interface implemented by a serializer for values of type TValue. + + The type that this serializer knows how to serialize. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Extensions methods for IBsonSerializer. + + + + + Deserializes a value. + + The serializer. + The deserialization context. + A deserialized value. + + + + Deserializes a value. + + The type that this serializer knows how to serialize. + The serializer. + The deserialization context. + A deserialized value. + + + + Gets the discriminator convention for a serializer. + + The serializer. + The discriminator convention. + + + + Serializes a value. + + The serializer. + The serialization context. + The value. + + + + Serializes a value. + + The type that this serializer knows how to serialize. + The serializer. + The serialization context. + The value. + + + + Converts a value to a BsonValue by serializing it. + + The serializer. + The value. + The serialized value. + + + + Converts a value to a BsonValue by serializing it. + + The type of the value. + The serializer. + The value. + The serialized value. + + + + A serializer registry. + + + + + Gets the serializer for the specified . + + The type. + The serializer. + + + + Gets the serializer for the specified . + + The value type of the serializer. + The serializer. + + + + Represents a serializer that has a child serializer that configuration attributes can be forwarded to. + + + + + Gets the child serializer. + + + The child serializer. + + + + + Returns a serializer that has been reconfigured with the specified child serializer. + + The child serializer. + The reconfigured serializer. + + + + A GUID generator that generates GUIDs in ascending order. To enable + an index to make use of the ascending nature make sure to use + GuidRepresentation.Standard + as the storage representation. + Internally the GUID is of the form + 8 bytes: Ticks from DateTime.UtcNow.Ticks + 5 bytes: Random value from ObjectId spec + 3 bytes: increment + + + + + Gets an instance of AscendingGuidGenerator. + + + + + Generates an ascending Guid for a document. Consecutive invocations + should generate Guids that are ascending from a MongoDB perspective + + The container of the document (will be a + MongoCollection when called from the driver). + The document it was generated for. + A Guid. + + + + Generates a Guid for a document. Note - this is purely used for + unit testing + + The time portion of the Guid + A 5 byte array with the first 3 bytes + representing a machine id and the next 2 representing a process + id + The increment portion of the Guid. Used + to distinguish between 2 Guids that have the timestamp. Note + only the least significant 3 bytes are used. + A Guid. + + + + Tests whether an id is empty. + + The id to test. + True if the Id is empty. False otherwise + + + + Represents an Id generator for Guids stored in BsonBinaryData values. + + + + + Initializes a new instance of the BsonBinaryDataGuidGenerator class. + + The GuidRepresentation to use when generating new Id values. + + + + Gets an instance of BsonBinaryDataGuidGenerator for CSharpLegacy GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for JavaLegacy GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for PythonLegacy GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for Standard GuidRepresentation. + + + + + Gets an instance of BsonBinaryDataGuidGenerator for Unspecifed GuidRepresentation. + + + + + Gets the Guid representation. + + + + + Gets the instance of BsonBinaryDataGuidGenerator for a GuidRepresentation. + + The GuidRepresentation. + The instance of BsonBinaryDataGuidGenerator for a GuidRepresentation. + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for BsonObjectIds. + + + + + Initializes a new instance of the BsonObjectIdGenerator class. + + + + + Gets an instance of ObjectIdGenerator. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for Guids using the COMB algorithm. + + + + + Initializes a new instance of the CombGuidGenerator class. + + + + + Gets an instance of CombGuidGenerator. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Create a new CombGuid from a given Guid and timestamp. + + The base Guid. + The timestamp. + A new CombGuid created by combining the base Guid with the timestamp. + + + + Represents an Id generator for Guids. + + + + + Initializes a new instance of the GuidGenerator class. + + + + + Gets an instance of GuidGenerator. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator that only checks that the Id is not null. + + + + + Initializes a new instance of the NullIdChecker class. + + + + + Gets an instance of NullIdChecker. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for ObjectIds. + + + + + Initializes a new instance of the ObjectIdGenerator class. + + + + + Gets an instance of ObjectIdGenerator. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator for ObjectIds represented internally as strings. + + + + + Initializes a new instance of the StringObjectIdGenerator class. + + + + + Gets an instance of StringObjectIdGenerator. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents an Id generator that only checks that the Id is not all zeros. + + The type of the Id. + + + + Initializes a new instance of the ZeroIdChecker class. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents a serializer that has a DictionaryRepresentation property. + + + + + Gets the dictionary representation. + + + The dictionary representation. + + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Represents a serializer that has a DictionaryRepresentation property. + + The type of the serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Represents a serializer that has a DiscriminatorConvention property. + + + + + Gets the discriminator convention. + + + + + An interface implemented by Id generators. + + + + + Generates an Id for a document. + + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. + + + + Tests whether an Id is empty. + + The Id. + True if the Id is empty. + + + + Represents a serializer that has multiple child serializers that configuration attributes can be forwarded to. + + + + + Gets the child serializers. + + + The child serializers. + + + + + Returns a serializer that has been reconfigured with the specified child serializers. + + The child serializers. + The reconfigured serializer. + + + + Represents a serializer that has a Representation property. + + + + + Gets the representation. + + + + + Represents a serializer whose representation can be configured. + + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer that has a Representation property. + + The type of the serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer that has a representation converter. + + + + + Gets the converter. + + + The converter. + + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Represents a serializer that has a representation converter. + + The type of the serializer. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Represents the format to use with a DateOnly serializer when the representation is BsonType.Document. + + + + + The document will contain "DateTime" (BsonType.DateTime) and "Ticks" (BsonType.Int64). + + + + + The document will contain "Year", "Month" and "Day" (all BsonType.Int32). + + + + + Represents the representation to use for dictionaries. + + + + + Represent the dictionary as a Document. + + + + + Represent the dictionary as an array of arrays. + + + + + Represent the dictionary as an array of documents. + + + + + Represents the external representation of a field or property. + + + + + Initializes a new instance of the RepresentationConverter class. + + Whether to allow overflow. + Whether to allow truncation. + + + + Gets whether to allow overflow. + + + + + Gets whether to allow truncation. + + + + + + + + + + + Converts a Decimal128 to a Decimal. + + A Decimal128. + A Decimal. + + + + Converts a Double to a Decimal. + + A Double. + A Decimal. + + + + Converts an Int32 to a Decimal. + + An Int32. + A Decimal. + + + + Converts an Int64 to a Decimal. + + An Int64. + A Decimal. + + + + Converts a decimal to a Decimal128. + + A decimal. + A Decimal128. + + + + Converts a Double to a Decimal128. + + A Double. + A Decimal128. + + + + Converts an Int32 to a Decimal128. + + An Int32. + A Decimal128. + + + + Converts an Int64 to a Decimal128. + + An Int64. + A Decimal128. + + + + Converts a UInt64 to a Decimal128. + + A UInt64. + A Decimal128. + + + + Converts a Decimal to a Double. + + A Decimal. + A Double. + + + + Converts a Decimal128 to a Double. + + A Decimal. + A Double. + + + + Converts a Double to a Double. + + A Double. + A Double. + + + + Converts a Single to a Double. + + A Single. + A Double. + + + + Converts an Int32 to a Double. + + An Int32. + A Double. + + + + Converts an Int64 to a Double. + + An Int64. + A Double. + + + + Converts an Int16 to a Double. + + An Int16. + A Double. + + + + Converts a UInt32 to a Double. + + A UInt32. + A Double. + + + + Converts a UInt64 to a Double. + + A UInt64. + A Double. + + + + Converts a UInt16 to a Double. + + A UInt16. + A Double. + + + + Converts a Decimal128 to an Int16. + + A Decimal128. + An Int16. + + + + Converts a Double to an Int16. + + A Double. + An Int16. + + + + Converts an Int32 to an Int16. + + An Int32. + An Int16. + + + + Converts an Int64 to an Int16. + + An Int64. + An Int16. + + + + Converts a Decimal to an Int32. + + A Decimal. + An Int32. + + + + Converts a Decimal128 to an Int32. + + A Decimal128. + An Int32. + + + + Converts a Double to an Int32. + + A Double. + An Int32. + + + + Converts a Single to an Int32. + + A Single. + An Int32. + + + + Converts an Int32 to an Int32. + + An Int32. + An Int32. + + + + Converts an Int64 to an Int32. + + An Int64. + An Int32. + + + + Converts an Int16 to an Int32. + + An Int16. + An Int32. + + + + Converts a UInt32 to an Int32. + + A UInt32. + An Int32. + + + + Converts a UInt64 to an Int32. + + A UInt64. + An Int32. + + + + Converts a UInt16 to an Int32. + + A UInt16. + An Int32. + + + + Converts a Decimal to an Int64. + + A Decimal. + An Int64. + + + + Converts a Decimal128 to an Int64. + + A Decimal128. + An Int64. + + + + Converts a Double to an Int64. + + A Double. + An Int64. + + + + Converts a Single to an Int64. + + A Single. + An Int64. + + + + Converts an Int32 to an Int64. + + An Int32. + An Int64. + + + + Converts an Int64 to an Int64. + + An Int64. + An Int64. + + + + Converts an Int16 to an Int64. + + An Int16. + An Int64. + + + + Converts a UInt32 to an Int64. + + A UInt32. + An Int64. + + + + Converts a UInt64 to an Int64. + + A UInt64. + An Int64. + + + + Converts a UInt16 to an Int64. + + A UInt16. + An Int64. + + + + Converts a Decimal128 to a Single. + + A Decimal128. + A Single. + + + + Converts a Double to a Single. + + A Double. + A Single. + + + + Converts an Int32 to a Single. + + An Int32. + A Single. + + + + Converts an Int64 to a Single. + + An Int64. + A Single. + + + + Converts a Decimal128 to a UInt16. + + A Decimal128. + A UInt16. + + + + Converts a Double to a UInt16. + + A Double. + A UInt16. + + + + Converts an Int32 to a UInt16. + + An Int32. + A UInt16. + + + + Converts an Int64 to a UInt16. + + An Int64. + A UInt16. + + + + Converts a Decimal128 to a UInt32. + + A Decimal128. + A UInt32. + + + + Converts a Double to a UInt32. + + A Double. + A UInt32. + + + + Converts an Int32 to a UInt32. + + An Int32. + A UInt32. + + + + Converts an Int64 to a UInt32. + + An Int64. + A UInt32. + + + + Converts a Decimal128 to a UInt64. + + A Decimal128. + A UInt64. + + + + Converts a Double to a UInt64. + + A Double. + A UInt64. + + + + Converts an Int32 to a UInt64. + + An Int32. + A UInt64. + + + + Converts an Int64 to a UInt64. + + An Int64. + A UInt64. + + + + Represents the units a TimeOnly is serialized in. + + + + + Use ticks as the units. + + + + + Use hours as the units. + + + + + Use minutes as the units. + + + + + Use seconds as the units. + + + + + Use milliseconds as the units. + + + + + Use microseconds as the units. + + + + + Use nanoseconds as the units. + + + + + Represents the units a TimeSpan is serialized in. + + + + + Use ticks as the units. + + + + + Use days as the units. + + + + + Use hours as the units. + + + + + Use minutes as the units. + + + + + Use seconds as the units. + + + + + Use milliseconds as the units. + + + + + Use microseconds as the units. + + + + + Use nanoseconds as the units. + + + + + Provides serializers for primitive types. + + + + + + + + Represents a serializer for an abstract class. + + The type of the class. + + + + Represents a serializer for one-dimensional arrays. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for TItemContainer values represented as a BinaryVector. + + The items container, for example or . + The .NET data type. + + + + Initializes a new instance of the class. + + Type of the binary vector data. + + + + Gets the type of the vector data. + + + + + + + + + + + Reads bson binary data. + + The bson reader. + + + + Represents a serializer for . + + The concrete type derived from . + The .NET data type. + + + + Initializes a new instance of the class. + + + + + + + + + + + A base class for serializers for containers represented as a BinaryVector. + + The collection type. + The .NET data type. + + + + Initializes a new instance of the class. + + + + + + + + + + + Represents a serializer for arrays represented as a BinaryVector. + + The .NET data type. + + + + Initializes a new instance of the class. + + + + + Represents a serializer for represented as a binary vector. + + The .NET data type. + + + + Initializes a new instance of the class. + + + + + Represents a serializer for represented as a BinaryVector. + + The .NET data type. + + + + Initializes a new instance of the class. + + + + + Represents a serializer for BitArrays. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Booleans. + + + + + Gets a cached instance of a BooleanSerializer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for BsonArrays. + + + + + Initializes a new instance of the BsonArraySerializer class. + + + + + Gets an instance of the BsonArraySerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonBinaryDatas. + + + + + Initializes a new instance of the BsonBinaryDataSerializer class. + + + + + Gets an instance of the BsonBinaryDataSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonBooleans. + + + + + Initializes a new instance of the BsonBooleanSerializer class. + + + + + Gets an instance of the BsonBooleanSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDateTimes. + + + + + Initializes a new instance of the BsonDateTimeSerializer class. + + + + + Gets an instance of the BsonDateTimeSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDecimal128s. + + + + + Initializes a new instance of the BsonBooleanSerializer class. + + + + + Gets an instance of the BsonBooleanSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDocuments. + + + + + Initializes a new instance of the BsonDocumentSerializer class. + + + + + Gets an instance of the BsonDocumentSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the document Id. + + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Sets the document Id. + + The document. + The Id. + + + + Represents a serializer for BsonDocumentWrappers. + + + + + Initializes a new instance of the BsonDocumentWrapperSerializer class. + + + + + Gets an instance of the BsonDocumentWrapperSerializer class. + + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + An object. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonDoubles. + + + + + Initializes a new instance of the BsonDoubleSerializer class. + + + + + Gets an instance of the BsonDoubleSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonInt32s. + + + + + Initializes a new instance of the BsonInt32Serializer class. + + + + + Gets an instance of the BsonInt32Serializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonInt64s. + + + + + Initializes a new instance of the BsonInt64Serializer class. + + + + + Gets an instance of the BsonInt64Serializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonJavaScripts. + + + + + Initializes a new instance of the BsonJavaScriptSerializer class. + + + + + Gets an instance of the BsonJavaScriptSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonJavaScriptWithScopes. + + + + + Initializes a new instance of the BsonJavaScriptWithScopeSerializer class. + + + + + Gets an instance of the BsonJavaScriptWithScopeSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonMaxKeys. + + + + + Initializes a new instance of the BsonMaxKeySerializer class. + + + + + Gets an instance of the BsonMaxKeySerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonMinKeys. + + + + + Initializes a new instance of the BsonMinKeySerializer class. + + + + + Gets an instance of the BsonMinKeySerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonNulls. + + + + + Initializes a new instance of the BsonNullSerializer class. + + + + + Gets an instance of the BsonNullSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonObjectIds. + + + + + Initializes a new instance of the BsonObjectIdSerializer class. + + + + + Gets an instance of the BsonObjectIdSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonRegularExpressions. + + + + + Initializes a new instance of the BsonRegularExpressionSerializer class. + + + + + Gets an instance of the BsonRegularExpressionSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonStrings. + + + + + Initializes a new instance of the BsonStringSerializer class. + + + + + Gets an instance of the BsonStringSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonSymbols. + + + + + Initializes a new instance of the BsonSymbolSerializer class. + + + + + Gets an instance of the BsonSymbolSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonTimestamps. + + + + + Initializes a new instance of the BsonTimestampSerializer class. + + + + + Gets an instance of the BsonTimestampSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for BsonUndefineds. + + + + + Initializes a new instance of the BsonUndefinedSerializer class. + + + + + Gets an instance of the BsonUndefinedSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for a BsonValue that can round trip C# null. + + The type of the BsonValue. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for a BsonValue that can round trip C# null and implements IBsonArraySerializer and IBsonDocumentSerializer. + + The type of the bson value. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + The serialization info for the items. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for a BsonValue that can round trip C# null and implements IBsonArraySerializer. + + The type of the bson value. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for a BsonValue that can round trip C# null and implements IBsonDocumentSerializer. + + The type of the bson value. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Represents a serializer for BsonValues. + + + + + Initializes a new instance of the BsonValueSerializer class. + + + + + Gets an instance of the BsonValueSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a base class for BsonValue serializers. + + The type of the BsonValue. + + + + Initializes a new instance of the class. + + The Bson type. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for ByteArrays. + + + + + Gets a cached instance of a ByteArraySerializer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Bytes. + + + + + Gets a cached instance of a default ByteSerializer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Chars. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents an abstract base class for class serializers. + + The type of the value. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Gets the actual type. + + The context. + The actual type. + + + + Serializes a value of type {TValue}. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for CultureInfos. + + + + + Initializes a new instance of the CultureInfoSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for DateTimeOffsets. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for DateTimes. + + + + + Gets the default DateTimeSerializer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + if set to true [date only]. + + + + Initializes a new instance of the class. + + if set to true [date only]. + The representation. + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The kind. + + + + Initializes a new instance of the class. + + The kind. + The representation. + + + + Gets an instance of DateTimeSerializer with DateOnly=true. + + + + + Gets an instance of DateTimeSerializer with Kind=Local. + + + + + Gets an instance of DateTimeSerializer with Kind=Utc. + + + + + Gets whether this DateTime consists of a Date only. + + + + + Gets the DateTimeKind (Local, Unspecified or Utc). + + + + + Gets the external representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified dateOnly value. + + if set to true the values will be required to be Date's only (zero time component). + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified dateOnly value and representation. + + if set to true the values will be required to be Date's only (zero time component). + The representation. + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified DateTimeKind value. + + The DateTimeKind. + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified DateTimeKind value and representation. + + The DateTimeKind. + The representation. + + The reconfigured serializer. + + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Decimal128s. + + + + + Gets a cached instance of a Decimal128Serializer with Decimal128 representation. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Decimals. + + + + + Gets a cached instance of a DecimalSerializer with Decimal128 representation. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for a class that implements IDictionary. + + The type of the dictionary. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation and key value serializers. + + The dictionary representation. + The key serializer. + The value serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified key serializer. + + The key serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified value serializer. + + The value serializer. + The reconfigured serializer. + + + + Creates the instance. + + The instance. + + + + Represents a serializer for a class that implements . + + The type of the dictionary. + The type of the key. + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation and key value serializers. + + The dictionary representation. + The key serializer. + The value serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified key serializer. + + The key serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified value serializer. + + The value serializer. + The reconfigured serializer. + + + + + + + Represents a serializer for dictionaries. + + The type of the dictionary. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Gets the dictionary representation. + + + The dictionary representation. + + + + + Gets the key serializer. + + + The key serializer. + + + + + Gets the value serializer. + + + The value serializer. + + + + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Creates the instance. + + The instance. + + + + Represents a serializer for dictionaries. + + The type of the dictionary. + The type of the keys. + The type of the values. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Initializes a new instance of the class. + + The dictionary representation. + The serializer registry. + + + + Gets the dictionary representation. + + + The dictionary representation. + + + + + Gets the key serializer. + + + The key serializer. + + + + + Gets the value serializer. + + + The value serializer. + + + + + + + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Creates an accumulator. + + The accumulator. + + + + Finalizes an accumulator. + + The accumulator to finalize + The instance. + + + + An interface implemented by DiscriminatedInterfaceSerializer. + + + + + Gets the interface serializer. + + + + + Represents a serializer for Interfaces. + + The type of the interface. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The discriminator convention. + interfaceType + interfaceType + + + + Initializes a new instance of the class. + + The discriminator convention. + The interface serializer (necessary to support LINQ queries). + interfaceType + interfaceType + + + + Initializes a new instance of the class. + + The discriminator convention. + The interface serializer (necessary to support LINQ queries). + The serializer that is used to serialize any objects. + interfaceType + interfaceType + + + + Gets the interface serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The document. + + + + + + + Represents a serializer that serializes values as a discriminator/value pair. + + The type of the value. + + + + Initializes a new instance of the class. + + The discriminator convention. + The wrapped serializer. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Determines whether the reader is positioned at a discriminated wrapper. + + The context. + True if the reader is positioned at a discriminated wrapper. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for Doubles. + + + + + Gets a cached instance of DoubleSerializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + An interface implemented by DowncastingSerializer. + + + + + The base type that the serializer will downcast from. + + + + + The serializer for the derived type. + + + + + The derived type that the serializer will downcast to. + + + + + Static factory class for DowncastingSerializer. + + + + + Creates a new DowncastingSerializer. + + The base type. + The derived type. + The derived type serializer. + A instance. + + + + A serializer for TBase where the actual values are of type TDerived. + + The base type. + The derived type. + + + + Initializes a new instance of DowncastingSerializer. + + The derived type serializer. + + + + + + + + The serializer for the derived type. + + + + + + + + + + + + + + + + + + + + + + + + + + Base serializer for dynamic types. + + The dynamic type. + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Configures the deserialization context. + + The builder. + + + + Configures the serialization context. + + The builder. + + + + Creates the document. + + A + + + + Sets the value for the member. + + The document. + Name of the member. + The value. + + + + Tries to get the value for a member. Returns true if the member should be serialized. + + The document. + Name of the member. + The value. + true if the member should be serialized; otherwise false. + + + + A serializer that serializes a document and appends elements to the end of it. + + The type of the document. + + + + + Initializes a new instance of the class. + + The document serializer. + The elements to append. + The writer settings configurator. + + + + + + + + + + + + + + + + + + + Represents a serializer for a class that implements IEnumerable. + + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Creates the accumulator. + + The accumulator. + + + + Represents a serializer for a class that implementes . + + The type of the value. + The type of the item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Creates the accumulator. + + The accumulator. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Represents a serializer for enumerable values. + + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for enumerable values. + + The type of the value. + The type of the items. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Adds the item. + + The accumulator. + The item. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a base serializer for enumerable values. + + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the item serializer. + + + The item serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Represents a serializer for enumerable values. + + The type of the value. + The type of the items. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the item serializer. + + + The item serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + The serialization info for the items. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for enums. + + The type of the enum. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Static factory class for EnumSerializer. + + + + + Creates a EnumSerializer. + + The value type. + A EnumSerializer + + + + Serializer for . + + + The use of will serialize any without type information. + To get the best experience out of using an , any member wanting to be used + as an array should use . + + + + + Initializes a new instance of the class. + + + + + Configures the deserialization context. + + The builder. + + + + Configures the serialization context. + + The builder. + + + + Creates the document. + + + A . + + + + + Sets the value for the member. + + The document. + Name of the member. + The value. + + + + Tries to get the value for a member. Returns true if the member should be serialized. + + The value. + Name of the member. + The member value. + true if the member should be serialized; otherwise false. + + + + Represents a serializer for Guids. + + + + + Gets a cached instance of a GuidSerializer with Standard representation. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The Guid representation. + + + + Gets the Guid representation. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified Guid representation. + + The GuidRepresentation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for IEnumerable and any other derived interface implemented by TCollection. + + The type of an IEnumerable interface. + The type of the items. + The type of the collection used when deserializing. + + + + Initializes a new instance of the IEnumerableDeserializingAsCollectionSerializer class. + + + + + Initializes a new instance of the IEnumerableDeserializingAsCollectionSerializer class. + + The item serializer. + + + + Initializes a new instance of the IEnumerableDeserializingAsCollectionSerializer class. + + The serializer registry. + + + + Gets the item serializer. + + + The item serializer. + + + + + + + + + + + + + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + The serialization info for the items. + + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + An interface implemented by ImpliedImplementationInterfaceSerializer. + + + + + Gets the serializer for the implied implementation. + + + + + Represents a serializer for Interfaces. + + The type of the interface. + The type of the implementation. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The implementation serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the dictionary representation. + + + The dictionary representation. + + + + + + Gets the key serializer. + + + The key serializer. + + + + + + Gets the implementation serializer. + + + The implementation serializer. + + + + + Gets the value serializer. + + + The value serializer. + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The document. + + + + Returns a serializer that has been reconfigured with the specified implementation serializer. + + The implementation serializer. + + The reconfigured serializer. + + + + + Represents a serializer for Int16s. + + + + + Gets a cached instance of an Int16Serializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Int32. + + + + + Gets a cached instance of an Int32Serializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Int64s. + + + + + Gets a cached instance of an Int64Serializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for IOrderedEnumerable. + + The type of the items. + + + + Initializes a new instance of IOrderedEnumerableSerializer. + + The item serializer. + The message to use when throwing an exception because ThenBy is not supported. + + + + + + + + + + + + + + + + + + + A factory class for instances of IOrderedEnumerableSerializer<TItem>. + + + + + Creates an instance IOrderedEnumerableSerializer<TItem>. + + The item serializer. + The message to use when throwing an exception because ThenBy is not supported. + An IOrderedEnumerableSerializer<TItem>. + + + + Represents a serializer for IPAddresses. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for IPEndPoints. + + + + + Initializes a new instance of the IPEndPointSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + An interface implemented by KeyValuePairSerializer. + + + + + Gets the representation. + + + + + Represents a serializer for KeyValuePairs. + + The type of the keys. + The type of the values. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The key serializer. + The value serializer. + + + + Initializes a new instance of the class. + + The representation. + The serializer registry. + + + + Gets the key serializer. + + + The key serializer. + + + + + Gets the representation. + + + The representation. + + + + + Gets the value serializer. + + + The value serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + + + + Represents a serializer for LazyBsonArrays. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for LazyBsonDocuments. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for . + + The type of the item. Only primitive numeric types are supported. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + + + + + + + Represents a serializer for . + + The type of the item. Only primitive numeric types are supported. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + + + + + + + Represents an abstract base class for and serializers. + + The type of the item. Only primitive numeric types are supported. + The type of the memory struct. + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + + + + + + + Creates the Memory{TITem} structure. + + The items to initialize the resulting instance with. + The created memory structure. + + + + Get the memory structure from TMemory instance. + + The Memory{TITem} structure. + + + + An interface used by the LINQ3 translators to access the value serializer without needing to use reflection. + + + + + Gets the value serializer. + + + + + Static factory class for NullableSerializers. + + + + + Creates a NullableSerializer. + + The value serializer. + A NullableSerializer + + + + Represents a serializer for nullable values. + + The underlying type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the value serializer. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified serializer. + + The serializer. + + The reconfigured serializer. + + + + + Represents a serializer for ObjectIds. + + + + + Gets a cached instance of an ObjectId serializer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for objects. + + + + + An allowed types function that returns true for all types. + + + + + An allowed types function that returns true for framework types known to be safe. + + + + + Gets the standard instance. + + + + + An allowed types function that returns false for all types. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The discriminator convention. + discriminatorConvention + + + + Initializes a new instance of the class. + + The discriminator convention. + The Guid representation. + + + + Initializes a new instance of the class. + + A delegate that determines what types are allowed. + + + + Initializes a new instance of the class. + + The discriminator convention. + A delegate that determines what types are allowed. + + + + Initializes a new instance of the class. + + The discriminator convention. + The Guid representation. + A delegate that determines what types are allowed. + + + + Initializes a new instance of the class. + + The discriminator convention. + The Guid representation. + A delegate that determines what types are allowed to be deserialized. + A delegate that determines what types are allowed to be serialized. + + + + Gets the AllowedDeserializationTypes filter; + + + + + Gets the AllowedSerializationTypes filter; + + + + + Gets the discriminator convention. + + + + + Gets the GuidRepresentation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a new ObjectSerializer configured the same but with the specified discriminator convention. + + The discriminator convention. + An ObjectSerializer with the specified discriminator convention. + + + + Returns a new ObjectSerializer configured the same but with the specified allowed types delegates. + + A delegate that determines what types are allowed to be deserialized. + A delegate that determines what types are allowed to be serialized. + + + + + Represents a serializer for a BsonDocument with some parts raw. + + + + + Initializes a new instance of the class. + + The name. + The raw serializer. + + + + + + + + + + + + + Wraps a serializer and projects using a function. + + The type of from. + The type of to. + + + + Initializes a new instance of the class. + + From serializer. + The projector. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Represents a serializer for Queues. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items. + + The value. + The items. + + + + Finalizes the result. + + The instance. + The result. + + + + Represents a serializer for Queues. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for RawBsonArrays. + + + + + Initializes a new instance of the class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Represents a serializer for RawBsonDocuments. + + + + + Initializes a new instance of the class. + + + + + Gets the instance. + + + The instance. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + + + + Represents a serializer for readonly collection. + + The type of the item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Creates the accumulator. + + The accumulator. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Represents a serializer for a subclass of ReadOnlyCollection. + + The type of the value. + The type of the item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Creates the accumulator. + + The accumulator. + + + + Finalizes the result. + + The accumulator. + The final result. + + + + Represents a serializer for a class that implements . + + The type of the dictionary. + The type of the key. + The type of the value. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The dictionary representation. + + + + Initializes a new instance of the class. + + The dictionary representation. + The key serializer. + The value serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation. + + The dictionary representation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified dictionary representation and key value serializers. + + The dictionary representation. + The key serializer. + The value serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified key serializer. + + The key serializer. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified value serializer. + + The value serializer. + The reconfigured serializer. + + + + + + + + + + Represents a serializer for Regex. + + + + + Gets a cached instance of a RegexSerializer with RegularExpression representation. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for SBytes. + + + + + Gets a cached instance of an SByteSerializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents an abstract base class for sealed class serializers. + + The type of the value. + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value of type {TValue}. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a class that will be serialized as if it were one of its base classes. + + The actual type. + The nominal type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base class serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents an abstract base class for serializers. + + The type of the value. + + + + Gets the type of the values. + + + The type of the values. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Creates an exception to throw when a type cannot be deserialized. + + An exception. + + + + Creates an exception to throw when a type cannot be deserialized. + + An exception. + + + + Creates an exception to throw when a type cannot be deserialized from a BsonType. + + The BSON type. + An exception. + + + + Ensures that the BsonType equals the expected type. + + The reader. + The expected type. + + + + Represents a helper for serializers. + + + + + Initializes a new instance of the class. + + The members. + + + + Deserializes the members. + + The deserialization context. + The member handler. + The found member flags. + + + + Represents information about a member. + + + + + Initializes a new instance of the class. + + The name of the element. + The flag. + Whether the member is optional. + + + + Gets the flag. + + + The flag. + + + + + Gets the name of the element. + + + The name of the element. + + + + + Gets a value indicating whether this member is optional. + + Whether this member is optional. + + + + Represents a serializer for Singles. + + + + + Gets a cached instance of an SingleSerializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for Stacks. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for Stacks. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Adds the item. + + The accumulator. + The item. + + + + Creates the accumulator. + + The accumulator. + + + + Enumerates the items in serialization order. + + The value. + The items. + + + + Finalizes the result. + + The accumulator. + The result. + + + + Represents a serializer for Strings. + + + + + Gets a cached instance of a default string serializer. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents an abstract base class for struct serializers. + + The type of the value. + + + + Represents a serializer for three-dimensional arrays. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the item serializer. + + + The item serializer. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for Timespans. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The units. + + + + Gets the representation. + + + The representation. + + + + + Gets the units. + + + The units. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation and units. + + The representation. + The units. + + The reconfigured serializer. + + + + + An interface implemented by tuple serializers. + + + + + Gets ths serializer for an item. + + The item number. + The serializer for the item. + + + + A factory class for TupleSerializers. + + + + + Creates a TupleSerializer. + + The item serializers. + A TupleSerializer. + + + + Tries to parse an item name to an item number. + + The item name. + The item number. + True if the item name was valid. + + + + Represents a serializer for a . + + The type of item 1. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + The type of item 7. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + The Item7 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + Gets the Item7 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + The type of item 7. + The type of the rest item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + The Item7 serializer. + The Rest serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + Gets the Item7 serializer. + + + + + Gets the Rest serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for two-dimensional arrays. + + The type of the elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The item serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the item serializer. + + + The item serializer. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. + + + + Represents a serializer for UInt16s. + + + + + Gets a cached instance of an UInt16Serializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for UInt32s. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for UInt64s. + + + + + Gets a cached instance of an UInt64Serializer; + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Initializes a new instance of the class. + + The representation. + The converter. + + + + Gets the converter. + + + The converter. + + + + + Gets the representation. + + + The representation. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + + + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The converter. + The reconfigured serializer. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for interfaces and base classes that delegates to the actual type interface without writing a discriminator. + + Type type of the value. + + + + Initializes a new instance of the class. + + + + + Gets the instance. + + + The instance. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The document. + + + + Represents a serializer for Uris. + + + + + Initializes a new instance of the UriSerializer class. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + A factory class for ValueTupleSerializers. + + + + + Creates a ValueTupleSerializer. + + The item serializers. + A ValueTupleSerializer. + + + + Represents a serializer for a . + + The type of item 1. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + The type of item 7. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + The Item7 serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + Gets the Item7 serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for a . + + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + The type of item 7. + The type of the rest item. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + The Item7 serializer. + The Rest serializer. + + + + Initializes a new instance of the class. + + The serializer registry. + + + + Gets the Item1 serializer. + + + + + Gets the Item2 serializer. + + + + + Gets the Item3 serializer. + + + + + Gets the Item4 serializer. + + + + + Gets the Item5 serializer. + + + + + Gets the Item6 serializer. + + + + + Gets the Item7 serializer. + + + + + Gets the Rest serializer. + + + + + + + + + + + + + + + + + + + + Represents a serializer for Versions. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The representation. + + + + Gets the representation. + + + The representation. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. + + + + Represents a serializer for a class map. + + The type of the class. + + + + Initializes a new instance of the BsonClassMapSerializer class. + + The class map. + + + + + + + Gets a value indicating whether this serializer's discriminator is compatible with the object serializer. + + + true if this serializer's discriminator is compatible with the object serializer; otherwise, false. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + + + Deserializes a value. + + The deserialization context. + A deserialized value. + + + + + + + + + + Gets the document Id. + + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Serializes a value. + + The serialization context. + The serialization args. + The object. + + + + Sets the document Id. + + The document. + The Id. + + + + Represents a serializer for TClass (a subclass of BsonDocumentBackedClass). + + The subclass of BsonDocumentBackedClass. + + + + Initializes a new instance of the class. + + + + + + + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + + + + Registers a member. + + The member name. + The element name. + The serializer. + + + + + + + Creates the instance. + + The backing document. + An instance of TClass. + + + + Represents a serialization provider based on a mapping from value types to serializer types. + + + + + Initializes a new instance of the class. + + + + + + + + Registers the serializer mapping. + + The type. + Type of the serializer. + + + + Supports using type names as discriminators. + + + + + Resolves a type name discriminator. + + The type name. + The type if type type name can be resolved; otherwise, null. + + + + Gets a type name to be used as a discriminator (like AssemblyQualifiedName but shortened for common DLLs). + + The type. + The type name. + + + + Sets the representation for this field or property as a binary vector with the specified data type. + + + + + Initializes a new instance of the class. + + + + + Gets the vector data type. + + + + + Applies the attribute to the member map. + + The member map. + + + diff --git a/local-nugets/mongodb.bson/3.5.0/mongodb.bson.3.5.0.nupkg b/local-nugets/mongodb.bson/3.5.0/mongodb.bson.3.5.0.nupkg new file mode 100644 index 000000000..55f006d65 Binary files /dev/null and b/local-nugets/mongodb.bson/3.5.0/mongodb.bson.3.5.0.nupkg differ diff --git a/local-nugets/mongodb.bson/3.5.0/mongodb.bson.3.5.0.nupkg.sha512 b/local-nugets/mongodb.bson/3.5.0/mongodb.bson.3.5.0.nupkg.sha512 new file mode 100644 index 000000000..9fc3e81af --- /dev/null +++ b/local-nugets/mongodb.bson/3.5.0/mongodb.bson.3.5.0.nupkg.sha512 @@ -0,0 +1 @@ +7Ncy+bC/AgpWOKr3ctSzFCRgwwXhhHUfsqMvg8iv2duvjvut5CKJ2KhT4IPaWIb74B7XNfHbgKR13A4upDTJXQ== \ No newline at end of file diff --git a/local-nugets/mongodb.bson/3.5.0/packageIcon.png b/local-nugets/mongodb.bson/3.5.0/packageIcon.png new file mode 100644 index 000000000..e55bc6a1c Binary files /dev/null and b/local-nugets/mongodb.bson/3.5.0/packageIcon.png differ diff --git a/local-nugets/mongodb.driver/3.5.0/.nupkg.metadata b/local-nugets/mongodb.driver/3.5.0/.nupkg.metadata new file mode 100644 index 000000000..8440a4e52 --- /dev/null +++ b/local-nugets/mongodb.driver/3.5.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "ST90u7psyMkNNOWFgSkexsrB3kPn7Ynl2DlMFj2rJyYuc6SIxjmzu4ufy51yzM+cPVE1SvVcdb5UFobrRw6cMg==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/local-nugets/mongodb.driver/3.5.0/.signature.p7s b/local-nugets/mongodb.driver/3.5.0/.signature.p7s new file mode 100644 index 000000000..49b057f80 Binary files /dev/null and b/local-nugets/mongodb.driver/3.5.0/.signature.p7s differ diff --git a/local-nugets/mongodb.driver/3.5.0/MongoDB.Driver.nuspec b/local-nugets/mongodb.driver/3.5.0/MongoDB.Driver.nuspec new file mode 100644 index 000000000..ea63161e6 --- /dev/null +++ b/local-nugets/mongodb.driver/3.5.0/MongoDB.Driver.nuspec @@ -0,0 +1,60 @@ + + + + MongoDB.Driver + 3.5.0 + MongoDB Inc. + true + Apache-2.0 + https://licenses.nuget.org/Apache-2.0 + packageIcon.png + README.md + https://www.mongodb.com/docs/drivers/csharp/ + Official .NET driver for MongoDB. + https://github.com/mongodb/mongo-csharp-driver/releases/tag/v3.5.0 + Copyright © 2010-present MongoDB Inc. + mongodb mongo nosql + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nugets/mongodb.driver/3.5.0/README.md b/local-nugets/mongodb.driver/3.5.0/README.md new file mode 100644 index 000000000..a4b7f919d --- /dev/null +++ b/local-nugets/mongodb.driver/3.5.0/README.md @@ -0,0 +1,87 @@ +MongoDB C# Driver +================= + +[![MongoDB.Driver](https://img.shields.io/nuget/v/MongoDB.Driver.svg)](https://www.nuget.org/packages/MongoDB.Driver/) +[![Documentation](https://img.shields.io/badge/docs-docfx-blue.svg)](https://mongodb.github.io/mongo-csharp-driver/3.4.0/api/index.html) +[![Documentation](https://img.shields.io/badge/docs-mongo-green.svg)](https://www.mongodb.com/docs/drivers/csharp/current/) +[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/mongodb/mongo-csharp-driver/blob/main/LICENSE.md) + +The official MongoDB .NET/C# driver. + +The MongoDB .NET/C# driver follows [semantic versioning](https://semver.org/) since v3.0.0 of its releases. + +Getting Started +--------------- + +### Untyped Documents +```C# +using MongoDB.Bson; +using MongoDB.Driver; +``` + +```C# +var client = new MongoClient("mongodb://localhost:27017"); +var database = client.GetDatabase("foo"); +var collection = database.GetCollection("bar"); + +await collection.InsertOneAsync(new BsonDocument("Name", "Jack")); + +var list = await collection.Find(new BsonDocument("Name", "Jack")) + .ToListAsync(); + +foreach(var document in list) +{ + Console.WriteLine(document["Name"]); +} +``` + +### Typed Documents + +```C# +using MongoDB.Bson; +using MongoDB.Driver; +``` + +```C# +public class Person +{ + public ObjectId Id { get; set; } + public string Name { get; set; } +} +``` + +```C# +var client = new MongoClient("mongodb://localhost:27017"); +var database = client.GetDatabase("foo"); +var collection = database.GetCollection("bar"); + +await collection.InsertOneAsync(new Person { Name = "Jack" }); + +var list = await collection.Find(x => x.Name == "Jack") + .ToListAsync(); + +foreach(var person in list) +{ + Console.WriteLine(person.Name); +} +``` + +Documentation +------------- +* [MongoDB](https://www.mongodb.com/docs) +* [.NET/C# Driver](https://www.mongodb.com/docs/drivers/csharp/current/) +* [API Reference](https://mongodb.github.io/mongo-csharp-driver/3.4.0/api/index.html) + +Questions/Bug Reports +--------------------- +* [MongoDB Community Forum](https://www.mongodb.com/community/forums/tags/c/data/drivers-odms/7/dot-net) +* [Jira](https://jira.mongodb.org/browse/CSHARP) + +If you’ve identified a security vulnerability in a driver or any other MongoDB project, please report it according to the [instructions here](https://www.mongodb.com/docs/manual/tutorial/create-a-vulnerability-report). + +Contributing +------------ + +Please see our [guidelines](CONTRIBUTING.md) for contributing to the driver. + +Thank you to [everyone](https://github.com/mongodb/mongo-csharp-driver/graphs/contributors) who has contributed to this project. diff --git a/local-nugets/mongodb.driver/3.5.0/lib/net472/MongoDB.Driver.xml b/local-nugets/mongodb.driver/3.5.0/lib/net472/MongoDB.Driver.xml new file mode 100644 index 000000000..693563b90 --- /dev/null +++ b/local-nugets/mongodb.driver/3.5.0/lib/net472/MongoDB.Driver.xml @@ -0,0 +1,44093 @@ + + + + MongoDB.Driver + + + + + Represents the granularity value for a $bucketAuto stage. + + + + + Gets the E6 granularity. + + + + + Gets the E12 granularity. + + + + + Gets the E24 granularity. + + + + + Gets the E48 granularity. + + + + + Gets the E96 granularity. + + + + + Gets the E192 granularity. + + + + + Gets the POWERSOF2 granularity. + + + + + Gets the R5 granularity. + + + + + Gets the R10 granularity. + + + + + Gets the R20 granularity. + + + + + Gets the R40 granularity. + + + + + Gets the R80 granularity. + + + + + Gets the 1-2-5 granularity. + + + + + Initializes a new instance of the struct. + + The value. + + + + Gets the value. + + + + + Represents options for the BucketAuto method. + + + + + Gets or sets the granularity. + + + + + Represents the result of the $bucketAuto stage. + + The type of the value. + + + + Initializes a new instance of the class. + + The inclusive lower boundary of the bucket. + The count. + + + + Initializes a new instance of the class. + + The minimum. + The maximum. + The count. + + + + Gets the inclusive lower boundary of the bucket. + + + The inclusive lower boundary of the bucket. + + + + + Gets the count. + + + The count. + + + + + Gets the maximum. + + + + + Gets the minimum. + + + + + Represents the _id value in the result of a $bucketAuto stage. + + The type of the values. + + + + Initializes a new instance of the class. + + The minimum. + The maximum. + + + + Gets the max value. + + + + + Gets the min value. + + + + + Static factory class for AggregateBucketAutoResultIdSerializer. + + + + + Creates an instance of AggregateBucketAutoResultIdSerializer. + + The value type. + The value serializer. + A AggregateBucketAutoResultIdSerializer. + + + + A serializer for AggregateBucketAutoResultId. + + The type of the values. + + + + Initializes a new instance of the class. + + The value serializer. + + + + + + + + + + + + + + + + + + + Represents options for the Bucket method. + + The type of the value. + + + + Gets or sets the default bucket. + + + + + Represents the result of the $bucket stage. + + The type of the value. + + + + Initializes a new instance of the class. + + The inclusive lower boundary of the bucket. + The count. + + + + Gets the inclusive lower boundary of the bucket. + + + The inclusive lower boundary of the bucket. + + + + + Gets the count. + + + The count. + + + + + Result type for the aggregate $count stage. + + + + + Initializes a new instance of the class. + + The count. + + + + Gets the count. + + + The count. + + + + + An aggregation expression. + + The type of the source. + The type of the result. + + + + Performs an implicit conversion from to . + + The expression. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The expression. + + The result of the conversion. + + + + + Renders the aggregation expression to a . + + The render arguments. + A . + + + + A based aggregate expression. + + The type of the source. + The type of the result. + + + + + Initializes a new instance of the class. + + The expression. + + + + + + + A based aggregate expression. + + The type of the source. + The type of the result. + + + + + Initializes a new instance of the class. + + The expression. + + + + + + + An aggregate expression for the $documents stage. + + The type of the documents. + + + + + Initializes a new instance of the class. + + The documents. + The document serializer. + + + + + + + Represents static methods for creating facets. + + + + + Creates a new instance of the class. + + The type of the input documents. + The type of the output documents. + The facet name. + The facet pipeline. + + A new instance of the class + + + + + Represents a facet to be passed to the Facet method. + + The type of the input documents. + + + + Initializes a new instance of the class. + + The facet name. + + + + Gets the facet name. + + + + + Gets the output serializer. + + + + + Gets the type of the output documents. + + + + + Renders the facet pipeline. + + The render arguments. + A . + + + + Represents a facet to be passed to the Facet method. + + The type of the input documents. + The type of the output documents. + + + + Initializes a new instance of the class. + + The facet name. + The facet pipeline. + + + + + + + + + + Gets the facet pipeline. + + + + + + + + Options for the aggregate $facet stage. + + The type of the output documents. + + + + Gets or sets the output serializer. + + + + + Represents an abstract AggregateFacetResult with an arbitrary TOutput type. + + + + + Initializes a new instance of the class. + + The name of the facet. + + + + Gets the name of the facet. + + + + + Gets the output of the facet. + + The type of the output documents. + The output of the facet. + + + + Represents the result of a single facet. + + The type of the output. + + + + Initializes a new instance of the class. + + The name. + The output. + + + + Gets or sets the output. + + + The output. + + + + + Represents the results of a $facet stage with an arbitrary number of facets. + + + + + Initializes a new instance of the class. + + The facets. + + + + Gets the facets. + + + + + Base class for implementors of . + + The type of the document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents options for the GraphLookup method. + + The type of from documents. + The type of the as field elements. + The type of the output documents. + + + + Gets or sets the TAsElement serialzier. + + + + + Gets or sets the TFrom serializer. + + + + + Gets or sets the maximum depth. + + + + + Gets or sets the output serializer. + + + + + Gets the filter to restrict the search with. + + + + + Options for the aggregate $lookup stage. + + The type of the foreign document. + The type of the result. + + + + Gets or sets the foreign document serializer. + + + + + Gets or sets the result serializer. + + + + + Options for an aggregate operation. + + + + + Creates an AggregateOptions instance with the specified translation options. + + The translation options. + An AggregateOptions instance. + + + + Gets or sets a value indicating whether to allow disk use. + + + + + Gets or sets the size of a batch. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. This must either be a BsonString representing the index name or a BsonDocument representing the key pattern of the index. + + + + + Gets or sets the "let" definition. + + + + + Gets or sets the maximum await time. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the operation timeout. + + + + + Gets or sets the translation options. + + + + + Gets or sets a value indicating whether to use a cursor. + + + + + Result type for the aggregate $sortByCount stage. + + The type of the identifier. + + + + Initializes a new instance of the class. + + The identifier. + The count. + + + + Gets the count. + + + The count. + + + + + Gets the identifier. + + + The identifier. + + + + + Options for the $unwind aggregation stage. + + The type of the result. + + + + Gets or sets the field with which to include the array index. + + + + + Gets or sets whether to preserve null and empty arrays. + + + + + Gets or sets the result serializer. + + + + + Base class for array filters. + + + + + Gets the type of an item. + + + The type of an item. + + + + + Renders the array filter to a . + + The item serializer. + The serializer registry. + + A . + + + + + Base class for array filters. + + The type of an item. + + + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Renders the array filter to a . + + The item serializer. + The serializer registry. + + A . + + + + + A based array filter. + + The type of an item. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + The document. + + + + + + + + + + + A JSON based array filter. + + The type of an item. + + + + Initializes a new instance of the class. + + The JSON string. + + + + Gets the document. + + + The document. + + + + + Gets the JSON string. + + + The JSON string. + + + + + + + + + + + The default authenticator. + If saslSupportedMechs is not present in the hello or legacy hello results for mechanism negotiation uses SCRAM-SHA-1. + Else, uses SCRAM-SHA-256 if present in the list of mechanisms. Otherwise, uses + SCRAM-SHA-1 the default, regardless of whether SCRAM-SHA-1 is in the list. + + + + + Represents a Libgssapi exception. + + + + + Initializes a new instance of the class. + + Error message from libgssapi. + + + + Initializes a new instance of the class. + + The info. + The context. + + + + SEC_WINNT_AUTH_IDENTITY + + + + + Flag for the AuthIdentity structure. + + + + + SEC_WINNT_AUTH_IDENTITY_ANSI + + + + + SEC_WINNT_AUTH_IDENTITY_UNICODE + + + + + Flags for InitiateSecurityContext. + + + See the TargetDataRep parameter at + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375507(v=vs.85).aspx + + + + + SECURITY_NETWORK_DREP + + + + + SECURITY_NATIVE_DREP + + + + + Flags for EncryptMessage. + + + See the fQOP parameter at + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375378(v=vs.85).aspx. + + + + + SECQOP_WRAP_NO_ENCRYPT + + + + + Creates an exception for the specified error code. + + The error code. + The default message. + A Win32Exception. + + + + Acquires the credentials handle. + + The principal. + The package. + The credential usage. + The logon id. + The identity. + The key callback. + The key argument. + The credential handle. + The timestamp. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa374712(v=vs.85).aspx + + + + + Acquires the credentials handle. + + The principal. + The package. + The credential usage. + The logon id. + The identity. + The key callback. + The key argument. + The credential handle. + The timestamp. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa374712(v=vs.85).aspx + + + + + Deletes the security context. + + The context. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375354(v=vs.85).aspx + + + + + Decrypts the message. + + The context. + The p message. + The sequence number. + The quality. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375211(v=vs.85).aspx + + + + + Encrypts the message. + + The context. + The quality. + The p message. + The sequence number. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375378(v=vs.85).aspx + + + + + Enumerates the security packages. + + The pc packages. + The pp package information. + A result code. + + http://msdn.microsoft.com/en-us/library/aa375397%28v=VS.85%29.aspx + + + + + Frees the context buffer. + + The context buffer. + A result code. + + http://msdn.microsoft.com/en-us/library/aa375416(v=vs.85).aspx + + + + + Frees the credentials handle. + + The sspi handle. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375417(v=vs.85).aspx + + + + + Initializes the security context. + + The credential handle. + The in context PTR. + Name of the target. + The flags. + The reserved1. + The data representation. + The input buffer. + The reserved2. + The out context handle. + The output buffer. + The out attributes. + The timestamp. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375506(v=vs.85).aspx + + + + + Initializes the security context. + + The credential handle. + The in context handle. + Name of the target. + The flags. + The reserved1. + The data representation. + The input buffer. + The reserved2. + The out context. + The output buffer. + The out attributes. + The timestamp. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375506(v=vs.85).aspx + + + + + Queries the context attributes. + + The in context handle. + The attribute. + The sizes. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa379326(v=vs.85).aspx + + + + + Flags for QueryContextAttributes. + + + See the ulAttribute parameter at + http://msdn.microsoft.com/en-us/library/windows/desktop/aa379326(v=vs.85).aspx. + + + + + SECPKG_ATTR_SIZES + + + + + A SecBuffer structure. + + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa379814(v=vs.85).aspx + + + + + A SecBufferDesc structure. + + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa379815(v=vs.85).aspx + + + + + To the byte array. + + A byte array. + Object has already been disposed!!! + + + + Types for the SecurityBuffer structure. + + + + + SECBUFFER_VERSION + + + + + SECBUFFER_EMPTY + + + + + SECBUFFER_DATA + + + + + SECBUFFER_TOKEN + + + + + SECBUFFER_PADDING + + + + + SECBUFFER_STREAM + + + + + Flags for AcquireCredentialsHandle. + + + See the fCredentialUse at http://msdn.microsoft.com/en-us/library/windows/desktop/aa374712(v=vs.85).aspx. + + + + + SECPKG_CRED_OUTBOUND + + + + + A SecPkgContext_Sizes structure. + + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa380097(v=vs.85).aspx + + + + + A SecPkgInfo structure. + + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa380104(v=vs.85).aspx + + + + + Flags for InitiateSecurityContext. + + + See the fContextReq parameter at + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375507(v=vs.85).aspx + + + + + ISC_REQ_MUTUAL_AUTH + + + + + ISC_REQ_CONFIDENTIALITY + + + + + ISC_REQ_INTEGRITY + + + + + A SecHandle structure. + + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa380495(v=vs.85).aspx + + + + + Gets a value indicating whether this instance is zero. + + + true if this instance is zero; otherwise, false. + + + + + Sets to invalid. + + + + + This is represented as a string in AcquireCredentialsHandle. This value will have .ToString() called on it. + + + + + Kerberos + + + + + A wrapper around the SspiHandle structure specifically used as a security context handle. + + + + + A wrapper around the SspiHandle structure specifically used as a credential handle. + + + + + When overridden in a derived class, executes the code required to free the handle. + + + true if the handle is released successfully; otherwise, in the event of a catastrophic failure, false. In this case, it generates a releaseHandleFailed MDA Managed Debugging Assistant. + + + + + Thrown from a win32 wrapped operation. + + + + + Initializes a new instance of the class. + + The error code. + + + + Initializes a new instance of the class. + + The error code. + The message. + + + + Initializes a new instance of the class. + + The info. + The context. + + + + Thrown from a GSSAPI-related method. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The info. + The context. + + + + Represents a SASL mechanism. + + + + + Gets the name of the mechanism. + + + + + Gets the name of the database. + + + + + Creates speculative authentication step if supported. + + Speculative authenticate step if supported by mechanism, otherwise null. + + + + Optionally customizes SASL start command. + + Sasl Start Command + Mutated command + + + + Method called when server returns 391 error (ReauthenticationRequired), so auth mechanism can clear cache or perform another activity to reset mechanism internal state. + + + + + Initializes the SASL conversation for the connection. + + The SASL conversation. + The connection description. + The initial SASL step. + + + + Tries to handle the authentication exception. + + The exception. + The step caused the exception. + The SASL conversation. + The connection description. + Next step to continue authentication with. + true if the exception was handled and authentication can be continued with ; otherwise false + + + + SASL Mechanism Registry. + + + + + Registers new SASL mechanism factory. + + Mechanism name. + Factory method. + + + + Creates SASL mechanism if possible. + + Sasl context. + When this method succeeds contains the created mechanism, otherwise null. + true if the requested provider was created, otherwise false. + + + + Represents a SASL step. + + + + + Executes the SASL step and create the next step. + + The SASL conversation. + The bytes received from server. + The cancellation token. + The next SASL step. + + + + Executes the SASL step and create the next step. + + The SASL conversation. + The bytes received from server. + The cancellation token. + The next SASL step. + + + + Represents OIDC callback request. + + + + + Initializes a new instance of the class. + + Callback API version number. + User name. + + + + Callback API version number. + + + + + User name. + + + + + Represents OIDC callback response. + + + + + Initializes a new instance of the class. + + OIDC Access Token string. + Expiration duration for the Access Token. + + + + OIDC Access Token string. + + + + + Expiration duration for the Access Token. + + + + + Represents OIDC callback provider. + + + + + Get OIDC callback response. + + The information used by callbacks to authenticate with the Identity Provider. + The cancellation token. + OIDC callback response + + + + Get OIDC callback response. + + The information used by callbacks to authenticate with the Identity Provider. + The cancellation token. + OIDC callback response + + + + Represents SASL context. + + + + + Remove endpoint of the current connection. + + + + + Cluster's end points. + + + + + Identity. + + + + + Identity Evidence. + + + + + Configured SASL Mechanism. + + + + + SASL Mechanism's properties. + + + + + Represents a SASL conversation. + + + + + Initializes a new instance of the class. + + The connection identifier. + The connection remote EndPoint + + + + Gets the connection identifier. + + + + + Gets the connection remote EndPoint. + + + + + Registers the item for disposal. + + The disposable item. + + + + + + + Per RFC5802: https://tools.ietf.org/html/rfc5802 + "SCRAM is a SASL mechanism whose client response and server challenge + messages are text-based messages containing one or more attribute- + value pairs separated by commas. Each attribute has a one-letter + name." + + + + + Utility class for Sasl string preparation. + + + + + Return the SASLPrep-canonicalised version of the given for use as a query string. + This implements the {@code SASLPrep} algorithm defined in RFC 4013. + See RFC 3454, Section 7 for discussion of what a + query string is. + + The string to canonicalise. + The canonicalised string. + + + + Return the SASLPrep-canonicalised version of the given for use as a stored string. + This implements the SASLPrep algorithm defined in RFC 4013. + See RFC 3454, Section 7 for discussion of what a + stored string is. + + The string to canonicalise. + The canonicalised string. + + + + Return true if the given is an ASCII control character as defined by + RFC 3454, Appendix C.2.1. + + The character. + Whether the given character is an ASCII control character. + + + + Return true if the given is a "change display properties" or a deprecated + character as defined by RFC 3454, Appendix C.8. + + The Unicode character's codepoint. + Whether the codepoint is a "change display properties" or a deprecated character. + + + + Returns the number of characters required to represent a specified Unicode character. + + The Unicode character's codepoint. + Number of characters required to represent a specified Unicode character. + + + + Return true if the given is inappropriate for canonical representation + characters as defined by RFC 3454, Appendix C.7. + + The Unicode character's codepoint. + True if the codepoint is inappropriate for canonical. + + + + Return true if the given is inappropriate for plain text characters as defined + by RFC 3454, Appendix C.6. + + The Unicode character's codepoint. + True if the codepoint is inappropriate for plain text. + + + + Returns whether or not a Unicode character represented by a codepoint is defined in Unicode. + A character is considered to be defined if its Unicode designation is "Cn" (other, not assigned) OR if it is + part of a surrogate pair. + + The Unicode character's codepoint. + Whether or not the Unicode character represnted by codepoint is defined in Unicode. + + + + Returns whether or not a Unicode character represented by a codepoint is an "LCat" character. + See RFC 3454: Section 6 and + RFC 3454: Appendix D.2 for more details. + + The Unicode character's codepoint. + Whether or not the character is an "LCat" character. + + + + Returns whether or not a Unicode character represented by a codepoint is an "RandALCat" character. + See RFC 3454: Section 6 and + RFC 3454: Appendix D.1 for more details. + + The Unicode character's codepoint. + Whether or not the character is an "RandALCat" character. + + + + Return true if the given is a "commonly mapped to nothing" character as defined by + RFC 3454, Appendix B.1. + + The character. + Whether the given character is a "commonly mapped to nothing" character. + + + + Return true if the given is a non-ASCII control character as defined by + RFC 3454, Appendix C.2.2. + + The Unicode character's codepoint. + Whether the given character is a non-ASCII control character. + + + + Return true if the given is a non-ASCII space character as defined by + RFC 3454, Appendix C.1.2. + + The character. + Whether the given character is a non-ASCII space character. + + + + Return true if the given is a non-character code point as defined by + RFC 3454, Appendix C.4. + + The Unicode character's codepoint. + Whether the given is a non-character code point. + + + + Return true if the given is a private use character as defined by + RFC 3454, Appendix C.3. + + The Unicode character's codepoint. + Whether if the given codepoint is a private use character. + + + + Return true if the given is a prohibited character as defined by + RFC 4013, Section 2.3. + + The Unicode character's codepoint. + Whether the codepoint is a prohibited character. + + + + Return true if the given is a surrogate code point as defined by + RFC 3454, Appendix C.5. + + The Unicode character's codepoint. + Whether the given is a surrogate code point. + + + + Return true if the given is a tagging character as defined by + RFC 3454, Appendix C.9. + + The Unicode character's codepoint. + True if the codepoint is a tagging character. + + + + An H function as defined in RFC5802. + + The data to hash. Also called "str" in RFC5802. + + + + A Hi function used to compute the SaltedPassword as defined in RFC5802, except with "str" parameter replaced + with a UsernamePassword credential so that the password can be optionally digested/prepped in a secure fashion + before being consumed as the "str" parameter would be in RFC5802's Hi. + + The credential to be digested/prepped before being consumed as the "str" + parameter would be in RFC5802's Hi + The salt. + The iteration count. + + + + An HMAC function as defined in RFC5802, plus the encoding of the data. + + The encoding of the data. + The data. Also called "str" in RFC5802. + The key. + + + + A cache for Client and Server keys, to be used during authentication. + + + + + Try to get a cached entry. + + The key. + The entry. + True if the cache contained an entry for the key. + + + + Add a cached entry. + + The key. + The entry. + + + + Initializes a new instance of the class. + + The source. + The username. + The password. + + + + Initializes a new instance of the class. + Less secure when used in conjunction with SCRAM-SHA-256, due to the need to store the password in a managed + string in order to SaslPrep it. + See Driver Authentication: SCRAM-SHA-256 + for additional details. + + The source. + The username. + The password. + + + + Auto encryption options. + + + + + Initializes a new instance of the class. + + The keyVault namespace. + The kms providers. + The bypass auto encryption flag. + The extra options. + The keyVault client. + The schema map. + The tls options. + The encryptedFields map. + The bypass query analysis flag. + + + + Gets a value indicating whether to bypass automatic encryption. + + + true if automatic encryption should be bypasssed; otherwise, false. + + + + + Gets a value indicating whether to bypass query analysis. + + + + + Gets the data encryption key cache expiration time. + + + + + Gets the encrypted fields map. + Supplying an encryptedFieldsMap provides more security than relying on an encryptedFields obtained from the server. It protects against a malicious server advertising a false encryptedFields. + + + + + Gets the extra options. + + + The extra options. + + + All MongoClient objects in the same process should use the same setting for extraOptions.cryptSharedLibPath, + as it is an error to load more that one crypt_shared dynamic library simultaneously in a single operating system process. + + + + + Gets the key vault client. + + + The key vault client. + + + + + Gets the key vault namespace. + + + The key vault namespace. + + + + + Gets the KMS providers. + + + The KMS providers. + + + + + Gets the tls options. + + + The tls options. + + + + + Gets the schema map. + + + The schema map. + + + + + Sets the data encryption key cache expiration time. If not set, it defaults to 60 seconds. + If set to TimeSpan.Zero, the cache never expires. + + The data encryption key cache expiration time. + + + + Returns a new instance of the class. + + The keyVault namespace. + The kms providers. + The bypass auto encryption flag. + The bypass query analysis flag. + The extra options. + The keyVault client. + The schema map. + The tls options. + The encryptedFields map. + A new instance of . + + + + + + + + + + + + + Contains extensions methods for + + + + + Converts to . + + + The binary vector. + A instance. + + + + A static helper class containing various builders. + + The type of the document. + + + Gets a . + + + Gets an . + + + Gets a . + + + Gets a . + + + Gets a . + + + Gets an . + + + Gets a . + + + Gets a . + + + Gets a . + + + Gets a . + + + Gets a . + + + Gets a . + + + + Represents delete many operation in the scope of BulkWrite operation. + + The type of the document. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Specifies a collation. + The index to use. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Specifies a collation. + The index to use. + + + + Specifies a collation. + + + + + The filter to apply. + + + + + The index to use. + + + + + Represents delete one operation in the scope of BulkWrite operation. + + The type of the document. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Specifies a collation. + The index to use. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Specifies a collation. + The index to use. + + + + Specifies a collation. + + + + + The filter to apply. + + + + + The index to use. + + + + + Represents result or operation. + + + + + The number of documents that were deleted. + + + + + Represents the details of a write error for a particular request. + + + + + Gets the index of the request that had an error. + + + + + Represents insert one operation in the scope of BulkWrite operation. + + The type of the document. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The document. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The document. + + + + The document to insert + + + + + Represents result of operation. + + + + + The id of the inserted document. + + + + + The id of the inserted document. + + + + + Represents base class for all operations in the scope of bulk write. + + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + + + + The namespace on which to perform the operation. + + + + + Options for a bulk write operation. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the comment. + + + + + Gets or sets a value indicating whether the requests are fulfilled in order. + + + + + Gets or sets the let document. + + + + + Gets or sets the operation timeout. + + + + + Represents replace one operation in the scope of BulkWrite operation. + + The type of the document. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + Specifies a collation. + The index to use. + A value indicating whether to insert the document if it doesn't already exist. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + The sort definition to use. + Specifies a collation. + The index to use. + A value indicating whether to insert the document if it doesn't already exist. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + The sort definition to use. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + + + + Specifies a collation. + + + + + The filter to apply. + + + + + The index to use. + + + + + Indicating whether to insert the document if it doesn't already exist. + + + + + Update definition. + + + + + The sort definition to use. + + + + + Represents the result of a bulk write operation. + + + + + Initializes a new instance of the class. + + The request count. + + + + Gets the number of documents that were deleted. + + + + + Gets the number of documents that were inserted. + + + + + Gets a value indicating whether the bulk write operation was acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + The available modified count. + + + + + Gets the number of documents that were matched. + + + + + Gets the number of documents that were actually modified during an update. + + + + + Gets the request count. + + + + + Gets a list with information about each request that resulted in an upsert. + + + + + Represents the result of a bulk write operation. + + The type of the document. + + + + Initializes a new instance of the class. + + The request count. + The processed requests. + + + + Gets the processed requests. + + + + + Result from an acknowledged write concern. + + + + + Initializes a new instance of the class. + + The request count. + The matched count. + The deleted count. + The inserted count. + The modified count. + The processed requests. + The upserts. + + + + + + + + + + + + + + + + + + + + + + + + + Result from an unacknowledged write concern. + + + + + Initializes a new instance of the class. + + The request count. + The processed requests. + + + + + + + + + + + + + + + + + + + + + + + + + Represents update many operation in the scope of BulkWrite operation. + + The type of the document. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + A set of filters specifying to which array elements an update should apply. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + A set of filters specifying to which array elements an update should apply. + + + + A set of filters specifying to which array elements an update should apply. + + + + + Specifies a collation. + + + + + The filter to apply. + + + + + The index to use. + + + + + Indicating whether to insert the document if it doesn't already exist. + + + + + Update definition. + + + + + Represents update one operation in the scope of BulkWrite operation. + + The type of the document. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + A set of filters specifying to which array elements an update should apply. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + A set of filters specifying to which array elements an update should apply. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + The sort definition to use. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + A set of filters specifying to which array elements an update should apply. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + The sort definition to use. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + A set of filters specifying to which array elements an update should apply. + + + + A set of filters specifying to which array elements an update should apply. + + + + + Specifies a collation. + + + + + The filter to apply. + + + + + The index to use. + + + + + Indicating whether to insert the document if it doesn't already exist. + + + + + The sort definition to use. + + + + + Update definition. + + + + + Represents update operation result in the scope of BulkWrite. + + + + + The number of documents that matched the filter. + + + + + The number of documents that were modified. + + + + + The _id field of the upserted document if an upsert occurred. + + + + + Represents the information about one Upsert. + + + + + Gets the id. + + + + + Gets the index. + + + + + + + + + + + Options for a change stream operation. + + + + + Gets or sets the size of the batch. + + + The size of the batch. + + + + + Gets or sets the collation. + + + The collation. + + + + + Gets or sets the comment. + + + The comment. + + + + + Gets or sets the full document. + + + The full document. + + + + + Gets or sets the full document before change. + + + The full document before change. + + + + + Gets or sets the maximum await time. + + + The maximum await time. + + + + + Gets or sets the resume after. + + + The resume after. + + + + + Gets or sets whether the change stream should show expanded events (MongoDB 6.0 and later). + Expanded change stream events include: + + + + + + + + + + + + The value. + + + + + Gets or sets the start after. + + + The start after. + + + + + Gets or sets the start at operation time. + + + The start at operation time. + + + + + Gets or sets the operation timeout. + + + + + Change stream pre and post images options. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The backing document. + + + + Gets the backing document. + + + + + Gets or sets a value indicating whether ChangeStreamPreAndPostImages is enabled. + + + + + Options for a $changeStream stage. + + + + + Gets or sets whether to include all changes for an entire cluster in the change stream. + + + Whether to include all changes for an entire cluster in the change stream. + + + + + Gets or sets the full document. + + + The full document. + + + + + Gets or sets the resume after. + + + The resume after. + + + + + Get or sets the start after. + + + The start after. + + + + + Gets or sets the start at operation time. + + + The start at operation time. + + + + + Represents a bulk write exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + Errors that occurred during the execution of individual write operations. + The results of any successful operations that were performed before the error was encountered. + Write concern errors that occurred while executing the bulk write. + The inner exception. + + + + The results of any successful operations that were performed before the error was encountered. + + + + + Write concern errors that occurred while executing the bulk write. + + + + + Errors that occurred during the execution of individual write operations. + + + + + Options for a bulk write operation. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + + + + + + + Bypass document validation. + + + + + Comment. + + + + + A value indicating is bulk requests are fulfilled in order. + + + + + Let document. + + + + + Gets or sets the operation timeout. + + + + + Whether detailed results for each successful operation should be included in the returned results. + + + + + The write concern to use for this bulk write. + + + + + Represents BulkWrite operation results. + + + + + Indicates whether this bulk write result was acknowledged. + + + + + The total number of documents inserted across all insert operations. + + + + + The total number of documents upserted across all update operations. + + + + + The total number of documents matched across all update operations. + + + + + The total number of documents modified across all update operations. + + + + + The total number of documents deleted across all delete operations. + + + + + The results of each individual insert operation that was successfully performed. + + + + + The results of each individual update operation that was successfully performed. + + + + + The results of each individual delete operation that was successfully performed. + + + + + A client session handle. + + + + + + Initializes a new instance of the class. + + The client. + The options. + The wrapped session. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Client session options. + + + + + When true or unspecified, an application will read its own writes and subsequent + reads will never observe an earlier version of the data. + + + + + Gets or sets the default transaction options. + + + The default transaction options. + + + + + Gets or sets a value indicating whether snapshot reads are requested. + + + true if snapshot reads are requested; otherwise, false. + + + + + A deserializer for doing client side projections. + + The type of the input. + The type of the projection. + + + + Initializes a new instance of the class. + + The input serializer. + The client side projector. + + + + + + + Options for creating a clustered index. + + The document type. + + + + Initializes a new instance of the class. + + + + + Gets or sets the index key, which must currently be {_id: 1}. + + + + + Gets or sets the index name. + + + + + Gets or sets whether the index entries must be unique, which currently must be true. + + + + + Represents a registry of already created clusters. + + + + + Gets the default cluster registry. + + + The default cluster registry. + + + + + Unregisters and disposes the cluster. + + The cluster. + + + + A rendered command. + + The type of the result. + + + + Initializes a new instance of the class. + + The document. + The result serializer. + + + + Gets the document. + + + + + Gets the result serializer. + + + + + Base class for commands. + + The type of the result. + + + + Renders the command to a . + + The serializer registry. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + A based command. + + The type of the result. + + + + Initializes a new instance of the class. + + The document. + The result serializer. + + + + Gets the document. + + + + + Gets the result serializer. + + + + + + + + A JSON based command. + + The type of the result. + + + + Initializes a new instance of the class. + + The json. + The result serializer. + + + + Gets the json. + + + + + Gets the result serializer. + + + + + + + + An based command. + + The type of the result. + + + + Initializes a new instance of the class. + + The object. + The result serializer. + + + + Gets the object. + + + + + Gets the result serializer. + + + + + + + + Represents the options parameter for . + + + + + The byteOrder parameter. + + + + + The format parameter. + + + + + The subType parameter. + + + + + Represents the options parameter for . + This class allows to set 'onError' and 'onNull'. + + The type of 'onError' and 'onNull'. + + + + The onError parameter. + + + + + The onNull parameter. + + + + + Represents the byte order of binary data when converting to/from numerical types using . + + + + + Big endian order. + + + + + Little endian order. + + + + + Represents a cursor that wraps another cursor with a transformation function on the documents. + + The type of from document. + The type of to document. + + + + + Initializes a new instance of the class. + + The wrapped. + The transformer. + + + + + + + + + + + + + + + + Represents a session. + + + + + + Gets the cluster. + + + The cluster. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A handle to a reference counted core session. + + + + + + Initializes a new instance of the class. + + The session. + + + + Initializes a new instance of the class. + + The wrapped. + + + + + + + + + + Core session options. + + + + + Initializes a new instance of the class. + + if set to true this session is causally consistent] + if set to true this session is an implicit session. + if set to true this session is a snapshot session. + The default transaction options. + + + + Gets the default transaction options. + + + The default transaction options. + + + + + Gets a value indicating whether this session is causally consistent. + + + true if this session is causally consistent; otherwise, false. + + + + + Gets a value indicating whether this session is an implicit session. + + + true if this session is an implicit session; otherwise, false. + + + + + Gets a value indicating whether this session is a snapshot session. + + + true if this session is a snapshot session; otherwise, false. + + + + + The state of a transaction. + + + + + Initializes a new instance of the class. + + The transaction number. + The transaction options. + + + + Gets a value indicating whether the transaction is empty. + + + true if the transaction is empty; otherwise, false. + + + + + Gets the transaction state. + + + The transaction state. + + + + + Gets or sets pinned server for the current transaction. + Value has meaning if and only if a transaction is in progress. + + + The pinned server for the current transaction. + + + + + Gets the transaction number. + + + The transaction number. + + + + + Gets the transaction options. + + + The transaction options. + + + + + Gets the recovery token used in sharded transactions. + + + The recovery token. + + + + + Represents the current state of a Core transaction. + + + + + StartTransaction has been called but no operations have been performed yet. + + + + + The transaction is in progress. + + + + + CommitTransaction has been called. + + + + + AbortTransaction has been called. + + + + + The interface for a session in Core. + + + + + Gets the cluster time. + + + The cluster time. + + + + + Gets the current transaction. + + + The current transaction. + + + + + Gets the session Id. + + + The session Id. + + + + + Gets a value indicate whether this instance is causally consistent. + + + true if the session is causally consistent. + + + + + Gets a value indicate whether this session is dirty. + + + true if the session is dirty. + + + + + Gets a value indicating whether this instance is implicit session. + + + true if this instance is implicit session; otherwise, false. + + + + + Gets a value indicating whether this instance is in a transaction. + + + true if this instance is in a transaction; otherwise, false. + + + + + Gets a value indicate whether this instance is a snapshot session. + + + true if the session is a snapshot session. + + + + + Gets the operation time. + + + The operation time. + + + + + Gets the session options. + + + The session options. + + + + + Gets the server session. + + + The server session. + + + + + Gets the snapshot time. + + + The snapshot time. + + + + + Aborts the transaction. + + The cancellation token. + + + + Aborts the transaction. + + The cancellation token. + A Task. + + + + The driver is about to send a command on this session. Called to track session state. + + + + + Advances the cluster time. + + The new cluster time. + + + + Advances the operation time. + + The new operation time. + + + + Advances the transaction id. + + The transaction id. + + + + Commits the transaction. + + The cancellation token. + + + + Commits the transaction. + + The cancellation token. + A Task. + + + + Marks the session as dirty. + + + + + Starts a transaction. + + The transaction options. + + + + Sets the snapshot time if not set. + + The snapshot time. + + + + Called by the driver when the session is used (i.e. sent to the server). + + + + + A handle to a reference counted core session. + + + + + + Increments the reference count of the underlying session and returns a new handle to it. + + A new handle. + + + + An object that represents no core session. + + + + + + Gets the pre-created instance. + + + The instance. + + + + + Returns a new handle to a NoCoreSession object. + + A new handle to the NoCoreSession object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A handle to a core session that should not be disposed when the handle is disposed. + + + + + + Initializes a new instance of the class. + + The wrapped session. + + + + + + + + + + A reference counted core session. + + + + + + Initializes a new instance of the class. + + The wrapped. + + + + Decrements the reference count. + + + + + Increments the reference count. + + + + + An abstract base class for a core session that wraps another core session. + + + + + + Initializes a new instance of the class. + + The wrapped. + if set to true [owns wrapped]. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the wrapped session. + + + The wrapped session. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Determines whether this instance is disposed. + + + true if this instance is disposed; otherwise, false. + + + + + Throws if disposed. + + + + + + Describing the type of the changed object. + + + + + Unknown namespace type. + + + + + Collection. + + + + + Timeseries. + + + + + View. + + + + + Represents information about a cluster. + + + + + Initializes a new instance of the class. + + The cluster identifier. + Whether to make a direct connection. + The last DNS monitor exception (null if there was none). + The type. + The servers. + + + + Gets the cluster identifier. + + + + + Gets the DirectConnection. + + + + + Gets the last DNS monitor exception (null if there was none). + + + + + Gets a value indicating whether this cluster is compatible with the driver. + + + true if this cluster is compatible with the driver; otherwise, false. + + + + + Gets the logical session timeout. + + + + + Gets the servers. + + + + + Gets the cluster state. + + + + + Gets the cluster type. + + + + + + + + + + + + + + + + + Returns a new ClusterDescription with a changed DnsMonitorException. + + The exception. + A ClusterDescription. + + + + Returns a new ClusterDescription with a changed ServerDescription. + + The server description. + A ClusterDescription. + + + + Returns a new ClusterDescription with a ServerDescription removed. + + The end point of the server description to remove. + A ClusterDescription. + + + + Returns a new ClusterDescription with a changed ClusterType. + + The value. + A ClusterDescription. + + + + Represents the data for the event that fires when a cluster description changes. + + + + + Initializes a new instance of the class. + + The old cluster description. + The new cluster description. + + + + Gets the old cluster description. + + + The old cluster description. + + + + + Gets the new cluster description. + + + The new cluster description. + + + + + Represents a cluster identifier. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The value. + + + + Gets the value. + + + The value. + + + + + + + + + + + + + + + + + Represents the state of a cluster. + + + + + The cluster is disconnected. + + + + + The cluster is connected. + + + + + Represents the type of a cluster. + + + + + The type of the cluster is unknown. + + + + + The cluster is a standalone cluster. + + + + + The cluster is a replica set. + + + + + The cluster is a sharded cluster. + + + + + The cluster is in a load balanced mode. + + + + + An election id from the server. + + + + + Initializes a new instance of the class. + + The identifier. + + + + Compares the current object with another object of the same type. + + An object to compare with this object. + + A value that indicates the relative order of the objects being compared. The return value has the following meanings: Value Meaning Less than zero This object is less than the parameter.Zero This object is equal to . Greater than zero This object is greater than . + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Represents a MongoDB cluster. + + + + + Gets the cluster identifier. + + + The cluster identifier. + + + + + Gets the cluster description. + + + The cluster description. + + + + + Gets the cluster settings. + + + The cluster settings. + + + + + Represents the config of a replica set (as reported by one of the members of the replica set). + + + + + Gets an empty replica set config. + + + An empty replica set config. + + + + + Initializes a new instance of the class. + + The members. + The name. + The primary. + The version. + + + + Gets the members. + + + The members. + + + + + Gets the name of the replica set. + + + The name of the replica set. + + + + + Gets the primary. + + + The primary. + + + + + Gets the replica set config version. + + + The replica set config version. + + + + + + + + + + + + + + Represents a selector that selects servers based on multiple partial selectors + + + + + Initializes a new instance of the class. + + The selectors. + + + + + + + + + + Represents a server selector that wraps a delegate. + + + + + Initializes a new instance of the class. + + The selector. + + + + + + + + + + Represents a selector that selects servers based on an end point. + + + + + Initializes a new instance of the class. + + The end point. + + + + + + + + + + Represents a selector that selects servers. + + + + + Selects the servers. + + The cluster. + The servers. + The selected servers. + + + + Represents a selector that selects servers within an acceptable latency range. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The allowed latency range. + + + + + + + + + + + + + + + + Represents a server selector that selects servers based on a collection of servers to deprioritize. + + + + + Initializes a new instance of the class. + + The collection of servers to deprioritize. + + + + + + + + + + Represents a selector that selects a random server. + + + + + Initializes a new instance of the class. + + + + + + + + + + + Represents a selector that selects servers based on a read preference. + + + + + Gets a ReadPreferenceServerSelector that selects the Primary. + + + A server selector. + + + + + Initializes a new instance of the class. + + The read preference. + + + + + + + + + + Represents a server selector that selects writable servers. + + + + + Gets a WritableServerSelector. + + + A server selector. + + + + + Initializes an instance of the WritableServerSelector class. + + + + + Initializes an instance of the WritableServerSelector class. + + The may use secondary criteria. + + + + Returns the may use secondary criteria. + + + + + + + + + + + Represents a compressor source. + + + + + Gets or creates a compressor based on the compressor type. + + The compressor type. + The compressor. + + + + Represents the compressor type. + + + + + The content of the message is uncompressed. This is realistically only used for testing. + + + + + The content of the message is compressed using snappy. + + + + + The content of the message is compressed using zlib. + + + + + The content of the message is compressed using zstandard. + + + + + Represents a compressor. + + + + + Gets the compressor type. + + + + + Compresses the specified stream. + + The input stream. + The output stream. + + + + Decompresses the specified stream. + + The input stream. + The output stream. + + + + Compresses the remainder of , writing the compressed data to + . + + The input stream. + The output stream. + + + + Decompresses the remainder of , writing the uncompressed data to . + + The input stream. + The output stream. + + + + Compressor according to the zlib algorithm. + + + + + Initializes a new instance of the class. + + The compression level. + + + + + + + + + + + + + Represents a cluster builder. + + + + + Initializes a new instance of the class. + + + + + Builds the cluster. + + A cluster. + + + + Configures the cluster settings. + + The cluster settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the connection settings. + + The connection settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the connection pool settings. + + The connection pool settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the logging settings. + + The logging settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the server settings. + + The server settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the SSL stream settings. + + The SSL stream settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the TCP stream settings. + + The TCP stream settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the SOCKS5 proxy settings for the cluster. + + The SOCKS5 proxy settings configurator delegate. + A reconfigured cluster builder. + + + + Subscribes to events of type . + + The type of the event. + The handler. + A reconfigured cluster builder. + + + + Subscribes the specified subscriber. + + The subscriber. + A reconfigured cluster builder. + + + + Extension methods for a ClusterBuilder. + + + + + Configures a cluster builder from a connection string. + + The cluster builder. + The connection string. + A reconfigured cluster builder. + + + + Configures a cluster builder from a connection string. + + The cluster builder. + The connection string. + The server API. + A reconfigured cluster builder. + + + + Configures a cluster builder from a connection string. + + The cluster builder. + The connection string. + A reconfigured cluster builder. + + + + Configures a cluster builder from a connection string. + + The cluster builder. + The connection string. + The server API. + A reconfigured cluster builder. + + + + Configures the cluster to write performance counters. + + The cluster builder. + The name of the application. + if set to true install the performance counters first. + A reconfigured cluster builder. + + + + Configures the cluster to trace events to the specified . + + The builder. + The trace source. + A reconfigured cluster builder. + + + + Configures the cluster to trace command events to the specified . + + The builder. + The trace source. + A reconfigured cluster builder. + + + + Represents settings for a cluster. + + + + + Initializes a new instance of the class. + + Crypt client settings. + The directConnection. + The end points. + The load balanced. + The local threshold. + Maximum size of the server selection wait queue. + Name of the replica set. + The server API. + The server selection timeout. + The pre server selector. + The post server selector. + The connection string scheme. + Limits the number of SRV records used to populate the seedlist during initial discovery, as well as the number of additional hosts that may be added during SRV polling. + The SRV service name which modifies the srv URI to look like: _{srvServiceName}._tcp.{hostname}.{domainname} Defaults to "mongodb". + + + + Gets the crypt client settings. + + + + + Gets the DirectConnection. + + + + + Gets the end points. + + + The end points. + + + + + Gets whether to use load balanced. + + + + + Gets the local threshold. + + + The local threshold. + + + + + Gets the maximum size of the server selection wait queue. + + + The maximum size of the server selection wait queue. + + + + + Gets the name of the replica set. + + + The name of the replica set. + + + + + Gets the connection string scheme. + + + The connection string scheme. + + + + + Gets the server API. + + + The server API. + + + + + Gets the server selection timeout. + + + The server selection timeout. + + + + + Limits the number of SRV records used to populate the seedlist + during initial discovery, as well as the number of additional hosts + that may be added during SRV polling. + + + + + Gets the SRV service name which modifies the srv URI to look like: + _{srvServiceName}._tcp.{hostname}.{domainname} + The default value is "mongodb". + + + + + Gets the pre server selector. + + + The pre server selector. + + + + + Gets the post server selector. + + + The post server selector. + + + + + Returns a new ClusterSettings instance with some settings changed. + + Crypt client settings. + The directConnection. + The end points. + The load balanced. + The local threshold. + Maximum size of the server selection wait queue. + Name of the replica set. + The server API. + The server selection timeout. + The pre server selector. + The post server selector. + The connection string scheme. + Limits the number of SRV records used to populate the seedlist during initial discovery, as well as the number of additional hosts that may be added during SRV polling. + The SRV service name which modifies the srv URI to look like: _{srvServiceName}._tcp.{hostname}.{domainname} Defaults to "mongodb". + A new ClusterSettings instance. + + + + Represents a compressor configuration. + + + + + Initializes an instance of . + + The compressor type. + + + + Gets the compression properties. + + + + + Gets the compressor type. + + + + + + + + + + + Represents settings for a connection pool. + + + + + Initializes a new instance of the class. + + The maintenance interval. + The maximum number of connections. + The minimum number of connections. + Size of the wait queue. + The wait queue timeout. + The maximum concurrently connecting connections. + + + + Gets the maintenance interval. + values indicates that maintenance thread is disabled. + + + The maintenance interval. + + + + + Gets the maximum number of connections a pool may be establishing concurrently. Defaults to 2. + + + The maximum concurrently connecting connections. + + + + + Gets the maximum number of connections. + + + The maximum number of connections. + + + + + Gets the minimum number of connections. + + + The minimum number of connections. + + + + + Gets the size of the wait queue. + + + The size of the wait queue. + + + + + Gets the wait queue timeout. + + + The wait queue timeout. + + + + + Returns a new ConnectionPoolSettings instance with some settings changed. + + The maintenance interval. + The maximum concurrently connecting connections. + The maximum connections. + The minimum connections. + Size of the wait queue. + The wait queue timeout. + A new ConnectionPoolSettings instance. + + + + Represents settings for a connection. + + + + + Initializes a new instance of the class. + + The compressors. + The library information. + Whether the load balanced mode is enabled. + The maximum idle time. + The maximum life time. + The application name. + + + + Gets the name of the application. + + + The name of the application. + + + + + Gets the authenticator factory. + + + The authenticator factory. + + + + + Gets the compressors. + + + The compressors. + + + + + Gets the connection identifier provider. + + + + + Information about a library using the .NET driver. + + + + + Whether the load balanced mode is enabled. + + + + + Gets the maximum idle time. + + + The maximum idle time. + + + + + Gets the maximum life time. + + + The maximum life time. + + + + + Returns a new ConnectionSettings instance with some settings changed. + + The compressors. + The library information. + Whether the load balanced mode is enabled. + The maximum idle time. + The maximum life time. + The application name. + A new ConnectionSettings instance. + + + + Represents the scheme used to construct the connection string. + + + + + Mongodb scheme (mongodb://) + + + + + SRV scheme (mongodb+srv://) + + + + + Represents a connection string. + + + + + Initializes a new instance of the class. + + The connection string. + + + + Initializes a new instance of the class. + + The connection string. + Whether the connection string is resolved. + + + + Gets all the option names. + + + + + Gets all the unknown option names. + + + + + Gets the application name. + + + + + Gets the auth mechanism. + + + + + Gets the auth mechanism properties. + + + + + Gets the auth source. + + + + + Gets the requested compressors. + + + + + Gets the connect timeout. + + + + + Gets the name of the database. + + + + + Gets the directConnection. + + + + + Gets the fsync value of the write concern. + + + + + Gets the heartbeat interval. + + + + + Gets the heartbeat timeout. + + + + + Gets the hosts. + + + + + Gets whether to use IPv6. + + + + + Gets whether the connection string has been resolved. Always true when scheme is MongoDB. + + + + + Gets the journal value of the write concern. + + + + + Gets a value indicating whether load balanced mode is used. + + + + + Gets the local threshold. + + + + + Gets the maximum number of connections a pool may be establishing concurrently. Defaults to 2. + + + + + Gets the max idle time. + + + + + Gets the max life time. + + + + + Gets the max size of the connection pool. + + + + + Gets the max staleness. + + + + + Gets the min size of the connection pool. + + + + + Gets the password. + + + + + Gets the proxy host. + + + + + Gets the proxy port. + + + + + Gets the proxy username. + + + + + Gets the proxy password. + + + + + Gets the read concern level. + + + The read concern level. + + + + + Gets the read preference. + + + + + Gets the replica set name. + + + + + Gets the read preference tags. + + + + + Gets a value indicating whether or not to retry reads. + + + + + Gets a value indicating whether or not to retry writes. + + + + + Gets the connection string scheme. + + + + + Gets the server monitoring mode. + + + + + Gets the server selection timeout. + + + + + Gets the socket timeout. + + + + + Limits the number of SRV records used to populate the seedlist + during initial discovery, as well as the number of additional hosts + that may be added during SRV polling. + + + + + Gets the SRV service name which modifies the srv URI to look like: + _{srvServiceName}._tcp.{hostname}.{domainname} + + + + + Gets whether to use SSL. + + + + + Gets whether to verify SSL certificates. + + + + + Gets the per-operation timeout. + + + + + Gets whether to use TLS. + + + + + Get whether or not certificate revocation checking is disabled during the TLS handshake. + + + + + Gets whether to relax TLS constraints as much as possible. + + + + + Gets the username. + + + + + Gets the wait queue multiple. + + + + + Gets the wait queue size. + + + + + Gets the wait queue timeout. + + + + + Gets the w value of the write concern. + + + + + Gets the wtimeout value of the write concern. + + + + + Gets the option. + + The name. + The option with the specified name. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + The cancellation token. + A resolved ConnectionString. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + Whether to resolve hosts. + The cancellation token. + A resolved ConnectionString. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + The cancellation token. + A resolved ConnectionString. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + Whether to resolve hosts. + The cancellation token. + A resolved ConnectionString. + + + + + + + Represents settings for a crypt client. + + + + + Gets a value indicating whether query analysis should be bypassed. + + + + + Gets the crypt shared library path. + + + + + Gets the crypt shared library search path. + + + + + Gets the data encryption key cache expiration time. + + + + + Gets the encrypted fields map. + + + + + Gets a value indicating whether crypt shared library is required. + + + + + Gets the KMS providers. + + + + + Gets the schema map. + + + + + Initializes a new instance of the class. + + The bypass query analysis. + The crypt shared library library path. + The crypt shared library search path. + The encrypted fields map. + Value indicating whether crypt shared library is required. + The KMS providers. + The schema map. + + + + Initializes a new instance of the class. + + The bypass query analysis. + The crypt shared library library path. + The crypt shared library search path. + The encrypted fields map. + Value indicating whether crypt shared library is required. + The KMS providers. + The schema map. + The data encryption key cache expiration time. + + + + + + + + + + Represents information about a library using the .NET driver. + + + + + Gets the library name. + + + + + Gets the library version. + + + + + Initializes a new instance of the class. + + The library name. + The library version. + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + + + + + + + Represents the settings for logging. + + + + + Gets the logger factory. + + + + + Gets the maximum document size in chars. + + + + + Initializes a new instance of the class. + + The logger factory. + The maximum document size in chars. + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + + + + Represents settings for a server. + + + + + Gets the default heartbeat interval. + + + + + Gets the default heartbeat timeout. + + + + + Gets the default server monitoring mode. + + + + + Initializes a new instance of the class. + + The heartbeat interval. + The heartbeat timeout. + The server monitoring mode. + + + + Gets the heartbeat interval. + + + The heartbeat interval. + + + + + Gets the heartbeat timeout. + + + The heartbeat timeout. + + + + + Gets the server monitoring mode. + + + The server monitoring mode. + + + + + Returns a new ServerSettings instance with some settings changed. + + The heartbeat interval. + The heartbeat timeout. + The server monitoring mode. + A new ServerSettings instance. + + + + Represents settings for a SOCKS5 proxy stream. + + + + + Initializes a new instance of the class. + + The settings for the SOCKS5 proxy. + + + + Gets the settings for the SOCKS5 proxy. + + + + + Creates a new instance of with the specified SOCKS5 proxy settings. + + + + + + + Represents settings for an SSL stream. + + + + + Initializes a new instance of the class. + + Whether to check for certificate revocation. + The client certificates. + The client certificate selection callback. + The enabled protocols. + The server certificate validation callback. + + + + Gets a value indicating whether to check for certificate revocation. + + + true if certificate should be checked for revocation; otherwise, false. + + + + + Gets the client certificates. + + + The client certificates. + + + + + Gets the client certificate selection callback. + + + The client certificate selection callback. + + + + + Gets the enabled SSL protocols. + + + The enabled SSL protocols. + + + + + Gets the server certificate validation callback. + + + The server certificate validation callback. + + + + + Returns a new SsslStreamSettings instance with some settings changed. + + Whether to check certificate revocation. + The client certificates. + The client certificate selection callback. + The enabled protocols. + The server certificate validation callback. + A new SsslStreamSettings instance. + + + + Represents settings for a TCP stream. + + + + + Initializes a new instance of the class. + + The address family. + The connect timeout. + The read timeout. + Size of the receive buffer. + Size of the send buffer. + The socket configurator. + The write timeout. + + + + Gets the address family. + + + The address family. + + + + + Gets the connect timeout. + + + The connect timeout. + + + + + Gets the read timeout. + + + The read timeout. + + + + + Gets the size of the receive buffer. + + + The size of the receive buffer. + + + + + Gets the size of the send buffer. + + + The size of the send buffer. + + + + + Gets the socket configurator. + + + The socket configurator. + + + + + Gets the write timeout. + + + The write timeout. + + + + + Returns a new TcpStreamSettings instance with some settings changed. + + The address family. + The connect timeout. + The read timeout. + Size of the receive buffer. + Size of the send buffer. + The socket configurator. + The write timeout. + A new TcpStreamSettings instance. + + + + Represents information describing a connection. + + + + + Initializes a new instance of the class. + + The connection identifier. + The hello result. + + + + Gets the available compressors. + + + + + Gets the connection identifier. + + + The connection identifier. + + + + + Gets the hello result. + + + The hello result. + + + + + Gets the maximum number of documents in a batch. + + + The maximum number of documents in a batch. + + + + + Gets the maximum size of a document. + + + The maximum size of a document. + + + + + Gets the maximum size of a message. + + + The maximum size of a message. + + + + + Gets the maximum size of a wire document. + + + The maximum size of a wire document. + + + + + Gets the maximum wire version. + + + The maximum wire version. + + + + + Gets the minimum wire version. + + + The minimum wire version. + + + + + Gets the server version. + + + The server version. + + + + + Gets the service identifier. + + + The service identifier. + + + + + + + + + + + + + + Returns a new instance of ConnectionDescription with a different connection identifier. + + The value. + A connection description. + + + + Represents internal ConnectionDescription extension methods. + + + + + Represents a connection identifier. + + + + + Initializes a new instance of the class. + + The server identifier. + + + + Initializes a new instance of the class. + + The server identifier. + The local value. + + + + Gets the server identifier. + + + The server identifier. + + + + + Gets the local value. + + + The local value. + + + + + Gets the local value. + + + The local value. + + + + + Gets the server value. + + + The server value. + + + + + Gets the server value. + + + The server value. + + + + + + + + + + + + + + Compares all fields of two ConnectionId instances (Equals ignores the ServerValue). + + The other ConnectionId. + True if both instances are equal. + + + + + + + Returns a new instance of ConnectionId with a new server value. + + The server value. + A ConnectionId. + + + + Represents a connection initializer (opens and authenticates connections). + + + + + Represents the result of a hello or legacy hello command. + + + + + Initializes a new instance of the class. + + The wrapped result document. + + + + Gets the compressor types. + + + + + Gets the connection id server value. + + + + + Gets the election identifier. + + + + + Get whether SaslSupportedMechs was part of the hello response. + + + Whether SaslSupportedMechs was part of the hello response. + + + + + Gets a value indicating whether this instance is an arbiter. + + + true if this instance is an arbiter; otherwise, false. + + + + + Gets a value indicating whether this instance is a mongocryptd. + + + true if this instance is a mongocryptd; otherwise, false. + + + + + Gets a value indicating whether this instance is a replica set member. + + + true if this instance is a replica set member; otherwise, false. + + + + + Gets the last write timestamp. + + + The last write timestamp. + + + + + Gets the logical session timeout. + + + The logical session timeout. + + + + + Gets the maximum number of documents in a batch. + + + The maximum number of documents in a batch. + + + + + Gets the maximum size of a document. + + + The maximum size of a document. + + + + + Gets the maximum size of a message. + + + The maximum size of a message. + + + + + Gets the endpoint the server is claiming it is known as. + + + + + Get the SaslSupportedMechs. + + + The SaslSupportedMechs. Empty if saslSupportedMechs was an empty list or if saslSupportedMechs was not + included in the hello response. + + + + + Gets the type of the server. + + + The type of the server. + + + + + Gets the service identifier. + + + The service identifier. + + + + + Get the SpeculativeAuthenticate reply. + + + Null if hello["ok"] != 1 or if the SpeculativeAuthenticate reply was not included in the hello response. + + + + + Gets the replica set tags. + + + The replica set tags. + + + + + Get the TopologyVersion. + + + Null if TopologyVersion was not included in the hello response. + + + + + Gets the maximum wire version. + + + The maximum wire version. + + + + + Gets the minimum wire version. + + + The minimum wire version. + + + + + Gets the wrapped result document. + + + The wrapped result document. + + + + + Gets whether the server support the hello command. + + + True if helloOk:true was included in the response; false otherwise. + + + + + + + + + + + + + + Gets the replica set configuration. + + The replica set configuration. + + + + Represents a stream factory. + + + + + Creates a stream. + + The end point. + The cancellation token. + A Stream. + + + + Creates a stream. + + The end point. + The cancellation token. + A Task whose result is the Stream. + + + + Represents the settings for SOCKS5 authentication. + + + + + Creates authentication settings that does not require any authentication. + + + + + Creates authentication settings for username and password. + + The username + The password + + + + + Represents settings for no authentication in SOCKS5. + + + + + + + + + + + Represents settings for username and password authentication in SOCKS5. + + + + + Gets the username for authentication. + + + + + Gets the password for authentication. + + + + + + + + + + + Represents the settings for a SOCKS5 proxy connection. + + + + + Gets the host of the SOCKS5 proxy. + + + + + Gets the port of the SOCKS5 proxy. + + + + + Gets the authentication settings of the SOCKS5 proxy. + + + + + Initializes a new instance of the class with the specified host. + + The SOCKS5 proxy host. + + + + Initializes a new instance of the class with the specified host and port. + + The proxy host. + The proxy port. + + + + Initializes a new instance of the class with the specified host and authentication settings. + + The proxy host. + The proxy authentication settings. + + + + Initializes a new instance of the class with the specified host, port, and authentication settings. + + The proxy host. + The proxy port. + The proxy authentication settings. + + + + + + + + + + + + + Represents a factory for an ssl stream. + + + + + Constructs an Ssl Stream Factory. + + The SslStreamSettings. + The underlying stream factory. + + + + + + + + + + Represents a factory for a binary stream over a TCP/IP connection. + + + + + Occurs after a server is added to the cluster. + + + + + Initializes a new instance of the struct. + + The server identifier. + The duration of time it took to add the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to add a server, + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a server is added to the cluster. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The end point. + + + + Gets the cluster identifier. + + + + + Gets the end point. + + + + + Gets the timestamp. + + + + + Occurs after a cluster is closed. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The duration of time it took to close the cluster. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to close the cluster. + + + + + Gets the timestamp. + + + + + Occurs before a cluster is closed. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + + + + Gets the cluster identifier. + + + + + Gets the timestamp. + + + + + Occurs when a cluster has changed. + + + + + Initializes a new instance of the struct. + + The old description. + The new description. + + + + Gets the cluster identifier. + + + + + Gets the old description. + + + + + Gets the new description. + + + + + Gets the timestamp. + + + + + Occurs when entering selection wait queue. + + + + + Occurs after a cluster is opened. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The cluster settings. + The duration of time it took to open the cluster. + + + + Gets the cluster identifier. + + + + + Gets the cluster settings. + + + + + Gets the duration of time it took to open the cluster. + + + + + Gets the timestamp. + + + + + Occurs before a cluster is opened. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The cluster settings. + + + + Gets the cluster identifier. + + + + + Gets the cluster settings. + + + + + Gets the timestamp. + + + + + Occurs after a server has been removed from the cluster. + + + + + Initializes a new instance of the struct. + + The server identifier. + The reason. + The duration of time it took to remove the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to remove the server. + + + + + Gets the reason the server was removed. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a server is removed from the cluster. + + + + + Initializes a new instance of the struct. + + The server identifier. + The reason the server is being removed. + + + + Gets the cluster identifier. + + + + + Gets the reason the server is being removed. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a server is selected. + + + + + Initializes a new instance of the struct. + + The cluster description. + The server selector. + The selected server. + The duration of time it took to select the server. + The operation identifier. + The operation name. + + + + Gets the cluster identifier. + + + + + Gets the cluster description. + + + + + Gets the duration of time it took to select the server. + + + + + Gets the operation identifier. + + + + + Gets the operation name. + + + + + Gets the server selector. + + + + + Gets the selected server. + + + + + Gets the timestamp. + + + + + Occurs before a server is selected. + + + + + Initializes a new instance of the struct. + + The cluster description. + The server selector. + The operation identifier. + The operation name. + + + + Gets the cluster identifier. + + + + + Gets the cluster description. + + + + + Gets the operation identifier. + + + + + Gets the operation name. + + + + + Gets the server selector. + + + + + Gets the timestamp. + + + + + Occurs when selecting a server fails. + + + + + Initializes a new instance of the struct. + + The cluster description. + The server selector. + The exception. + The operation identifier. + The operation name. + + + + Gets the cluster identifier. + + + + + Gets the cluster description. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the operation name. + + + + + Gets the server selector. + + + + + Gets the timestamp. + + + + + Occurs when a command has failed. + + + + + Initializes a new instance of the struct. + + Name of the command. + The database namespace. + The exception. + The operation identifier. + The request identifier. + The connection identifier. + The duration. + + + + Initializes a new instance of the struct. + + Name of the command. + The database namespace. + The exception. + The operation identifier. + The request identifier. + The connection identifier. + The service identifier. + The duration. + + + + Gets the name of the command. + + + + + Gets the connection identifier. + + + + + Gets the database namespace. + + + + + Gets the duration. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the request identifier. + + + + + Gets the service identifier. + + + + + Gets the timestamp. + + + + + Occurs when a command has started. + + + + + Initializes a new instance of the class. + + Name of the command. + The command. + The database namespace. + The operation identifier. + The request identifier. + The connection identifier. + + + + Initializes a new instance of the class. + + Name of the command. + The command. + The database namespace. + The operation identifier. + The request identifier. + The connection identifier. + The service identifier. + + + + Gets the command. + + + + + Gets the name of the command. + + + + + Gets the connection identifier. + + + + + Gets the database namespace. + + + + + Gets the operation identifier. + + + + + Gets the request identifier. + + + + + Gets the service identifier. + + + + + Gets the timestamp. + + + + + Occurs when a command has succeeded. + + + + + Initializes a new instance of the struct. + + Name of the command. + The reply. + The database namespace. + The operation identifier. + The request identifier. + The connection identifier. + The duration. + + + + Initializes a new instance of the struct. + + Name of the command. + The reply. + The database namespace. + The operation identifier. + The request identifier. + The connection identifier. + The service identifier. + The duration. + + + + Gets the name of the command. + + + + + Gets the connection identifier. + + + + + Gets the database namespace. + + + + + Gets the duration. + + + + + Gets the operation identifier. + + + + + Gets the reply. + + + + + Gets the request identifier. + + + + + Gets the service identifier. + + + + + Gets the timestamp. + + + + + Represents the reason an attempt to check out a connection failed. + + + + + The connection pool is closed. + + + + + Timeout waiting for a connection to become available. + + + + + Connection error while opening a new connection. + + + + + Occurs after a connection is closed. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to close the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to close the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Represents the reason a connection was closed. + + + + + The pool was cleared, making the connection no longer valid. + + + + + The connection became stale by being available for too long. + + + + + The connection experienced an error, making it no longer valid. + + + + + The pool was closed, making the connection no longer valid. + + + + + The reason the connection was closed is unknown. + + + + + Occurs before a connection is closed. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a connection is created. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The connection settings. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the connection settings. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a connection fails. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The exception. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the exception. + + + The exception. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a connection is opened. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The connection settings. + The duration of time it took to open the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the connection settings. + + + + + Gets the duration of time it took to open the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a connection is opened. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The connection settings. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the connection settings. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a connection fails to open. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The connection settings. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the connection settings. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a connection is added to the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to add the connection to the pool. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to add the server to the pool. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a connection is added to the pool. + + + + + Initializes a new instance of the struct. + + The server identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a connection is checked in to the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to check in the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to check in the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a connection is checked out of the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to check out the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to check out the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a connection is checked in to the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a connection is checked out of the pool. + + + + + Initializes a new instance of the struct. + + The server identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a connection could not be checked out of the pool. + + + + + Initializes a new instance of the struct. + + The server identifier. + The exception. + The operation identifier. + The duration of time it took trying to check out the connection. + The reason the checkout failed. + + + + Gets the cluster identifier. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the reason the checkout failed. + + + + + Gets the server identifier. + + + + + Gets the duration of time it took trying to check out the connection. + + + + + Gets the timestamp. + + + + + Occurs after the pool is cleared. + + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + Whether in use connections should be closed. + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + The service identifier. + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + The service identifier. + Whether in use connections should be closed. + + + + Gets a value indicating whether in use connections should be closed. + + + + + Gets the cluster identifier. + + + + + Gets the connection pool settings. + + + + + Gets the server identifier. + + + + + Gets the service identifier. + + + + + Gets the timestamp. + + + + + Occurs when the pool is about to be cleared. + + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + Whether in use connections should be closed. + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + The service identifier. + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + The service identifier. + Whether in use connections should be closed. + + + + Gets a value indicating whether in use connections should be closed. + + + + + Gets the cluster identifier. + + + + + Gets the connection pool settings. + + + + + Gets the service identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after the pool is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before the pool is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after the pool is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + + + + Gets the cluster identifier. + + + + + Gets the connection pool settings. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before the pool is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + + + + Gets the cluster identifier. + + + + + Gets the connection pool settings. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after the pool is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + + + + Gets the cluster identifier. + + + + + Gets the connection pool settings. + + + + + Gets the server identifier. + + + + + Occurs after a connection is removed from the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to remove the connection from the pool. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to remove the connection from the pool. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a connection is removed from the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a message is received. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The id of the message we received a response to. + The length of the received message. + The duration of network time it took to receive the message. + The duration of deserialization time it took to receive the message. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to receive the message. + + + + + Gets the duration of deserialization time it took to receive the message. + + + + + Gets the duration of network time it took to receive the message. + + + + + Gets the length of the received message. + + + + + Gets the operation identifier. + + + + + Gets the id of the message we received a response to. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a message is received. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The id of the message we are receiving a response to. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the id of the message we are receiving a response to. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a message was unable to be received. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The id of the message we were receiving a response to. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets id of the message we were receiving a response to. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a message is sent. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The request ids. + The operation identifier. + + + + Initializes a new instance of the struct. + + The connection identifier. + The request id. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the request id. + + + + + Gets the request ids. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a message could not be sent. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The request ids. + The exception. + The operation identifier. + + + + Initializes a new instance of the struct. + + The connection identifier. + The request id. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the request id. + + + + + Gets the request ids. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a message has been sent. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The request ids. + The length. + The duration of time spent on the network. + The duration of time spent serializing the messages. + The operation identifier. + + + + Initializes a new instance of the struct. + + The connection identifier. + The request id. + The length. + The duration of time spent on the network. + The duration of time spent serializing the messages. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to send the message. + + + + + Gets the duration of time spent on the network. + + + + + Gets the operation identifier. + + + + + Gets the duration of time spent serializing the messages. + + + + + Gets the combined length of the messages. + + + + + Gets the request id. + + + + + Gets the request ids. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Represents an event subscriber that records certain events to Windows performance counters. + + + + + Installs the performance counters. + + + + + Initializes a new instance of the class. + + The name of the application. + + + + + + + An event subscriber that writes command events to a trace source. + + + + + Initializes a new instance of the class. + + The trace source. + + + + + + + An event subscriber that writes to a trace source. + + + + + Initializes a new instance of the class. + + The trace source. + + + + + + + An event subscriber that writes SDAM events to a trace source. + + + + + Initializes a new instance of the class. + + The trace source. + + + + + + + A subscriber to events. + + + + + Tries to get an event handler for an event of type . + + The type of the event. + The handler. + true if this subscriber has provided an event handler; otherwise false. + + + + Subscribes methods with a single argument to events + of that single argument's type. + + + + + Initializes a new instance of the class. + + The instance. + Name of the method to match against. + The binding flags. + + + + + + + An informational event used for logging Server Discovery and Monitoring (SDAM) events. + + + + + Initializes a new instance of the struct. + + Message format. + Message argument. + + + + Initializes a new instance of the struct. + + Message format. + Message arguments. + + + + Gets the message. + + + + + Gets the timestamp. + + + + + + + + Occurs after a server is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + The duration of time it took to close the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to close the server. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a server is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a server's description has changed. + + + + + Initializes a new instance of the struct. + + The old description. + The new description. + + + + Gets the cluster identifier. + + + + + Gets the new description. + + + + + Gets the old description. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a heartbeat failed. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The exception. + The awaited flag. + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time passed since corresponding . + The exception. + The awaited flag. + + + + Determines if this heartbeat event is for an awaitable hello. + + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time passed since corresponding . + + + + + Gets the exception. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before heartbeat is issued. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The awaited flag. + + + + Determines if this heartbeat event is for an awaitable hello. + + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a heartbeat succeeded. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to complete the heartbeat. + The awaited flag. + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to complete the heartbeat. + The awaited flag. + The server response. + + + + Determines if this heartbeat event is for an awaitable hello. + + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to complete the heartbeat. + + + + + Gets the server response. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a server is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The server settings. + The duration of time it took to open the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to open the server. + + + + + Gets the server identifier. + + + + + Gets the server settings. + + + + + Gets the timestamp. + + + + + Occurs before a server is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The server settings. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + Gets the server settings. + + + + + Gets the timestamp. + + + + + Subscriber for a single type of event. + + The type of the single event. + + + + Initializes a new instance of the class. + + The handler. + + + + + + + Represents a batch of items that can be split if not all items can be processed at once. + + The type of the items. + + + + Initializes a new instance of the class. + + + Use this overload when you know the batch is small and won't have to be broken up into sub-batches. + In that case using this overload is simpler than using an enumerator and using the other constructor. + + The single batch. + + + + Initializes a new instance of the class. + + The enumerator that will provide the items for the batch. + + + + Initializes a new instance of the class. + + The items. + if set to true the batch can be split. + + + + Initializes a new instance of the class. + + The items. + The offset. + The count. + if set to true the batch can be split. + + + + Gets a value indicating whether all items were processed. + + + true if all items were processed; otherwise, false. + + + + + Gets a value indicating whether the batch can be split. + + + true if the batch can be split; otherwise, false. + + + + + Gets the count. + + + The count. + + + + + Gets the items. + + + The items. + + + + + Gets the offset. + + + The offset. + + + + + Gets the count of processed items. Equal to zero until SetProcessedCount has been called. + + + The count of processed items. + + + + + Advances past the processed items. + + + + + Gets the items in the batch. + + + The items in the batch. + + + + + Gets the items that were processed. + + + The items that were processed. + + + + + Gets the items that were not processed. + + + The items that were not processed. + + + + + Sets the processed count. + + The value. + + + + Compute the wait queue size. + + The max number of connections. + The multiplier. + The computed wait queue size. + + + + Gets the effective max connections. + + The max connections (0 means no max). + The effective max connections. + + + + Gets the effective max connections. + + The max connections (0 means no max). + The effective max connections (or null if maxConnections is null). + + + + Represents helper methods for EndPoints. + + + + + Gets an end point equality comparer. + + + An end point equality comparer. + + + + + Determines whether a list of end points contains a specific end point. + + The list of end points. + The specific end point to search for. + True if the list of end points contains the specific end point. + + + + Compares two end points. + + The first end point. + The second end point. + True if both end points are equal, or if both are null. + + + + Creates an end point from object data saved during serialization. + + The object data. + An end point. + + + + Gets the object data required to serialize an end point. + + The end point. + The object data. + + + + Compares two sequences of end points. + + The first sequence of end points. + The second sequence of end points. + True if both sequences contain the same end points in the same order, or if both sequences are null. + + + + Parses the string representation of an end point. + + The value to parse. + An end point. + + + + Returns a that represents the end point. + + The end point. + + A that represents the end point. + + + + + Tries to parse the string representation of an end point. + + The value to parse. + The result. + True if the string representation was parsed successfully. + + + + Represents methods that can be used to ensure that parameter values meet expected conditions. + + + + + Ensures that the value of a parameter is not null. + + Type type of the value. + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is between a minimum and a maximum value. + + Type type of the value. + The value of the parameter. + The minimum value. + The maximum value. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is equal to a comparand. + + Type type of the value. + The value of the parameter. + The comparand. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than a comparand. + + Type type of the value. + The value of the parameter. + The comparand. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to a comparand. + + Type type of the value. + The value of the parameter. + The comparand. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is infinite or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is infinite or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is not null. + + Type type of the value. + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is not null and does not contain any nulls. + + Type of the value. + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is not null or empty. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is not null or empty. + + The type of the elements. + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null. + + Type type of the value. + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or is between a minimum and a maximum value. + + Type type of the value. + The value of the parameter. + The minimum value. + The maximum value. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null, or infinite, or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or not empty. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or a valid timeout. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is a valid timeout. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that an assertion is true. + + The assertion. + The message to use with the exception that is thrown if the assertion is false. + + + + Ensures that an assertion is true. + + The assertion. + The message to use with the exception that is thrown if the assertion is false. + The parameter name. + + + + Ensures that the value of a parameter meets an assertion. + + Type type of the value. + The value of the parameter. + The assertion. + The name of the parameter. + The message to use with the exception that is thrown if the assertion is false. + The value of the parameter. + + + + A mapper from error responses to custom exceptions. + + + + + Maps the specified response to a custom exception (if possible). + + The connection identifier. + The response. + + The custom exception (or null if the response could not be mapped to a custom exception). + + + + + Maps the specified writeConcernResult to a custom exception (if necessary). + + The connection identifier. + The write concern result. + + The custom exception (or null if the writeConcernResult was not mapped to an exception). + + + + + Maps the server response to a MongoNotPrimaryException or MongoNodeIsRecoveringException (if appropriate). + + The connection identifier. + The command. + The server response. + Name of the error message field. + The exception, or null if no exception necessary. + + + + Represents a feature that is not supported by all versions of the server. + + + + + Gets the aggregate accumulator feature. + + + + + Gets the aggregate $function stage feature. + + + + + Gets the aggregate let feature. + + + + + Gets the aggregate merge feature. + + + + + Gets the aggregate out on secondary feature. + + + + + Gets the aggregate out to time series feature. + + + + + Gets the aggregate out to a different database feature. + + + + + Gets the aggregate toString feature. + + + + + Gets the aggregate unionWith feature. + + + + + Gets the bitwise operators feature. + + + + + Gets the change stream all changes for cluster feature. + + + + + Gets the change stream for database feature. + + + + + Gets the change stream post batch resume token feature. + + + + + Gets the change stream pre post images feature. + + + + + Gets the change stream splitEvent stage feature. + + + + + Gets the client bulk write feature. + + + + + Gets the client side encryption feature. + + + + + Gets the clustered indexes feature. + + + + + Gets the conversion of binary data to/from numeric types feature. + + + + + Gets the conversion of binary data to/from string feature. + + + + + Gets the create index commit quorum feature. + + + + + Gets the create indexes using insert operations feature. + + + + + Gets the csfle range algorithm feature. + + + + + Gets the client side field level encryption 2 feature. + + + + + Gets the client side field level encryption 2 queryable encryption v2 feature. + + + + + Gets the csfle2 $lookup support feature. + + + + + Gets the csfle2 range algorithm feature. + + + + + Gets the csfle2 textPreview algorithm feature. + + + + + Gets the $dateFromString format argument feature. + + + + + Gets the date operators added in 5.0 feature. + + + + + Gets the aggregate $densify stage feature. + + + + + Gets the documents stage feature. + + + + + Gets the directConnection setting feature. + + + + + Gets the electionIdPriorityInSDAM feature. + + + + + Gets the eval feature. + + + + + Gets the fail points block connection feature. + + + + + Gets the fail points fail command feature. + + + + + Gets the fail points fail command for sharded feature. + + + + + Gets filter limit feature. + + + + + Gets the find allowDiskUse feature. + + + + + Gets the find projection expressions feature. + + + + + Gets the geoNear command feature. + + + + + + Gets the getField feature. + + + + + Gets the getMore comment feature. + + + + + Gets the group command feature. + + + + + Gets the hedged reads feature. + + + + + Gets the hidden index feature. + + + + + Gets the hint for delete operations feature. + + + + + Gets the hint for find and modify operations feature. + + + + + Gets the hint for update and replace operations feature. + + + + + Gets the keep connection pool when NotPrimary connection exception feature. + + + + + Gets the keep connection pool when replSetStepDown feature. + + + + + Gets the legacy wire protocol feature. + + + + + Get the list databases authorizedDatabases feature. + + + + + Gets the load balanced mode feature. + + + + + Gets the lookup concise syntax feature. + + + + + Gets the lookup documents feature. + + + + + Gets the mmapv1 storage engine feature. + + + + + Gets the $median operator added in 7.0 + + + + + Gets the $percentile operator added in 7.0 + + + + + Gets the pick accumulators new in 5.2 feature. + + + + + Gets the $rankFusion feature. + + + + + Gets the regex match feature. + + + + + Gets the $round feature. + + + + + Gets the scram sha256 authentication feature. + + + + + Gets the server returns resumableChangeStream label feature. + + + + + Gets the server returns retryable writeError label feature. + + + + + Gets the $set stage feature. + + + + + Gets the set window fields feature. + + + + + Gets the set window fields $locf feature. + + + + + Gets the sharded transactions feature. + + + + + Gets the $sigmoid operator feature. + + + + + Gets the snapshot reads feature. + + + + + Gets the $sortArray operator feature. + + + + + Gets the speculative authentication feature. + + + + + Gets the speculative authentication feature. + + + + + Gets the streaming hello feature. + + + + + Gets the $toXyz conversion operators feature ($toDouble etc.). + + + + + Gets the transactions feature. + + + + + Gets the trig operators feature. + + + + + Gets the trim operator feature. + + + + + Gets the update with aggregation pipeline feature. + + + + + Gets the wildcard indexes feature. + + + + + Initializes a new instance of the class. + + The name of the feature. + The first wire version that supports the feature. + The wire version that stops support the feature. + The not supported error message. + + + + Gets the name of the feature. + + + + + Gets the error message to be used by the feature support checks. + + + + + Throws an exception if the feature is not supported in the server used by the client. + + The client. + The cancellation token. + + + + Throws an exception if the feature is not supported in the server used by the client. + + The client. + The cancellation token. + + + + + + + Abstractions of the file system. + + + + + Abstraction for static methods in . + + + + + A serializer for BatchableSource that serializes a fixed count of items. + + The type of the items. + + + + Initializes a new instance of the class. + + The item serializer. + The item element name validator. + The count. + + + + + + + + + + + + + Represents the hint for find and modify feature. + + + + + Initializes a new instance of the class. + + The name of the feature. + The first wire version that supports the feature. + + + + Determines whether the driver must throw an exception if the feature is not supported by the server. + + The wire version. + Whether the driver must throw if feature is not supported. + + + + Represents a batch of items that can be split if not all items can be processed at once. + + The type of the items. + + + + Gets a value indicating whether all items were processed. + + + true if all items were processed; otherwise, false. + + + + + Gets a value indicating whether the batch can be split. + + + true if the batch can be split; otherwise, false. + + + + + Gets the count. + + + The count. + + + + + Gets the items. + + + The items. + + + + + Gets the offset. + + + The offset. + + + + + Gets the count of processed items. Equal to zero until SetProcessedCount has been called. + + + The count of processed items. + + + + + Advances past the processed items. + + + + + Gets the items in the batch. + + + The items in the batch. + + + + + Gets the items that were processed. + + + The items that were processed. + + + + + Gets the items that were not processed. + + + The items that were not processed. + + + + + Sets the processed count. + + The value. + + + + Thread-safe helper to manage a value. + + + + + Represents a range between a minimum and a maximum value. + + The type of the value. + + + + Initializes a new instance of the class. + + The minimum value. + The maximum value. + + + + Gets the maximum value. + + + The maximum value. + + + + + Gets the minimum value. + + + The minimum value. + + + + + + + + + + + + + + Determines whether this range overlaps with another range. + + The other range. + True if this range overlaps with the other + + + + + + + Should only be used when the safety of the data cannot be guaranteed. + For instance, when the secure string is a password used in a plain text protocol. + + The secure string. + The CLR string. + + + + Converts to . + + The string value. + + The secure string. + + + + + Represents a semantic version number. + + + + + Initializes a new instance of the class. + + The major version. + The minor version. + The patch version. + + + + Initializes a new instance of the class. + + The major version. + The minor version. + The patch version. + The pre release version. + + + + Gets the internal build commit hash. + + + + + Gets the number of commits after release. + + + + + Gets the major version. + + + The major version. + + + + + Gets the minor version. + + + The minor version. + + + + + Gets the patch version. + + + The patch version. + + + + + Gets the pre release version. + + + The pre release version. + + + + + + + + + + + + + + + + + + + + Parses a string representation of a semantic version. + + The string value to parse. + A semantic version. + + + + Tries to parse a string representation of a semantic version. + + The string value to parse. + The result. + True if the string representation was parsed successfully; otherwise false. + + + + Determines whether two specified semantic versions have the same value. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is the same as the value of b; otherwise false. + + + + + Determines whether two specified semantic versions have different values. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is different from the value of b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is greater than the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is greater than b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is greater than or equal to the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is greater than or equal to b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is less than the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is less than b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is less than or equal to the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is less than or equal to b; otherwise false. + + + + + Represents a tentative request to acquire a SemaphoreSlim. + + + + + Initializes a new instance of the class. + + The semaphore. + The cancellation token. + + + + Initializes a new instance of the class. + + The semaphore. + The timeout. + The cancellation token. + + + + Gets the semaphore wait task. + + + The semaphore wait task. + + + + + + + + A serializer for BatchableSource that serializes as much of the BatchableSource as fits in the max batch count and size. + + The type of the items. + + + + Initializes a new instance of the class. + + The item serializer. + The item element name validator. + The maximum batch count. + The maximum size of a serialized item. + The maximum size of the batch. + + + + + + + + + + + + Gets whether a yield is not required. + This property is intended for compiler user rather than use directly in code. + + + + Wire version 0. + + + + + Wire version 2. + + + + + Wire version 3. + + + + + Wire version 4. + + + + + Wire version 5. + + + + + Wire version 6. + + + + + Wire version 7. + + + + + Wire version 8. + + + + + Wire version 9. + + + + + Wire version 10. + + + + + Wire version 11. + + + + + Wire version 12. + + + + + Wire version 13. + + + + + Wire version 14. + + + + + Wire version 15. + + + + + Wire version 16. + + + + + Wire version 17. + + + + + Wire version 18. + + + + + Wire version 19. + + + + + Wire version 20. + + + + + Wire version 21. + + + + + Wire version 22. + + + + + Wire version 23. + + + + + Wire version 24. + + + + + Wire version 25. + + + + + Wire version 26. + + + + + Wire version 27. + + + + + Wire version 28. + + + + + Initializes a new instance of the class. + + The database namespace. + The pipeline. + The result value serializer. + The message encoder settings. + + + + Initializes a new instance of the class. + + The collection namespace. + The pipeline. + The result value serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether the server is allowed to use the disk. + + + A value indicating whether the server is allowed to use the disk. + + + + + Gets or sets the size of a batch. + + + The size of a batch. + + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets or sets the comment. + + + The comment. + + + + + Gets the database namespace. + + + The database namespace. + + + + + Gets or sets the hint. This must either be a BsonString representing the index name or a BsonDocument representing the key pattern of the index. + + + The hint. + + + + + Gets or sets the "let" definition. + + + The "let" definition. + + + + + Gets or sets the maximum await time. + + + The maximum await time. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + The maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the pipeline. + + + The pipeline. + + + + + Gets or sets the read concern. + + + The read concern. + + + + + Gets the result value serializer. + + + The result value serializer. + + + + + Gets or sets a value indicating whether to retry. + + Whether to retry. + + + + Gets or sets a value indicating whether the server should use a cursor to return the results. + + + A value indicating whether the server should use a cursor to return the results. + + + + + + + + + + + + + + + + + Represents the result of one batch executed using a write command. + + + + + A change stream cursor. + + The type of the output documents. + + + + + + + + Initializes a new instance of the class. + + The cursor. + The document serializer. + The binding. + The change stream operation. + The post batch resume token from an aggregate command. + The initial operation time. + The start after value. + The resume after value. + The start at operation time value. + The maximum wire version. + + + + + + + + + + + + + + + + Gets or sets the size of the batch. + + + The size of the batch. + + + + + Gets or sets the collation. + + + The collation. + + + + + Gets or sets the comment. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets the database namespace. + + + The database namespace. + + + + + Gets or sets the full document option. + + + The full document option. + + + + + Gets or sets the full document before change option. + + + The full document before change option. + + + + + Gets or sets the maximum await time. + + + The maximum await time. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the pipeline. + + + The pipeline. + + + + + Gets or sets the read concern. + + + The read concern. + + + + + Gets the result serializer. + + + The result serializer. + + + + + + + + Gets or sets a value indicating whether to retry. + + Whether to retry. + + + + + + + + + + + + + + + + + + + + + + + + + Represents a create search indexes operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The requests. + The message encoder settings. + + + + + + + + + + A helper class for deserializing documents in a cursor batch. + + + + + Deserializes the documents. + + The type of the document. + The batch. + The document serializer. + The message encoder settings. + The documents. + + + + Represents a drop index operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The name of the index. + The message encoder settings. + + + + + + + + + + Represents a deserializer that deserializes the selected element and skips any others. + + The type of the value. + + + + Represents an element name validator for replace operations. + + + + + Gets a pre-created instance of an ReplacementElementNameValidator. + + + The pre-created instance. + + + + + + + + + + + Represents an element name validator for update operations. + + + + + Gets a pre-created instance of an UpdateElementNameValidator. + + + The pre-created instance. + + + + + + + + + + + Represents an element name validator that will validate element names for either an update or a replacement based on whether the first element name starts with a "$". + + + + + Initializes a new instance of the class. + + + + + + + + + + + Represents a map-reduce operation. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The map function. + The reduce function. + The result serializer. + The message encoder settings. + + + + Gets or sets the read concern. + + + The read concern. + + + + + Gets the result serializer. + + + The result serializer. + + + + + + + + + + + + + + + + + Represents a base class for map-reduce operations. + + + + + Initializes a new instance of the class. + + The collection namespace. + The map function. + The reduce function. + The message encoder settings. + + + + Gets or sets the collation. + + + The collation. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets or sets the filter. + + + The filter. + + + + + Gets or sets the finalize function. + + + The finalize function. + + + + + Gets or sets a value indicating whether objects emitted by the map function remain as JavaScript objects. + + + + Setting this value to true can result in faster execution, but requires more memory on the server, and if + there are too many emitted objects the map-reduce operation may fail. + + true if objects emitted by the map function remain as JavaScript objects; otherwise, false. + + + + + Gets or sets the maximum number of documents to pass to the map function. + + + The maximum number of documents to pass to the map function. + + + + + Gets the map function. + + + The map function. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + The maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the reduce function. + + + The reduce function. + + + + + Gets or sets the scope document. + + + The scode document defines global variables that are accessible from the map, reduce and finalize functions. + + + The scope document. + + + + + Gets or sets the sort specification. + + + The sort specification. + + + + + Gets or sets a value indicating whether to include extra information, such as timing, in the result. + + + true if extra information, such as timing, should be included in the result; otherwise, false. + + + + + Creates the output options. + + The output options. + + + + Represents a map-reduce operation that outputs its results to a collection. + + + + + Initializes a new instance of the class. + + The collection namespace. + The output collection namespace. + The map function. + The reduce function. + The message encoder settings. + + + + Gets or sets a value indicating whether to bypass document validation. + + + A value indicating whether to bypass document validation. + + + + + Gets or sets a value indicating whether the server should not lock the database for merge and reduce output modes. + + + true if the server should not lock the database for merge and reduce output modes; otherwise, false. + + + + + Gets the output collection namespace. + + + The output collection namespace. + + + + + Gets or sets the output mode. + + + The output mode. + + + + + Gets or sets a value indicating whether the output collection should be sharded. + + + true if the output collection should be sharded; otherwise, false. + + + + + Gets or sets the write concern. + + + The write concern. + + + + + + + + + + + + + + + + + Represents a bulk write operation exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The result. + The write errors. + The write concern error. + The unprocessed requests. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the result of the bulk write operation. + + + + + Gets the unprocessed requests. + + + The unprocessed requests. + + + + + + Gets the write concern error. + + + The write concern error. + + + + + Gets the write errors. + + + The write errors. + + + + + + + + Value indicating whether the exception requests additional authentication attempt. + + The command exception. + The command. + The flag. + + This logic is completely separate from a standard retry mechanism and related only to authentication. + + + + + + + + Represents information about a server. + + + + + Initializes a new instance of the class. + + The server identifier. + The end point. + The reason the server description was last changed. + The average round trip time. + The canonical end point. + The election identifier. + The heartbeat exception. + The heartbeat interval. + Whether the server supports the hello command. + The last heartbeat timestamp. + The last update timestamp. + The last write timestamp. + The logical session timeout. + The maximum batch count. + The maximum size of a document. + The maximum size of a message. + The maximum size of a wire document. + The replica set configuration. + The server state. + The replica set tags. + The topology version. + The server type. + The server version. + The wire version range. + EndPoint and ServerId.EndPoint must match. + + + + Gets the average round trip time. + + + The average round trip time. + + + + + Gets the canonical end point. This is the endpoint that the cluster knows this + server by. Currently, it only applies to a replica set config and will match + what is in the replica set configuration. + + + + + Gets the election identifier. + + + + + Gets the end point. + + + The end point. + + + + + Gets the most recent heartbeat exception. + + + The the most recent heartbeat exception (null if the most recent heartbeat succeeded). + + + + + Gets the heartbeat interval. + + + The heartbeat interval. + + + + + Whether the server supports the hello command. + + + True if the server responded with helloOk:true; false otherwise. + + + + + Gets a value indicating whether this server is compatible with the driver. + + + true if this server is compatible with the driver; otherwise, false. + + + + + Gets a value indicating whether this instance is a data bearing server. + + + true if this instance is a data bearing server; otherwise, false. + + + + + Gets the last heartbeat timestamp. + + + The last heartbeat timestamp. + + + + + Gets the last update timestamp (when the ServerDescription itself was last updated). + + + The last update timestamp. + + + + + Gets the last write timestamp (from the lastWrite field of the hello or legacy hello result). + + + The last write timestamp. + + + + + Gets the logical session timeout. + + + The logical session timeout. + + + + + Gets the maximum number of documents in a batch. + + + The maximum number of documents in a batch. + + + + + Gets the maximum size of a document. + + + The maximum size of a document. + + + + + Gets the maximum size of a message. + + + The maximum size of a message. + + + + + Gets the maximum size of a wire document. + + + The maximum size of a wire document. + + + + + Gets the maximum wire version. + + + The maximum wire version. + + + + + The reason the server description was last changed. + + The reason the server description was last changed. + + + + Gets the replica set configuration. + + + The replica set configuration. + + + + + Gets the server identifier. + + + The server identifier. + + + + + Gets the server state. + + + The server state. + + + + + Gets the replica set tags. + + + The replica set tags (null if not a replica set or if the replica set has no tags). + + + + + Gets the server type. + + + The server type. + + + + + Gets the topology version. + + + The server topology version. + + + + + Gets the approximate server version (only the major and minor version numbers are known). + + + The server version. + + + + + Gets the wire version range. + + + The wire version range. + + + + + + + + + + + + + + Determines whether the specified can be considered as equal to decide should we publish sdam events or not. + + The other server description. + true, if sdam events should be suppressed, otherwise false. + + + + + + + Returns a new instance of ServerDescription with some values changed. + + The reason the server description changed. + The average round trip time. + The canonical end point. + The election identifier. + The heartbeat exception. + The heartbeat interval. + Whether the server supports the hello command. + The last heartbeat timestamp. + The last update timestamp. + The last write timestamp. + The logical session timeout. + The maximum batch count. + The maximum size of a document. + The maximum size of a message. + The maximum size of a wire document. + The replica set configuration. + The server state. + The replica set tags. + The topology version. + The server type. + The server version. + The wire version range. + + A new instance of ServerDescription. + + + + + Returns a new ServerDescription with a new HeartbeatException. + + The heartbeat exception. + + A new instance of ServerDescription. + + + + + Represents the arguments to the event that occurs when the server description changes. + + + + + Initializes a new instance of the class. + + The old server description. + The new server description. + + + + Gets the old server description. + + + The old server description. + + + + + Gets the new server description. + + + The new server description. + + + + + + + + Represents a server identifier. + + + + + Initializes a new instance of the class. + + The cluster identifier. + The end point. + + + + Gets the cluster identifier. + + + The cluster identifier. + + + + + Gets the end point. + + + The end point. + + + + + + + + + + + + + + + + + + + + Represents the server monitoring mode. + + + + + Use polling protocol on FaaS platforms or streaming protocol otherwise. (Default) + + + + + Use polling protocol. + + + + + Use streaming protocol. + + + + + Represents the server state. + + + + + The server is disconnected. + + + + + The server is connected. + + + + + Represents the server type. + + + + + The server type is unknown. + + + + + The server is a standalone server. + + + + + The server is a shard router. + + + + + The server is a replica set primary. + + + + + The server is a replica set secondary. + + + + + Use ReplicaSetSecondary instead. + + + + + The server is a replica set arbiter. + + + + + The server is a replica set member of some other type. + + + + + The server is a replica set ghost member. + + + + + The server is under load balancing. + + + + + Represents extension methods on ServerType. + + + + + Determines whether this server type is a replica set member. + + The type of the server. + Whether this server type is a replica set member. + + + + Determines whether this server type is a writable server. + + The type of the server. + Whether this server type is a writable server. + + + + Infers the cluster type from the server type. + + The type of the server. + The cluster type. + + + + Represents a topology description. + + + Comparing topology descriptions freshness does not exhibit the reversal property of + inequalities e.g. IsStalerThan(a, b) (a "<" b) does not imply !IsStalerThan(b, a) (b ">" a) + See for more information. + + + + + Compares a local TopologyVersion with a server's TopologyVersion and indicates whether the local + TopologyVersion is staler, fresher, or equal to the server's TopologyVersion. + Per the SDAM specification, if the ProcessIds are not equal, this method assumes that + is more recent. This means that this method does not exhibit + the reversal properties of inequalities i.e. a "<" b does not imply b ">" a. + + The first TopologyVersion. + The other TopologyVersion. + + Less than zero indicates that the is staler than the . + Zero indicates that the description is equal to the . + Greater than zero indicates that the is fresher than the . + + + + + Attempts to create a TopologyVersion from the supplied BsonDocument. + + The document. Should contain an ObjectId named "processId" and a BsonInt64 named "counter". + A TopologyVersion if one could be constructed from the supplied document and null otherwise. + + + + Gets whether or not is fresher than . + Comparing topology descriptions freshness does not exhibit the reversal property of + inequalities e.g. a.IsFresherThan(b) (a "<" b) does not imply + !b.IsFresherThan(a) (b ">" a) + See for more information. + In the case that this.Equals(), will be considered to be fresher. + + The first TopologyVersion. + The other TopologyVersion. + + Whether or not this TopologyVersion is fresher than . + + + + + Gets whether or not is fresher than or Equal to . + Comparing topology descriptions freshness does not exhibit the reversal property of + inequalities e.g. a.IsFresherThan(b) (a "<" b) does not imply + !b.IsFresherThan(a) (b ">" a) + See for more information. + In the case that this.Equals(), will be considered to be fresher. + + The first TopologyVersion. + The other TopologyVersion. + + Whether or not this TopologyVersion is fresher than . + + + + + Gets whether or not is staler than or Equal to . + Comparing topology descriptions freshness does not exhibit the reversal property of + inequalities e.g. a.IsStalerThan(b) (a "<" b) does not imply + !b.IsStalerThan(a) (b ">" a). + See for more information. + In the case that this == , will be considered to be fresher. + + The first TopologyVersion. + The other TopologyVersion. + + Whether or not this TopologyVersion is staler than . + + + + + Gets whether or not is staler than or Equal to . + Comparing topology descriptions freshness does not exhibit the reversal property of + inequalities e.g. a.IsStalerThan(b) (a "<" b) does not imply + !b.IsStalerThan(a) (b ">" a). + See for more information. + In the case that this == , will be considered to be fresher. + + The first TopologyVersion. + The other TopologyVersion. + + Whether or not this TopologyVersion is staler than . + + + + + Initializes a new instance of the class. + + The process identifier. + The counter. + + + + Gets the process identifier. + + + The process identifier. + + + + + Gets the process identifier. + + + The process identifier. + + + + + + + + + + + + + + + + + + + + Return the response from the server. + + + + + Ignore the response from the server. + + + + + No response is expected from the server. + + + + + Multiple responses might be returned from the server (the ExhaustAllowed flag will be set). + + + + + Interface for decrypting fields in a binary document. + + + + + Encrypts the fields. + + The database name. + The unencrypted command bytes. + The cancellation token. + An encrypted document. + + + + Encrypts the fields asynchronously. + + The database name. + The unencrypted command bytes. + The cancellation token. + An encrypted document. + + + + Interface for decrypting fields in a binary document. + + + + + Decrypts the fields. + + The encrypted document bytes. + The cancellation token. + An unencrypted document. + + + + Decrypts the fields asynchronously. + + The encrypted document bytes. + The cancellation token. + An unencrypted document. + + + + OP MSG + + + + + OP_COMPRESSED + + + + + OP_QUERY + + + + + OP_REPLY + + + + + A server session. + + + + + + + + + + + + + + + + + + + + + + + + + + + The interface for a core server session. + + + + + Gets the session Id. + + + The session Id. + + + + + Gets a value indicate whether this session is dirty. + + + true if the session is dirty. + + + + + Gets the time this server session was last used (in UTC). + + + The time this server session was last used (in UTC). + + + + + Gets the next transaction number. + + The transaction number. + + + + Marks the session as dirty. + + + + + Called by the driver when the session is used (i.e. sent to the server). + + + + + An output document from a $changeStream pipeline stage. + + The type of the document. + + + + Initializes a new instance of the class. + + The backing document. + The document serializer. + + + + Gets the backing document. + + + + + Gets the cluster time. + + + The cluster time. + + + + + Gets the namespace of the collection. + + + The namespace of the collection. + + + + + Gets ui field from the oplog entry corresponding to the change event. + Only present when the showExpandedEvents change stream option is enabled and for the following event types (MongoDB 6.0 and later): + + + + + + + + + + + + + + + + The UUID of the collection. + + + + + Gets the database namespace. + + + The database namespace. + + + + + Gets the disambiguated paths if present. + + + The disambiguated paths. + + + + A document containing a map that associates an update path to an array containing the path components used in the update document. This data + can be used in combination with the other fields in an to determine the + actual path in the document that was updated. This is necessary in cases where a key contains dot-separated strings (i.e. { "a.b": "c" }) or + a document contains a numeric literal string key (i.e. { "a": { "0": "a" } }). Note that in this scenario, the numeric key can't be the top + level key because { "0": "a" } is not ambiguous - update paths would simply be '0' which is unambiguous because BSON documents cannot have + arrays at the top level. Each entry in the document maps an update path to an array which contains the actual path used when the document + was updated. For example, given a document with the following shape { "a": { "0": 0 } } and an update of { $inc: { "a.0": 1 } }, + would look like the following: + + + { + "a.0": ["a", "0"] + } + + + In each array, all elements will be returned as strings with the exception of array indices, which will be returned as 32-bit integers. + + + Added in MongoDB version 6.1.0. + + + + + + Gets the document key. + + + The document key. + + + + + Gets the full document. + + + The full document. + + + + + Gets the full document before change. + + + The full document before change. + + + + + The type of the newly created object. + Only present when the showExpandedEvents change stream option is enabled and for the following event types (MongoDB 8.1 and later): + + + + + + + + Gets the description for the operation. + Only present when the showExpandedEvents change stream option is enabled and for the following event types (MongoDB 6.0 and later): + + + + + + + + + + + + + The description of the operation. + + + + + Gets the type of the operation. + + + The type of the operation. + + + + + Gets the new namespace for the ns collection. This field is omitted for all operation types except "rename". + + + The new namespace of the ns collection. + + + + + Gets the resume token. + + + The resume token. + + + + + Gets the split event. + + + + + Gets the update description. + + + The update description. + + + + + Gets the wall time of the change stream event. + + + The wall time. + + + + + A serializer for ChangeStreamDocument instances. + + The type of the document. + + + + Initializes a new instance of the class. + + The document serializer. + + + + + + + + + + + + + + + + Change stream FullDocumentBeforeChange option. + + + + + Do not send this option to the server. + Server's default is to not return the full document before change. + + + + + Do not return the full document before change. + + + + + Returns the pre-image of the modified document for replace, update and delete + change events if the pre-image for this event is available. + + + + + Same behavior as 'whenAvailable' except that + an error is raised if the pre-image is not available. + + + + + Change stream FullDocument option. + + + + + Do not send this option to the server. + Server's default is to not return the full document. + + + + + The change stream for partial updates will include both a delta describing the + changes to the document as well as a copy of the entire document that was + changed from some time after the change occurred. + + + + + Returns the post-image of the modified document for replace and update change events + if the post-image for this event is available. + + + + + Same behavior as 'whenAvailable' except that + an error is raised if the post-image is not available. + + + + + The operation type of a change stream result. + + + + + An insert operation type. + + + + + An update operation type. + + + + + A replace operation type. + + + + + A delete operation type. + + + + + An invalidate operation type. + + + + + A rename operation type. + + + + + A drop operation type. + + + + + A dropDatabase operation type. + + + + + A createIndexes operation type. + + + + + A dropIndexes operation type. + + + + + A modify operation type. + + + + + A create operation type. + + + + + A shardCollection operation type. + + + + + A refineCollectionShardKey operation type. + + + + + A reshardCollection operation type. + + + + + A serializer for ChangeStreamOperationType values. + + + + + Gets a ChangeStreamOperationTypeSerializer. + + + A ChangeStreamOperationTypeSerializer. + + + + + + + + + + + Change stream splitEvent data. + + + + + Initializes a new instance of the class. + + Fragment index. + Total number of fragments. + + + + Gets the fragment index, starting at 1. + + + + + Total number of fragments for the event. + + + + + An UpdateDescription in a ChangeStreamDocument instance. + + + + + Initializes a new instance of the class. + + The updated fields. + The removed fields. + + + + Initializes a new instance of the class. + + The updated fields. + The removed fields. + The truncated arrays. + + + + Initializes a new instance of the class. + + The updated fields. + The removed fields. + The truncated arrays. + The DisambiguatedPaths document. + + + + Gets the disambiguated paths if present. + + + The disambiguated paths. + + + + A document containing a map that associates an update path to an array containing the path components used in the update document. This data + can be used in combination with the other fields in an to determine the + actual path in the document that was updated. This is necessary in cases where a key contains dot-separated strings (i.e. { "a.b": "c" }) or + a document contains a numeric literal string key (i.e. { "a": { "0": "a" } }). Note that in this scenario, the numeric key can't be the top + level key because { "0": "a" } is not ambiguous - update paths would simply be '0' which is unambiguous because BSON documents cannot have + arrays at the top level. Each entry in the document maps an update path to an array which contains the actual path used when the document + was updated. For example, given a document with the following shape { "a": { "0": 0 } } and an update of { $inc: { "a.0": 1 } }, + would look like the following: + + + { + "a.0": ["a", "0"] + } + + + In each array, all elements will be returned as strings with the exception of array indices, which will be returned as 32-bit integers. + + + Added in MongoDB version 6.1.0. + + + + + + Gets the removed fields. + + + The removed fields. + + + + + Gets the truncated arrays. + + + The truncated arrays. + + + + + Gets the updated fields. + + + The updated fields. + + + + + + + + + + + A serialize for ChangeStreamUpdateDescription values. + + + + + Gets a ChangeStreamUpdateDescriptionSerializer. + + + A ChangeStreamUpdateDescriptionSerializer. + + + + + + + + + + + Controls whether spaces and punctuation are considered base characters. + + + + + Spaces and punctuation are considered base characters (the default). + + + + + Spaces and characters are not considered base characters, and are only distinguised at strength > 3. + + + + + Uppercase or lowercase first. + + + + + Off (the default). + + + + + Uppercase first. + + + + + Lowercase first. + + + + + Controls which characters are affected by alternate: "Shifted". + + + + + Punctuation and spaces are affected (the default). + + + + + Only spaces. + + + + + Prioritizes the comparison properties. + + + + + Primary. + + + + + Secondary. + + + + + Tertiary (the default). + + + + + Quaternary. + + + + + Identical. + + + + + Represents a MongoDB collation. + + + + + Gets the simple binary compare collation. + + + + + Creates a Collation instance from a BsonDocument. + + The document. + A Collation instance. + + + + Initializes a new instance of the class. + + The locale. + The case level. + The case that is ordered first. + The strength. + Whether numbers are ordered numerically. + The alternate. + The maximum variable. + The normalization. + Whether secondary differences are to be considered in reverse order. + + + + Gets whether spaces and punctuation are considered base characters. + + + + + Gets whether secondary differencs are to be considered in reverse order. + + + + + Gets whether upper case or lower case is ordered first. + + + + + Gets whether the collation is case sensitive at strength 1 and 2. + + + + + Gets the locale. + + + + + Gets which characters are affected by the alternate: "Shifted". + + + + + Gets the normalization. + + + + + Gets whether numbers are ordered numerically. + + + + + Gets the strength. + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + + + + + + + + + + + + + Creates a new Collation instance with some properties changed. + + The new locale. + The new case level. + The new case first. + The new strength. + The new numeric ordering. + The new alternate. + The new maximum variable. + The new normalization. + The new backwards. + A new Collation instance. + + + + Represents a collection namespace. + + + + + Creates a new instance of the class from a collection full name. + + The collection full name. + A CollectionNamespace. + + + + Determines whether the specified collection name is valid. + + The name of the collection. + Whether the specified collection name is valid. + + + + Initializes a new instance of the class. + + The name of the database. + The name of the collection. + + + + Initializes a new instance of the class. + + The database namespace. + The name of the collection. + + + + Gets the name of the collection. + + + The name of the collection. + + + + + Gets the database namespace. + + + The database namespace. + + + + + Gets the collection full name. + + + The collection full name. + + + + + + + + + + + + + + + + + Represents a create index commit quorum. + + + + + Gets a create index commit quorum of majority. + + + + + Gets a create index commit quorum of voting members. + + + + + Creates a create index commit quorum with a mode value. + + The mode value. + A create index commit quorum. + + + + Creates a create index commit quorum with a w value. + + The w value. + A create index commit quorum. + + + + Converts the create index commit quorum to a BsonValue. + + A BsonValue. + + + + Represents a CreateIndexCommitQuorum with a mode value. + + + + + Initializes an instance of CreateIndexCommitQuorumWithMode. + + The mode value. + + + + The mode value. + + + + + + + + Represents a CreateIndexCommitQuorum with a w value. + + + + + Initializes an instance of CreateIndexCommitQuorumWithW. + + The w value. + + + + The w value. + + + + + + + + Represents a database namespace. + + + + + Gets the admin database namespace. + + + The admin database namespace. + + + + + Determines whether the specified database name is valid. + + The database name. + True if the database name is valid. + + + + Initializes a new instance of the class. + + The name of the database. + + + + Gets the name of the database. + + + The name of the database. + + + + + + + + + + + + + + + + + Represents a cursor for an operation that is not actually executed until MoveNextAsync is called for the first time. + + The type of the document. + + + + Initializes a new instance of the class. + + The dispose action. + The delegate to execute the first time MoveNext is called. + The delegate to execute the first time MoveNextAsync is called. + + + + + + + + + + + + + + + + Represents the document validation action. + + + + + Validation failures result in an error. + + + + + Validation failures result in a warning. + + + + + Represents the document validation level. + + + + + Strict document validation. + + + + + Moderate document validation. + + + + + No document validation. + + + + + Represents an asynchronous cursor. + + The type of the document. + + + + Gets the current batch of documents. + + + The current batch of documents. + + + + + Moves to the next batch of documents. + + The cancellation token. + Whether any more documents are available. + + + + Moves to the next batch of documents. + + The cancellation token. + A Task whose result indicates whether any more documents are available. + + + + Represents an asynchronous cursor for change stream. + + The type of the document. + + + + Gets the resume token. + + + The resume token. + + + + + Gets the post batch resume token. + + + The post batch resume token. + + + + + Gets a value indicating whether the first batch was empty or not. + + + true if the first batch was empty; otherwise, false. + + + + + Represents extension methods for IAsyncCursor. + + + + + Determines whether the cursor contains any documents. + + The type of the document. + The cursor. + The cancellation token. + True if the cursor contains any documents. + + + + Determines whether the cursor contains any documents. + + The type of the document. + The cursor. + The cancellation token. + A Task whose result is true if the cursor contains any documents. + + + + Returns the first document of a cursor. + + The type of the document. + The cursor. + The cancellation token. + The first document. + + + + Returns the first document of a cursor. + + The type of the document. + The cursor. + The cancellation token. + A Task whose result is the first document. + + + + Returns the first document of a cursor, or a default value if the cursor contains no documents. + + The type of the document. + The cursor. + The cancellation token. + The first document of the cursor, or a default value if the cursor contains no documents. + + + + Returns the first document of the cursor, or a default value if the cursor contains no documents. + + The type of the document. + The cursor. + The cancellation token. + A task whose result is the first document of the cursor, or a default value if the cursor contains no documents. + + + + Calls a delegate for each document returned by the cursor. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + + If your delegate is going to take a long time to execute or is going to block + consider using a different overload of ForEachAsync that uses a delegate that + returns a Task instead. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + + If your delegate is going to take a long time to execute or is going to block + consider using a different overload of ForEachAsync that uses a delegate that + returns a Task instead. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Returns the only document of a cursor. This method throws an exception if the cursor does not contain exactly one document. + + The type of the document. + The cursor. + The cancellation token. + The only document of a cursor. + + + + Returns the only document of a cursor. This method throws an exception if the cursor does not contain exactly one document. + + The type of the document. + The cursor. + The cancellation token. + A Task whose result is the only document of a cursor. + + + + Returns the only document of a cursor, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The type of the document. + The cursor. + The cancellation token. + The only document of a cursor, or a default value if the cursor contains no documents. + + + + Returns the only document of a cursor, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The type of the document. + The cursor. + The cancellation token. + A Task whose result is the only document of a cursor, or a default value if the cursor contains no documents. + + + + Wraps a cursor in an IEnumerable that can be enumerated one time. + + The type of the document. + The cursor. + The cancellation token. + An IEnumerable + + + + Wraps a cursor in an IAsyncEnumerable that can be enumerated one time. + + The type of the document. + The cursor. + An IAsyncEnumerable. + + + + Returns a list containing all the documents returned by a cursor. + + The type of the document. + The source. + The cancellation token. + The list of documents. + + + + Returns a list containing all the documents returned by a cursor. + + The type of the document. + The source. + The cancellation token. + A Task whose value is the list of documents. + + + + Represents an operation that will return a cursor when executed. + + The type of the document. + + + + Executes the operation and returns a cursor to the results. + + The cancellation token. + A cursor. + + + + Executes the operation and returns a cursor to the results. + + The cancellation token. + A Task whose result is a cursor. + + + + Represents extension methods for IAsyncCursorSource. + + + + + Determines whether the cursor returned by a cursor source contains any documents. + + The type of the document. + The source. + The cancellation token. + True if the cursor contains any documents. + + + + Determines whether the cursor returned by a cursor source contains any documents. + + The type of the document. + The source. + The cancellation token. + A Task whose result is true if the cursor contains any documents. + + + + Returns the first document of a cursor returned by a cursor source. + + The type of the document. + The source. + The cancellation token. + The first document. + + + + Returns the first document of a cursor returned by a cursor source. + + The type of the document. + The source. + The cancellation token. + A Task whose result is the first document. + + + + Returns the first document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + + The type of the document. + The source. + The cancellation token. + The first document of the cursor, or a default value if the cursor contains no documents. + + + + Returns the first document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + + The type of the document. + The source. + The cancellation token. + A Task whose result is the first document of the cursor, or a default value if the cursor contains no documents. + + + + Calls a delegate for each document returned by the cursor. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + + If your delegate is going to take a long time to execute or is going to block + consider using a different overload of ForEachAsync that uses a delegate that + returns a Task instead. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + + If your delegate is going to take a long time to execute or is going to block + consider using a different overload of ForEachAsync that uses a delegate that + returns a Task instead. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Returns the only document of a cursor returned by a cursor source. This method throws an exception if the cursor does not contain exactly one document. + + The type of the document. + The source. + The cancellation token. + The only document of a cursor. + + + + Returns the only document of a cursor returned by a cursor source. This method throws an exception if the cursor does not contain exactly one document. + + The type of the document. + The source. + The cancellation token. + A Task whose result is the only document of a cursor. + + + + Returns the only document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The type of the document. + The source. + The cancellation token. + The only document of a cursor, or a default value if the cursor contains no documents. + + + + Returns the only document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The type of the document. + The source. + The cancellation token. + A Task whose result is the only document of a cursor, or a default value if the cursor contains no documents. + + + + Wraps a cursor source in an IEnumerable. Each time GetEnumerator is called a new cursor is fetched from the cursor source. + + The type of the document. + The source. + The cancellation token. + An IEnumerable. + + + + Wraps a cursor source in an IAsyncEnumerable. Each time GetAsyncEnumerator is called a new enumerator is returned and a new cursor + is fetched from the cursor source on the first call to MoveNextAsync. + + The type of the document. + The source. + An IAsyncEnumerable. + + + + Returns a list containing all the documents returned by the cursor returned by a cursor source. + + The type of the document. + The source. + The cancellation token. + The list of documents. + + + + Returns a list containing all the documents returned by the cursor returned by a cursor source. + + The type of the document. + The source. + The cancellation token. + A Task whose value is the list of documents. + + + + Represents a MongoDB authentication exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + + + + Represents a MongoDB client exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB command exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The message. + The command. + + + + Initializes a new instance of the class. + + The connection identifier. + The message. + The command. + The command result. + + + + Initializes a new instance of the class. + + The connection identifier. + The message. + The command. + The command result. + The inner exception. + + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the error code. + + + The error code. + + + + + Gets the name of the error code. + + + The name of the error code. + + + + + Gets the command. + + + The command. + + + + + Gets the error message. + + + The error message. + + + + + Gets the command result. + + + The command result. + + + + + + + + Represents a MongoDB configuration exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB connection failed exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + + + + Represents a MongoDB connection exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the connection identifier. + + + + + Whether or not this exception contains a socket timeout exception. + + + + + Whether or not this exception contains a timeout exception. + + + + + Determines whether the exception is network error or no. + + + + + + + + A value for propagating a serviceId to the SDAM logic after handshake completed but before acquiring connection. + + + + + Represents a MongoDB connection pool paused exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB cursor not found exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The cursor identifier. + The query. + + + + Initializes a new instance of the class. + + The information. + The context. + + + + Gets the cursor identifier. + + + The cursor identifier. + + + + + + + + Represents a MongoDB duplicate key exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The command result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the error labels. + + + The error labels. + + + + + Adds an error label. + + The error label. + + + + Determines whether the exception has some error label. + + The error label. + + true if the exception has some error label; otherwise, false. + + + + + Removes the error label. + + The error label. + + + + + + + Represents a MongoDB execution timeout exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The command result. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + The command result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the error code. + + + The error code. + + + + + Gets the name of the error code. + + + The name of the error code. + + + + + + + + Represents a MongoDB incompatible driver exception. + + + + + Initializes a new instance of the class. + + The cluster description. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB internal exception (almost surely the result of a bug). + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB node is recovering exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The command. + The result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets whether it caused by shutdown or no. + + + + + Represents a MongoDB not primary exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The command. + The result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB query exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The message. + The query. + The query result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the query. + + + The query. + + + + + Gets the query result. + + + The query result. + + + + + + + + Represents a MongoDB server exception. + + + + + Adds error labels from a command result document into the top-level label list. + + The exception. + The result document. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the connection identifier. + + + + + + + + Represents a MongoDB connection pool wait queue full exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB write concern exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The command result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the mapped write concern result exception. + + + + + Gets the write concern result. + + + The write concern result. + + + + + + + + Determines whether the exception is due to a write concern error only. + + + true if the exception is due to a write concern error only; otherwise, false. + + + + + Represents helper methods for use with the struct. + + + + + Creates an instance of an optional parameter with a value. + + + This helper method can be used when the implicit conversion doesn't work (due to compiler limitations). + + The type of the optional parameter. + The value. + An instance of an optional parameter with a value. + + + + Creates an instance of an optional parameter with an enumerable value. + + The type of the items of the optional paramater. + The value. + An instance of an optional parameter with an enumerable value. + + + + Represents an optional parameter that might or might not have a value. + + The type of the parameter. + + + + Initializes a new instance of the struct with a value. + + The value of the parameter. + + + + Gets a value indicating whether the optional parameter has a value. + + + true if the optional parameter has a value; otherwise, false. + + + + + Gets the value of the optional parameter. + + + The value of the optional parameter. + + + + + Performs an implicit conversion from to an with a value. + + The value. + + The result of the conversion. + + + + + Returns a value indicating whether this optional parameter contains a value that is not equal to an existing value. + + The value. + True if this optional parameter contains a value that is not equal to an existing value. + + + + Returns either the value of this optional parameter if it has a value, otherwise a default value. + + The default value. + Either the value of this optional parameter if it has a value, otherwise a default value. + + + + Represents a read concern. + + + + + Gets an available read concern. + + + + + Gets a default read concern. + + + + + Gets a linearizable read concern. + + + + + Gets a local read concern. + + + + + Gets a majority read concern. + + + + + Gets a snapshot read concern. + + + + + Creates a read concern from a document. + + The document. + A read concern. + + + + Initializes a new instance of the class. + + The level. + + + + Gets a value indicating whether this is the server's default read concern. + + + true if this instance is default; otherwise, false. + + + + + Gets the level. + + + + + + + + + + + + + + Converts this read concern to a BsonDocument suitable to be sent to the server. + + + A BsonDocument. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a new instance of ReadConcern with some values changed. + + The level. + + A ReadConcern. + + + + + The level of the read concern. + + + + + Reads available data. + + + + + Reads data committed locally. + + + + + Reads data committed to a majority of nodes. + + + + + Avoids returning data from a "stale" primary + (one that has already been superseded by a new primary but doesn't know it yet). + It is important to note that readConcern level linearizable does not by itself + produce linearizable reads; they must be issued in conjunction with w:majority + writes to the same document(s) in order to be linearizable. + + + + + Snapshot read concern level. + + + + + Represents a read preference. + + + + + Gets an instance of ReadPreference that represents a Nearest read preference. + + + An instance of ReadPreference that represents a Nearest read preference. + + + + + Gets an instance of ReadPreference that represents a Primary read preference. + + + An instance of ReadPreference that represents a Primary read preference. + + + + + Gets an instance of ReadPreference that represents a PrimaryPreferred read preference. + + + An instance of ReadPreference that represents a PrimaryPreferred read preference. + + + + + Gets an instance of ReadPreference that represents a Secondary read preference. + + + An instance of ReadPreference that represents a Secondary read preference. + + + + + Gets an instance of ReadPreference that represents a SecondaryPreferred read preference. + + + An instance of ReadPreference that represents a SecondaryPreferred read preference. + + + + + Creates a new ReadPreference instance from a BsonDocument. + + The document. + A ReadPreference. + + + + Initializes a new instance of the class. + + The read preference mode. + The tag sets. + The maximum staleness. + The hedge. + + + + Gets the hedge. + + + + + Gets the maximum staleness. + + + The maximum staleness. + + + + + Gets the read preference mode. + + + The read preference mode. + + + + + Gets the tag sets. + + + The tag sets. + + + + + + + + + + + + + + + + + Returns a new instance of ReadPreference with some values changed. + + The hedge. + A new instance of ReadPreference. + + + + Returns a new instance of ReadPreference with some values changed. + + The read preference mode. + A new instance of ReadPreference. + + + + Returns a new instance of ReadPreference with some values changed. + + The tag sets. + A new instance of ReadPreference. + + + + Returns a new instance of ReadPreference with some values changed. + + The maximum staleness. + A new instance of ReadPreference. + + + + Represents a read preference hedge. + + + + + Gets a disabled read preference hedge. + + + + + Gets an enabled read preference hedge. + + + + + Initializes an instance of ReadPreferenceHedge. + + Whether hedged reads are enabled. + + + + Gets whether hedged reads are enabled. + + + + + + + + + + + + + + Converts the read preference hedge to a BsonDocument. + + A BsonDocument. + + + + + + + Represents the read preference mode. + + + + + Reads should be from the primary. + + + + + Reads should be from the primary if possible, otherwise from a secondary. + + + + + Reads should be from a secondary. + + + + + Reads should be from a secondary if possible, otherwise from the primary. + + + + + Reads should be from any server that is within the latency threshold window. + + + + + Represents a server API. + + + + + Initializes a new instance of the class. + + The server API version. + The flag for strict server API version enforcement. + The flag for treating deprecated server APIs as errors. + + + + Returns true if the two values are not equal. + + The left hand side. + The right hand side + True if the two values are not equal. + + + + Returns true if the two values are equal. + + The left hand side. + The right hand side + True if the two values are equal. + + + + Gets the deprecation errors flag. + + + + + Gets the strict flag. + + + + + Gets the server API version. + + + + + + + + + + + + + + + + + Represents a server API version. + + + + + Gets an instance of server API version 1. + + + + + Returns true if the two values are not equal. + + The left hand side. + The right hand side + True if the two values are not equal. + + + + Returns true if the two values are equal. + + The left hand side. + The right hand side + True if the two values are equal. + + + + + + + + + + + + + + + + Represents the category for an error from the server. + + + + + An error without a category. + + + + + A duplicate key error. + + + + + An execution timeout error. + + + + + Represents a replica set member tag. + + + + + Initializes a new instance of the class. + + The name. + The value. + + + + Gets the name. + + + The name. + + + + + Gets the value. + + + The value. + + + + + + + + + + + + + + + + + Represents a replica set member tag set. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The tags. + + + + Gets a value indicating whether the tag set is empty. + + + true if the tag set is empty; otherwise, false. + + + + + Gets the tags. + + + The tags. + + + + + Determines whether the tag set contains all of the required tags. + + The required tags. + True if the tag set contains all of the required tags. + + + + + + + + + + + + + + + + Specifies the granularity of time series collection bucketing. + + + + + Seconds. + + + + + Minutes. + + + + + Hours. + + + + + Defines the time series options to use when creating a time series collection. See https://www.mongodb.com/docs/manual/reference/command/create/ for supported options + and https://www.mongodb.com/docs/manual/core/timeseries-collections/ for more information on time series collections. + + + + + Initializes a new instance of the class. + + The name of the top-level field to be used for time. + The name of the top-level field describing the series upon which related data will be grouped. + The for the time series. Do not set if using bucketMaxSpanSeconds + The maximum time between timestamps in the same bucket. + The interval used to round down the first timestamp when opening a new bucket. + + + + The coarse granularity of time series data. + + + + + The name of the field which contains metadata in each time series document. + + + + + The name of the field which contains the date and time in each time series document. + + + + + The maximum time between timestamps in the same bucket. + + + + + The interval used to round down the first timestamp when opening a new bucket. + + + + + The BSON representation of the time series options. + + A BsonDocument. + + + + Transaction options. + + + + + Initializes a new instance of the class. + + The read concern. + The read preference. + The write concern. + The max commit time. + + + + Initializes a new instance of the class. + + The per operation timeout + The read concern. + The read preference. + The write concern. + The max commit time. + + + + Gets the max commit time. + + + The max commit time. + + + + + Gets the read concern. + + + The read concern. + + + + + Gets the read preference. + + + The read preference. + + + + + Gets the per operation timeout. + + + + + Gets the write concern. + + + The write concern. + + + + + Returns a new TransactionOptions with some values changed. + + The new read concern. + The read preference. + The new write concern. + The max commit time. + + The new TransactionOptions. + + + + + Represents a write concern. + + + + + Gets an instance of WriteConcern that represents an acknowledged write concern. + + + An instance of WriteConcern that represents an acknowledged write concern. + + + + + Gets an instance of WriteConcern that represents an unacknowledged write concern. + + + An instance of WriteConcern that represents an unacknowledged write concern. + + + + + Gets an instance of WriteConcern that represents a W1 write concern. + + + An instance of WriteConcern that represents a W1 write concern. + + + + + Gets an instance of WriteConcern that represents a W2 write concern. + + + An instance of WriteConcern that represents a W2 write concern. + + + + + Gets an instance of WriteConcern that represents a W3 write concern. + + + An instance of WriteConcern that represents a W3 write concern. + + + + + Gets an instance of WriteConcern that represents a majority write concern. + + + An instance of WriteConcern that represents a majority write concern. + + + + + Creates a write concern from a document. + + The document. + A write concern. + + + + Initializes a new instance of the class. + + The w value. + The wtimeout value. + The fsync value . + The journal value. + + + + Initializes a new instance of the class. + + The mode. + The wtimeout value. + The fsync value . + The journal value. + + + + Initializes a new instance of the class. + + The w value. + The wtimeout value. + The fsync value . + The journal value. + + + + Gets the fsync value. + + + The fsync value. + + + + + Gets a value indicating whether this instance is an acknowledged write concern. + + + true if this instance is an acknowledged write concern; otherwise, false. + + + + + Gets a value indicating whether this write concern will use the default on the server. + + + true if this instance is the default; otherwise, false. + + + + + Gets the journal value. + + + The journal value. + + + + + Gets the w value. + + + The w value. + + + + + Gets the wtimeout value. + + + The wtimeout value. + + + + + + + + + + + + + + Converts this write concern to a BsonDocument suitable to be sent to the server. + + + A BsonDocument. + + + + + + + + Returns a new instance of WriteConcern with some values changed. + + The w value. + The wtimeout value. + The fsync value. + The journal value. + A WriteConcern. + + + + Returns a new instance of WriteConcern with some values changed. + + The mode. + The wtimeout value. + The fsync value. + The journal value. + A WriteConcern. + + + + Returns a new instance of WriteConcern with some values changed. + + The w value. + The wtimeout value. + The fsync value. + The journal value. + A WriteConcern. + + + + Represents the base class for w values. + + + + + Parses the specified value. + + The value. + A WValue. + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from Nullable{Int32} to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + + + + Converts this WValue to a BsonValue suitable to be included in a BsonDocument representing a write concern. + + A BsonValue. + + + + Represents a numeric WValue. + + + + + Initializes a new instance of the class. + + The w value. + + + + Gets the value. + + + The value. + + + + + + + + + + + + + + + + + + + + Represents a mode string WValue. + + + + + Gets an instance of WValue that represents the majority mode. + + + An instance of WValue that represents the majority mode. + + + + + Initializes a new instance of the class. + + The mode. + + + + Gets the value. + + + The value. + + + + + + + + + + + + + + + + + + + + Represents the results of an operation performed with an acknowledged WriteConcern. + + + + + Initializes a new instance of the class. + + The response. + + + + Gets the number of documents affected. + + + + + Gets whether the result has a LastErrorMessage. + + + + + Gets the last error message (null if none). + + + + + Gets the _id of an upsert that resulted in an insert. + + + + + Gets whether the last command updated an existing document. + + + + + Gets the wrapped result. + + + + + Options for a count operation. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. + + + + + Gets or sets the limit. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the skip. + + + + + Gets or sets the operation timeout. + + + + + Options for creating a collection. + + + + + Gets or sets the collation. + + + + + Gets or sets a value indicating whether the collection is capped. + + + + + Gets or sets Gets or sets a change streams pre and post images options. + + + + + Gets or sets encrypted fields. + + + + + Gets or sets a timespan indicating how long documents in a time series collection should be retained. + + + + + Gets or sets the index option defaults. + + + The index option defaults. + + + + + Gets or sets the maximum number of documents (used with capped collections). + + + + + Gets or sets the maximum size of the collection (used with capped collections). + + + + + Gets or sets whether padding should not be used. + + + + + Gets or sets the serializer registry. + + + + + Gets or sets the storage engine options. + + + + + Gets or sets the operation timeout. + + + + + Gets or sets the to use when creating a time series collection. + + + + + Gets or sets a value indicating whether to use power of 2 sizes. + + + + + Gets or sets the validation action. + + + The validation action. + + + + + Gets or sets the validation level. + + + The validation level. + + + + + Clones the CreateCollectionOptions. + + The cloned CreateCollectionOptions. + + + + Options for creating a collection. + + The type of the document. + + + + Coerces a generic CreateCollectionOptions{TDocument} from a non-generic CreateCollectionOptions. + + The options. + The generic options. + + + + Gets or sets the . + + + + + Gets or sets the document serializer. + + + + + Gets or sets the validator. + + + The validator. + + + + + Clones the CreateCollectionOptions. + + The cloned CreateCollectionOptions. + + + + Model for creating an index. + + The type of the document. + + + + Initializes a new instance of the class. + + The keys. + The options. + + + + Gets the keys. + + + + + Gets the options. + + + + + Options for creating an index. + + + + + Gets or sets a value indicating whether to create the index in the background. + + + + + Gets or sets the precision, in bits, used with geohash indexes. + + + + + Gets or sets the size of a geohash bucket. + + + + + Gets or sets the collation. + + + + + Gets or sets the default language. + + + + + Gets or sets when documents expire (used with TTL indexes). + + + + + Gets or sets a value indicating whether the index is hidden. + + + + + Gets or sets the language override. + + + + + Gets or sets the max value for 2d indexes. + + + + + Gets or sets the min value for 2d indexes. + + + + + Gets or sets the index name. + + + + + Gets or sets a value indicating whether the index is a sparse index. + + + + + Gets or sets the index version for 2dsphere indexes. + + + + + Gets or sets the storage engine options. + + + + + Gets or sets the index version for text indexes. + + + + + Gets or sets a value indicating whether the index is a unique index. + + + + + Gets or sets the version of the index. + + + + + Gets or sets the weights for text indexes. + + + + + Options for creating an index. + + The type of the document. + + + + Gets or sets the partial filter expression. + + + + + Gets or sets the wildcard projection. + + + + + Options for creating multiple indexes. + + + + + Gets or sets the comment. + + The comment. + + + + Gets or sets the commit quorum. + + The commit quorum. + + + + Gets or sets the maximum time. + + The maximum time. + + + + Gets or sets the operation timeout. + + + + + Options for creating a single index. + + + + + Gets or sets the commit quorum. + + The commit quorum. + + + + Gets or sets the maximum time. + + The maximum time. + + + + Gets or sets the operation timeout. + + + + + Model for creating a search index. + + + + Gets the index name. + The index name. + + + Gets the index type. + The index type. + + + Gets the index definition. + The definition. + + + + Initializes a new instance of the class. + + The name. + The definition. + + + + Initializes a new instance of the class. + + The name. + The type. + The definition. + + + + Options for creating a view. + + The type of the documents. + + + + Gets or sets the collation. + + + The collation. + + + + + Gets or sets the document serializer. + + + The document serializer. + + + + + Gets or sets the serializer registry. + + + The serializer registry. + + + + + Gets or sets the operation timeout. + + + + + The cursor type. + + + + + A non-tailable cursor. This is sufficient for a vast majority of uses. + + + + + A tailable cursor. + + + + + A tailable cursor with a built-in server sleep. + + + + + Model for deleting many documents. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets the hint. + + + + + Gets the type of the model. + + + + + Model for deleting a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets the hint. + + + + + Gets the type of the model. + + + + + Options for the Delete methods. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. + + + + + Gets or sets the let document. + + + + + Gets or sets the operation timeout. + + + + + The result of a delete operation. + + + + + Gets the deleted count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets a value indicating whether the result is acknowledged. + + + + + Initializes a new instance of the class. + + + + + The result of an acknowledged delete operation. + + + + + Initializes a new instance of the class. + + The deleted count. + + + + + + + + + + The result of an unacknowledged delete operation. + + + + + Gets the instance. + + + + + + + + + + + Represents a range for the $densify stage. + + + + + Creates a DensifyRange with DateTime bounds. + + The lower bound. + The upper bound. + The step. + The unit. + A DensifyRange with DateTime bounds. + + + + Creates a DensifyRange with DateTime bounds. + + The bounds. + The step. + The unit. + A DensifyRange with DateTime bounds. + + + + Creates a DensifyRange with numeric bounds. + + The numeric type. + The lower bound. + The upper bound. + The step. + A DensifyRange with numeric bounds. + + + + Creates a DensifyRange with numeric bounds. + + The numeric type. + The bounds. + The step. + A DensifyRange with numeric bounds. + + + + Renders the range as a BsonDocument. + + The rendered range. + + + + + + + Represents keyword densify bounds. + + + + + Gets a DensifyBounds representing the "full" bounds. + + + + + Gets a DensifyBounds representing the "partition" bounds. + + + + + Gets the keyword. + + + + + Represents a numeric densify range. + + The numeric type. + + + + Initializes a new instance of DensifyNumericRange. + + The bounds. + The step. + + + + Gets the bounds. + + + + + Gets the step. + + + + + + + + Represents a numeric densify bounds. + + The numeric type. + + + + Renders the bounds as a BsonValue. + + The rendered bounds. + + + + Represents a keyword numeric densify bounds. + + The numeric type. + + + + Gets the keyword. + + + + + + + + Represents a numeric densify bounds with lower and upper bounds. + + The numeric type. + + + + Initializes an instance of DensifyLowerUpperNumericBounds. + + The lower bound. + The upper bound. + + + + Gets the lower bound. + + + + + Gets the upper bound. + + + + + + + + Represents a DateTime densify range. + + + + + Initializes an instance of DensifyDateTimeRange. + + The bounds. + The step. + The unit. + + + + Gets the bounds. + + + + + Gets the step. + + + + + Gets the unit. + + + + + + + + Represents a DateTime densify bounds. + + + + + Renders the bounds as a BsonValue. + + The rendered bounds. + + + + Represents a keyword DateTime densify bounds. + + + + + Initializes an instance of DensifyKeywordDateTimeBounds. + + The keyword. + + + + Gets the keyword. + + + + + + + + Represents a DateTime densify bounds with lower and upper bounds. + + + + + Initializes an instance of DensifyLowerUpperDateTimeBounds. + + The lower bound. + The upper bound. + + + + Gets the lower bound. + + + + + Gets the upper bound. + + + + + + + + Represents a densify DateTime unit. + + + + + Milliseconds. + + + + + Seconds. + + + + + Minutes. + + + + + Hours. + + + + + Days. + + + + + Weeks. + + + + + Months. + + + + + Quarters. + + + + + Years. + + + + + Options for the distinct command. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the operation timeout. + + + + + Represents a documents window for a SetWindowFields window method. + + + + + Returns a "current" documents window boundary. + + + + + Returns an "unbounded" documents window boundary. + + + + + Creates a documents window. + + The lower boundary. + The upper boundary. + A documents window. + + + + Creates a documents window. + + The lower boundary. + The upper boundary. + A documents window. + + + + Creates a documents window. + + The lower boundary. + The upper boundary. + A documents window. + + + + Creates a documents window. + + The lower boundary. + The upper boundary. + A documents window. + + + + Initializes an instance of DocumentsWindow. + + The lower boundary. + The upper boundary. + + + + The lower boundary. + + + + + The upper boundary. + + + + + + + + Represents a boundary for a documents window in SetWindowFields. + + + + + Represents a keyword boundary for a document window in SetWindowFields (i.e. "unbounded" or "current"). + + + + + The keyword. + + + + + + + + Represents a position boundary for a document window in SetWindowFields. + + + + + Initializes a new instance of PositionDocumentsWindowBoundary. + + The position. + + + + The position. + + + + + + + + Options for dropping a collection. + + + + + Gets or sets encrypted fields. + + + + + Gets or sets the operation timeout. + + + + + Options for dropping an index. + + + + + Gets or sets the comment. + + + The comment. + + + + + Gets or sets the maximum time. + + The maximum time. + + + + Gets or sets the operation timeout. + + + + + AutoEncryption Provider Registry. + + + + + Represents an AutoCryptClientController. + + + + + Gets the crypt shared library version. + + A crypt shared library version. + + + + AutoEncryption Provider Registry. + + + + + Registers new AutoEncryption Provider. + + Factory method. + + + + Creates an IAutoCryptClientController. + + The client. + The AutoEncryptionOptions. + The IAutoCryptClientController. + + + + Represents KMS Provider. + + + + + Returns KMS Credentials. + + + + + Kms Provider Registry. + + + + + Registers new Kms Provider. + + Kms Provider Name. + Factory method. + + + + Creates KMS provider if possible. + + The requested provider name. + When this method succeeds contains the created provider, otherwise null. + true if the requested provider was created, otherwise false. + + + + Options for estimated document count. + + + + + Gets or sets the comment. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the operation timeout. + + + + + Options for controlling translation from .NET expression trees into MongoDB expressions. + + + + + Gets or sets the server version to target when translating Expressions. + + + + + Gets or sets whether client side projections are enabled. + + + + + + + + + + + + + + Evidence of a MongoIdentity via an external mechanism. For example, on windows this may + be the current process' user or, on linux, via kinit. + + + + + Initializes a new instance of the class. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + A rendered field. + + + + + Initializes a new instance of the class. + + The field name. + The field serializer. + + + + Gets the field name. + + + + + Gets the field serializer. + + + + + A rendered field. + + The type of the field. + + + + Initializes a new instance of the class. + + The field name. + The field serializer. + + + + Initializes a new instance of the class. + + The field name. + The field serializer. + The value serializer. + The underlying serializer. + + + + Gets the field name. + + + + + Gets the field serializer. + + + + + Gets the underlying serializer. + + + + + Gets the value serializer. + + + + + Base class for field names. + + The type of the document. + + + + Renders the field to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + Name of the field. + + The result of the conversion. + + + + + Base class for field names. + + The type of the document. + The type of the field. + + + + Renders the field to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + Name of the field. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The field. + + The result of the conversion. + + + + + An based field. + + The type of the document. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + + + + An based field. + + The type of the document. + The type of the field. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + + + + A based field name. + + The type of the document. + + + + Initializes a new instance of the class. + + Name of the field. + + + + + + + A based field name. + + The type of the document. + The type of the field. + + + + Initializes a new instance of the class. + + Name of the field. + The field serializer. + + + + + + + Base class for filters. + + The type of the document. + + + + Gets an empty filter. An empty filter matches everything. + + + + + Renders the filter to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from a predicate expression to . + + The predicate. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Implements the operator &. + + The LHS. + The RHS. + + The result of the operator. + + + + + Implements the operator |. + + The LHS. + The RHS. + + The result of the operator. + + + + + Implements the operator !. + + The op. + + The result of the operator. + + + + + A based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + + + + + + + An based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + + + + A JSON based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + + + + An based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + + + + A builder for a . + + The type of the document. + + + + Gets an empty filter. An empty filter matches everything. + + + + + Creates an all filter for an array field. + + The type of the item. + The field. + The values. + An all filter. + + + + Creates an all filter for an array field. + + The type of the item. + The field. + The values. + An all filter. + + + + Creates an and filter. + + The filters. + A filter. + + + + Creates an and filter. + + The filters. + An and filter. + + + + Creates an equality filter for an array field. + + The type of the item. + The field. + The value. + An equality filter. + + + + Creates an equality filter for an array field. + + The type of the item. + The field. + The value. + An equality filter. + + + + Creates a greater than filter for an array field. + + The type of the item. + The field. + The value. + A greater than filter. + + + + Creates a greater than filter for an array field. + + The type of the item. + The field. + The value. + A greater than filter. + + + + Creates a greater than or equal filter for an array field. + + The type of the item. + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter for an array field. + + The type of the item. + The field. + The value. + A greater than or equal filter. + + + + Creates a less than filter for an array field. + + The type of the item. + The field. + The value. + A less than filter. + + + + Creates a less than filter for an array field. + + The type of the item. + The field. + The value. + A less than filter. + + + + Creates a less than or equal filter for an array field. + + The type of the item. + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter for an array field. + + The type of the item. + The field. + The value. + A less than or equal filter. + + + + Creates an in filter for an array field. + + The type of the item. + The field. + The values. + An in filter. + + + + Creates an in filter for an array field. + + The type of the item. + The field. + The values. + An in filter. + + + + Creates a not equal filter for an array field. + + The type of the item. + The field. + The value. + A not equal filter. + + + + Creates a not equal filter for an array field. + + The type of the item. + The field. + The value. + A not equal filter. + + + + Creates a not in filter for an array field. + + The type of the item. + The field. + The values. + A not in filter. + + + + Creates a not in filter for an array field. + + The type of the item. + The field. + The values. + A not in filter. + + + + Creates an in filter for a string array field. + + The field. + The values. + An in filter. + + + + Creates an in filter for a string array field. + + The field. + The values. + An in filter. + + + + Creates an in filter for a string array field. + + The field. + The values. + An in filter. + + + + Creates an in filter for a string array field. + + The field. + The values. + An in filter. + + + + Creates a not in filter for a string array field. + + The field. + The values. + A not in filter. + + + + Creates a not in filter for a string array field. + + The field. + The values. + A not in filter. + + + + Creates a not in filter for a string array field. + + The field. + The values. + A not in filter. + + + + Creates a not in filter for a string array field. + + The field. + The values. + A not in filter. + + + + Creates a bits all clear filter. + + The field. + The bitmask. + A bits all clear filter. + + + + Creates a bits all clear filter. + + The field. + The bitmask. + A bits all clear filter. + + + + Creates a bits all set filter. + + The field. + The bitmask. + A bits all set filter. + + + + Creates a bits all set filter. + + The field. + The bitmask. + A bits all set filter. + + + + Creates a bits any clear filter. + + The field. + The bitmask. + A bits any clear filter. + + + + Creates a bits any clear filter. + + The field. + The bitmask. + A bits any clear filter. + + + + Creates a bits any set filter. + + The field. + The bitmask. + A bits any set filter. + + + + Creates a bits any set filter. + + The field. + The bitmask. + A bits any set filter. + + + + Creates an element match filter for an array value. + + TDocument must implement IEnumerable{TITem} when using this overload of ElemMatch. + The implied element filter. + An element match filter. + + + + Creates an element match filter for an array value. + + TDocument must implement IEnumerable{TITem} when using this overload of ElemMatch. + The implied element filter. + An element match filter. + + + + Creates an element match filter for an array field. + + The type of the item. + The field. + The filter. + An element match filter. + + + + Creates an element match filter for an array field. + + The type of the item. + The field. + The filter. + An element match filter. + + + + Creates an element match filter for an array field. + + The type of the item. + The field. + The filter. + An element match filter. + + + + Creates an equality filter. + + The type of the field. + The field. + The value. + An equality filter. + + + + Creates an equality filter. + + The type of the field. + The field. + The value. + An equality filter. + + + + Creates an exists filter. + + The field. + if set to true [exists]. + An exists filter. + + + + Creates an exists filter. + + The field. + if set to true [exists]. + An exists filter. + + + + Creates a geo intersects filter. + + The type of the coordinates. + The field. + The geometry. + A geo intersects filter. + + + + Creates a geo intersects filter. + + The type of the coordinates. + The field. + The geometry. + A geo intersects filter. + + + + Creates a geo within filter. + + The type of the coordinates. + The field. + The geometry. + A geo within filter. + + + + Creates a geo within filter. + + The type of the coordinates. + The field. + The geometry. + A geo within filter. + + + + Creates a geo within box filter. + + The field. + The lower left x. + The lower left y. + The upper right x. + The upper right y. + A geo within box filter. + + + + Creates a geo within box filter. + + The field. + The lower left x. + The lower left y. + The upper right x. + The upper right y. + A geo within box filter. + + + + Creates a geo within center filter. + + The field. + The x. + The y. + The radius. + A geo within center filter. + + + + Creates a geo within center filter. + + The field. + The x. + The y. + The radius. + A geo within center filter. + + + + Creates a geo within center sphere filter. + + The field. + The x. + The y. + The radius. + A geo within center sphere filter. + + + + Creates a geo within center sphere filter. + + The field. + The x. + The y. + The radius. + A geo within center sphere filter. + + + + Creates a geo within polygon filter. + + The field. + The points. + A geo within polygon filter. + + + + Creates a geo within polygon filter. + + The field. + The points. + A geo within polygon filter. + + + + Creates a greater than filter for a UInt32 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter for a UInt64 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter. + + The type of the field. + The field. + The value. + A greater than filter. + + + + Creates a greater than filter for a UInt32 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter for a UInt64 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter. + + The type of the field. + The field. + The value. + A greater than filter. + + + + Creates a greater than or equal filter for a UInt32 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter for a UInt64 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter. + + The type of the field. + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter for a UInt32 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter for a UInt64 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter. + + The type of the field. + The field. + The value. + A greater than or equal filter. + + + + Creates an in filter. + + The type of the field. + The field. + The values. + An in filter. + + + + Creates an in filter. + + The type of the field. + The field. + The values. + An in filter. + + + + Creates a json schema filter. + + The json validation schema. + A schema filter. + + + + Creates a less than filter for a UInt32 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter for a UInt64 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter. + + The type of the field. + The field. + The value. + A less than filter. + + + + Creates a less than filter for a UInt32 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter for a UInt64 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter. + + The type of the field. + The field. + The value. + A less than filter. + + + + Creates a less than or equal filter for a UInt32 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter for a UInt64 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter. + + The type of the field. + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter for a UInt32 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter for a UInt64 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter. + + The type of the field. + The field. + The value. + A less than or equal filter. + + + + Creates a modulo filter. + + The field. + The modulus. + The remainder. + A modulo filter. + + + + Creates a modulo filter. + + The field. + The modulus. + The remainder. + A modulo filter. + + + + Creates a not equal filter. + + The type of the field. + The field. + The value. + A not equal filter. + + + + Creates a not equal filter. + + The type of the field. + The field. + The value. + A not equal filter. + + + + Creates a near filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near filter. + + + + Creates a near filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near filter. + + + + Creates a near filter. + + The type of the coordinates. + The field. + The geometry. + The maximum distance. + The minimum distance. + A near filter. + + + + Creates a near filter. + + The type of the coordinates. + The field. + The geometry. + The maximum distance. + The minimum distance. + A near filter. + + + + Creates a near sphere filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near sphere filter. + + + + Creates a near sphere filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near sphere filter. + + + + Creates a near sphere filter. + + The type of the coordinates. + The field. + The geometry. + The maximum distance. + The minimum distance. + A near sphere filter. + + + + Creates a near sphere filter. + + The type of the coordinates. + The field. + The geometry. + The maximum distance. + The minimum distance. + A near sphere filter. + + + + Creates a not in filter. + + The type of the field. + The field. + The values. + A not in filter. + + + + Creates a not in filter. + + The type of the field. + The field. + The values. + A not in filter. + + + + Creates a not filter. + + The filter. + A not filter. + + + + Creates an OfType filter that matches documents of a derived type. + + The type of the matching derived documents. + An OfType filter. + + + + Creates an OfType filter that matches documents of a derived type and that also match a filter on the derived document. + + The type of the matching derived documents. + A filter on the derived document. + An OfType filter. + + + + Creates an OfType filter that matches documents of a derived type and that also match a filter on the derived document. + + The type of the matching derived documents. + A filter on the derived document. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived typer. + + The type of the field. + The type of the matching derived field value. + The field. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived type and that also match a filter on the derived field. + + The type of the field. + The type of the matching derived field value. + The field. + A filter on the derived field. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived type. + + The type of the field. + The type of the matching derived field value. + The field. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived type and that also match a filter on the derived field. + + The type of the field. + The type of the matching derived field value. + The field. + A filter on the derived field. + An OfType filter. + + + + Creates an or filter. + + The filters. + An or filter. + + + + Creates an or filter. + + The filters. + An or filter. + + + + Creates a regular expression filter. + + The field. + The regex. + A regular expression filter. + + + + Creates a regular expression filter. + + The field. + The regex. + A regular expression filter. + + + + Creates a size filter. + + The field. + The size. + A size filter. + + + + Creates a size filter. + + The field. + The size. + A size filter. + + + + Creates a size greater than filter. + + The field. + The size. + A size greater than filter. + + + + Creates a size greater than filter. + + The field. + The size. + A size greater than filter. + + + + Creates a size greater than or equal filter. + + The field. + The size. + A size greater than or equal filter. + + + + Creates a size greater than or equal filter. + + The field. + The size. + A size greater than or equal filter. + + + + Creates a size less than filter. + + The field. + The size. + A size less than filter. + + + + Creates a size less than filter. + + The field. + The size. + A size less than filter. + + + + Creates a size less than or equal filter. + + The field. + The size. + A size less than or equal filter. + + + + Creates a size less than or equal filter. + + The field. + The size. + A size less than or equal filter. + + + + Creates an in filter for a string field. + + The field. + The values. + An in filter. + + + + Creates an in filter for a string field. + + The field. + The values. + An in filter. + + + + Creates an in filter for a string field. + + The field. + The values. + An in filter. + + + + Creates an in filter for a string field. + + The field. + The values. + An in filter. + + + + Creates a not in filter for a string field. + + The field. + The values. + A not in filter. + + + + Creates a not in filter for a string field. + + The field. + The values. + A not in filter. + + + + Creates a not in filter for a string field. + + The field. + The values. + A not in filter. + + + + Creates a not in filter for a string field. + + The field. + The values. + A not in filter. + + + + Creates a text filter. + + The search. + The text search options. + A text filter. + + + + Creates a text filter. + + The search. + The language. + A text filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a filter based on the expression. + + The expression. + An expression filter. + + + + Base class for implementors of . + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Options for a findAndModify command to delete an object. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. + + + + + Gets or sets the let document. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the projection. + + + + + Gets or sets the sort. + + + + + Gets or sets the operation timeout. + + + + + Options for a findAndModify command to delete an object. + + The type of the document and the result. + + + + Options for a findAndModify command to replace an object. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. + + + + + Gets or sets the let document. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the projection. + + + + + Gets or sets which version of the document to return. + + + + + Gets or sets the sort. + + + + + Gets or sets the operation timeout. + + + + + Options for a findAndModify command to replace an object. + + The type of the document and the result. + + + + Options for a findAndModify command to update an object. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Initializes a new instance of the class. + + + + + Gets or sets the array filters. + + + The array filters. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets or sets the let document. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the projection. + + + + + Gets or sets which version of the document to return. + + + + + Gets or sets the sort. + + + + + Gets or sets the operation timeout. + + + + + Options for a findAndModify command to update an object. + + The type of the document and the result. + + + + Options for a find operation. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether the server is allowed to write to disk while executing the Find operation. + + + + + Gets or sets a value indicating whether to allow partial results when some shards are unavailable. + + + + + Gets or sets the size of a batch. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the type of the cursor. + + + + + Gets or sets the hint. + + + + + Gets or sets the let document. + + + + + Gets or sets the max key value. + + + + + Gets or sets the maximum await time for TailableAwait cursors. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the min key value. + + + + + Gets or sets whether a cursor will time out. + + + + + Gets or sets whether the OplogReplay bit will be set. + + + + + Gets or sets returnKey. If true, returns only the index keys in the resulting documents. + + + + + Gets or sets whether the record Id should be added to the result document. + + + + + Gets or sets the operation timeout. + + + + + Gets or sets the translation options. + + + + + Options for finding documents. + + + + + Options for finding documents. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Gets or sets how many documents to return. + + + + + Gets or sets the projection. + + + + + Gets or sets how many documents to skip before returning the rest. + + + + + Gets or sets the sort. + + + + + Options for finding documents. + + The type of the document and the result. + + + + A static class containing helper methods to create GeoJson objects. + + + + + Creates a GeoJson bounding box. + + The type of the coordinates. + The min. + The max. + A GeoJson bounding box. + + + + Creates a GeoJson Feature object. + + The type of the coordinates. + The geometry. + A GeoJson Feature object. + + + + Creates a GeoJson Feature object. + + The type of the coordinates. + The additional args. + The geometry. + A GeoJson Feature object. + + + + Creates a GeoJson FeatureCollection object. + + The type of the coordinates. + The additional args. + The features. + A GeoJson FeatureCollection object. + + + + Creates a GeoJson FeatureCollection object. + + The type of the coordinates. + The features. + A GeoJson FeatureCollection object. + + + + Creates a GeoJson 2D geographic position (longitude, latitude). + + The longitude. + The latitude. + A GeoJson 2D geographic position. + + + + Creates a GeoJson 3D geographic position (longitude, latitude, altitude). + + The longitude. + The latitude. + The altitude. + A GeoJson 3D geographic position. + + + + Creates a GeoJson GeometryCollection object. + + The type of the coordinates. + The additional args. + The geometries. + A GeoJson GeometryCollection object. + + + + Creates a GeoJson GeometryCollection object. + + The type of the coordinates. + The geometries. + A GeoJson GeometryCollection object. + + + + Creates the coordinates of a GeoJson linear ring. + + The type of the coordinates. + The positions. + The coordinates of a GeoJson linear ring. + + + + Creates a GeoJson LineString object. + + The type of the coordinates. + The additional args. + The positions. + A GeoJson LineString object. + + + + Creates a GeoJson LineString object. + + The type of the coordinates. + The positions. + A GeoJson LineString object. + + + + Creates the coordinates of a GeoJson LineString. + + The type of the coordinates. + The positions. + The coordinates of a GeoJson LineString. + + + + Creates a GeoJson MultiLineString object. + + The type of the coordinates. + The additional args. + The line strings. + A GeoJson MultiLineString object. + + + + Creates a GeoJson MultiLineString object. + + The type of the coordinates. + The line strings. + A GeoJson MultiLineString object. + + + + Creates a GeoJson MultiPoint object. + + The type of the coordinates. + The additional args. + The positions. + A GeoJson MultiPoint object. + + + + Creates a GeoJson MultiPoint object. + + The type of the coordinates. + The positions. + A GeoJson MultiPoint object. + + + + Creates a GeoJson MultiPolygon object. + + The type of the coordinates. + The additional args. + The polygons. + A GeoJson MultiPolygon object. + + + + Creates a GeoJson MultiPolygon object. + + The type of the coordinates. + The polygons. + A GeoJson MultiPolygon object. + + + + Creates a GeoJson Point object. + + The type of the coordinates. + The additional args. + The coordinates. + A GeoJson Point object. + + + + Creates a GeoJson Point object. + + The type of the coordinates. + The coordinates. + A GeoJson Point object. + + + + Creates a GeoJson Polygon object. + + The type of the coordinates. + The additional args. + The positions. + A GeoJson Polygon object. + + + + Creates a GeoJson Polygon object. + + The type of the coordinates. + The additional args. + The coordinates. + A GeoJson Polygon object. + + + + Creates a GeoJson Polygon object. + + The type of the coordinates. + The coordinates. + A GeoJson Polygon object. + + + + Creates a GeoJson Polygon object. + + The type of the coordinates. + The positions. + A GeoJson Polygon object. + + + + Creates the coordinates of a GeoJson Polygon object. + + The type of the coordinates. + The positions. + The coordinates of a GeoJson Polygon object. + + + + Creates the coordinates of a GeoJson Polygon object. + + The type of the coordinates. + The exterior. + The holes. + The coordinates of a GeoJson Polygon object. + + + + Creates a GeoJson 2D position (x, y). + + The x. + The y. + A GeoJson 2D position. + + + + Creates a GeoJson 3D position (x, y, z). + + The x. + The y. + The z. + A GeoJson 3D position. + + + + Creates a GeoJson 2D projected position (easting, northing). + + The easting. + The northing. + A GeoJson 2D projected position. + + + + Creates a GeoJson 3D projected position (easting, northing, altitude). + + The easting. + The northing. + The altitude. + A GeoJson 3D projected position. + + + + Represents a GeoJson 2D position (x, y). + + + + + Initializes a new instance of the class. + + The x coordinate. + The y coordinate. + + + + Gets the coordinate values. + + + + + Gets the X coordinate. + + + + + Gets the Y coordinate. + + + + + Represents a GeoJson 2D geographic position (longitude, latitude). + + + + + Initializes a new instance of the class. + + The longitude. + The latitude. + + + + Gets the coordinate values. + + + + + Gets the longitude. + + + + + Gets the latitude. + + + + + Represents a GeoJson 2D projected position (easting, northing). + + + + + Initializes a new instance of the class. + + The easting. + The northing. + + + + Gets the coordinate values. + + + + + Gets the easting. + + + + + Gets the northing. + + + + + Represents a GeoJson 3D position (x, y, z). + + + + + Initializes a new instance of the class. + + The x coordinate. + The y coordinate. + The z coordinate. + + + + Gets the coordinate values. + + + + + Gets the X coordinate. + + + + + Gets the Y coordinate. + + + + + Gets the Z coordinate. + + + + + Represents a GeoJson 3D geographic position (longitude, latitude, altitude). + + + + + Initializes a new instance of the class. + + The longitude. + The latitude. + The altitude. + + + + Gets the coordinate values. + + + + + Gets the longitude. + + + + + Gets the latitude. + + + + + Gets the altitude. + + + + + Represents a GeoJson 3D projected position (easting, northing, altitude). + + + + + Initializes a new instance of the class. + + The easting. + The northing. + The altitude. + + + + Gets the coordinate values. + + + + + Gets the easting. + + + + + Gets the northing. + + + + + Gets the altitude. + + + + + Represents a GeoJson bounding box. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The min. + The max. + + + + Gets the max. + + + + + Gets the min. + + + + + Represents a GeoJson coordinate reference system (see subclasses). + + + + + Gets the type of the GeoJson coordinate reference system. + + + + + Represents a GeoJson position in some coordinate system (see subclasses). + + + + + Gets the coordinate values. + + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Represents a GeoJson Feature object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The geometry. + + + + Initializes a new instance of the class. + + The additional args. + The geometry. + + + + Gets the geometry. + + + + + Gets the id. + + + + + Gets the properties. + + + + + Gets the type of the GeoJson object. + + + + + Represents additional arguments for a GeoJson Feature object. + + The type of the coordinates. + + + + Gets or sets the id. + + + + + Gets or sets the properties. + + + + + Represents a GeoJson FeatureCollection. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The features. + + + + Initializes a new instance of the class. + + The additional args. + The features. + + + + Gets the features. + + + + + Gets the type of the GeoJson object. + + + + + Represents a GeoJson Geometry object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + + + + Represents a GeoJson GeometryCollection object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The geometries. + + + + Initializes a new instance of the class. + + The additional args. + The geometries. + + + + Gets the geometries. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson linear ring. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The positions. + + + + Represents a GeoJson LineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson LineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The positions. + + + + Gets the positions. + + + + + Represents a GeoJson linked coordinate reference system. + + + + + Initializes a new instance of the class. + + The href. + + + + Initializes a new instance of the class. + + The href. + Type of the href. + + + + Gets the href. + + + + + Gets the type of the href. + + + + + Gets the type of the GeoJson coordinate reference system. + + + + + Represents a GeoJson MultiLineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson MultiLineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The line strings. + + + + Gets the LineStrings. + + + + + Represents a GeoJson MultiPoint object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson MultiPoint object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The positions. + + + + Gets the positions. + + + + + Represents a GeoJson MultiPolygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson MultiPolygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The polygons. + + + + Gets the Polygons. + + + + + Represents a GeoJson named coordinate reference system. + + + + + Initializes a new instance of the class. + + The name. + + + + Gets the name. + + + + + Gets the type of the GeoJson coordinate reference system. + + + + + Represents a GeoJson object (see subclasses). + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + + + + Gets the bounding box. + + + + + Gets the coordinate reference system. + + + + + Gets the extra members. + + + + + Gets the type of the GeoJson object. + + + + + Represents additional args provided when creating a GeoJson object. + + The type of the coordinates. + + + + Gets or sets the bounding box. + + + + + Gets or sets the coordinate reference system. + + + + + Gets or sets the extra members. + + + + + Represents the type of a GeoJson object. + + + + + A Feature. + + + + + A FeatureCollection. + + + + + A GeometryCollection. + + + + + A LineString. + + + + + A MultiLineString. + + + + + A MultiPoint. + + + + + A MultiPolygon. + + + + + A Point. + + + + + A Polygon. + + + + + Represents a GeoJson Point object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents a GeoJson Polygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson Polygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The exterior. + + + + Initializes a new instance of the class. + + The exterior. + The holes. + + + + Gets the exterior. + + + + + Gets the holes. + + + + + Represents a serializer for a GeoJson2DCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson2DGeographicCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson2DProjectedCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson3DCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson3DGeographicCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson3DProjectedCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonBoundingBox value. + + The type of the coordinates. + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonCoordinateReferenceSystem value. + + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer for a GeoJsonCoordinates value. + + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer for a GeoJsonFeatureCollection value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonFeature value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonGeometryCollection value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonGeometry value. + + The type of the coordinates. + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer for a GeoJsonLinearRingCoordinates value. + + The type of the coordinates. + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonLineStringCoordinates value. + + The type of the coordinates. + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonLineString value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonLinkedCoordinateReferenceSystem value. + + + + + Initializes a new instance of the class. + + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + An object. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiLineStringCoordinates value. + + The type of the coordinates. + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiLineString value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPointCoordinates value. + + The type of the coordinates. + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPoint value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPolygonCoordinates value. + + The type of the coordinates. + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPolygon value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonNamedCoordinateReferenceSystem value. + + + + + Initializes a new instance of the class. + + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + An object. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson object. + + The type of the coordinates. + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer helper for GeoJsonObjects. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The type. + The derived members. + + + + Deserializes a base member. + + The context. + The element name. + The flag. + The arguments. + + + + Serializes the members. + + The type of the value. + The context. + The value. + The delegate to serialize the derived members. + + + + Represents a serializer for a GeoJsonPoint value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonPolygonCoordinates value. + + The type of the coordinates. + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonPolygon value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents options for the $geoNear stage. + + + + + Gets or sets the output field that contains the calculated distance. Required if querying a time-series collection. + Optional for non-time series collections in MongoDB 8.1+ + + + + + Gets or sets the factor to multiply all distances returned by the query. + + + + + Gets or sets the output field that identifies the location used to calculate the distance. + + + + + Gets or sets the geospatial indexed field used when calculating the distance. + + + + + Gets or sets the max distance from the center point that the documents can be. + + + + + Gets or sets the min distance from the center point that the documents can be. + + + + + Gets or sets the output serializer. + + + + + Gets or sets the query that limits the results to the documents that match the query. + + + + + Gets or sets the spherical option which determines how to calculate the distance between two points. + + + + + Represents a Stream that delegates all of its operations to a wrapped Stream. + + + + + + Initializes a new instance of the class. + + The wrapped stream. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a GridFS bucket. + + The type of the file identifier. + + + + Initializes a new instance of the class. + + The database. + The options. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a GridFS bucket. + + + + + Initializes a new instance of the class. + + The database. + The options. + + + + Deletes a file from GridFS. + + The file id. + The cancellation token. + + + + Deletes a file from GridFS. + + The file id. + The cancellation token. + A Task. + + + + Downloads a file stored in GridFS and returns it as a byte array. + + The file id. + The options. + The cancellation token. + A byte array containing the contents of the file stored in GridFS. + + + + Downloads a file stored in GridFS and returns it as a byte array. + + The file id. + The options. + The cancellation token. + A Task whose result is a byte array containing the contents of the file stored in GridFS. + + + + Downloads a file stored in GridFS and writes the contents to a stream. + + The file id. + The destination. + The options. + The cancellation token. + + + + Downloads a file stored in GridFS and writes the contents to a stream. + + The file id. + The destination. + The options. + The cancellation token. + A Task. + + + + + + + + + + Opens a Stream that can be used by the application to read data from a GridFS file. + + The file id. + The options. + The cancellation token. + A Stream. + + + + Opens a Stream that can be used by the application to read data from a GridFS file. + + The file id. + The options. + The cancellation token. + A Task whose result is a Stream. + + + + + + + + + + Renames a GridFS file. + + The file id. + The new filename. + The cancellation token. + + + + Renames a GridFS file. + + The file id. + The new filename. + The cancellation token. + A Task. + + + + + + + + + + + + + + + + Represents mutable options for a GridFS instance. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The other from which to copy the values. + + + + Initializes a new instance of the class. + + The other from which to copy the values. + + + + Gets or sets the bucket name. + + + The bucket name. + + + + + Gets or sets the chunk size in bytes. + + + The chunk size in bytes. + + + + + Gets or sets the read concern. + + + The read concern. + + + + + Gets or sets the read preference. + + + The read preference. + + + + + Gets or sets the write concern. + + + The write concern. + + + + + Represents immutable options for a GridFS instance. + + + + + Gets the default GridFSBucketOptions. + + + The default GridFSBucketOptions. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The other from which to copy the values. + + + + Gets the bucket name. + + + The bucket name. + + + + + Gets the chunk size in bytes. + + + The chunk size in bytes. + + + + + Gets the read concern. + + + The read concern. + + + + + Gets the read preference. + + + The read preference. + + + + + Gets the serializer registry. + + + The serializer registry. + + + + + Gets the write concern. + + + The write concern. + + + + + Represents a GridFSChunk exception. + + + + + Initializes a new instance of the class. + + The file id. + The chunk number. + The reason. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents options to a GridFS download by name operation. + + + + + Gets or sets which revision of the file to download. + + + Which revision of the file to download. + + + + + Represents options for a GridFS download operation. + + + + + Gets or sets a value indicating whether the returned Stream supports seeking. + + + true if the returned Stream supports seeking; otherwise, false. + + + + + Represents a Stream used by the application to read data from a GridFS file. + + The type of the file identifier. + + + + Gets the files collection document. + + + The files collection document. + + + + + Closes the GridFS stream. + + The cancellation token. + + + + Closes the GridFS stream. + + The cancellation token. + A Task. + + + + Represents a Stream used by the application to read data from a GridFS file. + + + + + Initializes a new instance of the class. + + The wrapped stream. + + + + Gets the files collection document. + + + The files collection document. + + + + + Represents a GridFS exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents information about a stored GridFS file (backed by a files collection document). + + The type of the file identifier. + + + + Initializes a new instance of the class. + + The backing document. + The fileInfo serializer. + + + + Gets the backing document. + + + The backing document. + + + + + Gets the size of a chunk. + + + The size of a chunk. + + + + + Gets the filename. + + + The filename. + + + + + Gets the identifier. + + + The identifier. + + + + + Gets the length. + + + The length. + + + + + Gets the metadata. + + + The metadata. + + + + + Gets the upload date time. + + + The upload date time. + + + + + Represents information about a stored GridFS file (backed by a files collection document). + + + + + Initializes a new instance of the class. + + The backing document. + + + + Gets the backing document. + + + The backing document. + + + + + Gets the size of a chunk. + + + The size of a chunk. + + + + + Gets the filename. + + + The filename. + + + + + Gets the identifier. + + + The identifier. + + + + + Gets the identifier as a BsonValue. + + + The identifier as a BsonValue. + + + + + Gets the length. + + + The length. + + + + + Gets the metadata. + + + The metadata. + + + + + Gets the upload date time. + + + The upload date time. + + + + + Represents a serializer for GridFSFileInfo. + + The type of the file identifier. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The id serializer. + + + + + + + Represents a serializer for GridFSFileInfo. + + + + + Gets the pre-created instance. + + + + + Initializes a new instance of the class. + + + + + + + + Represents a GridFSFileNotFound exception. + + + + + Initializes a new instance of the class. + + The file id. + + + + Initializes a new instance of the class. + + The filename. + The revision. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents options for a GridFS Find operation. + + The type of the file identifier. + + + + Gets or sets a value indicating whether the server is allowed to write to disk while executing the Find operation. + + + + + Gets or sets the batch size. + + + The batch size. + + + + + Gets or sets the maximum number of documents to return. + + + The maximum number of documents to return. + + + + + Gets or sets the maximum time the server should spend on the Find. + + + The maximum time the server should spend on the Find. + + + + + Gets or sets whether the cursor should not timeout. + + + Whether the cursor should not timeout. + + + + + Gets or sets the number of documents to skip. + + + The number of documents to skip. + + + + + Gets or sets the sort order. + + + The sort order. + + + + + Represents options for a GridFS Find operation. + + + + + Gets or sets the sort order. + + + The sort order. + + + + + Represents options for a GridFS upload operation. + + + + + Gets or sets the batch size. + + + The batch size. + + + + + Gets or sets the chunk size in bytes. + + + The chunk size in bytes. + + + + + Gets or sets the metadata. + + + The metadata. + + + + + Represents a Stream used by the application to write data to a GridFS file. + + The type of the file identifier. + + + + Gets the id of the file being added to GridFS. + + + The id of the file being added to GridFS. + + + + + Aborts an upload operation. + + + Any partial results already written to the server are deleted when Abort is called. + + The cancellation token. + + + + Aborts an upload operation. + + + Any partial results already written to the server are deleted when AbortAsync is called. + + The cancellation token. + A Task. + + + + Closes the Stream and completes the upload operation. + + + Any data remaining in the Stream is flushed to the server and the GridFS files collection document is written. + + The cancellation token. + + + + Closes the Stream and completes the upload operation. + + + Any data remaining in the Stream is flushed to the server and the GridFS files collection document is written. + + The cancellation token. + A Task. + + + + Represents a Stream used by the application to write data to a GridFS file. + + + + + Initializes a new instance of the class. + + The wrapped stream. + + + + Gets the id of the file being added to GridFS. + + + The id of the file being added to GridFS. + + + + + Aborts an upload operation. + + + Any partial results already written to the server are deleted when Abort is called. + + The cancellation token. + + + + Aborts an upload operation. + + + Any partial results already written to the server are deleted when AbortAsync is called. + + The cancellation token. + A Task. + + + + Closes the Stream and completes the upload operation. + + + Any data remaining in the Stream is flushed to the server and the GridFS files collection document is written. + + The cancellation token. + + + + Closes the Stream and completes the upload operation. + + + Any data remaining in the Stream is flushed to the server and the GridFS files collection document is written. + + The cancellation token. + A Task. + + + + Represents a GridFS system bucket. + + The type of the file identifier. + + + + Gets the database where the GridFS files are stored. + + + The database. + + + + + Gets the options. + + + The options. + + + + + Deletes a file from GridFS. + + The file id. + The cancellation token. + + + + Deletes a file from GridFS. + + The file id. + The cancellation token. + A Task. + + + + Downloads a file stored in GridFS and returns it as a byte array. + + The file id. + The options. + The cancellation token. + The contents of the file stored in GridFS. + + + + Downloads a file stored in GridFS and returns it as a byte array. + + The file id. + The options. + The cancellation token. + A Task whose result is a byte array containing the contents of the file stored in GridFS. + + + + Downloads a file stored in GridFS and returns it as a byte array. + + The filename. + The options. + The cancellation token. + A byte array containing the contents of the file stored in GridFS. + + + + Downloads a file stored in GridFS and returns it as a byte array. + + The filename. + The options. + The cancellation token. + A Task whose result is a byte array containing the contents of the file stored in GridFS. + + + + Downloads a file stored in GridFS and writes the contents to a stream. + + The file id. + The destination. + The options. + The cancellation token. + + + + Downloads a file stored in GridFS and writes the contents to a stream. + + The file id. + The destination. + The options. + The cancellation token. + A Task. + + + + Downloads a file stored in GridFS and writes the contents to a stream. + + The filename. + The destination. + The options. + The cancellation token. + + + + Downloads a file stored in GridFS and writes the contents to a stream. + + The filename. + The destination. + The options. + The cancellation token. + A Task. + + + + Drops the files and chunks collections associated with this GridFS bucket. + + The cancellation token. + + + + Drops the files and chunks collections associated with this GridFS bucket. + + The cancellation token. + A Task. + + + + Finds matching entries from the files collection. + + The filter. + The options. + The cancellation token. + A cursor of files collection documents. + + + + Finds matching entries from the files collection. + + The filter. + The options. + The cancellation token. + A Task whose result is a cursor of files collection documents. + + + + Opens a Stream that can be used by the application to read data from a GridFS file. + + The file id. + The options. + The cancellation token. + A Stream. + + + + Opens a Stream that can be used by the application to read data from a GridFS file. + + The file id. + The options. + The cancellation token. + A Task whose result is a Stream. + + + + Opens a Stream that can be used by the application to read data from a GridFS file. + + The filename. + The options. + The cancellation token. + A Stream. + + + + Opens a Stream that can be used by the application to read data from a GridFS file. + + The filename. + The options. + The cancellation token. + A Task whose result is a Stream. + + + + Opens a Stream that can be used by the application to write data to a GridFS file. + + The file id. + The filename. + The options. + The cancellation token. + A Stream. + + + + Opens a Stream that can be used by the application to write data to a GridFS file. + + The file id. + The filename. + The options. + The cancellation token. + A Task whose result is a Stream. + + + + Renames a GridFS file. + + The file id. + The new filename. + The cancellation token. + + + + Renames a GridFS file. + + The file id. + The new filename. + The cancellation token. + A Task. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The file id. + The filename. + The source. + The options. + The cancellation token. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The file id. + The filename. + The source. + The options. + The cancellation token. + A Task. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The file id. + The filename. + The source. + The options. + The cancellation token. + The id of the new file. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The file id. + The filename. + The source. + The options. + The cancellation token. + A Task. + + + + Represents a GridFS system bucket. + + + + + Finds matching entries from the files collection. + + The filter. + The options. + The cancellation token. + A cursor of files collection documents. + + + + Finds matching entries from the files collection. + + The filter. + The options. + The cancellation token. + A Task whose result is a cursor of files collection documents. + + + + Opens a Stream that can be used by the application to write data to a GridFS file. + + The filename. + The options. + The cancellation token. + A Stream. + + + + Opens a Stream that can be used by the application to write data to a GridFS file. + + The filename. + The options. + The cancellation token. + A Task whose result is a Stream. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The filename. + The source. + The options. + The cancellation token. + The id of the new file. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The filename. + The source. + The options. + The cancellation token. + A Task whose result is the id of the new file. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The filename. + The source. + The options. + The cancellation token. + The id of the new file. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The filename. + The source. + The options. + The cancellation token. + A Task whose result is the id of the new file. + + + + Represents a serializer for a GridFSFileInfo. + + The type of the file identifier. + + + + Fluent interface for aggregate. + + + This interface is not guaranteed to remain stable. Implementors should use + . + + The type of the result of the pipeline. + + + + Gets the database. + + + + + Gets the options. + + + + + Gets the stages. + + + + + Appends the stage to the pipeline. + + The type of the result of the stage. + The stage. + The fluent aggregate interface. + + + + Changes the result type of the pipeline. + + The type of the new result. + The new result serializer. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline. + + The type of the value. + The expression providing the value to group by. + The bucket boundaries. + The options. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline with a custom projection. + + The type of the value. + The type of the new result. + The expression providing the value to group by. + The bucket boundaries. + The output projection. + The options. + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the value. + The expression providing the value to group by. + The number of buckets. + The options (optional). + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline with a custom projection. + + The type of the value. + The type of the new result. + The expression providing the value to group by. + The number of buckets. + The output projection. + The options (optional). + The fluent aggregate interface. + + + + Appends a $changeStream stage to the pipeline. + Normally you would prefer to use the Watch method of . + Only use this method if subsequent stages project away the resume token (the _id) + or you don't want the resulting cursor to automatically resume. + + The options. + The fluent aggregate interface. + + + + Appends a count stage to the pipeline. + + The fluent aggregate interface. + + + + Appends a $densify stage to the pipeline. + + The field. + The range. + The fields to partition by. + The fluent aggregate interface. + + + + Appends a $densify stage to the pipeline. + + The field. + The range. + The fields to partition by. + The fluent aggregate interface. + + + + Appends a $facet stage to the pipeline. + + The type of the new result. + The facets. + The options. + + The fluent aggregate interface. + + + + + Appends a $graphLookup stage to the pipeline. + + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the new result (must be same as TResult with an additional as field). + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The fluent aggregate interface. + + + + Appends a group stage to the pipeline. + + The type of the result of the stage. + The group projection. + The fluent aggregate interface. + + + + Appends a limit stage to the pipeline. + + The limit. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + The type of the foreign document. + The type of the new result. + Name of the other collection. + The local field. + The foreign field. + The field in to place the foreign results. + The options. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + The type of the foreign collection documents. + The type of the as field elements. + The type of the as field. + The type of the new result. + The foreign collection. + The "let" definition. + The lookup pipeline. + The as field in in which to place the results of the lookup pipeline. + The options. + The fluent aggregate interface. + + + + Appends a match stage to the pipeline. + + The filter. + The fluent aggregate interface. + + + + Appends a merge stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + The type of output documents. + The output collection. + The merge options. + The cancellation token. + A cursor. + + + + Appends a merge stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + The type of output documents. + The output collection. + The merge options. + The cancellation token. + A cursor. + + + + Appends a match stage to the pipeline that matches derived documents and changes the result type to the derived type. + + The type of the derived documents. + The new result serializer. + The fluent aggregate interface. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + The output collection. + The cancellation token. + A cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The cancellation token. + A cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + The output collection. + The time series options. + The cancellation token. + A cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The time series options. + The cancellation token. + A cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + The output collection. + The cancellation token. + A Task whose result is a cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The cancellation token. + A Task whose result is a cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + The output collection. + The time series options. + The cancellation token. + A Task whose result is a cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The time series options. + The cancellation token. + A Task whose result is a cursor. + + + + Appends a project stage to the pipeline. + + The type of the result of the stage. + The projection. + + The fluent aggregate interface. + + + + + Appends a $replaceRoot stage to the pipeline. + + The type of the new result. + The new root. + The fluent aggregate interface. + + + + Appends a $replaceWith stage to the pipeline. + + The type of the new result. + The new root. + The fluent aggregate interface. + + + + Appends a sample stage to the pipeline. + + The sample size. + The fluent aggregate interface. + + + + Appends a $set stage to the pipeline. + + The fields to set. + The fluent aggregate interface. + + + + Appends a $setWindowFields to the pipeline. + + The type of the added window fields. + The window fields definition. + The fluent aggregate interface. + + + + Appends a $search stage to the pipeline. + + The search definition. + The highlight options. + The index name. + The count options. + + Flag that specifies whether to perform a full document lookup on the backend database + or return only stored source fields directly from Atlas Search. + + + Flag that specifies whether to return a detailed breakdown + of the score for each document in the result. + + The fluent aggregate interface. + + + + Appends a $search stage to the pipeline. + + The search definition. + The search options. + + The fluent aggregate interface. + + + + + Appends a $searchMeta stage to the pipeline. + + The search definition. + The index name. + The count options. + The fluent aggregate interface. + + + + Appends a $setWindowFields to the pipeline. + + The type of the value to partition by. + The type of the added window fields. + The partitionBy definition. + The window fields definition. + The fluent aggregate interface. + + + + Appends a $setWindowFields to the pipeline. + + The type of the value to partition by. + The type of the added window fields. + The partitionBy definition. + The sortBy definition. + The window fields definition. + The fluent aggregate interface. + + + + Appends a skip stage to the pipeline. + + The number of documents to skip. + The fluent aggregate interface. + + + + Appends a sort stage to the pipeline. + + The sort specification. + The fluent aggregate interface. + + + + Appends a sortByCount stage to the pipeline. + + The type of the identifier. + The identifier. + The fluent aggregate interface. + + + + Executes an aggregation pipeline that writes the results to a collection. + + The cancellation token. + + + + Executes an aggregation pipeline that writes the results to a collection. + + The cancellation token. + A Task. + + + + Appends an $unionWith stage to the pipeline. + + The type of the with collection documents. + The with collection. + The with pipeline. + The fluent aggregate interface. + + + + Appends an unwind stage to the pipeline. + + The type of the result of the stage. + The field. + The new result serializer. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the new result. + The field. + The options. + The fluent aggregate interface. + + + + Appends a vector search stage. + + The field. + The query vector. + The limit. + The vector search options. + The fluent aggregate interface. + + + + Fluent interface for aggregate. + + The type of the result. + + + + Combines the current sort definition with an additional sort definition. + + The new sort. + The fluent aggregate interface. + + + + Extension methods for + + + + + Appends a $bucket stage to the pipeline. + + The type of the result. + The type of the value. + The aggregate. + The expression providing the value to group by. + The bucket boundaries. + The options. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline. + + The type of the result. + The type of the value. + The type of the new result. + The aggregate. + The expression providing the value to group by. + The bucket boundaries. + The output projection. + The options. + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the result. + The type of the value. + The aggregate. + The expression providing the value to group by. + The number of buckets. + The options (optional). + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline (this overload can only be used with LINQ3). + + The type of the result. + The type of the value. + The type of the new result. + The aggregate. + The expression providing the value to group by. + The number of buckets. + The output projection. + The options (optional). + The fluent aggregate interface. + + + + Appends a $changeStreamSplitLargeEvent stage to the pipeline. + + The type of the result. + The aggregate. + The fluent aggregate interface. + + + + Appends a $densify stage to the pipeline. + + The type of the result. + The aggregate. + The field. + The range. + The partition by fields. + + The fluent aggregate interface. + + + + + Appends a $densify stage to the pipeline. + + The type of the result. + The aggregate. + The field. + The range. + The partition by fields. + + The fluent aggregate interface. + + + + + Appends a $documents stage to the pipeline. + + The type of the result. + The aggregate. + The documents. + The document serializer. + The fluent aggregate interface. + + + + Appends a $documents stage to the pipeline. + + The type of the result. + The aggregate. + The documents. + The document serializer. + The fluent aggregate interface. + + + + Appends a $facet stage to the pipeline. + + The type of the result. + The aggregate. + The facets. + The fluent aggregate interface. + + + + Appends a $facet stage to the pipeline. + + The type of the result. + The aggregate. + The facets. + The fluent aggregate interface. + + + + Appends a $facet stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The facets. + + The fluent aggregate interface. + + + + + Appends a $geoNear stage to the pipeline. + + The type of the result. + The type of the new result. + The type of the coordinates for the point. + The aggregate. + The point for which to find the closest documents. + The options. + The fluent aggregate interface. + + + + Appends a $geoNear stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The point for which to find the closest documents. + The options. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the result. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the new result (must be same as TResult with an additional as field). + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the result. + The type of the from documents. + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the result. + The type of the new result (must be same as TResult with an additional as field). + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the result. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the new result (must be same as TResult with an additional as field). + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The fluent aggregate interface. + + + + Appends a group stage to the pipeline. + + The type of the result. + The aggregate. + The group projection. + + The fluent aggregate interface. + + + + + Appends a group stage to the pipeline. + + The type of the result. + The type of the key. + The type of the new result. + The aggregate. + The id. + The group projection. + + The fluent aggregate interface. + + + + + Appends a lookup stage to the pipeline. + + The type of the result. + The aggregate. + Name of the foreign collection. + The local field. + The foreign field. + The field in the result to place the foreign matches. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + The type of the result. + The type of the foreign collection. + The type of the new result. + The aggregate. + The foreign collection. + The local field. + The foreign field. + The field in the result to place the foreign matches. + The options. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + The type of the result. + The aggregate. + The foreign collection. + The "let" definition. + The lookup pipeline. + The as field in the result in which to place the results of the lookup pipeline. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + The type of the result. + The type of the foreign collection documents. + The type of the as field elements. + The type of the as field. + The type of the new result. + The aggregate. + The foreign collection. + The "let" definition. + The lookup pipeline. + The as field in in which to place the results of the lookup pipeline. + The options. + The fluent aggregate interface. + + + + Appends a match stage to the pipeline. + + The type of the result. + The aggregate. + The filter. + + The fluent aggregate interface. + + + + + Appends a project stage to the pipeline. + + The type of the result. + The aggregate. + The projection. + + The fluent aggregate interface. + + + + + Appends a project stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The projection. + + The fluent aggregate interface. + + + + + Appends a $rankFusion stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The map of named pipelines whose results will be combined. The pipelines must operate on the same collection. + The map of pipeline names to non-negative numerical weights determining result importance during combination. Default weight is 1 when unspecified. + The rankFusion options. + The fluent aggregate interface. + + + + Appends a $rankFusion stage to the pipeline. Pipelines will be automatically named as "pipeline1", "pipeline2", etc. + + The type of the result. + The type of the new result. + The aggregate. + The collection of pipelines whose results will be combined. The pipelines must operate on the same collection. + The rankFusion options. + The fluent aggregate interface. + + + + Appends a $rankFusion stage to the pipeline. Pipelines will be automatically named as "pipeline1", "pipeline2", etc. + + The type of the result. + The type of the new result. + The aggregate. + The collection of tuples containing (pipeline, weight) pairs. The pipelines must operate on the same collection. + The rankFusion options. + The fluent aggregate interface. + + + + Appends a $replaceRoot stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The new root. + + The fluent aggregate interface. + + + + + Appends a $replaceWith stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The new root. + + The fluent aggregate interface. + + + + + Appends a $set stage to the pipeline. + + The type of the result. + The type of object specifying the fields to set. + The aggregate. + The fields to set. + The fluent aggregate interface. + + + + Appends a $setWindowFields to the pipeline. + + The type of the result. + The type of the added window fields. + The aggregate. + The window fields expression. + The fluent aggregate interface. + + + + Appends a $setWindowFields to the pipeline. + + The type of the result. + The type of the value to partition by. + The type of the added window fields. + The aggregate. + The partitionBy expression. + The window fields expression. + The fluent aggregate interface. + + + + Appends a $setWindowFields to the pipeline. + + The type of the result. + The type of the value to partition by. + The type of the added window fields. + The aggregate. + The partitionBy expression. + The sortBy expression. + The window fields expression. + The fluent aggregate interface. + + + + Appends an ascending sort stage to the pipeline. + + The type of the result. + The aggregate. + The field to sort by. + + The fluent aggregate interface. + + + + + Appends a sortByCount stage to the pipeline. + + The type of the result. + The type of the key. + The aggregate. + The id. + + The fluent aggregate interface. + + + + + Appends a descending sort stage to the pipeline. + + The type of the result. + The aggregate. + The field to sort by. + + The fluent aggregate interface. + + + + + Modifies the current sort stage by appending an ascending field specification to it. + + The type of the result. + The aggregate. + The field to sort by. + + The fluent aggregate interface. + + + + + Modifies the current sort stage by appending a descending field specification to it. + + The type of the result. + The aggregate. + The field to sort by. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the result. + The aggregate. + The field to unwind. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the result. + The aggregate. + The field to unwind. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The field to unwind. + The new result serializer. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The field to unwind. + The options. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result, or the default value if the result set is empty. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result, or the default value if the result set is empty. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result. Throws an exception if the result set does not contain exactly one document. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result. Throws an exception if the result set does not contain exactly one document. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result, or the default value if the result set is empty. Throws an exception if the result set contains more than one document. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result, or the default value if the result set is empty. Throws an exception if the result set contains more than one document. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Appends a $vectorSearch stage. + + The type of the result. + The aggregate. + The field. + The query vector. + The limit. + The vector search options. + The fluent aggregate interface. + + + + The interface for a client session. + + + + + Gets the client. + + + The client. + + + + + Gets the cluster time. + + + The cluster time. + + + + + Gets a value indicating whether this session is an implicit session. + + + true if this session is an implicit session; otherwise, false. + + + + + Gets a value indicating whether this instance is in a transaction. + + + true if this instance is in a transaction; otherwise, false. + + + + + Gets the operation time. + + + The operation time. + + + + + Gets the options. + + + The options. + + + + + Gets the server session. + + + The server session. + + + + + Gets the wrapped core session (intended for internal use only). + + + The wrapped core session. + + + + + Aborts the transaction. + + The cancellation token. + + + + Aborts the transaction. + + The cancellation token. + A Task. + + + + Advances the cluster time. + + The new cluster time. + + + + Advances the operation time. + + The new operation time. + + + + Commits the transaction. + + The cancellation token. + + + + Commits the transaction. + + The cancellation token. + A Task. + + + + Starts a transaction. + + The transaction options. + + + + Executes a callback within a transaction, with retries if needed. + + + If a command inside the callback fails, it may cause the transaction on the server to be + aborted. This situation is normally handled transparently by the driver. However, if the + application does not return that error from the callback, the driver will not be able to + determine whether the transaction was aborted or not. The driver will then retry the + callback indefinitely. To avoid this situation, the application MUST NOT silently handle + errors within the callback. If the application needs to handle errors within the + callback, it MUST return them after doing so. + + The user defined callback. + The transaction options. + The cancellation token. + The type of callback result. + The callback result. + + + + Executes a callback within a transaction, with retries if needed. + + + If a command inside the callback fails, it may cause the transaction on the server to be + aborted. This situation is normally handled transparently by the driver. However, if the + application does not return that error from the callback, the driver will not be able to + determine whether the transaction was aborted or not. The driver will then retry the + callback indefinitely. To avoid this situation, the application MUST NOT silently handle + errors within the callback. If the application needs to handle errors within the + callback, it MUST return them after doing so. + + The user defined callback. + The transaction options. + The cancellation token. + The type of callback result. + The callback result. + + + + A handle to an underlying reference counted IClientSession. + + + + + + Forks this instance. + + A session. + + + + Extension Manager provides a way to configure extensions for the driver. + + + + + Sasl Mechanisms Registry. + + + + + Kms Providers Registry. + + + + + AutoEncryption Provider Registry. + + + + + A filtered mongo collection. The filter will be and'ed with all filters. + + The type of the document. + + + + Gets the filter. + + + + + Fluent interface for find. + + + This interface is not guaranteed to remain stable. Implementors should use + . + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Gets or sets the filter. + + + + + Gets the options. + + + + + A simplified type of projection that changes the result type by using a different serializer. + + The type of the result. + The result serializer. + The fluent find interface. + + + + Counts the number of documents. + + The cancellation token. + The count. + + + + Counts the number of documents. + + The cancellation token. + A Task whose result is the count. + + + + Counts the number of documents. + + + Note: when migrating from Count to CountDocuments the following query operations must be replaced: + + + +-------------+--------------------------------+ + | Operator | Replacement | + +=============+================================+ + | $where | $expr | + +-------------+--------------------------------+ + | $near | $geoWithin with $center | + +-------------+--------------------------------+ + | $nearSphere | $geoWithin with $centerSphere | + +-------------+--------------------------------+ + + + The cancellation token. + The count. + + + + Counts the number of documents. + + + Note: when migrating from CountAsync to CountDocumentsAsync the following query operations must be replaced: + + + +-------------+--------------------------------+ + | Operator | Replacement | + +=============+================================+ + | $where | $expr | + +-------------+--------------------------------+ + | $near | $geoWithin with $center | + +-------------+--------------------------------+ + | $nearSphere | $geoWithin with $centerSphere | + +-------------+--------------------------------+ + + + The cancellation token. + A Task whose result is the count. + + + + Limits the number of documents. + + + Limit of zero or null is equivalent to setting no limit. + + The limit. + The fluent find interface. + + + + Projects the the result. + + The type of the projection. + The projection. + The fluent find interface. + + + + Skips the the specified number of documents. + + The skip. + The fluent find interface. + + + + Sorts the the documents. + + The sort. + The fluent find interface. + + + + Returns a string representation of an IFindFluent instance. + + The translation options. + The string representation. + + + + Fluent interface for find. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Extension methods for + + + + + Projects the result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The projection. + The fluent find interface. + + + + Projects the result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The type of the new projection. + The fluent find. + The projection. + The fluent find interface. + + + + Sorts the results by an ascending field. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The field. + The fluent find interface. + + + + Sorts the results by a descending field. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The field. + The fluent find interface. + + + + Adds an ascending field to the existing sort. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The field. + The fluent find interface. + + + + Adds a descending field to the existing sort. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The field. + The fluent find interface. + + + + Determine if there are any results. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + True if there is at least one document. + + + + Determine if there are any results. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is true if there is at least one document. + + + + Get the first result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the first result. + + + + Get the first result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the first result. + + + + Get the first result or null. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the first result or null. + + + + Get the first result or null. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the first result or null. + + + + Gets a single result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the single result. + + + + Gets a single result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the single result. + + + + Gets a single result or null. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the single result or null. + + + + Gets a single result or null. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the single result or null. + + + + The client interface to MongoDB. + + + + + Gets the cluster. + + + The cluster. + + + + + Gets the settings. + + + + + Executes a list of mixed write operations. + + List of operations to execute. + The bulk write options. + The cancellation token. + + + + Executes a list of mixed write operations. + + The session. + List of operations to execute. + The bulk write options. + The cancellation token. + + + + Executes a list of mixed write operations. + + List of operations to execute. + The bulk write options. + The cancellation token. + + + + Executes a list of mixed write operations. + + The session. + List of operations to execute. + The bulk write options. + The cancellation token. + + + + Drops the database with the specified name. + + The name of the database to drop. + The cancellation token. + + + + Drops the database with the specified name. + + The session. + The name of the database to drop. + The cancellation token. + + + + Drops the database with the specified name. + + The name of the database to drop. + The cancellation token. + A task. + + + + Drops the database with the specified name. + + The session. + The name of the database to drop. + The cancellation token. + + A task. + + + + + Gets a database. + + The name of the database. + The database settings. + An implementation of a database. + + + + Returns the names of the databases on the server. + + The cancellation token. + The database names. + + + + Returns the names of the databases on the server. + + The cancellation token. + The options. + The database names. + + + + Returns the names of the databases on the server. + + The session. + The cancellation token. + The database names. + + + + Returns the names of the databases on the server. + + The session. + The options. + The cancellation token. + The database names. + + + + Returns the names of the databases on the server. + + The cancellation token. + The database names. + + + + Returns the names of the databases on the server. + + The options. + The cancellation token. + The database names. + + + + Returns the names of the databases on the server. + + The session. + The cancellation token. + The database names. + + + + Returns the names of the databases on the server. + + The session. + The options. + The cancellation token. + The database names. + + + + Lists the databases on the server. + + The cancellation token. + A cursor. + + + + Lists the databases on the server. + + The options. + The cancellation token. + A cursor. + + + + Lists the databases on the server. + + The session. + The cancellation token. + + A cursor. + + + + + Lists the databases on the server. + + The session. + The options. + The cancellation token. + + A cursor. + + + + + Lists the databases on the server. + + The cancellation token. + A Task whose result is a cursor. + + + + Lists the databases on the server. + + The cancellation token. + The options. + A Task whose result is a cursor. + + + + Lists the databases on the server. + + The session. + The cancellation token. + + A Task whose result is a cursor. + + + + + Lists the databases on the server. + + The session. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Starts a client session. + + The session options. + The cancellation token. + + A client session. + + + + + Starts a client session. + + The session options. + The cancellation token. + + A Task whose result is a client session. + + + + + Watches changes on all collections in all databases. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in all databases. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in all databases. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in all databases. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Returns a new IMongoClient instance with a different read concern setting. + + The read concern. + A new IMongoClient instance with a different read concern setting. + + + + Returns a new IMongoClient instance with a different read preference setting. + + The read preference. + A new IMongoClient instance with a different read preference setting. + + + + Returns a new IMongoClient instance with a different write concern setting. + + The write concern. + A new IMongoClient instance with a different write concern setting. + + + + Extension methods on IMongoClient. + + + + + Watches changes on all collections in all databases. + + The client. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in all databases. + + The client. + The session. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in all databases. + + The client. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in all databases. + + The client. + The session. + The options. + The cancellation token. + + A change stream. + + + + + Represents a typed collection in MongoDB. + + + This interface is not guaranteed to remain stable. Implementors should use + . + + The type of the documents stored in the collection. + + + + Gets the namespace of the collection. + + + + + Gets the database. + + + + + Gets the document serializer. + + + + + Gets the index manager. + + + + + Gets the search index manager. + + + + + Gets the settings. + + + + + Runs an aggregation pipeline. + + The type of the result. + The pipeline. + The options. + The cancellation token. + A cursor. + + + + Runs an aggregation pipeline. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A cursor. + + + + + Runs an aggregation pipeline. + + The type of the result. + The pipeline. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Runs an aggregation pipeline. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Runs an aggregation pipeline whose results are written to a collection. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + + + Runs an aggregation pipeline whose results are written to a collection. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + + + Runs an aggregation pipeline whose results are written to a collection. + + The type of the result. + The pipeline. + The options. + The cancellation token. + A Task. + + + + Runs an aggregation pipeline whose results are written to a collection. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + A Task. + + + + Performs multiple write operations. + + The requests. + The options. + The cancellation token. + The result of writing. + + + + Performs multiple write operations. + + The session. + The requests. + The options. + The cancellation token. + + The result of writing. + + + + + Performs multiple write operations. + + The requests. + The options. + The cancellation token. + The result of writing. + + + + Performs multiple write operations. + + The session. + The requests. + The options. + The cancellation token. + + The result of writing. + + + + + Counts the number of documents in the collection. + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The session. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The session. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + + Note: when migrating from Count to CountDocuments the following query operations must be replaced: + + + +-------------+--------------------------------+ + | Operator | Replacement | + +=============+================================+ + | $where | $expr | + +-------------+--------------------------------+ + | $near | $geoWithin with $center | + +-------------+--------------------------------+ + | $nearSphere | $geoWithin with $centerSphere | + +-------------+--------------------------------+ + + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + + Note: when migrating from Count to CountDocuments the following query operations must be replaced: + + + +-------------+--------------------------------+ + | Operator | Replacement | + +=============+================================+ + | $where | $expr | + +-------------+--------------------------------+ + | $near | $geoWithin with $center | + +-------------+--------------------------------+ + | $nearSphere | $geoWithin with $centerSphere | + +-------------+--------------------------------+ + + + The session. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + + Note: when migrating from CountAsync to CountDocumentsAsync the following query operations must be replaced: + + + +-------------+--------------------------------+ + | Operator | Replacement | + +=============+================================+ + | $where | $expr | + +-------------+--------------------------------+ + | $near | $geoWithin with $center | + +-------------+--------------------------------+ + | $nearSphere | $geoWithin with $centerSphere | + +-------------+--------------------------------+ + + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + + Note: when migrating from CountAsync to CountDocumentsAsync the following query operations must be replaced: + + + +-------------+--------------------------------+ + | Operator | Replacement | + +=============+================================+ + | $where | $expr | + +-------------+--------------------------------+ + | $near | $geoWithin with $center | + +-------------+--------------------------------+ + | $nearSphere | $geoWithin with $centerSphere | + +-------------+--------------------------------+ + + + The session. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Deletes multiple documents. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Gets the distinct values for a specified field. + + The type of the result. + The field. + The filter. + The options. + The cancellation token. + A cursor. + + + + Gets the distinct values for a specified field. + + The type of the result. + The session. + The field. + The filter. + The options. + The cancellation token. + + A cursor. + + + + + Gets the distinct values for a specified field. + + The type of the result. + The field. + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Gets the distinct values for a specified field. + + The type of the result. + The session. + The field. + The filter. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Gets the distinct values for a specified array field. + + The type of the array items. + The field. + The filter. + The options. + The cancellation token. + A cursor. + + + + Gets the distinct values for a specified array field. + + The type of the array items. + The session. + The field. + The filter. + The options. + The cancellation token. + A cursor. + + + + Gets the distinct values for a specified array field. + + The type of the array items. + The field. + The filter. + The options. + The cancellation token. + A cursor. + + + + Gets the distinct values for a specified array field. + + The type of the array items. + The session. + The field. + The filter. + The options. + The cancellation token. + A cursor. + + + + Returns an estimate of the number of documents in the collection. + + The options. + The cancellation token. + + An estimate of the number of documents in the collection. + + + Due to an oversight in versions 5.0.0-5.0.8 of MongoDB, the count command, which estimatedDocumentCount uses + in its implementation, was not included in v1 of the Stable API. If you are using the Stable API with + estimatedDocumentCount, you must upgrade to server version 5.0.9+ or set strict: false when configuring + ServerApi to avoid encountering errors. + + + + + Returns an estimate of the number of documents in the collection. + + The options. + The cancellation token. + + An estimate of the number of documents in the collection. + + + + + Finds the documents matching the filter. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The options. + The cancellation token. + A cursor. + + + + Finds the documents matching the filter. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The options. + The cancellation token. + + A cursor. + + + + + Finds the documents matching the filter. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Finds a single document and deletes it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Inserts a single document. + + The document. + The options. + The cancellation token. + + + + Inserts a single document. + + The session. + The document. + The options. + The cancellation token. + + + + Inserts a single document. + + The document. + The cancellation token. + + The result of the insert operation. + + + + + Inserts a single document. + + The document. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Inserts a single document. + + The session. + The document. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Inserts many documents. + + The documents. + The options. + The cancellation token. + + + + Inserts many documents. + + The session. + The documents. + The options. + The cancellation token. + + + + Inserts many documents. + + The documents. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Inserts many documents. + + The session. + The documents. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Executes a map-reduce command. + + The type of the result. + The map function. + The reduce function. + The options. + The cancellation token. + A cursor. + + + + Executes a map-reduce command. + + The type of the result. + The session. + The map function. + The reduce function. + The options. + The cancellation token. + + A cursor. + + + + + Executes a map-reduce command. + + The type of the result. + The map function. + The reduce function. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Executes a map-reduce command. + + The type of the result. + The session. + The map function. + The reduce function. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Returns a filtered collection that appears to contain only documents of the derived type. + All operations using this filtered collection will automatically use discriminators as necessary. + + The type of the derived document. + A filtered collection. + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Updates many documents. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Watches changes on the collection. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on the collection. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on the collection. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on the collection. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Returns a new IMongoCollection instance with a different read concern setting. + + The read concern. + A new IMongoCollection instance with a different read concern setting. + + + + Returns a new IMongoCollection instance with a different read preference setting. + + The read preference. + A new IMongoCollection instance with a different read preference setting. + + + + Returns a new IMongoCollection instance with a different write concern setting. + + The write concern. + A new IMongoCollection instance with a different write concern setting. + + + + Extension methods for . + + + + + Begins a fluent aggregation interface. + + The type of the document. + The collection. + The options. + + A fluent aggregate interface. + + + + + Begins a fluent aggregation interface. + + The type of the document. + The collection. + The session. + The options. + + A fluent aggregate interface. + + + + + Creates a queryable source of documents. + + The type of the document. + The collection. + The aggregate options + A queryable source of documents. + + + + Creates a queryable source of documents. + + The type of the document. + The collection. + The session. + The aggregate options + A queryable source of documents. + + + + Counts the number of documents in the collection. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The type of the document. + The session. + The collection. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + The type of the document. + The session. + The collection. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Begins a fluent find interface. + + The type of the document. + The collection. + The filter. + The options. + + A fluent find interface. + + + + + Begins a fluent find interface. + + The type of the document. + The collection. + The session. + The filter. + The options. + + A fluent find interface. + + + + + Begins a fluent find interface. + + The type of the document. + The collection. + The filter. + The options. + + A fluent interface. + + + + + Begins a fluent find interface. + + The type of the document. + The collection. + The session. + The filter. + The options. + + A fluent interface. + + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The session. + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The session. + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The filter. + The session. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Replaces a single document. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Updates many documents. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Watches changes on the collection. + + The type of the document. + The collection. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on the collection. + + The type of the document. + The collection. + The session. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on the collection. + + The type of the document. + The collection. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on the collection. + + The type of the document. + The collection. + The session. + The options. + The cancellation token. + + A change stream. + + + + + Represents a database in MongoDB. + + + + + Gets the client. + + + + + Gets the namespace of the database. + + + + + Gets the settings. + + + + + Runs an aggregation pipeline. + + The type of the result. + The pipeline. + The options. + The cancellation token. + A cursor. + + + + Runs an aggregation pipeline. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A cursor. + + + + + Runs an aggregation pipeline. + + The type of the result. + The pipeline. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Runs an aggregation pipeline. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Runs an aggregation pipeline. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + + + Runs an aggregation pipeline. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + + + Runs an aggregation pipeline. + + The type of the result. + The pipeline. + The options. + The cancellation token. + A Task. + + + + Runs an aggregation pipeline. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + A Task. + + + + Creates the collection with the specified name. + + The name. + The options. + The cancellation token. + + + + Creates the collection with the specified name. + + The session. + The name. + The options. + The cancellation token. + + + + Creates the collection with the specified name. + + The name. + The options. + The cancellation token. + A task. + + + + Creates the collection with the specified name. + + The session. + The name. + The options. + The cancellation token. + + A task. + + + + + Creates a view. + + The type of the input documents. + The type of the pipeline result documents. + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + + + + Creates a view. + + The type of the input documents. + The type of the pipeline result documents. + The session. + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + + + + Creates a view. + + The type of the input documents. + The type of the pipeline result documents. + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + A task. + + + + Creates a view. + + The type of the input documents. + The type of the pipeline result documents. + The session. + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + + A task. + + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The cancellation token. + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The options. + The cancellation token. + + + + Drops the collection with the specified name. + + The session. + The name of the collection to drop. + The cancellation token. + + + + Drops the collection with the specified name. + + The session. + The name of the collection to drop. + The options. + The cancellation token. + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The cancellation token. + A task. + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The options. + The cancellation token. + A task. + + + + Drops the collection with the specified name. + + The session. + The name of the collection to drop. + The cancellation token. + + A task. + + + + + Drops the collection with the specified name. + + The session. + The name of the collection to drop. + The options. + The cancellation token. + + A task. + + + + + Gets a collection. + + The document type. + The name of the collection. + The settings. + An implementation of a collection. + + + + Lists the names of all the collections in the database. + + The options. + The cancellation token. + A cursor. + + + + Lists the names of all the collections in the database. + + The session. + The options. + The cancellation token. + A cursor. + + + + Lists the names of all the collections in the database. + + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Lists the names of all the collections in the database. + + The session. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Lists all the collections in the database. + + The options. + The cancellation token. + A cursor. + + + + Lists all the collections in the database. + + The session. + The options. + The cancellation token. + + A cursor. + + + + + Lists all the collections in the database. + + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Lists all the collections in the database. + + The session. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Renames the collection. + + The old name. + The new name. + The options. + The cancellation token. + + + + Renames the collection. + + The session. + The old name. + The new name. + The options. + The cancellation token. + + + + Renames the collection. + + The old name. + The new name. + The options. + The cancellation token. + A task. + + + + Renames the collection. + + The session. + The old name. + The new name. + The options. + The cancellation token. + + A task. + + + + + Runs a command. + + The result type of the command. + The command. + The read preference. + The cancellation token. + + The result of the command. + + + + + Runs a command. + + The result type of the command. + The session. + The command. + The read preference. + The cancellation token. + + The result of the command. + + + + + Runs a command. + + The result type of the command. + The command. + The read preference. + The cancellation token. + + The result of the command. + + + + + Runs a command. + + The result type of the command. + The session. + The command. + The read preference. + The cancellation token. + + The result of the command. + + + + + Watches changes on all collections in a database. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in a database. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in a database. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in a database. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Returns a new IMongoDatabase instance with a different read concern setting. + + The read concern. + A new IMongoDatabase instance with a different read concern setting. + + + + Returns a new IMongoDatabase instance with a different read preference setting. + + The read preference. + A new IMongoDatabase instance with a different read preference setting. + + + + Returns a new IMongoDatabase instance with a different write concern setting. + + The write concern. + A new IMongoDatabase instance with a different write concern setting. + + + + Extension methods on IMongoDatabase. + + + + + Begins a fluent aggregation interface. + + The database. + The options. + + A fluent aggregate interface. + + + + + Begins a fluent aggregation interface. + + The database. + The session. + The options. + + A fluent aggregate interface. + + + + + Creates a queryable source of documents. + + The database. + The aggregate options + A queryable source of documents. + + + + Creates a queryable source of documents. + + The collection. + The session. + The aggregate options + A queryable source of documents. + + + + Watches changes on all collection in a database. + + The database. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collection in a database. + + The database. + The session. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collection in a database. + + The database. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collection in a database. + + The database. + The session. + The options. + The cancellation token. + + A change stream. + + + + + An interface representing methods used to create, delete and modify indexes. + + + This interface is not guaranteed to remain stable. Implementors should use + . + + The type of the document. + + + + Gets the namespace of the collection. + + + + + Gets the document serializer. + + + + + Gets the collection settings. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + An of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The options for create multiple indexes. + The cancellation token. + + An of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The session. + The models defining each of the indexes. + The cancellation token. + + An of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The session. + The models defining each of the indexes. + The options for create multiple indexes. + The cancellation token. + + An of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + A task whose result is an of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The options for create multiple indexes. + The cancellation token. + + A task whose result is an of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The session. + The models defining each of the indexes. + The cancellation token. + + A task whose result is an of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The session. + The models defining each of the indexes. + The options for create multiple indexes. + The cancellation token. + + A task whose result is an of the names of the indexes that were created. + + + + + Creates an index. + + The model defining the index. + The create index operation options. + The cancellation token. + + The name of the index that was created. + + + + + Creates an index. + + The keys. + The create index request options. + The cancellation token. + + The name of the index that was created. + + + + + Creates an index. + + The session. + The keys. + The create index request options. + The cancellation token. + + The name of the index that was created. + + + + + Creates an index. + + The session. + The model defining the index. + The create index operation options. + The cancellation token. + + The name of the index that was created. + + + + + Creates an index. + + The model defining the index. + The create index operation options. + The cancellation token. + + A task whose result is the name of the index that was created. + + + + + Creates an index. + + The keys. + The create index request options. + The cancellation token. + + A task whose result is the name of the index that was created. + + + + + Creates an index. + + The session. + The keys. + The create index request options. + The cancellation token. + + A task whose result is the name of the index that was created. + + + + + Creates an index. + + The session. + The model defining the index. + The create index operation options. + The cancellation token. + + A task whose result is the name of the index that was created. + + + + + Drops all the indexes. + + The options. + The cancellation token. + + + + Drops all the indexes. + + The cancellation token. + + + + Drops all the indexes. + + The session. + The cancellation token. + + + + Drops all the indexes. + + The session. + The options. + The cancellation token. + + + + Drops all the indexes. + + The options. + The cancellation token. + + A task. + + + + + Drops all the indexes. + + The cancellation token. + A task. + + + + Drops all the indexes. + + The session. + The cancellation token. + + A task. + + + + + Drops all the indexes. + + The session. + The options. + The cancellation token. + + A task. + + + + + Drops an index by its name. + + The name. + The cancellation token. + + + + Drops an index by its name. + + The name. + The options. + The cancellation token. + + + + Drops an index by its name. + + The session. + The name. + The cancellation token. + + + + Drops an index by its name. + + The session. + The name. + The options. + The cancellation token. + + + + Drops an index by its name. + + The name. + The cancellation token. + A task. + + + + Drops an index by its name. + + The name. + The options. + The cancellation token. + A task. + + + + Drops an index by its name. + + The session. + The name. + The cancellation token. + + A task. + + + + + Drops an index by its name. + + The session. + The name. + The options. + The cancellation token. + + A task. + + + + + Lists the indexes. + + The cancellation token. + A cursor. + + + + Lists the indexes. + + The options. + The cancellation token. + A cursor. + + + + Lists the indexes. + + The session. + The cancellation token. + + A cursor. + + + + + Lists the indexes. + + The session. + The options. + The cancellation token. + + A cursor. + + + + + Lists the indexes. + + The cancellation token. + A Task whose result is a cursor. + + + + Lists the indexes. + + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Lists the indexes. + + The session. + The cancellation token. + + A Task whose result is a cursor. + + + + + Lists the indexes. + + The session. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Base class for an index keys definition. + + The type of the document. + + + + Renders the index keys definition to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + A based index keys definition. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + + + + A JSON based index keys definition. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + + + + Extension methods for an index keys definition. + + + + + Combines an existing index keys definition with an ascending index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with an ascending index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a descending index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a descending index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2d index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2d index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a geo haystack index key definition. + + The type of the document. + The keys. + The field. + Name of the additional field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a geo haystack index key definition. + + The type of the document. + The keys. + The field. + Name of the additional field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2dsphere index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2dsphere index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a hashed index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a hashed index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a text index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a text index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + A builder for an . + + The type of the document. + + + + Creates an ascending index key definition. + + The field. + An ascending index key definition. + + + + Creates an ascending index key definition. + + The field. + An ascending index key definition. + + + + Creates a combined index keys definition. + + The keys. + A combined index keys definition. + + + + Creates a combined index keys definition. + + The keys. + A combined index keys definition. + + + + Creates a descending index key definition. + + The field. + A descending index key definition. + + + + Creates a descending index key definition. + + The field. + A descending index key definition. + + + + Creates a 2d index key definition. + + The field. + A 2d index key definition. + + + + Creates a 2d index key definition. + + The field. + A 2d index key definition. + + + + Creates a geo haystack index key definition. + + The field. + Name of the additional field. + + A geo haystack index key definition. + + + + + Creates a geo haystack index key definition. + + The field. + Name of the additional field. + + A geo haystack index key definition. + + + + + Creates a 2dsphere index key definition. + + The field. + A 2dsphere index key definition. + + + + Creates a 2dsphere index key definition. + + The field. + A 2dsphere index key definition. + + + + Creates a hashed index key definition. + + The field. + A hashed index key definition. + + + + Creates a hashed index key definition. + + The field. + A hashed index key definition. + + + + Creates a text index key definition. + + The field. + A text index key definition. + + + + Creates a text index key definition. + + The field. + A text index key definition. + + + + Creates a wildcard index key definition. The method doesn't expect to specify a wildcard key explicitly. + + The wildcard key name. If the wildcard name is empty, the generated key will be `All field paths`, otherwise `A single field path`. + A wildcard index key definition. + + + + Creates a wildcard index key definition. + + The field expression representing the wildcard key name. + A wildcard index key definition. + + + + Represents index option defaults. + + + + + Gets or sets the storage engine options. + + + + + Returns this instance represented as a BsonDocument. + + A BsonDocument. + + + + Options for inserting many documents. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the comment. + + + + + Gets or sets a value indicating whether the requests are fulfilled in order. + + + + + Gets or sets the operation timeout. + + + + + Model for inserting a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + Gets the type of the model. + + + + + Options for inserting one document. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the comment. + + + + + Gets or sets the operation timeout. + + + + + The interface for a server session. + + + + + Gets the session Id. + + + The session Id. + + + + + Gets the time this server session was last used (in UTC). + + + The time this server session was last used (in UTC). + + + + + Gets the next transaction number. + + The transaction number. + + + + Called by the driver when the session is used (i.e. sent to the server). + + + + + Represents a partition for SetWindowFields. + + The type of the input documents in the partition. + + + + This static class holds methods that can be used to express MongoDB specific operations in LINQ queries. + + + + + Adds a value of the specified unit to a DateTime. + + The original DateTime. + The value to be added. + The unit. + The resulting DateTime. + + + + Adds a value of the specified unit to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The unit. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a TimeSpan value to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in days to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in hours to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in milliseconds to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in minutes to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in months to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in quarters to a DateTime. + + The original DateTime. + The value to be added. + The resulting DateTime. + + + + Adds a value in quarters to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in seconds to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in weeks to a DateTime taking. + + The original DateTime. + The value to be added. + The resulting DateTime. + + + + Adds a value in weeks to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in years to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Subtracts the start date from the end date returning the result in the specified unit. + + The original DateTime. + The start date. + The unit. + The result. + + + + Subtracts the start date from the end date returning the result in the specified unit taking a timezone into consideration. + + The original DateTime. + The start date. + The unit. + The timezone. + The result. + See the server documentation for $dateDiff for information on timezones in MongoDB. + + + + Subtracts the start date from the end date returning a TimeSpan taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateDiff for information on timezones in MongoDB. + + + + Subtracts a TimeSpan from a date taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateSubtract for information on timezones in MongoDB. + + + + Subtracts a value of the specified unit from a DateTime. + + The original DateTime. + The value to be added. + The unit. + The resulting DateTime. + + + + Subtracts a value of the specified unit from a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The unit. + The timezone. + The resulting DateTime. + See the server documentation for $dateSubtract for information on timezones in MongoDB. + + + + Converts a DateTime value to a string. + + The DateTime value. + The format string (optional, can be null). + The timezone to use in the returned string (optional, can be null). + The DateTime value converted to a string. + + + + Truncates a DateTime value to the specified unit. + + The original DateTime. + The unit. + The resulting DateTime. + + + + Truncates a DateTime value to the specified unit and bin size. + + The original DateTime. + The unit. + The bin size. + The resulting DateTime. + + + + Truncates a DateTime value to the specified unit and bin size taking a timezone into consideration. + + The original DateTime. + The unit. + The bin size. + The timezone. + The resulting DateTime. + See the server documentation for $dateTrunc for information on timezones in MongoDB. + + + + Returns the week number of a specified DateTime value. + + The DateTime value. + The week number of a specified DateTime value. + + + + Returns the week number of a specified DateTime value. + + The DateTime value. + The timezone to use (optional, can be null). + The week number of a specified DateTime value. + + + + Represents the unit for various DateTime operations. + + + + + Day unit. + + + + + Hour unit. + + + + + Millisecond unit. + + + + + Minute unit. + + + + + Month unit. + + + + + Quarter unit. + + + + + Second unit. + + + + + Week unit. + + + + + Week starting on Friday unit. + + + + + Week starting on Monday unit. + + + + + Week starting on Saturday unit. + + + + + Week starting on Sunday unit. + + + + + Week starting on Thursday unit. + + + + + Week starting on Tuesday unit. + + + + + Week starting on Wednesday unit. + + + + + Year unit. + + + + + The day of the start of the week (only valid with Week units that specify a start of the week). + + + + + The unit. + + + + + Represents how values are weighted when computing the exponential moving average. + + + + + Returns an alpha weighting. + + The alpha value. + An alpha weighting. + + + + Returns an positional weighting. + + The n value. + An n weighting. + + + + Represents an alpha weighting for an exponential moving average. + + + + + Initializes an instance of ExponentialMovingAverageAlphaWeighting. + + The alpha value. + + + + The alpha value. + + + + + Represents a positional weighting for an exponential moving average. + + + + + Initializes an instance of ExponentialMovingAveragePositionalWeighting. + + The n value. + + + + The n value. + + + + + Exception that is thrown when using a LINQ expression that is not supported. + + + + + Initializes an instance of an ExpressionNotSupportedException. + + The message. + + + + Initializes an instance of an ExpressionNotSupportedException. + + The expression. + + + + Initializes an instance of an ExpressionNotSupportedException. + + The expression. + The reason. + + + + Initializes an instance of an ExpressionNotSupportedException. + + The expression. + The containing expression. + + + + Initializes an instance of an ExpressionNotSupportedException. + + The expression. + The containing expression. + The reason. + + + + An implementation of for MongoDB. + + + + + Gets the most recently logged stages. + + + + + Executes the strongly-typed query represented by a specified expression tree. + + The type of the result. + An expression tree that represents a LINQ query. + The cancellation token. + The value that results from executing the specified query. + + + + The internal IMongoQueryProvider interface. + + + + + Gets the collection namespace. + + + + + Gets the pipeline input serializer (the DocumentSerializer for collection queries and NoPipelineInputSerializer for database queries). + + + + + Gets the translation options. + + The translation options. + + + + Extension methods for IQueryble. + + + + + Gets the most recently logged stages. + + The type of the source documents. + The source. + The logged stages. + + + + Gets the source's provider cast to an IMongoQueryProvider. + + The source. + The MongoDB query provider. + + + + Extension methods that represent operations for SetWindowFields. + + + + + Returns a set. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The set of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the number of documents in the window. + + The type of the input documents in the partition. + The partition. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the document position (known as the rank) relative to other documents in the $setWindowFields stage partition. + + The type of the input documents in the partition. + The partition. + The document position. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based derivatives. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based derivatives. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based derivatives. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based derivatives. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based derivatives. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the position of a document (known as the document number) in the $setWindowFields stage partition. + + The type of the input documents in the partition. + The partition. + The document position. + + + + Returns the exponential moving average value of the numeric values. Ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + How to weigh the values when computing the exponential moving average. + The window boundaries. + The exponential moving average of the selected values. + + + + Returns the exponential moving average value of the numeric values. Ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + How to weigh the values when computing the exponential moving average. + The window boundaries. + The exponential moving average of the selected values. + + + + Returns the exponential moving average value of the numeric values. Ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + How to weigh the values when computing the exponential moving average. + The window boundaries. + The exponential moving average of the selected values. + + + + Returns the exponential moving average value of the numeric values. Ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + How to weigh the values when computing the exponential moving average. + The window boundaries. + The exponential moving average of the selected values. + + + + Returns the exponential moving average value of the numeric values. Ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + How to weigh the values when computing the exponential moving average. + The window boundaries. + The exponential moving average of the selected values. + + + + Returns the first value. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The first of the selected values. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based integrals. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based integrals. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based integrals. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based integrals. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based integrals. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the last value. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The last of the selected values. + + + + Returns the last observation carried forward. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The last observation carried forward. + + + + Returns the maximum value. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The maximum of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the minimum value. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The minimum of the selected values. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns a sequence of values. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The window boundaries. + A sequence of the selected values. + + + + Returns the document position (known as the rank) relative to other documents in the $setWindowFields stage partition. + + The type of the input documents in the partition. + The partition. + The document position. + + + + Returns the value from an expression applied to a document in a specified position relative to the current document. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The relative position of the document to evaluate the selector on to shift a value to this document. + The value from an expression applied to a document in a specified position relative to the current document. + + + + Returns the value from an expression applied to a document in a specified position relative to the current document. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The relative position of the document to evaluate the selector on to shift a value to this document. + The default value to use if the document position is outside the partition. + The value from an expression applied to a document in a specified position relative to the current document. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This static class holds methods that can be used to express MongoDB specific operations in LINQ queries. + + + + + Injects a low level FilterDefinition{TDocument} into a LINQ where clause. Can only be used in LINQ queries. + + The type of the document. + The filter. + + Throws an InvalidOperationException if called. + + + + + The result of a Lookup operation. + + The type of the local documents. + The type of the result values. + + + + The local document. + + + + + The result values. + + The result values are either the matching foreign documents themselves or the output of the pipeline that was run on the matching foreign documents. + + + + Similar to the standard Math class but contains MongoDB specific methods. + + + + + Converts degrees to radians. + + The degrees. + The radians. + + + + Converts radians to degrees. + + The radians. + The degrees. + + + + Enumerable Extensions for MongoDB. + + + + + Represents all elements in an array (corresponds to the server's "$[]" update operator). + + The type of the elements of . + A source of values. + Only meant to be used in Update specifications. + + + + Represents all matching elements in an array when using an array filter (corresponds to the server's "$[identifier]" update operator). + + The type of the elements of . + A source of values. + The name of the identifier in the corresponding array filter. + Only meant to be used in Update specifications. + + + + Returns the bottom result. + + The source type. + The result type. + The source. + The sort order. + The selector. + The bottom result. + + + + Returns the bottom n results. + + The source type. + The result type. + The source. + The sort order. + The selector. + The number of results to return. + The bottom n results. + + + + Returns the bottom n results. + + The source type. + The key type. + The result type. + The source. + The sort order. + The selector. + The key (needed to infer the key type and to determine the key serializer). + The number of results to return. + The bottom n results. + + + + Represents the first matching element in an array used in a query (corresponds to the server's "$" update operator). + + The type of the elements of . + A source of values. + Only meant to be used in Update specifications. + + + + Returns the first n results. + + The source type. + The result type. + The source. + The selector. + The number of results to return. + The first n results. + + + + Returns the first n results. + + The source type. + The key type. + The result type. + The source. + The selector. + The key (needed to infer the key type and to determine the key serializer). + The number of results to return. + The first n results. + + + + Returns the last n results. + + The source type. + The result type. + The source. + The selector. + The number of results to return. + The last n results. + + + + Returns the last n results. + + The source type. + The key type. + The result type. + The source. + The selector. + The key (needed to infer the key type and to determine the key serializer). + The number of results to return. + The last n results. + + + + Returns the max n results. + + The source type. + The result type. + The source. + The selector. + The number of results to return. + The max n results. + + + + Returns the max n results. + + The source type. + The key type. + The result type. + The source. + The selector. + The key (needed to infer the key type and to determine the key serializer). + The number of results to return. + The max n results. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Returns the min n results. + + The source type. + The result type. + The source. + The selector. + The number of results to return. + The min n results. + + + + Returns the min n results. + + The source type. + The key type. + The result type. + The source. + The selector. + The key (needed to infer the key type and to determine the key serializer). + The number of results to return. + The min n results. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Returns the top n results. + + The source type. + The result type. + The source. + The sort order. + The selector. + The top n results. + + + + Returns the top n results. + + The source type. + The result type. + The source. + The sort order. + The selector. + The number of results to return. + The top n results. + + + + Returns the top n results. + + The source type. + The key type. + The result type. + The source. + The sort order. + The selector. + The key (needed to infer the key type and to determine the key serializer). + The number of results to return. + The top n results. + + + + Filters a sequence of values based on a predicate and limits the number of results. + + The type of the elements of . + The source values. + The predicate. + The limit. + The filtered results. + + + + LINQ extension methods for . + + + + + Determines whether a sequence contains any elements. + + The type of the elements of . + A sequence to check for being empty. + The cancellation token. + + true if the source sequence contains any elements; otherwise, false. + + + + + Determines whether any element of a sequence satisfies a condition. + + The type of the elements of . + A sequence whose elements to test for a condition. + A function to test each element for a condition. + The cancellation token. + + true if any elements in the source sequence pass the test in the specified predicate; otherwise, false. + + + + + Appends an arbitrary stage to the LINQ pipeline. + + The type of the elements of . + The type of the result values returned by the appended stage. + A sequence of values. + The stage to append. + The result serializer. + The queryable with a new stage appended. + + + + Allows the results to be interpreted as a different type. It is up to the caller + to determine that the new result type is compatible with the actual results. + + The type of the elements of . + The new result type for the results. + A sequence of values. + The new serializer (optional, will be looked up if null). + + A new IQueryable with a new result type. + + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Returns the number of elements in a sequence. + + The type of the elements of . + The that contains the elements to be counted. + The cancellation token. + + The number of elements in the input sequence. + + + + + Returns the number of elements in the specified sequence that satisfies a condition. + + The type of the elements of . + An that contains the elements to be counted. + A function to test each element for a condition. + The cancellation token. + + The number of elements in the sequence that satisfies the condition in the predicate function. + + + + + Adds a $densify stage to the LINQ pipeline. + + The type of the elements of . + A sequence of values. + The field. + The range. + The partition by fields. + The densified sequence of values. + + + + Adds a $densify stage to the LINQ pipeline. + + The type of the elements of . + A sequence of values. + The field. + The range. + The partition by fields. + The densified sequence of values. + + + + Injects a sequence of documents at the beginning of a pipeline. + + The type of the documents. + An IQueryable with no other input. + The documents. + + An whose elements are the documents. + + + + + Injects a sequence of documents at the beginning of a pipeline. + + The type of the documents. + An IQueryable with no other input. + The documents. + The document serializer. + + An whose elements are the documents. + + + + + Returns the first element of a sequence. + + The type of the elements of . + The to return the first element of. + The cancellation token. + + The first element in . + + + + + Returns the first element of a sequence that satisfies a specified condition. + + The type of the elements of . + An to return an element from. + A function to test each element for a condition. + The cancellation token. + + The first element in that passes the test in . + + + + + Returns the first element of a sequence, or a default value if the sequence contains no elements. + + The type of the elements of . + The to return the first element of. + The cancellation token. + + default() if is empty; otherwise, the first element in . + + + + + Returns the first element of a sequence that satisfies a specified condition or a default value if no such element is found. + + The type of the elements of . + An to return an element from. + A function to test each element for a condition. + The cancellation token. + + default() if is empty or if no element passes the test specified by ; otherwise, the first element in that passes the test specified by . + + + + + Correlates the elements of two sequences based on key equality and groups the results. + + The type of the elements of the first sequence. + The type of the elements of the second sequence. + The type of the keys returned by the key selector functions. + The type of the result elements. + The first sequence to join. + The collection to join to the first sequence. + A function to extract the join key from each element of the first sequence. + A function to extract the join key from each element of the second sequence. + A function to create a result element from an element from the first sequence and a collection of matching elements from the second sequence. + + An that contains elements of type obtained by performing a grouped join on two sequences. + + + + + Correlates the elements of two sequences based on matching keys. + + The type of the elements of the first sequence. + The type of the elements of the second sequence. + The type of the keys returned by the key selector functions. + The type of the result elements. + The first sequence to join. + The sequence to join to the first sequence. + A function to extract the join key from each element of the first sequence. + A function to extract the join key from each element of the second sequence. + A function to create a result element from two matching elements. + + An that has elements of type obtained by performing an inner join on two sequences. + + + + + Returns the number of elements in a sequence. + + The type of the elements of . + The that contains the elements to be counted. + The cancellation token. + + The number of elements in the input sequence. + + + + + Returns the number of elements in the specified sequence that satisfies a condition. + + The type of the elements of . + An that contains the elements to be counted. + A function to test each element for a condition. + The cancellation token. + + The number of elements in the sequence that satisfies the condition in the predicate function. + + + + + Looks up documents in a foreign collection. + + The source documents. + The foreign collection. + The local field to compare against the foreign field. + The foreign field to compare against the local field. + The type of the source documents. + The type of the foreign documents. + The type of the fields being compared. + An with the results of the Lookup. + The Results property of contains the matching foreign documents. + + + + Looks up documents in a foreign collection. + + The source documents. + The foreign collection. + The pipeline to run against the foreign documents. + The type of the source documents. + The type of the foreign documents. + The type of the pipeline output. + An with the results of the Lookup. + The Results property of contains the output of running the pipeline against the foreign documents. + + + + Looks up documents in a foreign collection. + + The source documents. + The foreign collection. + The local field to compare against the foreign field. + The foreign field to compare against the local field. + The pipeline to run against the matching foreign documents. + The type of the source documents. + The type of the foreign documents. + The type of the fields being compared. + The type of the pipeline output. + An with the results of the Lookup. + The Results property of contains the output of running the pipeline against the matching foreign documents. + + + + Looks up documents in a list of foreign documents. + + The source documents. + The foreign documents. + The local field to compare against the foreign field. + The foreign field to compare against the local field. + The type of the source documents. + The type of the foreign documents. + The type of the fields being compared. + An with the results of the Lookup. + The Results property of contains the matching foreign documents. + + + + Looks up documents in a list of foreign documents. + + The source documents. + The foreign documents. + The pipeline to run against the foreign documents. + The type of the source documents. + The type of the foreign documents. + The type of the pipeline output. + An with the results of the Lookup. + The Results property of contains the output of running the pipeline against the foreign documents. + + + + Looks up documents in a list of foreign documents. + + The source documents. + The foreign documents. + The local field to compare against the foreign field. + The foreign field to compare against the local field. + The pipeline to run against the matching foreign documents. + The type of the source documents. + The type of the foreign documents. + The type of the fields being matched. + The type of the pipeline output. + An with the results of the Lookup. + The Results property of contains the output of running the pipeline against the matching foreign documents. + + + + Returns the maximum value in a generic . + + The type of the elements of . + A sequence of values to determine the maximum of. + The cancellation token. + + The maximum value in the sequence. + + + + + Invokes a projection function on each element of a generic and returns the maximum resulting value. + + The type of the elements of . + The type of the value returned by the function represented by . + A sequence of values to determine the maximum of. + A projection function to apply to each element. + The cancellation token. + + The maximum value in the sequence. + + + + + Returns the minimum value in a generic . + + The type of the elements of . + A sequence of values to determine the minimum of. + The cancellation token. + + The minimum value in the sequence. + + + + + Invokes a projection function on each element of a generic and returns the minimum resulting value. + + The type of the elements of . + The type of the value returned by the function represented by . + A sequence of values to determine the minimum of. + A projection function to apply to each element. + The cancellation token. + + The minimum value in the sequence. + + + + + Returns a sample of the elements in the . + + The type of the elements of . + An to return a sample of. + The number of elements in the sample. + + A sample of the elements in the . + + + + + Appends a $search stage to the LINQ pipeline. + + The type of the elements of . + A sequence of values. + The search definition. + The highlight options. + The index name. + The count options. + + Flag that specifies whether to perform a full document lookup on the backend database + or return only stored source fields directly from Atlas Search. + + + Flag that specifies whether to return a detailed breakdown + of the score for each document in the result. + + The queryable with a new stage appended. + + + + Appends a $search stage to the LINQ pipeline. + + The type of the elements of . + A sequence of values. + The search definition. + The search options. + The queryable with a new stage appended. + + + + Appends a $searchMeta stage to the LINQ pipeline. + + The type of the elements of . + A sequence of values. + The search definition. + The index name. + The count options. + The queryable with a new stage appended. + + + + Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence. + + The type of the elements of . + An to return the single element of. + The cancellation token. + + The single element of the input sequence. + + + + + Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists. + + The type of the elements of . + An to return a single element from. + A function to test an element for a condition. + The cancellation token. + + The single element of the input sequence that satisfies the condition in . + + + + + Returns the only element of a sequence, or a default value if the sequence is empty; this method throws an exception if there is more than one element in the sequence. + + The type of the elements of . + An to return the single element of. + The cancellation token. + + The single element of the input sequence, or default() if the sequence contains no elements. + + + + + Returns the only element of a sequence that satisfies a specified condition or a default value if no such element exists; this method throws an exception if more than one element satisfies the condition. + + The type of the elements of . + An to return a single element from. + A function to test an element for a condition. + The cancellation token. + + The single element of the input sequence that satisfies the condition in , or default() if no such element is found. + + + + + Bypasses a specified number of elements in a sequence and then returns the + remaining elements. + + The type of the elements of source + An to return elements from. + The number of elements to skip before returning the remaining elements. + + An that contains elements that occur after the + specified index in the input sequence. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Returns a specified number of contiguous elements from the start of a sequence. + + The type of the elements of . + The sequence to return elements from. + The number of elements to return. + + An that contains the specified number of elements + from the start of source. + + + + + Returns an which can be enumerated asynchronously. + + The type of the elements of . + A sequence of values. + An IAsyncEnumerable for the query results. + + + + Executes the LINQ query and returns a cursor to the results. + + The type of the elements of . + The sequence to return elements from. + The cancellation token. + A cursor to the results of executing the LINQ query. + + + + Executes the LINQ query and returns a cursor to the results. + + The type of the elements of . + The sequence to return elements from. + The cancellation token. + A cursor to the results of executing the LINQ query. + + + + Executes the LINQ query and returns a list of the results. + + The type of the elements of . + The sequence to return elements from. + The cancellation token. + A list of the results of executing the LINQ query. + + + + Appends a $vectorSearch stage to the LINQ pipeline. + + The type of the elements of . + The type of the field. + A sequence of values. + The field. + The query vector. + The limit. + The options. + + The queryable with a new stage appended. + + + + + Appends a $vectorSearch stage to the LINQ pipeline. + + The type of the elements of . + The type of the field. + A sequence of values. + The field. + The query vector. + The limit. + The options. + + The queryable with a new stage appended. + + + + + This static class holds methods that can be used to express MongoDB specific operations in LINQ queries. + + + + + Converts a NullableDateTime value to a string. + + The NullableDateTime value. + The format string (optional, can be null). + The timezone to use in the returned string (optional, can be null). + The string to return if the NullableDateTime value is null. + The NullableDateTime value converted to a string. + + + + This static class holds methods that can be used to express MongoDB specific operations in LINQ queries. + + + + + Returns true if any value in s is present in values (corresponds to the $in filter operator). + + The values to test. + The values to test against. + True if any value in s is present in values. + + + + Returns true if any value in s is present in values (corresponds to the $in filter operator). + + The values to test. + The values to test against. + True if any value in s is present in values. + + + + Returns true if any value in s is not present in values (corresponds to the $nin filter operator). + + The values to test. + The values to test against. + True if any value in s is not present in values. + + + + Returns true if any value in s is not present in values (corresponds to the $nin filter operator). + + The values to test. + The values to test against. + True if any value in s is not present in values. + + + + Searches a string for an occurrence of a substring and returns the UTF-8 byte index (zero-based) of the first occurrence. + + The string. + The value. + The byte index of the first occurrence, or -1 if not found. + + + + Searches a string for an occurrence of a substring and returns the UTF-8 byte index (zero-based) of the first occurrence. + + The string. + The value. + The start index. + The byte index of the first occurrence, or -1 if not found. + + + + Searches a string for an occurrence of a substring and returns the UTF-8 byte index (zero-based) of the first occurrence. + + The string. + The value. + The start index. + The count. + The byte index of the first occurrence, or -1 if not found. + + + + Returns true if s is present in values (corresponds to the $in filter operator). + + The value to test. + The values to test against. + True if s is present in values. + + + + Returns true if s is present in values (corresponds to the $in filter operator). + + The value to test. + The values to test against. + True if s is present in values. + + + + Returns true if s is not present in values (corresponds to the $nin filter operator). + + The value to test. + The values to test against. + True if s is not present in values. + + + + Returns true if s is not present in values (corresponds to the $nin filter operator). + + The value to test. + The values to test against. + True if s is not present in values. + + + + Returns the number of UTF-8 encoded bytes in the specified string. + + The string. + The number of UTF-8 bytes. + + + + Returns the number of UTF-8 encoded bytes in the specified string. + + The string. + The start index. + The length. + The number of UTF-8 bytes. + + + + The time unit to use in DateTime SetWindowFields windows. + + + + + Weeks. + + + + + Days. + + + + + Hours. + + + + + Minutes. + + + + + Seconds. + + + + + Milliseconds. + + + + + Options for a list collection names operation. + + + + + Gets or sets the AuthorizedCollections flag. + + + + + Gets or sets the comment. + + + + + Gets or sets the filter. + + + + + Gets or sets the operation timeout. + + + + + Options for a list collections operation. + + + + + Gets or sets the batch size. + + + + + Gets or sets the comment. + + + + + Gets or sets the filter. + + + + + Gets or sets the operation timeout. + + + + + Options for a list database names operation. + + + + + Gets or sets the AuthorizedDatabases flag. + + + + + Gets or sets the comment. + + + + + Gets or sets the filter. + + + + + Gets or sets the operation timeout. + + + + + Options for a list databases operation. + + + + + Gets or sets the AuthorizedDatabases flag. + + + + + Gets or sets the comment. + + + + + Gets or sets the filter. + + + + + Gets or sets the NameOnly flag. + + + + + Gets or sets the operation timeout. + + + + + Options for a list indexes operation. + + + + + Gets or sets the batch size. + + + + + Gets or sets the comment. + + + + + Gets or sets the operation timeout. + + + + + Represents the options for a map-reduce operation. + + The type of the document. + The type of the result. + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the filter. + + + + + Gets or sets the finalize function. + + + + + Gets or sets the java script mode. + + + + + Gets or sets the limit. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the output options. + + + + + Gets or sets the result serializer. + + + + + Gets or sets the scope. + + + + + Gets or sets the sort. + + + + + Gets or sets the operation timeout. + + + + + Gets or sets whether to include timing information. + + + + + Represents the output options for a map-reduce operation. + + + + + An inline map-reduce output options. + + + + + A merge map-reduce output options. + + The name of the collection. + The name of the database. + Whether the output collection should be sharded. + Whether the server should not lock the database for the duration of the merge. + A merge map-reduce output options. + + + + A merge map-reduce output options. + + The name of the collection. + The name of the database. + A merge map-reduce output options. + + + + A reduce map-reduce output options. + + The name of the collection. + The name of the database. + Whether the output collection should be sharded. + Whether the server should not lock the database for the duration of the reduce. + A reduce map-reduce output options. + + + + A reduce map-reduce output options. + + The name of the collection. + The name of the database. + A reduce map-reduce output options. + + + + A replace map-reduce output options. + + The name of the collection. + Name of the database. + Whether the output collection should be sharded. + A replace map-reduce output options. + + + + A replace map-reduce output options. + + The name of the collection. + Name of the database. + A replace map-reduce output options. + + + + The behavior of $merge is a result document and an existing document in the collection + have the same value for the specified on field(s). + + + + + Replace the existing document in the output collection with the matching results document. + + + + + Keep the existing document in the output collection. + + + + + Merge the matching documents (similar to the $mergeObjects operator). + + + + + Stop and fail the aggregation. Any changes to the output collection from previous documents are not reverted. + + + + + Use an aggregation pipeline to update the document in the collection. + + + + + The behavior of $merge if a result document does not match an existing document in the output collection. + + + + + Insert the document into the output collection. + + + + + Discard the document; i.e. $merge does not insert the document into the output collection. + + + + + Stop and fail the aggregation operation. Any changes to the output collection from previous documents are not reverted. + + + + + Options for the $merge aggregation pipeline stage. + + The type of the output documents. + + + + Specifies variables accessible for use in the WhenMatchedPipeline. + + + + + Field or fields that act as a unique identifier for a document. The identifier determines if a results + document matches an already existing document in the output collection. + + + + + The output serializer. + + + + + The behavior of $merge if a result document and an existing document in the collectoin have the + same value for the specified on field(s). + + + + + An aggregation pipeline to update the document in the collection. + Used when WhenMatched is Pipeline. + + + + + The behavior of $merge if a result document does not match an existing document in the output collection. + + + + + Represents a bulk write exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The write errors. + The write concern error. + + + + Initializes a new instance of the MongoQueryException class (this overload supports deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Gets the write concern error. + + + + + Gets the write errors. + + + + + Gets the object data. + + The information. + The context. + + + + Represents a bulk write exception. + + The type of the document. + + + + Initializes a new instance of the class. + + The connection identifier. + The result. + The write errors. + The write concern error. + The unprocessed requests. + + + + Initializes a new instance of the MongoQueryException class (this overload supports deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Gets the result of the bulk write operation. + + + + + Gets the unprocessed requests. + + + + + Gets the object data. + + The information. + The context. + + + + + + + Initializes a new instance of the MongoClient class. + + + + + Initializes a new instance of the MongoClient class. + + The settings. + + + + Initializes a new instance of the MongoClient class. + + The URL. + + + + Initializes a new instance of the MongoClient class. + + The connection string. + + + + + + + + + + + + + + + + + + + + + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The settings for a MongoDB client. + + + + + Extension Manager provides a way to configure extensions for the driver. + + + + + Creates a new instance of MongoClientSettings. Usually you would use a connection string instead. + + + + + Gets or sets whether to relax TLS constraints as much as possible. + Setting this variable to true will also set SslSettings.CheckCertificateRevocation to false. + + + + + Gets or sets the application name. + + + + + Gets or sets the auto encryption options. + + + + + Gets or sets the compressors. + + + + + Gets or sets the cluster configurator. + + + + + Gets or sets the connect timeout. + + + + + Gets or sets the credential. + + + + + Gets or sets the direct connection. + + + + + Gets a value indicating whether the settings have been frozen to prevent further changes. + + + + + Gets or sets the heartbeat interval. + + + + + Gets or sets the heartbeat timeout. + + + + + Gets or sets a value indicating whether to use IPv6. + + + + + Gets or sets information about a library using the .NET Driver. + + + + + Gets or sets whether load balanced mode is used. + + + + + Gets or sets the local threshold. + + + + + Gets or sets the logging settings + + + + + Gets or sets the maximum concurrently connecting connections. + + + + + Gets or sets the max connection idle time. + + + + + Gets or sets the max connection life time. + + + + + Gets or sets the max connection pool size. + + + + + Gets or sets the min connection pool size. + + + + + Gets or sets the SOCKS5 proxy settings. + + + + + Gets or sets the read concern. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the read preferences. + + + + + Gets or sets the name of the replica set. + + + + + Gets or sets whether to retry reads. + + + + + Gets or sets whether to retry writes. + + + The default value is true. + + + + + Gets or sets the connection string scheme. + + + + + Gets or sets the server API. + + + + + Gets or sets the address of the server (see also Servers if using more than one address). + + + + + Gets or sets the list of server addresses (see also Server if using only one address). + + + + + Gets or sets the server monitoring mode to use. + + + + + Gets or sets the server selection timeout. + + + + + Gets or sets the socket timeout. + + + + + Limits the number of SRV records used to populate the seedlist + during initial discovery, as well as the number of additional hosts + that may be added during SRV polling. + + + + + Gets or sets the SRV service name which modifies the srv URI to look like: + _{srvServiceName}._tcp.{hostname}.{domainname} + The default value is "mongodb". + + + + + Gets or sets the SSL settings. + + + + + Gets or sets the per-operation timeout + + + + + Gets or sets the translation options. + + + + + Gets or sets a value indicating whether to use SSL. + + + + + Gets or sets a value indicating whether to use TLS. + + + + + Gets or sets a value indicating whether to verify an SSL certificate. + + + + + Gets or sets the wait queue size. + + + + + Gets or sets the wait queue timeout. + + + + + Gets or sets the WriteConcern to use. + + + + + Gets or sets the Write Encoding. + + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Gets a MongoClientSettings object intialized with values from a connection string. + + The connection string. + A MongoClientSettings. + + + + Gets a MongoClientSettings object initialized with values from a MongoURL. + + The MongoURL. + A MongoClientSettings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + The settings used to access a collection. + + + + + Initializes a new instance of the MongoCollectionSettings class. + + + + + Gets or sets a value indicating whether the driver should assign Id values when missing. + + + + + Gets a value indicating whether the settings have been frozen to prevent further changes. + + + + + Gets or sets the read concern. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the read preference to use. + + + + + Gets the serializer registry. + + + + + Gets or sets the per-operation timeout + + + + + Gets or sets the WriteConcern to use. + + + + + Gets or sets the Write Encoding. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Compares two MongoCollectionSettings instances. + + The other instance. + True if the two instances are equal. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + Credential to access a MongoDB database. + + + + + Initializes a new instance of the class. + + Mechanism to authenticate with. + The identity. + The evidence. + + + + Gets the evidence. + + + + + Gets the identity. + + + + + Gets the mechanism to authenticate with. + + + + + Gets the password. + + + + + Gets the source. + + + + + Gets the username. + + + + + Compares two MongoCredentials. + + The first MongoCredential. + The other MongoCredential. + True if the two MongoCredentials are equal (or both null). + + + + Compares two MongoCredentials. + + The first MongoCredential. + The other MongoCredential. + True if the two MongoCredentials are not equal (or one is null and the other is not). + + + + Creates a default credential. + + Name of the database. + The username. + The password. + A default credential. + + + + Creates a default credential. + Less secure when used in conjunction with SCRAM-SHA-256, due to the need to store the password in a managed + string in order to SaslPrep it. + + Name of the database. + The username. + The password. + A default credential. + + + + Creates a GSSAPI credential. + + The username. + A credential for GSSAPI. + This overload is used primarily on linux. + + + + Creates a GSSAPI credential. + + The username. + The password. + A credential for GSSAPI. + + + + Creates a GSSAPI credential. + + The username. + The password. + A credential for GSSAPI. + + + + Creates a credential used with MONGODB-OIDC. + + The OIDC callback. + The principal name. + The OIDC credential. + + + + Creates a credential used with MONGODB-OIDC. + + The built in environemnt. + User name. + The OIDC credential. + + + + Creates a credential used with MONGODB-X509. + + The username. + A credential for MONGODB-X509. + + + + Creates a PLAIN credential. + + Name of the database. + The username. + The password. + A credential for PLAIN. + + + + Creates a PLAIN credential. + + Name of the database. + The username. + The password. + A credential for PLAIN. + + + + Gets the mechanism property. + + The type of the mechanism property. + The key. + The default value. + The mechanism property if one was set; otherwise the default value. + + + + Compares this MongoCredential to another MongoCredential. + + The other credential. + True if the two credentials are equal. + + + + Compares this MongoCredential to another MongoCredential. + + The other credential. + True if the two credentials are equal. + + + + Gets the hashcode for the credential. + + The hashcode. + + + + Returns a string representation of the credential. + + A string representation of the credential. + + + + Creates a new MongoCredential with the specified mechanism property. + + The key. + The value. + A new MongoCredential with the specified mechanism property. + + + + The settings used to access a database. + + + + + Creates a new instance of MongoDatabaseSettings. + + + + + Gets a value indicating whether the settings have been frozen to prevent further changes. + + + + + Gets or sets the read concern. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the read preference. + + + + + Gets the serializer registry. + + + + + Gets or sets the per-operation timeout + + + + + Gets or sets the WriteConcern to use. + + + + + Gets or sets the Write Encoding. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Compares two MongoDatabaseSettings instances. + + The other instance. + True if the two instances are equal. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + Represents a DBRef (a convenient way to refer to a document). + + + + + Creates a MongoDBRef. + + The name of the collection that contains the document. + The Id of the document. + + + + Creates a MongoDBRef. + + The name of the database that contains the document. + The name of the collection that contains the document. + The Id of the document. + + + + Gets the name of the database that contains the document. + + + + + Gets the name of the collection that contains the document. + + + + + Gets the Id of the document. + + + + + Determines whether two specified MongoDBRef objects have different values. + + The first value to compare, or null. + The second value to compare, or null. + True if the value of lhs is different from the value of rhs; otherwise, false. + + + + Determines whether two specified MongoDBRef objects have the same value. + + The first value to compare, or null. + The second value to compare, or null. + True if the value of lhs is the same as the value of rhs; otherwise, false. + + + + Determines whether two specified MongoDBRef objects have the same value. + + The first value to compare, or null. + The second value to compare, or null. + True if the value of lhs is the same as the value of rhs; otherwise, false. + + + + Determines whether this instance and another specified MongoDBRef object have the same value. + + The MongoDBRef object to compare to this instance. + True if the value of the rhs parameter is the same as this instance; otherwise, false. + + + + Determines whether this instance and a specified object, which must also be a MongoDBRef object, have the same value. + + The MongoDBRef object to compare to this instance. + True if obj is a MongoDBRef object and its value is the same as this instance; otherwise, false. + + + + Returns the hash code for this MongoDBRef object. + + A 32-bit signed integer hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a serializer for MongoDBRefs. + + + + + Initializes a new instance of the class. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Default values for various Mongo settings. + + + + + Gets or sets whether the driver should assign a value to empty Ids on Insert. + + + + + Gets or sets the default authentication mechanism. + + + + + Gets the actual wait queue size (either WaitQueueSize or WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets or sets the connect timeout. + + + + + Gets or sets the default local threshold. + + + + + Gets or sets the maximum batch count. + + + + + Gets or sets the max connection idle time. + + + + + Gets or sets the max connection life time. + + + + + Gets or sets the max connection pool size. + + + + + Gets or sets the max document size + + + + + Gets or sets the max message length. + + + + + Gets or sets the min connection pool size. + + + + + Gets or sets the operation timeout. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the server selection timeout. + + + + + Gets or sets the socket timeout. + + + + + Gets or sets the TCP receive buffer size. + + + + + Gets or sets the TCP send buffer size. + + + + + Gets or sets the wait queue multiple (the actual wait queue size will be WaitQueueMultiple x MaxConnectionPoolSize, see also WaitQueueSize). + + + + + Gets or sets the wait queue size (see also WaitQueueMultiple). + + + + + Gets or sets the wait queue timeout. + + + + + Gets or sets the Write Encoding. + + + + + Represents an identity defined by AWS external credentials. + + + + + Initializes a new instance of the class. + + + + + Represents an identity defined outside of mongodb. + + + + + Initializes a new instance of the class. + + The username. + + + + Initializes a new instance of the class. + + The source. + The username. + + + + Represents an identity in MongoDB. + + + + + Initializes a new instance of the class. + + The source. + The username. + Whether to allow null usernames. + + + + Gets the source. + + + + + Gets the username. + + + + + Compares two MongoIdentity values. + + The first MongoIdentity. + The other MongoIdentity. + True if the two MongoIdentity values are equal (or both null). + + + + Compares two MongoIdentity values. + + The first MongoIdentity. + The other MongoIdentity. + True if the two MongoIdentity values are not equal (or one is null and the other is not). + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified instance is equal to this instance. + + The right-hand side. + + true if the specified instance is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Evidence used as proof of a MongoIdentity. + + + + + Initializes a new instance of the class. + + + + + Compares two MongoIdentityEvidences. + + The first MongoIdentityEvidence. + The other MongoIdentityEvidence. + True if the two MongoIdentityEvidences are equal (or both null). + + + + Compares two MongoIdentityEvidences. + + The first MongoIdentityEvidence. + The other MongoIdentityEvidence. + True if the two MongoIdentityEvidences are not equal (or one is null and the other is not). + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Base class for implementors of . + + The type of the document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents an identity defined inside mongodb. + + + + + Initializes a new instance of the class. + + Name of the database. + The username. + + + + Represents an OIDC identity. + + + + + Initializes a new instance of the class. + + The username. + + + + The address of a MongoDB server. + + + + + Initializes a new instance of MongoServerAddress. + + The server's host name. + + + + Initializes a new instance of MongoServerAddress. + + The server's host name. + The server's port number. + + + + Parses a string representation of a server address. + + The string representation of a server address. + A new instance of MongoServerAddress initialized with values parsed from the string. + + + + Tries to parse a string representation of a server address. + + The string representation of a server address. + The server address (set to null if TryParse fails). + True if the string is parsed succesfully. + + + + Gets the server's host name. + + + + + Gets the server's port number. + + + + + Compares two server addresses. + + The first address. + The other address. + True if the two addresses are equal (or both are null). + + + + Compares two server addresses. + + The first address. + The other address. + True if the two addresses are not equal (or one is null and the other is not). + + + + Compares two server addresses. + + The other server address. + True if the two server addresses are equal. + + + + Compares two server addresses. + + The other server address. + True if the two server addresses are equal. + + + + Gets the hash code for this object. + + The hash code. + + + + Returns a string representation of the server address. + + A string representation of the server address. + + + + Represents an immutable URL style connection string. See also MongoUrlBuilder. + + + + + Creates a new instance of MongoUrl. + + The URL containing the settings. + + + + Gets whether to relax TLS constraints as much as possible. + + + + + Gets the application name. + + + + + Gets the authentication mechanism. + + + + + Gets the authentication mechanism properties. + + + + + Gets the authentication source. + + + + + Gets the compressors. + + + + + Gets the actual wait queue size (either WaitQueueSize or WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets the connect timeout. + + + + + Gets the optional database name. + + + + + Gets the direct connection. + + + + + Gets the FSync component of the write concern. + + + + + Gets a value indicating whether this instance has authentication settings. + + + + + Gets the heartbeat interval. + + + + + Gets the heartbeat timeout. + + + + + Gets a value indicating whether to use IPv6. + + + + + Gets a value indicating whether a connection string with scheme MongoDBPlusSrv has been resolved. + + + + + Gets the Journal component of the write concern. + + + + + Gets or sets whether load balanced mode is used. + + + + + Gets the local threshold. + + + + + Gets the maximum concurrently connecting connections. + + + + + Gets the max connection idle time. + + + + + Gets the max connection life time. + + + + + Gets the max connection pool size. + + + + + Gets the min connection pool size. + + + + + Gets the password. + + + + + Gets the proxy host. + + + + + Gets the proxy port. + + + + + Gets the proxy username. + + + + + Gets the proxy password. + + + + + Gets the read concern level. + + + + + Gets the read preference. + + + + + Gets the name of the replica set. + + + + + Gets whether reads will be retried. + + + + + Gets whether writes will be retried. + + + + + Gets the connection string scheme. + + + + + Gets the address of the server (see also Servers if using more than one address). + + + + + Gets the list of server addresses (see also Server if using only one address). + + + + + Gets the server monitoring mode to use. + + + + + Gets the server selection timeout. + + + + + Gets the socket timeout. + + + + + Limits the number of SRV records used to populate the seedlist + during initial discovery, as well as the number of additional hosts + that may be added during SRV polling. + + + + + Gets the SRV service name which modifies the srv URI to look like: + _{srvServiceName}._tcp.{hostname}.{domainname} + + + + + Gets the per-operation timeout + + + + + Gets whether or not to disable checking certificate revocation status during the TLS handshake. + + + + + Gets the URL (in canonical form). + + + + + Gets the username. + + + + + Gets a value indicating whether to use SSL. + + + + + Gets a value indicating whether to use TLS. + + + + + Gets a value indicating whether to verify an SSL certificate. + + + + + Gets the W component of the write concern. + + + + + Gets the wait queue multiple (the actual wait queue size will be WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets the wait queue size. + + + + + Gets the wait queue timeout. + + + + + Gets the WTimeout component of the write concern. + + + + + Compares two MongoUrls. + + The first URL. + The other URL. + True if the two URLs are equal (or both null). + + + + Compares two MongoUrls. + + The first URL. + The other URL. + True if the two URLs are not equal (or one is null and the other is not). + + + + Clears the URL cache. When a URL is parsed it is stored in the cache so that it doesn't have to be + parsed again. There is rarely a need to call this method. + + + + + Creates an instance of MongoUrl (might be an existing existence if the same URL has been used before). + + The URL containing the settings. + An instance of MongoUrl. + + + + Compares two MongoUrls. + + The other URL. + True if the two URLs are equal. + + + + Compares two MongoUrls. + + The other URL. + True if the two URLs are equal. + + + + Gets the credential. + + The credential (or null if the URL has not authentication settings). + + + + Gets the hash code. + + The hash code. + + + + Returns a WriteConcern value based on this instance's settings and a default enabled value. + + The default enabled value. + A WriteConcern. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + The cancellation token. + A resolved MongoURL. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + Whether to resolve hosts. + The cancellation token. + A resolved MongoURL. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + The cancellation token. + A resolved MongoURL. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + Whether to resolve hosts. + The cancellation token. + A resolved MongoURL. + + + + Returns the canonical URL based on the settings in this MongoUrlBuilder. + + The canonical URL. + + + + Represents URL-style connection strings. + + + + + Creates a new instance of MongoUrlBuilder. + + + + + Creates a new instance of MongoUrlBuilder. + + The initial settings. + + + + Gets or sets whether to relax TLS constraints as much as possible. + + + + + Gets or sets the application name. + + + + + Gets or sets the authentication mechanism. + + + + + Gets or sets the authentication mechanism properties. + + + + + Gets or sets the authentication source. + + + + + Gets or sets the compressors. + + + + + Gets the actual wait queue size (either WaitQueueSize or WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets or sets the connect timeout. + + + + + Gets or sets the optional database name. + + + + + Gets or sets the direct connection. + + + + + Gets or sets the FSync component of the write concern. + + + + + Gets or sets the heartbeat interval. + + + + + Gets or sets the heartbeat timeout. + + + + + Gets or sets a value indicating whether to use IPv6. + + + + + Gets or sets the Journal component of the write concern. + + + + + Gets or sets whether load balanced mode is used. + + + + + Gets or sets the local threshold. + + + + + Gets or sets the maximum concurrently connecting connections. + + + + + Gets or sets the max connection idle time. + + + + + Gets or sets the max connection life time. + + + + + Gets or sets the max connection pool size. + + + + + Gets or sets the min connection pool size. + + + + + Gets or sets the password. + + + + + Gets or sets the proxy host. + + + + + Gets or sets the proxy port. + + + + + + Gets or sets the proxy username. + + + + + Gets or sets the proxy password. + + + + + Gets or sets the read concern level. + + + + + Gets or sets the read preference. + + + + + Gets or sets the name of the replica set. + + + + + Gets or sets whether to retry reads. + + + + + Gets or sets whether to retry writes. + + + + + The connection string scheme. + + + + + Gets or sets the address of the server (see also Servers if using more than one address). + + + + + Gets or sets the list of server addresses (see also Server if using only one address). + + + + + Gets or sets the server monitoring mode to use. + + + + + Gets or sets the server selection timeout. + + + + + Gets or sets the socket timeout. + + + + + Limits the number of SRV records used to populate the seedlist + during initial discovery, as well as the number of additional hosts + that may be added during SRV polling. + + + + + Gets or sets the SRV service name which modifies the srv URI to look like: + _{srvServiceName}._tcp.{hostname}.{domainname} + + + + + Gets or sets the per-operation timeout + + + + + Gets or sets whether to disable certificate revocation checking during the TLS handshake. + + + + + Gets or sets the username. + + + + + Gets or sets a value indicating whether to use SSL. + + + + + Gets or sets a value indicating whether to use TLS. + + + + + Gets or sets a value indicating whether to verify an SSL certificate. + + + + + Gets or sets the W component of the write concern. + + + + + Gets or sets the wait queue multiple (the actual wait queue size will be WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets or sets the wait queue size. + + + + + Gets or sets the wait queue timeout. + + + + + Gets or sets the WTimeout component of the write concern. + + + + + Returns a WriteConcern value based on this instance's settings and a default enabled value. + + The default enabled value. + A WriteConcern. + + + + Parses a URL and sets all settings to match the URL. + + The URL. + + + + Creates a new instance of MongoUrl based on the settings in this MongoUrlBuilder. + + A new instance of MongoUrl. + + + + Returns the canonical URL based on the settings in this MongoUrlBuilder. + + The canonical URL. + + + Implements a for converting . + + + + + + + + + + Various static utility methods. + + + + + Gets the MD5 hash of a string. + + The string to get the MD5 hash of. + The MD5 hash. + + + + Creates a TimeSpan from microseconds. + + The microseconds. + The TimeSpan. + + + + Converts a string to camel case by lower casing the first letter (only the first letter is modified). + + The string to camel case. + The camel cased string. + + + + Represents a write exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The write error. + The write concern error. + The inner exception. + + + + Initializes a new instance of the MongoQueryException class (this overload supports deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Gets the write concern error. + + + + + Gets the write error. + + + + + Gets the object data. + + The information. + The context. + + + + Represents an identity defined by an X509 certificate. + + + + + Initializes a new instance of the class. + + The username. + + + + Contains methods that can be used to access MongoDB specific functionality in LINQ queries. + + + + + Use this method in a MongoDB LINQ query when you need to specify how a constant should be serialized. + + The value. + The serializer. + The type of the value. + The value. + + + + Use this method in a MongoDB LINQ query when you need to specify how a constant should be serialized. + + The value. + The representation. + The type of the value. + The value + + + + Converts a value from one type to another using the $convert aggregation operator. + + The type of the input value. + The type of the output value. + The value to convert. + The conversion options. + The converted value. + Not all conversions are supported by the $convert operator. + + + + Converts a string to a DateTime using the $dateFromString aggregation operator. + + The string. + A DateTime. + + + + Converts a string to a DateTime using the $dateFromString aggregation operator. + + The string. + The format string. + A DateTime. + + + + Converts a string to a DateTime using the $dateFromString aggregation operator. + + The string. + The format string. + The time zone. + A DateTime. + + + + Converts a string to a DateTime using the $dateFromString aggregation operator. + + The string. + The format string. + The time zone. + The onError value. + The onNull value. + A DateTime. + + + + Tests whether a field exists. + + The type of the field. + The field. + true if the field exists. + + + + Gets the value of a field in a document. + + The type of the document. + The type of the field. + The document. + The field name. + The field serializer. + The value of the field. + + + + Tests whether a field is missing. + + The type of the field. + The field. + true if the field is missing. + + + + Tests whether a field is null or missing. + + The type of the field. + The field. + true if the field is null or missing. + + + + Transforms a real-valued input into a value between 0 and 1 using the $sigmoid operator. + + The input value. + The transformed value. + + + + Represents the void input data type to a pipeline with no input, such as a database aggregation. No actual instances of this type can be created. + + + + + The serializer for NoPipelineInput. + + + + + Gets the instance. + + The instance. + + + + + + + + + + + + + + + + + + + + + + Evidence of a MongoIdentity via a shared secret. + + + + + Initializes a new instance of the class. + Less secure when used in conjunction with SCRAM-SHA-256, due to the need to store the password in a managed + string in order to SaslPrep it. + See Driver Authentication: SCRAM-SHA-256 + for additional details. + + The password. + + + + Initializes a new instance of the class. + + The password. + + + + Gets the password. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns password as decoded string + + + + + A rendered pipeline. + + The type of the output. + + + + Initializes a new instance of the class. + + The pipeline. + The output serializer. + + + + Gets the documents. + + + + + Gets the serializer. + + + + + Base class for a pipeline. + + The type of the input. + The type of the output. + + + + Gets the output serializer. + + + + + Gets the stages. + + + + + Renders the pipeline. + + The render arguments. + A + + + + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + The translation options. + + A that represents this instance. + + + + + Creates a pipeline. + + The stages. + The output serializer. + A . + + + + Creates a pipeline. + + The stages. + The output serializer. + A . + + + + Creates a pipeline. + + The stages. + The output serializer. + A . + + + + Creates a pipeline. + + The stages. + A . + + + + Creates a pipeline. + + The stages. + A . + + + + Performs an implicit conversion from [] to . + + The stages. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The stages. + + The result of the conversion. + + + + + Performs an implicit conversion from [] to . + + The stages. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The stages. + + The result of the conversion. + + + + + A pipeline composed of instances of . + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The stages. + The output serializer. + + + + + + + Gets the stages. + + + + + + + + + + + A pipeline composed of instances of . + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The stages. + The output serializer. + + + + + + + Gets the serializer. + + + + + Gets the stages. + + + + + + + + + + + + + + Extension methods for adding stages to a pipeline. + + + + + Appends a stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The stage. + The output serializer. + A new pipeline with an additional stage. + + + + Changes the output type of the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The output serializer. + A new pipeline with an additional stage. + + + + Appends a $bucket stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The pipeline. + The group by expression. + The boundaries. + The options. + A new pipeline with an additional stage. + + + + Appends a $bucket stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The type of the output documents. + The pipeline. + The group by expression. + The boundaries. + The output projection. + The options. + A new pipeline with an additional stage. + + + + Appends a $bucket stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The pipeline. + The group by expression. + The boundaries. + The options. + A new pipeline with an additional stage. + + + + Appends a $bucket stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The type of the output documents. + The pipeline. + The group by expression. + The boundaries. + The output projection. + The options. + A new pipeline with an additional stage. + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The pipeline. + The group by expression. + The number of buckets. + The options. + A new pipeline with an additional stage. + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The type of the output documents. + The pipeline. + The group by expression. + The number of buckets. + The output projection. + The options. + A new pipeline with an additional stage. + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the value. + The pipeline. + The group by expression. + The number of buckets. + The options (optional). + A new pipeline with an additional stage. + + + + Appends a $bucketAuto stage to the pipeline (this overload can only be used with LINQ3). + + The type of the input documents. + The type of the intermediate documents. + The type of the value. + The type of the output documents. + The pipeline. + The group by expression. + The number of buckets. + The output projection. + The options (optional). + A new pipeline with an additional stage. + + + + Appends a $changeStream stage to the pipeline. + Normally you would prefer to use the Watch method of . + Only use this method if subsequent stages project away the resume token (the _id) + or you don't want the resulting cursor to automatically resume. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The options. + A new pipeline with an additional stage. + + + + Appends a $changeStreamSplitLargeEvent stage. + + The type of the input documents. + The pipeline. + A new pipeline with an additional stage. + + + + Appends a $count stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + A new pipeline with an additional stage. + + + + Appends a $densify stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The field. + The range. + The partition by fields. + A new pipeline with an additional stage. + + + + Appends a $densify stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The field. + The range. + The partition by fields. + A new pipeline with an additional stage. + + + + Appends a $densify stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The field. + The range. + The partition by fields. + A new pipeline with an additional stage. + + + + Appends a $densify stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The field. + The range. + The partition by fields. + A new pipeline with an additional stage. + + + + Appends a $documents stage to the pipeline. + + The type of the documents. + The pipeline. + The documents. + The document serializer. + A new pipeline with an additional stage. + + + + Appends a $documents stage to the pipeline. + + The type of the documents. + The pipeline. + The documents. + The document serializer. + A new pipeline with an additional stage. + + + + Appends a $facet stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The facets. + The options. + A new pipeline with an additional stage. + + + + Appends a $facet stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The facets. + A new pipeline with an additional stage. + + + + Appends a $facet stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The facets. + A new pipeline with an additional stage. + + + + Appends a $facet stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The facets. + A new pipeline with an additional stage. + + + + Used to start creating a pipeline for {TInput} documents. + + The type of the output. + The inputSerializer serializer. + An empty pipeline. + + + + Appends a $geoNear stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The type of the coordinates for the point. + The pipeline. + The point for which to find the closest documents. + The options. + A new pipeline with an additional stage. + + + + Appends a $geoNear stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The point for which to find the closest documents. + The options. + A new pipeline with an additional stage. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + A new pipeline with an additional stage. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + A new pipeline with an additional stage. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + A new pipeline with an additional stage. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + A new pipeline with an additional stage. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + A new pipeline with an additional stage. + + + + Appends a $group stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The group projection. + A new pipeline with an additional stage.s + + + + Appends a group stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The group projection. + A new pipeline with an additional stage. + + + + Appends a group stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the key. + The type of the output documents. + The pipeline. + The id. + The group projection. + A new pipeline with an additional stage. + + + + Appends a $limit stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The limit. + A new pipeline with an additional stage. + + + + Appends a $lookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the foreign collection documents. + The type of the output documents. + The pipeline. + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + A new pipeline with an additional stage. + + + + Appends a lookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the foreign collection documents. + The type of the output documents. + The pipeline. + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + A new pipeline with an additional stage. + + + + Appends a $lookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the foreign collection documents. + The type of the as field elements. + The type of the as field. + The type of the output documents. + The pipeline. + The foreign collection. + The "let" definition. + The lookup pipeline. + The as field in in which to place the results of the lookup pipeline. + The options. + A new pipeline with an additional stage. + + + + Appends a $lookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the foreign collection documents. + The type of the as field elements. + The type of the as field. + The type of the output documents. + The pipeline. + The foreign collection. + The "let" definition. + The lookup pipeline. + The as field in in which to place the results of the lookup pipeline. + The options. + A new pipeline with an additional stage. + + + + Appends a $match stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The filter. + A new pipeline with an additional stage. + + + + Appends a match stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The filter. + A new pipeline with an additional stage. + + + + Appends a $match stage to the pipeline to select documents of a certain type. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The output serializer. + A new pipeline with an additional stage.> + + + + + Appends a $merge stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The output collection. + The merge options. + A new pipeline with an additional stage. + + + + + Appends a $out stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The output collection. + The time series options. + A new pipeline with an additional stage. + + + + + Appends a $project stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The projection. + A new pipeline with an additional stage. + + + + + Appends a project stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The projection. + A new pipeline with an additional stage. + + + + Appends a project stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The projection. + A new pipeline with an additional stage. + + + + Appends a $rankFusion stage to the pipeline. + + The type of the documents. + The type of the output documents. + The type of the intermediate documents. + The pipeline. + The map of named pipelines whose results will be combined. The pipelines must operate on the same collection. + The map of pipeline names to non-negative numerical weights determining result importance during combination. Default weight is 1 when unspecified. + The rankFusion options. + A new pipeline with an additional stage. + + + + Appends a $rankFusion stage to the pipeline. Pipelines will be automatically named as "pipeline1", "pipeline2", etc. + + The type of the documents. + The type of the output documents. + The type of the intermediate documents. + The pipeline. + The collection of pipelines whose results will be combined. The pipelines must operate on the same collection. + The rankFusion options. + A new pipeline with an additional stage. + + + + Appends a $rankFusion stage to the pipeline. Pipelines will be automatically named as "pipeline1", "pipeline2", etc. + + The type of the documents. + The type of the output documents. + The type of the intermediate documents. + The pipeline. + The collection of tuples containing (pipeline, weight) pairs. The pipelines must operate on the same collection. + The rankFusion options. + A new pipeline with an additional stage. + + + + Appends a $replaceRoot stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The new root. + A new pipeline with an additional stage. + + + + Appends a $replaceRoot stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The new root. + A new pipeline with an additional stage. + + + + Appends a $replaceWith stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The new root. + A new pipeline with an additional stage. + + + + Appends a $replaceWith stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The new root. + A new pipeline with an additional stage. + + + + Appends a $sample stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The sample size. + + A new pipeline with an additional stage. + + + + + Appends a $search stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The search definition. + The highlight options. + The index name. + The count options. + + Flag that specifies whether to perform a full document lookup on the backend database + or return only stored source fields directly from Atlas Search. + + + Flag that specifies whether to return a detailed breakdown + of the score for each document in the result. + + A new pipeline with an additional stage. + + + + Appends a $search stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The search definition. + The search options. + A new pipeline with an additional stage. + + + + Appends a $searchMeta stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The search definition. + The index name. + The count options. + A new pipeline with an additional stage. + + + + Appends a $set stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The fields to set. + A new pipeline with an additional stage. + + + + Appends a $set stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The type of object specifying the fields to set. + The pipeline. + The fields to set. + A new pipeline with an additional stage. + + + + Create a $setWindowFields stage. + + The type of the input documents. + The type of the intermediate documents. + The type of the added window fields. + The pipeline. + The window fields expression. + A new pipeline with an additional stage. + + + + Appends a $setWindowFields stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the value to partition by. + The type of the added window fields. + The pipeline. + The partitionBy expression. + The window fields expression. + A new pipeline with an additional stage. + + + + Appends a $setWindowFields stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the value to partition by. + The type of the added window fields. + The pipeline. + The partitionBy expression. + The sortBy expression. + The window fields expression. + A new pipeline with an additional stage. + + + + Appends a $setWindowFields stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the value to partition by. + The type of the added window fields. + The pipeline. + The window fields expression. + A new pipeline with an additional stage. + + + + Appends a $setWindowFields stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the value to partition by. + The type of the added window fields. + The pipeline. + The partitionBy expression. + The window fields expression. + A new pipeline with an additional stage. + + + + Appends a $setWindowFields stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the value to partition by. + The type of the added window fields. + The pipeline. + The partitionBy expression. + The sortBy expression. + The window fields expression. + A new pipeline with an additional stage. + + + + Appends a $skip stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The number of documents to skip. + A new pipeline with an additional stage. + + + + Appends a $sort stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The sort definition. + A new pipeline with an additional stage. + + + + Appends a $sortByCount stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The pipeline. + The value expression. + A new pipeline with an additional stage. + + + + Appends a sortByCount stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The pipeline. + The value expression. + A new pipeline with an additional stage. + + + + Appends a $unionWith stage to the pipeline. + + The type of the input documents. + The type of the with collection documents. + The type of the output documents. + The pipeline. + The with collection. + The with pipeline. + A new pipeline with an additional stage. + + + + Appends an $unwind stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The field. + The options. + A new pipeline with an additional stage. + + + + Appends an unwind stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The field to unwind. + The options. + A new pipeline with an additional stage. + + + + Appends an unwind stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The field to unwind. + The options. + A new pipeline with an additional stage. + + + + Appends an unwind stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The field to unwind. + The options. + A new pipeline with an additional stage. + + + + Appends a $vectorSearch stage to the pipeline. + + The type of the input. + The type of the field. + The type of the output. + The pipeline. + The field. + The query vector. + The limit. + The vector search options. + A new pipeline with an additional stage. + + + + Appends a $vectorSearch stage to the pipeline. + + The type of the input. + The type of the output. + The pipeline. + The field. + The query vector. + The limit. + The vector search options. + A new pipeline with an additional stage. + + + + Represents a pipeline consisting of an existing pipeline with one additional stage appended. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + + + Initializes a new instance of the class. + + The pipeline. + The stage. + The output serializer. + + + + + + + + + + + + + Represents an empty pipeline. + + The type of the input documents. + + + + Initializes a new instance of the class. + + The output serializer. + + + + + + + + + + + + + Represents a pipeline consisting of an existing pipeline with one additional stage prepended. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + + + Initializes a new instance of the class. + + The stage. + The pipeline. + The output serializer. + + + + + + + + + + + + + Represents a pipeline with the output serializer replaced. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + + + + Initializes a new instance of the class. + + The pipeline. + The output serializer. + + + + + + + + + + + + + A rendered pipeline stage. + + + + + Gets the name of the pipeline operator. + + + The name of the pipeline operator. + + + + + Gets the document. + + + + + Gets the documents (usually one but could be more). + + + + + Gets the output serializer. + + + + + A rendered pipeline stage. + + The type of the output. + + + + Initializes a new instance of the class. + + Name of the pipeline operator. + The document. + The output serializer. + + + + Initializes a new instance of the class. + + Name of the pipeline operator. + The documents. + The output serializer. + + + + + + + + + + Gets the output serializer. + + + + + + + + + + + A pipeline stage. + + + + + Gets the type of the input. + + + + + Gets the name of the pipeline operator. + + + + + Gets the type of the output. + + + + + Renders the specified document serializer. + + The input serializer. + The serializer registry. + An + + + + Renders the specified document serializer. + + The input serializer. + The serializer registry. + The translation options. + An + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + + A that represents this instance. + + + + + Base class for pipeline stages. + + The type of the input. + The type of the output. + + + + Gets the type of the input. + + + + + + + + Gets the type of the output. + + + + + Renders the specified document serializer. + + The render arguments. + A + + + + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + The translation options. + + A that represents this instance. + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + + + + + + + A based stage. + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The document. + The output serializer. + + + + + + + + + + A JSON based pipeline stage. + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The json. + The output serializer. + + + + Gets the json. + + + + + + + + Gets the output serializer. + + + + + + + + Methods for building pipeline stages. + + + + + Creates a $bucket stage. + + The type of the input documents. + The type of the values. + The group by expression. + The boundaries. + The options. + The stage. + + + + Creates a $bucket stage. + + The type of the input documents. + The type of the values. + The type of the output documents. + The group by expression. + The boundaries. + The output projection. + The options. + The stage. + + + + Creates a $bucket stage. + + The type of the input documents. + The type of the values. + The group by expression. + The boundaries. + The options. + The stage. + + + + Creates a $bucket stage. + + The type of the input documents. + The type of the values. + The type of the output documents. + The group by expression. + The boundaries. + The output projection. + The options. + The stage. + + + + Creates a $bucketAuto stage. + + The type of the input documents. + The type of the values. + The group by expression. + The number of buckets. + The options. + The stage. + + + + Creates a $bucketAuto stage. + + The type of the input documents. + The type of the values. + The type of the output documents. + The group by expression. + The number of buckets. + The output projection. + The options. + The stage. + + + + Creates a $bucketAuto stage. + + The type of the input documents. + The type of the value. + The group by expression. + The number of buckets. + The options (optional). + The stage. + + + + Creates a $bucketAuto stage (this overload can only be used with LINQ3). + + The type of the input documents. + The type of the output documents. + The type of the output documents. + The group by expression. + The number of buckets. + The output projection. + The options (optional). + The stage. + + + + Creates a $changeStream stage. + Normally you would prefer to use the Watch method of . + Only use this method if subsequent stages project away the resume token (the _id) + or you don't want the resulting cursor to automatically resume. + + The type of the input documents. + The options. + The stage. + + + + Creates a $changeStreamSplitLargeEvent stage. + + The type of the input documents. + The stage. + + + + Creates a $count stage. + + The type of the input documents. + The stage. + + + + Creates a $densify stage. + + The type of the input documents. + The field. + The range. + The partition by fields. + The stage. + + + + Creates a $densify stage. + + The type of the input documents. + The field. + The range. + The partition by fields. + The stage. + + + + Creates a $densify stage. + + The type of the input documents. + The field. + The range. + The partition by fields. + The stage. + + + + Creates a $densify stage. + + The type of the input documents. + The field. + The range. + The partition by fields. + The stage. + + + + Creates a $documents stage. + + The type of the documents. + The documents. + The document serializer. + The stage. + + + + Creates a $documents stage. + + The type of the documents. + The documents. + The document serializer. + The stage. + + + + Creates a $facet stage. + + The type of the input documents. + The type of the output documents. + The facets. + The options. + The stage. + + + + Creates a $facet stage. + + The type of the input documents. + The facets. + The stage. + + + + Creates a $facet stage. + + The type of the input documents. + The facets. + The stage. + + + + Creates a $facet stage. + + The type of the input documents. + The type of the output documents. + The facets. + The stage. + + + + Creates a $geoNear stage. + + The type of the input documents. + The type of the output documents. + The type of the coordinates for the point. + The point for which to find the closest documents. + The options. + The stage. + + + + Creates a $geoNear stage. + + The type of the input documents. + The type of the output documents. + The point for which to find the closest documents. + The options. + The stage. + + + + Creates a $graphLookup stage. + + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The stage. + + + + Creates a $graphLookup stage. + + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The stage. + + + + Creates a $graphLookup stage. + + The type of the input documents. + The type of the from documents. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The fluent aggregate interface. + + + + Creates a $graphLookup stage. + + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The stage. + + + + Creates a $graphLookup stage. + + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The stage. + + + + Creates a $group stage. + + The type of the input documents. + The type of the output documents. + The group projection. + The stage. + + + + Creates a $group stage. + + The type of the input documents. + The group projection. + The stage. + + + + Creates a $group stage. + + The type of the input documents. + The type of the values. + The type of the output documents. + The value field. + The group projection. + The stage. + This method can only be used with LINQ2 but that can't be verified until Render is called. + + + + Creates a $limit stage. + + The type of the input documents. + The limit. + The stage. + + + + Creates a $lookup stage. + + The type of the input documents. + The type of the foreign collection documents. + The type of the output documents. + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + The stage. + + + + Creates a $lookup stage. + + The type of the input documents. + The type of the foreign collection documents. + The type of the output documents. + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + The stage. + + + + Creates a $lookup stage. + + The type of the input documents. + The type of the foreign collection documents. + The type of the as field elements. + The type of the as field. + The type of the output documents. + The foreign collection. + The "let" definition. + The lookup pipeline. + The as field in in which to place the results of the lookup pipeline. + The options. + The stage. + + + + Creates a $lookup stage. + + The type of the input documents. + The type of the foreign collection documents. + The type of the as field elements. + The type of the as field. + The type of the output documents. + The foreign collection. + The "let" definition. + The lookup pipeline. + The as field in in which to place the results of the lookup pipeline. + The options. + The stage. + + + + Creates a $match stage. + + The type of the input documents. + The filter. + The stage. + + + + Creates a $match stage. + + The type of the input documents. + The filter. + The stage. + + + + Creates a $merge stage. + + The type of the input documents. + The type of the output documents. + The output collection. + The merge options. + The stage. + + + + Create a $match stage that select documents of a sub type. + + The type of the input documents. + The type of the output documents. + The output serializer. + The stage. + + + + Creates a $out stage. + + The type of the input documents. + The output collection. + The time series options. + The stage. + + + + Creates a $project stage. + + The type of the input documents. + The type of the output documents. + The projection. + The stage. + + + + Creates a $project stage. + + The type of the input documents. + The projection. + The stage. + + + + Creates a $project stage. + + The type of the input documents. + The type of the output documents. + The projection. + The stage. + + + + Creates a $search stage. + + The type of the input documents. + The search definition. + The highlight options. + The index name. + The count options. + + Flag that specifies whether to perform a full document lookup on the backend database + or return only stored source fields directly from Atlas Search. + + + Flag that specifies whether to return a detailed breakdown + of the score for each document in the result. + + The stage. + + + + Creates a $search stage. + + The type of the input documents. + The search definition. + The search options. + The stage. + + + + Creates a $searchMeta stage. + + The type of the input documents. + The search definition. + The index name. + The count options. + The stage. + + + + Creates a $rankFusion stage. + + The type of the input documents. + The type of the output documents. + The map of named pipelines whose results will be combined. The pipelines must operate on the same collection. + The map of pipeline names to non-negative numerical weights determining result importance during combination. Default weight is 1 when unspecified. + The rankFusion options. + The stage. + + + + Creates a $rankFusion stage. Pipelines will be automatically named as "pipeline1", "pipeline2", etc. + + The type of the input documents. + The type of the output documents. + The collection of pipelines whose results will be combined. The pipelines must operate on the same collection. + The rankFusion options. + The stage. + + + + Creates a $rankFusion stage. Pipelines will be automatically named as "pipeline1", "pipeline2", etc. + + The type of the input documents. + The type of the output documents. + The collection of tuples containing (pipeline, weight) pairs. The pipelines must operate on the same collection. + The rankFusion options. + The stage. + + + + Creates a $replaceRoot stage. + + The type of the input documents. + The type of the output documents. + The new root. + The stage. + + + + Creates a $replaceRoot stage. + + The type of the input documents. + The type of the output documents. + The new root. + The stage. + + + + Creates a $replaceWith stage. + + The type of the input documents. + The type of the output documents. + The new root. + The stage. + + + + Creates a $replaceWith stage. + + The type of the input documents. + The type of the output documents. + The new root. + The stage. + + + + Creates a $set stage. + + The type of the input documents. + The fields to set. + The stage. + + + + Creates a $set stage. + + The type of the input documents. + The type of object specifying the fields to set. + The fields to set. + The stage. + + + + Create a $setWindowFields stage. + + The type of the input documents. + The type of the added window fields. + The window fields expression. + The stage. + + + + Create a $setWindowFields stage. + + The type of the input documents. + The type of the value to partition by. + The type of the added window fields. + The partitionBy expression. + The window fields expression. + The stage. + + + + Create a $setWindowFields stage. + + The type of the input documents. + The type of the value to partition by. + The type of the added window fields. + The partitionBy expression. + The sortBy expression. + The window fields expression. + The stage. + + + + Create a $setWindowFields stage. + + The type of the input documents. + The type of the added window fields. + The window fields expression. + The stage. + + + + Create a $setWindowFields stage. + + The type of the input documents. + The type of the value to partition by. + The type of the added window fields. + The partitionBy expression. + The window fields expression. + The stage. + + + + Create a $setWindowFields stage. + + The type of the input documents. + The type of the value to partition by. + The type of the added window fields. + The partitionBy expression. + The sortBy expression. + The window fields expression. + The stage. + + + + Creates a $skip stage. + + The type of the input documents. + The skip. + The stage. + + + + Creates a $sort stage. + + The type of the input documents. + The sort. + The stage. + + + + Creates a $sample stage. + + The type of the input documents. + The size. + The stage. + + + + Creates a $sortByCount stage. + + The type of the input documents. + The type of the values. + The value expression. + The stage. + + + + Creates a $sortByCount stage. + + The type of the input documents. + The type of the values. + The value. + The stage. + + + + Creates a $unionWith stage. + + The type of the input documents. + The type of the with collection documents. + The with collection. + The with pipeline. + The stage. + + + + Creates an $unwind stage. + + The type of the input documents. + The type of the output documents. + The field. + The options. + The stage. + + + + Creates an $unwind stage. + + The type of the input documents. + The field to unwind. + The options. + The stage. + + + + Creates an $unwind stage. + + The type of the input documents. + The field to unwind. + The options. + The stage. + + + + Creates an $unwind stage. + + The type of the input documents. + The type of the output documents. + The field to unwind. + The options. + The stage. + + + + Creates a $vectorSearch stage. + + The type of the input documents. + The type of the field. + The field. + The query vector. + The limit. + The options. + The stage. + + + + Creates a $vectorSearch stage. + + The type of the input documents. + The field. + The query vector. + The limit. + The options. + The stage. + + + + A rendered projection. + + The type of the projection. + + + + Initializes a new instance of the class. + + The document. + The projection serializer. + + + + Gets the document. + + + + + Gets the serializer. + + + + + Base class for projections whose projection type is not yet known. + + The type of the source. + + + + Renders the projection to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Base class for projections. + + The type of the source. + The type of the projection. + + + + Renders the projection to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The projection. + + The result of the conversion. + + + + + A based projection whose projection type is not yet known. + + The type of the source. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + + + + A based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The document. + The projection serializer. + + + + Gets the document. + + + + + Gets the projection serializer. + + + + + + + + A find based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + + + + A JSON based projection whose projection type is not yet known. + + The type of the source. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + + + + A JSON based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The json. + The projection serializer. + + + + Gets the json. + + + + + Gets the projection serializer. + + + + + + + + An based projection whose projection type is not yet known. + + The type of the source. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + + + + An based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The object. + The projection serializer. + + + + Gets the object. + + + + + Gets the projection serializer. + + + + + + + + A client side only projection that is implemented solely by deserializing using a different serializer. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The projection serializer. + + + + Gets the result serializer. + + + The result serializer. + + + + + + + + Extension methods for projections. + + + + + Combines an existing projection with a projection that filters the contents of an array. + + The type of the document. + The type of the item. + The projection. + The field. + The filter. + + A combined projection. + + + + + Combines an existing projection with a projection that filters the contents of an array. + + The type of the document. + The type of the item. + The projection. + The field. + The filter. + + A combined projection. + + + + + Combines an existing projection with a projection that filters the contents of an array. + + The type of the document. + The type of the item. + The projection. + The field. + The filter. + + A combined projection. + + + + + Combines an existing projection with a projection that excludes a field. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a projection that excludes a field. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a projection that includes a field. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a projection that includes a field. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a meta projection. + + The type of the document. + The projection. + The field. + The meta field name. + + A combined projection. + + + + + Combines an existing projection with a meta score projection. This projection will retrieve any kind of score metadata i.e. + searchScore, VectorSearchScore or textScore. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a meta score projection. This projection will retrieve any kind of score metadata i.e. + searchScore, VectorSearchScore or textScore. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a meta score details projection. This projection will retrieve any kind of scoreDetails metadata i.e. + searchScoreDetails. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a meta score details projection. This projection will retrieve any kind of scoreDetails metadata i.e. + searchScoreDetails. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search highlights projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search highlights projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search score projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search score projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search score details projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search score details projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search sequence token projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search sequence token projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a text score projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a text score projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a VectorSearch score projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a VectorSearch score projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search metadata projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search metadata projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with an array slice projection. + + The type of the document. + The projection. + The field. + The limit. + + A combined projection. + + + + + Combines an existing projection with an array slice projection. + + The type of the document. + The projection. + The field. + The skip. + The limit. + + A combined projection. + + + + + Combines an existing projection with an array slice projection. + + The type of the document. + The projection. + The field. + The limit. + + A combined projection. + + + + + Combines an existing projection with an array slice projection. + + The type of the document. + The projection. + The field. + The skip. + The limit. + + A combined projection. + + + + + A builder for a projection. + + The type of the source. + + + + Creates a client side projection that is implemented solely by using a different serializer. + + The type of the projection. + The projection serializer. + A client side deserialization projection. + + + + Combines the specified projections. + + The projections. + + A combined projection. + + + + + Combines the specified projections. + + The projections. + + A combined projection. + + + + + Creates a projection that filters the contents of an array. + + The type of the item. + The field. + The filter. + + An array filtering projection. + + + + + Creates a projection that filters the contents of an array. + + The type of the item. + The field. + The filter. + + An array filtering projection. + + + + + Creates a projection that filters the contents of an array. + + The type of the item. + The field. + The filter. + + An array filtering projection. + + + + + Creates a projection that excludes a field. + + The field. + + An exclusion projection. + + + + + Creates a projection that excludes a field. + + The field. + + An exclusion projection. + + + + + Creates a projection based on the expression. + + The type of the result. + The expression. + + An expression projection. + + + + + Creates a projection that includes a field. + + The field. + + An inclusion projection. + + + + + Creates a projection that includes a field. + + The field. + + An inclusion projection. + + + + + Creates a meta projection. + + The field. + The meta field name. + + A meta projection. + + + + + Creates a meta score projection. This projection will retrieve any kind of score metadata i.e. + searchScore, VectorSearchScore or textScore. + + The field. + + A meta score projection. + + + + + Creates a meta score projection. This projection will retrieve any kind of score metadata i.e. + searchScore, VectorSearchScore or textScore. + + The field. + + A meta score projection. + + + + + Creates a meta score details projection. This projection will retrieve any kind of scoreDetails metadata i.e. + searchScoreDetails. + + The field. + + A meta score details projection. + + + + + Creates a meta score details projection. This projection will retrieve any kind of scoreDetails metadata i.e. + searchScoreDetails. + + The field. + + A meta score details projection. + + + + + Creates a search highlights projection. + + The field. + + A search highlights projection. + + + + + Creates a search highlights projection. + + The field. + + A search highlights projection. + + + + + Creates a search score projection. + + The field. + + A search score projection. + + + + + Creates a search score projection. + + The field. + + A search score projection. + + + + + Creates a search score details projection. + + The field. + + A search score details projection. + + + + + Creates a search score details projection. + + The field. + + A search score details projection. + + + + + Creates a search sequence token projection. + + The field. + + A search sequence token projection. + + + + + Creates a search sequence token projection. + + The field. + + A search sequence token projection. + + + + + Creates a text score projection. + + The field. + + A text score projection. + + + + + Creates a text score projection. + + The field. + + A text score projection. + + + + + Creates a VectorSearch score projection. + + The field. + + A VectorSearch score projection. + + + + + Creates a VectorSearch score projection. + + The field. + + A VectorSearch score projection. + + + + + Creates a search metadata projection. + + The field. + + A search metadata projection. + + + + + Creates a search metadata projection. + + The field. + + A search metadata projection. + + + + + Creates an array slice projection. + + The field. + The limit. + + An array slice projection. + + + + + Creates an array slice projection. + + The field. + The skip. + The limit. + + An array slice projection. + + + + + Creates an array slice projection. + + The field. + The limit. + + An array slice projection. + + + + + Creates an array slice projection. + + The field. + The skip. + The limit. + + An array slice projection. + + + + + Vector search query vector. + + + + + Gets the underlying bson value representing the vector. + Possible values are or encoding + + + + + Initializes a new instance of the class. + + The bson binary data. + + + + Initializes a new instance of the class. + + The memory. + + + + Initializes a new instance of the class. + + The memory. + + + + Initializes a new instance of the class. + + The memory. + + + + Performs an implicit conversion from [] to . + + The array. + + The result of the conversion. + + + + + Performs an implicit conversion from a of to . + + The readOnlyMemory. + + The result of the conversion. + + + + + Performs an implicit conversion from [] to . + + The array. + + The result of the conversion. + + + + + Performs an implicit conversion from a of to . + + The readOnlyMemory. + + The result of the conversion. + + + + + Performs an implicit conversion from [] to . + + The array. + + The result of the conversion. + + + + + Performs an implicit conversion from a of to . + + The readOnlyMemory. + + The result of the conversion. + + + + + Performs an implicit conversion from a of to . + + The binary vector int8. + + The result of the conversion. + + + + + Performs an implicit conversion from a of to . + + The binary vector float32. + + The result of the conversion. + + + + + Performs an implicit conversion from a of to . + + The binary vector packed bit. + + The result of the conversion. + + + + + Represents a range window for a SetWindowFields window method. + + + + + Returns a "current" range window boundary. + + + + + Returns an "unbounded" range window boundary. + + + + + Creates a range window. + + The type of the boundary conditions. + The lower boundary. + The upper boundary. + A range window. + + + + Creates a range window. + + The type of the lower boundary condition. + The lower boundary. + The upper boundary. + A range window. + + + + Creates a range window. + + The type of the upper boundary condition. + The lower boundary. + The upper boundary. + A range window. + + + + Creates a range window. + + The lower boundary. + The upper boundary. + A range window. + + + + Creates a range window. + + The lower boundary. + The upper boundary. + A range window. + + + + Creates a range window. + + The lower boundary. + The upper boundary. + A range window. + + + + Creates a range window. + + The lower boundary. + The upper boundary. + A range window. + + + + Returns a time range in days. + + The value. + A time range. + + + + Returns a time range in hours. + + The value. + A time range. + + + + Returns a time range in milliseconds. + + The value. + A time range. + + + + Returns a time range in minutes. + + The value. + A time range. + + + + Returns a time range in months. + + The value. + A time range. + + + + Returns a time range in quarters. + + The value. + A time range. + + + + Returns a time range in seconds. + + The value. + A time range. + + + + Returns a time range in weeks. + + The value. + A time range. + + + + Returns a time range in years. + + The value. + A time range. + + + + Initializes an instance of RangeWindow. + + The lower boundary. + The upper boundary. + + + + The lower boundary. + + + + + The upper boundary. + + + + + + + + Represents a boundary for a range window in SetWindowFields. + + + + + Represents a keyword boundary for a range window in SetWindowFields (i.e. "unbounded" or "current"). + + + + + The keyword. + + + + + + + + Represents a value boundary for a document window in SetWindowFields. + + + + + Represents a value boundary for a range window in SetWindowFields. + + The type of the range window boundary. + + + + Initializes a new instance of ValueRangeWindowBoundary. + + The value. + + + + The value. + + + + + + + + Represents a time boundary for a range window in SetWindowFields. + + + + + The unit. + + + + + The value. + + + + + + + + Represents options for the $rankFusion stage. + + The type of the output documents. + + + + Gets or sets the output serializer. + + + + + Flag that specifies whether to make a detailed breakdown of the score for each document available as metadata. + Setting this to true adds score information accessible via $meta, which can then be optionally projected in results. + + + + + Options for renaming a collection. + + + + + Gets or sets a value indicating whether to drop the target collection first if it already exists. + + + + + Gets or sets the operation timeout. + + + + + Encapsulates settings needed for path rendering. + + + + + Encapsulates settings needed for path rendering. + + + + + Encapsulates settings needed for rendering Builder definitions. + + The type of the document. + + + + Initializes a new instance of the record. + + The document serializer. + The serializer registry. + The path render arguments. + Value that specifies whether full dollar for should be rendered. + Value that specifies whether rendering a find operation. + Value that specifies whether rendering an $elemMatch. + The translation options. + + + + Gets the document serializer. + + + + + Gets the value indicating whether Render is being called for ElemMatch. + + + + + Gets the value indicating whether Render is being called for Find. + + + + + Gets the path render arguments. + + + + + Gets the value indicating whether full dollar form should be rendered. + + + + + Gets the serializer registry. + + + + + Gets the translation options used when translation Expressions to MQL. + + + + + Returns if it implements IBsonSerializer{T} + or resolves IBsonSerializer{T} from . + + + + + Creates a new RenderArgs with new document type {TNewDocument} + + The new serializer. + + A new RenderArgs{TNewDocument} instance. + + + + + Model for replacing a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + The replacement. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets the hint. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets the replacement. + + + + + Gets or sets the sort definition. + + + + + Gets the type of the model. + + + + + The result of an update operation. + + + + + Gets a value indicating whether the result is acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + The available modified count. + + + + + Gets the matched count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the modified count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the upserted id, if one exists. If IsAcknowledged is false, this will throw an exception. + + + + + Initializes a new instance of the class. + + + + + The result of an acknowledged update operation. + + + + + Initializes a new instance of the class. + + The matched count. + The modified count. + The upserted id. + + + + + + + + + + + + + + + + + + + The result of an unacknowledged update operation. + + + + + Gets the instance. + + + + + + + + + + + + + + + + + + + + Options for replacing a single document. + + + + + Creates a new ReplaceOptions from an UpdateOptions. + + The update options. + A ReplaceOptions. + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets or sets the let document. + + + + + Gets or sets the operation timeout. + + + + + Options for replacing a single document and specifying a sort order. + + + + + Gets or sets the sort definition. + + + + + Which version of the document to return when executing a FindAndModify command. + + + + + Return the document before the modification. + + + + + Return the document after the modification. + + + + + A builder for compound search definitions. + + The type of the document. + + + + Initializes a new instance of the class. + + + + + + Adds clauses which must match to produce results. + + The clauses. + The compound search definition builder. + + + + Adds clauses which must match to produce results. + + The clauses. + The compound search definition builder. + + + + Adds clauses which must not match for a document to be included in the + results. + + The clauses. + The compound search definition builder. + + + + Adds clauses which must not match for a document to be included in the + results. + + The clauses. + The compound search definition builder. + + + + Adds clauses which cause documents in the result set to be scored higher if + they match. + + The clauses. + The compound search definition builder. + + + + Adds clauses which cause documents in the result set to be scored higher if + they match. + + The clauses. + The compound search definition builder. + + + + Adds clauses which must all match for a document to be included in the + results. + + The clauses. + The compound search definition builder. + + + + Adds clauses which must all match for a document to be included in the + results. + + The clauses. + The compound search definition builder. + + + + Sets a value specifying the minimum number of should clauses the must match + to include a document in the results. + + The value to set. + The compound search definition builder. + + + + Constructs a search definition from the builder. + + A compound search definition. + + + + Performs an implicit conversion from a + to a . + + The compound search definition builder. + The result of the conversion. + + + + The relation of the query shape geometry to the indexed field geometry in a + geo shape search definition. + + + + + Indicates that the indexed geometry contains the query geometry. + + + + + Indicates that both the query and indexed geometries have nothing in common. + + + + + Indicates that both the query and indexed geometries intersect. + + + + + Indicates that the indexed geometry is within the query geometry. + + + + + Base class for area argument for GeoWithin queries. + + The type of the coordinates. + + + + Object that specifies the bottom left and top right GeoJSON points of a box to + search within. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The bottom left GeoJSON point. + The top right GeoJSON point. + + + Gets the bottom left GeoJSON point. + + + Gets the top right GeoJSON point. + + + + Object that specifies the center point and the radius in meters to search within. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + Center of the circle specified as a GeoJSON point. + Radius specified in meters. + + + Gets the center of the circle specified as a GeoJSON point. + + + Gets the radius specified in meters. + + + + Object that specifies the GeoJson geometry to search within. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + GeoJSON object specifying the MultiPolygon or Polygon. + + + Gets the GeoJson geometry. + + + + An interface representing methods used to create, delete and modify search indexes. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + An of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + A Task whose result is an of the names of the indexes that were created. + + + + + Creates a search index. + + The index definition. + The index name. + The cancellation token. + + The name of the index that was created. + + + + + Creates a search index. + + The model defining the index. + The cancellation token. + + The name of the index that was created. + + + + + Creates a search index. + + The index definition. + The index name. + The cancellation token. + + The name of the index that was created. + + + + + Creates a search index. + + The model defining the index. + The cancellation token. + + A Task whose result is the name of the index that was created. + + + + + Drops an index by its name. + + The index name. + The cancellation token. + + + + Drops an index by its name. + + The index name. + The cancellation token. + A Task. + + + + Lists the search indexes. + + Name of the index. + The aggregate options. + The cancellation token. + + A cursor. + + + + + Lists the search indexes. + + Name of the index. + The aggregate options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Update the search index. + + Name of the index. + The definition. + The cancellation token. + + + + Update the search index. + + Name of the index. + The definition. + The cancellation token. + A Task. + + + + Represents the criteria used to match terms in a query for the Atlas Search Text operator. + + + + + Match documents containing any of the terms from a query. + + + + + Match documents containing all the terms from a query. + + + + + Represents the scoreDetails object for a document from a $rankFusion result. + + + + + Initializes a new instance of the class. + + The computed score which is the same as the score available via {$meta: "score"}. + Description of how the score was computed. + Info about how each input pipeline in the rankFusion stage contributed to the computed score. + + + + + Gets the computed score which is the same as the score available via {$meta: "score"}. + + + + + Gets the description of how the score was computed. + + + + + Gets info about how each input pipeline in the rankFusion stage contributed to the computed score. + + + + + The order in which to search for tokens in an autocomplete search definition. + + + + + Indicates that tokens in the query can appear in any order in the documents. + + + + + Indicates that tokens in the query must appear adjacent to each other or in the order + specified in the query in the documents. + + + + + Options for counting the search results. + + + + + Gets or sets the number of documents to include in the exact count if + is . + + + + + Gets or sets the type of count of the documents in the result set. + + + + + The type of count of the documents in a search result set. + + + + + A lower bound count of the number of documents that match the query. + + + + + An exact count of the number of documents that match the query. + + + + + Base class for search definitions. + + The type of the document. + + + + Renders the search definition to a . + + The render arguments. + + A . + + + + + Performs an implicit conversion from a BSON document to a . + + The BSON document specifying the search definition. + + The result of the conversion. + + + + + Performs an implicit conversion from a string to a . + + The string specifying the search definition in JSON. + + The result of the conversion. + + + + + Extension methods for SearchDefinition. + + + + + Determines whether to use the configured serializers for the specified . + When set to true (the default value), the configured serializers will be used to serialize the values of certain Atlas Search operators, such as "Equals", "In" and "Range". + If set to false, then a default conversion will be used. + + The type of the document. + The search definition instance. + Whether to use the configured serializers or not. + The same instance with default serialization enabled. + + + + A search definition based on a BSON document. + + The type of the document. + + + + Initializes a new instance of the class. + + The BSON document specifying the search definition. + + + + Gets the BSON document. + + + + + + + + A search definition based on a JSON string. + + The type of the document. + + + + Initializes a new instance of the class. + + The JSON string specifying the search definition. + + + + Gets the JSON string. + + + + + + + + + + + A builder for a search definition. + + The type of the document. + + + + Creates a search definition that performs a search for a word or phrase that contains + a sequence of characters from an incomplete input string. + + The indexed field to search. + The query definition specifying the string or strings to search for. + The order in which to search for tokens. + The options for fuzzy search. + The score modifier. + An autocomplete search definition. + + + + Creates a search definition that performs a search for a word or phrase that contains + a sequence of characters from an incomplete search string. + + The type of the field. + The indexed field to search. + The query definition specifying the string or strings to search for. + The order in which to search for tokens. + The options for fuzzy search. + The score modifier. + An autocomplete search definition. + + + + Creates a builder for a compound search definition. + + The score modifier. + A compound search definition builder. + + + + Creates a search definition that performs a search for documents where + the specified query is satisfied from a single element + of an array of embedded documents specified by . + + The type of the field. + The indexed field to search. + The operator. + The score modifier. + + An embeddedDocument search definition. + + + + + Creates a search definition that performs a search for documents where + the specified query is satisfied from a single element + of an array of embedded documents specified by . + + The type of the field. + The indexed field to search. + The operator. + The score modifier. + + An embeddedDocument search definition. + + + + + Creates a search definition that queries for documents where an indexed field is equal + to the specified value. + Supported value types are null, boolean, numeric, ObjectId, Guid, date and string. + + The type of the field. + The indexed field to search. + The value to query for. + The score modifier. + An equality search definition. + + + + Creates a search definition that queries for documents where an indexed field is equal + to the specified value. + Supported value types are null, boolean, numeric, ObjectId, Guid, date and string. + + The type of the field. + The indexed field to search. + The value to query for. + The score modifier. + An equality search definition. + + + + Creates a search definition that queries for documents where at least one element in an indexed array field is equal + to the specified value. + Supported value types are boolean, numeric, ObjectId, date and string. + + The type of elements contained in the indexed array field. + The indexed array field to search. + The value to query for. + The score modifier. + An equality search definition. + + + + Creates a search definition that tests if a path to a specified indexed field name + exists in a document. + + The field to test for. + An existence search definition. + + + + Creates a search definition that tests if a path to a specified indexed field name + exists in a document. + + The type of the field. + The field to test for. + An existence search definition. + + + + Creates a search definition that groups results by values or ranges in the specified + faceted fields and returns the count for each of those groups. + + The operator to use to perform the facet over. + Information for bucketing the data for each facet. + A facet search definition. + + + + Creates a search definition that groups results by values or ranges in the specified + faceted fields and returns the count for each of those groups. + + The operator to use to perform the facet over. + Information for bucketing the data for each facet. + A facet search definition. + + + + Creates a search definition that queries for shapes with a given geometry. + + The type of the coordinates. + Indexed geo type field or fields to search. + + GeoJSON object specifying the Polygon, MultiPolygon, or LineString shape or point + to search. + + Relation of the query shape geometry to the indexed field geometry. + The score modifier. + A geo shape search definition. + + + + Creates a search definition that queries for shapes with a given geometry. + + The type of the coordinates. + The type of the field. + Indexed geo type field or fields to search. + + GeoJSON object specifying the Polygon, MultiPolygon, or LineString shape or point + to search. + + Relation of the query shape geometry to the indexed field geometry. + The score modifier. + A geo shape search definition. + + + + Creates a search definition that queries for geographic points within a given + geometry. + + The type of the coordinates. + Indexed geo type field or fields to search. + + GeoJSON object specifying the MultiPolygon or Polygon to search within. + + The score modifier. + A geo within search definition. + + + + Creates a search definition that queries for geographic points within a given + geometry. + + The type of the coordinates. + The type of the field. + Indexed geo type field or fields to search. + + GeoJSON object specifying the MultiPolygon or Polygon to search within. + + The score modifier. + A geo within search definition. + + + + Creates a search definition that queries for geographic points within a given geo object. + + The type of the coordinates. + The type of the field. + Indexed geo type field or fields to search. + Object that specifies the area to search within. + The score modifier. + A geo within search definition. + + + + Creates a search definition that queries for geographic points within a given geo object. + + The type of the coordinates. + Indexed geo type field or fields to search. + Object that specifies the area to search within. + The score modifier. + A geo within search definition. + + + + Creates a search definition that queries for documents where the value of the field equals to any of specified values. + + The type of the field. Valid types are: boolean, ObjectId, Guid, number, date, string. + The indexed field or fields to search. + Values to compare the field with. + The score modifier. + An In search definition. + + + + Creates a search definition that queries for documents where the value of the field equals to any of specified values. + + The type of the field. Valid types are: boolean, ObjectId, Guid, number, date, string, arrays. + The indexed field or fields to search. + Values to compare the field with. + The score modifier. + An In search definition. + + + + Creates a search definition that queries for documents where the value of the field equals to any of specified values. + + The type of the field. Valid types are: boolean, ObjectId, Guid, number, date, string, arrays. + The indexed field or fields to search. + Values to compare the field with. + The score modifier. + An In search definition. + + + + Creates a search definition that returns documents similar to the input documents. + + The type of the like documents. + + One or more documents that Atlas Search uses to extract representative terms for. + + A more like this search definition. + + + + Creates a search definition that returns documents similar to the input documents. + + The type of the like documents. + + One or more documents that Atlas Search uses to extract representative terms for. + + A more like this search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The type of the field. + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The type of the field. + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The type of the field. + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The type of the field. + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The type of the coordinates. + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The type of the coordinates + The type of the fields. + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to user to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that performs search for documents containing an ordered + sequence of terms. + + The indexed field or fields to search. + The string or strings to search for. + The allowable distance between words in the query phrase. + The score modifier. + A phrase search definition. + + + + Creates a search definition that performs search for documents containing an ordered + sequence of terms. + + The indexed field or fields to search. + The string or strings to search for. + The options. + A phrase search definition. + + + + Creates a search definition that performs search for documents containing an ordered + sequence of terms. + + The type of the field. + The indexed field or fields to search. + The string or strings to search for. + The allowable distance between words in the query phrase. + The score modifier. + A phrase search definition. + + + + Creates a search definition that performs search for documents containing an ordered + sequence of terms. + + The type of the field. + The indexed field or fields to search. + The string or strings to search for. + The options. + A phrase search definition. + + + + Creates a search definition that queries a combination of indexed fields and values. + + The indexed field to search by default. + One or more indexed fields and values to search. + The score modifier. + A query string search definition. + + + + Creates a search definition that queries a combination of indexed fields and values. + + The type of the field. + The indexed field to search by default. + One or more indexed fields and values to search. + The score modifier. + A query string search definition. + + + + Creates a search definition that queries for documents where a field is in the specified range. + + The type of the field. + The indexed field or fields to search. + The field range. + The score modifier. + A range search definition. + + + + Creates a search definition that queries for documents where a field is in the specified range. + + The type of the field. + The indexed field or fields to search. + The field range. + The score modifier. + A range search definition. + + + + Creates a search definition that queries for documents where a field is in the specified range. + + The type of the field. + The indexed field or fields to search. + The field range. + The score modifier. + A range search definition. + + + + Creates a search definition that queries for documents where a field is in the specified range. + + The type of the field. + The indexed field or fields to search. + The field range. + The score modifier. + A range search definition. + + + + Creates a search definition that queries for documents where a field is in the specified range. + + The type of the field. + The indexed field or fields to search. + The field range. + The score modifier. + A range search definition. + + + + Creates a search definition that queries for documents where a field is in the specified range. + + The type of the field. + The indexed field or fields to search. + The field range. + The score modifier. + A range search definition. + + + + Creates a search definition that interprets the query as a regular expression. + + The indexed field or fields to search. + The string or strings to search for. + + Must be set to true if the query is run against an analyzed field. + + The score modifier. + A regular expression search definition. + + + + Creates a search definition that interprets the query as a regular expression. + + The type of the field. + The indexed field or fields to search. + The string or strings to search for. + + Must be set to true if the query is run against an analyzed field. + + The score modifier. + A regular expression search definition. + + + + Creates a search definition that finds text search matches within regions of a text + field. + + The span clause. + A span search definition. + + + + Creates a search definition that performs full-text search using the analyzer specified + in the index configuration. + + The indexed field or fields to search. + The string or strings to search for. + The options. + A text search definition. + + + + Creates a search definition that performs full-text search using the analyzer specified + in the index configuration. + + The indexed field or fields to search. + The string or strings to search for. + The options for fuzzy search. + The score modifier. + A text search definition. + + + + Creates a search definition that performs full-text search with synonyms using the analyzer specified + in the index configuration. + + The indexed field or fields to search. + The string or strings to search for. + The name of the synonym mapping definition in the index definition + The score modifier. + A text search definition. + + + + Creates a search definition that performs full-text search using the analyzer specified + in the index configuration. + + The type of the field. + The indexed field or field to search. + The string or strings to search for. + The options. + A text search definition. + + + + Creates a search definition that performs full-text search using the analyzer specified + in the index configuration. + + The type of the field. + The indexed field or field to search. + The string or strings to search for. + The options for fuzzy search. + The score modifier. + A text search definition. + + + + Creates a search definition that performs full-text search with synonyms using the analyzer specified + in the index configuration. + + The type of the field. + The indexed field or field to search. + The string or strings to search for. + The name of the synonym mapping definition in the index definition + The score modifier. + A text search definition. + + + + Creates a search definition that uses special characters in the search string that can + match any character. + + The indexed field or fields to search. + The string or strings to search for. + + Must be set to true if the query is run against an analyzed field. + + The score modifier. + A wildcard search definition. + + + + Creates a search definition that uses special characters in the search string that can + match any character. + + The type of the field. + The indexed field or fields to search. + The string or strings to search for. + + Must be set to true if the query is run against an analyzed field. + + The score modifier. + A wildcard search definition. + + + + Base class for search facets. + + The type of the document. + + + + Initializes a new instance of the class. + + The name of the facet. + + + + Gets the name of the facet. + + + + + Renders the search facet to a . + + The render arguments. + A . + + + + A builder for a search facet. + + The type of the document. + + + + Creates a facet that narrows down search result based on a date. + + The name of the fact. + The field path to facet on. + + A list of date values that specify the boundaries for each bucket. + + + The name of an additional bucket that counts documents returned from the operator that + do not fall within the specified boundaries. + + A date search facet. + + + + Creates a facet that narrows down search result based on a date. + + The name of the fact. + The field path to facet on. + + A list of date values that specify the boundaries for each bucket. + + A date search facet. + + + + Creates a facet that narrows down search result based on a date. + + The type of the field. + The name of the fact. + The field path to facet on. + + A list of date values that specify the boundaries for each bucket. + + + The name of an additional bucket that counts documents returned from the operator that + do not fall within the specified boundaries. + + A date search facet. + + + + Creates a facet that narrows down search result based on a date. + + The type of the field. + The name of the fact. + The field path to facet on. + + A list of date values that specify the boundaries for each bucket. + + A date search facet. + + + + Creates a facet that determines the frequency of numeric values by breaking the search + results into separate ranges of numbers. + + The name of the facet. + The field path to facet on. + + A list of numeric values that specify the boundaries for each bucket. + + + The name of an additional bucket that counts documents returned from the operator that + do not fall within the specified boundaries. + + A number search facet. + + + + Creates a facet that determines the frequency of numeric values by breaking the search + results into separate ranges of numbers. + + The name of the facet. + The field path to facet on. + + A list of numeric values that specify the boundaries for each bucket. + + A number search facet. + + + + Creates a facet that determines the frequency of numeric values by breaking the search + results into separate ranges of numbers. + + The type of the field. + The name of the facet. + The field path to facet on. + + A list of numeric values that specify the boundaries for each bucket. + + + The name of an additional bucket that counts documents returned from the operator that + do not fall within the specified boundaries. + + A number search facet. + + + + Creates a facet that determines the frequency of numeric values by breaking the search + results into separate ranges of numbers. + + The type of the field. + The name of the facet. + The field path to facet on. + + A list of numeric values that specify the boundaries for each bucket. + + A number search facet. + + + + Creates a facet that narrows down Atlas Search results based on the most frequent + string values in the specified string field. + + The name of the facet. + The field path to facet on. + + The maximum number of facet categories to return in the results. + + A string search facet. + + + + Creates a facet that narrows down Atlas Search result based on the most frequent + string values in the specified string field. + + The type of the field. + The name of the facet. + The field path to facet on. + + The maximum number of facet categories to return in the results. + + A string search facet. + + + + Options for fuzzy search. + + + + + Gets or sets the maximum number of single-character edits required to match the + specified search term. + + + + + Gets or sets the number of variations to generate and search for. + + + + + Gets or sets the number of characters at the beginning of each term in the result that + must exactly match. + + + + + Represents a result of highlighting. + + + + + Initializes a new instance of the class. + + document field which returned a match. + Score assigned to this result. + Objects containing the matching text and the surrounding text. + + + + Gets the document field which returned a match. + + + + + Gets the score assigned to this result. + + + + + Gets one or more objects containing the matching text and the surrounding text + (if any). + + + + + Represents the matching text or the surrounding text of a highlighting result. + + + + + Initializes a new instance of the class. + + Type of search highlight. + Text from the field which returned a match. + + + + Gets or sets the type of text, matching or surrounding. + + + + + Gets the text from the field which returned a match. + + + + + Represents the type of text in a highlighting result, matching or surrounding. + + + + + Indicates that the text contains a match. + + + + + Indicates that the text contains the text content adjacent to a matching string. + + + + + Options for highlighting. + + The type of the document. + + + + Initializes a new instance of the class. + + The document field to search. + maximum number of characters to examine. + The number of high-scoring passages. + + + + Creates highlighting options. + + The document field to search. + + The maximum number of characters to examine on a document when performing highlighting + for a field. + + + The number of high-scoring passages to return per document in the highlighting results + for each field. + + Highlighting options. + + + + Gets or sets the maximum number of characters to examine on a document when performing + highlighting for a field. + + + + + Gets or sets the number of high-scoring passages to return per document in the + highlighting results for each field. + + + + + Gets or sets the document field to search. + + + + + Renders the options to a . + + The render arguments. + A . + + + + A search count result set. + + + + + Initializes a new instance of the class. + + Lower bound for this result set. + Total for this result set. + + + + Gets the lower bound for this result set. + + + + + Gets the total for this result set. + + + + + A search facet bucket result set. + + + + + Initializes a new instance of the class. + + count of documents in this facet bucket. + Unique identifier that identifies this facet bucket. + + + + Gets the count of documents in this facet bucket. + + + + + Gets the unique identifier that identifies this facet bucket. + + + + + A search facet result set. + + + + + Initializes a new instance of the class. + + An array of bucket result sets. + + + + Gets an array of bucket result sets. + + + + + A result set for a search metadata query. + + + + + Initializes a new instance of the class. + + Count result set. + Facet result sets. + + + + Gets the count result set. + + + + + Gets the facet result sets. + + + + + Options for search. + + The type of the document. + + + + Gets or sets the options for counting the search results. + + + + + Gets or sets the options for highlighting. + + + + + Gets or sets the index name. + + + + + Gets or sets a flag that specifies whether to perform a full document lookup on the backend database + or return only stored source fields directly from Atlas Search. + + + + + Gets or sets a flag that specifies whether to return a detailed breakdown + of the score for each document in the result. + + + + + Gets or sets the sort specification. + + + + + Gets or sets the options for tracking search terms. + + + + + Gets or sets the "after" reference point for pagination. + When set, the search retrieves documents starting immediately after the specified reference point. + + + + + Gets or sets the "before" reference point for pagination. + When set, the search retrieves documents starting immediately before the specified reference point. + + + + + Base class for search paths. + + The type of the document. + + + + Renders the path to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to + . + + The field. + + The result of the conversion. + + + + + Performs an implicit conversion from a field name to . + + The field name. + + The result of the conversion. + + + + + Performs an implicit conversion from an array of to + . + + The array of fields. + + The result of the conversion. + + + + + Performs an implicit conversion from a list of to + . + + The list of fields. + + The result of the conversion. + + + + + Performs an implicit conversion from an array of field names to + . + + The array of field names. + + The result of the conversion. + + + + + Performs an implicit conversion from an array of field names to + . + + The list of field names. + + The result of the conversion. + + + + + Renders the field. + + The field definition. + The render arguments. + The rendered field. + + + + A builder for a search path. + + The type of the document. + + + + Creates a search path that searches using the specified analyzer. + + The field definition + The name of the analyzer. + An analyzer search path. + + + + Creates a search path that searches using the specified analyzer. + + The type of the field. + The field definition + The name of the analyzer. + An analyzer search path. + + + + Creates a search path for multiple fields. + + The collection of field definitions. + A multi-field search path. + + + + Creates a search path for multiple fields. + + The array of field definitions. + A multi-field search path. + + + + Creates a search path for multiple fields. + + The type of the fields. + The array of field definitions. + A multi-field search path. + + + + Creates a search path for a single field. + + The field definition. + A single-field search path. + + + + Creates a search path for a single field. + + The type of the field. + The field definition. + A single-field search path. + + + + Creates a search path that uses special characters in the field name + that can match any character. + + + The wildcard string that the field name must match. + + A wildcard search path. + + + + Options for atlas search phrase operator. + + + + + The score modifier. + + + + + The allowable distance between words in the query phrase. + + + + + The name of the synonym mapping definition in the index definition. Value can't be an empty string (e.g. ""). + + + + + Base class for search queries. + + + + + Renders the query to a . + + A . + + + + Performs an implicit conversion from a string to . + + The string. + + The result of the conversion. + + + + + Performs an implicit conversion from an array of strings to . + + The array of strings. + + The result of the conversion. + + + + + Performs an implicit conversion from a list of strings to . + + The list of strings. + + The result of the conversion. + + + + + A query definition for a single string. + + + + + Initializes a new instance of the class. + + The query string. + + + + + + + A query definition for multiple strings. + + + + + Initializes a new instance of the class. + + The query strings. + + + + + + + Object that specifies range of scalar and DateTime values. + + The type of the range value. + + + Empty range. + + + + Initializes a new instance of the class. + + The lower bound of the range. + The upper bound of the range + Indicates whether the lower bound of the range is inclusive. + Indicates whether the upper bound of the range is inclusive. + + + Gets the value that indicates whether the upper bound of the range is inclusive. + + + Gets the value that indicates whether the lower bound of the range is inclusive. + + + Gets the upper bound of the range. + + + Gets the lower bound of the range. + + + + A builder for a SearchRange. + + + + + Creates a greater than search range. + + The type of the value. + The value. + Search range. + + + + Adds a greater than value to a search range. + + The type of the value. + Search range. + The value. + Search range. + + + + Creates a greater or equal than search range. + + The type of the value. + The value. + Search range. + + + + Adds a greater or equal than value to a search range. + + The type of the value. + Search range. + The value. + Search range. + + + + Creates a less than search range. + + The type of the value. + The value. + Search range. + + + + Adds a less than value to a search range. + + The type of the value. + Search range. + The value. + Search range. + + + + Creates a less than or equal search range. + + The type of the value. + The value. + search range. + + + + Adds a less than or equal value to a search range. + + The type of the value. + Search range. + The value. + search range. + + + + Object that specifies the boundaries for a range query. + + The type of the range value. + + + Empty range. + + + + Initializes a new instance of the class. + + The lower bound of the range. + The upper bound of the range. + + + Gets the upper bound of the range. + + + Gets the lower bound of the range. + + + + Represents a bound value. + + The type of the bound value. + + + + Gets the bound value. + + + + + Gets whether the bound is inclusive or not. + + + + + Initializes a new instance of the class. + + The value of the bound. + Indicates whether the bound is inclusive or not. + + + + A builder for a SearchRangeV2. + + + + + Creates a greater than search range. + + The type of the value. + The value. + Search range. + + + + Adds a greater than value to a search range. + + The type of the value. + Search range. + The value. + Search range. + + + + Creates a greater or equal than search range. + + The type of the value. + The value. + Search range. + + + + Adds a greater or equal than value to a search range. + + The type of the value. + Search range. + The value. + Search range. + + + + Creates a less than search range. + + The type of the value. + The value. + Search range. + + + + Adds a less than value to a search range. + + The type of the value. + Search range. + The value. + Search range. + + + + Creates a less than or equal search range. + + The type of the value. + The value. + search range. + + + + Adds a less than or equal value to a search range. + + The type of the value. + Search range. + The value. + search range. + + + + Base class for search score modifiers. + + The type of the document. + + + + Renders the score modifier to a . + + The render arguments. + A . + + + + A builder for a score modifier. + + The type of the document. + + + + Creates a score modifier that multiplies a result's base score by a given number. + + The number to multiply the default base score by. + + A boost score modifier. + + + + + Creates a score modifier that multiples a result's base score by the value of a numeric + field in the documents. + + + The path to the numeric field whose value to multiply the default base score by. + + + The numeric value to substitute if the numeric field is not found in the documents. + + + A boost score modifier. + + + + + Creates a score modifier that multiplies a result's base score by the value of a numeric + field in the documents. + + + The path to the numeric field whose value to multiply the default base score by. + + + The numeric value to substitute if the numeric field is not found in the documents. + + + A boost score modifier. + + + + + Creates a score modifier that replaces the base score with a given number. + + The number to replace the base score with. + + A constant score modifier. + + + + + Creates a score modifier that computes the final score through an expression. + + The expression used to compute the score. + + A function score modifier. + + + + + Represents the scoreDetails object for a document from a $search result. + + + + + Initializes a new instance of the class. + + Contribution towards the score by a subset of the scoring formula. + Subset of the scoring formula. + Breakdown of the score for each match in the document. + + + + Gets the contribution towards the score by a subset of the scoring formula. + + + + + Gets the subset of the scoring formula including details about how the document + was scored and factors considered in calculating the score. + + + + + Breakdown of the score for each match in the document based on the subset of the scoring formula. + (if any). + + + + + Base class for search score functions. + + The type of the document. + + + + Renders the score function to a . + + The render arguments. + A . + + + + A builder for a score function. + + The type of the document. + + + + Creates a function that adds a series of numbers. + + An array of expressions, which can have negative values. + An addition score function. + + + + Creates a function that adds a series of numbers. + + An array of expressions, which can have negative values. + An addition score function. + + + + Creates a function that represents a constant number. + + Number that indicates a fixed value. + A constant score function. + + + + Creates a function that decays, or reduces by multiplying, the final scores of the + documents based on the distance of a numeric field from a specified origin point. + + The path to the numeric field. + The point of origin from which to calculate the distance. + + The distance from plus or minus at + which scores must be multiplied. + + + The rate at which to multiply score values, which must be a positive number between + 0 and 1 exclusive. + + + The number of use to determine the distance from . + + A Guassian score function. + + + + Creates a function that decays, or reduces by multiplying, the final scores of the + documents based on the distance of a numeric field from a specified origin point. + + The path to the numeric field. + The point of origin from which to calculate the distance. + + The distance from plus or minus at + which scores must be multiplied. + + + The rate at which to multiply score values, which must be a positive number between + 0 and 1 exclusive. + + + The number of use to determine the distance from . + + A Guassian score function. + + + + Creates a function that calculates the base-10 logarithm of a number. + + The number. + A logarithmic score function. + + + + Creates a function that adds 1 to a number and then calculates its base-10 logarithm. + + The number. + A logarithmic score function. + + + + Creates a function that multiplies a series of numbers. + + An array of expressions, which can have negative values. + A multiplication score function. + + + + Creates a function that multiplies a series of numbers. + + An array of expressions, which can have negative values. + A mulitplication score function. + + + + Creates a function that incorporates an indexed numeric field value into the score. + + The path to the numeric field. + + The value to use if the numeric field specified using is + missing in the document. + + A path score function. + + + + Creates a function that incorporates an indexed numeric field value into the score. + + The path to the numeric field. + + The value to use if the numeric field specified using is + missing in the document. + + A path score function. + + + + Creates a function that represents the relevance score, which is the score Atlas Search + assigns documents based on relevance. + + A relevance score function. + + + + Base class for span clauses. + + + + + + Span clause type. + + + + + Initializes a new instance of the class. + + The clause type. + + + + Renders the span clause to a . + + The render arguments. + A . + + + + A builder for a span clause. + + The type of the document. + + + + Creates a span clause that matches near the beginning of the string. + + The span operator. + The highest position in which to match the query. + A first span clause. + + + + Creates a span clause that matches multiple string found near each other. + + The clauses. + The allowable distance between words in the query phrase. + Whether to require that the clauses appear in the specified order. + A near span clause. + + + + Creates a span clause that matches any of its subclauses. + + The clauses. + An or span clause. + + + + Creates a span clause that matches any of its subclauses. + + The clauses. + An or span clause. + + + + Creates a span clause that excludes certain strings from the search results. + + Clause to be included. + Clause to be excluded. + A subtract span clause. + + + + Creates a span clause that matches a single term. + + The indexed field or fields to search. + The string or strings to search for. + A term span clause. + + + + Creates a span clause that matches a single term. + + The type of the field. + The indexed field or fields to search. + The string or string to search for. + A term span clause. + + + + Options for atlas search text operator. + + + + + The options for fuzzy search. + + + + + The criteria to use to match the terms in the query. Value can be either "any" or "all". + Defaults to "all" if omitted. + + + + + The score modifier. + + + + + The name of the synonym mapping definition in the index definition. Value can't be an empty string (e.g. ""). + + + + + Options for tracking the search query. + + + + + Text or term associated with the query to track. You can specify only one term per query. + + + + + Represents an Atlas search index type. + + + + + A search index type. + + + + + A vector search index type. + + + + + A server session. + + + + + + + + + + + + + + + + + + + + + Represents server versions. + + Only major/minor versions are represented. + + + + Server version 2.6. + + + + + Server version 3.0. + + + + + Server version 3.2. + + + + + Server version 2.6. + + + + + Server version 3.6. + + + + + Server version 4.0. + + + + + Server version 4.2. + + + + + Server version 4.4. + + + + + Server version 4.7. + + + + + Server version 4.8. + + + + + Server version 4.9. + + + + + Server version 5.0. + + + + + Server version 5.1. + + + + + Server version 5.2. + + + + + Server version 5.3. + + + + + Server version 6.0. + + + + + Server version 6.1. + + + + + Server version 6.2. + + + + + Server version 6.3. + + + + + Server version 7.0. + + + + + Server version 7.1. + + + + + Server version 7.2. + + + + + Server version 7.3. + + + + + Server version 8.0. + + + + + Server version 8.1. + + + + + Server version 8.2. + + + + + Server version 8.3. + + + + + A definition of a single field to be set. + + The type of the document. + + + + Renders the SetFieldDefinition. + + The render arguments. + The rendered SetFieldDefinition. + + + + A SetFieldDefinition that uses a field and a a constant to define the field to be set. + + The type of the document. + The type of the field. + + + + Initializes an instance of ConstantSetFieldDefinition. + + The field. + The value. + + + + + + + Defines the fields to be set by a $set stage. + + The type of the document. + + + + Renders the set field definitions. + + The render arguments. + The rendered set field definitions. + + + + A subclass of SetFieldDefinitions containing a list of SetFieldDefinition instances to define the fields to be set. + + The type of the document. + + + + Initializes an instances ListSetFieldDefinitions. + + The set field definitions. + + + + Gets the list of SetFieldDefinition instances. + + + + + + + + A subclass of SetFieldDefinition that uses an Expression to define the fields to be set. + + The type of the document. + The type of object specifying the fields to set. + + + + Initializes an instance of ExpressionSetFieldDefinitions. + + The expression. + + + + + + + A builder for SetFieldDefinitions. + + The type of the document. + + + + Set a field to a value using a constant. + + The type of the field. + The field. + The value. + An instance of ListSetFieldDefinitions to which further set field definitions can be added. + + + + Set a field to a value using an expression to specify the field and a constant to specify the value. + + The type of the field. + The field. + The value. + An instance of ListSetFieldDefinitions to which further set field definitions can be added. + + + + Extension methods to add additional set field definitions to an existing instance of ListSetFieldDefinitions. + + + + + Set an additional field to value using a constant. + + The type of the document. + The type of the field. + The existing ListSetFieldDefinitions. + The field. + The value. + The ListSetFieldDefinitions instance with a SetFieldDefinition added. + + + + Set an additional field to value using an Expression to specify the field and a constant to specify the value. + + The type of the document. + The type of the field. + The existing ListSetFieldDefinitions. + The field. + The value. + The ListSetFieldDefinitions instance with a SetFieldDefinition added. + + + + Represents a setting that may or may not have been set. + + The type of the value. + + + + Gets the value of the setting. + + + + + Gets a value indicating whether the setting has been set. + + + + + Resets the setting to the unset state. + + + + + Gets a canonical string representation for this setting. + + A canonical string representation for this setting. + + + + Represents a window for a SetWindowFields window method. + + + + + The direction of the sort. + + + + + Ascending. + + + + + Descending. + + + + + Base class for sorts. + + The type of the document. + + + + Renders the sort to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + A based sort. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + + + + A JSON based sort. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + + + + An based sort. + + The type of the document. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + + + + Extension methods for SortDefinition. + + + + + Combines an existing sort with an ascending field. + + The type of the document. + The sort. + The field. + + A combined sort. + + + + + Combines an existing sort with an ascending field. + + The type of the document. + The sort. + The field. + + A combined sort. + + + + + Combines an existing sort with an descending field. + + The type of the document. + The sort. + The field. + + A combined sort. + + + + + Combines an existing sort with an descending field. + + The type of the document. + The sort. + The field. + + A combined sort. + + + + + Creates a descending sort on the computed relevance score of atlas search. + + A meta search score sort. + + + + Creates a ascending sort on the computed relevance score of atlas search. + + A meta search score sort. + + + + Combines an existing sort with a descending sort on the computed relevance score of a text search. + The field name should be the name of the projected relevance score field. + + The type of the document. + The sort. + The field. + + A combined sort. + + + + + A builder for a . + + The type of the document. + + + + Creates an ascending sort on a value rather than on a field of a document. For example, "$sort : 1". + This is used when sorting primitive values like strings or numbers, but can also be used to sort whole documents. + + A value ascending sort. + + + + Creates an ascending sort based on a specific field within the document. For example, "$sort : { field : 1 }". + This is used when values are documents, and you want to sort by a particular field's value. + + The field. + An ascending sort. + + + + Creates an ascending sort based on a specific field within the document. For example, "$sort : { field : 1 }". + This is used when values are documents, and you want to sort by a particular field's value. + + The field. + An ascending sort. + + + + Creates a combined sort. + + The sorts. + A combined sort. + + + + Creates a combined sort. + + The sorts. + A combined sort. + + + + Creates a descending sort on a value rather than on a field of a document. For example, "$sort : -1". + This is used when sorting primitive values like strings or numbers, but can also be used to sort whole documents. + + A value descending sort. + + + + Creates a descending sort based on a specific field within the document. For example, "$sort: { field: -1 }". + This is used when values are documents, and you want to sort by a particular field's value. + + The field. + A descending sort. + + + + Creates a descending sort based on a specific field within the document. For example, "$sort: { field: -1 }". + This is used when values are documents, and you want to sort by a particular field's value. + + The field. + A descending sort. + + + + Creates a descending sort on the computed relevance score of atlas search. + + A meta search score sort. + + + + Creates a ascending sort on the computed relevance score of atlas search. + + A meta search score sort. + + + + Creates a descending sort on the computed relevance score of a text search. + The name of the key should be the name of the projected relevance score field. + + The field. + A meta text score sort. + + + + Represents the settings for using SSL. + + + + + Gets or sets a value indicating whether to check for certificate revocation. + + + + + Gets or sets the client certificates. + + + + + Gets or sets the client certificate selection callback. + + + + + Gets or sets the enabled SSL protocols. + + + + + Gets or sets the server certificate validation callback. + + + + + Gets the client certificate collection. + + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Clones an SslSettings. + + The cloned SslSettings. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Freezes the settings. + + The frozen settings. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + Represents a value that is either a string or a BsonRegularExpression. + + + + + Implicit conversion from string to StringOrRegularExpression. + + A StringOrRegularExpression. + A StringOrRegularExpression. + + + + Implicit conversion from BsonRegularExpression to StringOrRegularExpression. + + A StringOrRegularExpression. + A StringOrRegularExpression. + + + + Implicit conversion from Regex to StringOrRegularExpression. + + A StringOrRegularExpression. + A StringOrRegularExpression. + + + + Initializes an instance of a StringOrRegularExpression. + + A string value. + + + + Initializes an instance of a StringOrRegularExpression. + + A BsonRegularExpression value. + + + + Gets the BsonRegularExpression value (returns null if value is not a BsonRegularExpression). + + + + + Gets the string value (returns null if value is not a string). + + + + + Gets the type of the value. + + + + + Represents text search options. + + + + + Gets or sets whether a text search should be case sensitive. + + + + + Gets or sets whether a text search should be diacritic sensitive. + + + + + Gets or sets the language for a text search. + + + + + Base class for updates. + + The type of the document. + + + + Renders the update to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The pipeline. + + The result of the conversion. + + + + + A based update definition. + + The type of the document. + + + + Initializes a new instance of the class. + + The pipeline. + + + + Gets the pipeline. + + + + + + + + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + The translation options. + + A that represents this instance. + + + + + A based update. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + + + + A JSON based update. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + + + + An based update. + + The type of the document. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + + + + Extension methods for UpdateDefinition. + + + + + Combines an existing update with an add to set operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with an add to set operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with an add to set operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + + A combined update. + + + + + Combines an existing update with an add to set operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + + A combined update. + + + + + Combines an existing update with a bitwise and operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a bitwise and operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a bitwise or operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a bitwise or operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a bitwise xor operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a bitwise xor operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a current date operator. + + The type of the document. + The update. + The field. + The type. + + A combined update. + + + + + Combines an existing update with a current date operator. + + The type of the document. + The update. + The field. + The type. + + A combined update. + + + + + Combines an existing update with an increment operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with an increment operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a max operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a max operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a min operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a min operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a multiply operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a multiply operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The filter. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The filter. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The filter. + + A combined update. + + + + + Combines an existing update with a push operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a push operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a push operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + The slice. + The position. + The sort. + + A combined update. + + + + + Combines an existing update with a push operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + The slice. + The position. + The sort. + + A combined update. + + + + + Combines an existing update with a field renaming operator. + + The type of the document. + The update. + The field. + The new name. + + A combined update. + + + + + Combines an existing update with a field renaming operator. + + The type of the document. + The update. + The field. + The new name. + + A combined update. + + + + + Combines an existing update with a set operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a set operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a set on insert operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a set on insert operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with an unset operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + Combines an existing update with an unset operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + The type to use for a $currentDate operator. + + + + + A date. + + + + + A timestamp. + + + + + A builder for an . + + The type of the document. + + + + Creates an add to set operator. + + The type of the item. + The field. + The value. + An add to set operator. + + + + Creates an add to set operator. + + The type of the item. + The field. + The value. + An add to set operator. + + + + Creates an add to set operator. + + The type of the item. + The field. + The values. + An add to set operator. + + + + Creates an add to set operator. + + The type of the item. + The field. + The values. + An add to set operator. + + + + Creates a bitwise and operator. + + The type of the field. + The field. + The value. + A bitwise and operator. + + + + Creates a bitwise and operator. + + The type of the field. + The field. + The value. + A bitwise and operator. + + + + Creates a bitwise or operator. + + The type of the field. + The field. + The value. + A bitwise or operator. + + + + Creates a bitwise or operator. + + The type of the field. + The field. + The value. + A bitwise or operator. + + + + Creates a bitwise xor operator. + + The type of the field. + The field. + The value. + A bitwise xor operator. + + + + Creates a bitwise xor operator. + + The type of the field. + The field. + The value. + A bitwise xor operator. + + + + Creates a combined update. + + The updates. + A combined update. + + + + Creates a combined update. + + The updates. + A combined update. + + + + Creates a current date operator. + + The field. + The type. + A current date operator. + + + + Creates a current date operator. + + The field. + The type. + A current date operator. + + + + Creates an increment operator. + + The type of the field. + The field. + The value. + An increment operator. + + + + Creates an increment operator. + + The type of the field. + The field. + The value. + An increment operator. + + + + Creates a max operator. + + The type of the field. + The field. + The value. + A max operator. + + + + Creates a max operator. + + The type of the field. + The field. + The value. + A max operator. + + + + Creates a min operator. + + The type of the field. + The field. + The value. + A min operator. + + + + Creates a min operator. + + The type of the field. + The field. + The value. + A min operator. + + + + Creates a multiply operator. + + The type of the field. + The field. + The value. + A multiply operator. + + + + Creates a multiply operator. + + The type of the field. + The field. + The value. + A multiply operator. + + + + Creates an update pipeline. + + The pipeline. + An update pipeline. + + + + Creates a pop operator. + + The field. + A pop operator. + + + + Creates a pop first operator. + + The field. + A pop first operator. + + + + Creates a pop operator. + + The field. + A pop operator. + + + + Creates a pop first operator. + + The field. + A pop last operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The value. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The value. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The values. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The values. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The filter. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The filter. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The filter. + A pull operator. + + + + Creates a push operator. + + The type of the item. + The field. + The value. + A push operator. + + + + Creates a push operator. + + The type of the item. + The field. + The value. + A push operator. + + + + Creates a push operator. + + The type of the item. + The field. + The values. + The slice. + The position. + The sort. + A push operator. + + + + Creates a push operator. + + The type of the item. + The field. + The values. + The slice. + The position. + The sort. + A push operator. + + + + Creates a field renaming operator. + + The field. + The new name. + A field rename operator. + + + + Creates a field renaming operator. + + The field. + The new name. + A field rename operator. + + + + Creates a set operator. + + The type of the field. + The field. + The value. + A set operator. + + + + Creates a set operator. + + The type of the field. + The field. + The value. + A set operator. + + + + Creates a set on insert operator. + + The type of the field. + The field. + The value. + A set on insert operator. + + + + Creates a set on insert operator. + + The type of the field. + The field. + The value. + A set on insert operator. + + + + Creates an unset operator. + + The field. + An unset operator. + + + + Creates an unset operator. + + The field. + An unset operator. + + + + Model for updating many documents. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + The update. + + + + Gets or sets the array filters. + + + The array filters. + + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets the hint. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets the update. + + + + + + + + + + + Model for updating a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + The update. + + + + Gets or sets the array filters. + + + The array filters. + + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets the hint. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets or sets the sort definition. + + + + + Gets the update. + + + + + + + + + + + Options for updating a single document. + + + + + Gets or sets the array filters. + + + The array filters. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets or sets the let document. + + + + + Gets or sets the operation timeout. + + + + + Options for updating a single document and specifying a sort order. + + + + + Gets or sets the sort definition. + + + + + The result of an update operation. + + + + + Gets a value indicating whether the result is acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + The available modified count. + + + + + Gets the matched count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the modified count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the upserted id, if one exists. If IsAcknowledged is false, this will throw an exception. + + + + + Initializes a new instance of the class. + + + + + The result of an acknowledged update operation. + + + + + Initializes a new instance of the class. + + The matched count. + The modified count. + The upserted id. + + + + + + + + + + + + + + + + + + + The result of an acknowledged update operation. + + + + + Gets the instance. + + + + + + + + + + + + + + + + + + + + Vector search options. + + The type of the document. + + + + Gets or sets the filter. + + + + + Gets or sets the name of the index. + + + + + Gets or sets the number of candidates. + + + + + Get or sets a value indicating if exact nearest neighbor (ENN) is to be used, false by default. + If false, approximate nearest neighbor (ANN) is used. + + + + + Represents the details of a write concern error. + + + + + Gets the error code. + + + + + Gets the name of the error code. + + + The name of the error code. + + + + + Gets the error information. + + + + + Gets the error labels. + + + + + Gets the error message. + + + + + + + + Represents the details of a write error. + + + + + Gets the category. + + + + + Gets the error code. + + + + + Gets the error details. + + + + + Gets the error message. + + + + + + + + Base class for a write model. + + The type of the document. + + + + Gets the type of the model. + + + + + Validate model. + + + + + The type of a write model. + + + + + A model to insert a single document. + + + + + A model to delete a single document. + + + + + A model to delete multiple documents. + + + + + A model to replace a single document. + + + + + A model to update a single document. + + + + + A model to update many documents. + + + + diff --git a/local-nugets/mongodb.driver/3.5.0/lib/net6.0/MongoDB.Driver.xml b/local-nugets/mongodb.driver/3.5.0/lib/net6.0/MongoDB.Driver.xml new file mode 100644 index 000000000..c8e614e3b --- /dev/null +++ b/local-nugets/mongodb.driver/3.5.0/lib/net6.0/MongoDB.Driver.xml @@ -0,0 +1,44065 @@ + + + + MongoDB.Driver + + + + + Represents the granularity value for a $bucketAuto stage. + + + + + Gets the E6 granularity. + + + + + Gets the E12 granularity. + + + + + Gets the E24 granularity. + + + + + Gets the E48 granularity. + + + + + Gets the E96 granularity. + + + + + Gets the E192 granularity. + + + + + Gets the POWERSOF2 granularity. + + + + + Gets the R5 granularity. + + + + + Gets the R10 granularity. + + + + + Gets the R20 granularity. + + + + + Gets the R40 granularity. + + + + + Gets the R80 granularity. + + + + + Gets the 1-2-5 granularity. + + + + + Initializes a new instance of the struct. + + The value. + + + + Gets the value. + + + + + Represents options for the BucketAuto method. + + + + + Gets or sets the granularity. + + + + + Represents the result of the $bucketAuto stage. + + The type of the value. + + + + Initializes a new instance of the class. + + The inclusive lower boundary of the bucket. + The count. + + + + Initializes a new instance of the class. + + The minimum. + The maximum. + The count. + + + + Gets the inclusive lower boundary of the bucket. + + + The inclusive lower boundary of the bucket. + + + + + Gets the count. + + + The count. + + + + + Gets the maximum. + + + + + Gets the minimum. + + + + + Represents the _id value in the result of a $bucketAuto stage. + + The type of the values. + + + + Initializes a new instance of the class. + + The minimum. + The maximum. + + + + Gets the max value. + + + + + Gets the min value. + + + + + Static factory class for AggregateBucketAutoResultIdSerializer. + + + + + Creates an instance of AggregateBucketAutoResultIdSerializer. + + The value type. + The value serializer. + A AggregateBucketAutoResultIdSerializer. + + + + A serializer for AggregateBucketAutoResultId. + + The type of the values. + + + + Initializes a new instance of the class. + + The value serializer. + + + + + + + + + + + + + + + + + + + Represents options for the Bucket method. + + The type of the value. + + + + Gets or sets the default bucket. + + + + + Represents the result of the $bucket stage. + + The type of the value. + + + + Initializes a new instance of the class. + + The inclusive lower boundary of the bucket. + The count. + + + + Gets the inclusive lower boundary of the bucket. + + + The inclusive lower boundary of the bucket. + + + + + Gets the count. + + + The count. + + + + + Result type for the aggregate $count stage. + + + + + Initializes a new instance of the class. + + The count. + + + + Gets the count. + + + The count. + + + + + An aggregation expression. + + The type of the source. + The type of the result. + + + + Performs an implicit conversion from to . + + The expression. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The expression. + + The result of the conversion. + + + + + Renders the aggregation expression to a . + + The render arguments. + A . + + + + A based aggregate expression. + + The type of the source. + The type of the result. + + + + + Initializes a new instance of the class. + + The expression. + + + + + + + A based aggregate expression. + + The type of the source. + The type of the result. + + + + + Initializes a new instance of the class. + + The expression. + + + + + + + An aggregate expression for the $documents stage. + + The type of the documents. + + + + + Initializes a new instance of the class. + + The documents. + The document serializer. + + + + + + + Represents static methods for creating facets. + + + + + Creates a new instance of the class. + + The type of the input documents. + The type of the output documents. + The facet name. + The facet pipeline. + + A new instance of the class + + + + + Represents a facet to be passed to the Facet method. + + The type of the input documents. + + + + Initializes a new instance of the class. + + The facet name. + + + + Gets the facet name. + + + + + Gets the output serializer. + + + + + Gets the type of the output documents. + + + + + Renders the facet pipeline. + + The render arguments. + A . + + + + Represents a facet to be passed to the Facet method. + + The type of the input documents. + The type of the output documents. + + + + Initializes a new instance of the class. + + The facet name. + The facet pipeline. + + + + + + + + + + Gets the facet pipeline. + + + + + + + + Options for the aggregate $facet stage. + + The type of the output documents. + + + + Gets or sets the output serializer. + + + + + Represents an abstract AggregateFacetResult with an arbitrary TOutput type. + + + + + Initializes a new instance of the class. + + The name of the facet. + + + + Gets the name of the facet. + + + + + Gets the output of the facet. + + The type of the output documents. + The output of the facet. + + + + Represents the result of a single facet. + + The type of the output. + + + + Initializes a new instance of the class. + + The name. + The output. + + + + Gets or sets the output. + + + The output. + + + + + Represents the results of a $facet stage with an arbitrary number of facets. + + + + + Initializes a new instance of the class. + + The facets. + + + + Gets the facets. + + + + + Base class for implementors of . + + The type of the document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents options for the GraphLookup method. + + The type of from documents. + The type of the as field elements. + The type of the output documents. + + + + Gets or sets the TAsElement serialzier. + + + + + Gets or sets the TFrom serializer. + + + + + Gets or sets the maximum depth. + + + + + Gets or sets the output serializer. + + + + + Gets the filter to restrict the search with. + + + + + Options for the aggregate $lookup stage. + + The type of the foreign document. + The type of the result. + + + + Gets or sets the foreign document serializer. + + + + + Gets or sets the result serializer. + + + + + Options for an aggregate operation. + + + + + Creates an AggregateOptions instance with the specified translation options. + + The translation options. + An AggregateOptions instance. + + + + Gets or sets a value indicating whether to allow disk use. + + + + + Gets or sets the size of a batch. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. This must either be a BsonString representing the index name or a BsonDocument representing the key pattern of the index. + + + + + Gets or sets the "let" definition. + + + + + Gets or sets the maximum await time. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the operation timeout. + + + + + Gets or sets the translation options. + + + + + Gets or sets a value indicating whether to use a cursor. + + + + + Result type for the aggregate $sortByCount stage. + + The type of the identifier. + + + + Initializes a new instance of the class. + + The identifier. + The count. + + + + Gets the count. + + + The count. + + + + + Gets the identifier. + + + The identifier. + + + + + Options for the $unwind aggregation stage. + + The type of the result. + + + + Gets or sets the field with which to include the array index. + + + + + Gets or sets whether to preserve null and empty arrays. + + + + + Gets or sets the result serializer. + + + + + Base class for array filters. + + + + + Gets the type of an item. + + + The type of an item. + + + + + Renders the array filter to a . + + The item serializer. + The serializer registry. + + A . + + + + + Base class for array filters. + + The type of an item. + + + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Renders the array filter to a . + + The item serializer. + The serializer registry. + + A . + + + + + A based array filter. + + The type of an item. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + The document. + + + + + + + + + + + A JSON based array filter. + + The type of an item. + + + + Initializes a new instance of the class. + + The JSON string. + + + + Gets the document. + + + The document. + + + + + Gets the JSON string. + + + The JSON string. + + + + + + + + + + + The default authenticator. + If saslSupportedMechs is not present in the hello or legacy hello results for mechanism negotiation uses SCRAM-SHA-1. + Else, uses SCRAM-SHA-256 if present in the list of mechanisms. Otherwise, uses + SCRAM-SHA-1 the default, regardless of whether SCRAM-SHA-1 is in the list. + + + + + Represents a Libgssapi exception. + + + + + Initializes a new instance of the class. + + Error message from libgssapi. + + + + Initializes a new instance of the class. + + The info. + The context. + + + + SEC_WINNT_AUTH_IDENTITY + + + + + Flag for the AuthIdentity structure. + + + + + SEC_WINNT_AUTH_IDENTITY_ANSI + + + + + SEC_WINNT_AUTH_IDENTITY_UNICODE + + + + + Flags for InitiateSecurityContext. + + + See the TargetDataRep parameter at + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375507(v=vs.85).aspx + + + + + SECURITY_NETWORK_DREP + + + + + SECURITY_NATIVE_DREP + + + + + Flags for EncryptMessage. + + + See the fQOP parameter at + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375378(v=vs.85).aspx. + + + + + SECQOP_WRAP_NO_ENCRYPT + + + + + Creates an exception for the specified error code. + + The error code. + The default message. + A Win32Exception. + + + + Acquires the credentials handle. + + The principal. + The package. + The credential usage. + The logon id. + The identity. + The key callback. + The key argument. + The credential handle. + The timestamp. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa374712(v=vs.85).aspx + + + + + Acquires the credentials handle. + + The principal. + The package. + The credential usage. + The logon id. + The identity. + The key callback. + The key argument. + The credential handle. + The timestamp. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa374712(v=vs.85).aspx + + + + + Deletes the security context. + + The context. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375354(v=vs.85).aspx + + + + + Decrypts the message. + + The context. + The p message. + The sequence number. + The quality. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375211(v=vs.85).aspx + + + + + Encrypts the message. + + The context. + The quality. + The p message. + The sequence number. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375378(v=vs.85).aspx + + + + + Enumerates the security packages. + + The pc packages. + The pp package information. + A result code. + + http://msdn.microsoft.com/en-us/library/aa375397%28v=VS.85%29.aspx + + + + + Frees the context buffer. + + The context buffer. + A result code. + + http://msdn.microsoft.com/en-us/library/aa375416(v=vs.85).aspx + + + + + Frees the credentials handle. + + The sspi handle. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375417(v=vs.85).aspx + + + + + Initializes the security context. + + The credential handle. + The in context PTR. + Name of the target. + The flags. + The reserved1. + The data representation. + The input buffer. + The reserved2. + The out context handle. + The output buffer. + The out attributes. + The timestamp. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375506(v=vs.85).aspx + + + + + Initializes the security context. + + The credential handle. + The in context handle. + Name of the target. + The flags. + The reserved1. + The data representation. + The input buffer. + The reserved2. + The out context. + The output buffer. + The out attributes. + The timestamp. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375506(v=vs.85).aspx + + + + + Queries the context attributes. + + The in context handle. + The attribute. + The sizes. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa379326(v=vs.85).aspx + + + + + Flags for QueryContextAttributes. + + + See the ulAttribute parameter at + http://msdn.microsoft.com/en-us/library/windows/desktop/aa379326(v=vs.85).aspx. + + + + + SECPKG_ATTR_SIZES + + + + + A SecBuffer structure. + + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa379814(v=vs.85).aspx + + + + + A SecBufferDesc structure. + + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa379815(v=vs.85).aspx + + + + + To the byte array. + + A byte array. + Object has already been disposed!!! + + + + Types for the SecurityBuffer structure. + + + + + SECBUFFER_VERSION + + + + + SECBUFFER_EMPTY + + + + + SECBUFFER_DATA + + + + + SECBUFFER_TOKEN + + + + + SECBUFFER_PADDING + + + + + SECBUFFER_STREAM + + + + + Flags for AcquireCredentialsHandle. + + + See the fCredentialUse at http://msdn.microsoft.com/en-us/library/windows/desktop/aa374712(v=vs.85).aspx. + + + + + SECPKG_CRED_OUTBOUND + + + + + A SecPkgContext_Sizes structure. + + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa380097(v=vs.85).aspx + + + + + A SecPkgInfo structure. + + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa380104(v=vs.85).aspx + + + + + Flags for InitiateSecurityContext. + + + See the fContextReq parameter at + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375507(v=vs.85).aspx + + + + + ISC_REQ_MUTUAL_AUTH + + + + + ISC_REQ_CONFIDENTIALITY + + + + + ISC_REQ_INTEGRITY + + + + + A SecHandle structure. + + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa380495(v=vs.85).aspx + + + + + Gets a value indicating whether this instance is zero. + + + true if this instance is zero; otherwise, false. + + + + + Sets to invalid. + + + + + This is represented as a string in AcquireCredentialsHandle. This value will have .ToString() called on it. + + + + + Kerberos + + + + + A wrapper around the SspiHandle structure specifically used as a security context handle. + + + + + A wrapper around the SspiHandle structure specifically used as a credential handle. + + + + + When overridden in a derived class, executes the code required to free the handle. + + + true if the handle is released successfully; otherwise, in the event of a catastrophic failure, false. In this case, it generates a releaseHandleFailed MDA Managed Debugging Assistant. + + + + + Thrown from a win32 wrapped operation. + + + + + Initializes a new instance of the class. + + The error code. + + + + Initializes a new instance of the class. + + The error code. + The message. + + + + Initializes a new instance of the class. + + The info. + The context. + + + + Thrown from a GSSAPI-related method. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The info. + The context. + + + + Represents a SASL mechanism. + + + + + Gets the name of the mechanism. + + + + + Gets the name of the database. + + + + + Creates speculative authentication step if supported. + + Speculative authenticate step if supported by mechanism, otherwise null. + + + + Optionally customizes SASL start command. + + Sasl Start Command + Mutated command + + + + Method called when server returns 391 error (ReauthenticationRequired), so auth mechanism can clear cache or perform another activity to reset mechanism internal state. + + + + + Initializes the SASL conversation for the connection. + + The SASL conversation. + The connection description. + The initial SASL step. + + + + Tries to handle the authentication exception. + + The exception. + The step caused the exception. + The SASL conversation. + The connection description. + Next step to continue authentication with. + true if the exception was handled and authentication can be continued with ; otherwise false + + + + SASL Mechanism Registry. + + + + + Registers new SASL mechanism factory. + + Mechanism name. + Factory method. + + + + Creates SASL mechanism if possible. + + Sasl context. + When this method succeeds contains the created mechanism, otherwise null. + true if the requested provider was created, otherwise false. + + + + Represents a SASL step. + + + + + Executes the SASL step and create the next step. + + The SASL conversation. + The bytes received from server. + The cancellation token. + The next SASL step. + + + + Executes the SASL step and create the next step. + + The SASL conversation. + The bytes received from server. + The cancellation token. + The next SASL step. + + + + Represents OIDC callback request. + + + + + Initializes a new instance of the class. + + Callback API version number. + User name. + + + + Callback API version number. + + + + + User name. + + + + + Represents OIDC callback response. + + + + + Initializes a new instance of the class. + + OIDC Access Token string. + Expiration duration for the Access Token. + + + + OIDC Access Token string. + + + + + Expiration duration for the Access Token. + + + + + Represents OIDC callback provider. + + + + + Get OIDC callback response. + + The information used by callbacks to authenticate with the Identity Provider. + The cancellation token. + OIDC callback response + + + + Get OIDC callback response. + + The information used by callbacks to authenticate with the Identity Provider. + The cancellation token. + OIDC callback response + + + + Represents SASL context. + + + + + Remove endpoint of the current connection. + + + + + Cluster's end points. + + + + + Identity. + + + + + Identity Evidence. + + + + + Configured SASL Mechanism. + + + + + SASL Mechanism's properties. + + + + + Represents a SASL conversation. + + + + + Initializes a new instance of the class. + + The connection identifier. + The connection remote EndPoint + + + + Gets the connection identifier. + + + + + Gets the connection remote EndPoint. + + + + + Registers the item for disposal. + + The disposable item. + + + + + + + Per RFC5802: https://tools.ietf.org/html/rfc5802 + "SCRAM is a SASL mechanism whose client response and server challenge + messages are text-based messages containing one or more attribute- + value pairs separated by commas. Each attribute has a one-letter + name." + + + + + Utility class for Sasl string preparation. + + + + + Return the SASLPrep-canonicalised version of the given for use as a query string. + This implements the {@code SASLPrep} algorithm defined in RFC 4013. + See RFC 3454, Section 7 for discussion of what a + query string is. + + The string to canonicalise. + The canonicalised string. + + + + Return the SASLPrep-canonicalised version of the given for use as a stored string. + This implements the SASLPrep algorithm defined in RFC 4013. + See RFC 3454, Section 7 for discussion of what a + stored string is. + + The string to canonicalise. + The canonicalised string. + + + + Return true if the given is an ASCII control character as defined by + RFC 3454, Appendix C.2.1. + + The character. + Whether the given character is an ASCII control character. + + + + Return true if the given is a "change display properties" or a deprecated + character as defined by RFC 3454, Appendix C.8. + + The Unicode character's codepoint. + Whether the codepoint is a "change display properties" or a deprecated character. + + + + Returns the number of characters required to represent a specified Unicode character. + + The Unicode character's codepoint. + Number of characters required to represent a specified Unicode character. + + + + Return true if the given is inappropriate for canonical representation + characters as defined by RFC 3454, Appendix C.7. + + The Unicode character's codepoint. + True if the codepoint is inappropriate for canonical. + + + + Return true if the given is inappropriate for plain text characters as defined + by RFC 3454, Appendix C.6. + + The Unicode character's codepoint. + True if the codepoint is inappropriate for plain text. + + + + Returns whether or not a Unicode character represented by a codepoint is defined in Unicode. + A character is considered to be defined if its Unicode designation is "Cn" (other, not assigned) OR if it is + part of a surrogate pair. + + The Unicode character's codepoint. + Whether or not the Unicode character represnted by codepoint is defined in Unicode. + + + + Returns whether or not a Unicode character represented by a codepoint is an "LCat" character. + See RFC 3454: Section 6 and + RFC 3454: Appendix D.2 for more details. + + The Unicode character's codepoint. + Whether or not the character is an "LCat" character. + + + + Returns whether or not a Unicode character represented by a codepoint is an "RandALCat" character. + See RFC 3454: Section 6 and + RFC 3454: Appendix D.1 for more details. + + The Unicode character's codepoint. + Whether or not the character is an "RandALCat" character. + + + + Return true if the given is a "commonly mapped to nothing" character as defined by + RFC 3454, Appendix B.1. + + The character. + Whether the given character is a "commonly mapped to nothing" character. + + + + Return true if the given is a non-ASCII control character as defined by + RFC 3454, Appendix C.2.2. + + The Unicode character's codepoint. + Whether the given character is a non-ASCII control character. + + + + Return true if the given is a non-ASCII space character as defined by + RFC 3454, Appendix C.1.2. + + The character. + Whether the given character is a non-ASCII space character. + + + + Return true if the given is a non-character code point as defined by + RFC 3454, Appendix C.4. + + The Unicode character's codepoint. + Whether the given is a non-character code point. + + + + Return true if the given is a private use character as defined by + RFC 3454, Appendix C.3. + + The Unicode character's codepoint. + Whether if the given codepoint is a private use character. + + + + Return true if the given is a prohibited character as defined by + RFC 4013, Section 2.3. + + The Unicode character's codepoint. + Whether the codepoint is a prohibited character. + + + + Return true if the given is a surrogate code point as defined by + RFC 3454, Appendix C.5. + + The Unicode character's codepoint. + Whether the given is a surrogate code point. + + + + Return true if the given is a tagging character as defined by + RFC 3454, Appendix C.9. + + The Unicode character's codepoint. + True if the codepoint is a tagging character. + + + + An H function as defined in RFC5802. + + The data to hash. Also called "str" in RFC5802. + + + + A Hi function used to compute the SaltedPassword as defined in RFC5802, except with "str" parameter replaced + with a UsernamePassword credential so that the password can be optionally digested/prepped in a secure fashion + before being consumed as the "str" parameter would be in RFC5802's Hi. + + The credential to be digested/prepped before being consumed as the "str" + parameter would be in RFC5802's Hi + The salt. + The iteration count. + + + + An HMAC function as defined in RFC5802, plus the encoding of the data. + + The encoding of the data. + The data. Also called "str" in RFC5802. + The key. + + + + A cache for Client and Server keys, to be used during authentication. + + + + + Try to get a cached entry. + + The key. + The entry. + True if the cache contained an entry for the key. + + + + Add a cached entry. + + The key. + The entry. + + + + Initializes a new instance of the class. + + The source. + The username. + The password. + + + + Initializes a new instance of the class. + Less secure when used in conjunction with SCRAM-SHA-256, due to the need to store the password in a managed + string in order to SaslPrep it. + See Driver Authentication: SCRAM-SHA-256 + for additional details. + + The source. + The username. + The password. + + + + Auto encryption options. + + + + + Initializes a new instance of the class. + + The keyVault namespace. + The kms providers. + The bypass auto encryption flag. + The extra options. + The keyVault client. + The schema map. + The tls options. + The encryptedFields map. + The bypass query analysis flag. + + + + Gets a value indicating whether to bypass automatic encryption. + + + true if automatic encryption should be bypasssed; otherwise, false. + + + + + Gets a value indicating whether to bypass query analysis. + + + + + Gets the data encryption key cache expiration time. + + + + + Gets the encrypted fields map. + Supplying an encryptedFieldsMap provides more security than relying on an encryptedFields obtained from the server. It protects against a malicious server advertising a false encryptedFields. + + + + + Gets the extra options. + + + The extra options. + + + All MongoClient objects in the same process should use the same setting for extraOptions.cryptSharedLibPath, + as it is an error to load more that one crypt_shared dynamic library simultaneously in a single operating system process. + + + + + Gets the key vault client. + + + The key vault client. + + + + + Gets the key vault namespace. + + + The key vault namespace. + + + + + Gets the KMS providers. + + + The KMS providers. + + + + + Gets the tls options. + + + The tls options. + + + + + Gets the schema map. + + + The schema map. + + + + + Sets the data encryption key cache expiration time. If not set, it defaults to 60 seconds. + If set to TimeSpan.Zero, the cache never expires. + + The data encryption key cache expiration time. + + + + Returns a new instance of the class. + + The keyVault namespace. + The kms providers. + The bypass auto encryption flag. + The bypass query analysis flag. + The extra options. + The keyVault client. + The schema map. + The tls options. + The encryptedFields map. + A new instance of . + + + + + + + + + + + + + Contains extensions methods for + + + + + Converts to . + + + The binary vector. + A instance. + + + + A static helper class containing various builders. + + The type of the document. + + + Gets a . + + + Gets an . + + + Gets a . + + + Gets a . + + + Gets a . + + + Gets an . + + + Gets a . + + + Gets a . + + + Gets a . + + + Gets a . + + + Gets a . + + + Gets a . + + + + Represents delete many operation in the scope of BulkWrite operation. + + The type of the document. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Specifies a collation. + The index to use. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Specifies a collation. + The index to use. + + + + Specifies a collation. + + + + + The filter to apply. + + + + + The index to use. + + + + + Represents delete one operation in the scope of BulkWrite operation. + + The type of the document. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Specifies a collation. + The index to use. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Specifies a collation. + The index to use. + + + + Specifies a collation. + + + + + The filter to apply. + + + + + The index to use. + + + + + Represents result or operation. + + + + + The number of documents that were deleted. + + + + + Represents the details of a write error for a particular request. + + + + + Gets the index of the request that had an error. + + + + + Represents insert one operation in the scope of BulkWrite operation. + + The type of the document. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The document. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The document. + + + + The document to insert + + + + + Represents result of operation. + + + + + The id of the inserted document. + + + + + The id of the inserted document. + + + + + Represents base class for all operations in the scope of bulk write. + + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + + + + The namespace on which to perform the operation. + + + + + Options for a bulk write operation. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the comment. + + + + + Gets or sets a value indicating whether the requests are fulfilled in order. + + + + + Gets or sets the let document. + + + + + Gets or sets the operation timeout. + + + + + Represents replace one operation in the scope of BulkWrite operation. + + The type of the document. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + Specifies a collation. + The index to use. + A value indicating whether to insert the document if it doesn't already exist. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + The sort definition to use. + Specifies a collation. + The index to use. + A value indicating whether to insert the document if it doesn't already exist. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + The sort definition to use. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + + + + Specifies a collation. + + + + + The filter to apply. + + + + + The index to use. + + + + + Indicating whether to insert the document if it doesn't already exist. + + + + + Update definition. + + + + + The sort definition to use. + + + + + Represents the result of a bulk write operation. + + + + + Initializes a new instance of the class. + + The request count. + + + + Gets the number of documents that were deleted. + + + + + Gets the number of documents that were inserted. + + + + + Gets a value indicating whether the bulk write operation was acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + The available modified count. + + + + + Gets the number of documents that were matched. + + + + + Gets the number of documents that were actually modified during an update. + + + + + Gets the request count. + + + + + Gets a list with information about each request that resulted in an upsert. + + + + + Represents the result of a bulk write operation. + + The type of the document. + + + + Initializes a new instance of the class. + + The request count. + The processed requests. + + + + Gets the processed requests. + + + + + Result from an acknowledged write concern. + + + + + Initializes a new instance of the class. + + The request count. + The matched count. + The deleted count. + The inserted count. + The modified count. + The processed requests. + The upserts. + + + + + + + + + + + + + + + + + + + + + + + + + Result from an unacknowledged write concern. + + + + + Initializes a new instance of the class. + + The request count. + The processed requests. + + + + + + + + + + + + + + + + + + + + + + + + + Represents update many operation in the scope of BulkWrite operation. + + The type of the document. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + A set of filters specifying to which array elements an update should apply. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + A set of filters specifying to which array elements an update should apply. + + + + A set of filters specifying to which array elements an update should apply. + + + + + Specifies a collation. + + + + + The filter to apply. + + + + + The index to use. + + + + + Indicating whether to insert the document if it doesn't already exist. + + + + + Update definition. + + + + + Represents update one operation in the scope of BulkWrite operation. + + The type of the document. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + A set of filters specifying to which array elements an update should apply. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + A set of filters specifying to which array elements an update should apply. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + The sort definition to use. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + A set of filters specifying to which array elements an update should apply. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + The sort definition to use. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + A set of filters specifying to which array elements an update should apply. + + + + A set of filters specifying to which array elements an update should apply. + + + + + Specifies a collation. + + + + + The filter to apply. + + + + + The index to use. + + + + + Indicating whether to insert the document if it doesn't already exist. + + + + + The sort definition to use. + + + + + Update definition. + + + + + Represents update operation result in the scope of BulkWrite. + + + + + The number of documents that matched the filter. + + + + + The number of documents that were modified. + + + + + The _id field of the upserted document if an upsert occurred. + + + + + Represents the information about one Upsert. + + + + + Gets the id. + + + + + Gets the index. + + + + + + + + + + + Options for a change stream operation. + + + + + Gets or sets the size of the batch. + + + The size of the batch. + + + + + Gets or sets the collation. + + + The collation. + + + + + Gets or sets the comment. + + + The comment. + + + + + Gets or sets the full document. + + + The full document. + + + + + Gets or sets the full document before change. + + + The full document before change. + + + + + Gets or sets the maximum await time. + + + The maximum await time. + + + + + Gets or sets the resume after. + + + The resume after. + + + + + Gets or sets whether the change stream should show expanded events (MongoDB 6.0 and later). + Expanded change stream events include: + + + + + + + + + + + + The value. + + + + + Gets or sets the start after. + + + The start after. + + + + + Gets or sets the start at operation time. + + + The start at operation time. + + + + + Gets or sets the operation timeout. + + + + + Change stream pre and post images options. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The backing document. + + + + Gets the backing document. + + + + + Gets or sets a value indicating whether ChangeStreamPreAndPostImages is enabled. + + + + + Options for a $changeStream stage. + + + + + Gets or sets whether to include all changes for an entire cluster in the change stream. + + + Whether to include all changes for an entire cluster in the change stream. + + + + + Gets or sets the full document. + + + The full document. + + + + + Gets or sets the resume after. + + + The resume after. + + + + + Get or sets the start after. + + + The start after. + + + + + Gets or sets the start at operation time. + + + The start at operation time. + + + + + Represents a bulk write exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + Errors that occurred during the execution of individual write operations. + The results of any successful operations that were performed before the error was encountered. + Write concern errors that occurred while executing the bulk write. + The inner exception. + + + + The results of any successful operations that were performed before the error was encountered. + + + + + Write concern errors that occurred while executing the bulk write. + + + + + Errors that occurred during the execution of individual write operations. + + + + + Options for a bulk write operation. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + + + + + + + Bypass document validation. + + + + + Comment. + + + + + A value indicating is bulk requests are fulfilled in order. + + + + + Let document. + + + + + Gets or sets the operation timeout. + + + + + Whether detailed results for each successful operation should be included in the returned results. + + + + + The write concern to use for this bulk write. + + + + + Represents BulkWrite operation results. + + + + + Indicates whether this bulk write result was acknowledged. + + + + + The total number of documents inserted across all insert operations. + + + + + The total number of documents upserted across all update operations. + + + + + The total number of documents matched across all update operations. + + + + + The total number of documents modified across all update operations. + + + + + The total number of documents deleted across all delete operations. + + + + + The results of each individual insert operation that was successfully performed. + + + + + The results of each individual update operation that was successfully performed. + + + + + The results of each individual delete operation that was successfully performed. + + + + + A client session handle. + + + + + + Initializes a new instance of the class. + + The client. + The options. + The wrapped session. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Client session options. + + + + + When true or unspecified, an application will read its own writes and subsequent + reads will never observe an earlier version of the data. + + + + + Gets or sets the default transaction options. + + + The default transaction options. + + + + + Gets or sets a value indicating whether snapshot reads are requested. + + + true if snapshot reads are requested; otherwise, false. + + + + + A deserializer for doing client side projections. + + The type of the input. + The type of the projection. + + + + Initializes a new instance of the class. + + The input serializer. + The client side projector. + + + + + + + Options for creating a clustered index. + + The document type. + + + + Initializes a new instance of the class. + + + + + Gets or sets the index key, which must currently be {_id: 1}. + + + + + Gets or sets the index name. + + + + + Gets or sets whether the index entries must be unique, which currently must be true. + + + + + Represents a registry of already created clusters. + + + + + Gets the default cluster registry. + + + The default cluster registry. + + + + + Unregisters and disposes the cluster. + + The cluster. + + + + A rendered command. + + The type of the result. + + + + Initializes a new instance of the class. + + The document. + The result serializer. + + + + Gets the document. + + + + + Gets the result serializer. + + + + + Base class for commands. + + The type of the result. + + + + Renders the command to a . + + The serializer registry. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + A based command. + + The type of the result. + + + + Initializes a new instance of the class. + + The document. + The result serializer. + + + + Gets the document. + + + + + Gets the result serializer. + + + + + + + + A JSON based command. + + The type of the result. + + + + Initializes a new instance of the class. + + The json. + The result serializer. + + + + Gets the json. + + + + + Gets the result serializer. + + + + + + + + An based command. + + The type of the result. + + + + Initializes a new instance of the class. + + The object. + The result serializer. + + + + Gets the object. + + + + + Gets the result serializer. + + + + + + + + Represents the options parameter for . + + + + + The byteOrder parameter. + + + + + The format parameter. + + + + + The subType parameter. + + + + + Represents the options parameter for . + This class allows to set 'onError' and 'onNull'. + + The type of 'onError' and 'onNull'. + + + + The onError parameter. + + + + + The onNull parameter. + + + + + Represents the byte order of binary data when converting to/from numerical types using . + + + + + Big endian order. + + + + + Little endian order. + + + + + Represents a cursor that wraps another cursor with a transformation function on the documents. + + The type of from document. + The type of to document. + + + + + Initializes a new instance of the class. + + The wrapped. + The transformer. + + + + + + + + + + + + + + + + Represents a session. + + + + + + Gets the cluster. + + + The cluster. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A handle to a reference counted core session. + + + + + + Initializes a new instance of the class. + + The session. + + + + Initializes a new instance of the class. + + The wrapped. + + + + + + + + + + Core session options. + + + + + Initializes a new instance of the class. + + if set to true this session is causally consistent] + if set to true this session is an implicit session. + if set to true this session is a snapshot session. + The default transaction options. + + + + Gets the default transaction options. + + + The default transaction options. + + + + + Gets a value indicating whether this session is causally consistent. + + + true if this session is causally consistent; otherwise, false. + + + + + Gets a value indicating whether this session is an implicit session. + + + true if this session is an implicit session; otherwise, false. + + + + + Gets a value indicating whether this session is a snapshot session. + + + true if this session is a snapshot session; otherwise, false. + + + + + The state of a transaction. + + + + + Initializes a new instance of the class. + + The transaction number. + The transaction options. + + + + Gets a value indicating whether the transaction is empty. + + + true if the transaction is empty; otherwise, false. + + + + + Gets the transaction state. + + + The transaction state. + + + + + Gets or sets pinned server for the current transaction. + Value has meaning if and only if a transaction is in progress. + + + The pinned server for the current transaction. + + + + + Gets the transaction number. + + + The transaction number. + + + + + Gets the transaction options. + + + The transaction options. + + + + + Gets the recovery token used in sharded transactions. + + + The recovery token. + + + + + Represents the current state of a Core transaction. + + + + + StartTransaction has been called but no operations have been performed yet. + + + + + The transaction is in progress. + + + + + CommitTransaction has been called. + + + + + AbortTransaction has been called. + + + + + The interface for a session in Core. + + + + + Gets the cluster time. + + + The cluster time. + + + + + Gets the current transaction. + + + The current transaction. + + + + + Gets the session Id. + + + The session Id. + + + + + Gets a value indicate whether this instance is causally consistent. + + + true if the session is causally consistent. + + + + + Gets a value indicate whether this session is dirty. + + + true if the session is dirty. + + + + + Gets a value indicating whether this instance is implicit session. + + + true if this instance is implicit session; otherwise, false. + + + + + Gets a value indicating whether this instance is in a transaction. + + + true if this instance is in a transaction; otherwise, false. + + + + + Gets a value indicate whether this instance is a snapshot session. + + + true if the session is a snapshot session. + + + + + Gets the operation time. + + + The operation time. + + + + + Gets the session options. + + + The session options. + + + + + Gets the server session. + + + The server session. + + + + + Gets the snapshot time. + + + The snapshot time. + + + + + Aborts the transaction. + + The cancellation token. + + + + Aborts the transaction. + + The cancellation token. + A Task. + + + + The driver is about to send a command on this session. Called to track session state. + + + + + Advances the cluster time. + + The new cluster time. + + + + Advances the operation time. + + The new operation time. + + + + Advances the transaction id. + + The transaction id. + + + + Commits the transaction. + + The cancellation token. + + + + Commits the transaction. + + The cancellation token. + A Task. + + + + Marks the session as dirty. + + + + + Starts a transaction. + + The transaction options. + + + + Sets the snapshot time if not set. + + The snapshot time. + + + + Called by the driver when the session is used (i.e. sent to the server). + + + + + A handle to a reference counted core session. + + + + + + Increments the reference count of the underlying session and returns a new handle to it. + + A new handle. + + + + An object that represents no core session. + + + + + + Gets the pre-created instance. + + + The instance. + + + + + Returns a new handle to a NoCoreSession object. + + A new handle to the NoCoreSession object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A handle to a core session that should not be disposed when the handle is disposed. + + + + + + Initializes a new instance of the class. + + The wrapped session. + + + + + + + + + + A reference counted core session. + + + + + + Initializes a new instance of the class. + + The wrapped. + + + + Decrements the reference count. + + + + + Increments the reference count. + + + + + An abstract base class for a core session that wraps another core session. + + + + + + Initializes a new instance of the class. + + The wrapped. + if set to true [owns wrapped]. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the wrapped session. + + + The wrapped session. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Determines whether this instance is disposed. + + + true if this instance is disposed; otherwise, false. + + + + + Throws if disposed. + + + + + + Describing the type of the changed object. + + + + + Unknown namespace type. + + + + + Collection. + + + + + Timeseries. + + + + + View. + + + + + Represents information about a cluster. + + + + + Initializes a new instance of the class. + + The cluster identifier. + Whether to make a direct connection. + The last DNS monitor exception (null if there was none). + The type. + The servers. + + + + Gets the cluster identifier. + + + + + Gets the DirectConnection. + + + + + Gets the last DNS monitor exception (null if there was none). + + + + + Gets a value indicating whether this cluster is compatible with the driver. + + + true if this cluster is compatible with the driver; otherwise, false. + + + + + Gets the logical session timeout. + + + + + Gets the servers. + + + + + Gets the cluster state. + + + + + Gets the cluster type. + + + + + + + + + + + + + + + + + Returns a new ClusterDescription with a changed DnsMonitorException. + + The exception. + A ClusterDescription. + + + + Returns a new ClusterDescription with a changed ServerDescription. + + The server description. + A ClusterDescription. + + + + Returns a new ClusterDescription with a ServerDescription removed. + + The end point of the server description to remove. + A ClusterDescription. + + + + Returns a new ClusterDescription with a changed ClusterType. + + The value. + A ClusterDescription. + + + + Represents the data for the event that fires when a cluster description changes. + + + + + Initializes a new instance of the class. + + The old cluster description. + The new cluster description. + + + + Gets the old cluster description. + + + The old cluster description. + + + + + Gets the new cluster description. + + + The new cluster description. + + + + + Represents a cluster identifier. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The value. + + + + Gets the value. + + + The value. + + + + + + + + + + + + + + + + + Represents the state of a cluster. + + + + + The cluster is disconnected. + + + + + The cluster is connected. + + + + + Represents the type of a cluster. + + + + + The type of the cluster is unknown. + + + + + The cluster is a standalone cluster. + + + + + The cluster is a replica set. + + + + + The cluster is a sharded cluster. + + + + + The cluster is in a load balanced mode. + + + + + An election id from the server. + + + + + Initializes a new instance of the class. + + The identifier. + + + + Compares the current object with another object of the same type. + + An object to compare with this object. + + A value that indicates the relative order of the objects being compared. The return value has the following meanings: Value Meaning Less than zero This object is less than the parameter.Zero This object is equal to . Greater than zero This object is greater than . + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Represents a MongoDB cluster. + + + + + Gets the cluster identifier. + + + The cluster identifier. + + + + + Gets the cluster description. + + + The cluster description. + + + + + Gets the cluster settings. + + + The cluster settings. + + + + + Represents the config of a replica set (as reported by one of the members of the replica set). + + + + + Gets an empty replica set config. + + + An empty replica set config. + + + + + Initializes a new instance of the class. + + The members. + The name. + The primary. + The version. + + + + Gets the members. + + + The members. + + + + + Gets the name of the replica set. + + + The name of the replica set. + + + + + Gets the primary. + + + The primary. + + + + + Gets the replica set config version. + + + The replica set config version. + + + + + + + + + + + + + + Represents a selector that selects servers based on multiple partial selectors + + + + + Initializes a new instance of the class. + + The selectors. + + + + + + + + + + Represents a server selector that wraps a delegate. + + + + + Initializes a new instance of the class. + + The selector. + + + + + + + + + + Represents a selector that selects servers based on an end point. + + + + + Initializes a new instance of the class. + + The end point. + + + + + + + + + + Represents a selector that selects servers. + + + + + Selects the servers. + + The cluster. + The servers. + The selected servers. + + + + Represents a selector that selects servers within an acceptable latency range. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The allowed latency range. + + + + + + + + + + + + + + + + Represents a server selector that selects servers based on a collection of servers to deprioritize. + + + + + Initializes a new instance of the class. + + The collection of servers to deprioritize. + + + + + + + + + + Represents a selector that selects a random server. + + + + + Initializes a new instance of the class. + + + + + + + + + + + Represents a selector that selects servers based on a read preference. + + + + + Gets a ReadPreferenceServerSelector that selects the Primary. + + + A server selector. + + + + + Initializes a new instance of the class. + + The read preference. + + + + + + + + + + Represents a server selector that selects writable servers. + + + + + Gets a WritableServerSelector. + + + A server selector. + + + + + Initializes an instance of the WritableServerSelector class. + + + + + Initializes an instance of the WritableServerSelector class. + + The may use secondary criteria. + + + + Returns the may use secondary criteria. + + + + + + + + + + + Represents a compressor source. + + + + + Gets or creates a compressor based on the compressor type. + + The compressor type. + The compressor. + + + + Represents the compressor type. + + + + + The content of the message is uncompressed. This is realistically only used for testing. + + + + + The content of the message is compressed using snappy. + + + + + The content of the message is compressed using zlib. + + + + + The content of the message is compressed using zstandard. + + + + + Represents a compressor. + + + + + Gets the compressor type. + + + + + Compresses the specified stream. + + The input stream. + The output stream. + + + + Decompresses the specified stream. + + The input stream. + The output stream. + + + + Compresses the remainder of , writing the compressed data to + . + + The input stream. + The output stream. + + + + Decompresses the remainder of , writing the uncompressed data to . + + The input stream. + The output stream. + + + + Compressor according to the zlib algorithm. + + + + + Initializes a new instance of the class. + + The compression level. + + + + + + + + + + + + + Represents a cluster builder. + + + + + Initializes a new instance of the class. + + + + + Builds the cluster. + + A cluster. + + + + Configures the cluster settings. + + The cluster settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the connection settings. + + The connection settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the connection pool settings. + + The connection pool settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the logging settings. + + The logging settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the server settings. + + The server settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the SSL stream settings. + + The SSL stream settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the TCP stream settings. + + The TCP stream settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the SOCKS5 proxy settings for the cluster. + + The SOCKS5 proxy settings configurator delegate. + A reconfigured cluster builder. + + + + Subscribes to events of type . + + The type of the event. + The handler. + A reconfigured cluster builder. + + + + Subscribes the specified subscriber. + + The subscriber. + A reconfigured cluster builder. + + + + Extension methods for a ClusterBuilder. + + + + + Configures a cluster builder from a connection string. + + The cluster builder. + The connection string. + A reconfigured cluster builder. + + + + Configures a cluster builder from a connection string. + + The cluster builder. + The connection string. + The server API. + A reconfigured cluster builder. + + + + Configures a cluster builder from a connection string. + + The cluster builder. + The connection string. + A reconfigured cluster builder. + + + + Configures a cluster builder from a connection string. + + The cluster builder. + The connection string. + The server API. + A reconfigured cluster builder. + + + + Configures the cluster to trace events to the specified . + + The builder. + The trace source. + A reconfigured cluster builder. + + + + Configures the cluster to trace command events to the specified . + + The builder. + The trace source. + A reconfigured cluster builder. + + + + Represents settings for a cluster. + + + + + Initializes a new instance of the class. + + Crypt client settings. + The directConnection. + The end points. + The load balanced. + The local threshold. + Maximum size of the server selection wait queue. + Name of the replica set. + The server API. + The server selection timeout. + The pre server selector. + The post server selector. + The connection string scheme. + Limits the number of SRV records used to populate the seedlist during initial discovery, as well as the number of additional hosts that may be added during SRV polling. + The SRV service name which modifies the srv URI to look like: _{srvServiceName}._tcp.{hostname}.{domainname} Defaults to "mongodb". + + + + Gets the crypt client settings. + + + + + Gets the DirectConnection. + + + + + Gets the end points. + + + The end points. + + + + + Gets whether to use load balanced. + + + + + Gets the local threshold. + + + The local threshold. + + + + + Gets the maximum size of the server selection wait queue. + + + The maximum size of the server selection wait queue. + + + + + Gets the name of the replica set. + + + The name of the replica set. + + + + + Gets the connection string scheme. + + + The connection string scheme. + + + + + Gets the server API. + + + The server API. + + + + + Gets the server selection timeout. + + + The server selection timeout. + + + + + Limits the number of SRV records used to populate the seedlist + during initial discovery, as well as the number of additional hosts + that may be added during SRV polling. + + + + + Gets the SRV service name which modifies the srv URI to look like: + _{srvServiceName}._tcp.{hostname}.{domainname} + The default value is "mongodb". + + + + + Gets the pre server selector. + + + The pre server selector. + + + + + Gets the post server selector. + + + The post server selector. + + + + + Returns a new ClusterSettings instance with some settings changed. + + Crypt client settings. + The directConnection. + The end points. + The load balanced. + The local threshold. + Maximum size of the server selection wait queue. + Name of the replica set. + The server API. + The server selection timeout. + The pre server selector. + The post server selector. + The connection string scheme. + Limits the number of SRV records used to populate the seedlist during initial discovery, as well as the number of additional hosts that may be added during SRV polling. + The SRV service name which modifies the srv URI to look like: _{srvServiceName}._tcp.{hostname}.{domainname} Defaults to "mongodb". + A new ClusterSettings instance. + + + + Represents a compressor configuration. + + + + + Initializes an instance of . + + The compressor type. + + + + Gets the compression properties. + + + + + Gets the compressor type. + + + + + + + + + + + Represents settings for a connection pool. + + + + + Initializes a new instance of the class. + + The maintenance interval. + The maximum number of connections. + The minimum number of connections. + Size of the wait queue. + The wait queue timeout. + The maximum concurrently connecting connections. + + + + Gets the maintenance interval. + values indicates that maintenance thread is disabled. + + + The maintenance interval. + + + + + Gets the maximum number of connections a pool may be establishing concurrently. Defaults to 2. + + + The maximum concurrently connecting connections. + + + + + Gets the maximum number of connections. + + + The maximum number of connections. + + + + + Gets the minimum number of connections. + + + The minimum number of connections. + + + + + Gets the size of the wait queue. + + + The size of the wait queue. + + + + + Gets the wait queue timeout. + + + The wait queue timeout. + + + + + Returns a new ConnectionPoolSettings instance with some settings changed. + + The maintenance interval. + The maximum concurrently connecting connections. + The maximum connections. + The minimum connections. + Size of the wait queue. + The wait queue timeout. + A new ConnectionPoolSettings instance. + + + + Represents settings for a connection. + + + + + Initializes a new instance of the class. + + The compressors. + The library information. + Whether the load balanced mode is enabled. + The maximum idle time. + The maximum life time. + The application name. + + + + Gets the name of the application. + + + The name of the application. + + + + + Gets the authenticator factory. + + + The authenticator factory. + + + + + Gets the compressors. + + + The compressors. + + + + + Gets the connection identifier provider. + + + + + Information about a library using the .NET driver. + + + + + Whether the load balanced mode is enabled. + + + + + Gets the maximum idle time. + + + The maximum idle time. + + + + + Gets the maximum life time. + + + The maximum life time. + + + + + Returns a new ConnectionSettings instance with some settings changed. + + The compressors. + The library information. + Whether the load balanced mode is enabled. + The maximum idle time. + The maximum life time. + The application name. + A new ConnectionSettings instance. + + + + Represents the scheme used to construct the connection string. + + + + + Mongodb scheme (mongodb://) + + + + + SRV scheme (mongodb+srv://) + + + + + Represents a connection string. + + + + + Initializes a new instance of the class. + + The connection string. + + + + Initializes a new instance of the class. + + The connection string. + Whether the connection string is resolved. + + + + Gets all the option names. + + + + + Gets all the unknown option names. + + + + + Gets the application name. + + + + + Gets the auth mechanism. + + + + + Gets the auth mechanism properties. + + + + + Gets the auth source. + + + + + Gets the requested compressors. + + + + + Gets the connect timeout. + + + + + Gets the name of the database. + + + + + Gets the directConnection. + + + + + Gets the fsync value of the write concern. + + + + + Gets the heartbeat interval. + + + + + Gets the heartbeat timeout. + + + + + Gets the hosts. + + + + + Gets whether to use IPv6. + + + + + Gets whether the connection string has been resolved. Always true when scheme is MongoDB. + + + + + Gets the journal value of the write concern. + + + + + Gets a value indicating whether load balanced mode is used. + + + + + Gets the local threshold. + + + + + Gets the maximum number of connections a pool may be establishing concurrently. Defaults to 2. + + + + + Gets the max idle time. + + + + + Gets the max life time. + + + + + Gets the max size of the connection pool. + + + + + Gets the max staleness. + + + + + Gets the min size of the connection pool. + + + + + Gets the password. + + + + + Gets the proxy host. + + + + + Gets the proxy port. + + + + + Gets the proxy username. + + + + + Gets the proxy password. + + + + + Gets the read concern level. + + + The read concern level. + + + + + Gets the read preference. + + + + + Gets the replica set name. + + + + + Gets the read preference tags. + + + + + Gets a value indicating whether or not to retry reads. + + + + + Gets a value indicating whether or not to retry writes. + + + + + Gets the connection string scheme. + + + + + Gets the server monitoring mode. + + + + + Gets the server selection timeout. + + + + + Gets the socket timeout. + + + + + Limits the number of SRV records used to populate the seedlist + during initial discovery, as well as the number of additional hosts + that may be added during SRV polling. + + + + + Gets the SRV service name which modifies the srv URI to look like: + _{srvServiceName}._tcp.{hostname}.{domainname} + + + + + Gets whether to use SSL. + + + + + Gets whether to verify SSL certificates. + + + + + Gets the per-operation timeout. + + + + + Gets whether to use TLS. + + + + + Get whether or not certificate revocation checking is disabled during the TLS handshake. + + + + + Gets whether to relax TLS constraints as much as possible. + + + + + Gets the username. + + + + + Gets the wait queue multiple. + + + + + Gets the wait queue size. + + + + + Gets the wait queue timeout. + + + + + Gets the w value of the write concern. + + + + + Gets the wtimeout value of the write concern. + + + + + Gets the option. + + The name. + The option with the specified name. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + The cancellation token. + A resolved ConnectionString. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + Whether to resolve hosts. + The cancellation token. + A resolved ConnectionString. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + The cancellation token. + A resolved ConnectionString. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + Whether to resolve hosts. + The cancellation token. + A resolved ConnectionString. + + + + + + + Represents settings for a crypt client. + + + + + Gets a value indicating whether query analysis should be bypassed. + + + + + Gets the crypt shared library path. + + + + + Gets the crypt shared library search path. + + + + + Gets the data encryption key cache expiration time. + + + + + Gets the encrypted fields map. + + + + + Gets a value indicating whether crypt shared library is required. + + + + + Gets the KMS providers. + + + + + Gets the schema map. + + + + + Initializes a new instance of the class. + + The bypass query analysis. + The crypt shared library library path. + The crypt shared library search path. + The encrypted fields map. + Value indicating whether crypt shared library is required. + The KMS providers. + The schema map. + + + + Initializes a new instance of the class. + + The bypass query analysis. + The crypt shared library library path. + The crypt shared library search path. + The encrypted fields map. + Value indicating whether crypt shared library is required. + The KMS providers. + The schema map. + The data encryption key cache expiration time. + + + + + + + + + + Represents information about a library using the .NET driver. + + + + + Gets the library name. + + + + + Gets the library version. + + + + + Initializes a new instance of the class. + + The library name. + The library version. + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + + + + + + + Represents the settings for logging. + + + + + Gets the logger factory. + + + + + Gets the maximum document size in chars. + + + + + Initializes a new instance of the class. + + The logger factory. + The maximum document size in chars. + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + + + + Represents settings for a server. + + + + + Gets the default heartbeat interval. + + + + + Gets the default heartbeat timeout. + + + + + Gets the default server monitoring mode. + + + + + Initializes a new instance of the class. + + The heartbeat interval. + The heartbeat timeout. + The server monitoring mode. + + + + Gets the heartbeat interval. + + + The heartbeat interval. + + + + + Gets the heartbeat timeout. + + + The heartbeat timeout. + + + + + Gets the server monitoring mode. + + + The server monitoring mode. + + + + + Returns a new ServerSettings instance with some settings changed. + + The heartbeat interval. + The heartbeat timeout. + The server monitoring mode. + A new ServerSettings instance. + + + + Represents settings for a SOCKS5 proxy stream. + + + + + Initializes a new instance of the class. + + The settings for the SOCKS5 proxy. + + + + Gets the settings for the SOCKS5 proxy. + + + + + Creates a new instance of with the specified SOCKS5 proxy settings. + + + + + + + Represents settings for an SSL stream. + + + + + Initializes a new instance of the class. + + Whether to check for certificate revocation. + The client certificates. + The client certificate selection callback. + The enabled protocols. + The server certificate validation callback. + + + + Gets a value indicating whether to check for certificate revocation. + + + true if certificate should be checked for revocation; otherwise, false. + + + + + Gets the client certificates. + + + The client certificates. + + + + + Gets the client certificate selection callback. + + + The client certificate selection callback. + + + + + Gets the enabled SSL protocols. + + + The enabled SSL protocols. + + + + + Gets the server certificate validation callback. + + + The server certificate validation callback. + + + + + Returns a new SsslStreamSettings instance with some settings changed. + + Whether to check certificate revocation. + The client certificates. + The client certificate selection callback. + The enabled protocols. + The server certificate validation callback. + A new SsslStreamSettings instance. + + + + Represents settings for a TCP stream. + + + + + Initializes a new instance of the class. + + The address family. + The connect timeout. + The read timeout. + Size of the receive buffer. + Size of the send buffer. + The socket configurator. + The write timeout. + + + + Gets the address family. + + + The address family. + + + + + Gets the connect timeout. + + + The connect timeout. + + + + + Gets the read timeout. + + + The read timeout. + + + + + Gets the size of the receive buffer. + + + The size of the receive buffer. + + + + + Gets the size of the send buffer. + + + The size of the send buffer. + + + + + Gets the socket configurator. + + + The socket configurator. + + + + + Gets the write timeout. + + + The write timeout. + + + + + Returns a new TcpStreamSettings instance with some settings changed. + + The address family. + The connect timeout. + The read timeout. + Size of the receive buffer. + Size of the send buffer. + The socket configurator. + The write timeout. + A new TcpStreamSettings instance. + + + + Represents information describing a connection. + + + + + Initializes a new instance of the class. + + The connection identifier. + The hello result. + + + + Gets the available compressors. + + + + + Gets the connection identifier. + + + The connection identifier. + + + + + Gets the hello result. + + + The hello result. + + + + + Gets the maximum number of documents in a batch. + + + The maximum number of documents in a batch. + + + + + Gets the maximum size of a document. + + + The maximum size of a document. + + + + + Gets the maximum size of a message. + + + The maximum size of a message. + + + + + Gets the maximum size of a wire document. + + + The maximum size of a wire document. + + + + + Gets the maximum wire version. + + + The maximum wire version. + + + + + Gets the minimum wire version. + + + The minimum wire version. + + + + + Gets the server version. + + + The server version. + + + + + Gets the service identifier. + + + The service identifier. + + + + + + + + + + + + + + Returns a new instance of ConnectionDescription with a different connection identifier. + + The value. + A connection description. + + + + Represents internal ConnectionDescription extension methods. + + + + + Represents a connection identifier. + + + + + Initializes a new instance of the class. + + The server identifier. + + + + Initializes a new instance of the class. + + The server identifier. + The local value. + + + + Gets the server identifier. + + + The server identifier. + + + + + Gets the local value. + + + The local value. + + + + + Gets the local value. + + + The local value. + + + + + Gets the server value. + + + The server value. + + + + + Gets the server value. + + + The server value. + + + + + + + + + + + + + + Compares all fields of two ConnectionId instances (Equals ignores the ServerValue). + + The other ConnectionId. + True if both instances are equal. + + + + + + + Returns a new instance of ConnectionId with a new server value. + + The server value. + A ConnectionId. + + + + Represents a connection initializer (opens and authenticates connections). + + + + + Represents the result of a hello or legacy hello command. + + + + + Initializes a new instance of the class. + + The wrapped result document. + + + + Gets the compressor types. + + + + + Gets the connection id server value. + + + + + Gets the election identifier. + + + + + Get whether SaslSupportedMechs was part of the hello response. + + + Whether SaslSupportedMechs was part of the hello response. + + + + + Gets a value indicating whether this instance is an arbiter. + + + true if this instance is an arbiter; otherwise, false. + + + + + Gets a value indicating whether this instance is a mongocryptd. + + + true if this instance is a mongocryptd; otherwise, false. + + + + + Gets a value indicating whether this instance is a replica set member. + + + true if this instance is a replica set member; otherwise, false. + + + + + Gets the last write timestamp. + + + The last write timestamp. + + + + + Gets the logical session timeout. + + + The logical session timeout. + + + + + Gets the maximum number of documents in a batch. + + + The maximum number of documents in a batch. + + + + + Gets the maximum size of a document. + + + The maximum size of a document. + + + + + Gets the maximum size of a message. + + + The maximum size of a message. + + + + + Gets the endpoint the server is claiming it is known as. + + + + + Get the SaslSupportedMechs. + + + The SaslSupportedMechs. Empty if saslSupportedMechs was an empty list or if saslSupportedMechs was not + included in the hello response. + + + + + Gets the type of the server. + + + The type of the server. + + + + + Gets the service identifier. + + + The service identifier. + + + + + Get the SpeculativeAuthenticate reply. + + + Null if hello["ok"] != 1 or if the SpeculativeAuthenticate reply was not included in the hello response. + + + + + Gets the replica set tags. + + + The replica set tags. + + + + + Get the TopologyVersion. + + + Null if TopologyVersion was not included in the hello response. + + + + + Gets the maximum wire version. + + + The maximum wire version. + + + + + Gets the minimum wire version. + + + The minimum wire version. + + + + + Gets the wrapped result document. + + + The wrapped result document. + + + + + Gets whether the server support the hello command. + + + True if helloOk:true was included in the response; false otherwise. + + + + + + + + + + + + + + Gets the replica set configuration. + + The replica set configuration. + + + + Represents a stream factory. + + + + + Creates a stream. + + The end point. + The cancellation token. + A Stream. + + + + Creates a stream. + + The end point. + The cancellation token. + A Task whose result is the Stream. + + + + Represents the settings for SOCKS5 authentication. + + + + + Creates authentication settings that does not require any authentication. + + + + + Creates authentication settings for username and password. + + The username + The password + + + + + Represents settings for no authentication in SOCKS5. + + + + + + + + + + + Represents settings for username and password authentication in SOCKS5. + + + + + Gets the username for authentication. + + + + + Gets the password for authentication. + + + + + + + + + + + Represents the settings for a SOCKS5 proxy connection. + + + + + Gets the host of the SOCKS5 proxy. + + + + + Gets the port of the SOCKS5 proxy. + + + + + Gets the authentication settings of the SOCKS5 proxy. + + + + + Initializes a new instance of the class with the specified host. + + The SOCKS5 proxy host. + + + + Initializes a new instance of the class with the specified host and port. + + The proxy host. + The proxy port. + + + + Initializes a new instance of the class with the specified host and authentication settings. + + The proxy host. + The proxy authentication settings. + + + + Initializes a new instance of the class with the specified host, port, and authentication settings. + + The proxy host. + The proxy port. + The proxy authentication settings. + + + + + + + + + + + + + Represents a factory for an ssl stream. + + + + + Constructs an Ssl Stream Factory. + + The SslStreamSettings. + The underlying stream factory. + + + + + + + + + + Represents a factory for a binary stream over a TCP/IP connection. + + + + + Occurs after a server is added to the cluster. + + + + + Initializes a new instance of the struct. + + The server identifier. + The duration of time it took to add the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to add a server, + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a server is added to the cluster. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The end point. + + + + Gets the cluster identifier. + + + + + Gets the end point. + + + + + Gets the timestamp. + + + + + Occurs after a cluster is closed. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The duration of time it took to close the cluster. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to close the cluster. + + + + + Gets the timestamp. + + + + + Occurs before a cluster is closed. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + + + + Gets the cluster identifier. + + + + + Gets the timestamp. + + + + + Occurs when a cluster has changed. + + + + + Initializes a new instance of the struct. + + The old description. + The new description. + + + + Gets the cluster identifier. + + + + + Gets the old description. + + + + + Gets the new description. + + + + + Gets the timestamp. + + + + + Occurs when entering selection wait queue. + + + + + Occurs after a cluster is opened. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The cluster settings. + The duration of time it took to open the cluster. + + + + Gets the cluster identifier. + + + + + Gets the cluster settings. + + + + + Gets the duration of time it took to open the cluster. + + + + + Gets the timestamp. + + + + + Occurs before a cluster is opened. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The cluster settings. + + + + Gets the cluster identifier. + + + + + Gets the cluster settings. + + + + + Gets the timestamp. + + + + + Occurs after a server has been removed from the cluster. + + + + + Initializes a new instance of the struct. + + The server identifier. + The reason. + The duration of time it took to remove the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to remove the server. + + + + + Gets the reason the server was removed. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a server is removed from the cluster. + + + + + Initializes a new instance of the struct. + + The server identifier. + The reason the server is being removed. + + + + Gets the cluster identifier. + + + + + Gets the reason the server is being removed. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a server is selected. + + + + + Initializes a new instance of the struct. + + The cluster description. + The server selector. + The selected server. + The duration of time it took to select the server. + The operation identifier. + The operation name. + + + + Gets the cluster identifier. + + + + + Gets the cluster description. + + + + + Gets the duration of time it took to select the server. + + + + + Gets the operation identifier. + + + + + Gets the operation name. + + + + + Gets the server selector. + + + + + Gets the selected server. + + + + + Gets the timestamp. + + + + + Occurs before a server is selected. + + + + + Initializes a new instance of the struct. + + The cluster description. + The server selector. + The operation identifier. + The operation name. + + + + Gets the cluster identifier. + + + + + Gets the cluster description. + + + + + Gets the operation identifier. + + + + + Gets the operation name. + + + + + Gets the server selector. + + + + + Gets the timestamp. + + + + + Occurs when selecting a server fails. + + + + + Initializes a new instance of the struct. + + The cluster description. + The server selector. + The exception. + The operation identifier. + The operation name. + + + + Gets the cluster identifier. + + + + + Gets the cluster description. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the operation name. + + + + + Gets the server selector. + + + + + Gets the timestamp. + + + + + Occurs when a command has failed. + + + + + Initializes a new instance of the struct. + + Name of the command. + The database namespace. + The exception. + The operation identifier. + The request identifier. + The connection identifier. + The duration. + + + + Initializes a new instance of the struct. + + Name of the command. + The database namespace. + The exception. + The operation identifier. + The request identifier. + The connection identifier. + The service identifier. + The duration. + + + + Gets the name of the command. + + + + + Gets the connection identifier. + + + + + Gets the database namespace. + + + + + Gets the duration. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the request identifier. + + + + + Gets the service identifier. + + + + + Gets the timestamp. + + + + + Occurs when a command has started. + + + + + Initializes a new instance of the class. + + Name of the command. + The command. + The database namespace. + The operation identifier. + The request identifier. + The connection identifier. + + + + Initializes a new instance of the class. + + Name of the command. + The command. + The database namespace. + The operation identifier. + The request identifier. + The connection identifier. + The service identifier. + + + + Gets the command. + + + + + Gets the name of the command. + + + + + Gets the connection identifier. + + + + + Gets the database namespace. + + + + + Gets the operation identifier. + + + + + Gets the request identifier. + + + + + Gets the service identifier. + + + + + Gets the timestamp. + + + + + Occurs when a command has succeeded. + + + + + Initializes a new instance of the struct. + + Name of the command. + The reply. + The database namespace. + The operation identifier. + The request identifier. + The connection identifier. + The duration. + + + + Initializes a new instance of the struct. + + Name of the command. + The reply. + The database namespace. + The operation identifier. + The request identifier. + The connection identifier. + The service identifier. + The duration. + + + + Gets the name of the command. + + + + + Gets the connection identifier. + + + + + Gets the database namespace. + + + + + Gets the duration. + + + + + Gets the operation identifier. + + + + + Gets the reply. + + + + + Gets the request identifier. + + + + + Gets the service identifier. + + + + + Gets the timestamp. + + + + + Represents the reason an attempt to check out a connection failed. + + + + + The connection pool is closed. + + + + + Timeout waiting for a connection to become available. + + + + + Connection error while opening a new connection. + + + + + Occurs after a connection is closed. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to close the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to close the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Represents the reason a connection was closed. + + + + + The pool was cleared, making the connection no longer valid. + + + + + The connection became stale by being available for too long. + + + + + The connection experienced an error, making it no longer valid. + + + + + The pool was closed, making the connection no longer valid. + + + + + The reason the connection was closed is unknown. + + + + + Occurs before a connection is closed. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a connection is created. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The connection settings. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the connection settings. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a connection fails. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The exception. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the exception. + + + The exception. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a connection is opened. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The connection settings. + The duration of time it took to open the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the connection settings. + + + + + Gets the duration of time it took to open the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a connection is opened. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The connection settings. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the connection settings. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a connection fails to open. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The connection settings. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the connection settings. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a connection is added to the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to add the connection to the pool. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to add the server to the pool. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a connection is added to the pool. + + + + + Initializes a new instance of the struct. + + The server identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a connection is checked in to the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to check in the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to check in the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a connection is checked out of the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to check out the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to check out the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a connection is checked in to the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a connection is checked out of the pool. + + + + + Initializes a new instance of the struct. + + The server identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a connection could not be checked out of the pool. + + + + + Initializes a new instance of the struct. + + The server identifier. + The exception. + The operation identifier. + The duration of time it took trying to check out the connection. + The reason the checkout failed. + + + + Gets the cluster identifier. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the reason the checkout failed. + + + + + Gets the server identifier. + + + + + Gets the duration of time it took trying to check out the connection. + + + + + Gets the timestamp. + + + + + Occurs after the pool is cleared. + + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + Whether in use connections should be closed. + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + The service identifier. + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + The service identifier. + Whether in use connections should be closed. + + + + Gets a value indicating whether in use connections should be closed. + + + + + Gets the cluster identifier. + + + + + Gets the connection pool settings. + + + + + Gets the server identifier. + + + + + Gets the service identifier. + + + + + Gets the timestamp. + + + + + Occurs when the pool is about to be cleared. + + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + Whether in use connections should be closed. + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + The service identifier. + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + The service identifier. + Whether in use connections should be closed. + + + + Gets a value indicating whether in use connections should be closed. + + + + + Gets the cluster identifier. + + + + + Gets the connection pool settings. + + + + + Gets the service identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after the pool is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before the pool is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after the pool is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + + + + Gets the cluster identifier. + + + + + Gets the connection pool settings. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before the pool is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + + + + Gets the cluster identifier. + + + + + Gets the connection pool settings. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after the pool is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + + + + Gets the cluster identifier. + + + + + Gets the connection pool settings. + + + + + Gets the server identifier. + + + + + Occurs after a connection is removed from the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to remove the connection from the pool. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to remove the connection from the pool. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a connection is removed from the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a message is received. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The id of the message we received a response to. + The length of the received message. + The duration of network time it took to receive the message. + The duration of deserialization time it took to receive the message. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to receive the message. + + + + + Gets the duration of deserialization time it took to receive the message. + + + + + Gets the duration of network time it took to receive the message. + + + + + Gets the length of the received message. + + + + + Gets the operation identifier. + + + + + Gets the id of the message we received a response to. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a message is received. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The id of the message we are receiving a response to. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the id of the message we are receiving a response to. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a message was unable to be received. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The id of the message we were receiving a response to. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets id of the message we were receiving a response to. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a message is sent. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The request ids. + The operation identifier. + + + + Initializes a new instance of the struct. + + The connection identifier. + The request id. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the request id. + + + + + Gets the request ids. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a message could not be sent. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The request ids. + The exception. + The operation identifier. + + + + Initializes a new instance of the struct. + + The connection identifier. + The request id. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the request id. + + + + + Gets the request ids. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a message has been sent. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The request ids. + The length. + The duration of time spent on the network. + The duration of time spent serializing the messages. + The operation identifier. + + + + Initializes a new instance of the struct. + + The connection identifier. + The request id. + The length. + The duration of time spent on the network. + The duration of time spent serializing the messages. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to send the message. + + + + + Gets the duration of time spent on the network. + + + + + Gets the operation identifier. + + + + + Gets the duration of time spent serializing the messages. + + + + + Gets the combined length of the messages. + + + + + Gets the request id. + + + + + Gets the request ids. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + An event subscriber that writes command events to a trace source. + + + + + Initializes a new instance of the class. + + The trace source. + + + + + + + An event subscriber that writes to a trace source. + + + + + Initializes a new instance of the class. + + The trace source. + + + + + + + An event subscriber that writes SDAM events to a trace source. + + + + + Initializes a new instance of the class. + + The trace source. + + + + + + + A subscriber to events. + + + + + Tries to get an event handler for an event of type . + + The type of the event. + The handler. + true if this subscriber has provided an event handler; otherwise false. + + + + Subscribes methods with a single argument to events + of that single argument's type. + + + + + Initializes a new instance of the class. + + The instance. + Name of the method to match against. + The binding flags. + + + + + + + An informational event used for logging Server Discovery and Monitoring (SDAM) events. + + + + + Initializes a new instance of the struct. + + Message format. + Message argument. + + + + Initializes a new instance of the struct. + + Message format. + Message arguments. + + + + Gets the message. + + + + + Gets the timestamp. + + + + + + + + Occurs after a server is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + The duration of time it took to close the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to close the server. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a server is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a server's description has changed. + + + + + Initializes a new instance of the struct. + + The old description. + The new description. + + + + Gets the cluster identifier. + + + + + Gets the new description. + + + + + Gets the old description. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a heartbeat failed. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The exception. + The awaited flag. + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time passed since corresponding . + The exception. + The awaited flag. + + + + Determines if this heartbeat event is for an awaitable hello. + + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time passed since corresponding . + + + + + Gets the exception. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before heartbeat is issued. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The awaited flag. + + + + Determines if this heartbeat event is for an awaitable hello. + + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a heartbeat succeeded. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to complete the heartbeat. + The awaited flag. + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to complete the heartbeat. + The awaited flag. + The server response. + + + + Determines if this heartbeat event is for an awaitable hello. + + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to complete the heartbeat. + + + + + Gets the server response. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a server is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The server settings. + The duration of time it took to open the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to open the server. + + + + + Gets the server identifier. + + + + + Gets the server settings. + + + + + Gets the timestamp. + + + + + Occurs before a server is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The server settings. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + Gets the server settings. + + + + + Gets the timestamp. + + + + + Subscriber for a single type of event. + + The type of the single event. + + + + Initializes a new instance of the class. + + The handler. + + + + + + + Represents a batch of items that can be split if not all items can be processed at once. + + The type of the items. + + + + Initializes a new instance of the class. + + + Use this overload when you know the batch is small and won't have to be broken up into sub-batches. + In that case using this overload is simpler than using an enumerator and using the other constructor. + + The single batch. + + + + Initializes a new instance of the class. + + The enumerator that will provide the items for the batch. + + + + Initializes a new instance of the class. + + The items. + if set to true the batch can be split. + + + + Initializes a new instance of the class. + + The items. + The offset. + The count. + if set to true the batch can be split. + + + + Gets a value indicating whether all items were processed. + + + true if all items were processed; otherwise, false. + + + + + Gets a value indicating whether the batch can be split. + + + true if the batch can be split; otherwise, false. + + + + + Gets the count. + + + The count. + + + + + Gets the items. + + + The items. + + + + + Gets the offset. + + + The offset. + + + + + Gets the count of processed items. Equal to zero until SetProcessedCount has been called. + + + The count of processed items. + + + + + Advances past the processed items. + + + + + Gets the items in the batch. + + + The items in the batch. + + + + + Gets the items that were processed. + + + The items that were processed. + + + + + Gets the items that were not processed. + + + The items that were not processed. + + + + + Sets the processed count. + + The value. + + + + Compute the wait queue size. + + The max number of connections. + The multiplier. + The computed wait queue size. + + + + Gets the effective max connections. + + The max connections (0 means no max). + The effective max connections. + + + + Gets the effective max connections. + + The max connections (0 means no max). + The effective max connections (or null if maxConnections is null). + + + + Represents helper methods for EndPoints. + + + + + Gets an end point equality comparer. + + + An end point equality comparer. + + + + + Determines whether a list of end points contains a specific end point. + + The list of end points. + The specific end point to search for. + True if the list of end points contains the specific end point. + + + + Compares two end points. + + The first end point. + The second end point. + True if both end points are equal, or if both are null. + + + + Creates an end point from object data saved during serialization. + + The object data. + An end point. + + + + Gets the object data required to serialize an end point. + + The end point. + The object data. + + + + Compares two sequences of end points. + + The first sequence of end points. + The second sequence of end points. + True if both sequences contain the same end points in the same order, or if both sequences are null. + + + + Parses the string representation of an end point. + + The value to parse. + An end point. + + + + Returns a that represents the end point. + + The end point. + + A that represents the end point. + + + + + Tries to parse the string representation of an end point. + + The value to parse. + The result. + True if the string representation was parsed successfully. + + + + Represents methods that can be used to ensure that parameter values meet expected conditions. + + + + + Ensures that the value of a parameter is not null. + + Type type of the value. + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is between a minimum and a maximum value. + + Type type of the value. + The value of the parameter. + The minimum value. + The maximum value. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is equal to a comparand. + + Type type of the value. + The value of the parameter. + The comparand. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than a comparand. + + Type type of the value. + The value of the parameter. + The comparand. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to a comparand. + + Type type of the value. + The value of the parameter. + The comparand. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is infinite or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is infinite or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is not null. + + Type type of the value. + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is not null and does not contain any nulls. + + Type of the value. + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is not null or empty. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is not null or empty. + + The type of the elements. + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null. + + Type type of the value. + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or is between a minimum and a maximum value. + + Type type of the value. + The value of the parameter. + The minimum value. + The maximum value. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null, or infinite, or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or not empty. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or a valid timeout. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is a valid timeout. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that an assertion is true. + + The assertion. + The message to use with the exception that is thrown if the assertion is false. + + + + Ensures that an assertion is true. + + The assertion. + The message to use with the exception that is thrown if the assertion is false. + The parameter name. + + + + Ensures that the value of a parameter meets an assertion. + + Type type of the value. + The value of the parameter. + The assertion. + The name of the parameter. + The message to use with the exception that is thrown if the assertion is false. + The value of the parameter. + + + + A mapper from error responses to custom exceptions. + + + + + Maps the specified response to a custom exception (if possible). + + The connection identifier. + The response. + + The custom exception (or null if the response could not be mapped to a custom exception). + + + + + Maps the specified writeConcernResult to a custom exception (if necessary). + + The connection identifier. + The write concern result. + + The custom exception (or null if the writeConcernResult was not mapped to an exception). + + + + + Maps the server response to a MongoNotPrimaryException or MongoNodeIsRecoveringException (if appropriate). + + The connection identifier. + The command. + The server response. + Name of the error message field. + The exception, or null if no exception necessary. + + + + Represents a feature that is not supported by all versions of the server. + + + + + Gets the aggregate accumulator feature. + + + + + Gets the aggregate $function stage feature. + + + + + Gets the aggregate let feature. + + + + + Gets the aggregate merge feature. + + + + + Gets the aggregate out on secondary feature. + + + + + Gets the aggregate out to time series feature. + + + + + Gets the aggregate out to a different database feature. + + + + + Gets the aggregate toString feature. + + + + + Gets the aggregate unionWith feature. + + + + + Gets the bitwise operators feature. + + + + + Gets the change stream all changes for cluster feature. + + + + + Gets the change stream for database feature. + + + + + Gets the change stream post batch resume token feature. + + + + + Gets the change stream pre post images feature. + + + + + Gets the change stream splitEvent stage feature. + + + + + Gets the client bulk write feature. + + + + + Gets the client side encryption feature. + + + + + Gets the clustered indexes feature. + + + + + Gets the conversion of binary data to/from numeric types feature. + + + + + Gets the conversion of binary data to/from string feature. + + + + + Gets the create index commit quorum feature. + + + + + Gets the create indexes using insert operations feature. + + + + + Gets the csfle range algorithm feature. + + + + + Gets the client side field level encryption 2 feature. + + + + + Gets the client side field level encryption 2 queryable encryption v2 feature. + + + + + Gets the csfle2 $lookup support feature. + + + + + Gets the csfle2 range algorithm feature. + + + + + Gets the csfle2 textPreview algorithm feature. + + + + + Gets the $dateFromString format argument feature. + + + + + Gets the date operators added in 5.0 feature. + + + + + Gets the aggregate $densify stage feature. + + + + + Gets the documents stage feature. + + + + + Gets the directConnection setting feature. + + + + + Gets the electionIdPriorityInSDAM feature. + + + + + Gets the eval feature. + + + + + Gets the fail points block connection feature. + + + + + Gets the fail points fail command feature. + + + + + Gets the fail points fail command for sharded feature. + + + + + Gets filter limit feature. + + + + + Gets the find allowDiskUse feature. + + + + + Gets the find projection expressions feature. + + + + + Gets the geoNear command feature. + + + + + + Gets the getField feature. + + + + + Gets the getMore comment feature. + + + + + Gets the group command feature. + + + + + Gets the hedged reads feature. + + + + + Gets the hidden index feature. + + + + + Gets the hint for delete operations feature. + + + + + Gets the hint for find and modify operations feature. + + + + + Gets the hint for update and replace operations feature. + + + + + Gets the keep connection pool when NotPrimary connection exception feature. + + + + + Gets the keep connection pool when replSetStepDown feature. + + + + + Gets the legacy wire protocol feature. + + + + + Get the list databases authorizedDatabases feature. + + + + + Gets the load balanced mode feature. + + + + + Gets the lookup concise syntax feature. + + + + + Gets the lookup documents feature. + + + + + Gets the mmapv1 storage engine feature. + + + + + Gets the $median operator added in 7.0 + + + + + Gets the $percentile operator added in 7.0 + + + + + Gets the pick accumulators new in 5.2 feature. + + + + + Gets the $rankFusion feature. + + + + + Gets the regex match feature. + + + + + Gets the $round feature. + + + + + Gets the scram sha256 authentication feature. + + + + + Gets the server returns resumableChangeStream label feature. + + + + + Gets the server returns retryable writeError label feature. + + + + + Gets the $set stage feature. + + + + + Gets the set window fields feature. + + + + + Gets the set window fields $locf feature. + + + + + Gets the sharded transactions feature. + + + + + Gets the $sigmoid operator feature. + + + + + Gets the snapshot reads feature. + + + + + Gets the $sortArray operator feature. + + + + + Gets the speculative authentication feature. + + + + + Gets the speculative authentication feature. + + + + + Gets the streaming hello feature. + + + + + Gets the $toXyz conversion operators feature ($toDouble etc.). + + + + + Gets the transactions feature. + + + + + Gets the trig operators feature. + + + + + Gets the trim operator feature. + + + + + Gets the update with aggregation pipeline feature. + + + + + Gets the wildcard indexes feature. + + + + + Initializes a new instance of the class. + + The name of the feature. + The first wire version that supports the feature. + The wire version that stops support the feature. + The not supported error message. + + + + Gets the name of the feature. + + + + + Gets the error message to be used by the feature support checks. + + + + + Throws an exception if the feature is not supported in the server used by the client. + + The client. + The cancellation token. + + + + Throws an exception if the feature is not supported in the server used by the client. + + The client. + The cancellation token. + + + + + + + Abstractions of the file system. + + + + + Abstraction for static methods in . + + + + + A serializer for BatchableSource that serializes a fixed count of items. + + The type of the items. + + + + Initializes a new instance of the class. + + The item serializer. + The item element name validator. + The count. + + + + + + + + + + + + + Represents the hint for find and modify feature. + + + + + Initializes a new instance of the class. + + The name of the feature. + The first wire version that supports the feature. + + + + Determines whether the driver must throw an exception if the feature is not supported by the server. + + The wire version. + Whether the driver must throw if feature is not supported. + + + + Represents a batch of items that can be split if not all items can be processed at once. + + The type of the items. + + + + Gets a value indicating whether all items were processed. + + + true if all items were processed; otherwise, false. + + + + + Gets a value indicating whether the batch can be split. + + + true if the batch can be split; otherwise, false. + + + + + Gets the count. + + + The count. + + + + + Gets the items. + + + The items. + + + + + Gets the offset. + + + The offset. + + + + + Gets the count of processed items. Equal to zero until SetProcessedCount has been called. + + + The count of processed items. + + + + + Advances past the processed items. + + + + + Gets the items in the batch. + + + The items in the batch. + + + + + Gets the items that were processed. + + + The items that were processed. + + + + + Gets the items that were not processed. + + + The items that were not processed. + + + + + Sets the processed count. + + The value. + + + + Thread-safe helper to manage a value. + + + + + Represents a range between a minimum and a maximum value. + + The type of the value. + + + + Initializes a new instance of the class. + + The minimum value. + The maximum value. + + + + Gets the maximum value. + + + The maximum value. + + + + + Gets the minimum value. + + + The minimum value. + + + + + + + + + + + + + + Determines whether this range overlaps with another range. + + The other range. + True if this range overlaps with the other + + + + + + + Should only be used when the safety of the data cannot be guaranteed. + For instance, when the secure string is a password used in a plain text protocol. + + The secure string. + The CLR string. + + + + Converts to . + + The string value. + + The secure string. + + + + + Represents a semantic version number. + + + + + Initializes a new instance of the class. + + The major version. + The minor version. + The patch version. + + + + Initializes a new instance of the class. + + The major version. + The minor version. + The patch version. + The pre release version. + + + + Gets the internal build commit hash. + + + + + Gets the number of commits after release. + + + + + Gets the major version. + + + The major version. + + + + + Gets the minor version. + + + The minor version. + + + + + Gets the patch version. + + + The patch version. + + + + + Gets the pre release version. + + + The pre release version. + + + + + + + + + + + + + + + + + + + + Parses a string representation of a semantic version. + + The string value to parse. + A semantic version. + + + + Tries to parse a string representation of a semantic version. + + The string value to parse. + The result. + True if the string representation was parsed successfully; otherwise false. + + + + Determines whether two specified semantic versions have the same value. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is the same as the value of b; otherwise false. + + + + + Determines whether two specified semantic versions have different values. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is different from the value of b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is greater than the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is greater than b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is greater than or equal to the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is greater than or equal to b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is less than the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is less than b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is less than or equal to the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is less than or equal to b; otherwise false. + + + + + Represents a tentative request to acquire a SemaphoreSlim. + + + + + Initializes a new instance of the class. + + The semaphore. + The cancellation token. + + + + Initializes a new instance of the class. + + The semaphore. + The timeout. + The cancellation token. + + + + Gets the semaphore wait task. + + + The semaphore wait task. + + + + + + + + A serializer for BatchableSource that serializes as much of the BatchableSource as fits in the max batch count and size. + + The type of the items. + + + + Initializes a new instance of the class. + + The item serializer. + The item element name validator. + The maximum batch count. + The maximum size of a serialized item. + The maximum size of the batch. + + + + + + + + + + + + Gets whether a yield is not required. + This property is intended for compiler user rather than use directly in code. + + + + Wire version 0. + + + + + Wire version 2. + + + + + Wire version 3. + + + + + Wire version 4. + + + + + Wire version 5. + + + + + Wire version 6. + + + + + Wire version 7. + + + + + Wire version 8. + + + + + Wire version 9. + + + + + Wire version 10. + + + + + Wire version 11. + + + + + Wire version 12. + + + + + Wire version 13. + + + + + Wire version 14. + + + + + Wire version 15. + + + + + Wire version 16. + + + + + Wire version 17. + + + + + Wire version 18. + + + + + Wire version 19. + + + + + Wire version 20. + + + + + Wire version 21. + + + + + Wire version 22. + + + + + Wire version 23. + + + + + Wire version 24. + + + + + Wire version 25. + + + + + Wire version 26. + + + + + Wire version 27. + + + + + Wire version 28. + + + + + Initializes a new instance of the class. + + The database namespace. + The pipeline. + The result value serializer. + The message encoder settings. + + + + Initializes a new instance of the class. + + The collection namespace. + The pipeline. + The result value serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether the server is allowed to use the disk. + + + A value indicating whether the server is allowed to use the disk. + + + + + Gets or sets the size of a batch. + + + The size of a batch. + + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets or sets the comment. + + + The comment. + + + + + Gets the database namespace. + + + The database namespace. + + + + + Gets or sets the hint. This must either be a BsonString representing the index name or a BsonDocument representing the key pattern of the index. + + + The hint. + + + + + Gets or sets the "let" definition. + + + The "let" definition. + + + + + Gets or sets the maximum await time. + + + The maximum await time. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + The maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the pipeline. + + + The pipeline. + + + + + Gets or sets the read concern. + + + The read concern. + + + + + Gets the result value serializer. + + + The result value serializer. + + + + + Gets or sets a value indicating whether to retry. + + Whether to retry. + + + + Gets or sets a value indicating whether the server should use a cursor to return the results. + + + A value indicating whether the server should use a cursor to return the results. + + + + + + + + + + + + + + + + + Represents the result of one batch executed using a write command. + + + + + A change stream cursor. + + The type of the output documents. + + + + + + + + Initializes a new instance of the class. + + The cursor. + The document serializer. + The binding. + The change stream operation. + The post batch resume token from an aggregate command. + The initial operation time. + The start after value. + The resume after value. + The start at operation time value. + The maximum wire version. + + + + + + + + + + + + + + + + Gets or sets the size of the batch. + + + The size of the batch. + + + + + Gets or sets the collation. + + + The collation. + + + + + Gets or sets the comment. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets the database namespace. + + + The database namespace. + + + + + Gets or sets the full document option. + + + The full document option. + + + + + Gets or sets the full document before change option. + + + The full document before change option. + + + + + Gets or sets the maximum await time. + + + The maximum await time. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the pipeline. + + + The pipeline. + + + + + Gets or sets the read concern. + + + The read concern. + + + + + Gets the result serializer. + + + The result serializer. + + + + + + + + Gets or sets a value indicating whether to retry. + + Whether to retry. + + + + + + + + + + + + + + + + + + + + + + + + + Represents a create search indexes operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The requests. + The message encoder settings. + + + + + + + + + + A helper class for deserializing documents in a cursor batch. + + + + + Deserializes the documents. + + The type of the document. + The batch. + The document serializer. + The message encoder settings. + The documents. + + + + Represents a drop index operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The name of the index. + The message encoder settings. + + + + + + + + + + Represents a deserializer that deserializes the selected element and skips any others. + + The type of the value. + + + + Represents an element name validator for replace operations. + + + + + Gets a pre-created instance of an ReplacementElementNameValidator. + + + The pre-created instance. + + + + + + + + + + + Represents an element name validator for update operations. + + + + + Gets a pre-created instance of an UpdateElementNameValidator. + + + The pre-created instance. + + + + + + + + + + + Represents an element name validator that will validate element names for either an update or a replacement based on whether the first element name starts with a "$". + + + + + Initializes a new instance of the class. + + + + + + + + + + + Represents a map-reduce operation. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The map function. + The reduce function. + The result serializer. + The message encoder settings. + + + + Gets or sets the read concern. + + + The read concern. + + + + + Gets the result serializer. + + + The result serializer. + + + + + + + + + + + + + + + + + Represents a base class for map-reduce operations. + + + + + Initializes a new instance of the class. + + The collection namespace. + The map function. + The reduce function. + The message encoder settings. + + + + Gets or sets the collation. + + + The collation. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets or sets the filter. + + + The filter. + + + + + Gets or sets the finalize function. + + + The finalize function. + + + + + Gets or sets a value indicating whether objects emitted by the map function remain as JavaScript objects. + + + + Setting this value to true can result in faster execution, but requires more memory on the server, and if + there are too many emitted objects the map-reduce operation may fail. + + true if objects emitted by the map function remain as JavaScript objects; otherwise, false. + + + + + Gets or sets the maximum number of documents to pass to the map function. + + + The maximum number of documents to pass to the map function. + + + + + Gets the map function. + + + The map function. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + The maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the reduce function. + + + The reduce function. + + + + + Gets or sets the scope document. + + + The scode document defines global variables that are accessible from the map, reduce and finalize functions. + + + The scope document. + + + + + Gets or sets the sort specification. + + + The sort specification. + + + + + Gets or sets a value indicating whether to include extra information, such as timing, in the result. + + + true if extra information, such as timing, should be included in the result; otherwise, false. + + + + + Creates the output options. + + The output options. + + + + Represents a map-reduce operation that outputs its results to a collection. + + + + + Initializes a new instance of the class. + + The collection namespace. + The output collection namespace. + The map function. + The reduce function. + The message encoder settings. + + + + Gets or sets a value indicating whether to bypass document validation. + + + A value indicating whether to bypass document validation. + + + + + Gets or sets a value indicating whether the server should not lock the database for merge and reduce output modes. + + + true if the server should not lock the database for merge and reduce output modes; otherwise, false. + + + + + Gets the output collection namespace. + + + The output collection namespace. + + + + + Gets or sets the output mode. + + + The output mode. + + + + + Gets or sets a value indicating whether the output collection should be sharded. + + + true if the output collection should be sharded; otherwise, false. + + + + + Gets or sets the write concern. + + + The write concern. + + + + + + + + + + + + + + + + + Represents a bulk write operation exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The result. + The write errors. + The write concern error. + The unprocessed requests. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the result of the bulk write operation. + + + + + Gets the unprocessed requests. + + + The unprocessed requests. + + + + + + Gets the write concern error. + + + The write concern error. + + + + + Gets the write errors. + + + The write errors. + + + + + + + + Value indicating whether the exception requests additional authentication attempt. + + The command exception. + The command. + The flag. + + This logic is completely separate from a standard retry mechanism and related only to authentication. + + + + + + + + Represents information about a server. + + + + + Initializes a new instance of the class. + + The server identifier. + The end point. + The reason the server description was last changed. + The average round trip time. + The canonical end point. + The election identifier. + The heartbeat exception. + The heartbeat interval. + Whether the server supports the hello command. + The last heartbeat timestamp. + The last update timestamp. + The last write timestamp. + The logical session timeout. + The maximum batch count. + The maximum size of a document. + The maximum size of a message. + The maximum size of a wire document. + The replica set configuration. + The server state. + The replica set tags. + The topology version. + The server type. + The server version. + The wire version range. + EndPoint and ServerId.EndPoint must match. + + + + Gets the average round trip time. + + + The average round trip time. + + + + + Gets the canonical end point. This is the endpoint that the cluster knows this + server by. Currently, it only applies to a replica set config and will match + what is in the replica set configuration. + + + + + Gets the election identifier. + + + + + Gets the end point. + + + The end point. + + + + + Gets the most recent heartbeat exception. + + + The the most recent heartbeat exception (null if the most recent heartbeat succeeded). + + + + + Gets the heartbeat interval. + + + The heartbeat interval. + + + + + Whether the server supports the hello command. + + + True if the server responded with helloOk:true; false otherwise. + + + + + Gets a value indicating whether this server is compatible with the driver. + + + true if this server is compatible with the driver; otherwise, false. + + + + + Gets a value indicating whether this instance is a data bearing server. + + + true if this instance is a data bearing server; otherwise, false. + + + + + Gets the last heartbeat timestamp. + + + The last heartbeat timestamp. + + + + + Gets the last update timestamp (when the ServerDescription itself was last updated). + + + The last update timestamp. + + + + + Gets the last write timestamp (from the lastWrite field of the hello or legacy hello result). + + + The last write timestamp. + + + + + Gets the logical session timeout. + + + The logical session timeout. + + + + + Gets the maximum number of documents in a batch. + + + The maximum number of documents in a batch. + + + + + Gets the maximum size of a document. + + + The maximum size of a document. + + + + + Gets the maximum size of a message. + + + The maximum size of a message. + + + + + Gets the maximum size of a wire document. + + + The maximum size of a wire document. + + + + + Gets the maximum wire version. + + + The maximum wire version. + + + + + The reason the server description was last changed. + + The reason the server description was last changed. + + + + Gets the replica set configuration. + + + The replica set configuration. + + + + + Gets the server identifier. + + + The server identifier. + + + + + Gets the server state. + + + The server state. + + + + + Gets the replica set tags. + + + The replica set tags (null if not a replica set or if the replica set has no tags). + + + + + Gets the server type. + + + The server type. + + + + + Gets the topology version. + + + The server topology version. + + + + + Gets the approximate server version (only the major and minor version numbers are known). + + + The server version. + + + + + Gets the wire version range. + + + The wire version range. + + + + + + + + + + + + + + Determines whether the specified can be considered as equal to decide should we publish sdam events or not. + + The other server description. + true, if sdam events should be suppressed, otherwise false. + + + + + + + Returns a new instance of ServerDescription with some values changed. + + The reason the server description changed. + The average round trip time. + The canonical end point. + The election identifier. + The heartbeat exception. + The heartbeat interval. + Whether the server supports the hello command. + The last heartbeat timestamp. + The last update timestamp. + The last write timestamp. + The logical session timeout. + The maximum batch count. + The maximum size of a document. + The maximum size of a message. + The maximum size of a wire document. + The replica set configuration. + The server state. + The replica set tags. + The topology version. + The server type. + The server version. + The wire version range. + + A new instance of ServerDescription. + + + + + Returns a new ServerDescription with a new HeartbeatException. + + The heartbeat exception. + + A new instance of ServerDescription. + + + + + Represents the arguments to the event that occurs when the server description changes. + + + + + Initializes a new instance of the class. + + The old server description. + The new server description. + + + + Gets the old server description. + + + The old server description. + + + + + Gets the new server description. + + + The new server description. + + + + + + + + Represents a server identifier. + + + + + Initializes a new instance of the class. + + The cluster identifier. + The end point. + + + + Gets the cluster identifier. + + + The cluster identifier. + + + + + Gets the end point. + + + The end point. + + + + + + + + + + + + + + + + + + + + Represents the server monitoring mode. + + + + + Use polling protocol on FaaS platforms or streaming protocol otherwise. (Default) + + + + + Use polling protocol. + + + + + Use streaming protocol. + + + + + Represents the server state. + + + + + The server is disconnected. + + + + + The server is connected. + + + + + Represents the server type. + + + + + The server type is unknown. + + + + + The server is a standalone server. + + + + + The server is a shard router. + + + + + The server is a replica set primary. + + + + + The server is a replica set secondary. + + + + + Use ReplicaSetSecondary instead. + + + + + The server is a replica set arbiter. + + + + + The server is a replica set member of some other type. + + + + + The server is a replica set ghost member. + + + + + The server is under load balancing. + + + + + Represents extension methods on ServerType. + + + + + Determines whether this server type is a replica set member. + + The type of the server. + Whether this server type is a replica set member. + + + + Determines whether this server type is a writable server. + + The type of the server. + Whether this server type is a writable server. + + + + Infers the cluster type from the server type. + + The type of the server. + The cluster type. + + + + Represents a topology description. + + + Comparing topology descriptions freshness does not exhibit the reversal property of + inequalities e.g. IsStalerThan(a, b) (a "<" b) does not imply !IsStalerThan(b, a) (b ">" a) + See for more information. + + + + + Compares a local TopologyVersion with a server's TopologyVersion and indicates whether the local + TopologyVersion is staler, fresher, or equal to the server's TopologyVersion. + Per the SDAM specification, if the ProcessIds are not equal, this method assumes that + is more recent. This means that this method does not exhibit + the reversal properties of inequalities i.e. a "<" b does not imply b ">" a. + + The first TopologyVersion. + The other TopologyVersion. + + Less than zero indicates that the is staler than the . + Zero indicates that the description is equal to the . + Greater than zero indicates that the is fresher than the . + + + + + Attempts to create a TopologyVersion from the supplied BsonDocument. + + The document. Should contain an ObjectId named "processId" and a BsonInt64 named "counter". + A TopologyVersion if one could be constructed from the supplied document and null otherwise. + + + + Gets whether or not is fresher than . + Comparing topology descriptions freshness does not exhibit the reversal property of + inequalities e.g. a.IsFresherThan(b) (a "<" b) does not imply + !b.IsFresherThan(a) (b ">" a) + See for more information. + In the case that this.Equals(), will be considered to be fresher. + + The first TopologyVersion. + The other TopologyVersion. + + Whether or not this TopologyVersion is fresher than . + + + + + Gets whether or not is fresher than or Equal to . + Comparing topology descriptions freshness does not exhibit the reversal property of + inequalities e.g. a.IsFresherThan(b) (a "<" b) does not imply + !b.IsFresherThan(a) (b ">" a) + See for more information. + In the case that this.Equals(), will be considered to be fresher. + + The first TopologyVersion. + The other TopologyVersion. + + Whether or not this TopologyVersion is fresher than . + + + + + Gets whether or not is staler than or Equal to . + Comparing topology descriptions freshness does not exhibit the reversal property of + inequalities e.g. a.IsStalerThan(b) (a "<" b) does not imply + !b.IsStalerThan(a) (b ">" a). + See for more information. + In the case that this == , will be considered to be fresher. + + The first TopologyVersion. + The other TopologyVersion. + + Whether or not this TopologyVersion is staler than . + + + + + Gets whether or not is staler than or Equal to . + Comparing topology descriptions freshness does not exhibit the reversal property of + inequalities e.g. a.IsStalerThan(b) (a "<" b) does not imply + !b.IsStalerThan(a) (b ">" a). + See for more information. + In the case that this == , will be considered to be fresher. + + The first TopologyVersion. + The other TopologyVersion. + + Whether or not this TopologyVersion is staler than . + + + + + Initializes a new instance of the class. + + The process identifier. + The counter. + + + + Gets the process identifier. + + + The process identifier. + + + + + Gets the process identifier. + + + The process identifier. + + + + + + + + + + + + + + + + + + + + Return the response from the server. + + + + + Ignore the response from the server. + + + + + No response is expected from the server. + + + + + Multiple responses might be returned from the server (the ExhaustAllowed flag will be set). + + + + + Interface for decrypting fields in a binary document. + + + + + Encrypts the fields. + + The database name. + The unencrypted command bytes. + The cancellation token. + An encrypted document. + + + + Encrypts the fields asynchronously. + + The database name. + The unencrypted command bytes. + The cancellation token. + An encrypted document. + + + + Interface for decrypting fields in a binary document. + + + + + Decrypts the fields. + + The encrypted document bytes. + The cancellation token. + An unencrypted document. + + + + Decrypts the fields asynchronously. + + The encrypted document bytes. + The cancellation token. + An unencrypted document. + + + + OP MSG + + + + + OP_COMPRESSED + + + + + OP_QUERY + + + + + OP_REPLY + + + + + A server session. + + + + + + + + + + + + + + + + + + + + + + + + + + + The interface for a core server session. + + + + + Gets the session Id. + + + The session Id. + + + + + Gets a value indicate whether this session is dirty. + + + true if the session is dirty. + + + + + Gets the time this server session was last used (in UTC). + + + The time this server session was last used (in UTC). + + + + + Gets the next transaction number. + + The transaction number. + + + + Marks the session as dirty. + + + + + Called by the driver when the session is used (i.e. sent to the server). + + + + + An output document from a $changeStream pipeline stage. + + The type of the document. + + + + Initializes a new instance of the class. + + The backing document. + The document serializer. + + + + Gets the backing document. + + + + + Gets the cluster time. + + + The cluster time. + + + + + Gets the namespace of the collection. + + + The namespace of the collection. + + + + + Gets ui field from the oplog entry corresponding to the change event. + Only present when the showExpandedEvents change stream option is enabled and for the following event types (MongoDB 6.0 and later): + + + + + + + + + + + + + + + + The UUID of the collection. + + + + + Gets the database namespace. + + + The database namespace. + + + + + Gets the disambiguated paths if present. + + + The disambiguated paths. + + + + A document containing a map that associates an update path to an array containing the path components used in the update document. This data + can be used in combination with the other fields in an to determine the + actual path in the document that was updated. This is necessary in cases where a key contains dot-separated strings (i.e. { "a.b": "c" }) or + a document contains a numeric literal string key (i.e. { "a": { "0": "a" } }). Note that in this scenario, the numeric key can't be the top + level key because { "0": "a" } is not ambiguous - update paths would simply be '0' which is unambiguous because BSON documents cannot have + arrays at the top level. Each entry in the document maps an update path to an array which contains the actual path used when the document + was updated. For example, given a document with the following shape { "a": { "0": 0 } } and an update of { $inc: { "a.0": 1 } }, + would look like the following: + + + { + "a.0": ["a", "0"] + } + + + In each array, all elements will be returned as strings with the exception of array indices, which will be returned as 32-bit integers. + + + Added in MongoDB version 6.1.0. + + + + + + Gets the document key. + + + The document key. + + + + + Gets the full document. + + + The full document. + + + + + Gets the full document before change. + + + The full document before change. + + + + + The type of the newly created object. + Only present when the showExpandedEvents change stream option is enabled and for the following event types (MongoDB 8.1 and later): + + + + + + + + Gets the description for the operation. + Only present when the showExpandedEvents change stream option is enabled and for the following event types (MongoDB 6.0 and later): + + + + + + + + + + + + + The description of the operation. + + + + + Gets the type of the operation. + + + The type of the operation. + + + + + Gets the new namespace for the ns collection. This field is omitted for all operation types except "rename". + + + The new namespace of the ns collection. + + + + + Gets the resume token. + + + The resume token. + + + + + Gets the split event. + + + + + Gets the update description. + + + The update description. + + + + + Gets the wall time of the change stream event. + + + The wall time. + + + + + A serializer for ChangeStreamDocument instances. + + The type of the document. + + + + Initializes a new instance of the class. + + The document serializer. + + + + + + + + + + + + + + + + Change stream FullDocumentBeforeChange option. + + + + + Do not send this option to the server. + Server's default is to not return the full document before change. + + + + + Do not return the full document before change. + + + + + Returns the pre-image of the modified document for replace, update and delete + change events if the pre-image for this event is available. + + + + + Same behavior as 'whenAvailable' except that + an error is raised if the pre-image is not available. + + + + + Change stream FullDocument option. + + + + + Do not send this option to the server. + Server's default is to not return the full document. + + + + + The change stream for partial updates will include both a delta describing the + changes to the document as well as a copy of the entire document that was + changed from some time after the change occurred. + + + + + Returns the post-image of the modified document for replace and update change events + if the post-image for this event is available. + + + + + Same behavior as 'whenAvailable' except that + an error is raised if the post-image is not available. + + + + + The operation type of a change stream result. + + + + + An insert operation type. + + + + + An update operation type. + + + + + A replace operation type. + + + + + A delete operation type. + + + + + An invalidate operation type. + + + + + A rename operation type. + + + + + A drop operation type. + + + + + A dropDatabase operation type. + + + + + A createIndexes operation type. + + + + + A dropIndexes operation type. + + + + + A modify operation type. + + + + + A create operation type. + + + + + A shardCollection operation type. + + + + + A refineCollectionShardKey operation type. + + + + + A reshardCollection operation type. + + + + + A serializer for ChangeStreamOperationType values. + + + + + Gets a ChangeStreamOperationTypeSerializer. + + + A ChangeStreamOperationTypeSerializer. + + + + + + + + + + + Change stream splitEvent data. + + + + + Initializes a new instance of the class. + + Fragment index. + Total number of fragments. + + + + Gets the fragment index, starting at 1. + + + + + Total number of fragments for the event. + + + + + An UpdateDescription in a ChangeStreamDocument instance. + + + + + Initializes a new instance of the class. + + The updated fields. + The removed fields. + + + + Initializes a new instance of the class. + + The updated fields. + The removed fields. + The truncated arrays. + + + + Initializes a new instance of the class. + + The updated fields. + The removed fields. + The truncated arrays. + The DisambiguatedPaths document. + + + + Gets the disambiguated paths if present. + + + The disambiguated paths. + + + + A document containing a map that associates an update path to an array containing the path components used in the update document. This data + can be used in combination with the other fields in an to determine the + actual path in the document that was updated. This is necessary in cases where a key contains dot-separated strings (i.e. { "a.b": "c" }) or + a document contains a numeric literal string key (i.e. { "a": { "0": "a" } }). Note that in this scenario, the numeric key can't be the top + level key because { "0": "a" } is not ambiguous - update paths would simply be '0' which is unambiguous because BSON documents cannot have + arrays at the top level. Each entry in the document maps an update path to an array which contains the actual path used when the document + was updated. For example, given a document with the following shape { "a": { "0": 0 } } and an update of { $inc: { "a.0": 1 } }, + would look like the following: + + + { + "a.0": ["a", "0"] + } + + + In each array, all elements will be returned as strings with the exception of array indices, which will be returned as 32-bit integers. + + + Added in MongoDB version 6.1.0. + + + + + + Gets the removed fields. + + + The removed fields. + + + + + Gets the truncated arrays. + + + The truncated arrays. + + + + + Gets the updated fields. + + + The updated fields. + + + + + + + + + + + A serialize for ChangeStreamUpdateDescription values. + + + + + Gets a ChangeStreamUpdateDescriptionSerializer. + + + A ChangeStreamUpdateDescriptionSerializer. + + + + + + + + + + + Controls whether spaces and punctuation are considered base characters. + + + + + Spaces and punctuation are considered base characters (the default). + + + + + Spaces and characters are not considered base characters, and are only distinguised at strength > 3. + + + + + Uppercase or lowercase first. + + + + + Off (the default). + + + + + Uppercase first. + + + + + Lowercase first. + + + + + Controls which characters are affected by alternate: "Shifted". + + + + + Punctuation and spaces are affected (the default). + + + + + Only spaces. + + + + + Prioritizes the comparison properties. + + + + + Primary. + + + + + Secondary. + + + + + Tertiary (the default). + + + + + Quaternary. + + + + + Identical. + + + + + Represents a MongoDB collation. + + + + + Gets the simple binary compare collation. + + + + + Creates a Collation instance from a BsonDocument. + + The document. + A Collation instance. + + + + Initializes a new instance of the class. + + The locale. + The case level. + The case that is ordered first. + The strength. + Whether numbers are ordered numerically. + The alternate. + The maximum variable. + The normalization. + Whether secondary differences are to be considered in reverse order. + + + + Gets whether spaces and punctuation are considered base characters. + + + + + Gets whether secondary differencs are to be considered in reverse order. + + + + + Gets whether upper case or lower case is ordered first. + + + + + Gets whether the collation is case sensitive at strength 1 and 2. + + + + + Gets the locale. + + + + + Gets which characters are affected by the alternate: "Shifted". + + + + + Gets the normalization. + + + + + Gets whether numbers are ordered numerically. + + + + + Gets the strength. + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + + + + + + + + + + + + + Creates a new Collation instance with some properties changed. + + The new locale. + The new case level. + The new case first. + The new strength. + The new numeric ordering. + The new alternate. + The new maximum variable. + The new normalization. + The new backwards. + A new Collation instance. + + + + Represents a collection namespace. + + + + + Creates a new instance of the class from a collection full name. + + The collection full name. + A CollectionNamespace. + + + + Determines whether the specified collection name is valid. + + The name of the collection. + Whether the specified collection name is valid. + + + + Initializes a new instance of the class. + + The name of the database. + The name of the collection. + + + + Initializes a new instance of the class. + + The database namespace. + The name of the collection. + + + + Gets the name of the collection. + + + The name of the collection. + + + + + Gets the database namespace. + + + The database namespace. + + + + + Gets the collection full name. + + + The collection full name. + + + + + + + + + + + + + + + + + Represents a create index commit quorum. + + + + + Gets a create index commit quorum of majority. + + + + + Gets a create index commit quorum of voting members. + + + + + Creates a create index commit quorum with a mode value. + + The mode value. + A create index commit quorum. + + + + Creates a create index commit quorum with a w value. + + The w value. + A create index commit quorum. + + + + Converts the create index commit quorum to a BsonValue. + + A BsonValue. + + + + Represents a CreateIndexCommitQuorum with a mode value. + + + + + Initializes an instance of CreateIndexCommitQuorumWithMode. + + The mode value. + + + + The mode value. + + + + + + + + Represents a CreateIndexCommitQuorum with a w value. + + + + + Initializes an instance of CreateIndexCommitQuorumWithW. + + The w value. + + + + The w value. + + + + + + + + Represents a database namespace. + + + + + Gets the admin database namespace. + + + The admin database namespace. + + + + + Determines whether the specified database name is valid. + + The database name. + True if the database name is valid. + + + + Initializes a new instance of the class. + + The name of the database. + + + + Gets the name of the database. + + + The name of the database. + + + + + + + + + + + + + + + + + Represents a cursor for an operation that is not actually executed until MoveNextAsync is called for the first time. + + The type of the document. + + + + Initializes a new instance of the class. + + The dispose action. + The delegate to execute the first time MoveNext is called. + The delegate to execute the first time MoveNextAsync is called. + + + + + + + + + + + + + + + + Represents the document validation action. + + + + + Validation failures result in an error. + + + + + Validation failures result in a warning. + + + + + Represents the document validation level. + + + + + Strict document validation. + + + + + Moderate document validation. + + + + + No document validation. + + + + + Represents an asynchronous cursor. + + The type of the document. + + + + Gets the current batch of documents. + + + The current batch of documents. + + + + + Moves to the next batch of documents. + + The cancellation token. + Whether any more documents are available. + + + + Moves to the next batch of documents. + + The cancellation token. + A Task whose result indicates whether any more documents are available. + + + + Represents an asynchronous cursor for change stream. + + The type of the document. + + + + Gets the resume token. + + + The resume token. + + + + + Gets the post batch resume token. + + + The post batch resume token. + + + + + Gets a value indicating whether the first batch was empty or not. + + + true if the first batch was empty; otherwise, false. + + + + + Represents extension methods for IAsyncCursor. + + + + + Determines whether the cursor contains any documents. + + The type of the document. + The cursor. + The cancellation token. + True if the cursor contains any documents. + + + + Determines whether the cursor contains any documents. + + The type of the document. + The cursor. + The cancellation token. + A Task whose result is true if the cursor contains any documents. + + + + Returns the first document of a cursor. + + The type of the document. + The cursor. + The cancellation token. + The first document. + + + + Returns the first document of a cursor. + + The type of the document. + The cursor. + The cancellation token. + A Task whose result is the first document. + + + + Returns the first document of a cursor, or a default value if the cursor contains no documents. + + The type of the document. + The cursor. + The cancellation token. + The first document of the cursor, or a default value if the cursor contains no documents. + + + + Returns the first document of the cursor, or a default value if the cursor contains no documents. + + The type of the document. + The cursor. + The cancellation token. + A task whose result is the first document of the cursor, or a default value if the cursor contains no documents. + + + + Calls a delegate for each document returned by the cursor. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + + If your delegate is going to take a long time to execute or is going to block + consider using a different overload of ForEachAsync that uses a delegate that + returns a Task instead. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + + If your delegate is going to take a long time to execute or is going to block + consider using a different overload of ForEachAsync that uses a delegate that + returns a Task instead. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Returns the only document of a cursor. This method throws an exception if the cursor does not contain exactly one document. + + The type of the document. + The cursor. + The cancellation token. + The only document of a cursor. + + + + Returns the only document of a cursor. This method throws an exception if the cursor does not contain exactly one document. + + The type of the document. + The cursor. + The cancellation token. + A Task whose result is the only document of a cursor. + + + + Returns the only document of a cursor, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The type of the document. + The cursor. + The cancellation token. + The only document of a cursor, or a default value if the cursor contains no documents. + + + + Returns the only document of a cursor, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The type of the document. + The cursor. + The cancellation token. + A Task whose result is the only document of a cursor, or a default value if the cursor contains no documents. + + + + Wraps a cursor in an IEnumerable that can be enumerated one time. + + The type of the document. + The cursor. + The cancellation token. + An IEnumerable + + + + Wraps a cursor in an IAsyncEnumerable that can be enumerated one time. + + The type of the document. + The cursor. + An IAsyncEnumerable. + + + + Returns a list containing all the documents returned by a cursor. + + The type of the document. + The source. + The cancellation token. + The list of documents. + + + + Returns a list containing all the documents returned by a cursor. + + The type of the document. + The source. + The cancellation token. + A Task whose value is the list of documents. + + + + Represents an operation that will return a cursor when executed. + + The type of the document. + + + + Executes the operation and returns a cursor to the results. + + The cancellation token. + A cursor. + + + + Executes the operation and returns a cursor to the results. + + The cancellation token. + A Task whose result is a cursor. + + + + Represents extension methods for IAsyncCursorSource. + + + + + Determines whether the cursor returned by a cursor source contains any documents. + + The type of the document. + The source. + The cancellation token. + True if the cursor contains any documents. + + + + Determines whether the cursor returned by a cursor source contains any documents. + + The type of the document. + The source. + The cancellation token. + A Task whose result is true if the cursor contains any documents. + + + + Returns the first document of a cursor returned by a cursor source. + + The type of the document. + The source. + The cancellation token. + The first document. + + + + Returns the first document of a cursor returned by a cursor source. + + The type of the document. + The source. + The cancellation token. + A Task whose result is the first document. + + + + Returns the first document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + + The type of the document. + The source. + The cancellation token. + The first document of the cursor, or a default value if the cursor contains no documents. + + + + Returns the first document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + + The type of the document. + The source. + The cancellation token. + A Task whose result is the first document of the cursor, or a default value if the cursor contains no documents. + + + + Calls a delegate for each document returned by the cursor. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + + If your delegate is going to take a long time to execute or is going to block + consider using a different overload of ForEachAsync that uses a delegate that + returns a Task instead. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + + If your delegate is going to take a long time to execute or is going to block + consider using a different overload of ForEachAsync that uses a delegate that + returns a Task instead. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Returns the only document of a cursor returned by a cursor source. This method throws an exception if the cursor does not contain exactly one document. + + The type of the document. + The source. + The cancellation token. + The only document of a cursor. + + + + Returns the only document of a cursor returned by a cursor source. This method throws an exception if the cursor does not contain exactly one document. + + The type of the document. + The source. + The cancellation token. + A Task whose result is the only document of a cursor. + + + + Returns the only document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The type of the document. + The source. + The cancellation token. + The only document of a cursor, or a default value if the cursor contains no documents. + + + + Returns the only document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The type of the document. + The source. + The cancellation token. + A Task whose result is the only document of a cursor, or a default value if the cursor contains no documents. + + + + Wraps a cursor source in an IEnumerable. Each time GetEnumerator is called a new cursor is fetched from the cursor source. + + The type of the document. + The source. + The cancellation token. + An IEnumerable. + + + + Wraps a cursor source in an IAsyncEnumerable. Each time GetAsyncEnumerator is called a new enumerator is returned and a new cursor + is fetched from the cursor source on the first call to MoveNextAsync. + + The type of the document. + The source. + An IAsyncEnumerable. + + + + Returns a list containing all the documents returned by the cursor returned by a cursor source. + + The type of the document. + The source. + The cancellation token. + The list of documents. + + + + Returns a list containing all the documents returned by the cursor returned by a cursor source. + + The type of the document. + The source. + The cancellation token. + A Task whose value is the list of documents. + + + + Represents a MongoDB authentication exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + + + + Represents a MongoDB client exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB command exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The message. + The command. + + + + Initializes a new instance of the class. + + The connection identifier. + The message. + The command. + The command result. + + + + Initializes a new instance of the class. + + The connection identifier. + The message. + The command. + The command result. + The inner exception. + + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the error code. + + + The error code. + + + + + Gets the name of the error code. + + + The name of the error code. + + + + + Gets the command. + + + The command. + + + + + Gets the error message. + + + The error message. + + + + + Gets the command result. + + + The command result. + + + + + + + + Represents a MongoDB configuration exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB connection failed exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + + + + Represents a MongoDB connection exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the connection identifier. + + + + + Whether or not this exception contains a socket timeout exception. + + + + + Whether or not this exception contains a timeout exception. + + + + + Determines whether the exception is network error or no. + + + + + + + + A value for propagating a serviceId to the SDAM logic after handshake completed but before acquiring connection. + + + + + Represents a MongoDB connection pool paused exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB cursor not found exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The cursor identifier. + The query. + + + + Initializes a new instance of the class. + + The information. + The context. + + + + Gets the cursor identifier. + + + The cursor identifier. + + + + + + + + Represents a MongoDB duplicate key exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The command result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the error labels. + + + The error labels. + + + + + Adds an error label. + + The error label. + + + + Determines whether the exception has some error label. + + The error label. + + true if the exception has some error label; otherwise, false. + + + + + Removes the error label. + + The error label. + + + + + + + Represents a MongoDB execution timeout exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The command result. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + The command result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the error code. + + + The error code. + + + + + Gets the name of the error code. + + + The name of the error code. + + + + + + + + Represents a MongoDB incompatible driver exception. + + + + + Initializes a new instance of the class. + + The cluster description. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB internal exception (almost surely the result of a bug). + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB node is recovering exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The command. + The result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets whether it caused by shutdown or no. + + + + + Represents a MongoDB not primary exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The command. + The result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB query exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The message. + The query. + The query result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the query. + + + The query. + + + + + Gets the query result. + + + The query result. + + + + + + + + Represents a MongoDB server exception. + + + + + Adds error labels from a command result document into the top-level label list. + + The exception. + The result document. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the connection identifier. + + + + + + + + Represents a MongoDB connection pool wait queue full exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB write concern exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The command result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the mapped write concern result exception. + + + + + Gets the write concern result. + + + The write concern result. + + + + + + + + Determines whether the exception is due to a write concern error only. + + + true if the exception is due to a write concern error only; otherwise, false. + + + + + Represents helper methods for use with the struct. + + + + + Creates an instance of an optional parameter with a value. + + + This helper method can be used when the implicit conversion doesn't work (due to compiler limitations). + + The type of the optional parameter. + The value. + An instance of an optional parameter with a value. + + + + Creates an instance of an optional parameter with an enumerable value. + + The type of the items of the optional paramater. + The value. + An instance of an optional parameter with an enumerable value. + + + + Represents an optional parameter that might or might not have a value. + + The type of the parameter. + + + + Initializes a new instance of the struct with a value. + + The value of the parameter. + + + + Gets a value indicating whether the optional parameter has a value. + + + true if the optional parameter has a value; otherwise, false. + + + + + Gets the value of the optional parameter. + + + The value of the optional parameter. + + + + + Performs an implicit conversion from to an with a value. + + The value. + + The result of the conversion. + + + + + Returns a value indicating whether this optional parameter contains a value that is not equal to an existing value. + + The value. + True if this optional parameter contains a value that is not equal to an existing value. + + + + Returns either the value of this optional parameter if it has a value, otherwise a default value. + + The default value. + Either the value of this optional parameter if it has a value, otherwise a default value. + + + + Represents a read concern. + + + + + Gets an available read concern. + + + + + Gets a default read concern. + + + + + Gets a linearizable read concern. + + + + + Gets a local read concern. + + + + + Gets a majority read concern. + + + + + Gets a snapshot read concern. + + + + + Creates a read concern from a document. + + The document. + A read concern. + + + + Initializes a new instance of the class. + + The level. + + + + Gets a value indicating whether this is the server's default read concern. + + + true if this instance is default; otherwise, false. + + + + + Gets the level. + + + + + + + + + + + + + + Converts this read concern to a BsonDocument suitable to be sent to the server. + + + A BsonDocument. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a new instance of ReadConcern with some values changed. + + The level. + + A ReadConcern. + + + + + The level of the read concern. + + + + + Reads available data. + + + + + Reads data committed locally. + + + + + Reads data committed to a majority of nodes. + + + + + Avoids returning data from a "stale" primary + (one that has already been superseded by a new primary but doesn't know it yet). + It is important to note that readConcern level linearizable does not by itself + produce linearizable reads; they must be issued in conjunction with w:majority + writes to the same document(s) in order to be linearizable. + + + + + Snapshot read concern level. + + + + + Represents a read preference. + + + + + Gets an instance of ReadPreference that represents a Nearest read preference. + + + An instance of ReadPreference that represents a Nearest read preference. + + + + + Gets an instance of ReadPreference that represents a Primary read preference. + + + An instance of ReadPreference that represents a Primary read preference. + + + + + Gets an instance of ReadPreference that represents a PrimaryPreferred read preference. + + + An instance of ReadPreference that represents a PrimaryPreferred read preference. + + + + + Gets an instance of ReadPreference that represents a Secondary read preference. + + + An instance of ReadPreference that represents a Secondary read preference. + + + + + Gets an instance of ReadPreference that represents a SecondaryPreferred read preference. + + + An instance of ReadPreference that represents a SecondaryPreferred read preference. + + + + + Creates a new ReadPreference instance from a BsonDocument. + + The document. + A ReadPreference. + + + + Initializes a new instance of the class. + + The read preference mode. + The tag sets. + The maximum staleness. + The hedge. + + + + Gets the hedge. + + + + + Gets the maximum staleness. + + + The maximum staleness. + + + + + Gets the read preference mode. + + + The read preference mode. + + + + + Gets the tag sets. + + + The tag sets. + + + + + + + + + + + + + + + + + Returns a new instance of ReadPreference with some values changed. + + The hedge. + A new instance of ReadPreference. + + + + Returns a new instance of ReadPreference with some values changed. + + The read preference mode. + A new instance of ReadPreference. + + + + Returns a new instance of ReadPreference with some values changed. + + The tag sets. + A new instance of ReadPreference. + + + + Returns a new instance of ReadPreference with some values changed. + + The maximum staleness. + A new instance of ReadPreference. + + + + Represents a read preference hedge. + + + + + Gets a disabled read preference hedge. + + + + + Gets an enabled read preference hedge. + + + + + Initializes an instance of ReadPreferenceHedge. + + Whether hedged reads are enabled. + + + + Gets whether hedged reads are enabled. + + + + + + + + + + + + + + Converts the read preference hedge to a BsonDocument. + + A BsonDocument. + + + + + + + Represents the read preference mode. + + + + + Reads should be from the primary. + + + + + Reads should be from the primary if possible, otherwise from a secondary. + + + + + Reads should be from a secondary. + + + + + Reads should be from a secondary if possible, otherwise from the primary. + + + + + Reads should be from any server that is within the latency threshold window. + + + + + Represents a server API. + + + + + Initializes a new instance of the class. + + The server API version. + The flag for strict server API version enforcement. + The flag for treating deprecated server APIs as errors. + + + + Returns true if the two values are not equal. + + The left hand side. + The right hand side + True if the two values are not equal. + + + + Returns true if the two values are equal. + + The left hand side. + The right hand side + True if the two values are equal. + + + + Gets the deprecation errors flag. + + + + + Gets the strict flag. + + + + + Gets the server API version. + + + + + + + + + + + + + + + + + Represents a server API version. + + + + + Gets an instance of server API version 1. + + + + + Returns true if the two values are not equal. + + The left hand side. + The right hand side + True if the two values are not equal. + + + + Returns true if the two values are equal. + + The left hand side. + The right hand side + True if the two values are equal. + + + + + + + + + + + + + + + + Represents the category for an error from the server. + + + + + An error without a category. + + + + + A duplicate key error. + + + + + An execution timeout error. + + + + + Represents a replica set member tag. + + + + + Initializes a new instance of the class. + + The name. + The value. + + + + Gets the name. + + + The name. + + + + + Gets the value. + + + The value. + + + + + + + + + + + + + + + + + Represents a replica set member tag set. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The tags. + + + + Gets a value indicating whether the tag set is empty. + + + true if the tag set is empty; otherwise, false. + + + + + Gets the tags. + + + The tags. + + + + + Determines whether the tag set contains all of the required tags. + + The required tags. + True if the tag set contains all of the required tags. + + + + + + + + + + + + + + + + Specifies the granularity of time series collection bucketing. + + + + + Seconds. + + + + + Minutes. + + + + + Hours. + + + + + Defines the time series options to use when creating a time series collection. See https://www.mongodb.com/docs/manual/reference/command/create/ for supported options + and https://www.mongodb.com/docs/manual/core/timeseries-collections/ for more information on time series collections. + + + + + Initializes a new instance of the class. + + The name of the top-level field to be used for time. + The name of the top-level field describing the series upon which related data will be grouped. + The for the time series. Do not set if using bucketMaxSpanSeconds + The maximum time between timestamps in the same bucket. + The interval used to round down the first timestamp when opening a new bucket. + + + + The coarse granularity of time series data. + + + + + The name of the field which contains metadata in each time series document. + + + + + The name of the field which contains the date and time in each time series document. + + + + + The maximum time between timestamps in the same bucket. + + + + + The interval used to round down the first timestamp when opening a new bucket. + + + + + The BSON representation of the time series options. + + A BsonDocument. + + + + Transaction options. + + + + + Initializes a new instance of the class. + + The read concern. + The read preference. + The write concern. + The max commit time. + + + + Initializes a new instance of the class. + + The per operation timeout + The read concern. + The read preference. + The write concern. + The max commit time. + + + + Gets the max commit time. + + + The max commit time. + + + + + Gets the read concern. + + + The read concern. + + + + + Gets the read preference. + + + The read preference. + + + + + Gets the per operation timeout. + + + + + Gets the write concern. + + + The write concern. + + + + + Returns a new TransactionOptions with some values changed. + + The new read concern. + The read preference. + The new write concern. + The max commit time. + + The new TransactionOptions. + + + + + Represents a write concern. + + + + + Gets an instance of WriteConcern that represents an acknowledged write concern. + + + An instance of WriteConcern that represents an acknowledged write concern. + + + + + Gets an instance of WriteConcern that represents an unacknowledged write concern. + + + An instance of WriteConcern that represents an unacknowledged write concern. + + + + + Gets an instance of WriteConcern that represents a W1 write concern. + + + An instance of WriteConcern that represents a W1 write concern. + + + + + Gets an instance of WriteConcern that represents a W2 write concern. + + + An instance of WriteConcern that represents a W2 write concern. + + + + + Gets an instance of WriteConcern that represents a W3 write concern. + + + An instance of WriteConcern that represents a W3 write concern. + + + + + Gets an instance of WriteConcern that represents a majority write concern. + + + An instance of WriteConcern that represents a majority write concern. + + + + + Creates a write concern from a document. + + The document. + A write concern. + + + + Initializes a new instance of the class. + + The w value. + The wtimeout value. + The fsync value . + The journal value. + + + + Initializes a new instance of the class. + + The mode. + The wtimeout value. + The fsync value . + The journal value. + + + + Initializes a new instance of the class. + + The w value. + The wtimeout value. + The fsync value . + The journal value. + + + + Gets the fsync value. + + + The fsync value. + + + + + Gets a value indicating whether this instance is an acknowledged write concern. + + + true if this instance is an acknowledged write concern; otherwise, false. + + + + + Gets a value indicating whether this write concern will use the default on the server. + + + true if this instance is the default; otherwise, false. + + + + + Gets the journal value. + + + The journal value. + + + + + Gets the w value. + + + The w value. + + + + + Gets the wtimeout value. + + + The wtimeout value. + + + + + + + + + + + + + + Converts this write concern to a BsonDocument suitable to be sent to the server. + + + A BsonDocument. + + + + + + + + Returns a new instance of WriteConcern with some values changed. + + The w value. + The wtimeout value. + The fsync value. + The journal value. + A WriteConcern. + + + + Returns a new instance of WriteConcern with some values changed. + + The mode. + The wtimeout value. + The fsync value. + The journal value. + A WriteConcern. + + + + Returns a new instance of WriteConcern with some values changed. + + The w value. + The wtimeout value. + The fsync value. + The journal value. + A WriteConcern. + + + + Represents the base class for w values. + + + + + Parses the specified value. + + The value. + A WValue. + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from Nullable{Int32} to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + + + + Converts this WValue to a BsonValue suitable to be included in a BsonDocument representing a write concern. + + A BsonValue. + + + + Represents a numeric WValue. + + + + + Initializes a new instance of the class. + + The w value. + + + + Gets the value. + + + The value. + + + + + + + + + + + + + + + + + + + + Represents a mode string WValue. + + + + + Gets an instance of WValue that represents the majority mode. + + + An instance of WValue that represents the majority mode. + + + + + Initializes a new instance of the class. + + The mode. + + + + Gets the value. + + + The value. + + + + + + + + + + + + + + + + + + + + Represents the results of an operation performed with an acknowledged WriteConcern. + + + + + Initializes a new instance of the class. + + The response. + + + + Gets the number of documents affected. + + + + + Gets whether the result has a LastErrorMessage. + + + + + Gets the last error message (null if none). + + + + + Gets the _id of an upsert that resulted in an insert. + + + + + Gets whether the last command updated an existing document. + + + + + Gets the wrapped result. + + + + + Options for a count operation. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. + + + + + Gets or sets the limit. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the skip. + + + + + Gets or sets the operation timeout. + + + + + Options for creating a collection. + + + + + Gets or sets the collation. + + + + + Gets or sets a value indicating whether the collection is capped. + + + + + Gets or sets Gets or sets a change streams pre and post images options. + + + + + Gets or sets encrypted fields. + + + + + Gets or sets a timespan indicating how long documents in a time series collection should be retained. + + + + + Gets or sets the index option defaults. + + + The index option defaults. + + + + + Gets or sets the maximum number of documents (used with capped collections). + + + + + Gets or sets the maximum size of the collection (used with capped collections). + + + + + Gets or sets whether padding should not be used. + + + + + Gets or sets the serializer registry. + + + + + Gets or sets the storage engine options. + + + + + Gets or sets the operation timeout. + + + + + Gets or sets the to use when creating a time series collection. + + + + + Gets or sets a value indicating whether to use power of 2 sizes. + + + + + Gets or sets the validation action. + + + The validation action. + + + + + Gets or sets the validation level. + + + The validation level. + + + + + Clones the CreateCollectionOptions. + + The cloned CreateCollectionOptions. + + + + Options for creating a collection. + + The type of the document. + + + + Coerces a generic CreateCollectionOptions{TDocument} from a non-generic CreateCollectionOptions. + + The options. + The generic options. + + + + Gets or sets the . + + + + + Gets or sets the document serializer. + + + + + Gets or sets the validator. + + + The validator. + + + + + Clones the CreateCollectionOptions. + + The cloned CreateCollectionOptions. + + + + Model for creating an index. + + The type of the document. + + + + Initializes a new instance of the class. + + The keys. + The options. + + + + Gets the keys. + + + + + Gets the options. + + + + + Options for creating an index. + + + + + Gets or sets a value indicating whether to create the index in the background. + + + + + Gets or sets the precision, in bits, used with geohash indexes. + + + + + Gets or sets the size of a geohash bucket. + + + + + Gets or sets the collation. + + + + + Gets or sets the default language. + + + + + Gets or sets when documents expire (used with TTL indexes). + + + + + Gets or sets a value indicating whether the index is hidden. + + + + + Gets or sets the language override. + + + + + Gets or sets the max value for 2d indexes. + + + + + Gets or sets the min value for 2d indexes. + + + + + Gets or sets the index name. + + + + + Gets or sets a value indicating whether the index is a sparse index. + + + + + Gets or sets the index version for 2dsphere indexes. + + + + + Gets or sets the storage engine options. + + + + + Gets or sets the index version for text indexes. + + + + + Gets or sets a value indicating whether the index is a unique index. + + + + + Gets or sets the version of the index. + + + + + Gets or sets the weights for text indexes. + + + + + Options for creating an index. + + The type of the document. + + + + Gets or sets the partial filter expression. + + + + + Gets or sets the wildcard projection. + + + + + Options for creating multiple indexes. + + + + + Gets or sets the comment. + + The comment. + + + + Gets or sets the commit quorum. + + The commit quorum. + + + + Gets or sets the maximum time. + + The maximum time. + + + + Gets or sets the operation timeout. + + + + + Options for creating a single index. + + + + + Gets or sets the commit quorum. + + The commit quorum. + + + + Gets or sets the maximum time. + + The maximum time. + + + + Gets or sets the operation timeout. + + + + + Model for creating a search index. + + + + Gets the index name. + The index name. + + + Gets the index type. + The index type. + + + Gets the index definition. + The definition. + + + + Initializes a new instance of the class. + + The name. + The definition. + + + + Initializes a new instance of the class. + + The name. + The type. + The definition. + + + + Options for creating a view. + + The type of the documents. + + + + Gets or sets the collation. + + + The collation. + + + + + Gets or sets the document serializer. + + + The document serializer. + + + + + Gets or sets the serializer registry. + + + The serializer registry. + + + + + Gets or sets the operation timeout. + + + + + The cursor type. + + + + + A non-tailable cursor. This is sufficient for a vast majority of uses. + + + + + A tailable cursor. + + + + + A tailable cursor with a built-in server sleep. + + + + + Model for deleting many documents. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets the hint. + + + + + Gets the type of the model. + + + + + Model for deleting a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets the hint. + + + + + Gets the type of the model. + + + + + Options for the Delete methods. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. + + + + + Gets or sets the let document. + + + + + Gets or sets the operation timeout. + + + + + The result of a delete operation. + + + + + Gets the deleted count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets a value indicating whether the result is acknowledged. + + + + + Initializes a new instance of the class. + + + + + The result of an acknowledged delete operation. + + + + + Initializes a new instance of the class. + + The deleted count. + + + + + + + + + + The result of an unacknowledged delete operation. + + + + + Gets the instance. + + + + + + + + + + + Represents a range for the $densify stage. + + + + + Creates a DensifyRange with DateTime bounds. + + The lower bound. + The upper bound. + The step. + The unit. + A DensifyRange with DateTime bounds. + + + + Creates a DensifyRange with DateTime bounds. + + The bounds. + The step. + The unit. + A DensifyRange with DateTime bounds. + + + + Creates a DensifyRange with numeric bounds. + + The numeric type. + The lower bound. + The upper bound. + The step. + A DensifyRange with numeric bounds. + + + + Creates a DensifyRange with numeric bounds. + + The numeric type. + The bounds. + The step. + A DensifyRange with numeric bounds. + + + + Renders the range as a BsonDocument. + + The rendered range. + + + + + + + Represents keyword densify bounds. + + + + + Gets a DensifyBounds representing the "full" bounds. + + + + + Gets a DensifyBounds representing the "partition" bounds. + + + + + Gets the keyword. + + + + + Represents a numeric densify range. + + The numeric type. + + + + Initializes a new instance of DensifyNumericRange. + + The bounds. + The step. + + + + Gets the bounds. + + + + + Gets the step. + + + + + + + + Represents a numeric densify bounds. + + The numeric type. + + + + Renders the bounds as a BsonValue. + + The rendered bounds. + + + + Represents a keyword numeric densify bounds. + + The numeric type. + + + + Gets the keyword. + + + + + + + + Represents a numeric densify bounds with lower and upper bounds. + + The numeric type. + + + + Initializes an instance of DensifyLowerUpperNumericBounds. + + The lower bound. + The upper bound. + + + + Gets the lower bound. + + + + + Gets the upper bound. + + + + + + + + Represents a DateTime densify range. + + + + + Initializes an instance of DensifyDateTimeRange. + + The bounds. + The step. + The unit. + + + + Gets the bounds. + + + + + Gets the step. + + + + + Gets the unit. + + + + + + + + Represents a DateTime densify bounds. + + + + + Renders the bounds as a BsonValue. + + The rendered bounds. + + + + Represents a keyword DateTime densify bounds. + + + + + Initializes an instance of DensifyKeywordDateTimeBounds. + + The keyword. + + + + Gets the keyword. + + + + + + + + Represents a DateTime densify bounds with lower and upper bounds. + + + + + Initializes an instance of DensifyLowerUpperDateTimeBounds. + + The lower bound. + The upper bound. + + + + Gets the lower bound. + + + + + Gets the upper bound. + + + + + + + + Represents a densify DateTime unit. + + + + + Milliseconds. + + + + + Seconds. + + + + + Minutes. + + + + + Hours. + + + + + Days. + + + + + Weeks. + + + + + Months. + + + + + Quarters. + + + + + Years. + + + + + Options for the distinct command. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the operation timeout. + + + + + Represents a documents window for a SetWindowFields window method. + + + + + Returns a "current" documents window boundary. + + + + + Returns an "unbounded" documents window boundary. + + + + + Creates a documents window. + + The lower boundary. + The upper boundary. + A documents window. + + + + Creates a documents window. + + The lower boundary. + The upper boundary. + A documents window. + + + + Creates a documents window. + + The lower boundary. + The upper boundary. + A documents window. + + + + Creates a documents window. + + The lower boundary. + The upper boundary. + A documents window. + + + + Initializes an instance of DocumentsWindow. + + The lower boundary. + The upper boundary. + + + + The lower boundary. + + + + + The upper boundary. + + + + + + + + Represents a boundary for a documents window in SetWindowFields. + + + + + Represents a keyword boundary for a document window in SetWindowFields (i.e. "unbounded" or "current"). + + + + + The keyword. + + + + + + + + Represents a position boundary for a document window in SetWindowFields. + + + + + Initializes a new instance of PositionDocumentsWindowBoundary. + + The position. + + + + The position. + + + + + + + + Options for dropping a collection. + + + + + Gets or sets encrypted fields. + + + + + Gets or sets the operation timeout. + + + + + Options for dropping an index. + + + + + Gets or sets the comment. + + + The comment. + + + + + Gets or sets the maximum time. + + The maximum time. + + + + Gets or sets the operation timeout. + + + + + AutoEncryption Provider Registry. + + + + + Represents an AutoCryptClientController. + + + + + Gets the crypt shared library version. + + A crypt shared library version. + + + + AutoEncryption Provider Registry. + + + + + Registers new AutoEncryption Provider. + + Factory method. + + + + Creates an IAutoCryptClientController. + + The client. + The AutoEncryptionOptions. + The IAutoCryptClientController. + + + + Represents KMS Provider. + + + + + Returns KMS Credentials. + + + + + Kms Provider Registry. + + + + + Registers new Kms Provider. + + Kms Provider Name. + Factory method. + + + + Creates KMS provider if possible. + + The requested provider name. + When this method succeeds contains the created provider, otherwise null. + true if the requested provider was created, otherwise false. + + + + Options for estimated document count. + + + + + Gets or sets the comment. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the operation timeout. + + + + + Options for controlling translation from .NET expression trees into MongoDB expressions. + + + + + Gets or sets the server version to target when translating Expressions. + + + + + Gets or sets whether client side projections are enabled. + + + + + + + + + + + + + + Evidence of a MongoIdentity via an external mechanism. For example, on windows this may + be the current process' user or, on linux, via kinit. + + + + + Initializes a new instance of the class. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + A rendered field. + + + + + Initializes a new instance of the class. + + The field name. + The field serializer. + + + + Gets the field name. + + + + + Gets the field serializer. + + + + + A rendered field. + + The type of the field. + + + + Initializes a new instance of the class. + + The field name. + The field serializer. + + + + Initializes a new instance of the class. + + The field name. + The field serializer. + The value serializer. + The underlying serializer. + + + + Gets the field name. + + + + + Gets the field serializer. + + + + + Gets the underlying serializer. + + + + + Gets the value serializer. + + + + + Base class for field names. + + The type of the document. + + + + Renders the field to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + Name of the field. + + The result of the conversion. + + + + + Base class for field names. + + The type of the document. + The type of the field. + + + + Renders the field to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + Name of the field. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The field. + + The result of the conversion. + + + + + An based field. + + The type of the document. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + + + + An based field. + + The type of the document. + The type of the field. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + + + + A based field name. + + The type of the document. + + + + Initializes a new instance of the class. + + Name of the field. + + + + + + + A based field name. + + The type of the document. + The type of the field. + + + + Initializes a new instance of the class. + + Name of the field. + The field serializer. + + + + + + + Base class for filters. + + The type of the document. + + + + Gets an empty filter. An empty filter matches everything. + + + + + Renders the filter to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from a predicate expression to . + + The predicate. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Implements the operator &. + + The LHS. + The RHS. + + The result of the operator. + + + + + Implements the operator |. + + The LHS. + The RHS. + + The result of the operator. + + + + + Implements the operator !. + + The op. + + The result of the operator. + + + + + A based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + + + + + + + An based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + + + + A JSON based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + + + + An based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + + + + A builder for a . + + The type of the document. + + + + Gets an empty filter. An empty filter matches everything. + + + + + Creates an all filter for an array field. + + The type of the item. + The field. + The values. + An all filter. + + + + Creates an all filter for an array field. + + The type of the item. + The field. + The values. + An all filter. + + + + Creates an and filter. + + The filters. + A filter. + + + + Creates an and filter. + + The filters. + An and filter. + + + + Creates an equality filter for an array field. + + The type of the item. + The field. + The value. + An equality filter. + + + + Creates an equality filter for an array field. + + The type of the item. + The field. + The value. + An equality filter. + + + + Creates a greater than filter for an array field. + + The type of the item. + The field. + The value. + A greater than filter. + + + + Creates a greater than filter for an array field. + + The type of the item. + The field. + The value. + A greater than filter. + + + + Creates a greater than or equal filter for an array field. + + The type of the item. + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter for an array field. + + The type of the item. + The field. + The value. + A greater than or equal filter. + + + + Creates a less than filter for an array field. + + The type of the item. + The field. + The value. + A less than filter. + + + + Creates a less than filter for an array field. + + The type of the item. + The field. + The value. + A less than filter. + + + + Creates a less than or equal filter for an array field. + + The type of the item. + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter for an array field. + + The type of the item. + The field. + The value. + A less than or equal filter. + + + + Creates an in filter for an array field. + + The type of the item. + The field. + The values. + An in filter. + + + + Creates an in filter for an array field. + + The type of the item. + The field. + The values. + An in filter. + + + + Creates a not equal filter for an array field. + + The type of the item. + The field. + The value. + A not equal filter. + + + + Creates a not equal filter for an array field. + + The type of the item. + The field. + The value. + A not equal filter. + + + + Creates a not in filter for an array field. + + The type of the item. + The field. + The values. + A not in filter. + + + + Creates a not in filter for an array field. + + The type of the item. + The field. + The values. + A not in filter. + + + + Creates an in filter for a string array field. + + The field. + The values. + An in filter. + + + + Creates an in filter for a string array field. + + The field. + The values. + An in filter. + + + + Creates an in filter for a string array field. + + The field. + The values. + An in filter. + + + + Creates an in filter for a string array field. + + The field. + The values. + An in filter. + + + + Creates a not in filter for a string array field. + + The field. + The values. + A not in filter. + + + + Creates a not in filter for a string array field. + + The field. + The values. + A not in filter. + + + + Creates a not in filter for a string array field. + + The field. + The values. + A not in filter. + + + + Creates a not in filter for a string array field. + + The field. + The values. + A not in filter. + + + + Creates a bits all clear filter. + + The field. + The bitmask. + A bits all clear filter. + + + + Creates a bits all clear filter. + + The field. + The bitmask. + A bits all clear filter. + + + + Creates a bits all set filter. + + The field. + The bitmask. + A bits all set filter. + + + + Creates a bits all set filter. + + The field. + The bitmask. + A bits all set filter. + + + + Creates a bits any clear filter. + + The field. + The bitmask. + A bits any clear filter. + + + + Creates a bits any clear filter. + + The field. + The bitmask. + A bits any clear filter. + + + + Creates a bits any set filter. + + The field. + The bitmask. + A bits any set filter. + + + + Creates a bits any set filter. + + The field. + The bitmask. + A bits any set filter. + + + + Creates an element match filter for an array value. + + TDocument must implement IEnumerable{TITem} when using this overload of ElemMatch. + The implied element filter. + An element match filter. + + + + Creates an element match filter for an array value. + + TDocument must implement IEnumerable{TITem} when using this overload of ElemMatch. + The implied element filter. + An element match filter. + + + + Creates an element match filter for an array field. + + The type of the item. + The field. + The filter. + An element match filter. + + + + Creates an element match filter for an array field. + + The type of the item. + The field. + The filter. + An element match filter. + + + + Creates an element match filter for an array field. + + The type of the item. + The field. + The filter. + An element match filter. + + + + Creates an equality filter. + + The type of the field. + The field. + The value. + An equality filter. + + + + Creates an equality filter. + + The type of the field. + The field. + The value. + An equality filter. + + + + Creates an exists filter. + + The field. + if set to true [exists]. + An exists filter. + + + + Creates an exists filter. + + The field. + if set to true [exists]. + An exists filter. + + + + Creates a geo intersects filter. + + The type of the coordinates. + The field. + The geometry. + A geo intersects filter. + + + + Creates a geo intersects filter. + + The type of the coordinates. + The field. + The geometry. + A geo intersects filter. + + + + Creates a geo within filter. + + The type of the coordinates. + The field. + The geometry. + A geo within filter. + + + + Creates a geo within filter. + + The type of the coordinates. + The field. + The geometry. + A geo within filter. + + + + Creates a geo within box filter. + + The field. + The lower left x. + The lower left y. + The upper right x. + The upper right y. + A geo within box filter. + + + + Creates a geo within box filter. + + The field. + The lower left x. + The lower left y. + The upper right x. + The upper right y. + A geo within box filter. + + + + Creates a geo within center filter. + + The field. + The x. + The y. + The radius. + A geo within center filter. + + + + Creates a geo within center filter. + + The field. + The x. + The y. + The radius. + A geo within center filter. + + + + Creates a geo within center sphere filter. + + The field. + The x. + The y. + The radius. + A geo within center sphere filter. + + + + Creates a geo within center sphere filter. + + The field. + The x. + The y. + The radius. + A geo within center sphere filter. + + + + Creates a geo within polygon filter. + + The field. + The points. + A geo within polygon filter. + + + + Creates a geo within polygon filter. + + The field. + The points. + A geo within polygon filter. + + + + Creates a greater than filter for a UInt32 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter for a UInt64 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter. + + The type of the field. + The field. + The value. + A greater than filter. + + + + Creates a greater than filter for a UInt32 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter for a UInt64 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter. + + The type of the field. + The field. + The value. + A greater than filter. + + + + Creates a greater than or equal filter for a UInt32 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter for a UInt64 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter. + + The type of the field. + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter for a UInt32 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter for a UInt64 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter. + + The type of the field. + The field. + The value. + A greater than or equal filter. + + + + Creates an in filter. + + The type of the field. + The field. + The values. + An in filter. + + + + Creates an in filter. + + The type of the field. + The field. + The values. + An in filter. + + + + Creates a json schema filter. + + The json validation schema. + A schema filter. + + + + Creates a less than filter for a UInt32 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter for a UInt64 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter. + + The type of the field. + The field. + The value. + A less than filter. + + + + Creates a less than filter for a UInt32 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter for a UInt64 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter. + + The type of the field. + The field. + The value. + A less than filter. + + + + Creates a less than or equal filter for a UInt32 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter for a UInt64 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter. + + The type of the field. + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter for a UInt32 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter for a UInt64 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter. + + The type of the field. + The field. + The value. + A less than or equal filter. + + + + Creates a modulo filter. + + The field. + The modulus. + The remainder. + A modulo filter. + + + + Creates a modulo filter. + + The field. + The modulus. + The remainder. + A modulo filter. + + + + Creates a not equal filter. + + The type of the field. + The field. + The value. + A not equal filter. + + + + Creates a not equal filter. + + The type of the field. + The field. + The value. + A not equal filter. + + + + Creates a near filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near filter. + + + + Creates a near filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near filter. + + + + Creates a near filter. + + The type of the coordinates. + The field. + The geometry. + The maximum distance. + The minimum distance. + A near filter. + + + + Creates a near filter. + + The type of the coordinates. + The field. + The geometry. + The maximum distance. + The minimum distance. + A near filter. + + + + Creates a near sphere filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near sphere filter. + + + + Creates a near sphere filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near sphere filter. + + + + Creates a near sphere filter. + + The type of the coordinates. + The field. + The geometry. + The maximum distance. + The minimum distance. + A near sphere filter. + + + + Creates a near sphere filter. + + The type of the coordinates. + The field. + The geometry. + The maximum distance. + The minimum distance. + A near sphere filter. + + + + Creates a not in filter. + + The type of the field. + The field. + The values. + A not in filter. + + + + Creates a not in filter. + + The type of the field. + The field. + The values. + A not in filter. + + + + Creates a not filter. + + The filter. + A not filter. + + + + Creates an OfType filter that matches documents of a derived type. + + The type of the matching derived documents. + An OfType filter. + + + + Creates an OfType filter that matches documents of a derived type and that also match a filter on the derived document. + + The type of the matching derived documents. + A filter on the derived document. + An OfType filter. + + + + Creates an OfType filter that matches documents of a derived type and that also match a filter on the derived document. + + The type of the matching derived documents. + A filter on the derived document. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived typer. + + The type of the field. + The type of the matching derived field value. + The field. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived type and that also match a filter on the derived field. + + The type of the field. + The type of the matching derived field value. + The field. + A filter on the derived field. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived type. + + The type of the field. + The type of the matching derived field value. + The field. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived type and that also match a filter on the derived field. + + The type of the field. + The type of the matching derived field value. + The field. + A filter on the derived field. + An OfType filter. + + + + Creates an or filter. + + The filters. + An or filter. + + + + Creates an or filter. + + The filters. + An or filter. + + + + Creates a regular expression filter. + + The field. + The regex. + A regular expression filter. + + + + Creates a regular expression filter. + + The field. + The regex. + A regular expression filter. + + + + Creates a size filter. + + The field. + The size. + A size filter. + + + + Creates a size filter. + + The field. + The size. + A size filter. + + + + Creates a size greater than filter. + + The field. + The size. + A size greater than filter. + + + + Creates a size greater than filter. + + The field. + The size. + A size greater than filter. + + + + Creates a size greater than or equal filter. + + The field. + The size. + A size greater than or equal filter. + + + + Creates a size greater than or equal filter. + + The field. + The size. + A size greater than or equal filter. + + + + Creates a size less than filter. + + The field. + The size. + A size less than filter. + + + + Creates a size less than filter. + + The field. + The size. + A size less than filter. + + + + Creates a size less than or equal filter. + + The field. + The size. + A size less than or equal filter. + + + + Creates a size less than or equal filter. + + The field. + The size. + A size less than or equal filter. + + + + Creates an in filter for a string field. + + The field. + The values. + An in filter. + + + + Creates an in filter for a string field. + + The field. + The values. + An in filter. + + + + Creates an in filter for a string field. + + The field. + The values. + An in filter. + + + + Creates an in filter for a string field. + + The field. + The values. + An in filter. + + + + Creates a not in filter for a string field. + + The field. + The values. + A not in filter. + + + + Creates a not in filter for a string field. + + The field. + The values. + A not in filter. + + + + Creates a not in filter for a string field. + + The field. + The values. + A not in filter. + + + + Creates a not in filter for a string field. + + The field. + The values. + A not in filter. + + + + Creates a text filter. + + The search. + The text search options. + A text filter. + + + + Creates a text filter. + + The search. + The language. + A text filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a filter based on the expression. + + The expression. + An expression filter. + + + + Base class for implementors of . + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Options for a findAndModify command to delete an object. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. + + + + + Gets or sets the let document. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the projection. + + + + + Gets or sets the sort. + + + + + Gets or sets the operation timeout. + + + + + Options for a findAndModify command to delete an object. + + The type of the document and the result. + + + + Options for a findAndModify command to replace an object. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. + + + + + Gets or sets the let document. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the projection. + + + + + Gets or sets which version of the document to return. + + + + + Gets or sets the sort. + + + + + Gets or sets the operation timeout. + + + + + Options for a findAndModify command to replace an object. + + The type of the document and the result. + + + + Options for a findAndModify command to update an object. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Initializes a new instance of the class. + + + + + Gets or sets the array filters. + + + The array filters. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets or sets the let document. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the projection. + + + + + Gets or sets which version of the document to return. + + + + + Gets or sets the sort. + + + + + Gets or sets the operation timeout. + + + + + Options for a findAndModify command to update an object. + + The type of the document and the result. + + + + Options for a find operation. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether the server is allowed to write to disk while executing the Find operation. + + + + + Gets or sets a value indicating whether to allow partial results when some shards are unavailable. + + + + + Gets or sets the size of a batch. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the type of the cursor. + + + + + Gets or sets the hint. + + + + + Gets or sets the let document. + + + + + Gets or sets the max key value. + + + + + Gets or sets the maximum await time for TailableAwait cursors. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the min key value. + + + + + Gets or sets whether a cursor will time out. + + + + + Gets or sets whether the OplogReplay bit will be set. + + + + + Gets or sets returnKey. If true, returns only the index keys in the resulting documents. + + + + + Gets or sets whether the record Id should be added to the result document. + + + + + Gets or sets the operation timeout. + + + + + Gets or sets the translation options. + + + + + Options for finding documents. + + + + + Options for finding documents. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Gets or sets how many documents to return. + + + + + Gets or sets the projection. + + + + + Gets or sets how many documents to skip before returning the rest. + + + + + Gets or sets the sort. + + + + + Options for finding documents. + + The type of the document and the result. + + + + A static class containing helper methods to create GeoJson objects. + + + + + Creates a GeoJson bounding box. + + The type of the coordinates. + The min. + The max. + A GeoJson bounding box. + + + + Creates a GeoJson Feature object. + + The type of the coordinates. + The geometry. + A GeoJson Feature object. + + + + Creates a GeoJson Feature object. + + The type of the coordinates. + The additional args. + The geometry. + A GeoJson Feature object. + + + + Creates a GeoJson FeatureCollection object. + + The type of the coordinates. + The additional args. + The features. + A GeoJson FeatureCollection object. + + + + Creates a GeoJson FeatureCollection object. + + The type of the coordinates. + The features. + A GeoJson FeatureCollection object. + + + + Creates a GeoJson 2D geographic position (longitude, latitude). + + The longitude. + The latitude. + A GeoJson 2D geographic position. + + + + Creates a GeoJson 3D geographic position (longitude, latitude, altitude). + + The longitude. + The latitude. + The altitude. + A GeoJson 3D geographic position. + + + + Creates a GeoJson GeometryCollection object. + + The type of the coordinates. + The additional args. + The geometries. + A GeoJson GeometryCollection object. + + + + Creates a GeoJson GeometryCollection object. + + The type of the coordinates. + The geometries. + A GeoJson GeometryCollection object. + + + + Creates the coordinates of a GeoJson linear ring. + + The type of the coordinates. + The positions. + The coordinates of a GeoJson linear ring. + + + + Creates a GeoJson LineString object. + + The type of the coordinates. + The additional args. + The positions. + A GeoJson LineString object. + + + + Creates a GeoJson LineString object. + + The type of the coordinates. + The positions. + A GeoJson LineString object. + + + + Creates the coordinates of a GeoJson LineString. + + The type of the coordinates. + The positions. + The coordinates of a GeoJson LineString. + + + + Creates a GeoJson MultiLineString object. + + The type of the coordinates. + The additional args. + The line strings. + A GeoJson MultiLineString object. + + + + Creates a GeoJson MultiLineString object. + + The type of the coordinates. + The line strings. + A GeoJson MultiLineString object. + + + + Creates a GeoJson MultiPoint object. + + The type of the coordinates. + The additional args. + The positions. + A GeoJson MultiPoint object. + + + + Creates a GeoJson MultiPoint object. + + The type of the coordinates. + The positions. + A GeoJson MultiPoint object. + + + + Creates a GeoJson MultiPolygon object. + + The type of the coordinates. + The additional args. + The polygons. + A GeoJson MultiPolygon object. + + + + Creates a GeoJson MultiPolygon object. + + The type of the coordinates. + The polygons. + A GeoJson MultiPolygon object. + + + + Creates a GeoJson Point object. + + The type of the coordinates. + The additional args. + The coordinates. + A GeoJson Point object. + + + + Creates a GeoJson Point object. + + The type of the coordinates. + The coordinates. + A GeoJson Point object. + + + + Creates a GeoJson Polygon object. + + The type of the coordinates. + The additional args. + The positions. + A GeoJson Polygon object. + + + + Creates a GeoJson Polygon object. + + The type of the coordinates. + The additional args. + The coordinates. + A GeoJson Polygon object. + + + + Creates a GeoJson Polygon object. + + The type of the coordinates. + The coordinates. + A GeoJson Polygon object. + + + + Creates a GeoJson Polygon object. + + The type of the coordinates. + The positions. + A GeoJson Polygon object. + + + + Creates the coordinates of a GeoJson Polygon object. + + The type of the coordinates. + The positions. + The coordinates of a GeoJson Polygon object. + + + + Creates the coordinates of a GeoJson Polygon object. + + The type of the coordinates. + The exterior. + The holes. + The coordinates of a GeoJson Polygon object. + + + + Creates a GeoJson 2D position (x, y). + + The x. + The y. + A GeoJson 2D position. + + + + Creates a GeoJson 3D position (x, y, z). + + The x. + The y. + The z. + A GeoJson 3D position. + + + + Creates a GeoJson 2D projected position (easting, northing). + + The easting. + The northing. + A GeoJson 2D projected position. + + + + Creates a GeoJson 3D projected position (easting, northing, altitude). + + The easting. + The northing. + The altitude. + A GeoJson 3D projected position. + + + + Represents a GeoJson 2D position (x, y). + + + + + Initializes a new instance of the class. + + The x coordinate. + The y coordinate. + + + + Gets the coordinate values. + + + + + Gets the X coordinate. + + + + + Gets the Y coordinate. + + + + + Represents a GeoJson 2D geographic position (longitude, latitude). + + + + + Initializes a new instance of the class. + + The longitude. + The latitude. + + + + Gets the coordinate values. + + + + + Gets the longitude. + + + + + Gets the latitude. + + + + + Represents a GeoJson 2D projected position (easting, northing). + + + + + Initializes a new instance of the class. + + The easting. + The northing. + + + + Gets the coordinate values. + + + + + Gets the easting. + + + + + Gets the northing. + + + + + Represents a GeoJson 3D position (x, y, z). + + + + + Initializes a new instance of the class. + + The x coordinate. + The y coordinate. + The z coordinate. + + + + Gets the coordinate values. + + + + + Gets the X coordinate. + + + + + Gets the Y coordinate. + + + + + Gets the Z coordinate. + + + + + Represents a GeoJson 3D geographic position (longitude, latitude, altitude). + + + + + Initializes a new instance of the class. + + The longitude. + The latitude. + The altitude. + + + + Gets the coordinate values. + + + + + Gets the longitude. + + + + + Gets the latitude. + + + + + Gets the altitude. + + + + + Represents a GeoJson 3D projected position (easting, northing, altitude). + + + + + Initializes a new instance of the class. + + The easting. + The northing. + The altitude. + + + + Gets the coordinate values. + + + + + Gets the easting. + + + + + Gets the northing. + + + + + Gets the altitude. + + + + + Represents a GeoJson bounding box. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The min. + The max. + + + + Gets the max. + + + + + Gets the min. + + + + + Represents a GeoJson coordinate reference system (see subclasses). + + + + + Gets the type of the GeoJson coordinate reference system. + + + + + Represents a GeoJson position in some coordinate system (see subclasses). + + + + + Gets the coordinate values. + + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Represents a GeoJson Feature object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The geometry. + + + + Initializes a new instance of the class. + + The additional args. + The geometry. + + + + Gets the geometry. + + + + + Gets the id. + + + + + Gets the properties. + + + + + Gets the type of the GeoJson object. + + + + + Represents additional arguments for a GeoJson Feature object. + + The type of the coordinates. + + + + Gets or sets the id. + + + + + Gets or sets the properties. + + + + + Represents a GeoJson FeatureCollection. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The features. + + + + Initializes a new instance of the class. + + The additional args. + The features. + + + + Gets the features. + + + + + Gets the type of the GeoJson object. + + + + + Represents a GeoJson Geometry object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + + + + Represents a GeoJson GeometryCollection object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The geometries. + + + + Initializes a new instance of the class. + + The additional args. + The geometries. + + + + Gets the geometries. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson linear ring. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The positions. + + + + Represents a GeoJson LineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson LineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The positions. + + + + Gets the positions. + + + + + Represents a GeoJson linked coordinate reference system. + + + + + Initializes a new instance of the class. + + The href. + + + + Initializes a new instance of the class. + + The href. + Type of the href. + + + + Gets the href. + + + + + Gets the type of the href. + + + + + Gets the type of the GeoJson coordinate reference system. + + + + + Represents a GeoJson MultiLineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson MultiLineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The line strings. + + + + Gets the LineStrings. + + + + + Represents a GeoJson MultiPoint object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson MultiPoint object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The positions. + + + + Gets the positions. + + + + + Represents a GeoJson MultiPolygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson MultiPolygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The polygons. + + + + Gets the Polygons. + + + + + Represents a GeoJson named coordinate reference system. + + + + + Initializes a new instance of the class. + + The name. + + + + Gets the name. + + + + + Gets the type of the GeoJson coordinate reference system. + + + + + Represents a GeoJson object (see subclasses). + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + + + + Gets the bounding box. + + + + + Gets the coordinate reference system. + + + + + Gets the extra members. + + + + + Gets the type of the GeoJson object. + + + + + Represents additional args provided when creating a GeoJson object. + + The type of the coordinates. + + + + Gets or sets the bounding box. + + + + + Gets or sets the coordinate reference system. + + + + + Gets or sets the extra members. + + + + + Represents the type of a GeoJson object. + + + + + A Feature. + + + + + A FeatureCollection. + + + + + A GeometryCollection. + + + + + A LineString. + + + + + A MultiLineString. + + + + + A MultiPoint. + + + + + A MultiPolygon. + + + + + A Point. + + + + + A Polygon. + + + + + Represents a GeoJson Point object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents a GeoJson Polygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson Polygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The exterior. + + + + Initializes a new instance of the class. + + The exterior. + The holes. + + + + Gets the exterior. + + + + + Gets the holes. + + + + + Represents a serializer for a GeoJson2DCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson2DGeographicCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson2DProjectedCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson3DCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson3DGeographicCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson3DProjectedCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonBoundingBox value. + + The type of the coordinates. + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonCoordinateReferenceSystem value. + + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer for a GeoJsonCoordinates value. + + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer for a GeoJsonFeatureCollection value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonFeature value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonGeometryCollection value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonGeometry value. + + The type of the coordinates. + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer for a GeoJsonLinearRingCoordinates value. + + The type of the coordinates. + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonLineStringCoordinates value. + + The type of the coordinates. + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonLineString value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonLinkedCoordinateReferenceSystem value. + + + + + Initializes a new instance of the class. + + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + An object. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiLineStringCoordinates value. + + The type of the coordinates. + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiLineString value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPointCoordinates value. + + The type of the coordinates. + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPoint value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPolygonCoordinates value. + + The type of the coordinates. + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPolygon value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonNamedCoordinateReferenceSystem value. + + + + + Initializes a new instance of the class. + + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + An object. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson object. + + The type of the coordinates. + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer helper for GeoJsonObjects. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The type. + The derived members. + + + + Deserializes a base member. + + The context. + The element name. + The flag. + The arguments. + + + + Serializes the members. + + The type of the value. + The context. + The value. + The delegate to serialize the derived members. + + + + Represents a serializer for a GeoJsonPoint value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonPolygonCoordinates value. + + The type of the coordinates. + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonPolygon value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents options for the $geoNear stage. + + + + + Gets or sets the output field that contains the calculated distance. Required if querying a time-series collection. + Optional for non-time series collections in MongoDB 8.1+ + + + + + Gets or sets the factor to multiply all distances returned by the query. + + + + + Gets or sets the output field that identifies the location used to calculate the distance. + + + + + Gets or sets the geospatial indexed field used when calculating the distance. + + + + + Gets or sets the max distance from the center point that the documents can be. + + + + + Gets or sets the min distance from the center point that the documents can be. + + + + + Gets or sets the output serializer. + + + + + Gets or sets the query that limits the results to the documents that match the query. + + + + + Gets or sets the spherical option which determines how to calculate the distance between two points. + + + + + Represents a Stream that delegates all of its operations to a wrapped Stream. + + + + + + Initializes a new instance of the class. + + The wrapped stream. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a GridFS bucket. + + The type of the file identifier. + + + + Initializes a new instance of the class. + + The database. + The options. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a GridFS bucket. + + + + + Initializes a new instance of the class. + + The database. + The options. + + + + Deletes a file from GridFS. + + The file id. + The cancellation token. + + + + Deletes a file from GridFS. + + The file id. + The cancellation token. + A Task. + + + + Downloads a file stored in GridFS and returns it as a byte array. + + The file id. + The options. + The cancellation token. + A byte array containing the contents of the file stored in GridFS. + + + + Downloads a file stored in GridFS and returns it as a byte array. + + The file id. + The options. + The cancellation token. + A Task whose result is a byte array containing the contents of the file stored in GridFS. + + + + Downloads a file stored in GridFS and writes the contents to a stream. + + The file id. + The destination. + The options. + The cancellation token. + + + + Downloads a file stored in GridFS and writes the contents to a stream. + + The file id. + The destination. + The options. + The cancellation token. + A Task. + + + + + + + + + + Opens a Stream that can be used by the application to read data from a GridFS file. + + The file id. + The options. + The cancellation token. + A Stream. + + + + Opens a Stream that can be used by the application to read data from a GridFS file. + + The file id. + The options. + The cancellation token. + A Task whose result is a Stream. + + + + + + + + + + Renames a GridFS file. + + The file id. + The new filename. + The cancellation token. + + + + Renames a GridFS file. + + The file id. + The new filename. + The cancellation token. + A Task. + + + + + + + + + + + + + + + + Represents mutable options for a GridFS instance. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The other from which to copy the values. + + + + Initializes a new instance of the class. + + The other from which to copy the values. + + + + Gets or sets the bucket name. + + + The bucket name. + + + + + Gets or sets the chunk size in bytes. + + + The chunk size in bytes. + + + + + Gets or sets the read concern. + + + The read concern. + + + + + Gets or sets the read preference. + + + The read preference. + + + + + Gets or sets the write concern. + + + The write concern. + + + + + Represents immutable options for a GridFS instance. + + + + + Gets the default GridFSBucketOptions. + + + The default GridFSBucketOptions. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The other from which to copy the values. + + + + Gets the bucket name. + + + The bucket name. + + + + + Gets the chunk size in bytes. + + + The chunk size in bytes. + + + + + Gets the read concern. + + + The read concern. + + + + + Gets the read preference. + + + The read preference. + + + + + Gets the serializer registry. + + + The serializer registry. + + + + + Gets the write concern. + + + The write concern. + + + + + Represents a GridFSChunk exception. + + + + + Initializes a new instance of the class. + + The file id. + The chunk number. + The reason. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents options to a GridFS download by name operation. + + + + + Gets or sets which revision of the file to download. + + + Which revision of the file to download. + + + + + Represents options for a GridFS download operation. + + + + + Gets or sets a value indicating whether the returned Stream supports seeking. + + + true if the returned Stream supports seeking; otherwise, false. + + + + + Represents a Stream used by the application to read data from a GridFS file. + + The type of the file identifier. + + + + Gets the files collection document. + + + The files collection document. + + + + + Closes the GridFS stream. + + The cancellation token. + + + + Closes the GridFS stream. + + The cancellation token. + A Task. + + + + Represents a Stream used by the application to read data from a GridFS file. + + + + + Initializes a new instance of the class. + + The wrapped stream. + + + + Gets the files collection document. + + + The files collection document. + + + + + Represents a GridFS exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents information about a stored GridFS file (backed by a files collection document). + + The type of the file identifier. + + + + Initializes a new instance of the class. + + The backing document. + The fileInfo serializer. + + + + Gets the backing document. + + + The backing document. + + + + + Gets the size of a chunk. + + + The size of a chunk. + + + + + Gets the filename. + + + The filename. + + + + + Gets the identifier. + + + The identifier. + + + + + Gets the length. + + + The length. + + + + + Gets the metadata. + + + The metadata. + + + + + Gets the upload date time. + + + The upload date time. + + + + + Represents information about a stored GridFS file (backed by a files collection document). + + + + + Initializes a new instance of the class. + + The backing document. + + + + Gets the backing document. + + + The backing document. + + + + + Gets the size of a chunk. + + + The size of a chunk. + + + + + Gets the filename. + + + The filename. + + + + + Gets the identifier. + + + The identifier. + + + + + Gets the identifier as a BsonValue. + + + The identifier as a BsonValue. + + + + + Gets the length. + + + The length. + + + + + Gets the metadata. + + + The metadata. + + + + + Gets the upload date time. + + + The upload date time. + + + + + Represents a serializer for GridFSFileInfo. + + The type of the file identifier. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The id serializer. + + + + + + + Represents a serializer for GridFSFileInfo. + + + + + Gets the pre-created instance. + + + + + Initializes a new instance of the class. + + + + + + + + Represents a GridFSFileNotFound exception. + + + + + Initializes a new instance of the class. + + The file id. + + + + Initializes a new instance of the class. + + The filename. + The revision. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents options for a GridFS Find operation. + + The type of the file identifier. + + + + Gets or sets a value indicating whether the server is allowed to write to disk while executing the Find operation. + + + + + Gets or sets the batch size. + + + The batch size. + + + + + Gets or sets the maximum number of documents to return. + + + The maximum number of documents to return. + + + + + Gets or sets the maximum time the server should spend on the Find. + + + The maximum time the server should spend on the Find. + + + + + Gets or sets whether the cursor should not timeout. + + + Whether the cursor should not timeout. + + + + + Gets or sets the number of documents to skip. + + + The number of documents to skip. + + + + + Gets or sets the sort order. + + + The sort order. + + + + + Represents options for a GridFS Find operation. + + + + + Gets or sets the sort order. + + + The sort order. + + + + + Represents options for a GridFS upload operation. + + + + + Gets or sets the batch size. + + + The batch size. + + + + + Gets or sets the chunk size in bytes. + + + The chunk size in bytes. + + + + + Gets or sets the metadata. + + + The metadata. + + + + + Represents a Stream used by the application to write data to a GridFS file. + + The type of the file identifier. + + + + Gets the id of the file being added to GridFS. + + + The id of the file being added to GridFS. + + + + + Aborts an upload operation. + + + Any partial results already written to the server are deleted when Abort is called. + + The cancellation token. + + + + Aborts an upload operation. + + + Any partial results already written to the server are deleted when AbortAsync is called. + + The cancellation token. + A Task. + + + + Closes the Stream and completes the upload operation. + + + Any data remaining in the Stream is flushed to the server and the GridFS files collection document is written. + + The cancellation token. + + + + Closes the Stream and completes the upload operation. + + + Any data remaining in the Stream is flushed to the server and the GridFS files collection document is written. + + The cancellation token. + A Task. + + + + Represents a Stream used by the application to write data to a GridFS file. + + + + + Initializes a new instance of the class. + + The wrapped stream. + + + + Gets the id of the file being added to GridFS. + + + The id of the file being added to GridFS. + + + + + Aborts an upload operation. + + + Any partial results already written to the server are deleted when Abort is called. + + The cancellation token. + + + + Aborts an upload operation. + + + Any partial results already written to the server are deleted when AbortAsync is called. + + The cancellation token. + A Task. + + + + Closes the Stream and completes the upload operation. + + + Any data remaining in the Stream is flushed to the server and the GridFS files collection document is written. + + The cancellation token. + + + + Closes the Stream and completes the upload operation. + + + Any data remaining in the Stream is flushed to the server and the GridFS files collection document is written. + + The cancellation token. + A Task. + + + + Represents a GridFS system bucket. + + The type of the file identifier. + + + + Gets the database where the GridFS files are stored. + + + The database. + + + + + Gets the options. + + + The options. + + + + + Deletes a file from GridFS. + + The file id. + The cancellation token. + + + + Deletes a file from GridFS. + + The file id. + The cancellation token. + A Task. + + + + Downloads a file stored in GridFS and returns it as a byte array. + + The file id. + The options. + The cancellation token. + The contents of the file stored in GridFS. + + + + Downloads a file stored in GridFS and returns it as a byte array. + + The file id. + The options. + The cancellation token. + A Task whose result is a byte array containing the contents of the file stored in GridFS. + + + + Downloads a file stored in GridFS and returns it as a byte array. + + The filename. + The options. + The cancellation token. + A byte array containing the contents of the file stored in GridFS. + + + + Downloads a file stored in GridFS and returns it as a byte array. + + The filename. + The options. + The cancellation token. + A Task whose result is a byte array containing the contents of the file stored in GridFS. + + + + Downloads a file stored in GridFS and writes the contents to a stream. + + The file id. + The destination. + The options. + The cancellation token. + + + + Downloads a file stored in GridFS and writes the contents to a stream. + + The file id. + The destination. + The options. + The cancellation token. + A Task. + + + + Downloads a file stored in GridFS and writes the contents to a stream. + + The filename. + The destination. + The options. + The cancellation token. + + + + Downloads a file stored in GridFS and writes the contents to a stream. + + The filename. + The destination. + The options. + The cancellation token. + A Task. + + + + Drops the files and chunks collections associated with this GridFS bucket. + + The cancellation token. + + + + Drops the files and chunks collections associated with this GridFS bucket. + + The cancellation token. + A Task. + + + + Finds matching entries from the files collection. + + The filter. + The options. + The cancellation token. + A cursor of files collection documents. + + + + Finds matching entries from the files collection. + + The filter. + The options. + The cancellation token. + A Task whose result is a cursor of files collection documents. + + + + Opens a Stream that can be used by the application to read data from a GridFS file. + + The file id. + The options. + The cancellation token. + A Stream. + + + + Opens a Stream that can be used by the application to read data from a GridFS file. + + The file id. + The options. + The cancellation token. + A Task whose result is a Stream. + + + + Opens a Stream that can be used by the application to read data from a GridFS file. + + The filename. + The options. + The cancellation token. + A Stream. + + + + Opens a Stream that can be used by the application to read data from a GridFS file. + + The filename. + The options. + The cancellation token. + A Task whose result is a Stream. + + + + Opens a Stream that can be used by the application to write data to a GridFS file. + + The file id. + The filename. + The options. + The cancellation token. + A Stream. + + + + Opens a Stream that can be used by the application to write data to a GridFS file. + + The file id. + The filename. + The options. + The cancellation token. + A Task whose result is a Stream. + + + + Renames a GridFS file. + + The file id. + The new filename. + The cancellation token. + + + + Renames a GridFS file. + + The file id. + The new filename. + The cancellation token. + A Task. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The file id. + The filename. + The source. + The options. + The cancellation token. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The file id. + The filename. + The source. + The options. + The cancellation token. + A Task. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The file id. + The filename. + The source. + The options. + The cancellation token. + The id of the new file. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The file id. + The filename. + The source. + The options. + The cancellation token. + A Task. + + + + Represents a GridFS system bucket. + + + + + Finds matching entries from the files collection. + + The filter. + The options. + The cancellation token. + A cursor of files collection documents. + + + + Finds matching entries from the files collection. + + The filter. + The options. + The cancellation token. + A Task whose result is a cursor of files collection documents. + + + + Opens a Stream that can be used by the application to write data to a GridFS file. + + The filename. + The options. + The cancellation token. + A Stream. + + + + Opens a Stream that can be used by the application to write data to a GridFS file. + + The filename. + The options. + The cancellation token. + A Task whose result is a Stream. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The filename. + The source. + The options. + The cancellation token. + The id of the new file. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The filename. + The source. + The options. + The cancellation token. + A Task whose result is the id of the new file. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The filename. + The source. + The options. + The cancellation token. + The id of the new file. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The filename. + The source. + The options. + The cancellation token. + A Task whose result is the id of the new file. + + + + Represents a serializer for a GridFSFileInfo. + + The type of the file identifier. + + + + Fluent interface for aggregate. + + + This interface is not guaranteed to remain stable. Implementors should use + . + + The type of the result of the pipeline. + + + + Gets the database. + + + + + Gets the options. + + + + + Gets the stages. + + + + + Appends the stage to the pipeline. + + The type of the result of the stage. + The stage. + The fluent aggregate interface. + + + + Changes the result type of the pipeline. + + The type of the new result. + The new result serializer. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline. + + The type of the value. + The expression providing the value to group by. + The bucket boundaries. + The options. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline with a custom projection. + + The type of the value. + The type of the new result. + The expression providing the value to group by. + The bucket boundaries. + The output projection. + The options. + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the value. + The expression providing the value to group by. + The number of buckets. + The options (optional). + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline with a custom projection. + + The type of the value. + The type of the new result. + The expression providing the value to group by. + The number of buckets. + The output projection. + The options (optional). + The fluent aggregate interface. + + + + Appends a $changeStream stage to the pipeline. + Normally you would prefer to use the Watch method of . + Only use this method if subsequent stages project away the resume token (the _id) + or you don't want the resulting cursor to automatically resume. + + The options. + The fluent aggregate interface. + + + + Appends a count stage to the pipeline. + + The fluent aggregate interface. + + + + Appends a $densify stage to the pipeline. + + The field. + The range. + The fields to partition by. + The fluent aggregate interface. + + + + Appends a $densify stage to the pipeline. + + The field. + The range. + The fields to partition by. + The fluent aggregate interface. + + + + Appends a $facet stage to the pipeline. + + The type of the new result. + The facets. + The options. + + The fluent aggregate interface. + + + + + Appends a $graphLookup stage to the pipeline. + + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the new result (must be same as TResult with an additional as field). + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The fluent aggregate interface. + + + + Appends a group stage to the pipeline. + + The type of the result of the stage. + The group projection. + The fluent aggregate interface. + + + + Appends a limit stage to the pipeline. + + The limit. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + The type of the foreign document. + The type of the new result. + Name of the other collection. + The local field. + The foreign field. + The field in to place the foreign results. + The options. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + The type of the foreign collection documents. + The type of the as field elements. + The type of the as field. + The type of the new result. + The foreign collection. + The "let" definition. + The lookup pipeline. + The as field in in which to place the results of the lookup pipeline. + The options. + The fluent aggregate interface. + + + + Appends a match stage to the pipeline. + + The filter. + The fluent aggregate interface. + + + + Appends a merge stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + The type of output documents. + The output collection. + The merge options. + The cancellation token. + A cursor. + + + + Appends a merge stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + The type of output documents. + The output collection. + The merge options. + The cancellation token. + A cursor. + + + + Appends a match stage to the pipeline that matches derived documents and changes the result type to the derived type. + + The type of the derived documents. + The new result serializer. + The fluent aggregate interface. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + The output collection. + The cancellation token. + A cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The cancellation token. + A cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + The output collection. + The time series options. + The cancellation token. + A cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The time series options. + The cancellation token. + A cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + The output collection. + The cancellation token. + A Task whose result is a cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The cancellation token. + A Task whose result is a cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + The output collection. + The time series options. + The cancellation token. + A Task whose result is a cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The time series options. + The cancellation token. + A Task whose result is a cursor. + + + + Appends a project stage to the pipeline. + + The type of the result of the stage. + The projection. + + The fluent aggregate interface. + + + + + Appends a $replaceRoot stage to the pipeline. + + The type of the new result. + The new root. + The fluent aggregate interface. + + + + Appends a $replaceWith stage to the pipeline. + + The type of the new result. + The new root. + The fluent aggregate interface. + + + + Appends a sample stage to the pipeline. + + The sample size. + The fluent aggregate interface. + + + + Appends a $set stage to the pipeline. + + The fields to set. + The fluent aggregate interface. + + + + Appends a $setWindowFields to the pipeline. + + The type of the added window fields. + The window fields definition. + The fluent aggregate interface. + + + + Appends a $search stage to the pipeline. + + The search definition. + The highlight options. + The index name. + The count options. + + Flag that specifies whether to perform a full document lookup on the backend database + or return only stored source fields directly from Atlas Search. + + + Flag that specifies whether to return a detailed breakdown + of the score for each document in the result. + + The fluent aggregate interface. + + + + Appends a $search stage to the pipeline. + + The search definition. + The search options. + + The fluent aggregate interface. + + + + + Appends a $searchMeta stage to the pipeline. + + The search definition. + The index name. + The count options. + The fluent aggregate interface. + + + + Appends a $setWindowFields to the pipeline. + + The type of the value to partition by. + The type of the added window fields. + The partitionBy definition. + The window fields definition. + The fluent aggregate interface. + + + + Appends a $setWindowFields to the pipeline. + + The type of the value to partition by. + The type of the added window fields. + The partitionBy definition. + The sortBy definition. + The window fields definition. + The fluent aggregate interface. + + + + Appends a skip stage to the pipeline. + + The number of documents to skip. + The fluent aggregate interface. + + + + Appends a sort stage to the pipeline. + + The sort specification. + The fluent aggregate interface. + + + + Appends a sortByCount stage to the pipeline. + + The type of the identifier. + The identifier. + The fluent aggregate interface. + + + + Executes an aggregation pipeline that writes the results to a collection. + + The cancellation token. + + + + Executes an aggregation pipeline that writes the results to a collection. + + The cancellation token. + A Task. + + + + Appends an $unionWith stage to the pipeline. + + The type of the with collection documents. + The with collection. + The with pipeline. + The fluent aggregate interface. + + + + Appends an unwind stage to the pipeline. + + The type of the result of the stage. + The field. + The new result serializer. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the new result. + The field. + The options. + The fluent aggregate interface. + + + + Appends a vector search stage. + + The field. + The query vector. + The limit. + The vector search options. + The fluent aggregate interface. + + + + Fluent interface for aggregate. + + The type of the result. + + + + Combines the current sort definition with an additional sort definition. + + The new sort. + The fluent aggregate interface. + + + + Extension methods for + + + + + Appends a $bucket stage to the pipeline. + + The type of the result. + The type of the value. + The aggregate. + The expression providing the value to group by. + The bucket boundaries. + The options. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline. + + The type of the result. + The type of the value. + The type of the new result. + The aggregate. + The expression providing the value to group by. + The bucket boundaries. + The output projection. + The options. + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the result. + The type of the value. + The aggregate. + The expression providing the value to group by. + The number of buckets. + The options (optional). + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline (this overload can only be used with LINQ3). + + The type of the result. + The type of the value. + The type of the new result. + The aggregate. + The expression providing the value to group by. + The number of buckets. + The output projection. + The options (optional). + The fluent aggregate interface. + + + + Appends a $changeStreamSplitLargeEvent stage to the pipeline. + + The type of the result. + The aggregate. + The fluent aggregate interface. + + + + Appends a $densify stage to the pipeline. + + The type of the result. + The aggregate. + The field. + The range. + The partition by fields. + + The fluent aggregate interface. + + + + + Appends a $densify stage to the pipeline. + + The type of the result. + The aggregate. + The field. + The range. + The partition by fields. + + The fluent aggregate interface. + + + + + Appends a $documents stage to the pipeline. + + The type of the result. + The aggregate. + The documents. + The document serializer. + The fluent aggregate interface. + + + + Appends a $documents stage to the pipeline. + + The type of the result. + The aggregate. + The documents. + The document serializer. + The fluent aggregate interface. + + + + Appends a $facet stage to the pipeline. + + The type of the result. + The aggregate. + The facets. + The fluent aggregate interface. + + + + Appends a $facet stage to the pipeline. + + The type of the result. + The aggregate. + The facets. + The fluent aggregate interface. + + + + Appends a $facet stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The facets. + + The fluent aggregate interface. + + + + + Appends a $geoNear stage to the pipeline. + + The type of the result. + The type of the new result. + The type of the coordinates for the point. + The aggregate. + The point for which to find the closest documents. + The options. + The fluent aggregate interface. + + + + Appends a $geoNear stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The point for which to find the closest documents. + The options. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the result. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the new result (must be same as TResult with an additional as field). + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the result. + The type of the from documents. + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the result. + The type of the new result (must be same as TResult with an additional as field). + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the result. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the new result (must be same as TResult with an additional as field). + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The fluent aggregate interface. + + + + Appends a group stage to the pipeline. + + The type of the result. + The aggregate. + The group projection. + + The fluent aggregate interface. + + + + + Appends a group stage to the pipeline. + + The type of the result. + The type of the key. + The type of the new result. + The aggregate. + The id. + The group projection. + + The fluent aggregate interface. + + + + + Appends a lookup stage to the pipeline. + + The type of the result. + The aggregate. + Name of the foreign collection. + The local field. + The foreign field. + The field in the result to place the foreign matches. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + The type of the result. + The type of the foreign collection. + The type of the new result. + The aggregate. + The foreign collection. + The local field. + The foreign field. + The field in the result to place the foreign matches. + The options. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + The type of the result. + The aggregate. + The foreign collection. + The "let" definition. + The lookup pipeline. + The as field in the result in which to place the results of the lookup pipeline. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + The type of the result. + The type of the foreign collection documents. + The type of the as field elements. + The type of the as field. + The type of the new result. + The aggregate. + The foreign collection. + The "let" definition. + The lookup pipeline. + The as field in in which to place the results of the lookup pipeline. + The options. + The fluent aggregate interface. + + + + Appends a match stage to the pipeline. + + The type of the result. + The aggregate. + The filter. + + The fluent aggregate interface. + + + + + Appends a project stage to the pipeline. + + The type of the result. + The aggregate. + The projection. + + The fluent aggregate interface. + + + + + Appends a project stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The projection. + + The fluent aggregate interface. + + + + + Appends a $rankFusion stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The map of named pipelines whose results will be combined. The pipelines must operate on the same collection. + The map of pipeline names to non-negative numerical weights determining result importance during combination. Default weight is 1 when unspecified. + The rankFusion options. + The fluent aggregate interface. + + + + Appends a $rankFusion stage to the pipeline. Pipelines will be automatically named as "pipeline1", "pipeline2", etc. + + The type of the result. + The type of the new result. + The aggregate. + The collection of pipelines whose results will be combined. The pipelines must operate on the same collection. + The rankFusion options. + The fluent aggregate interface. + + + + Appends a $rankFusion stage to the pipeline. Pipelines will be automatically named as "pipeline1", "pipeline2", etc. + + The type of the result. + The type of the new result. + The aggregate. + The collection of tuples containing (pipeline, weight) pairs. The pipelines must operate on the same collection. + The rankFusion options. + The fluent aggregate interface. + + + + Appends a $replaceRoot stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The new root. + + The fluent aggregate interface. + + + + + Appends a $replaceWith stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The new root. + + The fluent aggregate interface. + + + + + Appends a $set stage to the pipeline. + + The type of the result. + The type of object specifying the fields to set. + The aggregate. + The fields to set. + The fluent aggregate interface. + + + + Appends a $setWindowFields to the pipeline. + + The type of the result. + The type of the added window fields. + The aggregate. + The window fields expression. + The fluent aggregate interface. + + + + Appends a $setWindowFields to the pipeline. + + The type of the result. + The type of the value to partition by. + The type of the added window fields. + The aggregate. + The partitionBy expression. + The window fields expression. + The fluent aggregate interface. + + + + Appends a $setWindowFields to the pipeline. + + The type of the result. + The type of the value to partition by. + The type of the added window fields. + The aggregate. + The partitionBy expression. + The sortBy expression. + The window fields expression. + The fluent aggregate interface. + + + + Appends an ascending sort stage to the pipeline. + + The type of the result. + The aggregate. + The field to sort by. + + The fluent aggregate interface. + + + + + Appends a sortByCount stage to the pipeline. + + The type of the result. + The type of the key. + The aggregate. + The id. + + The fluent aggregate interface. + + + + + Appends a descending sort stage to the pipeline. + + The type of the result. + The aggregate. + The field to sort by. + + The fluent aggregate interface. + + + + + Modifies the current sort stage by appending an ascending field specification to it. + + The type of the result. + The aggregate. + The field to sort by. + + The fluent aggregate interface. + + + + + Modifies the current sort stage by appending a descending field specification to it. + + The type of the result. + The aggregate. + The field to sort by. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the result. + The aggregate. + The field to unwind. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the result. + The aggregate. + The field to unwind. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The field to unwind. + The new result serializer. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The field to unwind. + The options. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result, or the default value if the result set is empty. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result, or the default value if the result set is empty. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result. Throws an exception if the result set does not contain exactly one document. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result. Throws an exception if the result set does not contain exactly one document. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result, or the default value if the result set is empty. Throws an exception if the result set contains more than one document. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result, or the default value if the result set is empty. Throws an exception if the result set contains more than one document. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Appends a $vectorSearch stage. + + The type of the result. + The aggregate. + The field. + The query vector. + The limit. + The vector search options. + The fluent aggregate interface. + + + + The interface for a client session. + + + + + Gets the client. + + + The client. + + + + + Gets the cluster time. + + + The cluster time. + + + + + Gets a value indicating whether this session is an implicit session. + + + true if this session is an implicit session; otherwise, false. + + + + + Gets a value indicating whether this instance is in a transaction. + + + true if this instance is in a transaction; otherwise, false. + + + + + Gets the operation time. + + + The operation time. + + + + + Gets the options. + + + The options. + + + + + Gets the server session. + + + The server session. + + + + + Gets the wrapped core session (intended for internal use only). + + + The wrapped core session. + + + + + Aborts the transaction. + + The cancellation token. + + + + Aborts the transaction. + + The cancellation token. + A Task. + + + + Advances the cluster time. + + The new cluster time. + + + + Advances the operation time. + + The new operation time. + + + + Commits the transaction. + + The cancellation token. + + + + Commits the transaction. + + The cancellation token. + A Task. + + + + Starts a transaction. + + The transaction options. + + + + Executes a callback within a transaction, with retries if needed. + + + If a command inside the callback fails, it may cause the transaction on the server to be + aborted. This situation is normally handled transparently by the driver. However, if the + application does not return that error from the callback, the driver will not be able to + determine whether the transaction was aborted or not. The driver will then retry the + callback indefinitely. To avoid this situation, the application MUST NOT silently handle + errors within the callback. If the application needs to handle errors within the + callback, it MUST return them after doing so. + + The user defined callback. + The transaction options. + The cancellation token. + The type of callback result. + The callback result. + + + + Executes a callback within a transaction, with retries if needed. + + + If a command inside the callback fails, it may cause the transaction on the server to be + aborted. This situation is normally handled transparently by the driver. However, if the + application does not return that error from the callback, the driver will not be able to + determine whether the transaction was aborted or not. The driver will then retry the + callback indefinitely. To avoid this situation, the application MUST NOT silently handle + errors within the callback. If the application needs to handle errors within the + callback, it MUST return them after doing so. + + The user defined callback. + The transaction options. + The cancellation token. + The type of callback result. + The callback result. + + + + A handle to an underlying reference counted IClientSession. + + + + + + Forks this instance. + + A session. + + + + Extension Manager provides a way to configure extensions for the driver. + + + + + Sasl Mechanisms Registry. + + + + + Kms Providers Registry. + + + + + AutoEncryption Provider Registry. + + + + + A filtered mongo collection. The filter will be and'ed with all filters. + + The type of the document. + + + + Gets the filter. + + + + + Fluent interface for find. + + + This interface is not guaranteed to remain stable. Implementors should use + . + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Gets or sets the filter. + + + + + Gets the options. + + + + + A simplified type of projection that changes the result type by using a different serializer. + + The type of the result. + The result serializer. + The fluent find interface. + + + + Counts the number of documents. + + The cancellation token. + The count. + + + + Counts the number of documents. + + The cancellation token. + A Task whose result is the count. + + + + Counts the number of documents. + + + Note: when migrating from Count to CountDocuments the following query operations must be replaced: + + + +-------------+--------------------------------+ + | Operator | Replacement | + +=============+================================+ + | $where | $expr | + +-------------+--------------------------------+ + | $near | $geoWithin with $center | + +-------------+--------------------------------+ + | $nearSphere | $geoWithin with $centerSphere | + +-------------+--------------------------------+ + + + The cancellation token. + The count. + + + + Counts the number of documents. + + + Note: when migrating from CountAsync to CountDocumentsAsync the following query operations must be replaced: + + + +-------------+--------------------------------+ + | Operator | Replacement | + +=============+================================+ + | $where | $expr | + +-------------+--------------------------------+ + | $near | $geoWithin with $center | + +-------------+--------------------------------+ + | $nearSphere | $geoWithin with $centerSphere | + +-------------+--------------------------------+ + + + The cancellation token. + A Task whose result is the count. + + + + Limits the number of documents. + + + Limit of zero or null is equivalent to setting no limit. + + The limit. + The fluent find interface. + + + + Projects the the result. + + The type of the projection. + The projection. + The fluent find interface. + + + + Skips the the specified number of documents. + + The skip. + The fluent find interface. + + + + Sorts the the documents. + + The sort. + The fluent find interface. + + + + Returns a string representation of an IFindFluent instance. + + The translation options. + The string representation. + + + + Fluent interface for find. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Extension methods for + + + + + Projects the result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The projection. + The fluent find interface. + + + + Projects the result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The type of the new projection. + The fluent find. + The projection. + The fluent find interface. + + + + Sorts the results by an ascending field. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The field. + The fluent find interface. + + + + Sorts the results by a descending field. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The field. + The fluent find interface. + + + + Adds an ascending field to the existing sort. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The field. + The fluent find interface. + + + + Adds a descending field to the existing sort. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The field. + The fluent find interface. + + + + Determine if there are any results. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + True if there is at least one document. + + + + Determine if there are any results. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is true if there is at least one document. + + + + Get the first result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the first result. + + + + Get the first result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the first result. + + + + Get the first result or null. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the first result or null. + + + + Get the first result or null. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the first result or null. + + + + Gets a single result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the single result. + + + + Gets a single result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the single result. + + + + Gets a single result or null. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the single result or null. + + + + Gets a single result or null. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the single result or null. + + + + The client interface to MongoDB. + + + + + Gets the cluster. + + + The cluster. + + + + + Gets the settings. + + + + + Executes a list of mixed write operations. + + List of operations to execute. + The bulk write options. + The cancellation token. + + + + Executes a list of mixed write operations. + + The session. + List of operations to execute. + The bulk write options. + The cancellation token. + + + + Executes a list of mixed write operations. + + List of operations to execute. + The bulk write options. + The cancellation token. + + + + Executes a list of mixed write operations. + + The session. + List of operations to execute. + The bulk write options. + The cancellation token. + + + + Drops the database with the specified name. + + The name of the database to drop. + The cancellation token. + + + + Drops the database with the specified name. + + The session. + The name of the database to drop. + The cancellation token. + + + + Drops the database with the specified name. + + The name of the database to drop. + The cancellation token. + A task. + + + + Drops the database with the specified name. + + The session. + The name of the database to drop. + The cancellation token. + + A task. + + + + + Gets a database. + + The name of the database. + The database settings. + An implementation of a database. + + + + Returns the names of the databases on the server. + + The cancellation token. + The database names. + + + + Returns the names of the databases on the server. + + The cancellation token. + The options. + The database names. + + + + Returns the names of the databases on the server. + + The session. + The cancellation token. + The database names. + + + + Returns the names of the databases on the server. + + The session. + The options. + The cancellation token. + The database names. + + + + Returns the names of the databases on the server. + + The cancellation token. + The database names. + + + + Returns the names of the databases on the server. + + The options. + The cancellation token. + The database names. + + + + Returns the names of the databases on the server. + + The session. + The cancellation token. + The database names. + + + + Returns the names of the databases on the server. + + The session. + The options. + The cancellation token. + The database names. + + + + Lists the databases on the server. + + The cancellation token. + A cursor. + + + + Lists the databases on the server. + + The options. + The cancellation token. + A cursor. + + + + Lists the databases on the server. + + The session. + The cancellation token. + + A cursor. + + + + + Lists the databases on the server. + + The session. + The options. + The cancellation token. + + A cursor. + + + + + Lists the databases on the server. + + The cancellation token. + A Task whose result is a cursor. + + + + Lists the databases on the server. + + The cancellation token. + The options. + A Task whose result is a cursor. + + + + Lists the databases on the server. + + The session. + The cancellation token. + + A Task whose result is a cursor. + + + + + Lists the databases on the server. + + The session. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Starts a client session. + + The session options. + The cancellation token. + + A client session. + + + + + Starts a client session. + + The session options. + The cancellation token. + + A Task whose result is a client session. + + + + + Watches changes on all collections in all databases. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in all databases. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in all databases. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in all databases. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Returns a new IMongoClient instance with a different read concern setting. + + The read concern. + A new IMongoClient instance with a different read concern setting. + + + + Returns a new IMongoClient instance with a different read preference setting. + + The read preference. + A new IMongoClient instance with a different read preference setting. + + + + Returns a new IMongoClient instance with a different write concern setting. + + The write concern. + A new IMongoClient instance with a different write concern setting. + + + + Extension methods on IMongoClient. + + + + + Watches changes on all collections in all databases. + + The client. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in all databases. + + The client. + The session. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in all databases. + + The client. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in all databases. + + The client. + The session. + The options. + The cancellation token. + + A change stream. + + + + + Represents a typed collection in MongoDB. + + + This interface is not guaranteed to remain stable. Implementors should use + . + + The type of the documents stored in the collection. + + + + Gets the namespace of the collection. + + + + + Gets the database. + + + + + Gets the document serializer. + + + + + Gets the index manager. + + + + + Gets the search index manager. + + + + + Gets the settings. + + + + + Runs an aggregation pipeline. + + The type of the result. + The pipeline. + The options. + The cancellation token. + A cursor. + + + + Runs an aggregation pipeline. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A cursor. + + + + + Runs an aggregation pipeline. + + The type of the result. + The pipeline. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Runs an aggregation pipeline. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Runs an aggregation pipeline whose results are written to a collection. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + + + Runs an aggregation pipeline whose results are written to a collection. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + + + Runs an aggregation pipeline whose results are written to a collection. + + The type of the result. + The pipeline. + The options. + The cancellation token. + A Task. + + + + Runs an aggregation pipeline whose results are written to a collection. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + A Task. + + + + Performs multiple write operations. + + The requests. + The options. + The cancellation token. + The result of writing. + + + + Performs multiple write operations. + + The session. + The requests. + The options. + The cancellation token. + + The result of writing. + + + + + Performs multiple write operations. + + The requests. + The options. + The cancellation token. + The result of writing. + + + + Performs multiple write operations. + + The session. + The requests. + The options. + The cancellation token. + + The result of writing. + + + + + Counts the number of documents in the collection. + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The session. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The session. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + + Note: when migrating from Count to CountDocuments the following query operations must be replaced: + + + +-------------+--------------------------------+ + | Operator | Replacement | + +=============+================================+ + | $where | $expr | + +-------------+--------------------------------+ + | $near | $geoWithin with $center | + +-------------+--------------------------------+ + | $nearSphere | $geoWithin with $centerSphere | + +-------------+--------------------------------+ + + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + + Note: when migrating from Count to CountDocuments the following query operations must be replaced: + + + +-------------+--------------------------------+ + | Operator | Replacement | + +=============+================================+ + | $where | $expr | + +-------------+--------------------------------+ + | $near | $geoWithin with $center | + +-------------+--------------------------------+ + | $nearSphere | $geoWithin with $centerSphere | + +-------------+--------------------------------+ + + + The session. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + + Note: when migrating from CountAsync to CountDocumentsAsync the following query operations must be replaced: + + + +-------------+--------------------------------+ + | Operator | Replacement | + +=============+================================+ + | $where | $expr | + +-------------+--------------------------------+ + | $near | $geoWithin with $center | + +-------------+--------------------------------+ + | $nearSphere | $geoWithin with $centerSphere | + +-------------+--------------------------------+ + + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + + Note: when migrating from CountAsync to CountDocumentsAsync the following query operations must be replaced: + + + +-------------+--------------------------------+ + | Operator | Replacement | + +=============+================================+ + | $where | $expr | + +-------------+--------------------------------+ + | $near | $geoWithin with $center | + +-------------+--------------------------------+ + | $nearSphere | $geoWithin with $centerSphere | + +-------------+--------------------------------+ + + + The session. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Deletes multiple documents. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Gets the distinct values for a specified field. + + The type of the result. + The field. + The filter. + The options. + The cancellation token. + A cursor. + + + + Gets the distinct values for a specified field. + + The type of the result. + The session. + The field. + The filter. + The options. + The cancellation token. + + A cursor. + + + + + Gets the distinct values for a specified field. + + The type of the result. + The field. + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Gets the distinct values for a specified field. + + The type of the result. + The session. + The field. + The filter. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Gets the distinct values for a specified array field. + + The type of the array items. + The field. + The filter. + The options. + The cancellation token. + A cursor. + + + + Gets the distinct values for a specified array field. + + The type of the array items. + The session. + The field. + The filter. + The options. + The cancellation token. + A cursor. + + + + Gets the distinct values for a specified array field. + + The type of the array items. + The field. + The filter. + The options. + The cancellation token. + A cursor. + + + + Gets the distinct values for a specified array field. + + The type of the array items. + The session. + The field. + The filter. + The options. + The cancellation token. + A cursor. + + + + Returns an estimate of the number of documents in the collection. + + The options. + The cancellation token. + + An estimate of the number of documents in the collection. + + + Due to an oversight in versions 5.0.0-5.0.8 of MongoDB, the count command, which estimatedDocumentCount uses + in its implementation, was not included in v1 of the Stable API. If you are using the Stable API with + estimatedDocumentCount, you must upgrade to server version 5.0.9+ or set strict: false when configuring + ServerApi to avoid encountering errors. + + + + + Returns an estimate of the number of documents in the collection. + + The options. + The cancellation token. + + An estimate of the number of documents in the collection. + + + + + Finds the documents matching the filter. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The options. + The cancellation token. + A cursor. + + + + Finds the documents matching the filter. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The options. + The cancellation token. + + A cursor. + + + + + Finds the documents matching the filter. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Finds a single document and deletes it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Inserts a single document. + + The document. + The options. + The cancellation token. + + + + Inserts a single document. + + The session. + The document. + The options. + The cancellation token. + + + + Inserts a single document. + + The document. + The cancellation token. + + The result of the insert operation. + + + + + Inserts a single document. + + The document. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Inserts a single document. + + The session. + The document. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Inserts many documents. + + The documents. + The options. + The cancellation token. + + + + Inserts many documents. + + The session. + The documents. + The options. + The cancellation token. + + + + Inserts many documents. + + The documents. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Inserts many documents. + + The session. + The documents. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Executes a map-reduce command. + + The type of the result. + The map function. + The reduce function. + The options. + The cancellation token. + A cursor. + + + + Executes a map-reduce command. + + The type of the result. + The session. + The map function. + The reduce function. + The options. + The cancellation token. + + A cursor. + + + + + Executes a map-reduce command. + + The type of the result. + The map function. + The reduce function. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Executes a map-reduce command. + + The type of the result. + The session. + The map function. + The reduce function. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Returns a filtered collection that appears to contain only documents of the derived type. + All operations using this filtered collection will automatically use discriminators as necessary. + + The type of the derived document. + A filtered collection. + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Updates many documents. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Watches changes on the collection. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on the collection. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on the collection. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on the collection. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Returns a new IMongoCollection instance with a different read concern setting. + + The read concern. + A new IMongoCollection instance with a different read concern setting. + + + + Returns a new IMongoCollection instance with a different read preference setting. + + The read preference. + A new IMongoCollection instance with a different read preference setting. + + + + Returns a new IMongoCollection instance with a different write concern setting. + + The write concern. + A new IMongoCollection instance with a different write concern setting. + + + + Extension methods for . + + + + + Begins a fluent aggregation interface. + + The type of the document. + The collection. + The options. + + A fluent aggregate interface. + + + + + Begins a fluent aggregation interface. + + The type of the document. + The collection. + The session. + The options. + + A fluent aggregate interface. + + + + + Creates a queryable source of documents. + + The type of the document. + The collection. + The aggregate options + A queryable source of documents. + + + + Creates a queryable source of documents. + + The type of the document. + The collection. + The session. + The aggregate options + A queryable source of documents. + + + + Counts the number of documents in the collection. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The type of the document. + The session. + The collection. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + The type of the document. + The session. + The collection. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Begins a fluent find interface. + + The type of the document. + The collection. + The filter. + The options. + + A fluent find interface. + + + + + Begins a fluent find interface. + + The type of the document. + The collection. + The session. + The filter. + The options. + + A fluent find interface. + + + + + Begins a fluent find interface. + + The type of the document. + The collection. + The filter. + The options. + + A fluent interface. + + + + + Begins a fluent find interface. + + The type of the document. + The collection. + The session. + The filter. + The options. + + A fluent interface. + + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The session. + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The session. + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The filter. + The session. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Replaces a single document. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Updates many documents. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Watches changes on the collection. + + The type of the document. + The collection. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on the collection. + + The type of the document. + The collection. + The session. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on the collection. + + The type of the document. + The collection. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on the collection. + + The type of the document. + The collection. + The session. + The options. + The cancellation token. + + A change stream. + + + + + Represents a database in MongoDB. + + + + + Gets the client. + + + + + Gets the namespace of the database. + + + + + Gets the settings. + + + + + Runs an aggregation pipeline. + + The type of the result. + The pipeline. + The options. + The cancellation token. + A cursor. + + + + Runs an aggregation pipeline. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A cursor. + + + + + Runs an aggregation pipeline. + + The type of the result. + The pipeline. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Runs an aggregation pipeline. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Runs an aggregation pipeline. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + + + Runs an aggregation pipeline. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + + + Runs an aggregation pipeline. + + The type of the result. + The pipeline. + The options. + The cancellation token. + A Task. + + + + Runs an aggregation pipeline. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + A Task. + + + + Creates the collection with the specified name. + + The name. + The options. + The cancellation token. + + + + Creates the collection with the specified name. + + The session. + The name. + The options. + The cancellation token. + + + + Creates the collection with the specified name. + + The name. + The options. + The cancellation token. + A task. + + + + Creates the collection with the specified name. + + The session. + The name. + The options. + The cancellation token. + + A task. + + + + + Creates a view. + + The type of the input documents. + The type of the pipeline result documents. + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + + + + Creates a view. + + The type of the input documents. + The type of the pipeline result documents. + The session. + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + + + + Creates a view. + + The type of the input documents. + The type of the pipeline result documents. + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + A task. + + + + Creates a view. + + The type of the input documents. + The type of the pipeline result documents. + The session. + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + + A task. + + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The cancellation token. + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The options. + The cancellation token. + + + + Drops the collection with the specified name. + + The session. + The name of the collection to drop. + The cancellation token. + + + + Drops the collection with the specified name. + + The session. + The name of the collection to drop. + The options. + The cancellation token. + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The cancellation token. + A task. + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The options. + The cancellation token. + A task. + + + + Drops the collection with the specified name. + + The session. + The name of the collection to drop. + The cancellation token. + + A task. + + + + + Drops the collection with the specified name. + + The session. + The name of the collection to drop. + The options. + The cancellation token. + + A task. + + + + + Gets a collection. + + The document type. + The name of the collection. + The settings. + An implementation of a collection. + + + + Lists the names of all the collections in the database. + + The options. + The cancellation token. + A cursor. + + + + Lists the names of all the collections in the database. + + The session. + The options. + The cancellation token. + A cursor. + + + + Lists the names of all the collections in the database. + + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Lists the names of all the collections in the database. + + The session. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Lists all the collections in the database. + + The options. + The cancellation token. + A cursor. + + + + Lists all the collections in the database. + + The session. + The options. + The cancellation token. + + A cursor. + + + + + Lists all the collections in the database. + + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Lists all the collections in the database. + + The session. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Renames the collection. + + The old name. + The new name. + The options. + The cancellation token. + + + + Renames the collection. + + The session. + The old name. + The new name. + The options. + The cancellation token. + + + + Renames the collection. + + The old name. + The new name. + The options. + The cancellation token. + A task. + + + + Renames the collection. + + The session. + The old name. + The new name. + The options. + The cancellation token. + + A task. + + + + + Runs a command. + + The result type of the command. + The command. + The read preference. + The cancellation token. + + The result of the command. + + + + + Runs a command. + + The result type of the command. + The session. + The command. + The read preference. + The cancellation token. + + The result of the command. + + + + + Runs a command. + + The result type of the command. + The command. + The read preference. + The cancellation token. + + The result of the command. + + + + + Runs a command. + + The result type of the command. + The session. + The command. + The read preference. + The cancellation token. + + The result of the command. + + + + + Watches changes on all collections in a database. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in a database. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in a database. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in a database. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Returns a new IMongoDatabase instance with a different read concern setting. + + The read concern. + A new IMongoDatabase instance with a different read concern setting. + + + + Returns a new IMongoDatabase instance with a different read preference setting. + + The read preference. + A new IMongoDatabase instance with a different read preference setting. + + + + Returns a new IMongoDatabase instance with a different write concern setting. + + The write concern. + A new IMongoDatabase instance with a different write concern setting. + + + + Extension methods on IMongoDatabase. + + + + + Begins a fluent aggregation interface. + + The database. + The options. + + A fluent aggregate interface. + + + + + Begins a fluent aggregation interface. + + The database. + The session. + The options. + + A fluent aggregate interface. + + + + + Creates a queryable source of documents. + + The database. + The aggregate options + A queryable source of documents. + + + + Creates a queryable source of documents. + + The collection. + The session. + The aggregate options + A queryable source of documents. + + + + Watches changes on all collection in a database. + + The database. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collection in a database. + + The database. + The session. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collection in a database. + + The database. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collection in a database. + + The database. + The session. + The options. + The cancellation token. + + A change stream. + + + + + An interface representing methods used to create, delete and modify indexes. + + + This interface is not guaranteed to remain stable. Implementors should use + . + + The type of the document. + + + + Gets the namespace of the collection. + + + + + Gets the document serializer. + + + + + Gets the collection settings. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + An of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The options for create multiple indexes. + The cancellation token. + + An of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The session. + The models defining each of the indexes. + The cancellation token. + + An of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The session. + The models defining each of the indexes. + The options for create multiple indexes. + The cancellation token. + + An of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + A task whose result is an of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The options for create multiple indexes. + The cancellation token. + + A task whose result is an of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The session. + The models defining each of the indexes. + The cancellation token. + + A task whose result is an of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The session. + The models defining each of the indexes. + The options for create multiple indexes. + The cancellation token. + + A task whose result is an of the names of the indexes that were created. + + + + + Creates an index. + + The model defining the index. + The create index operation options. + The cancellation token. + + The name of the index that was created. + + + + + Creates an index. + + The keys. + The create index request options. + The cancellation token. + + The name of the index that was created. + + + + + Creates an index. + + The session. + The keys. + The create index request options. + The cancellation token. + + The name of the index that was created. + + + + + Creates an index. + + The session. + The model defining the index. + The create index operation options. + The cancellation token. + + The name of the index that was created. + + + + + Creates an index. + + The model defining the index. + The create index operation options. + The cancellation token. + + A task whose result is the name of the index that was created. + + + + + Creates an index. + + The keys. + The create index request options. + The cancellation token. + + A task whose result is the name of the index that was created. + + + + + Creates an index. + + The session. + The keys. + The create index request options. + The cancellation token. + + A task whose result is the name of the index that was created. + + + + + Creates an index. + + The session. + The model defining the index. + The create index operation options. + The cancellation token. + + A task whose result is the name of the index that was created. + + + + + Drops all the indexes. + + The options. + The cancellation token. + + + + Drops all the indexes. + + The cancellation token. + + + + Drops all the indexes. + + The session. + The cancellation token. + + + + Drops all the indexes. + + The session. + The options. + The cancellation token. + + + + Drops all the indexes. + + The options. + The cancellation token. + + A task. + + + + + Drops all the indexes. + + The cancellation token. + A task. + + + + Drops all the indexes. + + The session. + The cancellation token. + + A task. + + + + + Drops all the indexes. + + The session. + The options. + The cancellation token. + + A task. + + + + + Drops an index by its name. + + The name. + The cancellation token. + + + + Drops an index by its name. + + The name. + The options. + The cancellation token. + + + + Drops an index by its name. + + The session. + The name. + The cancellation token. + + + + Drops an index by its name. + + The session. + The name. + The options. + The cancellation token. + + + + Drops an index by its name. + + The name. + The cancellation token. + A task. + + + + Drops an index by its name. + + The name. + The options. + The cancellation token. + A task. + + + + Drops an index by its name. + + The session. + The name. + The cancellation token. + + A task. + + + + + Drops an index by its name. + + The session. + The name. + The options. + The cancellation token. + + A task. + + + + + Lists the indexes. + + The cancellation token. + A cursor. + + + + Lists the indexes. + + The options. + The cancellation token. + A cursor. + + + + Lists the indexes. + + The session. + The cancellation token. + + A cursor. + + + + + Lists the indexes. + + The session. + The options. + The cancellation token. + + A cursor. + + + + + Lists the indexes. + + The cancellation token. + A Task whose result is a cursor. + + + + Lists the indexes. + + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Lists the indexes. + + The session. + The cancellation token. + + A Task whose result is a cursor. + + + + + Lists the indexes. + + The session. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Base class for an index keys definition. + + The type of the document. + + + + Renders the index keys definition to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + A based index keys definition. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + + + + A JSON based index keys definition. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + + + + Extension methods for an index keys definition. + + + + + Combines an existing index keys definition with an ascending index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with an ascending index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a descending index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a descending index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2d index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2d index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a geo haystack index key definition. + + The type of the document. + The keys. + The field. + Name of the additional field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a geo haystack index key definition. + + The type of the document. + The keys. + The field. + Name of the additional field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2dsphere index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2dsphere index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a hashed index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a hashed index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a text index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a text index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + A builder for an . + + The type of the document. + + + + Creates an ascending index key definition. + + The field. + An ascending index key definition. + + + + Creates an ascending index key definition. + + The field. + An ascending index key definition. + + + + Creates a combined index keys definition. + + The keys. + A combined index keys definition. + + + + Creates a combined index keys definition. + + The keys. + A combined index keys definition. + + + + Creates a descending index key definition. + + The field. + A descending index key definition. + + + + Creates a descending index key definition. + + The field. + A descending index key definition. + + + + Creates a 2d index key definition. + + The field. + A 2d index key definition. + + + + Creates a 2d index key definition. + + The field. + A 2d index key definition. + + + + Creates a geo haystack index key definition. + + The field. + Name of the additional field. + + A geo haystack index key definition. + + + + + Creates a geo haystack index key definition. + + The field. + Name of the additional field. + + A geo haystack index key definition. + + + + + Creates a 2dsphere index key definition. + + The field. + A 2dsphere index key definition. + + + + Creates a 2dsphere index key definition. + + The field. + A 2dsphere index key definition. + + + + Creates a hashed index key definition. + + The field. + A hashed index key definition. + + + + Creates a hashed index key definition. + + The field. + A hashed index key definition. + + + + Creates a text index key definition. + + The field. + A text index key definition. + + + + Creates a text index key definition. + + The field. + A text index key definition. + + + + Creates a wildcard index key definition. The method doesn't expect to specify a wildcard key explicitly. + + The wildcard key name. If the wildcard name is empty, the generated key will be `All field paths`, otherwise `A single field path`. + A wildcard index key definition. + + + + Creates a wildcard index key definition. + + The field expression representing the wildcard key name. + A wildcard index key definition. + + + + Represents index option defaults. + + + + + Gets or sets the storage engine options. + + + + + Returns this instance represented as a BsonDocument. + + A BsonDocument. + + + + Options for inserting many documents. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the comment. + + + + + Gets or sets a value indicating whether the requests are fulfilled in order. + + + + + Gets or sets the operation timeout. + + + + + Model for inserting a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + Gets the type of the model. + + + + + Options for inserting one document. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the comment. + + + + + Gets or sets the operation timeout. + + + + + The interface for a server session. + + + + + Gets the session Id. + + + The session Id. + + + + + Gets the time this server session was last used (in UTC). + + + The time this server session was last used (in UTC). + + + + + Gets the next transaction number. + + The transaction number. + + + + Called by the driver when the session is used (i.e. sent to the server). + + + + + Represents a partition for SetWindowFields. + + The type of the input documents in the partition. + + + + This static class holds methods that can be used to express MongoDB specific operations in LINQ queries. + + + + + Adds a value of the specified unit to a DateTime. + + The original DateTime. + The value to be added. + The unit. + The resulting DateTime. + + + + Adds a value of the specified unit to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The unit. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a TimeSpan value to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in days to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in hours to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in milliseconds to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in minutes to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in months to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in quarters to a DateTime. + + The original DateTime. + The value to be added. + The resulting DateTime. + + + + Adds a value in quarters to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in seconds to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in weeks to a DateTime taking. + + The original DateTime. + The value to be added. + The resulting DateTime. + + + + Adds a value in weeks to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in years to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Subtracts the start date from the end date returning the result in the specified unit. + + The original DateTime. + The start date. + The unit. + The result. + + + + Subtracts the start date from the end date returning the result in the specified unit taking a timezone into consideration. + + The original DateTime. + The start date. + The unit. + The timezone. + The result. + See the server documentation for $dateDiff for information on timezones in MongoDB. + + + + Subtracts the start date from the end date returning a TimeSpan taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateDiff for information on timezones in MongoDB. + + + + Subtracts a TimeSpan from a date taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateSubtract for information on timezones in MongoDB. + + + + Subtracts a value of the specified unit from a DateTime. + + The original DateTime. + The value to be added. + The unit. + The resulting DateTime. + + + + Subtracts a value of the specified unit from a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The unit. + The timezone. + The resulting DateTime. + See the server documentation for $dateSubtract for information on timezones in MongoDB. + + + + Converts a DateTime value to a string. + + The DateTime value. + The format string (optional, can be null). + The timezone to use in the returned string (optional, can be null). + The DateTime value converted to a string. + + + + Truncates a DateTime value to the specified unit. + + The original DateTime. + The unit. + The resulting DateTime. + + + + Truncates a DateTime value to the specified unit and bin size. + + The original DateTime. + The unit. + The bin size. + The resulting DateTime. + + + + Truncates a DateTime value to the specified unit and bin size taking a timezone into consideration. + + The original DateTime. + The unit. + The bin size. + The timezone. + The resulting DateTime. + See the server documentation for $dateTrunc for information on timezones in MongoDB. + + + + Returns the week number of a specified DateTime value. + + The DateTime value. + The week number of a specified DateTime value. + + + + Returns the week number of a specified DateTime value. + + The DateTime value. + The timezone to use (optional, can be null). + The week number of a specified DateTime value. + + + + Represents the unit for various DateTime operations. + + + + + Day unit. + + + + + Hour unit. + + + + + Millisecond unit. + + + + + Minute unit. + + + + + Month unit. + + + + + Quarter unit. + + + + + Second unit. + + + + + Week unit. + + + + + Week starting on Friday unit. + + + + + Week starting on Monday unit. + + + + + Week starting on Saturday unit. + + + + + Week starting on Sunday unit. + + + + + Week starting on Thursday unit. + + + + + Week starting on Tuesday unit. + + + + + Week starting on Wednesday unit. + + + + + Year unit. + + + + + The day of the start of the week (only valid with Week units that specify a start of the week). + + + + + The unit. + + + + + Represents how values are weighted when computing the exponential moving average. + + + + + Returns an alpha weighting. + + The alpha value. + An alpha weighting. + + + + Returns an positional weighting. + + The n value. + An n weighting. + + + + Represents an alpha weighting for an exponential moving average. + + + + + Initializes an instance of ExponentialMovingAverageAlphaWeighting. + + The alpha value. + + + + The alpha value. + + + + + Represents a positional weighting for an exponential moving average. + + + + + Initializes an instance of ExponentialMovingAveragePositionalWeighting. + + The n value. + + + + The n value. + + + + + Exception that is thrown when using a LINQ expression that is not supported. + + + + + Initializes an instance of an ExpressionNotSupportedException. + + The message. + + + + Initializes an instance of an ExpressionNotSupportedException. + + The expression. + + + + Initializes an instance of an ExpressionNotSupportedException. + + The expression. + The reason. + + + + Initializes an instance of an ExpressionNotSupportedException. + + The expression. + The containing expression. + + + + Initializes an instance of an ExpressionNotSupportedException. + + The expression. + The containing expression. + The reason. + + + + An implementation of for MongoDB. + + + + + Gets the most recently logged stages. + + + + + Executes the strongly-typed query represented by a specified expression tree. + + The type of the result. + An expression tree that represents a LINQ query. + The cancellation token. + The value that results from executing the specified query. + + + + The internal IMongoQueryProvider interface. + + + + + Gets the collection namespace. + + + + + Gets the pipeline input serializer (the DocumentSerializer for collection queries and NoPipelineInputSerializer for database queries). + + + + + Gets the translation options. + + The translation options. + + + + Extension methods for IQueryble. + + + + + Gets the most recently logged stages. + + The type of the source documents. + The source. + The logged stages. + + + + Gets the source's provider cast to an IMongoQueryProvider. + + The source. + The MongoDB query provider. + + + + Extension methods that represent operations for SetWindowFields. + + + + + Returns a set. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The set of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the number of documents in the window. + + The type of the input documents in the partition. + The partition. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the document position (known as the rank) relative to other documents in the $setWindowFields stage partition. + + The type of the input documents in the partition. + The partition. + The document position. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based derivatives. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based derivatives. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based derivatives. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based derivatives. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based derivatives. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the position of a document (known as the document number) in the $setWindowFields stage partition. + + The type of the input documents in the partition. + The partition. + The document position. + + + + Returns the exponential moving average value of the numeric values. Ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + How to weigh the values when computing the exponential moving average. + The window boundaries. + The exponential moving average of the selected values. + + + + Returns the exponential moving average value of the numeric values. Ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + How to weigh the values when computing the exponential moving average. + The window boundaries. + The exponential moving average of the selected values. + + + + Returns the exponential moving average value of the numeric values. Ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + How to weigh the values when computing the exponential moving average. + The window boundaries. + The exponential moving average of the selected values. + + + + Returns the exponential moving average value of the numeric values. Ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + How to weigh the values when computing the exponential moving average. + The window boundaries. + The exponential moving average of the selected values. + + + + Returns the exponential moving average value of the numeric values. Ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + How to weigh the values when computing the exponential moving average. + The window boundaries. + The exponential moving average of the selected values. + + + + Returns the first value. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The first of the selected values. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based integrals. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based integrals. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based integrals. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based integrals. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based integrals. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the last value. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The last of the selected values. + + + + Returns the last observation carried forward. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The last observation carried forward. + + + + Returns the maximum value. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The maximum of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the minimum value. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The minimum of the selected values. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns a sequence of values. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The window boundaries. + A sequence of the selected values. + + + + Returns the document position (known as the rank) relative to other documents in the $setWindowFields stage partition. + + The type of the input documents in the partition. + The partition. + The document position. + + + + Returns the value from an expression applied to a document in a specified position relative to the current document. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The relative position of the document to evaluate the selector on to shift a value to this document. + The value from an expression applied to a document in a specified position relative to the current document. + + + + Returns the value from an expression applied to a document in a specified position relative to the current document. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The relative position of the document to evaluate the selector on to shift a value to this document. + The default value to use if the document position is outside the partition. + The value from an expression applied to a document in a specified position relative to the current document. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This static class holds methods that can be used to express MongoDB specific operations in LINQ queries. + + + + + Injects a low level FilterDefinition{TDocument} into a LINQ where clause. Can only be used in LINQ queries. + + The type of the document. + The filter. + + Throws an InvalidOperationException if called. + + + + + The result of a Lookup operation. + + The type of the local documents. + The type of the result values. + + + + The local document. + + + + + The result values. + + The result values are either the matching foreign documents themselves or the output of the pipeline that was run on the matching foreign documents. + + + + Similar to the standard Math class but contains MongoDB specific methods. + + + + + Converts degrees to radians. + + The degrees. + The radians. + + + + Converts radians to degrees. + + The radians. + The degrees. + + + + Enumerable Extensions for MongoDB. + + + + + Represents all elements in an array (corresponds to the server's "$[]" update operator). + + The type of the elements of . + A source of values. + Only meant to be used in Update specifications. + + + + Represents all matching elements in an array when using an array filter (corresponds to the server's "$[identifier]" update operator). + + The type of the elements of . + A source of values. + The name of the identifier in the corresponding array filter. + Only meant to be used in Update specifications. + + + + Returns the bottom result. + + The source type. + The result type. + The source. + The sort order. + The selector. + The bottom result. + + + + Returns the bottom n results. + + The source type. + The result type. + The source. + The sort order. + The selector. + The number of results to return. + The bottom n results. + + + + Returns the bottom n results. + + The source type. + The key type. + The result type. + The source. + The sort order. + The selector. + The key (needed to infer the key type and to determine the key serializer). + The number of results to return. + The bottom n results. + + + + Represents the first matching element in an array used in a query (corresponds to the server's "$" update operator). + + The type of the elements of . + A source of values. + Only meant to be used in Update specifications. + + + + Returns the first n results. + + The source type. + The result type. + The source. + The selector. + The number of results to return. + The first n results. + + + + Returns the first n results. + + The source type. + The key type. + The result type. + The source. + The selector. + The key (needed to infer the key type and to determine the key serializer). + The number of results to return. + The first n results. + + + + Returns the last n results. + + The source type. + The result type. + The source. + The selector. + The number of results to return. + The last n results. + + + + Returns the last n results. + + The source type. + The key type. + The result type. + The source. + The selector. + The key (needed to infer the key type and to determine the key serializer). + The number of results to return. + The last n results. + + + + Returns the max n results. + + The source type. + The result type. + The source. + The selector. + The number of results to return. + The max n results. + + + + Returns the max n results. + + The source type. + The key type. + The result type. + The source. + The selector. + The key (needed to infer the key type and to determine the key serializer). + The number of results to return. + The max n results. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Returns the min n results. + + The source type. + The result type. + The source. + The selector. + The number of results to return. + The min n results. + + + + Returns the min n results. + + The source type. + The key type. + The result type. + The source. + The selector. + The key (needed to infer the key type and to determine the key serializer). + The number of results to return. + The min n results. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Returns the top n results. + + The source type. + The result type. + The source. + The sort order. + The selector. + The top n results. + + + + Returns the top n results. + + The source type. + The result type. + The source. + The sort order. + The selector. + The number of results to return. + The top n results. + + + + Returns the top n results. + + The source type. + The key type. + The result type. + The source. + The sort order. + The selector. + The key (needed to infer the key type and to determine the key serializer). + The number of results to return. + The top n results. + + + + Filters a sequence of values based on a predicate and limits the number of results. + + The type of the elements of . + The source values. + The predicate. + The limit. + The filtered results. + + + + LINQ extension methods for . + + + + + Determines whether a sequence contains any elements. + + The type of the elements of . + A sequence to check for being empty. + The cancellation token. + + true if the source sequence contains any elements; otherwise, false. + + + + + Determines whether any element of a sequence satisfies a condition. + + The type of the elements of . + A sequence whose elements to test for a condition. + A function to test each element for a condition. + The cancellation token. + + true if any elements in the source sequence pass the test in the specified predicate; otherwise, false. + + + + + Appends an arbitrary stage to the LINQ pipeline. + + The type of the elements of . + The type of the result values returned by the appended stage. + A sequence of values. + The stage to append. + The result serializer. + The queryable with a new stage appended. + + + + Allows the results to be interpreted as a different type. It is up to the caller + to determine that the new result type is compatible with the actual results. + + The type of the elements of . + The new result type for the results. + A sequence of values. + The new serializer (optional, will be looked up if null). + + A new IQueryable with a new result type. + + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Returns the number of elements in a sequence. + + The type of the elements of . + The that contains the elements to be counted. + The cancellation token. + + The number of elements in the input sequence. + + + + + Returns the number of elements in the specified sequence that satisfies a condition. + + The type of the elements of . + An that contains the elements to be counted. + A function to test each element for a condition. + The cancellation token. + + The number of elements in the sequence that satisfies the condition in the predicate function. + + + + + Adds a $densify stage to the LINQ pipeline. + + The type of the elements of . + A sequence of values. + The field. + The range. + The partition by fields. + The densified sequence of values. + + + + Adds a $densify stage to the LINQ pipeline. + + The type of the elements of . + A sequence of values. + The field. + The range. + The partition by fields. + The densified sequence of values. + + + + Injects a sequence of documents at the beginning of a pipeline. + + The type of the documents. + An IQueryable with no other input. + The documents. + + An whose elements are the documents. + + + + + Injects a sequence of documents at the beginning of a pipeline. + + The type of the documents. + An IQueryable with no other input. + The documents. + The document serializer. + + An whose elements are the documents. + + + + + Returns the first element of a sequence. + + The type of the elements of . + The to return the first element of. + The cancellation token. + + The first element in . + + + + + Returns the first element of a sequence that satisfies a specified condition. + + The type of the elements of . + An to return an element from. + A function to test each element for a condition. + The cancellation token. + + The first element in that passes the test in . + + + + + Returns the first element of a sequence, or a default value if the sequence contains no elements. + + The type of the elements of . + The to return the first element of. + The cancellation token. + + default() if is empty; otherwise, the first element in . + + + + + Returns the first element of a sequence that satisfies a specified condition or a default value if no such element is found. + + The type of the elements of . + An to return an element from. + A function to test each element for a condition. + The cancellation token. + + default() if is empty or if no element passes the test specified by ; otherwise, the first element in that passes the test specified by . + + + + + Correlates the elements of two sequences based on key equality and groups the results. + + The type of the elements of the first sequence. + The type of the elements of the second sequence. + The type of the keys returned by the key selector functions. + The type of the result elements. + The first sequence to join. + The collection to join to the first sequence. + A function to extract the join key from each element of the first sequence. + A function to extract the join key from each element of the second sequence. + A function to create a result element from an element from the first sequence and a collection of matching elements from the second sequence. + + An that contains elements of type obtained by performing a grouped join on two sequences. + + + + + Correlates the elements of two sequences based on matching keys. + + The type of the elements of the first sequence. + The type of the elements of the second sequence. + The type of the keys returned by the key selector functions. + The type of the result elements. + The first sequence to join. + The sequence to join to the first sequence. + A function to extract the join key from each element of the first sequence. + A function to extract the join key from each element of the second sequence. + A function to create a result element from two matching elements. + + An that has elements of type obtained by performing an inner join on two sequences. + + + + + Returns the number of elements in a sequence. + + The type of the elements of . + The that contains the elements to be counted. + The cancellation token. + + The number of elements in the input sequence. + + + + + Returns the number of elements in the specified sequence that satisfies a condition. + + The type of the elements of . + An that contains the elements to be counted. + A function to test each element for a condition. + The cancellation token. + + The number of elements in the sequence that satisfies the condition in the predicate function. + + + + + Looks up documents in a foreign collection. + + The source documents. + The foreign collection. + The local field to compare against the foreign field. + The foreign field to compare against the local field. + The type of the source documents. + The type of the foreign documents. + The type of the fields being compared. + An with the results of the Lookup. + The Results property of contains the matching foreign documents. + + + + Looks up documents in a foreign collection. + + The source documents. + The foreign collection. + The pipeline to run against the foreign documents. + The type of the source documents. + The type of the foreign documents. + The type of the pipeline output. + An with the results of the Lookup. + The Results property of contains the output of running the pipeline against the foreign documents. + + + + Looks up documents in a foreign collection. + + The source documents. + The foreign collection. + The local field to compare against the foreign field. + The foreign field to compare against the local field. + The pipeline to run against the matching foreign documents. + The type of the source documents. + The type of the foreign documents. + The type of the fields being compared. + The type of the pipeline output. + An with the results of the Lookup. + The Results property of contains the output of running the pipeline against the matching foreign documents. + + + + Looks up documents in a list of foreign documents. + + The source documents. + The foreign documents. + The local field to compare against the foreign field. + The foreign field to compare against the local field. + The type of the source documents. + The type of the foreign documents. + The type of the fields being compared. + An with the results of the Lookup. + The Results property of contains the matching foreign documents. + + + + Looks up documents in a list of foreign documents. + + The source documents. + The foreign documents. + The pipeline to run against the foreign documents. + The type of the source documents. + The type of the foreign documents. + The type of the pipeline output. + An with the results of the Lookup. + The Results property of contains the output of running the pipeline against the foreign documents. + + + + Looks up documents in a list of foreign documents. + + The source documents. + The foreign documents. + The local field to compare against the foreign field. + The foreign field to compare against the local field. + The pipeline to run against the matching foreign documents. + The type of the source documents. + The type of the foreign documents. + The type of the fields being matched. + The type of the pipeline output. + An with the results of the Lookup. + The Results property of contains the output of running the pipeline against the matching foreign documents. + + + + Returns the maximum value in a generic . + + The type of the elements of . + A sequence of values to determine the maximum of. + The cancellation token. + + The maximum value in the sequence. + + + + + Invokes a projection function on each element of a generic and returns the maximum resulting value. + + The type of the elements of . + The type of the value returned by the function represented by . + A sequence of values to determine the maximum of. + A projection function to apply to each element. + The cancellation token. + + The maximum value in the sequence. + + + + + Returns the minimum value in a generic . + + The type of the elements of . + A sequence of values to determine the minimum of. + The cancellation token. + + The minimum value in the sequence. + + + + + Invokes a projection function on each element of a generic and returns the minimum resulting value. + + The type of the elements of . + The type of the value returned by the function represented by . + A sequence of values to determine the minimum of. + A projection function to apply to each element. + The cancellation token. + + The minimum value in the sequence. + + + + + Returns a sample of the elements in the . + + The type of the elements of . + An to return a sample of. + The number of elements in the sample. + + A sample of the elements in the . + + + + + Appends a $search stage to the LINQ pipeline. + + The type of the elements of . + A sequence of values. + The search definition. + The highlight options. + The index name. + The count options. + + Flag that specifies whether to perform a full document lookup on the backend database + or return only stored source fields directly from Atlas Search. + + + Flag that specifies whether to return a detailed breakdown + of the score for each document in the result. + + The queryable with a new stage appended. + + + + Appends a $search stage to the LINQ pipeline. + + The type of the elements of . + A sequence of values. + The search definition. + The search options. + The queryable with a new stage appended. + + + + Appends a $searchMeta stage to the LINQ pipeline. + + The type of the elements of . + A sequence of values. + The search definition. + The index name. + The count options. + The queryable with a new stage appended. + + + + Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence. + + The type of the elements of . + An to return the single element of. + The cancellation token. + + The single element of the input sequence. + + + + + Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists. + + The type of the elements of . + An to return a single element from. + A function to test an element for a condition. + The cancellation token. + + The single element of the input sequence that satisfies the condition in . + + + + + Returns the only element of a sequence, or a default value if the sequence is empty; this method throws an exception if there is more than one element in the sequence. + + The type of the elements of . + An to return the single element of. + The cancellation token. + + The single element of the input sequence, or default() if the sequence contains no elements. + + + + + Returns the only element of a sequence that satisfies a specified condition or a default value if no such element exists; this method throws an exception if more than one element satisfies the condition. + + The type of the elements of . + An to return a single element from. + A function to test an element for a condition. + The cancellation token. + + The single element of the input sequence that satisfies the condition in , or default() if no such element is found. + + + + + Bypasses a specified number of elements in a sequence and then returns the + remaining elements. + + The type of the elements of source + An to return elements from. + The number of elements to skip before returning the remaining elements. + + An that contains elements that occur after the + specified index in the input sequence. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Returns a specified number of contiguous elements from the start of a sequence. + + The type of the elements of . + The sequence to return elements from. + The number of elements to return. + + An that contains the specified number of elements + from the start of source. + + + + + Returns an which can be enumerated asynchronously. + + The type of the elements of . + A sequence of values. + An IAsyncEnumerable for the query results. + + + + Executes the LINQ query and returns a cursor to the results. + + The type of the elements of . + The sequence to return elements from. + The cancellation token. + A cursor to the results of executing the LINQ query. + + + + Executes the LINQ query and returns a cursor to the results. + + The type of the elements of . + The sequence to return elements from. + The cancellation token. + A cursor to the results of executing the LINQ query. + + + + Executes the LINQ query and returns a list of the results. + + The type of the elements of . + The sequence to return elements from. + The cancellation token. + A list of the results of executing the LINQ query. + + + + Appends a $vectorSearch stage to the LINQ pipeline. + + The type of the elements of . + The type of the field. + A sequence of values. + The field. + The query vector. + The limit. + The options. + + The queryable with a new stage appended. + + + + + Appends a $vectorSearch stage to the LINQ pipeline. + + The type of the elements of . + The type of the field. + A sequence of values. + The field. + The query vector. + The limit. + The options. + + The queryable with a new stage appended. + + + + + This static class holds methods that can be used to express MongoDB specific operations in LINQ queries. + + + + + Converts a NullableDateTime value to a string. + + The NullableDateTime value. + The format string (optional, can be null). + The timezone to use in the returned string (optional, can be null). + The string to return if the NullableDateTime value is null. + The NullableDateTime value converted to a string. + + + + This static class holds methods that can be used to express MongoDB specific operations in LINQ queries. + + + + + Returns true if any value in s is present in values (corresponds to the $in filter operator). + + The values to test. + The values to test against. + True if any value in s is present in values. + + + + Returns true if any value in s is present in values (corresponds to the $in filter operator). + + The values to test. + The values to test against. + True if any value in s is present in values. + + + + Returns true if any value in s is not present in values (corresponds to the $nin filter operator). + + The values to test. + The values to test against. + True if any value in s is not present in values. + + + + Returns true if any value in s is not present in values (corresponds to the $nin filter operator). + + The values to test. + The values to test against. + True if any value in s is not present in values. + + + + Searches a string for an occurrence of a substring and returns the UTF-8 byte index (zero-based) of the first occurrence. + + The string. + The value. + The byte index of the first occurrence, or -1 if not found. + + + + Searches a string for an occurrence of a substring and returns the UTF-8 byte index (zero-based) of the first occurrence. + + The string. + The value. + The start index. + The byte index of the first occurrence, or -1 if not found. + + + + Searches a string for an occurrence of a substring and returns the UTF-8 byte index (zero-based) of the first occurrence. + + The string. + The value. + The start index. + The count. + The byte index of the first occurrence, or -1 if not found. + + + + Returns true if s is present in values (corresponds to the $in filter operator). + + The value to test. + The values to test against. + True if s is present in values. + + + + Returns true if s is present in values (corresponds to the $in filter operator). + + The value to test. + The values to test against. + True if s is present in values. + + + + Returns true if s is not present in values (corresponds to the $nin filter operator). + + The value to test. + The values to test against. + True if s is not present in values. + + + + Returns true if s is not present in values (corresponds to the $nin filter operator). + + The value to test. + The values to test against. + True if s is not present in values. + + + + Returns the number of UTF-8 encoded bytes in the specified string. + + The string. + The number of UTF-8 bytes. + + + + Returns the number of UTF-8 encoded bytes in the specified string. + + The string. + The start index. + The length. + The number of UTF-8 bytes. + + + + The time unit to use in DateTime SetWindowFields windows. + + + + + Weeks. + + + + + Days. + + + + + Hours. + + + + + Minutes. + + + + + Seconds. + + + + + Milliseconds. + + + + + Options for a list collection names operation. + + + + + Gets or sets the AuthorizedCollections flag. + + + + + Gets or sets the comment. + + + + + Gets or sets the filter. + + + + + Gets or sets the operation timeout. + + + + + Options for a list collections operation. + + + + + Gets or sets the batch size. + + + + + Gets or sets the comment. + + + + + Gets or sets the filter. + + + + + Gets or sets the operation timeout. + + + + + Options for a list database names operation. + + + + + Gets or sets the AuthorizedDatabases flag. + + + + + Gets or sets the comment. + + + + + Gets or sets the filter. + + + + + Gets or sets the operation timeout. + + + + + Options for a list databases operation. + + + + + Gets or sets the AuthorizedDatabases flag. + + + + + Gets or sets the comment. + + + + + Gets or sets the filter. + + + + + Gets or sets the NameOnly flag. + + + + + Gets or sets the operation timeout. + + + + + Options for a list indexes operation. + + + + + Gets or sets the batch size. + + + + + Gets or sets the comment. + + + + + Gets or sets the operation timeout. + + + + + Represents the options for a map-reduce operation. + + The type of the document. + The type of the result. + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the filter. + + + + + Gets or sets the finalize function. + + + + + Gets or sets the java script mode. + + + + + Gets or sets the limit. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the output options. + + + + + Gets or sets the result serializer. + + + + + Gets or sets the scope. + + + + + Gets or sets the sort. + + + + + Gets or sets the operation timeout. + + + + + Gets or sets whether to include timing information. + + + + + Represents the output options for a map-reduce operation. + + + + + An inline map-reduce output options. + + + + + A merge map-reduce output options. + + The name of the collection. + The name of the database. + Whether the output collection should be sharded. + Whether the server should not lock the database for the duration of the merge. + A merge map-reduce output options. + + + + A merge map-reduce output options. + + The name of the collection. + The name of the database. + A merge map-reduce output options. + + + + A reduce map-reduce output options. + + The name of the collection. + The name of the database. + Whether the output collection should be sharded. + Whether the server should not lock the database for the duration of the reduce. + A reduce map-reduce output options. + + + + A reduce map-reduce output options. + + The name of the collection. + The name of the database. + A reduce map-reduce output options. + + + + A replace map-reduce output options. + + The name of the collection. + Name of the database. + Whether the output collection should be sharded. + A replace map-reduce output options. + + + + A replace map-reduce output options. + + The name of the collection. + Name of the database. + A replace map-reduce output options. + + + + The behavior of $merge is a result document and an existing document in the collection + have the same value for the specified on field(s). + + + + + Replace the existing document in the output collection with the matching results document. + + + + + Keep the existing document in the output collection. + + + + + Merge the matching documents (similar to the $mergeObjects operator). + + + + + Stop and fail the aggregation. Any changes to the output collection from previous documents are not reverted. + + + + + Use an aggregation pipeline to update the document in the collection. + + + + + The behavior of $merge if a result document does not match an existing document in the output collection. + + + + + Insert the document into the output collection. + + + + + Discard the document; i.e. $merge does not insert the document into the output collection. + + + + + Stop and fail the aggregation operation. Any changes to the output collection from previous documents are not reverted. + + + + + Options for the $merge aggregation pipeline stage. + + The type of the output documents. + + + + Specifies variables accessible for use in the WhenMatchedPipeline. + + + + + Field or fields that act as a unique identifier for a document. The identifier determines if a results + document matches an already existing document in the output collection. + + + + + The output serializer. + + + + + The behavior of $merge if a result document and an existing document in the collectoin have the + same value for the specified on field(s). + + + + + An aggregation pipeline to update the document in the collection. + Used when WhenMatched is Pipeline. + + + + + The behavior of $merge if a result document does not match an existing document in the output collection. + + + + + Represents a bulk write exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The write errors. + The write concern error. + + + + Initializes a new instance of the MongoQueryException class (this overload supports deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Gets the write concern error. + + + + + Gets the write errors. + + + + + Gets the object data. + + The information. + The context. + + + + Represents a bulk write exception. + + The type of the document. + + + + Initializes a new instance of the class. + + The connection identifier. + The result. + The write errors. + The write concern error. + The unprocessed requests. + + + + Initializes a new instance of the MongoQueryException class (this overload supports deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Gets the result of the bulk write operation. + + + + + Gets the unprocessed requests. + + + + + Gets the object data. + + The information. + The context. + + + + + + + Initializes a new instance of the MongoClient class. + + + + + Initializes a new instance of the MongoClient class. + + The settings. + + + + Initializes a new instance of the MongoClient class. + + The URL. + + + + Initializes a new instance of the MongoClient class. + + The connection string. + + + + + + + + + + + + + + + + + + + + + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The settings for a MongoDB client. + + + + + Extension Manager provides a way to configure extensions for the driver. + + + + + Creates a new instance of MongoClientSettings. Usually you would use a connection string instead. + + + + + Gets or sets whether to relax TLS constraints as much as possible. + Setting this variable to true will also set SslSettings.CheckCertificateRevocation to false. + + + + + Gets or sets the application name. + + + + + Gets or sets the auto encryption options. + + + + + Gets or sets the compressors. + + + + + Gets or sets the cluster configurator. + + + + + Gets or sets the connect timeout. + + + + + Gets or sets the credential. + + + + + Gets or sets the direct connection. + + + + + Gets a value indicating whether the settings have been frozen to prevent further changes. + + + + + Gets or sets the heartbeat interval. + + + + + Gets or sets the heartbeat timeout. + + + + + Gets or sets a value indicating whether to use IPv6. + + + + + Gets or sets information about a library using the .NET Driver. + + + + + Gets or sets whether load balanced mode is used. + + + + + Gets or sets the local threshold. + + + + + Gets or sets the logging settings + + + + + Gets or sets the maximum concurrently connecting connections. + + + + + Gets or sets the max connection idle time. + + + + + Gets or sets the max connection life time. + + + + + Gets or sets the max connection pool size. + + + + + Gets or sets the min connection pool size. + + + + + Gets or sets the SOCKS5 proxy settings. + + + + + Gets or sets the read concern. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the read preferences. + + + + + Gets or sets the name of the replica set. + + + + + Gets or sets whether to retry reads. + + + + + Gets or sets whether to retry writes. + + + The default value is true. + + + + + Gets or sets the connection string scheme. + + + + + Gets or sets the server API. + + + + + Gets or sets the address of the server (see also Servers if using more than one address). + + + + + Gets or sets the list of server addresses (see also Server if using only one address). + + + + + Gets or sets the server monitoring mode to use. + + + + + Gets or sets the server selection timeout. + + + + + Gets or sets the socket timeout. + + + + + Limits the number of SRV records used to populate the seedlist + during initial discovery, as well as the number of additional hosts + that may be added during SRV polling. + + + + + Gets or sets the SRV service name which modifies the srv URI to look like: + _{srvServiceName}._tcp.{hostname}.{domainname} + The default value is "mongodb". + + + + + Gets or sets the SSL settings. + + + + + Gets or sets the per-operation timeout + + + + + Gets or sets the translation options. + + + + + Gets or sets a value indicating whether to use SSL. + + + + + Gets or sets a value indicating whether to use TLS. + + + + + Gets or sets a value indicating whether to verify an SSL certificate. + + + + + Gets or sets the wait queue size. + + + + + Gets or sets the wait queue timeout. + + + + + Gets or sets the WriteConcern to use. + + + + + Gets or sets the Write Encoding. + + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Gets a MongoClientSettings object intialized with values from a connection string. + + The connection string. + A MongoClientSettings. + + + + Gets a MongoClientSettings object initialized with values from a MongoURL. + + The MongoURL. + A MongoClientSettings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + The settings used to access a collection. + + + + + Initializes a new instance of the MongoCollectionSettings class. + + + + + Gets or sets a value indicating whether the driver should assign Id values when missing. + + + + + Gets a value indicating whether the settings have been frozen to prevent further changes. + + + + + Gets or sets the read concern. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the read preference to use. + + + + + Gets the serializer registry. + + + + + Gets or sets the per-operation timeout + + + + + Gets or sets the WriteConcern to use. + + + + + Gets or sets the Write Encoding. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Compares two MongoCollectionSettings instances. + + The other instance. + True if the two instances are equal. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + Credential to access a MongoDB database. + + + + + Initializes a new instance of the class. + + Mechanism to authenticate with. + The identity. + The evidence. + + + + Gets the evidence. + + + + + Gets the identity. + + + + + Gets the mechanism to authenticate with. + + + + + Gets the password. + + + + + Gets the source. + + + + + Gets the username. + + + + + Compares two MongoCredentials. + + The first MongoCredential. + The other MongoCredential. + True if the two MongoCredentials are equal (or both null). + + + + Compares two MongoCredentials. + + The first MongoCredential. + The other MongoCredential. + True if the two MongoCredentials are not equal (or one is null and the other is not). + + + + Creates a default credential. + + Name of the database. + The username. + The password. + A default credential. + + + + Creates a default credential. + Less secure when used in conjunction with SCRAM-SHA-256, due to the need to store the password in a managed + string in order to SaslPrep it. + + Name of the database. + The username. + The password. + A default credential. + + + + Creates a GSSAPI credential. + + The username. + A credential for GSSAPI. + This overload is used primarily on linux. + + + + Creates a GSSAPI credential. + + The username. + The password. + A credential for GSSAPI. + + + + Creates a GSSAPI credential. + + The username. + The password. + A credential for GSSAPI. + + + + Creates a credential used with MONGODB-OIDC. + + The OIDC callback. + The principal name. + The OIDC credential. + + + + Creates a credential used with MONGODB-OIDC. + + The built in environemnt. + User name. + The OIDC credential. + + + + Creates a credential used with MONGODB-X509. + + The username. + A credential for MONGODB-X509. + + + + Creates a PLAIN credential. + + Name of the database. + The username. + The password. + A credential for PLAIN. + + + + Creates a PLAIN credential. + + Name of the database. + The username. + The password. + A credential for PLAIN. + + + + Gets the mechanism property. + + The type of the mechanism property. + The key. + The default value. + The mechanism property if one was set; otherwise the default value. + + + + Compares this MongoCredential to another MongoCredential. + + The other credential. + True if the two credentials are equal. + + + + Compares this MongoCredential to another MongoCredential. + + The other credential. + True if the two credentials are equal. + + + + Gets the hashcode for the credential. + + The hashcode. + + + + Returns a string representation of the credential. + + A string representation of the credential. + + + + Creates a new MongoCredential with the specified mechanism property. + + The key. + The value. + A new MongoCredential with the specified mechanism property. + + + + The settings used to access a database. + + + + + Creates a new instance of MongoDatabaseSettings. + + + + + Gets a value indicating whether the settings have been frozen to prevent further changes. + + + + + Gets or sets the read concern. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the read preference. + + + + + Gets the serializer registry. + + + + + Gets or sets the per-operation timeout + + + + + Gets or sets the WriteConcern to use. + + + + + Gets or sets the Write Encoding. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Compares two MongoDatabaseSettings instances. + + The other instance. + True if the two instances are equal. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + Represents a DBRef (a convenient way to refer to a document). + + + + + Creates a MongoDBRef. + + The name of the collection that contains the document. + The Id of the document. + + + + Creates a MongoDBRef. + + The name of the database that contains the document. + The name of the collection that contains the document. + The Id of the document. + + + + Gets the name of the database that contains the document. + + + + + Gets the name of the collection that contains the document. + + + + + Gets the Id of the document. + + + + + Determines whether two specified MongoDBRef objects have different values. + + The first value to compare, or null. + The second value to compare, or null. + True if the value of lhs is different from the value of rhs; otherwise, false. + + + + Determines whether two specified MongoDBRef objects have the same value. + + The first value to compare, or null. + The second value to compare, or null. + True if the value of lhs is the same as the value of rhs; otherwise, false. + + + + Determines whether two specified MongoDBRef objects have the same value. + + The first value to compare, or null. + The second value to compare, or null. + True if the value of lhs is the same as the value of rhs; otherwise, false. + + + + Determines whether this instance and another specified MongoDBRef object have the same value. + + The MongoDBRef object to compare to this instance. + True if the value of the rhs parameter is the same as this instance; otherwise, false. + + + + Determines whether this instance and a specified object, which must also be a MongoDBRef object, have the same value. + + The MongoDBRef object to compare to this instance. + True if obj is a MongoDBRef object and its value is the same as this instance; otherwise, false. + + + + Returns the hash code for this MongoDBRef object. + + A 32-bit signed integer hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a serializer for MongoDBRefs. + + + + + Initializes a new instance of the class. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Default values for various Mongo settings. + + + + + Gets or sets whether the driver should assign a value to empty Ids on Insert. + + + + + Gets or sets the default authentication mechanism. + + + + + Gets the actual wait queue size (either WaitQueueSize or WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets or sets the connect timeout. + + + + + Gets or sets the default local threshold. + + + + + Gets or sets the maximum batch count. + + + + + Gets or sets the max connection idle time. + + + + + Gets or sets the max connection life time. + + + + + Gets or sets the max connection pool size. + + + + + Gets or sets the max document size + + + + + Gets or sets the max message length. + + + + + Gets or sets the min connection pool size. + + + + + Gets or sets the operation timeout. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the server selection timeout. + + + + + Gets or sets the socket timeout. + + + + + Gets or sets the TCP receive buffer size. + + + + + Gets or sets the TCP send buffer size. + + + + + Gets or sets the wait queue multiple (the actual wait queue size will be WaitQueueMultiple x MaxConnectionPoolSize, see also WaitQueueSize). + + + + + Gets or sets the wait queue size (see also WaitQueueMultiple). + + + + + Gets or sets the wait queue timeout. + + + + + Gets or sets the Write Encoding. + + + + + Represents an identity defined by AWS external credentials. + + + + + Initializes a new instance of the class. + + + + + Represents an identity defined outside of mongodb. + + + + + Initializes a new instance of the class. + + The username. + + + + Initializes a new instance of the class. + + The source. + The username. + + + + Represents an identity in MongoDB. + + + + + Initializes a new instance of the class. + + The source. + The username. + Whether to allow null usernames. + + + + Gets the source. + + + + + Gets the username. + + + + + Compares two MongoIdentity values. + + The first MongoIdentity. + The other MongoIdentity. + True if the two MongoIdentity values are equal (or both null). + + + + Compares two MongoIdentity values. + + The first MongoIdentity. + The other MongoIdentity. + True if the two MongoIdentity values are not equal (or one is null and the other is not). + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified instance is equal to this instance. + + The right-hand side. + + true if the specified instance is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Evidence used as proof of a MongoIdentity. + + + + + Initializes a new instance of the class. + + + + + Compares two MongoIdentityEvidences. + + The first MongoIdentityEvidence. + The other MongoIdentityEvidence. + True if the two MongoIdentityEvidences are equal (or both null). + + + + Compares two MongoIdentityEvidences. + + The first MongoIdentityEvidence. + The other MongoIdentityEvidence. + True if the two MongoIdentityEvidences are not equal (or one is null and the other is not). + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Base class for implementors of . + + The type of the document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents an identity defined inside mongodb. + + + + + Initializes a new instance of the class. + + Name of the database. + The username. + + + + Represents an OIDC identity. + + + + + Initializes a new instance of the class. + + The username. + + + + The address of a MongoDB server. + + + + + Initializes a new instance of MongoServerAddress. + + The server's host name. + + + + Initializes a new instance of MongoServerAddress. + + The server's host name. + The server's port number. + + + + Parses a string representation of a server address. + + The string representation of a server address. + A new instance of MongoServerAddress initialized with values parsed from the string. + + + + Tries to parse a string representation of a server address. + + The string representation of a server address. + The server address (set to null if TryParse fails). + True if the string is parsed succesfully. + + + + Gets the server's host name. + + + + + Gets the server's port number. + + + + + Compares two server addresses. + + The first address. + The other address. + True if the two addresses are equal (or both are null). + + + + Compares two server addresses. + + The first address. + The other address. + True if the two addresses are not equal (or one is null and the other is not). + + + + Compares two server addresses. + + The other server address. + True if the two server addresses are equal. + + + + Compares two server addresses. + + The other server address. + True if the two server addresses are equal. + + + + Gets the hash code for this object. + + The hash code. + + + + Returns a string representation of the server address. + + A string representation of the server address. + + + + Represents an immutable URL style connection string. See also MongoUrlBuilder. + + + + + Creates a new instance of MongoUrl. + + The URL containing the settings. + + + + Gets whether to relax TLS constraints as much as possible. + + + + + Gets the application name. + + + + + Gets the authentication mechanism. + + + + + Gets the authentication mechanism properties. + + + + + Gets the authentication source. + + + + + Gets the compressors. + + + + + Gets the actual wait queue size (either WaitQueueSize or WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets the connect timeout. + + + + + Gets the optional database name. + + + + + Gets the direct connection. + + + + + Gets the FSync component of the write concern. + + + + + Gets a value indicating whether this instance has authentication settings. + + + + + Gets the heartbeat interval. + + + + + Gets the heartbeat timeout. + + + + + Gets a value indicating whether to use IPv6. + + + + + Gets a value indicating whether a connection string with scheme MongoDBPlusSrv has been resolved. + + + + + Gets the Journal component of the write concern. + + + + + Gets or sets whether load balanced mode is used. + + + + + Gets the local threshold. + + + + + Gets the maximum concurrently connecting connections. + + + + + Gets the max connection idle time. + + + + + Gets the max connection life time. + + + + + Gets the max connection pool size. + + + + + Gets the min connection pool size. + + + + + Gets the password. + + + + + Gets the proxy host. + + + + + Gets the proxy port. + + + + + Gets the proxy username. + + + + + Gets the proxy password. + + + + + Gets the read concern level. + + + + + Gets the read preference. + + + + + Gets the name of the replica set. + + + + + Gets whether reads will be retried. + + + + + Gets whether writes will be retried. + + + + + Gets the connection string scheme. + + + + + Gets the address of the server (see also Servers if using more than one address). + + + + + Gets the list of server addresses (see also Server if using only one address). + + + + + Gets the server monitoring mode to use. + + + + + Gets the server selection timeout. + + + + + Gets the socket timeout. + + + + + Limits the number of SRV records used to populate the seedlist + during initial discovery, as well as the number of additional hosts + that may be added during SRV polling. + + + + + Gets the SRV service name which modifies the srv URI to look like: + _{srvServiceName}._tcp.{hostname}.{domainname} + + + + + Gets the per-operation timeout + + + + + Gets whether or not to disable checking certificate revocation status during the TLS handshake. + + + + + Gets the URL (in canonical form). + + + + + Gets the username. + + + + + Gets a value indicating whether to use SSL. + + + + + Gets a value indicating whether to use TLS. + + + + + Gets a value indicating whether to verify an SSL certificate. + + + + + Gets the W component of the write concern. + + + + + Gets the wait queue multiple (the actual wait queue size will be WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets the wait queue size. + + + + + Gets the wait queue timeout. + + + + + Gets the WTimeout component of the write concern. + + + + + Compares two MongoUrls. + + The first URL. + The other URL. + True if the two URLs are equal (or both null). + + + + Compares two MongoUrls. + + The first URL. + The other URL. + True if the two URLs are not equal (or one is null and the other is not). + + + + Clears the URL cache. When a URL is parsed it is stored in the cache so that it doesn't have to be + parsed again. There is rarely a need to call this method. + + + + + Creates an instance of MongoUrl (might be an existing existence if the same URL has been used before). + + The URL containing the settings. + An instance of MongoUrl. + + + + Compares two MongoUrls. + + The other URL. + True if the two URLs are equal. + + + + Compares two MongoUrls. + + The other URL. + True if the two URLs are equal. + + + + Gets the credential. + + The credential (or null if the URL has not authentication settings). + + + + Gets the hash code. + + The hash code. + + + + Returns a WriteConcern value based on this instance's settings and a default enabled value. + + The default enabled value. + A WriteConcern. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + The cancellation token. + A resolved MongoURL. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + Whether to resolve hosts. + The cancellation token. + A resolved MongoURL. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + The cancellation token. + A resolved MongoURL. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + Whether to resolve hosts. + The cancellation token. + A resolved MongoURL. + + + + Returns the canonical URL based on the settings in this MongoUrlBuilder. + + The canonical URL. + + + + Represents URL-style connection strings. + + + + + Creates a new instance of MongoUrlBuilder. + + + + + Creates a new instance of MongoUrlBuilder. + + The initial settings. + + + + Gets or sets whether to relax TLS constraints as much as possible. + + + + + Gets or sets the application name. + + + + + Gets or sets the authentication mechanism. + + + + + Gets or sets the authentication mechanism properties. + + + + + Gets or sets the authentication source. + + + + + Gets or sets the compressors. + + + + + Gets the actual wait queue size (either WaitQueueSize or WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets or sets the connect timeout. + + + + + Gets or sets the optional database name. + + + + + Gets or sets the direct connection. + + + + + Gets or sets the FSync component of the write concern. + + + + + Gets or sets the heartbeat interval. + + + + + Gets or sets the heartbeat timeout. + + + + + Gets or sets a value indicating whether to use IPv6. + + + + + Gets or sets the Journal component of the write concern. + + + + + Gets or sets whether load balanced mode is used. + + + + + Gets or sets the local threshold. + + + + + Gets or sets the maximum concurrently connecting connections. + + + + + Gets or sets the max connection idle time. + + + + + Gets or sets the max connection life time. + + + + + Gets or sets the max connection pool size. + + + + + Gets or sets the min connection pool size. + + + + + Gets or sets the password. + + + + + Gets or sets the proxy host. + + + + + Gets or sets the proxy port. + + + + + + Gets or sets the proxy username. + + + + + Gets or sets the proxy password. + + + + + Gets or sets the read concern level. + + + + + Gets or sets the read preference. + + + + + Gets or sets the name of the replica set. + + + + + Gets or sets whether to retry reads. + + + + + Gets or sets whether to retry writes. + + + + + The connection string scheme. + + + + + Gets or sets the address of the server (see also Servers if using more than one address). + + + + + Gets or sets the list of server addresses (see also Server if using only one address). + + + + + Gets or sets the server monitoring mode to use. + + + + + Gets or sets the server selection timeout. + + + + + Gets or sets the socket timeout. + + + + + Limits the number of SRV records used to populate the seedlist + during initial discovery, as well as the number of additional hosts + that may be added during SRV polling. + + + + + Gets or sets the SRV service name which modifies the srv URI to look like: + _{srvServiceName}._tcp.{hostname}.{domainname} + + + + + Gets or sets the per-operation timeout + + + + + Gets or sets whether to disable certificate revocation checking during the TLS handshake. + + + + + Gets or sets the username. + + + + + Gets or sets a value indicating whether to use SSL. + + + + + Gets or sets a value indicating whether to use TLS. + + + + + Gets or sets a value indicating whether to verify an SSL certificate. + + + + + Gets or sets the W component of the write concern. + + + + + Gets or sets the wait queue multiple (the actual wait queue size will be WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets or sets the wait queue size. + + + + + Gets or sets the wait queue timeout. + + + + + Gets or sets the WTimeout component of the write concern. + + + + + Returns a WriteConcern value based on this instance's settings and a default enabled value. + + The default enabled value. + A WriteConcern. + + + + Parses a URL and sets all settings to match the URL. + + The URL. + + + + Creates a new instance of MongoUrl based on the settings in this MongoUrlBuilder. + + A new instance of MongoUrl. + + + + Returns the canonical URL based on the settings in this MongoUrlBuilder. + + The canonical URL. + + + Implements a for converting . + + + + + + + + + + Various static utility methods. + + + + + Gets the MD5 hash of a string. + + The string to get the MD5 hash of. + The MD5 hash. + + + + Creates a TimeSpan from microseconds. + + The microseconds. + The TimeSpan. + + + + Converts a string to camel case by lower casing the first letter (only the first letter is modified). + + The string to camel case. + The camel cased string. + + + + Represents a write exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The write error. + The write concern error. + The inner exception. + + + + Initializes a new instance of the MongoQueryException class (this overload supports deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Gets the write concern error. + + + + + Gets the write error. + + + + + Gets the object data. + + The information. + The context. + + + + Represents an identity defined by an X509 certificate. + + + + + Initializes a new instance of the class. + + The username. + + + + Contains methods that can be used to access MongoDB specific functionality in LINQ queries. + + + + + Use this method in a MongoDB LINQ query when you need to specify how a constant should be serialized. + + The value. + The serializer. + The type of the value. + The value. + + + + Use this method in a MongoDB LINQ query when you need to specify how a constant should be serialized. + + The value. + The representation. + The type of the value. + The value + + + + Converts a value from one type to another using the $convert aggregation operator. + + The type of the input value. + The type of the output value. + The value to convert. + The conversion options. + The converted value. + Not all conversions are supported by the $convert operator. + + + + Converts a string to a DateTime using the $dateFromString aggregation operator. + + The string. + A DateTime. + + + + Converts a string to a DateTime using the $dateFromString aggregation operator. + + The string. + The format string. + A DateTime. + + + + Converts a string to a DateTime using the $dateFromString aggregation operator. + + The string. + The format string. + The time zone. + A DateTime. + + + + Converts a string to a DateTime using the $dateFromString aggregation operator. + + The string. + The format string. + The time zone. + The onError value. + The onNull value. + A DateTime. + + + + Tests whether a field exists. + + The type of the field. + The field. + true if the field exists. + + + + Gets the value of a field in a document. + + The type of the document. + The type of the field. + The document. + The field name. + The field serializer. + The value of the field. + + + + Tests whether a field is missing. + + The type of the field. + The field. + true if the field is missing. + + + + Tests whether a field is null or missing. + + The type of the field. + The field. + true if the field is null or missing. + + + + Transforms a real-valued input into a value between 0 and 1 using the $sigmoid operator. + + The input value. + The transformed value. + + + + Represents the void input data type to a pipeline with no input, such as a database aggregation. No actual instances of this type can be created. + + + + + The serializer for NoPipelineInput. + + + + + Gets the instance. + + The instance. + + + + + + + + + + + + + + + + + + + + + + Evidence of a MongoIdentity via a shared secret. + + + + + Initializes a new instance of the class. + Less secure when used in conjunction with SCRAM-SHA-256, due to the need to store the password in a managed + string in order to SaslPrep it. + See Driver Authentication: SCRAM-SHA-256 + for additional details. + + The password. + + + + Initializes a new instance of the class. + + The password. + + + + Gets the password. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns password as decoded string + + + + + A rendered pipeline. + + The type of the output. + + + + Initializes a new instance of the class. + + The pipeline. + The output serializer. + + + + Gets the documents. + + + + + Gets the serializer. + + + + + Base class for a pipeline. + + The type of the input. + The type of the output. + + + + Gets the output serializer. + + + + + Gets the stages. + + + + + Renders the pipeline. + + The render arguments. + A + + + + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + The translation options. + + A that represents this instance. + + + + + Creates a pipeline. + + The stages. + The output serializer. + A . + + + + Creates a pipeline. + + The stages. + The output serializer. + A . + + + + Creates a pipeline. + + The stages. + The output serializer. + A . + + + + Creates a pipeline. + + The stages. + A . + + + + Creates a pipeline. + + The stages. + A . + + + + Performs an implicit conversion from [] to . + + The stages. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The stages. + + The result of the conversion. + + + + + Performs an implicit conversion from [] to . + + The stages. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The stages. + + The result of the conversion. + + + + + A pipeline composed of instances of . + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The stages. + The output serializer. + + + + + + + Gets the stages. + + + + + + + + + + + A pipeline composed of instances of . + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The stages. + The output serializer. + + + + + + + Gets the serializer. + + + + + Gets the stages. + + + + + + + + + + + + + + Extension methods for adding stages to a pipeline. + + + + + Appends a stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The stage. + The output serializer. + A new pipeline with an additional stage. + + + + Changes the output type of the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The output serializer. + A new pipeline with an additional stage. + + + + Appends a $bucket stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The pipeline. + The group by expression. + The boundaries. + The options. + A new pipeline with an additional stage. + + + + Appends a $bucket stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The type of the output documents. + The pipeline. + The group by expression. + The boundaries. + The output projection. + The options. + A new pipeline with an additional stage. + + + + Appends a $bucket stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The pipeline. + The group by expression. + The boundaries. + The options. + A new pipeline with an additional stage. + + + + Appends a $bucket stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The type of the output documents. + The pipeline. + The group by expression. + The boundaries. + The output projection. + The options. + A new pipeline with an additional stage. + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The pipeline. + The group by expression. + The number of buckets. + The options. + A new pipeline with an additional stage. + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The type of the output documents. + The pipeline. + The group by expression. + The number of buckets. + The output projection. + The options. + A new pipeline with an additional stage. + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the value. + The pipeline. + The group by expression. + The number of buckets. + The options (optional). + A new pipeline with an additional stage. + + + + Appends a $bucketAuto stage to the pipeline (this overload can only be used with LINQ3). + + The type of the input documents. + The type of the intermediate documents. + The type of the value. + The type of the output documents. + The pipeline. + The group by expression. + The number of buckets. + The output projection. + The options (optional). + A new pipeline with an additional stage. + + + + Appends a $changeStream stage to the pipeline. + Normally you would prefer to use the Watch method of . + Only use this method if subsequent stages project away the resume token (the _id) + or you don't want the resulting cursor to automatically resume. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The options. + A new pipeline with an additional stage. + + + + Appends a $changeStreamSplitLargeEvent stage. + + The type of the input documents. + The pipeline. + A new pipeline with an additional stage. + + + + Appends a $count stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + A new pipeline with an additional stage. + + + + Appends a $densify stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The field. + The range. + The partition by fields. + A new pipeline with an additional stage. + + + + Appends a $densify stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The field. + The range. + The partition by fields. + A new pipeline with an additional stage. + + + + Appends a $densify stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The field. + The range. + The partition by fields. + A new pipeline with an additional stage. + + + + Appends a $densify stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The field. + The range. + The partition by fields. + A new pipeline with an additional stage. + + + + Appends a $documents stage to the pipeline. + + The type of the documents. + The pipeline. + The documents. + The document serializer. + A new pipeline with an additional stage. + + + + Appends a $documents stage to the pipeline. + + The type of the documents. + The pipeline. + The documents. + The document serializer. + A new pipeline with an additional stage. + + + + Appends a $facet stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The facets. + The options. + A new pipeline with an additional stage. + + + + Appends a $facet stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The facets. + A new pipeline with an additional stage. + + + + Appends a $facet stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The facets. + A new pipeline with an additional stage. + + + + Appends a $facet stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The facets. + A new pipeline with an additional stage. + + + + Used to start creating a pipeline for {TInput} documents. + + The type of the output. + The inputSerializer serializer. + An empty pipeline. + + + + Appends a $geoNear stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The type of the coordinates for the point. + The pipeline. + The point for which to find the closest documents. + The options. + A new pipeline with an additional stage. + + + + Appends a $geoNear stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The point for which to find the closest documents. + The options. + A new pipeline with an additional stage. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + A new pipeline with an additional stage. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + A new pipeline with an additional stage. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + A new pipeline with an additional stage. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + A new pipeline with an additional stage. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + A new pipeline with an additional stage. + + + + Appends a $group stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The group projection. + A new pipeline with an additional stage.s + + + + Appends a group stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The group projection. + A new pipeline with an additional stage. + + + + Appends a group stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the key. + The type of the output documents. + The pipeline. + The id. + The group projection. + A new pipeline with an additional stage. + + + + Appends a $limit stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The limit. + A new pipeline with an additional stage. + + + + Appends a $lookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the foreign collection documents. + The type of the output documents. + The pipeline. + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + A new pipeline with an additional stage. + + + + Appends a lookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the foreign collection documents. + The type of the output documents. + The pipeline. + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + A new pipeline with an additional stage. + + + + Appends a $lookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the foreign collection documents. + The type of the as field elements. + The type of the as field. + The type of the output documents. + The pipeline. + The foreign collection. + The "let" definition. + The lookup pipeline. + The as field in in which to place the results of the lookup pipeline. + The options. + A new pipeline with an additional stage. + + + + Appends a $lookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the foreign collection documents. + The type of the as field elements. + The type of the as field. + The type of the output documents. + The pipeline. + The foreign collection. + The "let" definition. + The lookup pipeline. + The as field in in which to place the results of the lookup pipeline. + The options. + A new pipeline with an additional stage. + + + + Appends a $match stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The filter. + A new pipeline with an additional stage. + + + + Appends a match stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The filter. + A new pipeline with an additional stage. + + + + Appends a $match stage to the pipeline to select documents of a certain type. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The output serializer. + A new pipeline with an additional stage.> + + + + + Appends a $merge stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The output collection. + The merge options. + A new pipeline with an additional stage. + + + + + Appends a $out stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The output collection. + The time series options. + A new pipeline with an additional stage. + + + + + Appends a $project stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The projection. + A new pipeline with an additional stage. + + + + + Appends a project stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The projection. + A new pipeline with an additional stage. + + + + Appends a project stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The projection. + A new pipeline with an additional stage. + + + + Appends a $rankFusion stage to the pipeline. + + The type of the documents. + The type of the output documents. + The type of the intermediate documents. + The pipeline. + The map of named pipelines whose results will be combined. The pipelines must operate on the same collection. + The map of pipeline names to non-negative numerical weights determining result importance during combination. Default weight is 1 when unspecified. + The rankFusion options. + A new pipeline with an additional stage. + + + + Appends a $rankFusion stage to the pipeline. Pipelines will be automatically named as "pipeline1", "pipeline2", etc. + + The type of the documents. + The type of the output documents. + The type of the intermediate documents. + The pipeline. + The collection of pipelines whose results will be combined. The pipelines must operate on the same collection. + The rankFusion options. + A new pipeline with an additional stage. + + + + Appends a $rankFusion stage to the pipeline. Pipelines will be automatically named as "pipeline1", "pipeline2", etc. + + The type of the documents. + The type of the output documents. + The type of the intermediate documents. + The pipeline. + The collection of tuples containing (pipeline, weight) pairs. The pipelines must operate on the same collection. + The rankFusion options. + A new pipeline with an additional stage. + + + + Appends a $replaceRoot stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The new root. + A new pipeline with an additional stage. + + + + Appends a $replaceRoot stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The new root. + A new pipeline with an additional stage. + + + + Appends a $replaceWith stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The new root. + A new pipeline with an additional stage. + + + + Appends a $replaceWith stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The new root. + A new pipeline with an additional stage. + + + + Appends a $sample stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The sample size. + + A new pipeline with an additional stage. + + + + + Appends a $search stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The search definition. + The highlight options. + The index name. + The count options. + + Flag that specifies whether to perform a full document lookup on the backend database + or return only stored source fields directly from Atlas Search. + + + Flag that specifies whether to return a detailed breakdown + of the score for each document in the result. + + A new pipeline with an additional stage. + + + + Appends a $search stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The search definition. + The search options. + A new pipeline with an additional stage. + + + + Appends a $searchMeta stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The search definition. + The index name. + The count options. + A new pipeline with an additional stage. + + + + Appends a $set stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The fields to set. + A new pipeline with an additional stage. + + + + Appends a $set stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The type of object specifying the fields to set. + The pipeline. + The fields to set. + A new pipeline with an additional stage. + + + + Create a $setWindowFields stage. + + The type of the input documents. + The type of the intermediate documents. + The type of the added window fields. + The pipeline. + The window fields expression. + A new pipeline with an additional stage. + + + + Appends a $setWindowFields stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the value to partition by. + The type of the added window fields. + The pipeline. + The partitionBy expression. + The window fields expression. + A new pipeline with an additional stage. + + + + Appends a $setWindowFields stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the value to partition by. + The type of the added window fields. + The pipeline. + The partitionBy expression. + The sortBy expression. + The window fields expression. + A new pipeline with an additional stage. + + + + Appends a $setWindowFields stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the value to partition by. + The type of the added window fields. + The pipeline. + The window fields expression. + A new pipeline with an additional stage. + + + + Appends a $setWindowFields stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the value to partition by. + The type of the added window fields. + The pipeline. + The partitionBy expression. + The window fields expression. + A new pipeline with an additional stage. + + + + Appends a $setWindowFields stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the value to partition by. + The type of the added window fields. + The pipeline. + The partitionBy expression. + The sortBy expression. + The window fields expression. + A new pipeline with an additional stage. + + + + Appends a $skip stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The number of documents to skip. + A new pipeline with an additional stage. + + + + Appends a $sort stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The sort definition. + A new pipeline with an additional stage. + + + + Appends a $sortByCount stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The pipeline. + The value expression. + A new pipeline with an additional stage. + + + + Appends a sortByCount stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The pipeline. + The value expression. + A new pipeline with an additional stage. + + + + Appends a $unionWith stage to the pipeline. + + The type of the input documents. + The type of the with collection documents. + The type of the output documents. + The pipeline. + The with collection. + The with pipeline. + A new pipeline with an additional stage. + + + + Appends an $unwind stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The field. + The options. + A new pipeline with an additional stage. + + + + Appends an unwind stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The field to unwind. + The options. + A new pipeline with an additional stage. + + + + Appends an unwind stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The field to unwind. + The options. + A new pipeline with an additional stage. + + + + Appends an unwind stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The field to unwind. + The options. + A new pipeline with an additional stage. + + + + Appends a $vectorSearch stage to the pipeline. + + The type of the input. + The type of the field. + The type of the output. + The pipeline. + The field. + The query vector. + The limit. + The vector search options. + A new pipeline with an additional stage. + + + + Appends a $vectorSearch stage to the pipeline. + + The type of the input. + The type of the output. + The pipeline. + The field. + The query vector. + The limit. + The vector search options. + A new pipeline with an additional stage. + + + + Represents a pipeline consisting of an existing pipeline with one additional stage appended. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + + + Initializes a new instance of the class. + + The pipeline. + The stage. + The output serializer. + + + + + + + + + + + + + Represents an empty pipeline. + + The type of the input documents. + + + + Initializes a new instance of the class. + + The output serializer. + + + + + + + + + + + + + Represents a pipeline consisting of an existing pipeline with one additional stage prepended. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + + + Initializes a new instance of the class. + + The stage. + The pipeline. + The output serializer. + + + + + + + + + + + + + Represents a pipeline with the output serializer replaced. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + + + + Initializes a new instance of the class. + + The pipeline. + The output serializer. + + + + + + + + + + + + + A rendered pipeline stage. + + + + + Gets the name of the pipeline operator. + + + The name of the pipeline operator. + + + + + Gets the document. + + + + + Gets the documents (usually one but could be more). + + + + + Gets the output serializer. + + + + + A rendered pipeline stage. + + The type of the output. + + + + Initializes a new instance of the class. + + Name of the pipeline operator. + The document. + The output serializer. + + + + Initializes a new instance of the class. + + Name of the pipeline operator. + The documents. + The output serializer. + + + + + + + + + + Gets the output serializer. + + + + + + + + + + + A pipeline stage. + + + + + Gets the type of the input. + + + + + Gets the name of the pipeline operator. + + + + + Gets the type of the output. + + + + + Renders the specified document serializer. + + The input serializer. + The serializer registry. + An + + + + Renders the specified document serializer. + + The input serializer. + The serializer registry. + The translation options. + An + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + + A that represents this instance. + + + + + Base class for pipeline stages. + + The type of the input. + The type of the output. + + + + Gets the type of the input. + + + + + + + + Gets the type of the output. + + + + + Renders the specified document serializer. + + The render arguments. + A + + + + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + The translation options. + + A that represents this instance. + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + + + + + + + A based stage. + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The document. + The output serializer. + + + + + + + + + + A JSON based pipeline stage. + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The json. + The output serializer. + + + + Gets the json. + + + + + + + + Gets the output serializer. + + + + + + + + Methods for building pipeline stages. + + + + + Creates a $bucket stage. + + The type of the input documents. + The type of the values. + The group by expression. + The boundaries. + The options. + The stage. + + + + Creates a $bucket stage. + + The type of the input documents. + The type of the values. + The type of the output documents. + The group by expression. + The boundaries. + The output projection. + The options. + The stage. + + + + Creates a $bucket stage. + + The type of the input documents. + The type of the values. + The group by expression. + The boundaries. + The options. + The stage. + + + + Creates a $bucket stage. + + The type of the input documents. + The type of the values. + The type of the output documents. + The group by expression. + The boundaries. + The output projection. + The options. + The stage. + + + + Creates a $bucketAuto stage. + + The type of the input documents. + The type of the values. + The group by expression. + The number of buckets. + The options. + The stage. + + + + Creates a $bucketAuto stage. + + The type of the input documents. + The type of the values. + The type of the output documents. + The group by expression. + The number of buckets. + The output projection. + The options. + The stage. + + + + Creates a $bucketAuto stage. + + The type of the input documents. + The type of the value. + The group by expression. + The number of buckets. + The options (optional). + The stage. + + + + Creates a $bucketAuto stage (this overload can only be used with LINQ3). + + The type of the input documents. + The type of the output documents. + The type of the output documents. + The group by expression. + The number of buckets. + The output projection. + The options (optional). + The stage. + + + + Creates a $changeStream stage. + Normally you would prefer to use the Watch method of . + Only use this method if subsequent stages project away the resume token (the _id) + or you don't want the resulting cursor to automatically resume. + + The type of the input documents. + The options. + The stage. + + + + Creates a $changeStreamSplitLargeEvent stage. + + The type of the input documents. + The stage. + + + + Creates a $count stage. + + The type of the input documents. + The stage. + + + + Creates a $densify stage. + + The type of the input documents. + The field. + The range. + The partition by fields. + The stage. + + + + Creates a $densify stage. + + The type of the input documents. + The field. + The range. + The partition by fields. + The stage. + + + + Creates a $densify stage. + + The type of the input documents. + The field. + The range. + The partition by fields. + The stage. + + + + Creates a $densify stage. + + The type of the input documents. + The field. + The range. + The partition by fields. + The stage. + + + + Creates a $documents stage. + + The type of the documents. + The documents. + The document serializer. + The stage. + + + + Creates a $documents stage. + + The type of the documents. + The documents. + The document serializer. + The stage. + + + + Creates a $facet stage. + + The type of the input documents. + The type of the output documents. + The facets. + The options. + The stage. + + + + Creates a $facet stage. + + The type of the input documents. + The facets. + The stage. + + + + Creates a $facet stage. + + The type of the input documents. + The facets. + The stage. + + + + Creates a $facet stage. + + The type of the input documents. + The type of the output documents. + The facets. + The stage. + + + + Creates a $geoNear stage. + + The type of the input documents. + The type of the output documents. + The type of the coordinates for the point. + The point for which to find the closest documents. + The options. + The stage. + + + + Creates a $geoNear stage. + + The type of the input documents. + The type of the output documents. + The point for which to find the closest documents. + The options. + The stage. + + + + Creates a $graphLookup stage. + + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The stage. + + + + Creates a $graphLookup stage. + + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The stage. + + + + Creates a $graphLookup stage. + + The type of the input documents. + The type of the from documents. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The fluent aggregate interface. + + + + Creates a $graphLookup stage. + + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The stage. + + + + Creates a $graphLookup stage. + + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The stage. + + + + Creates a $group stage. + + The type of the input documents. + The type of the output documents. + The group projection. + The stage. + + + + Creates a $group stage. + + The type of the input documents. + The group projection. + The stage. + + + + Creates a $group stage. + + The type of the input documents. + The type of the values. + The type of the output documents. + The value field. + The group projection. + The stage. + This method can only be used with LINQ2 but that can't be verified until Render is called. + + + + Creates a $limit stage. + + The type of the input documents. + The limit. + The stage. + + + + Creates a $lookup stage. + + The type of the input documents. + The type of the foreign collection documents. + The type of the output documents. + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + The stage. + + + + Creates a $lookup stage. + + The type of the input documents. + The type of the foreign collection documents. + The type of the output documents. + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + The stage. + + + + Creates a $lookup stage. + + The type of the input documents. + The type of the foreign collection documents. + The type of the as field elements. + The type of the as field. + The type of the output documents. + The foreign collection. + The "let" definition. + The lookup pipeline. + The as field in in which to place the results of the lookup pipeline. + The options. + The stage. + + + + Creates a $lookup stage. + + The type of the input documents. + The type of the foreign collection documents. + The type of the as field elements. + The type of the as field. + The type of the output documents. + The foreign collection. + The "let" definition. + The lookup pipeline. + The as field in in which to place the results of the lookup pipeline. + The options. + The stage. + + + + Creates a $match stage. + + The type of the input documents. + The filter. + The stage. + + + + Creates a $match stage. + + The type of the input documents. + The filter. + The stage. + + + + Creates a $merge stage. + + The type of the input documents. + The type of the output documents. + The output collection. + The merge options. + The stage. + + + + Create a $match stage that select documents of a sub type. + + The type of the input documents. + The type of the output documents. + The output serializer. + The stage. + + + + Creates a $out stage. + + The type of the input documents. + The output collection. + The time series options. + The stage. + + + + Creates a $project stage. + + The type of the input documents. + The type of the output documents. + The projection. + The stage. + + + + Creates a $project stage. + + The type of the input documents. + The projection. + The stage. + + + + Creates a $project stage. + + The type of the input documents. + The type of the output documents. + The projection. + The stage. + + + + Creates a $search stage. + + The type of the input documents. + The search definition. + The highlight options. + The index name. + The count options. + + Flag that specifies whether to perform a full document lookup on the backend database + or return only stored source fields directly from Atlas Search. + + + Flag that specifies whether to return a detailed breakdown + of the score for each document in the result. + + The stage. + + + + Creates a $search stage. + + The type of the input documents. + The search definition. + The search options. + The stage. + + + + Creates a $searchMeta stage. + + The type of the input documents. + The search definition. + The index name. + The count options. + The stage. + + + + Creates a $rankFusion stage. + + The type of the input documents. + The type of the output documents. + The map of named pipelines whose results will be combined. The pipelines must operate on the same collection. + The map of pipeline names to non-negative numerical weights determining result importance during combination. Default weight is 1 when unspecified. + The rankFusion options. + The stage. + + + + Creates a $rankFusion stage. Pipelines will be automatically named as "pipeline1", "pipeline2", etc. + + The type of the input documents. + The type of the output documents. + The collection of pipelines whose results will be combined. The pipelines must operate on the same collection. + The rankFusion options. + The stage. + + + + Creates a $rankFusion stage. Pipelines will be automatically named as "pipeline1", "pipeline2", etc. + + The type of the input documents. + The type of the output documents. + The collection of tuples containing (pipeline, weight) pairs. The pipelines must operate on the same collection. + The rankFusion options. + The stage. + + + + Creates a $replaceRoot stage. + + The type of the input documents. + The type of the output documents. + The new root. + The stage. + + + + Creates a $replaceRoot stage. + + The type of the input documents. + The type of the output documents. + The new root. + The stage. + + + + Creates a $replaceWith stage. + + The type of the input documents. + The type of the output documents. + The new root. + The stage. + + + + Creates a $replaceWith stage. + + The type of the input documents. + The type of the output documents. + The new root. + The stage. + + + + Creates a $set stage. + + The type of the input documents. + The fields to set. + The stage. + + + + Creates a $set stage. + + The type of the input documents. + The type of object specifying the fields to set. + The fields to set. + The stage. + + + + Create a $setWindowFields stage. + + The type of the input documents. + The type of the added window fields. + The window fields expression. + The stage. + + + + Create a $setWindowFields stage. + + The type of the input documents. + The type of the value to partition by. + The type of the added window fields. + The partitionBy expression. + The window fields expression. + The stage. + + + + Create a $setWindowFields stage. + + The type of the input documents. + The type of the value to partition by. + The type of the added window fields. + The partitionBy expression. + The sortBy expression. + The window fields expression. + The stage. + + + + Create a $setWindowFields stage. + + The type of the input documents. + The type of the added window fields. + The window fields expression. + The stage. + + + + Create a $setWindowFields stage. + + The type of the input documents. + The type of the value to partition by. + The type of the added window fields. + The partitionBy expression. + The window fields expression. + The stage. + + + + Create a $setWindowFields stage. + + The type of the input documents. + The type of the value to partition by. + The type of the added window fields. + The partitionBy expression. + The sortBy expression. + The window fields expression. + The stage. + + + + Creates a $skip stage. + + The type of the input documents. + The skip. + The stage. + + + + Creates a $sort stage. + + The type of the input documents. + The sort. + The stage. + + + + Creates a $sample stage. + + The type of the input documents. + The size. + The stage. + + + + Creates a $sortByCount stage. + + The type of the input documents. + The type of the values. + The value expression. + The stage. + + + + Creates a $sortByCount stage. + + The type of the input documents. + The type of the values. + The value. + The stage. + + + + Creates a $unionWith stage. + + The type of the input documents. + The type of the with collection documents. + The with collection. + The with pipeline. + The stage. + + + + Creates an $unwind stage. + + The type of the input documents. + The type of the output documents. + The field. + The options. + The stage. + + + + Creates an $unwind stage. + + The type of the input documents. + The field to unwind. + The options. + The stage. + + + + Creates an $unwind stage. + + The type of the input documents. + The field to unwind. + The options. + The stage. + + + + Creates an $unwind stage. + + The type of the input documents. + The type of the output documents. + The field to unwind. + The options. + The stage. + + + + Creates a $vectorSearch stage. + + The type of the input documents. + The type of the field. + The field. + The query vector. + The limit. + The options. + The stage. + + + + Creates a $vectorSearch stage. + + The type of the input documents. + The field. + The query vector. + The limit. + The options. + The stage. + + + + A rendered projection. + + The type of the projection. + + + + Initializes a new instance of the class. + + The document. + The projection serializer. + + + + Gets the document. + + + + + Gets the serializer. + + + + + Base class for projections whose projection type is not yet known. + + The type of the source. + + + + Renders the projection to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Base class for projections. + + The type of the source. + The type of the projection. + + + + Renders the projection to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The projection. + + The result of the conversion. + + + + + A based projection whose projection type is not yet known. + + The type of the source. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + + + + A based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The document. + The projection serializer. + + + + Gets the document. + + + + + Gets the projection serializer. + + + + + + + + A find based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + + + + A JSON based projection whose projection type is not yet known. + + The type of the source. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + + + + A JSON based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The json. + The projection serializer. + + + + Gets the json. + + + + + Gets the projection serializer. + + + + + + + + An based projection whose projection type is not yet known. + + The type of the source. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + + + + An based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The object. + The projection serializer. + + + + Gets the object. + + + + + Gets the projection serializer. + + + + + + + + A client side only projection that is implemented solely by deserializing using a different serializer. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The projection serializer. + + + + Gets the result serializer. + + + The result serializer. + + + + + + + + Extension methods for projections. + + + + + Combines an existing projection with a projection that filters the contents of an array. + + The type of the document. + The type of the item. + The projection. + The field. + The filter. + + A combined projection. + + + + + Combines an existing projection with a projection that filters the contents of an array. + + The type of the document. + The type of the item. + The projection. + The field. + The filter. + + A combined projection. + + + + + Combines an existing projection with a projection that filters the contents of an array. + + The type of the document. + The type of the item. + The projection. + The field. + The filter. + + A combined projection. + + + + + Combines an existing projection with a projection that excludes a field. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a projection that excludes a field. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a projection that includes a field. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a projection that includes a field. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a meta projection. + + The type of the document. + The projection. + The field. + The meta field name. + + A combined projection. + + + + + Combines an existing projection with a meta score projection. This projection will retrieve any kind of score metadata i.e. + searchScore, VectorSearchScore or textScore. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a meta score projection. This projection will retrieve any kind of score metadata i.e. + searchScore, VectorSearchScore or textScore. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a meta score details projection. This projection will retrieve any kind of scoreDetails metadata i.e. + searchScoreDetails. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a meta score details projection. This projection will retrieve any kind of scoreDetails metadata i.e. + searchScoreDetails. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search highlights projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search highlights projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search score projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search score projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search score details projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search score details projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search sequence token projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search sequence token projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a text score projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a text score projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a VectorSearch score projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a VectorSearch score projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search metadata projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search metadata projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with an array slice projection. + + The type of the document. + The projection. + The field. + The limit. + + A combined projection. + + + + + Combines an existing projection with an array slice projection. + + The type of the document. + The projection. + The field. + The skip. + The limit. + + A combined projection. + + + + + Combines an existing projection with an array slice projection. + + The type of the document. + The projection. + The field. + The limit. + + A combined projection. + + + + + Combines an existing projection with an array slice projection. + + The type of the document. + The projection. + The field. + The skip. + The limit. + + A combined projection. + + + + + A builder for a projection. + + The type of the source. + + + + Creates a client side projection that is implemented solely by using a different serializer. + + The type of the projection. + The projection serializer. + A client side deserialization projection. + + + + Combines the specified projections. + + The projections. + + A combined projection. + + + + + Combines the specified projections. + + The projections. + + A combined projection. + + + + + Creates a projection that filters the contents of an array. + + The type of the item. + The field. + The filter. + + An array filtering projection. + + + + + Creates a projection that filters the contents of an array. + + The type of the item. + The field. + The filter. + + An array filtering projection. + + + + + Creates a projection that filters the contents of an array. + + The type of the item. + The field. + The filter. + + An array filtering projection. + + + + + Creates a projection that excludes a field. + + The field. + + An exclusion projection. + + + + + Creates a projection that excludes a field. + + The field. + + An exclusion projection. + + + + + Creates a projection based on the expression. + + The type of the result. + The expression. + + An expression projection. + + + + + Creates a projection that includes a field. + + The field. + + An inclusion projection. + + + + + Creates a projection that includes a field. + + The field. + + An inclusion projection. + + + + + Creates a meta projection. + + The field. + The meta field name. + + A meta projection. + + + + + Creates a meta score projection. This projection will retrieve any kind of score metadata i.e. + searchScore, VectorSearchScore or textScore. + + The field. + + A meta score projection. + + + + + Creates a meta score projection. This projection will retrieve any kind of score metadata i.e. + searchScore, VectorSearchScore or textScore. + + The field. + + A meta score projection. + + + + + Creates a meta score details projection. This projection will retrieve any kind of scoreDetails metadata i.e. + searchScoreDetails. + + The field. + + A meta score details projection. + + + + + Creates a meta score details projection. This projection will retrieve any kind of scoreDetails metadata i.e. + searchScoreDetails. + + The field. + + A meta score details projection. + + + + + Creates a search highlights projection. + + The field. + + A search highlights projection. + + + + + Creates a search highlights projection. + + The field. + + A search highlights projection. + + + + + Creates a search score projection. + + The field. + + A search score projection. + + + + + Creates a search score projection. + + The field. + + A search score projection. + + + + + Creates a search score details projection. + + The field. + + A search score details projection. + + + + + Creates a search score details projection. + + The field. + + A search score details projection. + + + + + Creates a search sequence token projection. + + The field. + + A search sequence token projection. + + + + + Creates a search sequence token projection. + + The field. + + A search sequence token projection. + + + + + Creates a text score projection. + + The field. + + A text score projection. + + + + + Creates a text score projection. + + The field. + + A text score projection. + + + + + Creates a VectorSearch score projection. + + The field. + + A VectorSearch score projection. + + + + + Creates a VectorSearch score projection. + + The field. + + A VectorSearch score projection. + + + + + Creates a search metadata projection. + + The field. + + A search metadata projection. + + + + + Creates a search metadata projection. + + The field. + + A search metadata projection. + + + + + Creates an array slice projection. + + The field. + The limit. + + An array slice projection. + + + + + Creates an array slice projection. + + The field. + The skip. + The limit. + + An array slice projection. + + + + + Creates an array slice projection. + + The field. + The limit. + + An array slice projection. + + + + + Creates an array slice projection. + + The field. + The skip. + The limit. + + An array slice projection. + + + + + Vector search query vector. + + + + + Gets the underlying bson value representing the vector. + Possible values are or encoding + + + + + Initializes a new instance of the class. + + The bson binary data. + + + + Initializes a new instance of the class. + + The memory. + + + + Initializes a new instance of the class. + + The memory. + + + + Initializes a new instance of the class. + + The memory. + + + + Performs an implicit conversion from [] to . + + The array. + + The result of the conversion. + + + + + Performs an implicit conversion from a of to . + + The readOnlyMemory. + + The result of the conversion. + + + + + Performs an implicit conversion from [] to . + + The array. + + The result of the conversion. + + + + + Performs an implicit conversion from a of to . + + The readOnlyMemory. + + The result of the conversion. + + + + + Performs an implicit conversion from [] to . + + The array. + + The result of the conversion. + + + + + Performs an implicit conversion from a of to . + + The readOnlyMemory. + + The result of the conversion. + + + + + Performs an implicit conversion from a of to . + + The binary vector int8. + + The result of the conversion. + + + + + Performs an implicit conversion from a of to . + + The binary vector float32. + + The result of the conversion. + + + + + Performs an implicit conversion from a of to . + + The binary vector packed bit. + + The result of the conversion. + + + + + Represents a range window for a SetWindowFields window method. + + + + + Returns a "current" range window boundary. + + + + + Returns an "unbounded" range window boundary. + + + + + Creates a range window. + + The type of the boundary conditions. + The lower boundary. + The upper boundary. + A range window. + + + + Creates a range window. + + The type of the lower boundary condition. + The lower boundary. + The upper boundary. + A range window. + + + + Creates a range window. + + The type of the upper boundary condition. + The lower boundary. + The upper boundary. + A range window. + + + + Creates a range window. + + The lower boundary. + The upper boundary. + A range window. + + + + Creates a range window. + + The lower boundary. + The upper boundary. + A range window. + + + + Creates a range window. + + The lower boundary. + The upper boundary. + A range window. + + + + Creates a range window. + + The lower boundary. + The upper boundary. + A range window. + + + + Returns a time range in days. + + The value. + A time range. + + + + Returns a time range in hours. + + The value. + A time range. + + + + Returns a time range in milliseconds. + + The value. + A time range. + + + + Returns a time range in minutes. + + The value. + A time range. + + + + Returns a time range in months. + + The value. + A time range. + + + + Returns a time range in quarters. + + The value. + A time range. + + + + Returns a time range in seconds. + + The value. + A time range. + + + + Returns a time range in weeks. + + The value. + A time range. + + + + Returns a time range in years. + + The value. + A time range. + + + + Initializes an instance of RangeWindow. + + The lower boundary. + The upper boundary. + + + + The lower boundary. + + + + + The upper boundary. + + + + + + + + Represents a boundary for a range window in SetWindowFields. + + + + + Represents a keyword boundary for a range window in SetWindowFields (i.e. "unbounded" or "current"). + + + + + The keyword. + + + + + + + + Represents a value boundary for a document window in SetWindowFields. + + + + + Represents a value boundary for a range window in SetWindowFields. + + The type of the range window boundary. + + + + Initializes a new instance of ValueRangeWindowBoundary. + + The value. + + + + The value. + + + + + + + + Represents a time boundary for a range window in SetWindowFields. + + + + + The unit. + + + + + The value. + + + + + + + + Represents options for the $rankFusion stage. + + The type of the output documents. + + + + Gets or sets the output serializer. + + + + + Flag that specifies whether to make a detailed breakdown of the score for each document available as metadata. + Setting this to true adds score information accessible via $meta, which can then be optionally projected in results. + + + + + Options for renaming a collection. + + + + + Gets or sets a value indicating whether to drop the target collection first if it already exists. + + + + + Gets or sets the operation timeout. + + + + + Encapsulates settings needed for path rendering. + + + + + Encapsulates settings needed for path rendering. + + + + + Encapsulates settings needed for rendering Builder definitions. + + The type of the document. + + + + Initializes a new instance of the record. + + The document serializer. + The serializer registry. + The path render arguments. + Value that specifies whether full dollar for should be rendered. + Value that specifies whether rendering a find operation. + Value that specifies whether rendering an $elemMatch. + The translation options. + + + + Gets the document serializer. + + + + + Gets the value indicating whether Render is being called for ElemMatch. + + + + + Gets the value indicating whether Render is being called for Find. + + + + + Gets the path render arguments. + + + + + Gets the value indicating whether full dollar form should be rendered. + + + + + Gets the serializer registry. + + + + + Gets the translation options used when translation Expressions to MQL. + + + + + Returns if it implements IBsonSerializer{T} + or resolves IBsonSerializer{T} from . + + + + + Creates a new RenderArgs with new document type {TNewDocument} + + The new serializer. + + A new RenderArgs{TNewDocument} instance. + + + + + Model for replacing a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + The replacement. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets the hint. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets the replacement. + + + + + Gets or sets the sort definition. + + + + + Gets the type of the model. + + + + + The result of an update operation. + + + + + Gets a value indicating whether the result is acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + The available modified count. + + + + + Gets the matched count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the modified count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the upserted id, if one exists. If IsAcknowledged is false, this will throw an exception. + + + + + Initializes a new instance of the class. + + + + + The result of an acknowledged update operation. + + + + + Initializes a new instance of the class. + + The matched count. + The modified count. + The upserted id. + + + + + + + + + + + + + + + + + + + The result of an unacknowledged update operation. + + + + + Gets the instance. + + + + + + + + + + + + + + + + + + + + Options for replacing a single document. + + + + + Creates a new ReplaceOptions from an UpdateOptions. + + The update options. + A ReplaceOptions. + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets or sets the let document. + + + + + Gets or sets the operation timeout. + + + + + Options for replacing a single document and specifying a sort order. + + + + + Gets or sets the sort definition. + + + + + Which version of the document to return when executing a FindAndModify command. + + + + + Return the document before the modification. + + + + + Return the document after the modification. + + + + + A builder for compound search definitions. + + The type of the document. + + + + Initializes a new instance of the class. + + + + + + Adds clauses which must match to produce results. + + The clauses. + The compound search definition builder. + + + + Adds clauses which must match to produce results. + + The clauses. + The compound search definition builder. + + + + Adds clauses which must not match for a document to be included in the + results. + + The clauses. + The compound search definition builder. + + + + Adds clauses which must not match for a document to be included in the + results. + + The clauses. + The compound search definition builder. + + + + Adds clauses which cause documents in the result set to be scored higher if + they match. + + The clauses. + The compound search definition builder. + + + + Adds clauses which cause documents in the result set to be scored higher if + they match. + + The clauses. + The compound search definition builder. + + + + Adds clauses which must all match for a document to be included in the + results. + + The clauses. + The compound search definition builder. + + + + Adds clauses which must all match for a document to be included in the + results. + + The clauses. + The compound search definition builder. + + + + Sets a value specifying the minimum number of should clauses the must match + to include a document in the results. + + The value to set. + The compound search definition builder. + + + + Constructs a search definition from the builder. + + A compound search definition. + + + + Performs an implicit conversion from a + to a . + + The compound search definition builder. + The result of the conversion. + + + + The relation of the query shape geometry to the indexed field geometry in a + geo shape search definition. + + + + + Indicates that the indexed geometry contains the query geometry. + + + + + Indicates that both the query and indexed geometries have nothing in common. + + + + + Indicates that both the query and indexed geometries intersect. + + + + + Indicates that the indexed geometry is within the query geometry. + + + + + Base class for area argument for GeoWithin queries. + + The type of the coordinates. + + + + Object that specifies the bottom left and top right GeoJSON points of a box to + search within. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The bottom left GeoJSON point. + The top right GeoJSON point. + + + Gets the bottom left GeoJSON point. + + + Gets the top right GeoJSON point. + + + + Object that specifies the center point and the radius in meters to search within. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + Center of the circle specified as a GeoJSON point. + Radius specified in meters. + + + Gets the center of the circle specified as a GeoJSON point. + + + Gets the radius specified in meters. + + + + Object that specifies the GeoJson geometry to search within. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + GeoJSON object specifying the MultiPolygon or Polygon. + + + Gets the GeoJson geometry. + + + + An interface representing methods used to create, delete and modify search indexes. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + An of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + A Task whose result is an of the names of the indexes that were created. + + + + + Creates a search index. + + The index definition. + The index name. + The cancellation token. + + The name of the index that was created. + + + + + Creates a search index. + + The model defining the index. + The cancellation token. + + The name of the index that was created. + + + + + Creates a search index. + + The index definition. + The index name. + The cancellation token. + + The name of the index that was created. + + + + + Creates a search index. + + The model defining the index. + The cancellation token. + + A Task whose result is the name of the index that was created. + + + + + Drops an index by its name. + + The index name. + The cancellation token. + + + + Drops an index by its name. + + The index name. + The cancellation token. + A Task. + + + + Lists the search indexes. + + Name of the index. + The aggregate options. + The cancellation token. + + A cursor. + + + + + Lists the search indexes. + + Name of the index. + The aggregate options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Update the search index. + + Name of the index. + The definition. + The cancellation token. + + + + Update the search index. + + Name of the index. + The definition. + The cancellation token. + A Task. + + + + Represents the criteria used to match terms in a query for the Atlas Search Text operator. + + + + + Match documents containing any of the terms from a query. + + + + + Match documents containing all the terms from a query. + + + + + Represents the scoreDetails object for a document from a $rankFusion result. + + + + + Initializes a new instance of the class. + + The computed score which is the same as the score available via {$meta: "score"}. + Description of how the score was computed. + Info about how each input pipeline in the rankFusion stage contributed to the computed score. + + + + + Gets the computed score which is the same as the score available via {$meta: "score"}. + + + + + Gets the description of how the score was computed. + + + + + Gets info about how each input pipeline in the rankFusion stage contributed to the computed score. + + + + + The order in which to search for tokens in an autocomplete search definition. + + + + + Indicates that tokens in the query can appear in any order in the documents. + + + + + Indicates that tokens in the query must appear adjacent to each other or in the order + specified in the query in the documents. + + + + + Options for counting the search results. + + + + + Gets or sets the number of documents to include in the exact count if + is . + + + + + Gets or sets the type of count of the documents in the result set. + + + + + The type of count of the documents in a search result set. + + + + + A lower bound count of the number of documents that match the query. + + + + + An exact count of the number of documents that match the query. + + + + + Base class for search definitions. + + The type of the document. + + + + Renders the search definition to a . + + The render arguments. + + A . + + + + + Performs an implicit conversion from a BSON document to a . + + The BSON document specifying the search definition. + + The result of the conversion. + + + + + Performs an implicit conversion from a string to a . + + The string specifying the search definition in JSON. + + The result of the conversion. + + + + + Extension methods for SearchDefinition. + + + + + Determines whether to use the configured serializers for the specified . + When set to true (the default value), the configured serializers will be used to serialize the values of certain Atlas Search operators, such as "Equals", "In" and "Range". + If set to false, then a default conversion will be used. + + The type of the document. + The search definition instance. + Whether to use the configured serializers or not. + The same instance with default serialization enabled. + + + + A search definition based on a BSON document. + + The type of the document. + + + + Initializes a new instance of the class. + + The BSON document specifying the search definition. + + + + Gets the BSON document. + + + + + + + + A search definition based on a JSON string. + + The type of the document. + + + + Initializes a new instance of the class. + + The JSON string specifying the search definition. + + + + Gets the JSON string. + + + + + + + + + + + A builder for a search definition. + + The type of the document. + + + + Creates a search definition that performs a search for a word or phrase that contains + a sequence of characters from an incomplete input string. + + The indexed field to search. + The query definition specifying the string or strings to search for. + The order in which to search for tokens. + The options for fuzzy search. + The score modifier. + An autocomplete search definition. + + + + Creates a search definition that performs a search for a word or phrase that contains + a sequence of characters from an incomplete search string. + + The type of the field. + The indexed field to search. + The query definition specifying the string or strings to search for. + The order in which to search for tokens. + The options for fuzzy search. + The score modifier. + An autocomplete search definition. + + + + Creates a builder for a compound search definition. + + The score modifier. + A compound search definition builder. + + + + Creates a search definition that performs a search for documents where + the specified query is satisfied from a single element + of an array of embedded documents specified by . + + The type of the field. + The indexed field to search. + The operator. + The score modifier. + + An embeddedDocument search definition. + + + + + Creates a search definition that performs a search for documents where + the specified query is satisfied from a single element + of an array of embedded documents specified by . + + The type of the field. + The indexed field to search. + The operator. + The score modifier. + + An embeddedDocument search definition. + + + + + Creates a search definition that queries for documents where an indexed field is equal + to the specified value. + Supported value types are null, boolean, numeric, ObjectId, Guid, date and string. + + The type of the field. + The indexed field to search. + The value to query for. + The score modifier. + An equality search definition. + + + + Creates a search definition that queries for documents where an indexed field is equal + to the specified value. + Supported value types are null, boolean, numeric, ObjectId, Guid, date and string. + + The type of the field. + The indexed field to search. + The value to query for. + The score modifier. + An equality search definition. + + + + Creates a search definition that queries for documents where at least one element in an indexed array field is equal + to the specified value. + Supported value types are boolean, numeric, ObjectId, date and string. + + The type of elements contained in the indexed array field. + The indexed array field to search. + The value to query for. + The score modifier. + An equality search definition. + + + + Creates a search definition that tests if a path to a specified indexed field name + exists in a document. + + The field to test for. + An existence search definition. + + + + Creates a search definition that tests if a path to a specified indexed field name + exists in a document. + + The type of the field. + The field to test for. + An existence search definition. + + + + Creates a search definition that groups results by values or ranges in the specified + faceted fields and returns the count for each of those groups. + + The operator to use to perform the facet over. + Information for bucketing the data for each facet. + A facet search definition. + + + + Creates a search definition that groups results by values or ranges in the specified + faceted fields and returns the count for each of those groups. + + The operator to use to perform the facet over. + Information for bucketing the data for each facet. + A facet search definition. + + + + Creates a search definition that queries for shapes with a given geometry. + + The type of the coordinates. + Indexed geo type field or fields to search. + + GeoJSON object specifying the Polygon, MultiPolygon, or LineString shape or point + to search. + + Relation of the query shape geometry to the indexed field geometry. + The score modifier. + A geo shape search definition. + + + + Creates a search definition that queries for shapes with a given geometry. + + The type of the coordinates. + The type of the field. + Indexed geo type field or fields to search. + + GeoJSON object specifying the Polygon, MultiPolygon, or LineString shape or point + to search. + + Relation of the query shape geometry to the indexed field geometry. + The score modifier. + A geo shape search definition. + + + + Creates a search definition that queries for geographic points within a given + geometry. + + The type of the coordinates. + Indexed geo type field or fields to search. + + GeoJSON object specifying the MultiPolygon or Polygon to search within. + + The score modifier. + A geo within search definition. + + + + Creates a search definition that queries for geographic points within a given + geometry. + + The type of the coordinates. + The type of the field. + Indexed geo type field or fields to search. + + GeoJSON object specifying the MultiPolygon or Polygon to search within. + + The score modifier. + A geo within search definition. + + + + Creates a search definition that queries for geographic points within a given geo object. + + The type of the coordinates. + The type of the field. + Indexed geo type field or fields to search. + Object that specifies the area to search within. + The score modifier. + A geo within search definition. + + + + Creates a search definition that queries for geographic points within a given geo object. + + The type of the coordinates. + Indexed geo type field or fields to search. + Object that specifies the area to search within. + The score modifier. + A geo within search definition. + + + + Creates a search definition that queries for documents where the value of the field equals to any of specified values. + + The type of the field. Valid types are: boolean, ObjectId, Guid, number, date, string. + The indexed field or fields to search. + Values to compare the field with. + The score modifier. + An In search definition. + + + + Creates a search definition that queries for documents where the value of the field equals to any of specified values. + + The type of the field. Valid types are: boolean, ObjectId, Guid, number, date, string, arrays. + The indexed field or fields to search. + Values to compare the field with. + The score modifier. + An In search definition. + + + + Creates a search definition that queries for documents where the value of the field equals to any of specified values. + + The type of the field. Valid types are: boolean, ObjectId, Guid, number, date, string, arrays. + The indexed field or fields to search. + Values to compare the field with. + The score modifier. + An In search definition. + + + + Creates a search definition that returns documents similar to the input documents. + + The type of the like documents. + + One or more documents that Atlas Search uses to extract representative terms for. + + A more like this search definition. + + + + Creates a search definition that returns documents similar to the input documents. + + The type of the like documents. + + One or more documents that Atlas Search uses to extract representative terms for. + + A more like this search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The type of the field. + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The type of the field. + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The type of the field. + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The type of the field. + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The type of the coordinates. + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The type of the coordinates + The type of the fields. + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to user to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that performs search for documents containing an ordered + sequence of terms. + + The indexed field or fields to search. + The string or strings to search for. + The allowable distance between words in the query phrase. + The score modifier. + A phrase search definition. + + + + Creates a search definition that performs search for documents containing an ordered + sequence of terms. + + The indexed field or fields to search. + The string or strings to search for. + The options. + A phrase search definition. + + + + Creates a search definition that performs search for documents containing an ordered + sequence of terms. + + The type of the field. + The indexed field or fields to search. + The string or strings to search for. + The allowable distance between words in the query phrase. + The score modifier. + A phrase search definition. + + + + Creates a search definition that performs search for documents containing an ordered + sequence of terms. + + The type of the field. + The indexed field or fields to search. + The string or strings to search for. + The options. + A phrase search definition. + + + + Creates a search definition that queries a combination of indexed fields and values. + + The indexed field to search by default. + One or more indexed fields and values to search. + The score modifier. + A query string search definition. + + + + Creates a search definition that queries a combination of indexed fields and values. + + The type of the field. + The indexed field to search by default. + One or more indexed fields and values to search. + The score modifier. + A query string search definition. + + + + Creates a search definition that queries for documents where a field is in the specified range. + + The type of the field. + The indexed field or fields to search. + The field range. + The score modifier. + A range search definition. + + + + Creates a search definition that queries for documents where a field is in the specified range. + + The type of the field. + The indexed field or fields to search. + The field range. + The score modifier. + A range search definition. + + + + Creates a search definition that queries for documents where a field is in the specified range. + + The type of the field. + The indexed field or fields to search. + The field range. + The score modifier. + A range search definition. + + + + Creates a search definition that queries for documents where a field is in the specified range. + + The type of the field. + The indexed field or fields to search. + The field range. + The score modifier. + A range search definition. + + + + Creates a search definition that queries for documents where a field is in the specified range. + + The type of the field. + The indexed field or fields to search. + The field range. + The score modifier. + A range search definition. + + + + Creates a search definition that queries for documents where a field is in the specified range. + + The type of the field. + The indexed field or fields to search. + The field range. + The score modifier. + A range search definition. + + + + Creates a search definition that interprets the query as a regular expression. + + The indexed field or fields to search. + The string or strings to search for. + + Must be set to true if the query is run against an analyzed field. + + The score modifier. + A regular expression search definition. + + + + Creates a search definition that interprets the query as a regular expression. + + The type of the field. + The indexed field or fields to search. + The string or strings to search for. + + Must be set to true if the query is run against an analyzed field. + + The score modifier. + A regular expression search definition. + + + + Creates a search definition that finds text search matches within regions of a text + field. + + The span clause. + A span search definition. + + + + Creates a search definition that performs full-text search using the analyzer specified + in the index configuration. + + The indexed field or fields to search. + The string or strings to search for. + The options. + A text search definition. + + + + Creates a search definition that performs full-text search using the analyzer specified + in the index configuration. + + The indexed field or fields to search. + The string or strings to search for. + The options for fuzzy search. + The score modifier. + A text search definition. + + + + Creates a search definition that performs full-text search with synonyms using the analyzer specified + in the index configuration. + + The indexed field or fields to search. + The string or strings to search for. + The name of the synonym mapping definition in the index definition + The score modifier. + A text search definition. + + + + Creates a search definition that performs full-text search using the analyzer specified + in the index configuration. + + The type of the field. + The indexed field or field to search. + The string or strings to search for. + The options. + A text search definition. + + + + Creates a search definition that performs full-text search using the analyzer specified + in the index configuration. + + The type of the field. + The indexed field or field to search. + The string or strings to search for. + The options for fuzzy search. + The score modifier. + A text search definition. + + + + Creates a search definition that performs full-text search with synonyms using the analyzer specified + in the index configuration. + + The type of the field. + The indexed field or field to search. + The string or strings to search for. + The name of the synonym mapping definition in the index definition + The score modifier. + A text search definition. + + + + Creates a search definition that uses special characters in the search string that can + match any character. + + The indexed field or fields to search. + The string or strings to search for. + + Must be set to true if the query is run against an analyzed field. + + The score modifier. + A wildcard search definition. + + + + Creates a search definition that uses special characters in the search string that can + match any character. + + The type of the field. + The indexed field or fields to search. + The string or strings to search for. + + Must be set to true if the query is run against an analyzed field. + + The score modifier. + A wildcard search definition. + + + + Base class for search facets. + + The type of the document. + + + + Initializes a new instance of the class. + + The name of the facet. + + + + Gets the name of the facet. + + + + + Renders the search facet to a . + + The render arguments. + A . + + + + A builder for a search facet. + + The type of the document. + + + + Creates a facet that narrows down search result based on a date. + + The name of the fact. + The field path to facet on. + + A list of date values that specify the boundaries for each bucket. + + + The name of an additional bucket that counts documents returned from the operator that + do not fall within the specified boundaries. + + A date search facet. + + + + Creates a facet that narrows down search result based on a date. + + The name of the fact. + The field path to facet on. + + A list of date values that specify the boundaries for each bucket. + + A date search facet. + + + + Creates a facet that narrows down search result based on a date. + + The type of the field. + The name of the fact. + The field path to facet on. + + A list of date values that specify the boundaries for each bucket. + + + The name of an additional bucket that counts documents returned from the operator that + do not fall within the specified boundaries. + + A date search facet. + + + + Creates a facet that narrows down search result based on a date. + + The type of the field. + The name of the fact. + The field path to facet on. + + A list of date values that specify the boundaries for each bucket. + + A date search facet. + + + + Creates a facet that determines the frequency of numeric values by breaking the search + results into separate ranges of numbers. + + The name of the facet. + The field path to facet on. + + A list of numeric values that specify the boundaries for each bucket. + + + The name of an additional bucket that counts documents returned from the operator that + do not fall within the specified boundaries. + + A number search facet. + + + + Creates a facet that determines the frequency of numeric values by breaking the search + results into separate ranges of numbers. + + The name of the facet. + The field path to facet on. + + A list of numeric values that specify the boundaries for each bucket. + + A number search facet. + + + + Creates a facet that determines the frequency of numeric values by breaking the search + results into separate ranges of numbers. + + The type of the field. + The name of the facet. + The field path to facet on. + + A list of numeric values that specify the boundaries for each bucket. + + + The name of an additional bucket that counts documents returned from the operator that + do not fall within the specified boundaries. + + A number search facet. + + + + Creates a facet that determines the frequency of numeric values by breaking the search + results into separate ranges of numbers. + + The type of the field. + The name of the facet. + The field path to facet on. + + A list of numeric values that specify the boundaries for each bucket. + + A number search facet. + + + + Creates a facet that narrows down Atlas Search results based on the most frequent + string values in the specified string field. + + The name of the facet. + The field path to facet on. + + The maximum number of facet categories to return in the results. + + A string search facet. + + + + Creates a facet that narrows down Atlas Search result based on the most frequent + string values in the specified string field. + + The type of the field. + The name of the facet. + The field path to facet on. + + The maximum number of facet categories to return in the results. + + A string search facet. + + + + Options for fuzzy search. + + + + + Gets or sets the maximum number of single-character edits required to match the + specified search term. + + + + + Gets or sets the number of variations to generate and search for. + + + + + Gets or sets the number of characters at the beginning of each term in the result that + must exactly match. + + + + + Represents a result of highlighting. + + + + + Initializes a new instance of the class. + + document field which returned a match. + Score assigned to this result. + Objects containing the matching text and the surrounding text. + + + + Gets the document field which returned a match. + + + + + Gets the score assigned to this result. + + + + + Gets one or more objects containing the matching text and the surrounding text + (if any). + + + + + Represents the matching text or the surrounding text of a highlighting result. + + + + + Initializes a new instance of the class. + + Type of search highlight. + Text from the field which returned a match. + + + + Gets or sets the type of text, matching or surrounding. + + + + + Gets the text from the field which returned a match. + + + + + Represents the type of text in a highlighting result, matching or surrounding. + + + + + Indicates that the text contains a match. + + + + + Indicates that the text contains the text content adjacent to a matching string. + + + + + Options for highlighting. + + The type of the document. + + + + Initializes a new instance of the class. + + The document field to search. + maximum number of characters to examine. + The number of high-scoring passages. + + + + Creates highlighting options. + + The document field to search. + + The maximum number of characters to examine on a document when performing highlighting + for a field. + + + The number of high-scoring passages to return per document in the highlighting results + for each field. + + Highlighting options. + + + + Gets or sets the maximum number of characters to examine on a document when performing + highlighting for a field. + + + + + Gets or sets the number of high-scoring passages to return per document in the + highlighting results for each field. + + + + + Gets or sets the document field to search. + + + + + Renders the options to a . + + The render arguments. + A . + + + + A search count result set. + + + + + Initializes a new instance of the class. + + Lower bound for this result set. + Total for this result set. + + + + Gets the lower bound for this result set. + + + + + Gets the total for this result set. + + + + + A search facet bucket result set. + + + + + Initializes a new instance of the class. + + count of documents in this facet bucket. + Unique identifier that identifies this facet bucket. + + + + Gets the count of documents in this facet bucket. + + + + + Gets the unique identifier that identifies this facet bucket. + + + + + A search facet result set. + + + + + Initializes a new instance of the class. + + An array of bucket result sets. + + + + Gets an array of bucket result sets. + + + + + A result set for a search metadata query. + + + + + Initializes a new instance of the class. + + Count result set. + Facet result sets. + + + + Gets the count result set. + + + + + Gets the facet result sets. + + + + + Options for search. + + The type of the document. + + + + Gets or sets the options for counting the search results. + + + + + Gets or sets the options for highlighting. + + + + + Gets or sets the index name. + + + + + Gets or sets a flag that specifies whether to perform a full document lookup on the backend database + or return only stored source fields directly from Atlas Search. + + + + + Gets or sets a flag that specifies whether to return a detailed breakdown + of the score for each document in the result. + + + + + Gets or sets the sort specification. + + + + + Gets or sets the options for tracking search terms. + + + + + Gets or sets the "after" reference point for pagination. + When set, the search retrieves documents starting immediately after the specified reference point. + + + + + Gets or sets the "before" reference point for pagination. + When set, the search retrieves documents starting immediately before the specified reference point. + + + + + Base class for search paths. + + The type of the document. + + + + Renders the path to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to + . + + The field. + + The result of the conversion. + + + + + Performs an implicit conversion from a field name to . + + The field name. + + The result of the conversion. + + + + + Performs an implicit conversion from an array of to + . + + The array of fields. + + The result of the conversion. + + + + + Performs an implicit conversion from a list of to + . + + The list of fields. + + The result of the conversion. + + + + + Performs an implicit conversion from an array of field names to + . + + The array of field names. + + The result of the conversion. + + + + + Performs an implicit conversion from an array of field names to + . + + The list of field names. + + The result of the conversion. + + + + + Renders the field. + + The field definition. + The render arguments. + The rendered field. + + + + A builder for a search path. + + The type of the document. + + + + Creates a search path that searches using the specified analyzer. + + The field definition + The name of the analyzer. + An analyzer search path. + + + + Creates a search path that searches using the specified analyzer. + + The type of the field. + The field definition + The name of the analyzer. + An analyzer search path. + + + + Creates a search path for multiple fields. + + The collection of field definitions. + A multi-field search path. + + + + Creates a search path for multiple fields. + + The array of field definitions. + A multi-field search path. + + + + Creates a search path for multiple fields. + + The type of the fields. + The array of field definitions. + A multi-field search path. + + + + Creates a search path for a single field. + + The field definition. + A single-field search path. + + + + Creates a search path for a single field. + + The type of the field. + The field definition. + A single-field search path. + + + + Creates a search path that uses special characters in the field name + that can match any character. + + + The wildcard string that the field name must match. + + A wildcard search path. + + + + Options for atlas search phrase operator. + + + + + The score modifier. + + + + + The allowable distance between words in the query phrase. + + + + + The name of the synonym mapping definition in the index definition. Value can't be an empty string (e.g. ""). + + + + + Base class for search queries. + + + + + Renders the query to a . + + A . + + + + Performs an implicit conversion from a string to . + + The string. + + The result of the conversion. + + + + + Performs an implicit conversion from an array of strings to . + + The array of strings. + + The result of the conversion. + + + + + Performs an implicit conversion from a list of strings to . + + The list of strings. + + The result of the conversion. + + + + + A query definition for a single string. + + + + + Initializes a new instance of the class. + + The query string. + + + + + + + A query definition for multiple strings. + + + + + Initializes a new instance of the class. + + The query strings. + + + + + + + Object that specifies range of scalar and DateTime values. + + The type of the range value. + + + Empty range. + + + + Initializes a new instance of the class. + + The lower bound of the range. + The upper bound of the range + Indicates whether the lower bound of the range is inclusive. + Indicates whether the upper bound of the range is inclusive. + + + Gets the value that indicates whether the upper bound of the range is inclusive. + + + Gets the value that indicates whether the lower bound of the range is inclusive. + + + Gets the upper bound of the range. + + + Gets the lower bound of the range. + + + + A builder for a SearchRange. + + + + + Creates a greater than search range. + + The type of the value. + The value. + Search range. + + + + Adds a greater than value to a search range. + + The type of the value. + Search range. + The value. + Search range. + + + + Creates a greater or equal than search range. + + The type of the value. + The value. + Search range. + + + + Adds a greater or equal than value to a search range. + + The type of the value. + Search range. + The value. + Search range. + + + + Creates a less than search range. + + The type of the value. + The value. + Search range. + + + + Adds a less than value to a search range. + + The type of the value. + Search range. + The value. + Search range. + + + + Creates a less than or equal search range. + + The type of the value. + The value. + search range. + + + + Adds a less than or equal value to a search range. + + The type of the value. + Search range. + The value. + search range. + + + + Object that specifies the boundaries for a range query. + + The type of the range value. + + + Empty range. + + + + Initializes a new instance of the class. + + The lower bound of the range. + The upper bound of the range. + + + Gets the upper bound of the range. + + + Gets the lower bound of the range. + + + + Represents a bound value. + + The type of the bound value. + + + + Gets the bound value. + + + + + Gets whether the bound is inclusive or not. + + + + + Initializes a new instance of the class. + + The value of the bound. + Indicates whether the bound is inclusive or not. + + + + A builder for a SearchRangeV2. + + + + + Creates a greater than search range. + + The type of the value. + The value. + Search range. + + + + Adds a greater than value to a search range. + + The type of the value. + Search range. + The value. + Search range. + + + + Creates a greater or equal than search range. + + The type of the value. + The value. + Search range. + + + + Adds a greater or equal than value to a search range. + + The type of the value. + Search range. + The value. + Search range. + + + + Creates a less than search range. + + The type of the value. + The value. + Search range. + + + + Adds a less than value to a search range. + + The type of the value. + Search range. + The value. + Search range. + + + + Creates a less than or equal search range. + + The type of the value. + The value. + search range. + + + + Adds a less than or equal value to a search range. + + The type of the value. + Search range. + The value. + search range. + + + + Base class for search score modifiers. + + The type of the document. + + + + Renders the score modifier to a . + + The render arguments. + A . + + + + A builder for a score modifier. + + The type of the document. + + + + Creates a score modifier that multiplies a result's base score by a given number. + + The number to multiply the default base score by. + + A boost score modifier. + + + + + Creates a score modifier that multiples a result's base score by the value of a numeric + field in the documents. + + + The path to the numeric field whose value to multiply the default base score by. + + + The numeric value to substitute if the numeric field is not found in the documents. + + + A boost score modifier. + + + + + Creates a score modifier that multiplies a result's base score by the value of a numeric + field in the documents. + + + The path to the numeric field whose value to multiply the default base score by. + + + The numeric value to substitute if the numeric field is not found in the documents. + + + A boost score modifier. + + + + + Creates a score modifier that replaces the base score with a given number. + + The number to replace the base score with. + + A constant score modifier. + + + + + Creates a score modifier that computes the final score through an expression. + + The expression used to compute the score. + + A function score modifier. + + + + + Represents the scoreDetails object for a document from a $search result. + + + + + Initializes a new instance of the class. + + Contribution towards the score by a subset of the scoring formula. + Subset of the scoring formula. + Breakdown of the score for each match in the document. + + + + Gets the contribution towards the score by a subset of the scoring formula. + + + + + Gets the subset of the scoring formula including details about how the document + was scored and factors considered in calculating the score. + + + + + Breakdown of the score for each match in the document based on the subset of the scoring formula. + (if any). + + + + + Base class for search score functions. + + The type of the document. + + + + Renders the score function to a . + + The render arguments. + A . + + + + A builder for a score function. + + The type of the document. + + + + Creates a function that adds a series of numbers. + + An array of expressions, which can have negative values. + An addition score function. + + + + Creates a function that adds a series of numbers. + + An array of expressions, which can have negative values. + An addition score function. + + + + Creates a function that represents a constant number. + + Number that indicates a fixed value. + A constant score function. + + + + Creates a function that decays, or reduces by multiplying, the final scores of the + documents based on the distance of a numeric field from a specified origin point. + + The path to the numeric field. + The point of origin from which to calculate the distance. + + The distance from plus or minus at + which scores must be multiplied. + + + The rate at which to multiply score values, which must be a positive number between + 0 and 1 exclusive. + + + The number of use to determine the distance from . + + A Guassian score function. + + + + Creates a function that decays, or reduces by multiplying, the final scores of the + documents based on the distance of a numeric field from a specified origin point. + + The path to the numeric field. + The point of origin from which to calculate the distance. + + The distance from plus or minus at + which scores must be multiplied. + + + The rate at which to multiply score values, which must be a positive number between + 0 and 1 exclusive. + + + The number of use to determine the distance from . + + A Guassian score function. + + + + Creates a function that calculates the base-10 logarithm of a number. + + The number. + A logarithmic score function. + + + + Creates a function that adds 1 to a number and then calculates its base-10 logarithm. + + The number. + A logarithmic score function. + + + + Creates a function that multiplies a series of numbers. + + An array of expressions, which can have negative values. + A multiplication score function. + + + + Creates a function that multiplies a series of numbers. + + An array of expressions, which can have negative values. + A mulitplication score function. + + + + Creates a function that incorporates an indexed numeric field value into the score. + + The path to the numeric field. + + The value to use if the numeric field specified using is + missing in the document. + + A path score function. + + + + Creates a function that incorporates an indexed numeric field value into the score. + + The path to the numeric field. + + The value to use if the numeric field specified using is + missing in the document. + + A path score function. + + + + Creates a function that represents the relevance score, which is the score Atlas Search + assigns documents based on relevance. + + A relevance score function. + + + + Base class for span clauses. + + + + + + Span clause type. + + + + + Initializes a new instance of the class. + + The clause type. + + + + Renders the span clause to a . + + The render arguments. + A . + + + + A builder for a span clause. + + The type of the document. + + + + Creates a span clause that matches near the beginning of the string. + + The span operator. + The highest position in which to match the query. + A first span clause. + + + + Creates a span clause that matches multiple string found near each other. + + The clauses. + The allowable distance between words in the query phrase. + Whether to require that the clauses appear in the specified order. + A near span clause. + + + + Creates a span clause that matches any of its subclauses. + + The clauses. + An or span clause. + + + + Creates a span clause that matches any of its subclauses. + + The clauses. + An or span clause. + + + + Creates a span clause that excludes certain strings from the search results. + + Clause to be included. + Clause to be excluded. + A subtract span clause. + + + + Creates a span clause that matches a single term. + + The indexed field or fields to search. + The string or strings to search for. + A term span clause. + + + + Creates a span clause that matches a single term. + + The type of the field. + The indexed field or fields to search. + The string or string to search for. + A term span clause. + + + + Options for atlas search text operator. + + + + + The options for fuzzy search. + + + + + The criteria to use to match the terms in the query. Value can be either "any" or "all". + Defaults to "all" if omitted. + + + + + The score modifier. + + + + + The name of the synonym mapping definition in the index definition. Value can't be an empty string (e.g. ""). + + + + + Options for tracking the search query. + + + + + Text or term associated with the query to track. You can specify only one term per query. + + + + + Represents an Atlas search index type. + + + + + A search index type. + + + + + A vector search index type. + + + + + A server session. + + + + + + + + + + + + + + + + + + + + + Represents server versions. + + Only major/minor versions are represented. + + + + Server version 2.6. + + + + + Server version 3.0. + + + + + Server version 3.2. + + + + + Server version 2.6. + + + + + Server version 3.6. + + + + + Server version 4.0. + + + + + Server version 4.2. + + + + + Server version 4.4. + + + + + Server version 4.7. + + + + + Server version 4.8. + + + + + Server version 4.9. + + + + + Server version 5.0. + + + + + Server version 5.1. + + + + + Server version 5.2. + + + + + Server version 5.3. + + + + + Server version 6.0. + + + + + Server version 6.1. + + + + + Server version 6.2. + + + + + Server version 6.3. + + + + + Server version 7.0. + + + + + Server version 7.1. + + + + + Server version 7.2. + + + + + Server version 7.3. + + + + + Server version 8.0. + + + + + Server version 8.1. + + + + + Server version 8.2. + + + + + Server version 8.3. + + + + + A definition of a single field to be set. + + The type of the document. + + + + Renders the SetFieldDefinition. + + The render arguments. + The rendered SetFieldDefinition. + + + + A SetFieldDefinition that uses a field and a a constant to define the field to be set. + + The type of the document. + The type of the field. + + + + Initializes an instance of ConstantSetFieldDefinition. + + The field. + The value. + + + + + + + Defines the fields to be set by a $set stage. + + The type of the document. + + + + Renders the set field definitions. + + The render arguments. + The rendered set field definitions. + + + + A subclass of SetFieldDefinitions containing a list of SetFieldDefinition instances to define the fields to be set. + + The type of the document. + + + + Initializes an instances ListSetFieldDefinitions. + + The set field definitions. + + + + Gets the list of SetFieldDefinition instances. + + + + + + + + A subclass of SetFieldDefinition that uses an Expression to define the fields to be set. + + The type of the document. + The type of object specifying the fields to set. + + + + Initializes an instance of ExpressionSetFieldDefinitions. + + The expression. + + + + + + + A builder for SetFieldDefinitions. + + The type of the document. + + + + Set a field to a value using a constant. + + The type of the field. + The field. + The value. + An instance of ListSetFieldDefinitions to which further set field definitions can be added. + + + + Set a field to a value using an expression to specify the field and a constant to specify the value. + + The type of the field. + The field. + The value. + An instance of ListSetFieldDefinitions to which further set field definitions can be added. + + + + Extension methods to add additional set field definitions to an existing instance of ListSetFieldDefinitions. + + + + + Set an additional field to value using a constant. + + The type of the document. + The type of the field. + The existing ListSetFieldDefinitions. + The field. + The value. + The ListSetFieldDefinitions instance with a SetFieldDefinition added. + + + + Set an additional field to value using an Expression to specify the field and a constant to specify the value. + + The type of the document. + The type of the field. + The existing ListSetFieldDefinitions. + The field. + The value. + The ListSetFieldDefinitions instance with a SetFieldDefinition added. + + + + Represents a setting that may or may not have been set. + + The type of the value. + + + + Gets the value of the setting. + + + + + Gets a value indicating whether the setting has been set. + + + + + Resets the setting to the unset state. + + + + + Gets a canonical string representation for this setting. + + A canonical string representation for this setting. + + + + Represents a window for a SetWindowFields window method. + + + + + The direction of the sort. + + + + + Ascending. + + + + + Descending. + + + + + Base class for sorts. + + The type of the document. + + + + Renders the sort to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + A based sort. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + + + + A JSON based sort. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + + + + An based sort. + + The type of the document. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + + + + Extension methods for SortDefinition. + + + + + Combines an existing sort with an ascending field. + + The type of the document. + The sort. + The field. + + A combined sort. + + + + + Combines an existing sort with an ascending field. + + The type of the document. + The sort. + The field. + + A combined sort. + + + + + Combines an existing sort with an descending field. + + The type of the document. + The sort. + The field. + + A combined sort. + + + + + Combines an existing sort with an descending field. + + The type of the document. + The sort. + The field. + + A combined sort. + + + + + Creates a descending sort on the computed relevance score of atlas search. + + A meta search score sort. + + + + Creates a ascending sort on the computed relevance score of atlas search. + + A meta search score sort. + + + + Combines an existing sort with a descending sort on the computed relevance score of a text search. + The field name should be the name of the projected relevance score field. + + The type of the document. + The sort. + The field. + + A combined sort. + + + + + A builder for a . + + The type of the document. + + + + Creates an ascending sort on a value rather than on a field of a document. For example, "$sort : 1". + This is used when sorting primitive values like strings or numbers, but can also be used to sort whole documents. + + A value ascending sort. + + + + Creates an ascending sort based on a specific field within the document. For example, "$sort : { field : 1 }". + This is used when values are documents, and you want to sort by a particular field's value. + + The field. + An ascending sort. + + + + Creates an ascending sort based on a specific field within the document. For example, "$sort : { field : 1 }". + This is used when values are documents, and you want to sort by a particular field's value. + + The field. + An ascending sort. + + + + Creates a combined sort. + + The sorts. + A combined sort. + + + + Creates a combined sort. + + The sorts. + A combined sort. + + + + Creates a descending sort on a value rather than on a field of a document. For example, "$sort : -1". + This is used when sorting primitive values like strings or numbers, but can also be used to sort whole documents. + + A value descending sort. + + + + Creates a descending sort based on a specific field within the document. For example, "$sort: { field: -1 }". + This is used when values are documents, and you want to sort by a particular field's value. + + The field. + A descending sort. + + + + Creates a descending sort based on a specific field within the document. For example, "$sort: { field: -1 }". + This is used when values are documents, and you want to sort by a particular field's value. + + The field. + A descending sort. + + + + Creates a descending sort on the computed relevance score of atlas search. + + A meta search score sort. + + + + Creates a ascending sort on the computed relevance score of atlas search. + + A meta search score sort. + + + + Creates a descending sort on the computed relevance score of a text search. + The name of the key should be the name of the projected relevance score field. + + The field. + A meta text score sort. + + + + Represents the settings for using SSL. + + + + + Gets or sets a value indicating whether to check for certificate revocation. + + + + + Gets or sets the client certificates. + + + + + Gets or sets the client certificate selection callback. + + + + + Gets or sets the enabled SSL protocols. + + + + + Gets or sets the server certificate validation callback. + + + + + Gets the client certificate collection. + + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Clones an SslSettings. + + The cloned SslSettings. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Freezes the settings. + + The frozen settings. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + Represents a value that is either a string or a BsonRegularExpression. + + + + + Implicit conversion from string to StringOrRegularExpression. + + A StringOrRegularExpression. + A StringOrRegularExpression. + + + + Implicit conversion from BsonRegularExpression to StringOrRegularExpression. + + A StringOrRegularExpression. + A StringOrRegularExpression. + + + + Implicit conversion from Regex to StringOrRegularExpression. + + A StringOrRegularExpression. + A StringOrRegularExpression. + + + + Initializes an instance of a StringOrRegularExpression. + + A string value. + + + + Initializes an instance of a StringOrRegularExpression. + + A BsonRegularExpression value. + + + + Gets the BsonRegularExpression value (returns null if value is not a BsonRegularExpression). + + + + + Gets the string value (returns null if value is not a string). + + + + + Gets the type of the value. + + + + + Represents text search options. + + + + + Gets or sets whether a text search should be case sensitive. + + + + + Gets or sets whether a text search should be diacritic sensitive. + + + + + Gets or sets the language for a text search. + + + + + Base class for updates. + + The type of the document. + + + + Renders the update to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The pipeline. + + The result of the conversion. + + + + + A based update definition. + + The type of the document. + + + + Initializes a new instance of the class. + + The pipeline. + + + + Gets the pipeline. + + + + + + + + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + The translation options. + + A that represents this instance. + + + + + A based update. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + + + + A JSON based update. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + + + + An based update. + + The type of the document. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + + + + Extension methods for UpdateDefinition. + + + + + Combines an existing update with an add to set operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with an add to set operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with an add to set operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + + A combined update. + + + + + Combines an existing update with an add to set operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + + A combined update. + + + + + Combines an existing update with a bitwise and operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a bitwise and operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a bitwise or operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a bitwise or operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a bitwise xor operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a bitwise xor operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a current date operator. + + The type of the document. + The update. + The field. + The type. + + A combined update. + + + + + Combines an existing update with a current date operator. + + The type of the document. + The update. + The field. + The type. + + A combined update. + + + + + Combines an existing update with an increment operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with an increment operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a max operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a max operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a min operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a min operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a multiply operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a multiply operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The filter. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The filter. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The filter. + + A combined update. + + + + + Combines an existing update with a push operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a push operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a push operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + The slice. + The position. + The sort. + + A combined update. + + + + + Combines an existing update with a push operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + The slice. + The position. + The sort. + + A combined update. + + + + + Combines an existing update with a field renaming operator. + + The type of the document. + The update. + The field. + The new name. + + A combined update. + + + + + Combines an existing update with a field renaming operator. + + The type of the document. + The update. + The field. + The new name. + + A combined update. + + + + + Combines an existing update with a set operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a set operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a set on insert operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a set on insert operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with an unset operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + Combines an existing update with an unset operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + The type to use for a $currentDate operator. + + + + + A date. + + + + + A timestamp. + + + + + A builder for an . + + The type of the document. + + + + Creates an add to set operator. + + The type of the item. + The field. + The value. + An add to set operator. + + + + Creates an add to set operator. + + The type of the item. + The field. + The value. + An add to set operator. + + + + Creates an add to set operator. + + The type of the item. + The field. + The values. + An add to set operator. + + + + Creates an add to set operator. + + The type of the item. + The field. + The values. + An add to set operator. + + + + Creates a bitwise and operator. + + The type of the field. + The field. + The value. + A bitwise and operator. + + + + Creates a bitwise and operator. + + The type of the field. + The field. + The value. + A bitwise and operator. + + + + Creates a bitwise or operator. + + The type of the field. + The field. + The value. + A bitwise or operator. + + + + Creates a bitwise or operator. + + The type of the field. + The field. + The value. + A bitwise or operator. + + + + Creates a bitwise xor operator. + + The type of the field. + The field. + The value. + A bitwise xor operator. + + + + Creates a bitwise xor operator. + + The type of the field. + The field. + The value. + A bitwise xor operator. + + + + Creates a combined update. + + The updates. + A combined update. + + + + Creates a combined update. + + The updates. + A combined update. + + + + Creates a current date operator. + + The field. + The type. + A current date operator. + + + + Creates a current date operator. + + The field. + The type. + A current date operator. + + + + Creates an increment operator. + + The type of the field. + The field. + The value. + An increment operator. + + + + Creates an increment operator. + + The type of the field. + The field. + The value. + An increment operator. + + + + Creates a max operator. + + The type of the field. + The field. + The value. + A max operator. + + + + Creates a max operator. + + The type of the field. + The field. + The value. + A max operator. + + + + Creates a min operator. + + The type of the field. + The field. + The value. + A min operator. + + + + Creates a min operator. + + The type of the field. + The field. + The value. + A min operator. + + + + Creates a multiply operator. + + The type of the field. + The field. + The value. + A multiply operator. + + + + Creates a multiply operator. + + The type of the field. + The field. + The value. + A multiply operator. + + + + Creates an update pipeline. + + The pipeline. + An update pipeline. + + + + Creates a pop operator. + + The field. + A pop operator. + + + + Creates a pop first operator. + + The field. + A pop first operator. + + + + Creates a pop operator. + + The field. + A pop operator. + + + + Creates a pop first operator. + + The field. + A pop last operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The value. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The value. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The values. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The values. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The filter. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The filter. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The filter. + A pull operator. + + + + Creates a push operator. + + The type of the item. + The field. + The value. + A push operator. + + + + Creates a push operator. + + The type of the item. + The field. + The value. + A push operator. + + + + Creates a push operator. + + The type of the item. + The field. + The values. + The slice. + The position. + The sort. + A push operator. + + + + Creates a push operator. + + The type of the item. + The field. + The values. + The slice. + The position. + The sort. + A push operator. + + + + Creates a field renaming operator. + + The field. + The new name. + A field rename operator. + + + + Creates a field renaming operator. + + The field. + The new name. + A field rename operator. + + + + Creates a set operator. + + The type of the field. + The field. + The value. + A set operator. + + + + Creates a set operator. + + The type of the field. + The field. + The value. + A set operator. + + + + Creates a set on insert operator. + + The type of the field. + The field. + The value. + A set on insert operator. + + + + Creates a set on insert operator. + + The type of the field. + The field. + The value. + A set on insert operator. + + + + Creates an unset operator. + + The field. + An unset operator. + + + + Creates an unset operator. + + The field. + An unset operator. + + + + Model for updating many documents. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + The update. + + + + Gets or sets the array filters. + + + The array filters. + + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets the hint. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets the update. + + + + + + + + + + + Model for updating a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + The update. + + + + Gets or sets the array filters. + + + The array filters. + + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets the hint. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets or sets the sort definition. + + + + + Gets the update. + + + + + + + + + + + Options for updating a single document. + + + + + Gets or sets the array filters. + + + The array filters. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets or sets the let document. + + + + + Gets or sets the operation timeout. + + + + + Options for updating a single document and specifying a sort order. + + + + + Gets or sets the sort definition. + + + + + The result of an update operation. + + + + + Gets a value indicating whether the result is acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + The available modified count. + + + + + Gets the matched count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the modified count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the upserted id, if one exists. If IsAcknowledged is false, this will throw an exception. + + + + + Initializes a new instance of the class. + + + + + The result of an acknowledged update operation. + + + + + Initializes a new instance of the class. + + The matched count. + The modified count. + The upserted id. + + + + + + + + + + + + + + + + + + + The result of an acknowledged update operation. + + + + + Gets the instance. + + + + + + + + + + + + + + + + + + + + Vector search options. + + The type of the document. + + + + Gets or sets the filter. + + + + + Gets or sets the name of the index. + + + + + Gets or sets the number of candidates. + + + + + Get or sets a value indicating if exact nearest neighbor (ENN) is to be used, false by default. + If false, approximate nearest neighbor (ANN) is used. + + + + + Represents the details of a write concern error. + + + + + Gets the error code. + + + + + Gets the name of the error code. + + + The name of the error code. + + + + + Gets the error information. + + + + + Gets the error labels. + + + + + Gets the error message. + + + + + + + + Represents the details of a write error. + + + + + Gets the category. + + + + + Gets the error code. + + + + + Gets the error details. + + + + + Gets the error message. + + + + + + + + Base class for a write model. + + The type of the document. + + + + Gets the type of the model. + + + + + Validate model. + + + + + The type of a write model. + + + + + A model to insert a single document. + + + + + A model to delete a single document. + + + + + A model to delete multiple documents. + + + + + A model to replace a single document. + + + + + A model to update a single document. + + + + + A model to update many documents. + + + + diff --git a/local-nugets/mongodb.driver/3.5.0/lib/netstandard2.1/MongoDB.Driver.xml b/local-nugets/mongodb.driver/3.5.0/lib/netstandard2.1/MongoDB.Driver.xml new file mode 100644 index 000000000..c8e614e3b --- /dev/null +++ b/local-nugets/mongodb.driver/3.5.0/lib/netstandard2.1/MongoDB.Driver.xml @@ -0,0 +1,44065 @@ + + + + MongoDB.Driver + + + + + Represents the granularity value for a $bucketAuto stage. + + + + + Gets the E6 granularity. + + + + + Gets the E12 granularity. + + + + + Gets the E24 granularity. + + + + + Gets the E48 granularity. + + + + + Gets the E96 granularity. + + + + + Gets the E192 granularity. + + + + + Gets the POWERSOF2 granularity. + + + + + Gets the R5 granularity. + + + + + Gets the R10 granularity. + + + + + Gets the R20 granularity. + + + + + Gets the R40 granularity. + + + + + Gets the R80 granularity. + + + + + Gets the 1-2-5 granularity. + + + + + Initializes a new instance of the struct. + + The value. + + + + Gets the value. + + + + + Represents options for the BucketAuto method. + + + + + Gets or sets the granularity. + + + + + Represents the result of the $bucketAuto stage. + + The type of the value. + + + + Initializes a new instance of the class. + + The inclusive lower boundary of the bucket. + The count. + + + + Initializes a new instance of the class. + + The minimum. + The maximum. + The count. + + + + Gets the inclusive lower boundary of the bucket. + + + The inclusive lower boundary of the bucket. + + + + + Gets the count. + + + The count. + + + + + Gets the maximum. + + + + + Gets the minimum. + + + + + Represents the _id value in the result of a $bucketAuto stage. + + The type of the values. + + + + Initializes a new instance of the class. + + The minimum. + The maximum. + + + + Gets the max value. + + + + + Gets the min value. + + + + + Static factory class for AggregateBucketAutoResultIdSerializer. + + + + + Creates an instance of AggregateBucketAutoResultIdSerializer. + + The value type. + The value serializer. + A AggregateBucketAutoResultIdSerializer. + + + + A serializer for AggregateBucketAutoResultId. + + The type of the values. + + + + Initializes a new instance of the class. + + The value serializer. + + + + + + + + + + + + + + + + + + + Represents options for the Bucket method. + + The type of the value. + + + + Gets or sets the default bucket. + + + + + Represents the result of the $bucket stage. + + The type of the value. + + + + Initializes a new instance of the class. + + The inclusive lower boundary of the bucket. + The count. + + + + Gets the inclusive lower boundary of the bucket. + + + The inclusive lower boundary of the bucket. + + + + + Gets the count. + + + The count. + + + + + Result type for the aggregate $count stage. + + + + + Initializes a new instance of the class. + + The count. + + + + Gets the count. + + + The count. + + + + + An aggregation expression. + + The type of the source. + The type of the result. + + + + Performs an implicit conversion from to . + + The expression. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The expression. + + The result of the conversion. + + + + + Renders the aggregation expression to a . + + The render arguments. + A . + + + + A based aggregate expression. + + The type of the source. + The type of the result. + + + + + Initializes a new instance of the class. + + The expression. + + + + + + + A based aggregate expression. + + The type of the source. + The type of the result. + + + + + Initializes a new instance of the class. + + The expression. + + + + + + + An aggregate expression for the $documents stage. + + The type of the documents. + + + + + Initializes a new instance of the class. + + The documents. + The document serializer. + + + + + + + Represents static methods for creating facets. + + + + + Creates a new instance of the class. + + The type of the input documents. + The type of the output documents. + The facet name. + The facet pipeline. + + A new instance of the class + + + + + Represents a facet to be passed to the Facet method. + + The type of the input documents. + + + + Initializes a new instance of the class. + + The facet name. + + + + Gets the facet name. + + + + + Gets the output serializer. + + + + + Gets the type of the output documents. + + + + + Renders the facet pipeline. + + The render arguments. + A . + + + + Represents a facet to be passed to the Facet method. + + The type of the input documents. + The type of the output documents. + + + + Initializes a new instance of the class. + + The facet name. + The facet pipeline. + + + + + + + + + + Gets the facet pipeline. + + + + + + + + Options for the aggregate $facet stage. + + The type of the output documents. + + + + Gets or sets the output serializer. + + + + + Represents an abstract AggregateFacetResult with an arbitrary TOutput type. + + + + + Initializes a new instance of the class. + + The name of the facet. + + + + Gets the name of the facet. + + + + + Gets the output of the facet. + + The type of the output documents. + The output of the facet. + + + + Represents the result of a single facet. + + The type of the output. + + + + Initializes a new instance of the class. + + The name. + The output. + + + + Gets or sets the output. + + + The output. + + + + + Represents the results of a $facet stage with an arbitrary number of facets. + + + + + Initializes a new instance of the class. + + The facets. + + + + Gets the facets. + + + + + Base class for implementors of . + + The type of the document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents options for the GraphLookup method. + + The type of from documents. + The type of the as field elements. + The type of the output documents. + + + + Gets or sets the TAsElement serialzier. + + + + + Gets or sets the TFrom serializer. + + + + + Gets or sets the maximum depth. + + + + + Gets or sets the output serializer. + + + + + Gets the filter to restrict the search with. + + + + + Options for the aggregate $lookup stage. + + The type of the foreign document. + The type of the result. + + + + Gets or sets the foreign document serializer. + + + + + Gets or sets the result serializer. + + + + + Options for an aggregate operation. + + + + + Creates an AggregateOptions instance with the specified translation options. + + The translation options. + An AggregateOptions instance. + + + + Gets or sets a value indicating whether to allow disk use. + + + + + Gets or sets the size of a batch. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. This must either be a BsonString representing the index name or a BsonDocument representing the key pattern of the index. + + + + + Gets or sets the "let" definition. + + + + + Gets or sets the maximum await time. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the operation timeout. + + + + + Gets or sets the translation options. + + + + + Gets or sets a value indicating whether to use a cursor. + + + + + Result type for the aggregate $sortByCount stage. + + The type of the identifier. + + + + Initializes a new instance of the class. + + The identifier. + The count. + + + + Gets the count. + + + The count. + + + + + Gets the identifier. + + + The identifier. + + + + + Options for the $unwind aggregation stage. + + The type of the result. + + + + Gets or sets the field with which to include the array index. + + + + + Gets or sets whether to preserve null and empty arrays. + + + + + Gets or sets the result serializer. + + + + + Base class for array filters. + + + + + Gets the type of an item. + + + The type of an item. + + + + + Renders the array filter to a . + + The item serializer. + The serializer registry. + + A . + + + + + Base class for array filters. + + The type of an item. + + + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Renders the array filter to a . + + The item serializer. + The serializer registry. + + A . + + + + + A based array filter. + + The type of an item. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + The document. + + + + + + + + + + + A JSON based array filter. + + The type of an item. + + + + Initializes a new instance of the class. + + The JSON string. + + + + Gets the document. + + + The document. + + + + + Gets the JSON string. + + + The JSON string. + + + + + + + + + + + The default authenticator. + If saslSupportedMechs is not present in the hello or legacy hello results for mechanism negotiation uses SCRAM-SHA-1. + Else, uses SCRAM-SHA-256 if present in the list of mechanisms. Otherwise, uses + SCRAM-SHA-1 the default, regardless of whether SCRAM-SHA-1 is in the list. + + + + + Represents a Libgssapi exception. + + + + + Initializes a new instance of the class. + + Error message from libgssapi. + + + + Initializes a new instance of the class. + + The info. + The context. + + + + SEC_WINNT_AUTH_IDENTITY + + + + + Flag for the AuthIdentity structure. + + + + + SEC_WINNT_AUTH_IDENTITY_ANSI + + + + + SEC_WINNT_AUTH_IDENTITY_UNICODE + + + + + Flags for InitiateSecurityContext. + + + See the TargetDataRep parameter at + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375507(v=vs.85).aspx + + + + + SECURITY_NETWORK_DREP + + + + + SECURITY_NATIVE_DREP + + + + + Flags for EncryptMessage. + + + See the fQOP parameter at + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375378(v=vs.85).aspx. + + + + + SECQOP_WRAP_NO_ENCRYPT + + + + + Creates an exception for the specified error code. + + The error code. + The default message. + A Win32Exception. + + + + Acquires the credentials handle. + + The principal. + The package. + The credential usage. + The logon id. + The identity. + The key callback. + The key argument. + The credential handle. + The timestamp. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa374712(v=vs.85).aspx + + + + + Acquires the credentials handle. + + The principal. + The package. + The credential usage. + The logon id. + The identity. + The key callback. + The key argument. + The credential handle. + The timestamp. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa374712(v=vs.85).aspx + + + + + Deletes the security context. + + The context. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375354(v=vs.85).aspx + + + + + Decrypts the message. + + The context. + The p message. + The sequence number. + The quality. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375211(v=vs.85).aspx + + + + + Encrypts the message. + + The context. + The quality. + The p message. + The sequence number. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375378(v=vs.85).aspx + + + + + Enumerates the security packages. + + The pc packages. + The pp package information. + A result code. + + http://msdn.microsoft.com/en-us/library/aa375397%28v=VS.85%29.aspx + + + + + Frees the context buffer. + + The context buffer. + A result code. + + http://msdn.microsoft.com/en-us/library/aa375416(v=vs.85).aspx + + + + + Frees the credentials handle. + + The sspi handle. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375417(v=vs.85).aspx + + + + + Initializes the security context. + + The credential handle. + The in context PTR. + Name of the target. + The flags. + The reserved1. + The data representation. + The input buffer. + The reserved2. + The out context handle. + The output buffer. + The out attributes. + The timestamp. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375506(v=vs.85).aspx + + + + + Initializes the security context. + + The credential handle. + The in context handle. + Name of the target. + The flags. + The reserved1. + The data representation. + The input buffer. + The reserved2. + The out context. + The output buffer. + The out attributes. + The timestamp. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375506(v=vs.85).aspx + + + + + Queries the context attributes. + + The in context handle. + The attribute. + The sizes. + A result code. + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa379326(v=vs.85).aspx + + + + + Flags for QueryContextAttributes. + + + See the ulAttribute parameter at + http://msdn.microsoft.com/en-us/library/windows/desktop/aa379326(v=vs.85).aspx. + + + + + SECPKG_ATTR_SIZES + + + + + A SecBuffer structure. + + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa379814(v=vs.85).aspx + + + + + A SecBufferDesc structure. + + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa379815(v=vs.85).aspx + + + + + To the byte array. + + A byte array. + Object has already been disposed!!! + + + + Types for the SecurityBuffer structure. + + + + + SECBUFFER_VERSION + + + + + SECBUFFER_EMPTY + + + + + SECBUFFER_DATA + + + + + SECBUFFER_TOKEN + + + + + SECBUFFER_PADDING + + + + + SECBUFFER_STREAM + + + + + Flags for AcquireCredentialsHandle. + + + See the fCredentialUse at http://msdn.microsoft.com/en-us/library/windows/desktop/aa374712(v=vs.85).aspx. + + + + + SECPKG_CRED_OUTBOUND + + + + + A SecPkgContext_Sizes structure. + + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa380097(v=vs.85).aspx + + + + + A SecPkgInfo structure. + + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa380104(v=vs.85).aspx + + + + + Flags for InitiateSecurityContext. + + + See the fContextReq parameter at + http://msdn.microsoft.com/en-us/library/windows/desktop/aa375507(v=vs.85).aspx + + + + + ISC_REQ_MUTUAL_AUTH + + + + + ISC_REQ_CONFIDENTIALITY + + + + + ISC_REQ_INTEGRITY + + + + + A SecHandle structure. + + + http://msdn.microsoft.com/en-us/library/windows/desktop/aa380495(v=vs.85).aspx + + + + + Gets a value indicating whether this instance is zero. + + + true if this instance is zero; otherwise, false. + + + + + Sets to invalid. + + + + + This is represented as a string in AcquireCredentialsHandle. This value will have .ToString() called on it. + + + + + Kerberos + + + + + A wrapper around the SspiHandle structure specifically used as a security context handle. + + + + + A wrapper around the SspiHandle structure specifically used as a credential handle. + + + + + When overridden in a derived class, executes the code required to free the handle. + + + true if the handle is released successfully; otherwise, in the event of a catastrophic failure, false. In this case, it generates a releaseHandleFailed MDA Managed Debugging Assistant. + + + + + Thrown from a win32 wrapped operation. + + + + + Initializes a new instance of the class. + + The error code. + + + + Initializes a new instance of the class. + + The error code. + The message. + + + + Initializes a new instance of the class. + + The info. + The context. + + + + Thrown from a GSSAPI-related method. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The info. + The context. + + + + Represents a SASL mechanism. + + + + + Gets the name of the mechanism. + + + + + Gets the name of the database. + + + + + Creates speculative authentication step if supported. + + Speculative authenticate step if supported by mechanism, otherwise null. + + + + Optionally customizes SASL start command. + + Sasl Start Command + Mutated command + + + + Method called when server returns 391 error (ReauthenticationRequired), so auth mechanism can clear cache or perform another activity to reset mechanism internal state. + + + + + Initializes the SASL conversation for the connection. + + The SASL conversation. + The connection description. + The initial SASL step. + + + + Tries to handle the authentication exception. + + The exception. + The step caused the exception. + The SASL conversation. + The connection description. + Next step to continue authentication with. + true if the exception was handled and authentication can be continued with ; otherwise false + + + + SASL Mechanism Registry. + + + + + Registers new SASL mechanism factory. + + Mechanism name. + Factory method. + + + + Creates SASL mechanism if possible. + + Sasl context. + When this method succeeds contains the created mechanism, otherwise null. + true if the requested provider was created, otherwise false. + + + + Represents a SASL step. + + + + + Executes the SASL step and create the next step. + + The SASL conversation. + The bytes received from server. + The cancellation token. + The next SASL step. + + + + Executes the SASL step and create the next step. + + The SASL conversation. + The bytes received from server. + The cancellation token. + The next SASL step. + + + + Represents OIDC callback request. + + + + + Initializes a new instance of the class. + + Callback API version number. + User name. + + + + Callback API version number. + + + + + User name. + + + + + Represents OIDC callback response. + + + + + Initializes a new instance of the class. + + OIDC Access Token string. + Expiration duration for the Access Token. + + + + OIDC Access Token string. + + + + + Expiration duration for the Access Token. + + + + + Represents OIDC callback provider. + + + + + Get OIDC callback response. + + The information used by callbacks to authenticate with the Identity Provider. + The cancellation token. + OIDC callback response + + + + Get OIDC callback response. + + The information used by callbacks to authenticate with the Identity Provider. + The cancellation token. + OIDC callback response + + + + Represents SASL context. + + + + + Remove endpoint of the current connection. + + + + + Cluster's end points. + + + + + Identity. + + + + + Identity Evidence. + + + + + Configured SASL Mechanism. + + + + + SASL Mechanism's properties. + + + + + Represents a SASL conversation. + + + + + Initializes a new instance of the class. + + The connection identifier. + The connection remote EndPoint + + + + Gets the connection identifier. + + + + + Gets the connection remote EndPoint. + + + + + Registers the item for disposal. + + The disposable item. + + + + + + + Per RFC5802: https://tools.ietf.org/html/rfc5802 + "SCRAM is a SASL mechanism whose client response and server challenge + messages are text-based messages containing one or more attribute- + value pairs separated by commas. Each attribute has a one-letter + name." + + + + + Utility class for Sasl string preparation. + + + + + Return the SASLPrep-canonicalised version of the given for use as a query string. + This implements the {@code SASLPrep} algorithm defined in RFC 4013. + See RFC 3454, Section 7 for discussion of what a + query string is. + + The string to canonicalise. + The canonicalised string. + + + + Return the SASLPrep-canonicalised version of the given for use as a stored string. + This implements the SASLPrep algorithm defined in RFC 4013. + See RFC 3454, Section 7 for discussion of what a + stored string is. + + The string to canonicalise. + The canonicalised string. + + + + Return true if the given is an ASCII control character as defined by + RFC 3454, Appendix C.2.1. + + The character. + Whether the given character is an ASCII control character. + + + + Return true if the given is a "change display properties" or a deprecated + character as defined by RFC 3454, Appendix C.8. + + The Unicode character's codepoint. + Whether the codepoint is a "change display properties" or a deprecated character. + + + + Returns the number of characters required to represent a specified Unicode character. + + The Unicode character's codepoint. + Number of characters required to represent a specified Unicode character. + + + + Return true if the given is inappropriate for canonical representation + characters as defined by RFC 3454, Appendix C.7. + + The Unicode character's codepoint. + True if the codepoint is inappropriate for canonical. + + + + Return true if the given is inappropriate for plain text characters as defined + by RFC 3454, Appendix C.6. + + The Unicode character's codepoint. + True if the codepoint is inappropriate for plain text. + + + + Returns whether or not a Unicode character represented by a codepoint is defined in Unicode. + A character is considered to be defined if its Unicode designation is "Cn" (other, not assigned) OR if it is + part of a surrogate pair. + + The Unicode character's codepoint. + Whether or not the Unicode character represnted by codepoint is defined in Unicode. + + + + Returns whether or not a Unicode character represented by a codepoint is an "LCat" character. + See RFC 3454: Section 6 and + RFC 3454: Appendix D.2 for more details. + + The Unicode character's codepoint. + Whether or not the character is an "LCat" character. + + + + Returns whether or not a Unicode character represented by a codepoint is an "RandALCat" character. + See RFC 3454: Section 6 and + RFC 3454: Appendix D.1 for more details. + + The Unicode character's codepoint. + Whether or not the character is an "RandALCat" character. + + + + Return true if the given is a "commonly mapped to nothing" character as defined by + RFC 3454, Appendix B.1. + + The character. + Whether the given character is a "commonly mapped to nothing" character. + + + + Return true if the given is a non-ASCII control character as defined by + RFC 3454, Appendix C.2.2. + + The Unicode character's codepoint. + Whether the given character is a non-ASCII control character. + + + + Return true if the given is a non-ASCII space character as defined by + RFC 3454, Appendix C.1.2. + + The character. + Whether the given character is a non-ASCII space character. + + + + Return true if the given is a non-character code point as defined by + RFC 3454, Appendix C.4. + + The Unicode character's codepoint. + Whether the given is a non-character code point. + + + + Return true if the given is a private use character as defined by + RFC 3454, Appendix C.3. + + The Unicode character's codepoint. + Whether if the given codepoint is a private use character. + + + + Return true if the given is a prohibited character as defined by + RFC 4013, Section 2.3. + + The Unicode character's codepoint. + Whether the codepoint is a prohibited character. + + + + Return true if the given is a surrogate code point as defined by + RFC 3454, Appendix C.5. + + The Unicode character's codepoint. + Whether the given is a surrogate code point. + + + + Return true if the given is a tagging character as defined by + RFC 3454, Appendix C.9. + + The Unicode character's codepoint. + True if the codepoint is a tagging character. + + + + An H function as defined in RFC5802. + + The data to hash. Also called "str" in RFC5802. + + + + A Hi function used to compute the SaltedPassword as defined in RFC5802, except with "str" parameter replaced + with a UsernamePassword credential so that the password can be optionally digested/prepped in a secure fashion + before being consumed as the "str" parameter would be in RFC5802's Hi. + + The credential to be digested/prepped before being consumed as the "str" + parameter would be in RFC5802's Hi + The salt. + The iteration count. + + + + An HMAC function as defined in RFC5802, plus the encoding of the data. + + The encoding of the data. + The data. Also called "str" in RFC5802. + The key. + + + + A cache for Client and Server keys, to be used during authentication. + + + + + Try to get a cached entry. + + The key. + The entry. + True if the cache contained an entry for the key. + + + + Add a cached entry. + + The key. + The entry. + + + + Initializes a new instance of the class. + + The source. + The username. + The password. + + + + Initializes a new instance of the class. + Less secure when used in conjunction with SCRAM-SHA-256, due to the need to store the password in a managed + string in order to SaslPrep it. + See Driver Authentication: SCRAM-SHA-256 + for additional details. + + The source. + The username. + The password. + + + + Auto encryption options. + + + + + Initializes a new instance of the class. + + The keyVault namespace. + The kms providers. + The bypass auto encryption flag. + The extra options. + The keyVault client. + The schema map. + The tls options. + The encryptedFields map. + The bypass query analysis flag. + + + + Gets a value indicating whether to bypass automatic encryption. + + + true if automatic encryption should be bypasssed; otherwise, false. + + + + + Gets a value indicating whether to bypass query analysis. + + + + + Gets the data encryption key cache expiration time. + + + + + Gets the encrypted fields map. + Supplying an encryptedFieldsMap provides more security than relying on an encryptedFields obtained from the server. It protects against a malicious server advertising a false encryptedFields. + + + + + Gets the extra options. + + + The extra options. + + + All MongoClient objects in the same process should use the same setting for extraOptions.cryptSharedLibPath, + as it is an error to load more that one crypt_shared dynamic library simultaneously in a single operating system process. + + + + + Gets the key vault client. + + + The key vault client. + + + + + Gets the key vault namespace. + + + The key vault namespace. + + + + + Gets the KMS providers. + + + The KMS providers. + + + + + Gets the tls options. + + + The tls options. + + + + + Gets the schema map. + + + The schema map. + + + + + Sets the data encryption key cache expiration time. If not set, it defaults to 60 seconds. + If set to TimeSpan.Zero, the cache never expires. + + The data encryption key cache expiration time. + + + + Returns a new instance of the class. + + The keyVault namespace. + The kms providers. + The bypass auto encryption flag. + The bypass query analysis flag. + The extra options. + The keyVault client. + The schema map. + The tls options. + The encryptedFields map. + A new instance of . + + + + + + + + + + + + + Contains extensions methods for + + + + + Converts to . + + + The binary vector. + A instance. + + + + A static helper class containing various builders. + + The type of the document. + + + Gets a . + + + Gets an . + + + Gets a . + + + Gets a . + + + Gets a . + + + Gets an . + + + Gets a . + + + Gets a . + + + Gets a . + + + Gets a . + + + Gets a . + + + Gets a . + + + + Represents delete many operation in the scope of BulkWrite operation. + + The type of the document. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Specifies a collation. + The index to use. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Specifies a collation. + The index to use. + + + + Specifies a collation. + + + + + The filter to apply. + + + + + The index to use. + + + + + Represents delete one operation in the scope of BulkWrite operation. + + The type of the document. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Specifies a collation. + The index to use. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Specifies a collation. + The index to use. + + + + Specifies a collation. + + + + + The filter to apply. + + + + + The index to use. + + + + + Represents result or operation. + + + + + The number of documents that were deleted. + + + + + Represents the details of a write error for a particular request. + + + + + Gets the index of the request that had an error. + + + + + Represents insert one operation in the scope of BulkWrite operation. + + The type of the document. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The document. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The document. + + + + The document to insert + + + + + Represents result of operation. + + + + + The id of the inserted document. + + + + + The id of the inserted document. + + + + + Represents base class for all operations in the scope of bulk write. + + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + + + + The namespace on which to perform the operation. + + + + + Options for a bulk write operation. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the comment. + + + + + Gets or sets a value indicating whether the requests are fulfilled in order. + + + + + Gets or sets the let document. + + + + + Gets or sets the operation timeout. + + + + + Represents replace one operation in the scope of BulkWrite operation. + + The type of the document. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + Specifies a collation. + The index to use. + A value indicating whether to insert the document if it doesn't already exist. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + The sort definition to use. + Specifies a collation. + The index to use. + A value indicating whether to insert the document if it doesn't already exist. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + The sort definition to use. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + + + + Specifies a collation. + + + + + The filter to apply. + + + + + The index to use. + + + + + Indicating whether to insert the document if it doesn't already exist. + + + + + Update definition. + + + + + The sort definition to use. + + + + + Represents the result of a bulk write operation. + + + + + Initializes a new instance of the class. + + The request count. + + + + Gets the number of documents that were deleted. + + + + + Gets the number of documents that were inserted. + + + + + Gets a value indicating whether the bulk write operation was acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + The available modified count. + + + + + Gets the number of documents that were matched. + + + + + Gets the number of documents that were actually modified during an update. + + + + + Gets the request count. + + + + + Gets a list with information about each request that resulted in an upsert. + + + + + Represents the result of a bulk write operation. + + The type of the document. + + + + Initializes a new instance of the class. + + The request count. + The processed requests. + + + + Gets the processed requests. + + + + + Result from an acknowledged write concern. + + + + + Initializes a new instance of the class. + + The request count. + The matched count. + The deleted count. + The inserted count. + The modified count. + The processed requests. + The upserts. + + + + + + + + + + + + + + + + + + + + + + + + + Result from an unacknowledged write concern. + + + + + Initializes a new instance of the class. + + The request count. + The processed requests. + + + + + + + + + + + + + + + + + + + + + + + + + Represents update many operation in the scope of BulkWrite operation. + + The type of the document. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + A set of filters specifying to which array elements an update should apply. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + A set of filters specifying to which array elements an update should apply. + + + + A set of filters specifying to which array elements an update should apply. + + + + + Specifies a collation. + + + + + The filter to apply. + + + + + The index to use. + + + + + Indicating whether to insert the document if it doesn't already exist. + + + + + Update definition. + + + + + Represents update one operation in the scope of BulkWrite operation. + + The type of the document. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + A set of filters specifying to which array elements an update should apply. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + A set of filters specifying to which array elements an update should apply. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + The sort definition to use. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + A set of filters specifying to which array elements an update should apply. + + + + Initializes a new instance of the class. + + Collection on which the operation should be performed. + The filter to apply. + Update definition. + The sort definition to use. + Specifies a collation. + The index to use. + Indicating whether to insert the document if it doesn't already exist. + A set of filters specifying to which array elements an update should apply. + + + + A set of filters specifying to which array elements an update should apply. + + + + + Specifies a collation. + + + + + The filter to apply. + + + + + The index to use. + + + + + Indicating whether to insert the document if it doesn't already exist. + + + + + The sort definition to use. + + + + + Update definition. + + + + + Represents update operation result in the scope of BulkWrite. + + + + + The number of documents that matched the filter. + + + + + The number of documents that were modified. + + + + + The _id field of the upserted document if an upsert occurred. + + + + + Represents the information about one Upsert. + + + + + Gets the id. + + + + + Gets the index. + + + + + + + + + + + Options for a change stream operation. + + + + + Gets or sets the size of the batch. + + + The size of the batch. + + + + + Gets or sets the collation. + + + The collation. + + + + + Gets or sets the comment. + + + The comment. + + + + + Gets or sets the full document. + + + The full document. + + + + + Gets or sets the full document before change. + + + The full document before change. + + + + + Gets or sets the maximum await time. + + + The maximum await time. + + + + + Gets or sets the resume after. + + + The resume after. + + + + + Gets or sets whether the change stream should show expanded events (MongoDB 6.0 and later). + Expanded change stream events include: + + + + + + + + + + + + The value. + + + + + Gets or sets the start after. + + + The start after. + + + + + Gets or sets the start at operation time. + + + The start at operation time. + + + + + Gets or sets the operation timeout. + + + + + Change stream pre and post images options. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The backing document. + + + + Gets the backing document. + + + + + Gets or sets a value indicating whether ChangeStreamPreAndPostImages is enabled. + + + + + Options for a $changeStream stage. + + + + + Gets or sets whether to include all changes for an entire cluster in the change stream. + + + Whether to include all changes for an entire cluster in the change stream. + + + + + Gets or sets the full document. + + + The full document. + + + + + Gets or sets the resume after. + + + The resume after. + + + + + Get or sets the start after. + + + The start after. + + + + + Gets or sets the start at operation time. + + + The start at operation time. + + + + + Represents a bulk write exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + Errors that occurred during the execution of individual write operations. + The results of any successful operations that were performed before the error was encountered. + Write concern errors that occurred while executing the bulk write. + The inner exception. + + + + The results of any successful operations that were performed before the error was encountered. + + + + + Write concern errors that occurred while executing the bulk write. + + + + + Errors that occurred during the execution of individual write operations. + + + + + Options for a bulk write operation. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + + + + + + + Bypass document validation. + + + + + Comment. + + + + + A value indicating is bulk requests are fulfilled in order. + + + + + Let document. + + + + + Gets or sets the operation timeout. + + + + + Whether detailed results for each successful operation should be included in the returned results. + + + + + The write concern to use for this bulk write. + + + + + Represents BulkWrite operation results. + + + + + Indicates whether this bulk write result was acknowledged. + + + + + The total number of documents inserted across all insert operations. + + + + + The total number of documents upserted across all update operations. + + + + + The total number of documents matched across all update operations. + + + + + The total number of documents modified across all update operations. + + + + + The total number of documents deleted across all delete operations. + + + + + The results of each individual insert operation that was successfully performed. + + + + + The results of each individual update operation that was successfully performed. + + + + + The results of each individual delete operation that was successfully performed. + + + + + A client session handle. + + + + + + Initializes a new instance of the class. + + The client. + The options. + The wrapped session. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Client session options. + + + + + When true or unspecified, an application will read its own writes and subsequent + reads will never observe an earlier version of the data. + + + + + Gets or sets the default transaction options. + + + The default transaction options. + + + + + Gets or sets a value indicating whether snapshot reads are requested. + + + true if snapshot reads are requested; otherwise, false. + + + + + A deserializer for doing client side projections. + + The type of the input. + The type of the projection. + + + + Initializes a new instance of the class. + + The input serializer. + The client side projector. + + + + + + + Options for creating a clustered index. + + The document type. + + + + Initializes a new instance of the class. + + + + + Gets or sets the index key, which must currently be {_id: 1}. + + + + + Gets or sets the index name. + + + + + Gets or sets whether the index entries must be unique, which currently must be true. + + + + + Represents a registry of already created clusters. + + + + + Gets the default cluster registry. + + + The default cluster registry. + + + + + Unregisters and disposes the cluster. + + The cluster. + + + + A rendered command. + + The type of the result. + + + + Initializes a new instance of the class. + + The document. + The result serializer. + + + + Gets the document. + + + + + Gets the result serializer. + + + + + Base class for commands. + + The type of the result. + + + + Renders the command to a . + + The serializer registry. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + A based command. + + The type of the result. + + + + Initializes a new instance of the class. + + The document. + The result serializer. + + + + Gets the document. + + + + + Gets the result serializer. + + + + + + + + A JSON based command. + + The type of the result. + + + + Initializes a new instance of the class. + + The json. + The result serializer. + + + + Gets the json. + + + + + Gets the result serializer. + + + + + + + + An based command. + + The type of the result. + + + + Initializes a new instance of the class. + + The object. + The result serializer. + + + + Gets the object. + + + + + Gets the result serializer. + + + + + + + + Represents the options parameter for . + + + + + The byteOrder parameter. + + + + + The format parameter. + + + + + The subType parameter. + + + + + Represents the options parameter for . + This class allows to set 'onError' and 'onNull'. + + The type of 'onError' and 'onNull'. + + + + The onError parameter. + + + + + The onNull parameter. + + + + + Represents the byte order of binary data when converting to/from numerical types using . + + + + + Big endian order. + + + + + Little endian order. + + + + + Represents a cursor that wraps another cursor with a transformation function on the documents. + + The type of from document. + The type of to document. + + + + + Initializes a new instance of the class. + + The wrapped. + The transformer. + + + + + + + + + + + + + + + + Represents a session. + + + + + + Gets the cluster. + + + The cluster. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A handle to a reference counted core session. + + + + + + Initializes a new instance of the class. + + The session. + + + + Initializes a new instance of the class. + + The wrapped. + + + + + + + + + + Core session options. + + + + + Initializes a new instance of the class. + + if set to true this session is causally consistent] + if set to true this session is an implicit session. + if set to true this session is a snapshot session. + The default transaction options. + + + + Gets the default transaction options. + + + The default transaction options. + + + + + Gets a value indicating whether this session is causally consistent. + + + true if this session is causally consistent; otherwise, false. + + + + + Gets a value indicating whether this session is an implicit session. + + + true if this session is an implicit session; otherwise, false. + + + + + Gets a value indicating whether this session is a snapshot session. + + + true if this session is a snapshot session; otherwise, false. + + + + + The state of a transaction. + + + + + Initializes a new instance of the class. + + The transaction number. + The transaction options. + + + + Gets a value indicating whether the transaction is empty. + + + true if the transaction is empty; otherwise, false. + + + + + Gets the transaction state. + + + The transaction state. + + + + + Gets or sets pinned server for the current transaction. + Value has meaning if and only if a transaction is in progress. + + + The pinned server for the current transaction. + + + + + Gets the transaction number. + + + The transaction number. + + + + + Gets the transaction options. + + + The transaction options. + + + + + Gets the recovery token used in sharded transactions. + + + The recovery token. + + + + + Represents the current state of a Core transaction. + + + + + StartTransaction has been called but no operations have been performed yet. + + + + + The transaction is in progress. + + + + + CommitTransaction has been called. + + + + + AbortTransaction has been called. + + + + + The interface for a session in Core. + + + + + Gets the cluster time. + + + The cluster time. + + + + + Gets the current transaction. + + + The current transaction. + + + + + Gets the session Id. + + + The session Id. + + + + + Gets a value indicate whether this instance is causally consistent. + + + true if the session is causally consistent. + + + + + Gets a value indicate whether this session is dirty. + + + true if the session is dirty. + + + + + Gets a value indicating whether this instance is implicit session. + + + true if this instance is implicit session; otherwise, false. + + + + + Gets a value indicating whether this instance is in a transaction. + + + true if this instance is in a transaction; otherwise, false. + + + + + Gets a value indicate whether this instance is a snapshot session. + + + true if the session is a snapshot session. + + + + + Gets the operation time. + + + The operation time. + + + + + Gets the session options. + + + The session options. + + + + + Gets the server session. + + + The server session. + + + + + Gets the snapshot time. + + + The snapshot time. + + + + + Aborts the transaction. + + The cancellation token. + + + + Aborts the transaction. + + The cancellation token. + A Task. + + + + The driver is about to send a command on this session. Called to track session state. + + + + + Advances the cluster time. + + The new cluster time. + + + + Advances the operation time. + + The new operation time. + + + + Advances the transaction id. + + The transaction id. + + + + Commits the transaction. + + The cancellation token. + + + + Commits the transaction. + + The cancellation token. + A Task. + + + + Marks the session as dirty. + + + + + Starts a transaction. + + The transaction options. + + + + Sets the snapshot time if not set. + + The snapshot time. + + + + Called by the driver when the session is used (i.e. sent to the server). + + + + + A handle to a reference counted core session. + + + + + + Increments the reference count of the underlying session and returns a new handle to it. + + A new handle. + + + + An object that represents no core session. + + + + + + Gets the pre-created instance. + + + The instance. + + + + + Returns a new handle to a NoCoreSession object. + + A new handle to the NoCoreSession object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A handle to a core session that should not be disposed when the handle is disposed. + + + + + + Initializes a new instance of the class. + + The wrapped session. + + + + + + + + + + A reference counted core session. + + + + + + Initializes a new instance of the class. + + The wrapped. + + + + Decrements the reference count. + + + + + Increments the reference count. + + + + + An abstract base class for a core session that wraps another core session. + + + + + + Initializes a new instance of the class. + + The wrapped. + if set to true [owns wrapped]. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the wrapped session. + + + The wrapped session. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Determines whether this instance is disposed. + + + true if this instance is disposed; otherwise, false. + + + + + Throws if disposed. + + + + + + Describing the type of the changed object. + + + + + Unknown namespace type. + + + + + Collection. + + + + + Timeseries. + + + + + View. + + + + + Represents information about a cluster. + + + + + Initializes a new instance of the class. + + The cluster identifier. + Whether to make a direct connection. + The last DNS monitor exception (null if there was none). + The type. + The servers. + + + + Gets the cluster identifier. + + + + + Gets the DirectConnection. + + + + + Gets the last DNS monitor exception (null if there was none). + + + + + Gets a value indicating whether this cluster is compatible with the driver. + + + true if this cluster is compatible with the driver; otherwise, false. + + + + + Gets the logical session timeout. + + + + + Gets the servers. + + + + + Gets the cluster state. + + + + + Gets the cluster type. + + + + + + + + + + + + + + + + + Returns a new ClusterDescription with a changed DnsMonitorException. + + The exception. + A ClusterDescription. + + + + Returns a new ClusterDescription with a changed ServerDescription. + + The server description. + A ClusterDescription. + + + + Returns a new ClusterDescription with a ServerDescription removed. + + The end point of the server description to remove. + A ClusterDescription. + + + + Returns a new ClusterDescription with a changed ClusterType. + + The value. + A ClusterDescription. + + + + Represents the data for the event that fires when a cluster description changes. + + + + + Initializes a new instance of the class. + + The old cluster description. + The new cluster description. + + + + Gets the old cluster description. + + + The old cluster description. + + + + + Gets the new cluster description. + + + The new cluster description. + + + + + Represents a cluster identifier. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The value. + + + + Gets the value. + + + The value. + + + + + + + + + + + + + + + + + Represents the state of a cluster. + + + + + The cluster is disconnected. + + + + + The cluster is connected. + + + + + Represents the type of a cluster. + + + + + The type of the cluster is unknown. + + + + + The cluster is a standalone cluster. + + + + + The cluster is a replica set. + + + + + The cluster is a sharded cluster. + + + + + The cluster is in a load balanced mode. + + + + + An election id from the server. + + + + + Initializes a new instance of the class. + + The identifier. + + + + Compares the current object with another object of the same type. + + An object to compare with this object. + + A value that indicates the relative order of the objects being compared. The return value has the following meanings: Value Meaning Less than zero This object is less than the parameter.Zero This object is equal to . Greater than zero This object is greater than . + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Represents a MongoDB cluster. + + + + + Gets the cluster identifier. + + + The cluster identifier. + + + + + Gets the cluster description. + + + The cluster description. + + + + + Gets the cluster settings. + + + The cluster settings. + + + + + Represents the config of a replica set (as reported by one of the members of the replica set). + + + + + Gets an empty replica set config. + + + An empty replica set config. + + + + + Initializes a new instance of the class. + + The members. + The name. + The primary. + The version. + + + + Gets the members. + + + The members. + + + + + Gets the name of the replica set. + + + The name of the replica set. + + + + + Gets the primary. + + + The primary. + + + + + Gets the replica set config version. + + + The replica set config version. + + + + + + + + + + + + + + Represents a selector that selects servers based on multiple partial selectors + + + + + Initializes a new instance of the class. + + The selectors. + + + + + + + + + + Represents a server selector that wraps a delegate. + + + + + Initializes a new instance of the class. + + The selector. + + + + + + + + + + Represents a selector that selects servers based on an end point. + + + + + Initializes a new instance of the class. + + The end point. + + + + + + + + + + Represents a selector that selects servers. + + + + + Selects the servers. + + The cluster. + The servers. + The selected servers. + + + + Represents a selector that selects servers within an acceptable latency range. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The allowed latency range. + + + + + + + + + + + + + + + + Represents a server selector that selects servers based on a collection of servers to deprioritize. + + + + + Initializes a new instance of the class. + + The collection of servers to deprioritize. + + + + + + + + + + Represents a selector that selects a random server. + + + + + Initializes a new instance of the class. + + + + + + + + + + + Represents a selector that selects servers based on a read preference. + + + + + Gets a ReadPreferenceServerSelector that selects the Primary. + + + A server selector. + + + + + Initializes a new instance of the class. + + The read preference. + + + + + + + + + + Represents a server selector that selects writable servers. + + + + + Gets a WritableServerSelector. + + + A server selector. + + + + + Initializes an instance of the WritableServerSelector class. + + + + + Initializes an instance of the WritableServerSelector class. + + The may use secondary criteria. + + + + Returns the may use secondary criteria. + + + + + + + + + + + Represents a compressor source. + + + + + Gets or creates a compressor based on the compressor type. + + The compressor type. + The compressor. + + + + Represents the compressor type. + + + + + The content of the message is uncompressed. This is realistically only used for testing. + + + + + The content of the message is compressed using snappy. + + + + + The content of the message is compressed using zlib. + + + + + The content of the message is compressed using zstandard. + + + + + Represents a compressor. + + + + + Gets the compressor type. + + + + + Compresses the specified stream. + + The input stream. + The output stream. + + + + Decompresses the specified stream. + + The input stream. + The output stream. + + + + Compresses the remainder of , writing the compressed data to + . + + The input stream. + The output stream. + + + + Decompresses the remainder of , writing the uncompressed data to . + + The input stream. + The output stream. + + + + Compressor according to the zlib algorithm. + + + + + Initializes a new instance of the class. + + The compression level. + + + + + + + + + + + + + Represents a cluster builder. + + + + + Initializes a new instance of the class. + + + + + Builds the cluster. + + A cluster. + + + + Configures the cluster settings. + + The cluster settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the connection settings. + + The connection settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the connection pool settings. + + The connection pool settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the logging settings. + + The logging settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the server settings. + + The server settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the SSL stream settings. + + The SSL stream settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the TCP stream settings. + + The TCP stream settings configurator delegate. + A reconfigured cluster builder. + + + + Configures the SOCKS5 proxy settings for the cluster. + + The SOCKS5 proxy settings configurator delegate. + A reconfigured cluster builder. + + + + Subscribes to events of type . + + The type of the event. + The handler. + A reconfigured cluster builder. + + + + Subscribes the specified subscriber. + + The subscriber. + A reconfigured cluster builder. + + + + Extension methods for a ClusterBuilder. + + + + + Configures a cluster builder from a connection string. + + The cluster builder. + The connection string. + A reconfigured cluster builder. + + + + Configures a cluster builder from a connection string. + + The cluster builder. + The connection string. + The server API. + A reconfigured cluster builder. + + + + Configures a cluster builder from a connection string. + + The cluster builder. + The connection string. + A reconfigured cluster builder. + + + + Configures a cluster builder from a connection string. + + The cluster builder. + The connection string. + The server API. + A reconfigured cluster builder. + + + + Configures the cluster to trace events to the specified . + + The builder. + The trace source. + A reconfigured cluster builder. + + + + Configures the cluster to trace command events to the specified . + + The builder. + The trace source. + A reconfigured cluster builder. + + + + Represents settings for a cluster. + + + + + Initializes a new instance of the class. + + Crypt client settings. + The directConnection. + The end points. + The load balanced. + The local threshold. + Maximum size of the server selection wait queue. + Name of the replica set. + The server API. + The server selection timeout. + The pre server selector. + The post server selector. + The connection string scheme. + Limits the number of SRV records used to populate the seedlist during initial discovery, as well as the number of additional hosts that may be added during SRV polling. + The SRV service name which modifies the srv URI to look like: _{srvServiceName}._tcp.{hostname}.{domainname} Defaults to "mongodb". + + + + Gets the crypt client settings. + + + + + Gets the DirectConnection. + + + + + Gets the end points. + + + The end points. + + + + + Gets whether to use load balanced. + + + + + Gets the local threshold. + + + The local threshold. + + + + + Gets the maximum size of the server selection wait queue. + + + The maximum size of the server selection wait queue. + + + + + Gets the name of the replica set. + + + The name of the replica set. + + + + + Gets the connection string scheme. + + + The connection string scheme. + + + + + Gets the server API. + + + The server API. + + + + + Gets the server selection timeout. + + + The server selection timeout. + + + + + Limits the number of SRV records used to populate the seedlist + during initial discovery, as well as the number of additional hosts + that may be added during SRV polling. + + + + + Gets the SRV service name which modifies the srv URI to look like: + _{srvServiceName}._tcp.{hostname}.{domainname} + The default value is "mongodb". + + + + + Gets the pre server selector. + + + The pre server selector. + + + + + Gets the post server selector. + + + The post server selector. + + + + + Returns a new ClusterSettings instance with some settings changed. + + Crypt client settings. + The directConnection. + The end points. + The load balanced. + The local threshold. + Maximum size of the server selection wait queue. + Name of the replica set. + The server API. + The server selection timeout. + The pre server selector. + The post server selector. + The connection string scheme. + Limits the number of SRV records used to populate the seedlist during initial discovery, as well as the number of additional hosts that may be added during SRV polling. + The SRV service name which modifies the srv URI to look like: _{srvServiceName}._tcp.{hostname}.{domainname} Defaults to "mongodb". + A new ClusterSettings instance. + + + + Represents a compressor configuration. + + + + + Initializes an instance of . + + The compressor type. + + + + Gets the compression properties. + + + + + Gets the compressor type. + + + + + + + + + + + Represents settings for a connection pool. + + + + + Initializes a new instance of the class. + + The maintenance interval. + The maximum number of connections. + The minimum number of connections. + Size of the wait queue. + The wait queue timeout. + The maximum concurrently connecting connections. + + + + Gets the maintenance interval. + values indicates that maintenance thread is disabled. + + + The maintenance interval. + + + + + Gets the maximum number of connections a pool may be establishing concurrently. Defaults to 2. + + + The maximum concurrently connecting connections. + + + + + Gets the maximum number of connections. + + + The maximum number of connections. + + + + + Gets the minimum number of connections. + + + The minimum number of connections. + + + + + Gets the size of the wait queue. + + + The size of the wait queue. + + + + + Gets the wait queue timeout. + + + The wait queue timeout. + + + + + Returns a new ConnectionPoolSettings instance with some settings changed. + + The maintenance interval. + The maximum concurrently connecting connections. + The maximum connections. + The minimum connections. + Size of the wait queue. + The wait queue timeout. + A new ConnectionPoolSettings instance. + + + + Represents settings for a connection. + + + + + Initializes a new instance of the class. + + The compressors. + The library information. + Whether the load balanced mode is enabled. + The maximum idle time. + The maximum life time. + The application name. + + + + Gets the name of the application. + + + The name of the application. + + + + + Gets the authenticator factory. + + + The authenticator factory. + + + + + Gets the compressors. + + + The compressors. + + + + + Gets the connection identifier provider. + + + + + Information about a library using the .NET driver. + + + + + Whether the load balanced mode is enabled. + + + + + Gets the maximum idle time. + + + The maximum idle time. + + + + + Gets the maximum life time. + + + The maximum life time. + + + + + Returns a new ConnectionSettings instance with some settings changed. + + The compressors. + The library information. + Whether the load balanced mode is enabled. + The maximum idle time. + The maximum life time. + The application name. + A new ConnectionSettings instance. + + + + Represents the scheme used to construct the connection string. + + + + + Mongodb scheme (mongodb://) + + + + + SRV scheme (mongodb+srv://) + + + + + Represents a connection string. + + + + + Initializes a new instance of the class. + + The connection string. + + + + Initializes a new instance of the class. + + The connection string. + Whether the connection string is resolved. + + + + Gets all the option names. + + + + + Gets all the unknown option names. + + + + + Gets the application name. + + + + + Gets the auth mechanism. + + + + + Gets the auth mechanism properties. + + + + + Gets the auth source. + + + + + Gets the requested compressors. + + + + + Gets the connect timeout. + + + + + Gets the name of the database. + + + + + Gets the directConnection. + + + + + Gets the fsync value of the write concern. + + + + + Gets the heartbeat interval. + + + + + Gets the heartbeat timeout. + + + + + Gets the hosts. + + + + + Gets whether to use IPv6. + + + + + Gets whether the connection string has been resolved. Always true when scheme is MongoDB. + + + + + Gets the journal value of the write concern. + + + + + Gets a value indicating whether load balanced mode is used. + + + + + Gets the local threshold. + + + + + Gets the maximum number of connections a pool may be establishing concurrently. Defaults to 2. + + + + + Gets the max idle time. + + + + + Gets the max life time. + + + + + Gets the max size of the connection pool. + + + + + Gets the max staleness. + + + + + Gets the min size of the connection pool. + + + + + Gets the password. + + + + + Gets the proxy host. + + + + + Gets the proxy port. + + + + + Gets the proxy username. + + + + + Gets the proxy password. + + + + + Gets the read concern level. + + + The read concern level. + + + + + Gets the read preference. + + + + + Gets the replica set name. + + + + + Gets the read preference tags. + + + + + Gets a value indicating whether or not to retry reads. + + + + + Gets a value indicating whether or not to retry writes. + + + + + Gets the connection string scheme. + + + + + Gets the server monitoring mode. + + + + + Gets the server selection timeout. + + + + + Gets the socket timeout. + + + + + Limits the number of SRV records used to populate the seedlist + during initial discovery, as well as the number of additional hosts + that may be added during SRV polling. + + + + + Gets the SRV service name which modifies the srv URI to look like: + _{srvServiceName}._tcp.{hostname}.{domainname} + + + + + Gets whether to use SSL. + + + + + Gets whether to verify SSL certificates. + + + + + Gets the per-operation timeout. + + + + + Gets whether to use TLS. + + + + + Get whether or not certificate revocation checking is disabled during the TLS handshake. + + + + + Gets whether to relax TLS constraints as much as possible. + + + + + Gets the username. + + + + + Gets the wait queue multiple. + + + + + Gets the wait queue size. + + + + + Gets the wait queue timeout. + + + + + Gets the w value of the write concern. + + + + + Gets the wtimeout value of the write concern. + + + + + Gets the option. + + The name. + The option with the specified name. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + The cancellation token. + A resolved ConnectionString. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + Whether to resolve hosts. + The cancellation token. + A resolved ConnectionString. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + The cancellation token. + A resolved ConnectionString. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + Whether to resolve hosts. + The cancellation token. + A resolved ConnectionString. + + + + + + + Represents settings for a crypt client. + + + + + Gets a value indicating whether query analysis should be bypassed. + + + + + Gets the crypt shared library path. + + + + + Gets the crypt shared library search path. + + + + + Gets the data encryption key cache expiration time. + + + + + Gets the encrypted fields map. + + + + + Gets a value indicating whether crypt shared library is required. + + + + + Gets the KMS providers. + + + + + Gets the schema map. + + + + + Initializes a new instance of the class. + + The bypass query analysis. + The crypt shared library library path. + The crypt shared library search path. + The encrypted fields map. + Value indicating whether crypt shared library is required. + The KMS providers. + The schema map. + + + + Initializes a new instance of the class. + + The bypass query analysis. + The crypt shared library library path. + The crypt shared library search path. + The encrypted fields map. + Value indicating whether crypt shared library is required. + The KMS providers. + The schema map. + The data encryption key cache expiration time. + + + + + + + + + + Represents information about a library using the .NET driver. + + + + + Gets the library name. + + + + + Gets the library version. + + + + + Initializes a new instance of the class. + + The library name. + The library version. + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + + + + + + + Represents the settings for logging. + + + + + Gets the logger factory. + + + + + Gets the maximum document size in chars. + + + + + Initializes a new instance of the class. + + The logger factory. + The maximum document size in chars. + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + + + + + + + Represents settings for a server. + + + + + Gets the default heartbeat interval. + + + + + Gets the default heartbeat timeout. + + + + + Gets the default server monitoring mode. + + + + + Initializes a new instance of the class. + + The heartbeat interval. + The heartbeat timeout. + The server monitoring mode. + + + + Gets the heartbeat interval. + + + The heartbeat interval. + + + + + Gets the heartbeat timeout. + + + The heartbeat timeout. + + + + + Gets the server monitoring mode. + + + The server monitoring mode. + + + + + Returns a new ServerSettings instance with some settings changed. + + The heartbeat interval. + The heartbeat timeout. + The server monitoring mode. + A new ServerSettings instance. + + + + Represents settings for a SOCKS5 proxy stream. + + + + + Initializes a new instance of the class. + + The settings for the SOCKS5 proxy. + + + + Gets the settings for the SOCKS5 proxy. + + + + + Creates a new instance of with the specified SOCKS5 proxy settings. + + + + + + + Represents settings for an SSL stream. + + + + + Initializes a new instance of the class. + + Whether to check for certificate revocation. + The client certificates. + The client certificate selection callback. + The enabled protocols. + The server certificate validation callback. + + + + Gets a value indicating whether to check for certificate revocation. + + + true if certificate should be checked for revocation; otherwise, false. + + + + + Gets the client certificates. + + + The client certificates. + + + + + Gets the client certificate selection callback. + + + The client certificate selection callback. + + + + + Gets the enabled SSL protocols. + + + The enabled SSL protocols. + + + + + Gets the server certificate validation callback. + + + The server certificate validation callback. + + + + + Returns a new SsslStreamSettings instance with some settings changed. + + Whether to check certificate revocation. + The client certificates. + The client certificate selection callback. + The enabled protocols. + The server certificate validation callback. + A new SsslStreamSettings instance. + + + + Represents settings for a TCP stream. + + + + + Initializes a new instance of the class. + + The address family. + The connect timeout. + The read timeout. + Size of the receive buffer. + Size of the send buffer. + The socket configurator. + The write timeout. + + + + Gets the address family. + + + The address family. + + + + + Gets the connect timeout. + + + The connect timeout. + + + + + Gets the read timeout. + + + The read timeout. + + + + + Gets the size of the receive buffer. + + + The size of the receive buffer. + + + + + Gets the size of the send buffer. + + + The size of the send buffer. + + + + + Gets the socket configurator. + + + The socket configurator. + + + + + Gets the write timeout. + + + The write timeout. + + + + + Returns a new TcpStreamSettings instance with some settings changed. + + The address family. + The connect timeout. + The read timeout. + Size of the receive buffer. + Size of the send buffer. + The socket configurator. + The write timeout. + A new TcpStreamSettings instance. + + + + Represents information describing a connection. + + + + + Initializes a new instance of the class. + + The connection identifier. + The hello result. + + + + Gets the available compressors. + + + + + Gets the connection identifier. + + + The connection identifier. + + + + + Gets the hello result. + + + The hello result. + + + + + Gets the maximum number of documents in a batch. + + + The maximum number of documents in a batch. + + + + + Gets the maximum size of a document. + + + The maximum size of a document. + + + + + Gets the maximum size of a message. + + + The maximum size of a message. + + + + + Gets the maximum size of a wire document. + + + The maximum size of a wire document. + + + + + Gets the maximum wire version. + + + The maximum wire version. + + + + + Gets the minimum wire version. + + + The minimum wire version. + + + + + Gets the server version. + + + The server version. + + + + + Gets the service identifier. + + + The service identifier. + + + + + + + + + + + + + + Returns a new instance of ConnectionDescription with a different connection identifier. + + The value. + A connection description. + + + + Represents internal ConnectionDescription extension methods. + + + + + Represents a connection identifier. + + + + + Initializes a new instance of the class. + + The server identifier. + + + + Initializes a new instance of the class. + + The server identifier. + The local value. + + + + Gets the server identifier. + + + The server identifier. + + + + + Gets the local value. + + + The local value. + + + + + Gets the local value. + + + The local value. + + + + + Gets the server value. + + + The server value. + + + + + Gets the server value. + + + The server value. + + + + + + + + + + + + + + Compares all fields of two ConnectionId instances (Equals ignores the ServerValue). + + The other ConnectionId. + True if both instances are equal. + + + + + + + Returns a new instance of ConnectionId with a new server value. + + The server value. + A ConnectionId. + + + + Represents a connection initializer (opens and authenticates connections). + + + + + Represents the result of a hello or legacy hello command. + + + + + Initializes a new instance of the class. + + The wrapped result document. + + + + Gets the compressor types. + + + + + Gets the connection id server value. + + + + + Gets the election identifier. + + + + + Get whether SaslSupportedMechs was part of the hello response. + + + Whether SaslSupportedMechs was part of the hello response. + + + + + Gets a value indicating whether this instance is an arbiter. + + + true if this instance is an arbiter; otherwise, false. + + + + + Gets a value indicating whether this instance is a mongocryptd. + + + true if this instance is a mongocryptd; otherwise, false. + + + + + Gets a value indicating whether this instance is a replica set member. + + + true if this instance is a replica set member; otherwise, false. + + + + + Gets the last write timestamp. + + + The last write timestamp. + + + + + Gets the logical session timeout. + + + The logical session timeout. + + + + + Gets the maximum number of documents in a batch. + + + The maximum number of documents in a batch. + + + + + Gets the maximum size of a document. + + + The maximum size of a document. + + + + + Gets the maximum size of a message. + + + The maximum size of a message. + + + + + Gets the endpoint the server is claiming it is known as. + + + + + Get the SaslSupportedMechs. + + + The SaslSupportedMechs. Empty if saslSupportedMechs was an empty list or if saslSupportedMechs was not + included in the hello response. + + + + + Gets the type of the server. + + + The type of the server. + + + + + Gets the service identifier. + + + The service identifier. + + + + + Get the SpeculativeAuthenticate reply. + + + Null if hello["ok"] != 1 or if the SpeculativeAuthenticate reply was not included in the hello response. + + + + + Gets the replica set tags. + + + The replica set tags. + + + + + Get the TopologyVersion. + + + Null if TopologyVersion was not included in the hello response. + + + + + Gets the maximum wire version. + + + The maximum wire version. + + + + + Gets the minimum wire version. + + + The minimum wire version. + + + + + Gets the wrapped result document. + + + The wrapped result document. + + + + + Gets whether the server support the hello command. + + + True if helloOk:true was included in the response; false otherwise. + + + + + + + + + + + + + + Gets the replica set configuration. + + The replica set configuration. + + + + Represents a stream factory. + + + + + Creates a stream. + + The end point. + The cancellation token. + A Stream. + + + + Creates a stream. + + The end point. + The cancellation token. + A Task whose result is the Stream. + + + + Represents the settings for SOCKS5 authentication. + + + + + Creates authentication settings that does not require any authentication. + + + + + Creates authentication settings for username and password. + + The username + The password + + + + + Represents settings for no authentication in SOCKS5. + + + + + + + + + + + Represents settings for username and password authentication in SOCKS5. + + + + + Gets the username for authentication. + + + + + Gets the password for authentication. + + + + + + + + + + + Represents the settings for a SOCKS5 proxy connection. + + + + + Gets the host of the SOCKS5 proxy. + + + + + Gets the port of the SOCKS5 proxy. + + + + + Gets the authentication settings of the SOCKS5 proxy. + + + + + Initializes a new instance of the class with the specified host. + + The SOCKS5 proxy host. + + + + Initializes a new instance of the class with the specified host and port. + + The proxy host. + The proxy port. + + + + Initializes a new instance of the class with the specified host and authentication settings. + + The proxy host. + The proxy authentication settings. + + + + Initializes a new instance of the class with the specified host, port, and authentication settings. + + The proxy host. + The proxy port. + The proxy authentication settings. + + + + + + + + + + + + + Represents a factory for an ssl stream. + + + + + Constructs an Ssl Stream Factory. + + The SslStreamSettings. + The underlying stream factory. + + + + + + + + + + Represents a factory for a binary stream over a TCP/IP connection. + + + + + Occurs after a server is added to the cluster. + + + + + Initializes a new instance of the struct. + + The server identifier. + The duration of time it took to add the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to add a server, + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a server is added to the cluster. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The end point. + + + + Gets the cluster identifier. + + + + + Gets the end point. + + + + + Gets the timestamp. + + + + + Occurs after a cluster is closed. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The duration of time it took to close the cluster. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to close the cluster. + + + + + Gets the timestamp. + + + + + Occurs before a cluster is closed. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + + + + Gets the cluster identifier. + + + + + Gets the timestamp. + + + + + Occurs when a cluster has changed. + + + + + Initializes a new instance of the struct. + + The old description. + The new description. + + + + Gets the cluster identifier. + + + + + Gets the old description. + + + + + Gets the new description. + + + + + Gets the timestamp. + + + + + Occurs when entering selection wait queue. + + + + + Occurs after a cluster is opened. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The cluster settings. + The duration of time it took to open the cluster. + + + + Gets the cluster identifier. + + + + + Gets the cluster settings. + + + + + Gets the duration of time it took to open the cluster. + + + + + Gets the timestamp. + + + + + Occurs before a cluster is opened. + + + + + Initializes a new instance of the struct. + + The cluster identifier. + The cluster settings. + + + + Gets the cluster identifier. + + + + + Gets the cluster settings. + + + + + Gets the timestamp. + + + + + Occurs after a server has been removed from the cluster. + + + + + Initializes a new instance of the struct. + + The server identifier. + The reason. + The duration of time it took to remove the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to remove the server. + + + + + Gets the reason the server was removed. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a server is removed from the cluster. + + + + + Initializes a new instance of the struct. + + The server identifier. + The reason the server is being removed. + + + + Gets the cluster identifier. + + + + + Gets the reason the server is being removed. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a server is selected. + + + + + Initializes a new instance of the struct. + + The cluster description. + The server selector. + The selected server. + The duration of time it took to select the server. + The operation identifier. + The operation name. + + + + Gets the cluster identifier. + + + + + Gets the cluster description. + + + + + Gets the duration of time it took to select the server. + + + + + Gets the operation identifier. + + + + + Gets the operation name. + + + + + Gets the server selector. + + + + + Gets the selected server. + + + + + Gets the timestamp. + + + + + Occurs before a server is selected. + + + + + Initializes a new instance of the struct. + + The cluster description. + The server selector. + The operation identifier. + The operation name. + + + + Gets the cluster identifier. + + + + + Gets the cluster description. + + + + + Gets the operation identifier. + + + + + Gets the operation name. + + + + + Gets the server selector. + + + + + Gets the timestamp. + + + + + Occurs when selecting a server fails. + + + + + Initializes a new instance of the struct. + + The cluster description. + The server selector. + The exception. + The operation identifier. + The operation name. + + + + Gets the cluster identifier. + + + + + Gets the cluster description. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the operation name. + + + + + Gets the server selector. + + + + + Gets the timestamp. + + + + + Occurs when a command has failed. + + + + + Initializes a new instance of the struct. + + Name of the command. + The database namespace. + The exception. + The operation identifier. + The request identifier. + The connection identifier. + The duration. + + + + Initializes a new instance of the struct. + + Name of the command. + The database namespace. + The exception. + The operation identifier. + The request identifier. + The connection identifier. + The service identifier. + The duration. + + + + Gets the name of the command. + + + + + Gets the connection identifier. + + + + + Gets the database namespace. + + + + + Gets the duration. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the request identifier. + + + + + Gets the service identifier. + + + + + Gets the timestamp. + + + + + Occurs when a command has started. + + + + + Initializes a new instance of the class. + + Name of the command. + The command. + The database namespace. + The operation identifier. + The request identifier. + The connection identifier. + + + + Initializes a new instance of the class. + + Name of the command. + The command. + The database namespace. + The operation identifier. + The request identifier. + The connection identifier. + The service identifier. + + + + Gets the command. + + + + + Gets the name of the command. + + + + + Gets the connection identifier. + + + + + Gets the database namespace. + + + + + Gets the operation identifier. + + + + + Gets the request identifier. + + + + + Gets the service identifier. + + + + + Gets the timestamp. + + + + + Occurs when a command has succeeded. + + + + + Initializes a new instance of the struct. + + Name of the command. + The reply. + The database namespace. + The operation identifier. + The request identifier. + The connection identifier. + The duration. + + + + Initializes a new instance of the struct. + + Name of the command. + The reply. + The database namespace. + The operation identifier. + The request identifier. + The connection identifier. + The service identifier. + The duration. + + + + Gets the name of the command. + + + + + Gets the connection identifier. + + + + + Gets the database namespace. + + + + + Gets the duration. + + + + + Gets the operation identifier. + + + + + Gets the reply. + + + + + Gets the request identifier. + + + + + Gets the service identifier. + + + + + Gets the timestamp. + + + + + Represents the reason an attempt to check out a connection failed. + + + + + The connection pool is closed. + + + + + Timeout waiting for a connection to become available. + + + + + Connection error while opening a new connection. + + + + + Occurs after a connection is closed. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to close the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to close the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Represents the reason a connection was closed. + + + + + The pool was cleared, making the connection no longer valid. + + + + + The connection became stale by being available for too long. + + + + + The connection experienced an error, making it no longer valid. + + + + + The pool was closed, making the connection no longer valid. + + + + + The reason the connection was closed is unknown. + + + + + Occurs before a connection is closed. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a connection is created. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The connection settings. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the connection settings. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a connection fails. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The exception. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the exception. + + + The exception. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a connection is opened. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The connection settings. + The duration of time it took to open the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the connection settings. + + + + + Gets the duration of time it took to open the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a connection is opened. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The connection settings. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the connection settings. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a connection fails to open. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The connection settings. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the connection settings. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a connection is added to the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to add the connection to the pool. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to add the server to the pool. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a connection is added to the pool. + + + + + Initializes a new instance of the struct. + + The server identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a connection is checked in to the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to check in the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to check in the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a connection is checked out of the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to check out the connection. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to check out the connection. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a connection is checked in to the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a connection is checked out of the pool. + + + + + Initializes a new instance of the struct. + + The server identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a connection could not be checked out of the pool. + + + + + Initializes a new instance of the struct. + + The server identifier. + The exception. + The operation identifier. + The duration of time it took trying to check out the connection. + The reason the checkout failed. + + + + Gets the cluster identifier. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the reason the checkout failed. + + + + + Gets the server identifier. + + + + + Gets the duration of time it took trying to check out the connection. + + + + + Gets the timestamp. + + + + + Occurs after the pool is cleared. + + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + Whether in use connections should be closed. + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + The service identifier. + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + The service identifier. + Whether in use connections should be closed. + + + + Gets a value indicating whether in use connections should be closed. + + + + + Gets the cluster identifier. + + + + + Gets the connection pool settings. + + + + + Gets the server identifier. + + + + + Gets the service identifier. + + + + + Gets the timestamp. + + + + + Occurs when the pool is about to be cleared. + + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + Whether in use connections should be closed. + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + The service identifier. + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + The service identifier. + Whether in use connections should be closed. + + + + Gets a value indicating whether in use connections should be closed. + + + + + Gets the cluster identifier. + + + + + Gets the connection pool settings. + + + + + Gets the service identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after the pool is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before the pool is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after the pool is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + + + + Gets the cluster identifier. + + + + + Gets the connection pool settings. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before the pool is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + + + + Gets the cluster identifier. + + + + + Gets the connection pool settings. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after the pool is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The connection pool settings. + + + + Gets the cluster identifier. + + + + + Gets the connection pool settings. + + + + + Gets the server identifier. + + + + + Occurs after a connection is removed from the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to remove the connection from the pool. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to remove the connection from the pool. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a connection is removed from the pool. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a message is received. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The id of the message we received a response to. + The length of the received message. + The duration of network time it took to receive the message. + The duration of deserialization time it took to receive the message. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to receive the message. + + + + + Gets the duration of deserialization time it took to receive the message. + + + + + Gets the duration of network time it took to receive the message. + + + + + Gets the length of the received message. + + + + + Gets the operation identifier. + + + + + Gets the id of the message we received a response to. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a message is received. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The id of the message we are receiving a response to. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the operation identifier. + + + + + Gets the id of the message we are receiving a response to. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a message was unable to be received. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The id of the message we were receiving a response to. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets id of the message we were receiving a response to. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a message is sent. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The request ids. + The operation identifier. + + + + Initializes a new instance of the struct. + + The connection identifier. + The request id. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the request id. + + + + + Gets the request ids. + + + + + Gets the operation identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a message could not be sent. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The request ids. + The exception. + The operation identifier. + + + + Initializes a new instance of the struct. + + The connection identifier. + The request id. + The exception. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the exception. + + + + + Gets the operation identifier. + + + + + Gets the request id. + + + + + Gets the request ids. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a message has been sent. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The request ids. + The length. + The duration of time spent on the network. + The duration of time spent serializing the messages. + The operation identifier. + + + + Initializes a new instance of the struct. + + The connection identifier. + The request id. + The length. + The duration of time spent on the network. + The duration of time spent serializing the messages. + The operation identifier. + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to send the message. + + + + + Gets the duration of time spent on the network. + + + + + Gets the operation identifier. + + + + + Gets the duration of time spent serializing the messages. + + + + + Gets the combined length of the messages. + + + + + Gets the request id. + + + + + Gets the request ids. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + An event subscriber that writes command events to a trace source. + + + + + Initializes a new instance of the class. + + The trace source. + + + + + + + An event subscriber that writes to a trace source. + + + + + Initializes a new instance of the class. + + The trace source. + + + + + + + An event subscriber that writes SDAM events to a trace source. + + + + + Initializes a new instance of the class. + + The trace source. + + + + + + + A subscriber to events. + + + + + Tries to get an event handler for an event of type . + + The type of the event. + The handler. + true if this subscriber has provided an event handler; otherwise false. + + + + Subscribes methods with a single argument to events + of that single argument's type. + + + + + Initializes a new instance of the class. + + The instance. + Name of the method to match against. + The binding flags. + + + + + + + An informational event used for logging Server Discovery and Monitoring (SDAM) events. + + + + + Initializes a new instance of the struct. + + Message format. + Message argument. + + + + Initializes a new instance of the struct. + + Message format. + Message arguments. + + + + Gets the message. + + + + + Gets the timestamp. + + + + + + + + Occurs after a server is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + The duration of time it took to close the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to close the server. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before a server is closed. + + + + + Initializes a new instance of the struct. + + The server identifier. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a server's description has changed. + + + + + Initializes a new instance of the struct. + + The old description. + The new description. + + + + Gets the cluster identifier. + + + + + Gets the new description. + + + + + Gets the old description. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a heartbeat failed. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The exception. + The awaited flag. + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time passed since corresponding . + The exception. + The awaited flag. + + + + Determines if this heartbeat event is for an awaitable hello. + + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time passed since corresponding . + + + + + Gets the exception. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs before heartbeat is issued. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The awaited flag. + + + + Determines if this heartbeat event is for an awaitable hello. + + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs when a heartbeat succeeded. + + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to complete the heartbeat. + The awaited flag. + + + + Initializes a new instance of the struct. + + The connection identifier. + The duration of time it took to complete the heartbeat. + The awaited flag. + The server response. + + + + Determines if this heartbeat event is for an awaitable hello. + + + + + Gets the cluster identifier. + + + + + Gets the connection identifier. + + + + + Gets the duration of time it took to complete the heartbeat. + + + + + Gets the server response. + + + + + Gets the server identifier. + + + + + Gets the timestamp. + + + + + Occurs after a server is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The server settings. + The duration of time it took to open the server. + + + + Gets the cluster identifier. + + + + + Gets the duration of time it took to open the server. + + + + + Gets the server identifier. + + + + + Gets the server settings. + + + + + Gets the timestamp. + + + + + Occurs before a server is opened. + + + + + Initializes a new instance of the struct. + + The server identifier. + The server settings. + + + + Gets the cluster identifier. + + + + + Gets the server identifier. + + + + + Gets the server settings. + + + + + Gets the timestamp. + + + + + Subscriber for a single type of event. + + The type of the single event. + + + + Initializes a new instance of the class. + + The handler. + + + + + + + Represents a batch of items that can be split if not all items can be processed at once. + + The type of the items. + + + + Initializes a new instance of the class. + + + Use this overload when you know the batch is small and won't have to be broken up into sub-batches. + In that case using this overload is simpler than using an enumerator and using the other constructor. + + The single batch. + + + + Initializes a new instance of the class. + + The enumerator that will provide the items for the batch. + + + + Initializes a new instance of the class. + + The items. + if set to true the batch can be split. + + + + Initializes a new instance of the class. + + The items. + The offset. + The count. + if set to true the batch can be split. + + + + Gets a value indicating whether all items were processed. + + + true if all items were processed; otherwise, false. + + + + + Gets a value indicating whether the batch can be split. + + + true if the batch can be split; otherwise, false. + + + + + Gets the count. + + + The count. + + + + + Gets the items. + + + The items. + + + + + Gets the offset. + + + The offset. + + + + + Gets the count of processed items. Equal to zero until SetProcessedCount has been called. + + + The count of processed items. + + + + + Advances past the processed items. + + + + + Gets the items in the batch. + + + The items in the batch. + + + + + Gets the items that were processed. + + + The items that were processed. + + + + + Gets the items that were not processed. + + + The items that were not processed. + + + + + Sets the processed count. + + The value. + + + + Compute the wait queue size. + + The max number of connections. + The multiplier. + The computed wait queue size. + + + + Gets the effective max connections. + + The max connections (0 means no max). + The effective max connections. + + + + Gets the effective max connections. + + The max connections (0 means no max). + The effective max connections (or null if maxConnections is null). + + + + Represents helper methods for EndPoints. + + + + + Gets an end point equality comparer. + + + An end point equality comparer. + + + + + Determines whether a list of end points contains a specific end point. + + The list of end points. + The specific end point to search for. + True if the list of end points contains the specific end point. + + + + Compares two end points. + + The first end point. + The second end point. + True if both end points are equal, or if both are null. + + + + Creates an end point from object data saved during serialization. + + The object data. + An end point. + + + + Gets the object data required to serialize an end point. + + The end point. + The object data. + + + + Compares two sequences of end points. + + The first sequence of end points. + The second sequence of end points. + True if both sequences contain the same end points in the same order, or if both sequences are null. + + + + Parses the string representation of an end point. + + The value to parse. + An end point. + + + + Returns a that represents the end point. + + The end point. + + A that represents the end point. + + + + + Tries to parse the string representation of an end point. + + The value to parse. + The result. + True if the string representation was parsed successfully. + + + + Represents methods that can be used to ensure that parameter values meet expected conditions. + + + + + Ensures that the value of a parameter is not null. + + Type type of the value. + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is between a minimum and a maximum value. + + Type type of the value. + The value of the parameter. + The minimum value. + The maximum value. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is equal to a comparand. + + Type type of the value. + The value of the parameter. + The comparand. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than a comparand. + + Type type of the value. + The value of the parameter. + The comparand. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to a comparand. + + Type type of the value. + The value of the parameter. + The comparand. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is infinite or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is infinite or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is not null. + + Type type of the value. + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is not null and does not contain any nulls. + + Type of the value. + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is not null or empty. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is not null or empty. + + The type of the elements. + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null. + + Type type of the value. + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or is between a minimum and a maximum value. + + Type type of the value. + The value of the parameter. + The minimum value. + The maximum value. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or greater than zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null, or infinite, or greater than or equal to zero. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or not empty. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is null or a valid timeout. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that the value of a parameter is a valid timeout. + + The value of the parameter. + The name of the parameter. + The value of the parameter. + + + + Ensures that an assertion is true. + + The assertion. + The message to use with the exception that is thrown if the assertion is false. + + + + Ensures that an assertion is true. + + The assertion. + The message to use with the exception that is thrown if the assertion is false. + The parameter name. + + + + Ensures that the value of a parameter meets an assertion. + + Type type of the value. + The value of the parameter. + The assertion. + The name of the parameter. + The message to use with the exception that is thrown if the assertion is false. + The value of the parameter. + + + + A mapper from error responses to custom exceptions. + + + + + Maps the specified response to a custom exception (if possible). + + The connection identifier. + The response. + + The custom exception (or null if the response could not be mapped to a custom exception). + + + + + Maps the specified writeConcernResult to a custom exception (if necessary). + + The connection identifier. + The write concern result. + + The custom exception (or null if the writeConcernResult was not mapped to an exception). + + + + + Maps the server response to a MongoNotPrimaryException or MongoNodeIsRecoveringException (if appropriate). + + The connection identifier. + The command. + The server response. + Name of the error message field. + The exception, or null if no exception necessary. + + + + Represents a feature that is not supported by all versions of the server. + + + + + Gets the aggregate accumulator feature. + + + + + Gets the aggregate $function stage feature. + + + + + Gets the aggregate let feature. + + + + + Gets the aggregate merge feature. + + + + + Gets the aggregate out on secondary feature. + + + + + Gets the aggregate out to time series feature. + + + + + Gets the aggregate out to a different database feature. + + + + + Gets the aggregate toString feature. + + + + + Gets the aggregate unionWith feature. + + + + + Gets the bitwise operators feature. + + + + + Gets the change stream all changes for cluster feature. + + + + + Gets the change stream for database feature. + + + + + Gets the change stream post batch resume token feature. + + + + + Gets the change stream pre post images feature. + + + + + Gets the change stream splitEvent stage feature. + + + + + Gets the client bulk write feature. + + + + + Gets the client side encryption feature. + + + + + Gets the clustered indexes feature. + + + + + Gets the conversion of binary data to/from numeric types feature. + + + + + Gets the conversion of binary data to/from string feature. + + + + + Gets the create index commit quorum feature. + + + + + Gets the create indexes using insert operations feature. + + + + + Gets the csfle range algorithm feature. + + + + + Gets the client side field level encryption 2 feature. + + + + + Gets the client side field level encryption 2 queryable encryption v2 feature. + + + + + Gets the csfle2 $lookup support feature. + + + + + Gets the csfle2 range algorithm feature. + + + + + Gets the csfle2 textPreview algorithm feature. + + + + + Gets the $dateFromString format argument feature. + + + + + Gets the date operators added in 5.0 feature. + + + + + Gets the aggregate $densify stage feature. + + + + + Gets the documents stage feature. + + + + + Gets the directConnection setting feature. + + + + + Gets the electionIdPriorityInSDAM feature. + + + + + Gets the eval feature. + + + + + Gets the fail points block connection feature. + + + + + Gets the fail points fail command feature. + + + + + Gets the fail points fail command for sharded feature. + + + + + Gets filter limit feature. + + + + + Gets the find allowDiskUse feature. + + + + + Gets the find projection expressions feature. + + + + + Gets the geoNear command feature. + + + + + + Gets the getField feature. + + + + + Gets the getMore comment feature. + + + + + Gets the group command feature. + + + + + Gets the hedged reads feature. + + + + + Gets the hidden index feature. + + + + + Gets the hint for delete operations feature. + + + + + Gets the hint for find and modify operations feature. + + + + + Gets the hint for update and replace operations feature. + + + + + Gets the keep connection pool when NotPrimary connection exception feature. + + + + + Gets the keep connection pool when replSetStepDown feature. + + + + + Gets the legacy wire protocol feature. + + + + + Get the list databases authorizedDatabases feature. + + + + + Gets the load balanced mode feature. + + + + + Gets the lookup concise syntax feature. + + + + + Gets the lookup documents feature. + + + + + Gets the mmapv1 storage engine feature. + + + + + Gets the $median operator added in 7.0 + + + + + Gets the $percentile operator added in 7.0 + + + + + Gets the pick accumulators new in 5.2 feature. + + + + + Gets the $rankFusion feature. + + + + + Gets the regex match feature. + + + + + Gets the $round feature. + + + + + Gets the scram sha256 authentication feature. + + + + + Gets the server returns resumableChangeStream label feature. + + + + + Gets the server returns retryable writeError label feature. + + + + + Gets the $set stage feature. + + + + + Gets the set window fields feature. + + + + + Gets the set window fields $locf feature. + + + + + Gets the sharded transactions feature. + + + + + Gets the $sigmoid operator feature. + + + + + Gets the snapshot reads feature. + + + + + Gets the $sortArray operator feature. + + + + + Gets the speculative authentication feature. + + + + + Gets the speculative authentication feature. + + + + + Gets the streaming hello feature. + + + + + Gets the $toXyz conversion operators feature ($toDouble etc.). + + + + + Gets the transactions feature. + + + + + Gets the trig operators feature. + + + + + Gets the trim operator feature. + + + + + Gets the update with aggregation pipeline feature. + + + + + Gets the wildcard indexes feature. + + + + + Initializes a new instance of the class. + + The name of the feature. + The first wire version that supports the feature. + The wire version that stops support the feature. + The not supported error message. + + + + Gets the name of the feature. + + + + + Gets the error message to be used by the feature support checks. + + + + + Throws an exception if the feature is not supported in the server used by the client. + + The client. + The cancellation token. + + + + Throws an exception if the feature is not supported in the server used by the client. + + The client. + The cancellation token. + + + + + + + Abstractions of the file system. + + + + + Abstraction for static methods in . + + + + + A serializer for BatchableSource that serializes a fixed count of items. + + The type of the items. + + + + Initializes a new instance of the class. + + The item serializer. + The item element name validator. + The count. + + + + + + + + + + + + + Represents the hint for find and modify feature. + + + + + Initializes a new instance of the class. + + The name of the feature. + The first wire version that supports the feature. + + + + Determines whether the driver must throw an exception if the feature is not supported by the server. + + The wire version. + Whether the driver must throw if feature is not supported. + + + + Represents a batch of items that can be split if not all items can be processed at once. + + The type of the items. + + + + Gets a value indicating whether all items were processed. + + + true if all items were processed; otherwise, false. + + + + + Gets a value indicating whether the batch can be split. + + + true if the batch can be split; otherwise, false. + + + + + Gets the count. + + + The count. + + + + + Gets the items. + + + The items. + + + + + Gets the offset. + + + The offset. + + + + + Gets the count of processed items. Equal to zero until SetProcessedCount has been called. + + + The count of processed items. + + + + + Advances past the processed items. + + + + + Gets the items in the batch. + + + The items in the batch. + + + + + Gets the items that were processed. + + + The items that were processed. + + + + + Gets the items that were not processed. + + + The items that were not processed. + + + + + Sets the processed count. + + The value. + + + + Thread-safe helper to manage a value. + + + + + Represents a range between a minimum and a maximum value. + + The type of the value. + + + + Initializes a new instance of the class. + + The minimum value. + The maximum value. + + + + Gets the maximum value. + + + The maximum value. + + + + + Gets the minimum value. + + + The minimum value. + + + + + + + + + + + + + + Determines whether this range overlaps with another range. + + The other range. + True if this range overlaps with the other + + + + + + + Should only be used when the safety of the data cannot be guaranteed. + For instance, when the secure string is a password used in a plain text protocol. + + The secure string. + The CLR string. + + + + Converts to . + + The string value. + + The secure string. + + + + + Represents a semantic version number. + + + + + Initializes a new instance of the class. + + The major version. + The minor version. + The patch version. + + + + Initializes a new instance of the class. + + The major version. + The minor version. + The patch version. + The pre release version. + + + + Gets the internal build commit hash. + + + + + Gets the number of commits after release. + + + + + Gets the major version. + + + The major version. + + + + + Gets the minor version. + + + The minor version. + + + + + Gets the patch version. + + + The patch version. + + + + + Gets the pre release version. + + + The pre release version. + + + + + + + + + + + + + + + + + + + + Parses a string representation of a semantic version. + + The string value to parse. + A semantic version. + + + + Tries to parse a string representation of a semantic version. + + The string value to parse. + The result. + True if the string representation was parsed successfully; otherwise false. + + + + Determines whether two specified semantic versions have the same value. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is the same as the value of b; otherwise false. + + + + + Determines whether two specified semantic versions have different values. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is different from the value of b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is greater than the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is greater than b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is greater than or equal to the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is greater than or equal to b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is less than the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is less than b; otherwise false. + + + + + Determines whether the first specified SemanticVersion is less than or equal to the second specified SemanticVersion. + + The first semantic version to compare, or null. + The second semantic version to compare, or null. + + True if the value of a is less than or equal to b; otherwise false. + + + + + Represents a tentative request to acquire a SemaphoreSlim. + + + + + Initializes a new instance of the class. + + The semaphore. + The cancellation token. + + + + Initializes a new instance of the class. + + The semaphore. + The timeout. + The cancellation token. + + + + Gets the semaphore wait task. + + + The semaphore wait task. + + + + + + + + A serializer for BatchableSource that serializes as much of the BatchableSource as fits in the max batch count and size. + + The type of the items. + + + + Initializes a new instance of the class. + + The item serializer. + The item element name validator. + The maximum batch count. + The maximum size of a serialized item. + The maximum size of the batch. + + + + + + + + + + + + Gets whether a yield is not required. + This property is intended for compiler user rather than use directly in code. + + + + Wire version 0. + + + + + Wire version 2. + + + + + Wire version 3. + + + + + Wire version 4. + + + + + Wire version 5. + + + + + Wire version 6. + + + + + Wire version 7. + + + + + Wire version 8. + + + + + Wire version 9. + + + + + Wire version 10. + + + + + Wire version 11. + + + + + Wire version 12. + + + + + Wire version 13. + + + + + Wire version 14. + + + + + Wire version 15. + + + + + Wire version 16. + + + + + Wire version 17. + + + + + Wire version 18. + + + + + Wire version 19. + + + + + Wire version 20. + + + + + Wire version 21. + + + + + Wire version 22. + + + + + Wire version 23. + + + + + Wire version 24. + + + + + Wire version 25. + + + + + Wire version 26. + + + + + Wire version 27. + + + + + Wire version 28. + + + + + Initializes a new instance of the class. + + The database namespace. + The pipeline. + The result value serializer. + The message encoder settings. + + + + Initializes a new instance of the class. + + The collection namespace. + The pipeline. + The result value serializer. + The message encoder settings. + + + + Gets or sets a value indicating whether the server is allowed to use the disk. + + + A value indicating whether the server is allowed to use the disk. + + + + + Gets or sets the size of a batch. + + + The size of a batch. + + + + + Gets or sets the collation. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets or sets the comment. + + + The comment. + + + + + Gets the database namespace. + + + The database namespace. + + + + + Gets or sets the hint. This must either be a BsonString representing the index name or a BsonDocument representing the key pattern of the index. + + + The hint. + + + + + Gets or sets the "let" definition. + + + The "let" definition. + + + + + Gets or sets the maximum await time. + + + The maximum await time. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + The maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the pipeline. + + + The pipeline. + + + + + Gets or sets the read concern. + + + The read concern. + + + + + Gets the result value serializer. + + + The result value serializer. + + + + + Gets or sets a value indicating whether to retry. + + Whether to retry. + + + + Gets or sets a value indicating whether the server should use a cursor to return the results. + + + A value indicating whether the server should use a cursor to return the results. + + + + + + + + + + + + + + + + + Represents the result of one batch executed using a write command. + + + + + A change stream cursor. + + The type of the output documents. + + + + + + + + Initializes a new instance of the class. + + The cursor. + The document serializer. + The binding. + The change stream operation. + The post batch resume token from an aggregate command. + The initial operation time. + The start after value. + The resume after value. + The start at operation time value. + The maximum wire version. + + + + + + + + + + + + + + + + Gets or sets the size of the batch. + + + The size of the batch. + + + + + Gets or sets the collation. + + + The collation. + + + + + Gets or sets the comment. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets the database namespace. + + + The database namespace. + + + + + Gets or sets the full document option. + + + The full document option. + + + + + Gets or sets the full document before change option. + + + The full document before change option. + + + + + Gets or sets the maximum await time. + + + The maximum await time. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the pipeline. + + + The pipeline. + + + + + Gets or sets the read concern. + + + The read concern. + + + + + Gets the result serializer. + + + The result serializer. + + + + + + + + Gets or sets a value indicating whether to retry. + + Whether to retry. + + + + + + + + + + + + + + + + + + + + + + + + + Represents a create search indexes operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The requests. + The message encoder settings. + + + + + + + + + + A helper class for deserializing documents in a cursor batch. + + + + + Deserializes the documents. + + The type of the document. + The batch. + The document serializer. + The message encoder settings. + The documents. + + + + Represents a drop index operation. + + + + + Initializes a new instance of the class. + + The collection namespace. + The name of the index. + The message encoder settings. + + + + + + + + + + Represents a deserializer that deserializes the selected element and skips any others. + + The type of the value. + + + + Represents an element name validator for replace operations. + + + + + Gets a pre-created instance of an ReplacementElementNameValidator. + + + The pre-created instance. + + + + + + + + + + + Represents an element name validator for update operations. + + + + + Gets a pre-created instance of an UpdateElementNameValidator. + + + The pre-created instance. + + + + + + + + + + + Represents an element name validator that will validate element names for either an update or a replacement based on whether the first element name starts with a "$". + + + + + Initializes a new instance of the class. + + + + + + + + + + + Represents a map-reduce operation. + + The type of the result. + + + + Initializes a new instance of the class. + + The collection namespace. + The map function. + The reduce function. + The result serializer. + The message encoder settings. + + + + Gets or sets the read concern. + + + The read concern. + + + + + Gets the result serializer. + + + The result serializer. + + + + + + + + + + + + + + + + + Represents a base class for map-reduce operations. + + + + + Initializes a new instance of the class. + + The collection namespace. + The map function. + The reduce function. + The message encoder settings. + + + + Gets or sets the collation. + + + The collation. + + + + + Gets the collection namespace. + + + The collection namespace. + + + + + Gets or sets the filter. + + + The filter. + + + + + Gets or sets the finalize function. + + + The finalize function. + + + + + Gets or sets a value indicating whether objects emitted by the map function remain as JavaScript objects. + + + + Setting this value to true can result in faster execution, but requires more memory on the server, and if + there are too many emitted objects the map-reduce operation may fail. + + true if objects emitted by the map function remain as JavaScript objects; otherwise, false. + + + + + Gets or sets the maximum number of documents to pass to the map function. + + + The maximum number of documents to pass to the map function. + + + + + Gets the map function. + + + The map function. + + + + + Gets or sets the maximum time the server should spend on this operation. + + + The maximum time the server should spend on this operation. + + + + + Gets the message encoder settings. + + + The message encoder settings. + + + + + Gets the reduce function. + + + The reduce function. + + + + + Gets or sets the scope document. + + + The scode document defines global variables that are accessible from the map, reduce and finalize functions. + + + The scope document. + + + + + Gets or sets the sort specification. + + + The sort specification. + + + + + Gets or sets a value indicating whether to include extra information, such as timing, in the result. + + + true if extra information, such as timing, should be included in the result; otherwise, false. + + + + + Creates the output options. + + The output options. + + + + Represents a map-reduce operation that outputs its results to a collection. + + + + + Initializes a new instance of the class. + + The collection namespace. + The output collection namespace. + The map function. + The reduce function. + The message encoder settings. + + + + Gets or sets a value indicating whether to bypass document validation. + + + A value indicating whether to bypass document validation. + + + + + Gets or sets a value indicating whether the server should not lock the database for merge and reduce output modes. + + + true if the server should not lock the database for merge and reduce output modes; otherwise, false. + + + + + Gets the output collection namespace. + + + The output collection namespace. + + + + + Gets or sets the output mode. + + + The output mode. + + + + + Gets or sets a value indicating whether the output collection should be sharded. + + + true if the output collection should be sharded; otherwise, false. + + + + + Gets or sets the write concern. + + + The write concern. + + + + + + + + + + + + + + + + + Represents a bulk write operation exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The result. + The write errors. + The write concern error. + The unprocessed requests. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the result of the bulk write operation. + + + + + Gets the unprocessed requests. + + + The unprocessed requests. + + + + + + Gets the write concern error. + + + The write concern error. + + + + + Gets the write errors. + + + The write errors. + + + + + + + + Value indicating whether the exception requests additional authentication attempt. + + The command exception. + The command. + The flag. + + This logic is completely separate from a standard retry mechanism and related only to authentication. + + + + + + + + Represents information about a server. + + + + + Initializes a new instance of the class. + + The server identifier. + The end point. + The reason the server description was last changed. + The average round trip time. + The canonical end point. + The election identifier. + The heartbeat exception. + The heartbeat interval. + Whether the server supports the hello command. + The last heartbeat timestamp. + The last update timestamp. + The last write timestamp. + The logical session timeout. + The maximum batch count. + The maximum size of a document. + The maximum size of a message. + The maximum size of a wire document. + The replica set configuration. + The server state. + The replica set tags. + The topology version. + The server type. + The server version. + The wire version range. + EndPoint and ServerId.EndPoint must match. + + + + Gets the average round trip time. + + + The average round trip time. + + + + + Gets the canonical end point. This is the endpoint that the cluster knows this + server by. Currently, it only applies to a replica set config and will match + what is in the replica set configuration. + + + + + Gets the election identifier. + + + + + Gets the end point. + + + The end point. + + + + + Gets the most recent heartbeat exception. + + + The the most recent heartbeat exception (null if the most recent heartbeat succeeded). + + + + + Gets the heartbeat interval. + + + The heartbeat interval. + + + + + Whether the server supports the hello command. + + + True if the server responded with helloOk:true; false otherwise. + + + + + Gets a value indicating whether this server is compatible with the driver. + + + true if this server is compatible with the driver; otherwise, false. + + + + + Gets a value indicating whether this instance is a data bearing server. + + + true if this instance is a data bearing server; otherwise, false. + + + + + Gets the last heartbeat timestamp. + + + The last heartbeat timestamp. + + + + + Gets the last update timestamp (when the ServerDescription itself was last updated). + + + The last update timestamp. + + + + + Gets the last write timestamp (from the lastWrite field of the hello or legacy hello result). + + + The last write timestamp. + + + + + Gets the logical session timeout. + + + The logical session timeout. + + + + + Gets the maximum number of documents in a batch. + + + The maximum number of documents in a batch. + + + + + Gets the maximum size of a document. + + + The maximum size of a document. + + + + + Gets the maximum size of a message. + + + The maximum size of a message. + + + + + Gets the maximum size of a wire document. + + + The maximum size of a wire document. + + + + + Gets the maximum wire version. + + + The maximum wire version. + + + + + The reason the server description was last changed. + + The reason the server description was last changed. + + + + Gets the replica set configuration. + + + The replica set configuration. + + + + + Gets the server identifier. + + + The server identifier. + + + + + Gets the server state. + + + The server state. + + + + + Gets the replica set tags. + + + The replica set tags (null if not a replica set or if the replica set has no tags). + + + + + Gets the server type. + + + The server type. + + + + + Gets the topology version. + + + The server topology version. + + + + + Gets the approximate server version (only the major and minor version numbers are known). + + + The server version. + + + + + Gets the wire version range. + + + The wire version range. + + + + + + + + + + + + + + Determines whether the specified can be considered as equal to decide should we publish sdam events or not. + + The other server description. + true, if sdam events should be suppressed, otherwise false. + + + + + + + Returns a new instance of ServerDescription with some values changed. + + The reason the server description changed. + The average round trip time. + The canonical end point. + The election identifier. + The heartbeat exception. + The heartbeat interval. + Whether the server supports the hello command. + The last heartbeat timestamp. + The last update timestamp. + The last write timestamp. + The logical session timeout. + The maximum batch count. + The maximum size of a document. + The maximum size of a message. + The maximum size of a wire document. + The replica set configuration. + The server state. + The replica set tags. + The topology version. + The server type. + The server version. + The wire version range. + + A new instance of ServerDescription. + + + + + Returns a new ServerDescription with a new HeartbeatException. + + The heartbeat exception. + + A new instance of ServerDescription. + + + + + Represents the arguments to the event that occurs when the server description changes. + + + + + Initializes a new instance of the class. + + The old server description. + The new server description. + + + + Gets the old server description. + + + The old server description. + + + + + Gets the new server description. + + + The new server description. + + + + + + + + Represents a server identifier. + + + + + Initializes a new instance of the class. + + The cluster identifier. + The end point. + + + + Gets the cluster identifier. + + + The cluster identifier. + + + + + Gets the end point. + + + The end point. + + + + + + + + + + + + + + + + + + + + Represents the server monitoring mode. + + + + + Use polling protocol on FaaS platforms or streaming protocol otherwise. (Default) + + + + + Use polling protocol. + + + + + Use streaming protocol. + + + + + Represents the server state. + + + + + The server is disconnected. + + + + + The server is connected. + + + + + Represents the server type. + + + + + The server type is unknown. + + + + + The server is a standalone server. + + + + + The server is a shard router. + + + + + The server is a replica set primary. + + + + + The server is a replica set secondary. + + + + + Use ReplicaSetSecondary instead. + + + + + The server is a replica set arbiter. + + + + + The server is a replica set member of some other type. + + + + + The server is a replica set ghost member. + + + + + The server is under load balancing. + + + + + Represents extension methods on ServerType. + + + + + Determines whether this server type is a replica set member. + + The type of the server. + Whether this server type is a replica set member. + + + + Determines whether this server type is a writable server. + + The type of the server. + Whether this server type is a writable server. + + + + Infers the cluster type from the server type. + + The type of the server. + The cluster type. + + + + Represents a topology description. + + + Comparing topology descriptions freshness does not exhibit the reversal property of + inequalities e.g. IsStalerThan(a, b) (a "<" b) does not imply !IsStalerThan(b, a) (b ">" a) + See for more information. + + + + + Compares a local TopologyVersion with a server's TopologyVersion and indicates whether the local + TopologyVersion is staler, fresher, or equal to the server's TopologyVersion. + Per the SDAM specification, if the ProcessIds are not equal, this method assumes that + is more recent. This means that this method does not exhibit + the reversal properties of inequalities i.e. a "<" b does not imply b ">" a. + + The first TopologyVersion. + The other TopologyVersion. + + Less than zero indicates that the is staler than the . + Zero indicates that the description is equal to the . + Greater than zero indicates that the is fresher than the . + + + + + Attempts to create a TopologyVersion from the supplied BsonDocument. + + The document. Should contain an ObjectId named "processId" and a BsonInt64 named "counter". + A TopologyVersion if one could be constructed from the supplied document and null otherwise. + + + + Gets whether or not is fresher than . + Comparing topology descriptions freshness does not exhibit the reversal property of + inequalities e.g. a.IsFresherThan(b) (a "<" b) does not imply + !b.IsFresherThan(a) (b ">" a) + See for more information. + In the case that this.Equals(), will be considered to be fresher. + + The first TopologyVersion. + The other TopologyVersion. + + Whether or not this TopologyVersion is fresher than . + + + + + Gets whether or not is fresher than or Equal to . + Comparing topology descriptions freshness does not exhibit the reversal property of + inequalities e.g. a.IsFresherThan(b) (a "<" b) does not imply + !b.IsFresherThan(a) (b ">" a) + See for more information. + In the case that this.Equals(), will be considered to be fresher. + + The first TopologyVersion. + The other TopologyVersion. + + Whether or not this TopologyVersion is fresher than . + + + + + Gets whether or not is staler than or Equal to . + Comparing topology descriptions freshness does not exhibit the reversal property of + inequalities e.g. a.IsStalerThan(b) (a "<" b) does not imply + !b.IsStalerThan(a) (b ">" a). + See for more information. + In the case that this == , will be considered to be fresher. + + The first TopologyVersion. + The other TopologyVersion. + + Whether or not this TopologyVersion is staler than . + + + + + Gets whether or not is staler than or Equal to . + Comparing topology descriptions freshness does not exhibit the reversal property of + inequalities e.g. a.IsStalerThan(b) (a "<" b) does not imply + !b.IsStalerThan(a) (b ">" a). + See for more information. + In the case that this == , will be considered to be fresher. + + The first TopologyVersion. + The other TopologyVersion. + + Whether or not this TopologyVersion is staler than . + + + + + Initializes a new instance of the class. + + The process identifier. + The counter. + + + + Gets the process identifier. + + + The process identifier. + + + + + Gets the process identifier. + + + The process identifier. + + + + + + + + + + + + + + + + + + + + Return the response from the server. + + + + + Ignore the response from the server. + + + + + No response is expected from the server. + + + + + Multiple responses might be returned from the server (the ExhaustAllowed flag will be set). + + + + + Interface for decrypting fields in a binary document. + + + + + Encrypts the fields. + + The database name. + The unencrypted command bytes. + The cancellation token. + An encrypted document. + + + + Encrypts the fields asynchronously. + + The database name. + The unencrypted command bytes. + The cancellation token. + An encrypted document. + + + + Interface for decrypting fields in a binary document. + + + + + Decrypts the fields. + + The encrypted document bytes. + The cancellation token. + An unencrypted document. + + + + Decrypts the fields asynchronously. + + The encrypted document bytes. + The cancellation token. + An unencrypted document. + + + + OP MSG + + + + + OP_COMPRESSED + + + + + OP_QUERY + + + + + OP_REPLY + + + + + A server session. + + + + + + + + + + + + + + + + + + + + + + + + + + + The interface for a core server session. + + + + + Gets the session Id. + + + The session Id. + + + + + Gets a value indicate whether this session is dirty. + + + true if the session is dirty. + + + + + Gets the time this server session was last used (in UTC). + + + The time this server session was last used (in UTC). + + + + + Gets the next transaction number. + + The transaction number. + + + + Marks the session as dirty. + + + + + Called by the driver when the session is used (i.e. sent to the server). + + + + + An output document from a $changeStream pipeline stage. + + The type of the document. + + + + Initializes a new instance of the class. + + The backing document. + The document serializer. + + + + Gets the backing document. + + + + + Gets the cluster time. + + + The cluster time. + + + + + Gets the namespace of the collection. + + + The namespace of the collection. + + + + + Gets ui field from the oplog entry corresponding to the change event. + Only present when the showExpandedEvents change stream option is enabled and for the following event types (MongoDB 6.0 and later): + + + + + + + + + + + + + + + + The UUID of the collection. + + + + + Gets the database namespace. + + + The database namespace. + + + + + Gets the disambiguated paths if present. + + + The disambiguated paths. + + + + A document containing a map that associates an update path to an array containing the path components used in the update document. This data + can be used in combination with the other fields in an to determine the + actual path in the document that was updated. This is necessary in cases where a key contains dot-separated strings (i.e. { "a.b": "c" }) or + a document contains a numeric literal string key (i.e. { "a": { "0": "a" } }). Note that in this scenario, the numeric key can't be the top + level key because { "0": "a" } is not ambiguous - update paths would simply be '0' which is unambiguous because BSON documents cannot have + arrays at the top level. Each entry in the document maps an update path to an array which contains the actual path used when the document + was updated. For example, given a document with the following shape { "a": { "0": 0 } } and an update of { $inc: { "a.0": 1 } }, + would look like the following: + + + { + "a.0": ["a", "0"] + } + + + In each array, all elements will be returned as strings with the exception of array indices, which will be returned as 32-bit integers. + + + Added in MongoDB version 6.1.0. + + + + + + Gets the document key. + + + The document key. + + + + + Gets the full document. + + + The full document. + + + + + Gets the full document before change. + + + The full document before change. + + + + + The type of the newly created object. + Only present when the showExpandedEvents change stream option is enabled and for the following event types (MongoDB 8.1 and later): + + + + + + + + Gets the description for the operation. + Only present when the showExpandedEvents change stream option is enabled and for the following event types (MongoDB 6.0 and later): + + + + + + + + + + + + + The description of the operation. + + + + + Gets the type of the operation. + + + The type of the operation. + + + + + Gets the new namespace for the ns collection. This field is omitted for all operation types except "rename". + + + The new namespace of the ns collection. + + + + + Gets the resume token. + + + The resume token. + + + + + Gets the split event. + + + + + Gets the update description. + + + The update description. + + + + + Gets the wall time of the change stream event. + + + The wall time. + + + + + A serializer for ChangeStreamDocument instances. + + The type of the document. + + + + Initializes a new instance of the class. + + The document serializer. + + + + + + + + + + + + + + + + Change stream FullDocumentBeforeChange option. + + + + + Do not send this option to the server. + Server's default is to not return the full document before change. + + + + + Do not return the full document before change. + + + + + Returns the pre-image of the modified document for replace, update and delete + change events if the pre-image for this event is available. + + + + + Same behavior as 'whenAvailable' except that + an error is raised if the pre-image is not available. + + + + + Change stream FullDocument option. + + + + + Do not send this option to the server. + Server's default is to not return the full document. + + + + + The change stream for partial updates will include both a delta describing the + changes to the document as well as a copy of the entire document that was + changed from some time after the change occurred. + + + + + Returns the post-image of the modified document for replace and update change events + if the post-image for this event is available. + + + + + Same behavior as 'whenAvailable' except that + an error is raised if the post-image is not available. + + + + + The operation type of a change stream result. + + + + + An insert operation type. + + + + + An update operation type. + + + + + A replace operation type. + + + + + A delete operation type. + + + + + An invalidate operation type. + + + + + A rename operation type. + + + + + A drop operation type. + + + + + A dropDatabase operation type. + + + + + A createIndexes operation type. + + + + + A dropIndexes operation type. + + + + + A modify operation type. + + + + + A create operation type. + + + + + A shardCollection operation type. + + + + + A refineCollectionShardKey operation type. + + + + + A reshardCollection operation type. + + + + + A serializer for ChangeStreamOperationType values. + + + + + Gets a ChangeStreamOperationTypeSerializer. + + + A ChangeStreamOperationTypeSerializer. + + + + + + + + + + + Change stream splitEvent data. + + + + + Initializes a new instance of the class. + + Fragment index. + Total number of fragments. + + + + Gets the fragment index, starting at 1. + + + + + Total number of fragments for the event. + + + + + An UpdateDescription in a ChangeStreamDocument instance. + + + + + Initializes a new instance of the class. + + The updated fields. + The removed fields. + + + + Initializes a new instance of the class. + + The updated fields. + The removed fields. + The truncated arrays. + + + + Initializes a new instance of the class. + + The updated fields. + The removed fields. + The truncated arrays. + The DisambiguatedPaths document. + + + + Gets the disambiguated paths if present. + + + The disambiguated paths. + + + + A document containing a map that associates an update path to an array containing the path components used in the update document. This data + can be used in combination with the other fields in an to determine the + actual path in the document that was updated. This is necessary in cases where a key contains dot-separated strings (i.e. { "a.b": "c" }) or + a document contains a numeric literal string key (i.e. { "a": { "0": "a" } }). Note that in this scenario, the numeric key can't be the top + level key because { "0": "a" } is not ambiguous - update paths would simply be '0' which is unambiguous because BSON documents cannot have + arrays at the top level. Each entry in the document maps an update path to an array which contains the actual path used when the document + was updated. For example, given a document with the following shape { "a": { "0": 0 } } and an update of { $inc: { "a.0": 1 } }, + would look like the following: + + + { + "a.0": ["a", "0"] + } + + + In each array, all elements will be returned as strings with the exception of array indices, which will be returned as 32-bit integers. + + + Added in MongoDB version 6.1.0. + + + + + + Gets the removed fields. + + + The removed fields. + + + + + Gets the truncated arrays. + + + The truncated arrays. + + + + + Gets the updated fields. + + + The updated fields. + + + + + + + + + + + A serialize for ChangeStreamUpdateDescription values. + + + + + Gets a ChangeStreamUpdateDescriptionSerializer. + + + A ChangeStreamUpdateDescriptionSerializer. + + + + + + + + + + + Controls whether spaces and punctuation are considered base characters. + + + + + Spaces and punctuation are considered base characters (the default). + + + + + Spaces and characters are not considered base characters, and are only distinguised at strength > 3. + + + + + Uppercase or lowercase first. + + + + + Off (the default). + + + + + Uppercase first. + + + + + Lowercase first. + + + + + Controls which characters are affected by alternate: "Shifted". + + + + + Punctuation and spaces are affected (the default). + + + + + Only spaces. + + + + + Prioritizes the comparison properties. + + + + + Primary. + + + + + Secondary. + + + + + Tertiary (the default). + + + + + Quaternary. + + + + + Identical. + + + + + Represents a MongoDB collation. + + + + + Gets the simple binary compare collation. + + + + + Creates a Collation instance from a BsonDocument. + + The document. + A Collation instance. + + + + Initializes a new instance of the class. + + The locale. + The case level. + The case that is ordered first. + The strength. + Whether numbers are ordered numerically. + The alternate. + The maximum variable. + The normalization. + Whether secondary differences are to be considered in reverse order. + + + + Gets whether spaces and punctuation are considered base characters. + + + + + Gets whether secondary differencs are to be considered in reverse order. + + + + + Gets whether upper case or lower case is ordered first. + + + + + Gets whether the collation is case sensitive at strength 1 and 2. + + + + + Gets the locale. + + + + + Gets which characters are affected by the alternate: "Shifted". + + + + + Gets the normalization. + + + + + Gets whether numbers are ordered numerically. + + + + + Gets the strength. + + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + + + + + + + + + + + + + Creates a new Collation instance with some properties changed. + + The new locale. + The new case level. + The new case first. + The new strength. + The new numeric ordering. + The new alternate. + The new maximum variable. + The new normalization. + The new backwards. + A new Collation instance. + + + + Represents a collection namespace. + + + + + Creates a new instance of the class from a collection full name. + + The collection full name. + A CollectionNamespace. + + + + Determines whether the specified collection name is valid. + + The name of the collection. + Whether the specified collection name is valid. + + + + Initializes a new instance of the class. + + The name of the database. + The name of the collection. + + + + Initializes a new instance of the class. + + The database namespace. + The name of the collection. + + + + Gets the name of the collection. + + + The name of the collection. + + + + + Gets the database namespace. + + + The database namespace. + + + + + Gets the collection full name. + + + The collection full name. + + + + + + + + + + + + + + + + + Represents a create index commit quorum. + + + + + Gets a create index commit quorum of majority. + + + + + Gets a create index commit quorum of voting members. + + + + + Creates a create index commit quorum with a mode value. + + The mode value. + A create index commit quorum. + + + + Creates a create index commit quorum with a w value. + + The w value. + A create index commit quorum. + + + + Converts the create index commit quorum to a BsonValue. + + A BsonValue. + + + + Represents a CreateIndexCommitQuorum with a mode value. + + + + + Initializes an instance of CreateIndexCommitQuorumWithMode. + + The mode value. + + + + The mode value. + + + + + + + + Represents a CreateIndexCommitQuorum with a w value. + + + + + Initializes an instance of CreateIndexCommitQuorumWithW. + + The w value. + + + + The w value. + + + + + + + + Represents a database namespace. + + + + + Gets the admin database namespace. + + + The admin database namespace. + + + + + Determines whether the specified database name is valid. + + The database name. + True if the database name is valid. + + + + Initializes a new instance of the class. + + The name of the database. + + + + Gets the name of the database. + + + The name of the database. + + + + + + + + + + + + + + + + + Represents a cursor for an operation that is not actually executed until MoveNextAsync is called for the first time. + + The type of the document. + + + + Initializes a new instance of the class. + + The dispose action. + The delegate to execute the first time MoveNext is called. + The delegate to execute the first time MoveNextAsync is called. + + + + + + + + + + + + + + + + Represents the document validation action. + + + + + Validation failures result in an error. + + + + + Validation failures result in a warning. + + + + + Represents the document validation level. + + + + + Strict document validation. + + + + + Moderate document validation. + + + + + No document validation. + + + + + Represents an asynchronous cursor. + + The type of the document. + + + + Gets the current batch of documents. + + + The current batch of documents. + + + + + Moves to the next batch of documents. + + The cancellation token. + Whether any more documents are available. + + + + Moves to the next batch of documents. + + The cancellation token. + A Task whose result indicates whether any more documents are available. + + + + Represents an asynchronous cursor for change stream. + + The type of the document. + + + + Gets the resume token. + + + The resume token. + + + + + Gets the post batch resume token. + + + The post batch resume token. + + + + + Gets a value indicating whether the first batch was empty or not. + + + true if the first batch was empty; otherwise, false. + + + + + Represents extension methods for IAsyncCursor. + + + + + Determines whether the cursor contains any documents. + + The type of the document. + The cursor. + The cancellation token. + True if the cursor contains any documents. + + + + Determines whether the cursor contains any documents. + + The type of the document. + The cursor. + The cancellation token. + A Task whose result is true if the cursor contains any documents. + + + + Returns the first document of a cursor. + + The type of the document. + The cursor. + The cancellation token. + The first document. + + + + Returns the first document of a cursor. + + The type of the document. + The cursor. + The cancellation token. + A Task whose result is the first document. + + + + Returns the first document of a cursor, or a default value if the cursor contains no documents. + + The type of the document. + The cursor. + The cancellation token. + The first document of the cursor, or a default value if the cursor contains no documents. + + + + Returns the first document of the cursor, or a default value if the cursor contains no documents. + + The type of the document. + The cursor. + The cancellation token. + A task whose result is the first document of the cursor, or a default value if the cursor contains no documents. + + + + Calls a delegate for each document returned by the cursor. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + + If your delegate is going to take a long time to execute or is going to block + consider using a different overload of ForEachAsync that uses a delegate that + returns a Task instead. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + + If your delegate is going to take a long time to execute or is going to block + consider using a different overload of ForEachAsync that uses a delegate that + returns a Task instead. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Returns the only document of a cursor. This method throws an exception if the cursor does not contain exactly one document. + + The type of the document. + The cursor. + The cancellation token. + The only document of a cursor. + + + + Returns the only document of a cursor. This method throws an exception if the cursor does not contain exactly one document. + + The type of the document. + The cursor. + The cancellation token. + A Task whose result is the only document of a cursor. + + + + Returns the only document of a cursor, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The type of the document. + The cursor. + The cancellation token. + The only document of a cursor, or a default value if the cursor contains no documents. + + + + Returns the only document of a cursor, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The type of the document. + The cursor. + The cancellation token. + A Task whose result is the only document of a cursor, or a default value if the cursor contains no documents. + + + + Wraps a cursor in an IEnumerable that can be enumerated one time. + + The type of the document. + The cursor. + The cancellation token. + An IEnumerable + + + + Wraps a cursor in an IAsyncEnumerable that can be enumerated one time. + + The type of the document. + The cursor. + An IAsyncEnumerable. + + + + Returns a list containing all the documents returned by a cursor. + + The type of the document. + The source. + The cancellation token. + The list of documents. + + + + Returns a list containing all the documents returned by a cursor. + + The type of the document. + The source. + The cancellation token. + A Task whose value is the list of documents. + + + + Represents an operation that will return a cursor when executed. + + The type of the document. + + + + Executes the operation and returns a cursor to the results. + + The cancellation token. + A cursor. + + + + Executes the operation and returns a cursor to the results. + + The cancellation token. + A Task whose result is a cursor. + + + + Represents extension methods for IAsyncCursorSource. + + + + + Determines whether the cursor returned by a cursor source contains any documents. + + The type of the document. + The source. + The cancellation token. + True if the cursor contains any documents. + + + + Determines whether the cursor returned by a cursor source contains any documents. + + The type of the document. + The source. + The cancellation token. + A Task whose result is true if the cursor contains any documents. + + + + Returns the first document of a cursor returned by a cursor source. + + The type of the document. + The source. + The cancellation token. + The first document. + + + + Returns the first document of a cursor returned by a cursor source. + + The type of the document. + The source. + The cancellation token. + A Task whose result is the first document. + + + + Returns the first document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + + The type of the document. + The source. + The cancellation token. + The first document of the cursor, or a default value if the cursor contains no documents. + + + + Returns the first document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + + The type of the document. + The source. + The cancellation token. + A Task whose result is the first document of the cursor, or a default value if the cursor contains no documents. + + + + Calls a delegate for each document returned by the cursor. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + + If your delegate is going to take a long time to execute or is going to block + consider using a different overload of ForEachAsync that uses a delegate that + returns a Task instead. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Calls a delegate for each document returned by the cursor. + + + If your delegate is going to take a long time to execute or is going to block + consider using a different overload of ForEachAsync that uses a delegate that + returns a Task instead. + + The type of the document. + The source. + The processor. + The cancellation token. + A Task that completes when all the documents have been processed. + + + + Returns the only document of a cursor returned by a cursor source. This method throws an exception if the cursor does not contain exactly one document. + + The type of the document. + The source. + The cancellation token. + The only document of a cursor. + + + + Returns the only document of a cursor returned by a cursor source. This method throws an exception if the cursor does not contain exactly one document. + + The type of the document. + The source. + The cancellation token. + A Task whose result is the only document of a cursor. + + + + Returns the only document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The type of the document. + The source. + The cancellation token. + The only document of a cursor, or a default value if the cursor contains no documents. + + + + Returns the only document of a cursor returned by a cursor source, or a default value if the cursor contains no documents. + This method throws an exception if the cursor contains more than one document. + + The type of the document. + The source. + The cancellation token. + A Task whose result is the only document of a cursor, or a default value if the cursor contains no documents. + + + + Wraps a cursor source in an IEnumerable. Each time GetEnumerator is called a new cursor is fetched from the cursor source. + + The type of the document. + The source. + The cancellation token. + An IEnumerable. + + + + Wraps a cursor source in an IAsyncEnumerable. Each time GetAsyncEnumerator is called a new enumerator is returned and a new cursor + is fetched from the cursor source on the first call to MoveNextAsync. + + The type of the document. + The source. + An IAsyncEnumerable. + + + + Returns a list containing all the documents returned by the cursor returned by a cursor source. + + The type of the document. + The source. + The cancellation token. + The list of documents. + + + + Returns a list containing all the documents returned by the cursor returned by a cursor source. + + The type of the document. + The source. + The cancellation token. + A Task whose value is the list of documents. + + + + Represents a MongoDB authentication exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + + + + Represents a MongoDB client exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB command exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The message. + The command. + + + + Initializes a new instance of the class. + + The connection identifier. + The message. + The command. + The command result. + + + + Initializes a new instance of the class. + + The connection identifier. + The message. + The command. + The command result. + The inner exception. + + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the error code. + + + The error code. + + + + + Gets the name of the error code. + + + The name of the error code. + + + + + Gets the command. + + + The command. + + + + + Gets the error message. + + + The error message. + + + + + Gets the command result. + + + The command result. + + + + + + + + Represents a MongoDB configuration exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB connection failed exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + + + + Represents a MongoDB connection exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the connection identifier. + + + + + Whether or not this exception contains a socket timeout exception. + + + + + Whether or not this exception contains a timeout exception. + + + + + Determines whether the exception is network error or no. + + + + + + + + A value for propagating a serviceId to the SDAM logic after handshake completed but before acquiring connection. + + + + + Represents a MongoDB connection pool paused exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB cursor not found exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The cursor identifier. + The query. + + + + Initializes a new instance of the class. + + The information. + The context. + + + + Gets the cursor identifier. + + + The cursor identifier. + + + + + + + + Represents a MongoDB duplicate key exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The command result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the error labels. + + + The error labels. + + + + + Adds an error label. + + The error label. + + + + Determines whether the exception has some error label. + + The error label. + + true if the exception has some error label; otherwise, false. + + + + + Removes the error label. + + The error label. + + + + + + + Represents a MongoDB execution timeout exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The command result. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + The command result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the error code. + + + The error code. + + + + + Gets the name of the error code. + + + The name of the error code. + + + + + + + + Represents a MongoDB incompatible driver exception. + + + + + Initializes a new instance of the class. + + The cluster description. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB internal exception (almost surely the result of a bug). + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB node is recovering exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The command. + The result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets whether it caused by shutdown or no. + + + + + Represents a MongoDB not primary exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The command. + The result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB query exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The message. + The query. + The query result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the query. + + + The query. + + + + + Gets the query result. + + + The query result. + + + + + + + + Represents a MongoDB server exception. + + + + + Adds error labels from a command result document into the top-level label list. + + The exception. + The result document. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the connection identifier. + + + + + + + + Represents a MongoDB connection pool wait queue full exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents a MongoDB write concern exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The error message. + The command result. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Gets the mapped write concern result exception. + + + + + Gets the write concern result. + + + The write concern result. + + + + + + + + Determines whether the exception is due to a write concern error only. + + + true if the exception is due to a write concern error only; otherwise, false. + + + + + Represents helper methods for use with the struct. + + + + + Creates an instance of an optional parameter with a value. + + + This helper method can be used when the implicit conversion doesn't work (due to compiler limitations). + + The type of the optional parameter. + The value. + An instance of an optional parameter with a value. + + + + Creates an instance of an optional parameter with an enumerable value. + + The type of the items of the optional paramater. + The value. + An instance of an optional parameter with an enumerable value. + + + + Represents an optional parameter that might or might not have a value. + + The type of the parameter. + + + + Initializes a new instance of the struct with a value. + + The value of the parameter. + + + + Gets a value indicating whether the optional parameter has a value. + + + true if the optional parameter has a value; otherwise, false. + + + + + Gets the value of the optional parameter. + + + The value of the optional parameter. + + + + + Performs an implicit conversion from to an with a value. + + The value. + + The result of the conversion. + + + + + Returns a value indicating whether this optional parameter contains a value that is not equal to an existing value. + + The value. + True if this optional parameter contains a value that is not equal to an existing value. + + + + Returns either the value of this optional parameter if it has a value, otherwise a default value. + + The default value. + Either the value of this optional parameter if it has a value, otherwise a default value. + + + + Represents a read concern. + + + + + Gets an available read concern. + + + + + Gets a default read concern. + + + + + Gets a linearizable read concern. + + + + + Gets a local read concern. + + + + + Gets a majority read concern. + + + + + Gets a snapshot read concern. + + + + + Creates a read concern from a document. + + The document. + A read concern. + + + + Initializes a new instance of the class. + + The level. + + + + Gets a value indicating whether this is the server's default read concern. + + + true if this instance is default; otherwise, false. + + + + + Gets the level. + + + + + + + + + + + + + + Converts this read concern to a BsonDocument suitable to be sent to the server. + + + A BsonDocument. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a new instance of ReadConcern with some values changed. + + The level. + + A ReadConcern. + + + + + The level of the read concern. + + + + + Reads available data. + + + + + Reads data committed locally. + + + + + Reads data committed to a majority of nodes. + + + + + Avoids returning data from a "stale" primary + (one that has already been superseded by a new primary but doesn't know it yet). + It is important to note that readConcern level linearizable does not by itself + produce linearizable reads; they must be issued in conjunction with w:majority + writes to the same document(s) in order to be linearizable. + + + + + Snapshot read concern level. + + + + + Represents a read preference. + + + + + Gets an instance of ReadPreference that represents a Nearest read preference. + + + An instance of ReadPreference that represents a Nearest read preference. + + + + + Gets an instance of ReadPreference that represents a Primary read preference. + + + An instance of ReadPreference that represents a Primary read preference. + + + + + Gets an instance of ReadPreference that represents a PrimaryPreferred read preference. + + + An instance of ReadPreference that represents a PrimaryPreferred read preference. + + + + + Gets an instance of ReadPreference that represents a Secondary read preference. + + + An instance of ReadPreference that represents a Secondary read preference. + + + + + Gets an instance of ReadPreference that represents a SecondaryPreferred read preference. + + + An instance of ReadPreference that represents a SecondaryPreferred read preference. + + + + + Creates a new ReadPreference instance from a BsonDocument. + + The document. + A ReadPreference. + + + + Initializes a new instance of the class. + + The read preference mode. + The tag sets. + The maximum staleness. + The hedge. + + + + Gets the hedge. + + + + + Gets the maximum staleness. + + + The maximum staleness. + + + + + Gets the read preference mode. + + + The read preference mode. + + + + + Gets the tag sets. + + + The tag sets. + + + + + + + + + + + + + + + + + Returns a new instance of ReadPreference with some values changed. + + The hedge. + A new instance of ReadPreference. + + + + Returns a new instance of ReadPreference with some values changed. + + The read preference mode. + A new instance of ReadPreference. + + + + Returns a new instance of ReadPreference with some values changed. + + The tag sets. + A new instance of ReadPreference. + + + + Returns a new instance of ReadPreference with some values changed. + + The maximum staleness. + A new instance of ReadPreference. + + + + Represents a read preference hedge. + + + + + Gets a disabled read preference hedge. + + + + + Gets an enabled read preference hedge. + + + + + Initializes an instance of ReadPreferenceHedge. + + Whether hedged reads are enabled. + + + + Gets whether hedged reads are enabled. + + + + + + + + + + + + + + Converts the read preference hedge to a BsonDocument. + + A BsonDocument. + + + + + + + Represents the read preference mode. + + + + + Reads should be from the primary. + + + + + Reads should be from the primary if possible, otherwise from a secondary. + + + + + Reads should be from a secondary. + + + + + Reads should be from a secondary if possible, otherwise from the primary. + + + + + Reads should be from any server that is within the latency threshold window. + + + + + Represents a server API. + + + + + Initializes a new instance of the class. + + The server API version. + The flag for strict server API version enforcement. + The flag for treating deprecated server APIs as errors. + + + + Returns true if the two values are not equal. + + The left hand side. + The right hand side + True if the two values are not equal. + + + + Returns true if the two values are equal. + + The left hand side. + The right hand side + True if the two values are equal. + + + + Gets the deprecation errors flag. + + + + + Gets the strict flag. + + + + + Gets the server API version. + + + + + + + + + + + + + + + + + Represents a server API version. + + + + + Gets an instance of server API version 1. + + + + + Returns true if the two values are not equal. + + The left hand side. + The right hand side + True if the two values are not equal. + + + + Returns true if the two values are equal. + + The left hand side. + The right hand side + True if the two values are equal. + + + + + + + + + + + + + + + + Represents the category for an error from the server. + + + + + An error without a category. + + + + + A duplicate key error. + + + + + An execution timeout error. + + + + + Represents a replica set member tag. + + + + + Initializes a new instance of the class. + + The name. + The value. + + + + Gets the name. + + + The name. + + + + + Gets the value. + + + The value. + + + + + + + + + + + + + + + + + Represents a replica set member tag set. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The tags. + + + + Gets a value indicating whether the tag set is empty. + + + true if the tag set is empty; otherwise, false. + + + + + Gets the tags. + + + The tags. + + + + + Determines whether the tag set contains all of the required tags. + + The required tags. + True if the tag set contains all of the required tags. + + + + + + + + + + + + + + + + Specifies the granularity of time series collection bucketing. + + + + + Seconds. + + + + + Minutes. + + + + + Hours. + + + + + Defines the time series options to use when creating a time series collection. See https://www.mongodb.com/docs/manual/reference/command/create/ for supported options + and https://www.mongodb.com/docs/manual/core/timeseries-collections/ for more information on time series collections. + + + + + Initializes a new instance of the class. + + The name of the top-level field to be used for time. + The name of the top-level field describing the series upon which related data will be grouped. + The for the time series. Do not set if using bucketMaxSpanSeconds + The maximum time between timestamps in the same bucket. + The interval used to round down the first timestamp when opening a new bucket. + + + + The coarse granularity of time series data. + + + + + The name of the field which contains metadata in each time series document. + + + + + The name of the field which contains the date and time in each time series document. + + + + + The maximum time between timestamps in the same bucket. + + + + + The interval used to round down the first timestamp when opening a new bucket. + + + + + The BSON representation of the time series options. + + A BsonDocument. + + + + Transaction options. + + + + + Initializes a new instance of the class. + + The read concern. + The read preference. + The write concern. + The max commit time. + + + + Initializes a new instance of the class. + + The per operation timeout + The read concern. + The read preference. + The write concern. + The max commit time. + + + + Gets the max commit time. + + + The max commit time. + + + + + Gets the read concern. + + + The read concern. + + + + + Gets the read preference. + + + The read preference. + + + + + Gets the per operation timeout. + + + + + Gets the write concern. + + + The write concern. + + + + + Returns a new TransactionOptions with some values changed. + + The new read concern. + The read preference. + The new write concern. + The max commit time. + + The new TransactionOptions. + + + + + Represents a write concern. + + + + + Gets an instance of WriteConcern that represents an acknowledged write concern. + + + An instance of WriteConcern that represents an acknowledged write concern. + + + + + Gets an instance of WriteConcern that represents an unacknowledged write concern. + + + An instance of WriteConcern that represents an unacknowledged write concern. + + + + + Gets an instance of WriteConcern that represents a W1 write concern. + + + An instance of WriteConcern that represents a W1 write concern. + + + + + Gets an instance of WriteConcern that represents a W2 write concern. + + + An instance of WriteConcern that represents a W2 write concern. + + + + + Gets an instance of WriteConcern that represents a W3 write concern. + + + An instance of WriteConcern that represents a W3 write concern. + + + + + Gets an instance of WriteConcern that represents a majority write concern. + + + An instance of WriteConcern that represents a majority write concern. + + + + + Creates a write concern from a document. + + The document. + A write concern. + + + + Initializes a new instance of the class. + + The w value. + The wtimeout value. + The fsync value . + The journal value. + + + + Initializes a new instance of the class. + + The mode. + The wtimeout value. + The fsync value . + The journal value. + + + + Initializes a new instance of the class. + + The w value. + The wtimeout value. + The fsync value . + The journal value. + + + + Gets the fsync value. + + + The fsync value. + + + + + Gets a value indicating whether this instance is an acknowledged write concern. + + + true if this instance is an acknowledged write concern; otherwise, false. + + + + + Gets a value indicating whether this write concern will use the default on the server. + + + true if this instance is the default; otherwise, false. + + + + + Gets the journal value. + + + The journal value. + + + + + Gets the w value. + + + The w value. + + + + + Gets the wtimeout value. + + + The wtimeout value. + + + + + + + + + + + + + + Converts this write concern to a BsonDocument suitable to be sent to the server. + + + A BsonDocument. + + + + + + + + Returns a new instance of WriteConcern with some values changed. + + The w value. + The wtimeout value. + The fsync value. + The journal value. + A WriteConcern. + + + + Returns a new instance of WriteConcern with some values changed. + + The mode. + The wtimeout value. + The fsync value. + The journal value. + A WriteConcern. + + + + Returns a new instance of WriteConcern with some values changed. + + The w value. + The wtimeout value. + The fsync value. + The journal value. + A WriteConcern. + + + + Represents the base class for w values. + + + + + Parses the specified value. + + The value. + A WValue. + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from Nullable{Int32} to . + + The value. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The value. + + The result of the conversion. + + + + + + + + Converts this WValue to a BsonValue suitable to be included in a BsonDocument representing a write concern. + + A BsonValue. + + + + Represents a numeric WValue. + + + + + Initializes a new instance of the class. + + The w value. + + + + Gets the value. + + + The value. + + + + + + + + + + + + + + + + + + + + Represents a mode string WValue. + + + + + Gets an instance of WValue that represents the majority mode. + + + An instance of WValue that represents the majority mode. + + + + + Initializes a new instance of the class. + + The mode. + + + + Gets the value. + + + The value. + + + + + + + + + + + + + + + + + + + + Represents the results of an operation performed with an acknowledged WriteConcern. + + + + + Initializes a new instance of the class. + + The response. + + + + Gets the number of documents affected. + + + + + Gets whether the result has a LastErrorMessage. + + + + + Gets the last error message (null if none). + + + + + Gets the _id of an upsert that resulted in an insert. + + + + + Gets whether the last command updated an existing document. + + + + + Gets the wrapped result. + + + + + Options for a count operation. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. + + + + + Gets or sets the limit. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the skip. + + + + + Gets or sets the operation timeout. + + + + + Options for creating a collection. + + + + + Gets or sets the collation. + + + + + Gets or sets a value indicating whether the collection is capped. + + + + + Gets or sets Gets or sets a change streams pre and post images options. + + + + + Gets or sets encrypted fields. + + + + + Gets or sets a timespan indicating how long documents in a time series collection should be retained. + + + + + Gets or sets the index option defaults. + + + The index option defaults. + + + + + Gets or sets the maximum number of documents (used with capped collections). + + + + + Gets or sets the maximum size of the collection (used with capped collections). + + + + + Gets or sets whether padding should not be used. + + + + + Gets or sets the serializer registry. + + + + + Gets or sets the storage engine options. + + + + + Gets or sets the operation timeout. + + + + + Gets or sets the to use when creating a time series collection. + + + + + Gets or sets a value indicating whether to use power of 2 sizes. + + + + + Gets or sets the validation action. + + + The validation action. + + + + + Gets or sets the validation level. + + + The validation level. + + + + + Clones the CreateCollectionOptions. + + The cloned CreateCollectionOptions. + + + + Options for creating a collection. + + The type of the document. + + + + Coerces a generic CreateCollectionOptions{TDocument} from a non-generic CreateCollectionOptions. + + The options. + The generic options. + + + + Gets or sets the . + + + + + Gets or sets the document serializer. + + + + + Gets or sets the validator. + + + The validator. + + + + + Clones the CreateCollectionOptions. + + The cloned CreateCollectionOptions. + + + + Model for creating an index. + + The type of the document. + + + + Initializes a new instance of the class. + + The keys. + The options. + + + + Gets the keys. + + + + + Gets the options. + + + + + Options for creating an index. + + + + + Gets or sets a value indicating whether to create the index in the background. + + + + + Gets or sets the precision, in bits, used with geohash indexes. + + + + + Gets or sets the size of a geohash bucket. + + + + + Gets or sets the collation. + + + + + Gets or sets the default language. + + + + + Gets or sets when documents expire (used with TTL indexes). + + + + + Gets or sets a value indicating whether the index is hidden. + + + + + Gets or sets the language override. + + + + + Gets or sets the max value for 2d indexes. + + + + + Gets or sets the min value for 2d indexes. + + + + + Gets or sets the index name. + + + + + Gets or sets a value indicating whether the index is a sparse index. + + + + + Gets or sets the index version for 2dsphere indexes. + + + + + Gets or sets the storage engine options. + + + + + Gets or sets the index version for text indexes. + + + + + Gets or sets a value indicating whether the index is a unique index. + + + + + Gets or sets the version of the index. + + + + + Gets or sets the weights for text indexes. + + + + + Options for creating an index. + + The type of the document. + + + + Gets or sets the partial filter expression. + + + + + Gets or sets the wildcard projection. + + + + + Options for creating multiple indexes. + + + + + Gets or sets the comment. + + The comment. + + + + Gets or sets the commit quorum. + + The commit quorum. + + + + Gets or sets the maximum time. + + The maximum time. + + + + Gets or sets the operation timeout. + + + + + Options for creating a single index. + + + + + Gets or sets the commit quorum. + + The commit quorum. + + + + Gets or sets the maximum time. + + The maximum time. + + + + Gets or sets the operation timeout. + + + + + Model for creating a search index. + + + + Gets the index name. + The index name. + + + Gets the index type. + The index type. + + + Gets the index definition. + The definition. + + + + Initializes a new instance of the class. + + The name. + The definition. + + + + Initializes a new instance of the class. + + The name. + The type. + The definition. + + + + Options for creating a view. + + The type of the documents. + + + + Gets or sets the collation. + + + The collation. + + + + + Gets or sets the document serializer. + + + The document serializer. + + + + + Gets or sets the serializer registry. + + + The serializer registry. + + + + + Gets or sets the operation timeout. + + + + + The cursor type. + + + + + A non-tailable cursor. This is sufficient for a vast majority of uses. + + + + + A tailable cursor. + + + + + A tailable cursor with a built-in server sleep. + + + + + Model for deleting many documents. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets the hint. + + + + + Gets the type of the model. + + + + + Model for deleting a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets the hint. + + + + + Gets the type of the model. + + + + + Options for the Delete methods. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. + + + + + Gets or sets the let document. + + + + + Gets or sets the operation timeout. + + + + + The result of a delete operation. + + + + + Gets the deleted count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets a value indicating whether the result is acknowledged. + + + + + Initializes a new instance of the class. + + + + + The result of an acknowledged delete operation. + + + + + Initializes a new instance of the class. + + The deleted count. + + + + + + + + + + The result of an unacknowledged delete operation. + + + + + Gets the instance. + + + + + + + + + + + Represents a range for the $densify stage. + + + + + Creates a DensifyRange with DateTime bounds. + + The lower bound. + The upper bound. + The step. + The unit. + A DensifyRange with DateTime bounds. + + + + Creates a DensifyRange with DateTime bounds. + + The bounds. + The step. + The unit. + A DensifyRange with DateTime bounds. + + + + Creates a DensifyRange with numeric bounds. + + The numeric type. + The lower bound. + The upper bound. + The step. + A DensifyRange with numeric bounds. + + + + Creates a DensifyRange with numeric bounds. + + The numeric type. + The bounds. + The step. + A DensifyRange with numeric bounds. + + + + Renders the range as a BsonDocument. + + The rendered range. + + + + + + + Represents keyword densify bounds. + + + + + Gets a DensifyBounds representing the "full" bounds. + + + + + Gets a DensifyBounds representing the "partition" bounds. + + + + + Gets the keyword. + + + + + Represents a numeric densify range. + + The numeric type. + + + + Initializes a new instance of DensifyNumericRange. + + The bounds. + The step. + + + + Gets the bounds. + + + + + Gets the step. + + + + + + + + Represents a numeric densify bounds. + + The numeric type. + + + + Renders the bounds as a BsonValue. + + The rendered bounds. + + + + Represents a keyword numeric densify bounds. + + The numeric type. + + + + Gets the keyword. + + + + + + + + Represents a numeric densify bounds with lower and upper bounds. + + The numeric type. + + + + Initializes an instance of DensifyLowerUpperNumericBounds. + + The lower bound. + The upper bound. + + + + Gets the lower bound. + + + + + Gets the upper bound. + + + + + + + + Represents a DateTime densify range. + + + + + Initializes an instance of DensifyDateTimeRange. + + The bounds. + The step. + The unit. + + + + Gets the bounds. + + + + + Gets the step. + + + + + Gets the unit. + + + + + + + + Represents a DateTime densify bounds. + + + + + Renders the bounds as a BsonValue. + + The rendered bounds. + + + + Represents a keyword DateTime densify bounds. + + + + + Initializes an instance of DensifyKeywordDateTimeBounds. + + The keyword. + + + + Gets the keyword. + + + + + + + + Represents a DateTime densify bounds with lower and upper bounds. + + + + + Initializes an instance of DensifyLowerUpperDateTimeBounds. + + The lower bound. + The upper bound. + + + + Gets the lower bound. + + + + + Gets the upper bound. + + + + + + + + Represents a densify DateTime unit. + + + + + Milliseconds. + + + + + Seconds. + + + + + Minutes. + + + + + Hours. + + + + + Days. + + + + + Weeks. + + + + + Months. + + + + + Quarters. + + + + + Years. + + + + + Options for the distinct command. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the operation timeout. + + + + + Represents a documents window for a SetWindowFields window method. + + + + + Returns a "current" documents window boundary. + + + + + Returns an "unbounded" documents window boundary. + + + + + Creates a documents window. + + The lower boundary. + The upper boundary. + A documents window. + + + + Creates a documents window. + + The lower boundary. + The upper boundary. + A documents window. + + + + Creates a documents window. + + The lower boundary. + The upper boundary. + A documents window. + + + + Creates a documents window. + + The lower boundary. + The upper boundary. + A documents window. + + + + Initializes an instance of DocumentsWindow. + + The lower boundary. + The upper boundary. + + + + The lower boundary. + + + + + The upper boundary. + + + + + + + + Represents a boundary for a documents window in SetWindowFields. + + + + + Represents a keyword boundary for a document window in SetWindowFields (i.e. "unbounded" or "current"). + + + + + The keyword. + + + + + + + + Represents a position boundary for a document window in SetWindowFields. + + + + + Initializes a new instance of PositionDocumentsWindowBoundary. + + The position. + + + + The position. + + + + + + + + Options for dropping a collection. + + + + + Gets or sets encrypted fields. + + + + + Gets or sets the operation timeout. + + + + + Options for dropping an index. + + + + + Gets or sets the comment. + + + The comment. + + + + + Gets or sets the maximum time. + + The maximum time. + + + + Gets or sets the operation timeout. + + + + + AutoEncryption Provider Registry. + + + + + Represents an AutoCryptClientController. + + + + + Gets the crypt shared library version. + + A crypt shared library version. + + + + AutoEncryption Provider Registry. + + + + + Registers new AutoEncryption Provider. + + Factory method. + + + + Creates an IAutoCryptClientController. + + The client. + The AutoEncryptionOptions. + The IAutoCryptClientController. + + + + Represents KMS Provider. + + + + + Returns KMS Credentials. + + + + + Kms Provider Registry. + + + + + Registers new Kms Provider. + + Kms Provider Name. + Factory method. + + + + Creates KMS provider if possible. + + The requested provider name. + When this method succeeds contains the created provider, otherwise null. + true if the requested provider was created, otherwise false. + + + + Options for estimated document count. + + + + + Gets or sets the comment. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the operation timeout. + + + + + Options for controlling translation from .NET expression trees into MongoDB expressions. + + + + + Gets or sets the server version to target when translating Expressions. + + + + + Gets or sets whether client side projections are enabled. + + + + + + + + + + + + + + Evidence of a MongoIdentity via an external mechanism. For example, on windows this may + be the current process' user or, on linux, via kinit. + + + + + Initializes a new instance of the class. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + A rendered field. + + + + + Initializes a new instance of the class. + + The field name. + The field serializer. + + + + Gets the field name. + + + + + Gets the field serializer. + + + + + A rendered field. + + The type of the field. + + + + Initializes a new instance of the class. + + The field name. + The field serializer. + + + + Initializes a new instance of the class. + + The field name. + The field serializer. + The value serializer. + The underlying serializer. + + + + Gets the field name. + + + + + Gets the field serializer. + + + + + Gets the underlying serializer. + + + + + Gets the value serializer. + + + + + Base class for field names. + + The type of the document. + + + + Renders the field to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + Name of the field. + + The result of the conversion. + + + + + Base class for field names. + + The type of the document. + The type of the field. + + + + Renders the field to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + Name of the field. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The field. + + The result of the conversion. + + + + + An based field. + + The type of the document. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + + + + An based field. + + The type of the document. + The type of the field. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + + + + A based field name. + + The type of the document. + + + + Initializes a new instance of the class. + + Name of the field. + + + + + + + A based field name. + + The type of the document. + The type of the field. + + + + Initializes a new instance of the class. + + Name of the field. + The field serializer. + + + + + + + Base class for filters. + + The type of the document. + + + + Gets an empty filter. An empty filter matches everything. + + + + + Renders the filter to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from a predicate expression to . + + The predicate. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Implements the operator &. + + The LHS. + The RHS. + + The result of the operator. + + + + + Implements the operator |. + + The LHS. + The RHS. + + The result of the operator. + + + + + Implements the operator !. + + The op. + + The result of the operator. + + + + + A based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + + + + + + + An based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + + + + A JSON based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + + + + An based filter. + + The type of the document. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + + + + A builder for a . + + The type of the document. + + + + Gets an empty filter. An empty filter matches everything. + + + + + Creates an all filter for an array field. + + The type of the item. + The field. + The values. + An all filter. + + + + Creates an all filter for an array field. + + The type of the item. + The field. + The values. + An all filter. + + + + Creates an and filter. + + The filters. + A filter. + + + + Creates an and filter. + + The filters. + An and filter. + + + + Creates an equality filter for an array field. + + The type of the item. + The field. + The value. + An equality filter. + + + + Creates an equality filter for an array field. + + The type of the item. + The field. + The value. + An equality filter. + + + + Creates a greater than filter for an array field. + + The type of the item. + The field. + The value. + A greater than filter. + + + + Creates a greater than filter for an array field. + + The type of the item. + The field. + The value. + A greater than filter. + + + + Creates a greater than or equal filter for an array field. + + The type of the item. + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter for an array field. + + The type of the item. + The field. + The value. + A greater than or equal filter. + + + + Creates a less than filter for an array field. + + The type of the item. + The field. + The value. + A less than filter. + + + + Creates a less than filter for an array field. + + The type of the item. + The field. + The value. + A less than filter. + + + + Creates a less than or equal filter for an array field. + + The type of the item. + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter for an array field. + + The type of the item. + The field. + The value. + A less than or equal filter. + + + + Creates an in filter for an array field. + + The type of the item. + The field. + The values. + An in filter. + + + + Creates an in filter for an array field. + + The type of the item. + The field. + The values. + An in filter. + + + + Creates a not equal filter for an array field. + + The type of the item. + The field. + The value. + A not equal filter. + + + + Creates a not equal filter for an array field. + + The type of the item. + The field. + The value. + A not equal filter. + + + + Creates a not in filter for an array field. + + The type of the item. + The field. + The values. + A not in filter. + + + + Creates a not in filter for an array field. + + The type of the item. + The field. + The values. + A not in filter. + + + + Creates an in filter for a string array field. + + The field. + The values. + An in filter. + + + + Creates an in filter for a string array field. + + The field. + The values. + An in filter. + + + + Creates an in filter for a string array field. + + The field. + The values. + An in filter. + + + + Creates an in filter for a string array field. + + The field. + The values. + An in filter. + + + + Creates a not in filter for a string array field. + + The field. + The values. + A not in filter. + + + + Creates a not in filter for a string array field. + + The field. + The values. + A not in filter. + + + + Creates a not in filter for a string array field. + + The field. + The values. + A not in filter. + + + + Creates a not in filter for a string array field. + + The field. + The values. + A not in filter. + + + + Creates a bits all clear filter. + + The field. + The bitmask. + A bits all clear filter. + + + + Creates a bits all clear filter. + + The field. + The bitmask. + A bits all clear filter. + + + + Creates a bits all set filter. + + The field. + The bitmask. + A bits all set filter. + + + + Creates a bits all set filter. + + The field. + The bitmask. + A bits all set filter. + + + + Creates a bits any clear filter. + + The field. + The bitmask. + A bits any clear filter. + + + + Creates a bits any clear filter. + + The field. + The bitmask. + A bits any clear filter. + + + + Creates a bits any set filter. + + The field. + The bitmask. + A bits any set filter. + + + + Creates a bits any set filter. + + The field. + The bitmask. + A bits any set filter. + + + + Creates an element match filter for an array value. + + TDocument must implement IEnumerable{TITem} when using this overload of ElemMatch. + The implied element filter. + An element match filter. + + + + Creates an element match filter for an array value. + + TDocument must implement IEnumerable{TITem} when using this overload of ElemMatch. + The implied element filter. + An element match filter. + + + + Creates an element match filter for an array field. + + The type of the item. + The field. + The filter. + An element match filter. + + + + Creates an element match filter for an array field. + + The type of the item. + The field. + The filter. + An element match filter. + + + + Creates an element match filter for an array field. + + The type of the item. + The field. + The filter. + An element match filter. + + + + Creates an equality filter. + + The type of the field. + The field. + The value. + An equality filter. + + + + Creates an equality filter. + + The type of the field. + The field. + The value. + An equality filter. + + + + Creates an exists filter. + + The field. + if set to true [exists]. + An exists filter. + + + + Creates an exists filter. + + The field. + if set to true [exists]. + An exists filter. + + + + Creates a geo intersects filter. + + The type of the coordinates. + The field. + The geometry. + A geo intersects filter. + + + + Creates a geo intersects filter. + + The type of the coordinates. + The field. + The geometry. + A geo intersects filter. + + + + Creates a geo within filter. + + The type of the coordinates. + The field. + The geometry. + A geo within filter. + + + + Creates a geo within filter. + + The type of the coordinates. + The field. + The geometry. + A geo within filter. + + + + Creates a geo within box filter. + + The field. + The lower left x. + The lower left y. + The upper right x. + The upper right y. + A geo within box filter. + + + + Creates a geo within box filter. + + The field. + The lower left x. + The lower left y. + The upper right x. + The upper right y. + A geo within box filter. + + + + Creates a geo within center filter. + + The field. + The x. + The y. + The radius. + A geo within center filter. + + + + Creates a geo within center filter. + + The field. + The x. + The y. + The radius. + A geo within center filter. + + + + Creates a geo within center sphere filter. + + The field. + The x. + The y. + The radius. + A geo within center sphere filter. + + + + Creates a geo within center sphere filter. + + The field. + The x. + The y. + The radius. + A geo within center sphere filter. + + + + Creates a geo within polygon filter. + + The field. + The points. + A geo within polygon filter. + + + + Creates a geo within polygon filter. + + The field. + The points. + A geo within polygon filter. + + + + Creates a greater than filter for a UInt32 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter for a UInt64 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter. + + The type of the field. + The field. + The value. + A greater than filter. + + + + Creates a greater than filter for a UInt32 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter for a UInt64 field. + + The field. + The value. + A greater than filter. + + + + Creates a greater than filter. + + The type of the field. + The field. + The value. + A greater than filter. + + + + Creates a greater than or equal filter for a UInt32 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter for a UInt64 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter. + + The type of the field. + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter for a UInt32 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter for a UInt64 field. + + The field. + The value. + A greater than or equal filter. + + + + Creates a greater than or equal filter. + + The type of the field. + The field. + The value. + A greater than or equal filter. + + + + Creates an in filter. + + The type of the field. + The field. + The values. + An in filter. + + + + Creates an in filter. + + The type of the field. + The field. + The values. + An in filter. + + + + Creates a json schema filter. + + The json validation schema. + A schema filter. + + + + Creates a less than filter for a UInt32 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter for a UInt64 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter. + + The type of the field. + The field. + The value. + A less than filter. + + + + Creates a less than filter for a UInt32 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter for a UInt64 field. + + The field. + The value. + A less than filter. + + + + Creates a less than filter. + + The type of the field. + The field. + The value. + A less than filter. + + + + Creates a less than or equal filter for a UInt32 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter for a UInt64 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter. + + The type of the field. + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter for a UInt32 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter for a UInt64 field. + + The field. + The value. + A less than or equal filter. + + + + Creates a less than or equal filter. + + The type of the field. + The field. + The value. + A less than or equal filter. + + + + Creates a modulo filter. + + The field. + The modulus. + The remainder. + A modulo filter. + + + + Creates a modulo filter. + + The field. + The modulus. + The remainder. + A modulo filter. + + + + Creates a not equal filter. + + The type of the field. + The field. + The value. + A not equal filter. + + + + Creates a not equal filter. + + The type of the field. + The field. + The value. + A not equal filter. + + + + Creates a near filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near filter. + + + + Creates a near filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near filter. + + + + Creates a near filter. + + The type of the coordinates. + The field. + The geometry. + The maximum distance. + The minimum distance. + A near filter. + + + + Creates a near filter. + + The type of the coordinates. + The field. + The geometry. + The maximum distance. + The minimum distance. + A near filter. + + + + Creates a near sphere filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near sphere filter. + + + + Creates a near sphere filter. + + The field. + The x. + The y. + The maximum distance. + The minimum distance. + A near sphere filter. + + + + Creates a near sphere filter. + + The type of the coordinates. + The field. + The geometry. + The maximum distance. + The minimum distance. + A near sphere filter. + + + + Creates a near sphere filter. + + The type of the coordinates. + The field. + The geometry. + The maximum distance. + The minimum distance. + A near sphere filter. + + + + Creates a not in filter. + + The type of the field. + The field. + The values. + A not in filter. + + + + Creates a not in filter. + + The type of the field. + The field. + The values. + A not in filter. + + + + Creates a not filter. + + The filter. + A not filter. + + + + Creates an OfType filter that matches documents of a derived type. + + The type of the matching derived documents. + An OfType filter. + + + + Creates an OfType filter that matches documents of a derived type and that also match a filter on the derived document. + + The type of the matching derived documents. + A filter on the derived document. + An OfType filter. + + + + Creates an OfType filter that matches documents of a derived type and that also match a filter on the derived document. + + The type of the matching derived documents. + A filter on the derived document. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived typer. + + The type of the field. + The type of the matching derived field value. + The field. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived type and that also match a filter on the derived field. + + The type of the field. + The type of the matching derived field value. + The field. + A filter on the derived field. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived type. + + The type of the field. + The type of the matching derived field value. + The field. + An OfType filter. + + + + Creates an OfType filter that matches documents with a field of a derived type and that also match a filter on the derived field. + + The type of the field. + The type of the matching derived field value. + The field. + A filter on the derived field. + An OfType filter. + + + + Creates an or filter. + + The filters. + An or filter. + + + + Creates an or filter. + + The filters. + An or filter. + + + + Creates a regular expression filter. + + The field. + The regex. + A regular expression filter. + + + + Creates a regular expression filter. + + The field. + The regex. + A regular expression filter. + + + + Creates a size filter. + + The field. + The size. + A size filter. + + + + Creates a size filter. + + The field. + The size. + A size filter. + + + + Creates a size greater than filter. + + The field. + The size. + A size greater than filter. + + + + Creates a size greater than filter. + + The field. + The size. + A size greater than filter. + + + + Creates a size greater than or equal filter. + + The field. + The size. + A size greater than or equal filter. + + + + Creates a size greater than or equal filter. + + The field. + The size. + A size greater than or equal filter. + + + + Creates a size less than filter. + + The field. + The size. + A size less than filter. + + + + Creates a size less than filter. + + The field. + The size. + A size less than filter. + + + + Creates a size less than or equal filter. + + The field. + The size. + A size less than or equal filter. + + + + Creates a size less than or equal filter. + + The field. + The size. + A size less than or equal filter. + + + + Creates an in filter for a string field. + + The field. + The values. + An in filter. + + + + Creates an in filter for a string field. + + The field. + The values. + An in filter. + + + + Creates an in filter for a string field. + + The field. + The values. + An in filter. + + + + Creates an in filter for a string field. + + The field. + The values. + An in filter. + + + + Creates a not in filter for a string field. + + The field. + The values. + A not in filter. + + + + Creates a not in filter for a string field. + + The field. + The values. + A not in filter. + + + + Creates a not in filter for a string field. + + The field. + The values. + A not in filter. + + + + Creates a not in filter for a string field. + + The field. + The values. + A not in filter. + + + + Creates a text filter. + + The search. + The text search options. + A text filter. + + + + Creates a text filter. + + The search. + The language. + A text filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a type filter. + + The field. + The type. + A type filter. + + + + Creates a filter based on the expression. + + The expression. + An expression filter. + + + + Base class for implementors of . + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Options for a findAndModify command to delete an object. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. + + + + + Gets or sets the let document. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the projection. + + + + + Gets or sets the sort. + + + + + Gets or sets the operation timeout. + + + + + Options for a findAndModify command to delete an object. + + The type of the document and the result. + + + + Options for a findAndModify command to replace an object. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. + + + + + Gets or sets the let document. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the projection. + + + + + Gets or sets which version of the document to return. + + + + + Gets or sets the sort. + + + + + Gets or sets the operation timeout. + + + + + Options for a findAndModify command to replace an object. + + The type of the document and the result. + + + + Options for a findAndModify command to update an object. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Initializes a new instance of the class. + + + + + Gets or sets the array filters. + + + The array filters. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets or sets the let document. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the projection. + + + + + Gets or sets which version of the document to return. + + + + + Gets or sets the sort. + + + + + Gets or sets the operation timeout. + + + + + Options for a findAndModify command to update an object. + + The type of the document and the result. + + + + Options for a find operation. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether the server is allowed to write to disk while executing the Find operation. + + + + + Gets or sets a value indicating whether to allow partial results when some shards are unavailable. + + + + + Gets or sets the size of a batch. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the type of the cursor. + + + + + Gets or sets the hint. + + + + + Gets or sets the let document. + + + + + Gets or sets the max key value. + + + + + Gets or sets the maximum await time for TailableAwait cursors. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the min key value. + + + + + Gets or sets whether a cursor will time out. + + + + + Gets or sets whether the OplogReplay bit will be set. + + + + + Gets or sets returnKey. If true, returns only the index keys in the resulting documents. + + + + + Gets or sets whether the record Id should be added to the result document. + + + + + Gets or sets the operation timeout. + + + + + Gets or sets the translation options. + + + + + Options for finding documents. + + + + + Options for finding documents. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Gets or sets how many documents to return. + + + + + Gets or sets the projection. + + + + + Gets or sets how many documents to skip before returning the rest. + + + + + Gets or sets the sort. + + + + + Options for finding documents. + + The type of the document and the result. + + + + A static class containing helper methods to create GeoJson objects. + + + + + Creates a GeoJson bounding box. + + The type of the coordinates. + The min. + The max. + A GeoJson bounding box. + + + + Creates a GeoJson Feature object. + + The type of the coordinates. + The geometry. + A GeoJson Feature object. + + + + Creates a GeoJson Feature object. + + The type of the coordinates. + The additional args. + The geometry. + A GeoJson Feature object. + + + + Creates a GeoJson FeatureCollection object. + + The type of the coordinates. + The additional args. + The features. + A GeoJson FeatureCollection object. + + + + Creates a GeoJson FeatureCollection object. + + The type of the coordinates. + The features. + A GeoJson FeatureCollection object. + + + + Creates a GeoJson 2D geographic position (longitude, latitude). + + The longitude. + The latitude. + A GeoJson 2D geographic position. + + + + Creates a GeoJson 3D geographic position (longitude, latitude, altitude). + + The longitude. + The latitude. + The altitude. + A GeoJson 3D geographic position. + + + + Creates a GeoJson GeometryCollection object. + + The type of the coordinates. + The additional args. + The geometries. + A GeoJson GeometryCollection object. + + + + Creates a GeoJson GeometryCollection object. + + The type of the coordinates. + The geometries. + A GeoJson GeometryCollection object. + + + + Creates the coordinates of a GeoJson linear ring. + + The type of the coordinates. + The positions. + The coordinates of a GeoJson linear ring. + + + + Creates a GeoJson LineString object. + + The type of the coordinates. + The additional args. + The positions. + A GeoJson LineString object. + + + + Creates a GeoJson LineString object. + + The type of the coordinates. + The positions. + A GeoJson LineString object. + + + + Creates the coordinates of a GeoJson LineString. + + The type of the coordinates. + The positions. + The coordinates of a GeoJson LineString. + + + + Creates a GeoJson MultiLineString object. + + The type of the coordinates. + The additional args. + The line strings. + A GeoJson MultiLineString object. + + + + Creates a GeoJson MultiLineString object. + + The type of the coordinates. + The line strings. + A GeoJson MultiLineString object. + + + + Creates a GeoJson MultiPoint object. + + The type of the coordinates. + The additional args. + The positions. + A GeoJson MultiPoint object. + + + + Creates a GeoJson MultiPoint object. + + The type of the coordinates. + The positions. + A GeoJson MultiPoint object. + + + + Creates a GeoJson MultiPolygon object. + + The type of the coordinates. + The additional args. + The polygons. + A GeoJson MultiPolygon object. + + + + Creates a GeoJson MultiPolygon object. + + The type of the coordinates. + The polygons. + A GeoJson MultiPolygon object. + + + + Creates a GeoJson Point object. + + The type of the coordinates. + The additional args. + The coordinates. + A GeoJson Point object. + + + + Creates a GeoJson Point object. + + The type of the coordinates. + The coordinates. + A GeoJson Point object. + + + + Creates a GeoJson Polygon object. + + The type of the coordinates. + The additional args. + The positions. + A GeoJson Polygon object. + + + + Creates a GeoJson Polygon object. + + The type of the coordinates. + The additional args. + The coordinates. + A GeoJson Polygon object. + + + + Creates a GeoJson Polygon object. + + The type of the coordinates. + The coordinates. + A GeoJson Polygon object. + + + + Creates a GeoJson Polygon object. + + The type of the coordinates. + The positions. + A GeoJson Polygon object. + + + + Creates the coordinates of a GeoJson Polygon object. + + The type of the coordinates. + The positions. + The coordinates of a GeoJson Polygon object. + + + + Creates the coordinates of a GeoJson Polygon object. + + The type of the coordinates. + The exterior. + The holes. + The coordinates of a GeoJson Polygon object. + + + + Creates a GeoJson 2D position (x, y). + + The x. + The y. + A GeoJson 2D position. + + + + Creates a GeoJson 3D position (x, y, z). + + The x. + The y. + The z. + A GeoJson 3D position. + + + + Creates a GeoJson 2D projected position (easting, northing). + + The easting. + The northing. + A GeoJson 2D projected position. + + + + Creates a GeoJson 3D projected position (easting, northing, altitude). + + The easting. + The northing. + The altitude. + A GeoJson 3D projected position. + + + + Represents a GeoJson 2D position (x, y). + + + + + Initializes a new instance of the class. + + The x coordinate. + The y coordinate. + + + + Gets the coordinate values. + + + + + Gets the X coordinate. + + + + + Gets the Y coordinate. + + + + + Represents a GeoJson 2D geographic position (longitude, latitude). + + + + + Initializes a new instance of the class. + + The longitude. + The latitude. + + + + Gets the coordinate values. + + + + + Gets the longitude. + + + + + Gets the latitude. + + + + + Represents a GeoJson 2D projected position (easting, northing). + + + + + Initializes a new instance of the class. + + The easting. + The northing. + + + + Gets the coordinate values. + + + + + Gets the easting. + + + + + Gets the northing. + + + + + Represents a GeoJson 3D position (x, y, z). + + + + + Initializes a new instance of the class. + + The x coordinate. + The y coordinate. + The z coordinate. + + + + Gets the coordinate values. + + + + + Gets the X coordinate. + + + + + Gets the Y coordinate. + + + + + Gets the Z coordinate. + + + + + Represents a GeoJson 3D geographic position (longitude, latitude, altitude). + + + + + Initializes a new instance of the class. + + The longitude. + The latitude. + The altitude. + + + + Gets the coordinate values. + + + + + Gets the longitude. + + + + + Gets the latitude. + + + + + Gets the altitude. + + + + + Represents a GeoJson 3D projected position (easting, northing, altitude). + + + + + Initializes a new instance of the class. + + The easting. + The northing. + The altitude. + + + + Gets the coordinate values. + + + + + Gets the easting. + + + + + Gets the northing. + + + + + Gets the altitude. + + + + + Represents a GeoJson bounding box. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The min. + The max. + + + + Gets the max. + + + + + Gets the min. + + + + + Represents a GeoJson coordinate reference system (see subclasses). + + + + + Gets the type of the GeoJson coordinate reference system. + + + + + Represents a GeoJson position in some coordinate system (see subclasses). + + + + + Gets the coordinate values. + + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Represents a GeoJson Feature object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The geometry. + + + + Initializes a new instance of the class. + + The additional args. + The geometry. + + + + Gets the geometry. + + + + + Gets the id. + + + + + Gets the properties. + + + + + Gets the type of the GeoJson object. + + + + + Represents additional arguments for a GeoJson Feature object. + + The type of the coordinates. + + + + Gets or sets the id. + + + + + Gets or sets the properties. + + + + + Represents a GeoJson FeatureCollection. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The features. + + + + Initializes a new instance of the class. + + The additional args. + The features. + + + + Gets the features. + + + + + Gets the type of the GeoJson object. + + + + + Represents a GeoJson Geometry object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + + + + Represents a GeoJson GeometryCollection object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The geometries. + + + + Initializes a new instance of the class. + + The additional args. + The geometries. + + + + Gets the geometries. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson linear ring. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The positions. + + + + Represents a GeoJson LineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson LineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The positions. + + + + Gets the positions. + + + + + Represents a GeoJson linked coordinate reference system. + + + + + Initializes a new instance of the class. + + The href. + + + + Initializes a new instance of the class. + + The href. + Type of the href. + + + + Gets the href. + + + + + Gets the type of the href. + + + + + Gets the type of the GeoJson coordinate reference system. + + + + + Represents a GeoJson MultiLineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson MultiLineString object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The line strings. + + + + Gets the LineStrings. + + + + + Represents a GeoJson MultiPoint object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson MultiPoint object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The positions. + + + + Gets the positions. + + + + + Represents a GeoJson MultiPolygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson MultiPolygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The polygons. + + + + Gets the Polygons. + + + + + Represents a GeoJson named coordinate reference system. + + + + + Initializes a new instance of the class. + + The name. + + + + Gets the name. + + + + + Gets the type of the GeoJson coordinate reference system. + + + + + Represents a GeoJson object (see subclasses). + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The additional args. + + + + Gets the bounding box. + + + + + Gets the coordinate reference system. + + + + + Gets the extra members. + + + + + Gets the type of the GeoJson object. + + + + + Represents additional args provided when creating a GeoJson object. + + The type of the coordinates. + + + + Gets or sets the bounding box. + + + + + Gets or sets the coordinate reference system. + + + + + Gets or sets the extra members. + + + + + Represents the type of a GeoJson object. + + + + + A Feature. + + + + + A FeatureCollection. + + + + + A GeometryCollection. + + + + + A LineString. + + + + + A MultiLineString. + + + + + A MultiPoint. + + + + + A MultiPolygon. + + + + + A Point. + + + + + A Polygon. + + + + + Represents a GeoJson Point object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents a GeoJson Polygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The coordinates. + + + + Initializes a new instance of the class. + + The additional args. + The coordinates. + + + + Gets the coordinates. + + + + + Gets the type of the GeoJson object. + + + + + Represents the coordinates of a GeoJson Polygon object. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The exterior. + + + + Initializes a new instance of the class. + + The exterior. + The holes. + + + + Gets the exterior. + + + + + Gets the holes. + + + + + Represents a serializer for a GeoJson2DCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson2DGeographicCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson2DProjectedCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson3DCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson3DGeographicCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson3DProjectedCoordinates value. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonBoundingBox value. + + The type of the coordinates. + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonCoordinateReferenceSystem value. + + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer for a GeoJsonCoordinates value. + + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer for a GeoJsonFeatureCollection value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonFeature value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonGeometryCollection value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonGeometry value. + + The type of the coordinates. + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer for a GeoJsonLinearRingCoordinates value. + + The type of the coordinates. + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonLineStringCoordinates value. + + The type of the coordinates. + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonLineString value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonLinkedCoordinateReferenceSystem value. + + + + + Initializes a new instance of the class. + + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + An object. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiLineStringCoordinates value. + + The type of the coordinates. + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiLineString value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPointCoordinates value. + + The type of the coordinates. + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPoint value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPolygonCoordinates value. + + The type of the coordinates. + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonMultiPolygon value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonNamedCoordinateReferenceSystem value. + + + + + Initializes a new instance of the class. + + + + + Deserializes a class. + + The deserialization context. + The deserialization args. + An object. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJson object. + + The type of the coordinates. + + + + Gets the actual type. + + The context. + The actual type. + + + + Represents a serializer helper for GeoJsonObjects. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The type. + The derived members. + + + + Deserializes a base member. + + The context. + The element name. + The flag. + The arguments. + + + + Serializes the members. + + The type of the value. + The context. + The value. + The delegate to serialize the derived members. + + + + Represents a serializer for a GeoJsonPoint value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonPolygonCoordinates value. + + The type of the coordinates. + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents a serializer for a GeoJsonPolygon value. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + + + + + + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Represents options for the $geoNear stage. + + + + + Gets or sets the output field that contains the calculated distance. Required if querying a time-series collection. + Optional for non-time series collections in MongoDB 8.1+ + + + + + Gets or sets the factor to multiply all distances returned by the query. + + + + + Gets or sets the output field that identifies the location used to calculate the distance. + + + + + Gets or sets the geospatial indexed field used when calculating the distance. + + + + + Gets or sets the max distance from the center point that the documents can be. + + + + + Gets or sets the min distance from the center point that the documents can be. + + + + + Gets or sets the output serializer. + + + + + Gets or sets the query that limits the results to the documents that match the query. + + + + + Gets or sets the spherical option which determines how to calculate the distance between two points. + + + + + Represents a Stream that delegates all of its operations to a wrapped Stream. + + + + + + Initializes a new instance of the class. + + The wrapped stream. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a GridFS bucket. + + The type of the file identifier. + + + + Initializes a new instance of the class. + + The database. + The options. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a GridFS bucket. + + + + + Initializes a new instance of the class. + + The database. + The options. + + + + Deletes a file from GridFS. + + The file id. + The cancellation token. + + + + Deletes a file from GridFS. + + The file id. + The cancellation token. + A Task. + + + + Downloads a file stored in GridFS and returns it as a byte array. + + The file id. + The options. + The cancellation token. + A byte array containing the contents of the file stored in GridFS. + + + + Downloads a file stored in GridFS and returns it as a byte array. + + The file id. + The options. + The cancellation token. + A Task whose result is a byte array containing the contents of the file stored in GridFS. + + + + Downloads a file stored in GridFS and writes the contents to a stream. + + The file id. + The destination. + The options. + The cancellation token. + + + + Downloads a file stored in GridFS and writes the contents to a stream. + + The file id. + The destination. + The options. + The cancellation token. + A Task. + + + + + + + + + + Opens a Stream that can be used by the application to read data from a GridFS file. + + The file id. + The options. + The cancellation token. + A Stream. + + + + Opens a Stream that can be used by the application to read data from a GridFS file. + + The file id. + The options. + The cancellation token. + A Task whose result is a Stream. + + + + + + + + + + Renames a GridFS file. + + The file id. + The new filename. + The cancellation token. + + + + Renames a GridFS file. + + The file id. + The new filename. + The cancellation token. + A Task. + + + + + + + + + + + + + + + + Represents mutable options for a GridFS instance. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The other from which to copy the values. + + + + Initializes a new instance of the class. + + The other from which to copy the values. + + + + Gets or sets the bucket name. + + + The bucket name. + + + + + Gets or sets the chunk size in bytes. + + + The chunk size in bytes. + + + + + Gets or sets the read concern. + + + The read concern. + + + + + Gets or sets the read preference. + + + The read preference. + + + + + Gets or sets the write concern. + + + The write concern. + + + + + Represents immutable options for a GridFS instance. + + + + + Gets the default GridFSBucketOptions. + + + The default GridFSBucketOptions. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The other from which to copy the values. + + + + Gets the bucket name. + + + The bucket name. + + + + + Gets the chunk size in bytes. + + + The chunk size in bytes. + + + + + Gets the read concern. + + + The read concern. + + + + + Gets the read preference. + + + The read preference. + + + + + Gets the serializer registry. + + + The serializer registry. + + + + + Gets the write concern. + + + The write concern. + + + + + Represents a GridFSChunk exception. + + + + + Initializes a new instance of the class. + + The file id. + The chunk number. + The reason. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents options to a GridFS download by name operation. + + + + + Gets or sets which revision of the file to download. + + + Which revision of the file to download. + + + + + Represents options for a GridFS download operation. + + + + + Gets or sets a value indicating whether the returned Stream supports seeking. + + + true if the returned Stream supports seeking; otherwise, false. + + + + + Represents a Stream used by the application to read data from a GridFS file. + + The type of the file identifier. + + + + Gets the files collection document. + + + The files collection document. + + + + + Closes the GridFS stream. + + The cancellation token. + + + + Closes the GridFS stream. + + The cancellation token. + A Task. + + + + Represents a Stream used by the application to read data from a GridFS file. + + + + + Initializes a new instance of the class. + + The wrapped stream. + + + + Gets the files collection document. + + + The files collection document. + + + + + Represents a GridFS exception. + + + + + Initializes a new instance of the class. + + The error message. + + + + Initializes a new instance of the class. + + The error message. + The inner exception. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents information about a stored GridFS file (backed by a files collection document). + + The type of the file identifier. + + + + Initializes a new instance of the class. + + The backing document. + The fileInfo serializer. + + + + Gets the backing document. + + + The backing document. + + + + + Gets the size of a chunk. + + + The size of a chunk. + + + + + Gets the filename. + + + The filename. + + + + + Gets the identifier. + + + The identifier. + + + + + Gets the length. + + + The length. + + + + + Gets the metadata. + + + The metadata. + + + + + Gets the upload date time. + + + The upload date time. + + + + + Represents information about a stored GridFS file (backed by a files collection document). + + + + + Initializes a new instance of the class. + + The backing document. + + + + Gets the backing document. + + + The backing document. + + + + + Gets the size of a chunk. + + + The size of a chunk. + + + + + Gets the filename. + + + The filename. + + + + + Gets the identifier. + + + The identifier. + + + + + Gets the identifier as a BsonValue. + + + The identifier as a BsonValue. + + + + + Gets the length. + + + The length. + + + + + Gets the metadata. + + + The metadata. + + + + + Gets the upload date time. + + + The upload date time. + + + + + Represents a serializer for GridFSFileInfo. + + The type of the file identifier. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The id serializer. + + + + + + + Represents a serializer for GridFSFileInfo. + + + + + Gets the pre-created instance. + + + + + Initializes a new instance of the class. + + + + + + + + Represents a GridFSFileNotFound exception. + + + + + Initializes a new instance of the class. + + The file id. + + + + Initializes a new instance of the class. + + The filename. + The revision. + + + + Initializes a new instance of the class. + + The SerializationInfo. + The StreamingContext. + + + + Represents options for a GridFS Find operation. + + The type of the file identifier. + + + + Gets or sets a value indicating whether the server is allowed to write to disk while executing the Find operation. + + + + + Gets or sets the batch size. + + + The batch size. + + + + + Gets or sets the maximum number of documents to return. + + + The maximum number of documents to return. + + + + + Gets or sets the maximum time the server should spend on the Find. + + + The maximum time the server should spend on the Find. + + + + + Gets or sets whether the cursor should not timeout. + + + Whether the cursor should not timeout. + + + + + Gets or sets the number of documents to skip. + + + The number of documents to skip. + + + + + Gets or sets the sort order. + + + The sort order. + + + + + Represents options for a GridFS Find operation. + + + + + Gets or sets the sort order. + + + The sort order. + + + + + Represents options for a GridFS upload operation. + + + + + Gets or sets the batch size. + + + The batch size. + + + + + Gets or sets the chunk size in bytes. + + + The chunk size in bytes. + + + + + Gets or sets the metadata. + + + The metadata. + + + + + Represents a Stream used by the application to write data to a GridFS file. + + The type of the file identifier. + + + + Gets the id of the file being added to GridFS. + + + The id of the file being added to GridFS. + + + + + Aborts an upload operation. + + + Any partial results already written to the server are deleted when Abort is called. + + The cancellation token. + + + + Aborts an upload operation. + + + Any partial results already written to the server are deleted when AbortAsync is called. + + The cancellation token. + A Task. + + + + Closes the Stream and completes the upload operation. + + + Any data remaining in the Stream is flushed to the server and the GridFS files collection document is written. + + The cancellation token. + + + + Closes the Stream and completes the upload operation. + + + Any data remaining in the Stream is flushed to the server and the GridFS files collection document is written. + + The cancellation token. + A Task. + + + + Represents a Stream used by the application to write data to a GridFS file. + + + + + Initializes a new instance of the class. + + The wrapped stream. + + + + Gets the id of the file being added to GridFS. + + + The id of the file being added to GridFS. + + + + + Aborts an upload operation. + + + Any partial results already written to the server are deleted when Abort is called. + + The cancellation token. + + + + Aborts an upload operation. + + + Any partial results already written to the server are deleted when AbortAsync is called. + + The cancellation token. + A Task. + + + + Closes the Stream and completes the upload operation. + + + Any data remaining in the Stream is flushed to the server and the GridFS files collection document is written. + + The cancellation token. + + + + Closes the Stream and completes the upload operation. + + + Any data remaining in the Stream is flushed to the server and the GridFS files collection document is written. + + The cancellation token. + A Task. + + + + Represents a GridFS system bucket. + + The type of the file identifier. + + + + Gets the database where the GridFS files are stored. + + + The database. + + + + + Gets the options. + + + The options. + + + + + Deletes a file from GridFS. + + The file id. + The cancellation token. + + + + Deletes a file from GridFS. + + The file id. + The cancellation token. + A Task. + + + + Downloads a file stored in GridFS and returns it as a byte array. + + The file id. + The options. + The cancellation token. + The contents of the file stored in GridFS. + + + + Downloads a file stored in GridFS and returns it as a byte array. + + The file id. + The options. + The cancellation token. + A Task whose result is a byte array containing the contents of the file stored in GridFS. + + + + Downloads a file stored in GridFS and returns it as a byte array. + + The filename. + The options. + The cancellation token. + A byte array containing the contents of the file stored in GridFS. + + + + Downloads a file stored in GridFS and returns it as a byte array. + + The filename. + The options. + The cancellation token. + A Task whose result is a byte array containing the contents of the file stored in GridFS. + + + + Downloads a file stored in GridFS and writes the contents to a stream. + + The file id. + The destination. + The options. + The cancellation token. + + + + Downloads a file stored in GridFS and writes the contents to a stream. + + The file id. + The destination. + The options. + The cancellation token. + A Task. + + + + Downloads a file stored in GridFS and writes the contents to a stream. + + The filename. + The destination. + The options. + The cancellation token. + + + + Downloads a file stored in GridFS and writes the contents to a stream. + + The filename. + The destination. + The options. + The cancellation token. + A Task. + + + + Drops the files and chunks collections associated with this GridFS bucket. + + The cancellation token. + + + + Drops the files and chunks collections associated with this GridFS bucket. + + The cancellation token. + A Task. + + + + Finds matching entries from the files collection. + + The filter. + The options. + The cancellation token. + A cursor of files collection documents. + + + + Finds matching entries from the files collection. + + The filter. + The options. + The cancellation token. + A Task whose result is a cursor of files collection documents. + + + + Opens a Stream that can be used by the application to read data from a GridFS file. + + The file id. + The options. + The cancellation token. + A Stream. + + + + Opens a Stream that can be used by the application to read data from a GridFS file. + + The file id. + The options. + The cancellation token. + A Task whose result is a Stream. + + + + Opens a Stream that can be used by the application to read data from a GridFS file. + + The filename. + The options. + The cancellation token. + A Stream. + + + + Opens a Stream that can be used by the application to read data from a GridFS file. + + The filename. + The options. + The cancellation token. + A Task whose result is a Stream. + + + + Opens a Stream that can be used by the application to write data to a GridFS file. + + The file id. + The filename. + The options. + The cancellation token. + A Stream. + + + + Opens a Stream that can be used by the application to write data to a GridFS file. + + The file id. + The filename. + The options. + The cancellation token. + A Task whose result is a Stream. + + + + Renames a GridFS file. + + The file id. + The new filename. + The cancellation token. + + + + Renames a GridFS file. + + The file id. + The new filename. + The cancellation token. + A Task. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The file id. + The filename. + The source. + The options. + The cancellation token. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The file id. + The filename. + The source. + The options. + The cancellation token. + A Task. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The file id. + The filename. + The source. + The options. + The cancellation token. + The id of the new file. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The file id. + The filename. + The source. + The options. + The cancellation token. + A Task. + + + + Represents a GridFS system bucket. + + + + + Finds matching entries from the files collection. + + The filter. + The options. + The cancellation token. + A cursor of files collection documents. + + + + Finds matching entries from the files collection. + + The filter. + The options. + The cancellation token. + A Task whose result is a cursor of files collection documents. + + + + Opens a Stream that can be used by the application to write data to a GridFS file. + + The filename. + The options. + The cancellation token. + A Stream. + + + + Opens a Stream that can be used by the application to write data to a GridFS file. + + The filename. + The options. + The cancellation token. + A Task whose result is a Stream. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The filename. + The source. + The options. + The cancellation token. + The id of the new file. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The filename. + The source. + The options. + The cancellation token. + A Task whose result is the id of the new file. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The filename. + The source. + The options. + The cancellation token. + The id of the new file. + + + + Uploads a file (or a new revision of a file) to GridFS. + + The filename. + The source. + The options. + The cancellation token. + A Task whose result is the id of the new file. + + + + Represents a serializer for a GridFSFileInfo. + + The type of the file identifier. + + + + Fluent interface for aggregate. + + + This interface is not guaranteed to remain stable. Implementors should use + . + + The type of the result of the pipeline. + + + + Gets the database. + + + + + Gets the options. + + + + + Gets the stages. + + + + + Appends the stage to the pipeline. + + The type of the result of the stage. + The stage. + The fluent aggregate interface. + + + + Changes the result type of the pipeline. + + The type of the new result. + The new result serializer. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline. + + The type of the value. + The expression providing the value to group by. + The bucket boundaries. + The options. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline with a custom projection. + + The type of the value. + The type of the new result. + The expression providing the value to group by. + The bucket boundaries. + The output projection. + The options. + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the value. + The expression providing the value to group by. + The number of buckets. + The options (optional). + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline with a custom projection. + + The type of the value. + The type of the new result. + The expression providing the value to group by. + The number of buckets. + The output projection. + The options (optional). + The fluent aggregate interface. + + + + Appends a $changeStream stage to the pipeline. + Normally you would prefer to use the Watch method of . + Only use this method if subsequent stages project away the resume token (the _id) + or you don't want the resulting cursor to automatically resume. + + The options. + The fluent aggregate interface. + + + + Appends a count stage to the pipeline. + + The fluent aggregate interface. + + + + Appends a $densify stage to the pipeline. + + The field. + The range. + The fields to partition by. + The fluent aggregate interface. + + + + Appends a $densify stage to the pipeline. + + The field. + The range. + The fields to partition by. + The fluent aggregate interface. + + + + Appends a $facet stage to the pipeline. + + The type of the new result. + The facets. + The options. + + The fluent aggregate interface. + + + + + Appends a $graphLookup stage to the pipeline. + + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the new result (must be same as TResult with an additional as field). + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The fluent aggregate interface. + + + + Appends a group stage to the pipeline. + + The type of the result of the stage. + The group projection. + The fluent aggregate interface. + + + + Appends a limit stage to the pipeline. + + The limit. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + The type of the foreign document. + The type of the new result. + Name of the other collection. + The local field. + The foreign field. + The field in to place the foreign results. + The options. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + The type of the foreign collection documents. + The type of the as field elements. + The type of the as field. + The type of the new result. + The foreign collection. + The "let" definition. + The lookup pipeline. + The as field in in which to place the results of the lookup pipeline. + The options. + The fluent aggregate interface. + + + + Appends a match stage to the pipeline. + + The filter. + The fluent aggregate interface. + + + + Appends a merge stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + The type of output documents. + The output collection. + The merge options. + The cancellation token. + A cursor. + + + + Appends a merge stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + The type of output documents. + The output collection. + The merge options. + The cancellation token. + A cursor. + + + + Appends a match stage to the pipeline that matches derived documents and changes the result type to the derived type. + + The type of the derived documents. + The new result serializer. + The fluent aggregate interface. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + The output collection. + The cancellation token. + A cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The cancellation token. + A cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + The output collection. + The time series options. + The cancellation token. + A cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The time series options. + The cancellation token. + A cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + The output collection. + The cancellation token. + A Task whose result is a cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The cancellation token. + A Task whose result is a cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + The output collection. + The time series options. + The cancellation token. + A Task whose result is a cursor. + + + + Appends an out stage to the pipeline and executes it, and then returns a cursor to read the contents of the output collection. + + Name of the collection. + The time series options. + The cancellation token. + A Task whose result is a cursor. + + + + Appends a project stage to the pipeline. + + The type of the result of the stage. + The projection. + + The fluent aggregate interface. + + + + + Appends a $replaceRoot stage to the pipeline. + + The type of the new result. + The new root. + The fluent aggregate interface. + + + + Appends a $replaceWith stage to the pipeline. + + The type of the new result. + The new root. + The fluent aggregate interface. + + + + Appends a sample stage to the pipeline. + + The sample size. + The fluent aggregate interface. + + + + Appends a $set stage to the pipeline. + + The fields to set. + The fluent aggregate interface. + + + + Appends a $setWindowFields to the pipeline. + + The type of the added window fields. + The window fields definition. + The fluent aggregate interface. + + + + Appends a $search stage to the pipeline. + + The search definition. + The highlight options. + The index name. + The count options. + + Flag that specifies whether to perform a full document lookup on the backend database + or return only stored source fields directly from Atlas Search. + + + Flag that specifies whether to return a detailed breakdown + of the score for each document in the result. + + The fluent aggregate interface. + + + + Appends a $search stage to the pipeline. + + The search definition. + The search options. + + The fluent aggregate interface. + + + + + Appends a $searchMeta stage to the pipeline. + + The search definition. + The index name. + The count options. + The fluent aggregate interface. + + + + Appends a $setWindowFields to the pipeline. + + The type of the value to partition by. + The type of the added window fields. + The partitionBy definition. + The window fields definition. + The fluent aggregate interface. + + + + Appends a $setWindowFields to the pipeline. + + The type of the value to partition by. + The type of the added window fields. + The partitionBy definition. + The sortBy definition. + The window fields definition. + The fluent aggregate interface. + + + + Appends a skip stage to the pipeline. + + The number of documents to skip. + The fluent aggregate interface. + + + + Appends a sort stage to the pipeline. + + The sort specification. + The fluent aggregate interface. + + + + Appends a sortByCount stage to the pipeline. + + The type of the identifier. + The identifier. + The fluent aggregate interface. + + + + Executes an aggregation pipeline that writes the results to a collection. + + The cancellation token. + + + + Executes an aggregation pipeline that writes the results to a collection. + + The cancellation token. + A Task. + + + + Appends an $unionWith stage to the pipeline. + + The type of the with collection documents. + The with collection. + The with pipeline. + The fluent aggregate interface. + + + + Appends an unwind stage to the pipeline. + + The type of the result of the stage. + The field. + The new result serializer. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the new result. + The field. + The options. + The fluent aggregate interface. + + + + Appends a vector search stage. + + The field. + The query vector. + The limit. + The vector search options. + The fluent aggregate interface. + + + + Fluent interface for aggregate. + + The type of the result. + + + + Combines the current sort definition with an additional sort definition. + + The new sort. + The fluent aggregate interface. + + + + Extension methods for + + + + + Appends a $bucket stage to the pipeline. + + The type of the result. + The type of the value. + The aggregate. + The expression providing the value to group by. + The bucket boundaries. + The options. + The fluent aggregate interface. + + + + Appends a $bucket stage to the pipeline. + + The type of the result. + The type of the value. + The type of the new result. + The aggregate. + The expression providing the value to group by. + The bucket boundaries. + The output projection. + The options. + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the result. + The type of the value. + The aggregate. + The expression providing the value to group by. + The number of buckets. + The options (optional). + The fluent aggregate interface. + + + + Appends a $bucketAuto stage to the pipeline (this overload can only be used with LINQ3). + + The type of the result. + The type of the value. + The type of the new result. + The aggregate. + The expression providing the value to group by. + The number of buckets. + The output projection. + The options (optional). + The fluent aggregate interface. + + + + Appends a $changeStreamSplitLargeEvent stage to the pipeline. + + The type of the result. + The aggregate. + The fluent aggregate interface. + + + + Appends a $densify stage to the pipeline. + + The type of the result. + The aggregate. + The field. + The range. + The partition by fields. + + The fluent aggregate interface. + + + + + Appends a $densify stage to the pipeline. + + The type of the result. + The aggregate. + The field. + The range. + The partition by fields. + + The fluent aggregate interface. + + + + + Appends a $documents stage to the pipeline. + + The type of the result. + The aggregate. + The documents. + The document serializer. + The fluent aggregate interface. + + + + Appends a $documents stage to the pipeline. + + The type of the result. + The aggregate. + The documents. + The document serializer. + The fluent aggregate interface. + + + + Appends a $facet stage to the pipeline. + + The type of the result. + The aggregate. + The facets. + The fluent aggregate interface. + + + + Appends a $facet stage to the pipeline. + + The type of the result. + The aggregate. + The facets. + The fluent aggregate interface. + + + + Appends a $facet stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The facets. + + The fluent aggregate interface. + + + + + Appends a $geoNear stage to the pipeline. + + The type of the result. + The type of the new result. + The type of the coordinates for the point. + The aggregate. + The point for which to find the closest documents. + The options. + The fluent aggregate interface. + + + + Appends a $geoNear stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The point for which to find the closest documents. + The options. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the result. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the new result (must be same as TResult with an additional as field). + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the result. + The type of the from documents. + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the result. + The type of the new result (must be same as TResult with an additional as field). + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The fluent aggregate interface. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the result. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the new result (must be same as TResult with an additional as field). + The aggregate. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The fluent aggregate interface. + + + + Appends a group stage to the pipeline. + + The type of the result. + The aggregate. + The group projection. + + The fluent aggregate interface. + + + + + Appends a group stage to the pipeline. + + The type of the result. + The type of the key. + The type of the new result. + The aggregate. + The id. + The group projection. + + The fluent aggregate interface. + + + + + Appends a lookup stage to the pipeline. + + The type of the result. + The aggregate. + Name of the foreign collection. + The local field. + The foreign field. + The field in the result to place the foreign matches. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + The type of the result. + The type of the foreign collection. + The type of the new result. + The aggregate. + The foreign collection. + The local field. + The foreign field. + The field in the result to place the foreign matches. + The options. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + The type of the result. + The aggregate. + The foreign collection. + The "let" definition. + The lookup pipeline. + The as field in the result in which to place the results of the lookup pipeline. + The fluent aggregate interface. + + + + Appends a lookup stage to the pipeline. + + The type of the result. + The type of the foreign collection documents. + The type of the as field elements. + The type of the as field. + The type of the new result. + The aggregate. + The foreign collection. + The "let" definition. + The lookup pipeline. + The as field in in which to place the results of the lookup pipeline. + The options. + The fluent aggregate interface. + + + + Appends a match stage to the pipeline. + + The type of the result. + The aggregate. + The filter. + + The fluent aggregate interface. + + + + + Appends a project stage to the pipeline. + + The type of the result. + The aggregate. + The projection. + + The fluent aggregate interface. + + + + + Appends a project stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The projection. + + The fluent aggregate interface. + + + + + Appends a $rankFusion stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The map of named pipelines whose results will be combined. The pipelines must operate on the same collection. + The map of pipeline names to non-negative numerical weights determining result importance during combination. Default weight is 1 when unspecified. + The rankFusion options. + The fluent aggregate interface. + + + + Appends a $rankFusion stage to the pipeline. Pipelines will be automatically named as "pipeline1", "pipeline2", etc. + + The type of the result. + The type of the new result. + The aggregate. + The collection of pipelines whose results will be combined. The pipelines must operate on the same collection. + The rankFusion options. + The fluent aggregate interface. + + + + Appends a $rankFusion stage to the pipeline. Pipelines will be automatically named as "pipeline1", "pipeline2", etc. + + The type of the result. + The type of the new result. + The aggregate. + The collection of tuples containing (pipeline, weight) pairs. The pipelines must operate on the same collection. + The rankFusion options. + The fluent aggregate interface. + + + + Appends a $replaceRoot stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The new root. + + The fluent aggregate interface. + + + + + Appends a $replaceWith stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The new root. + + The fluent aggregate interface. + + + + + Appends a $set stage to the pipeline. + + The type of the result. + The type of object specifying the fields to set. + The aggregate. + The fields to set. + The fluent aggregate interface. + + + + Appends a $setWindowFields to the pipeline. + + The type of the result. + The type of the added window fields. + The aggregate. + The window fields expression. + The fluent aggregate interface. + + + + Appends a $setWindowFields to the pipeline. + + The type of the result. + The type of the value to partition by. + The type of the added window fields. + The aggregate. + The partitionBy expression. + The window fields expression. + The fluent aggregate interface. + + + + Appends a $setWindowFields to the pipeline. + + The type of the result. + The type of the value to partition by. + The type of the added window fields. + The aggregate. + The partitionBy expression. + The sortBy expression. + The window fields expression. + The fluent aggregate interface. + + + + Appends an ascending sort stage to the pipeline. + + The type of the result. + The aggregate. + The field to sort by. + + The fluent aggregate interface. + + + + + Appends a sortByCount stage to the pipeline. + + The type of the result. + The type of the key. + The aggregate. + The id. + + The fluent aggregate interface. + + + + + Appends a descending sort stage to the pipeline. + + The type of the result. + The aggregate. + The field to sort by. + + The fluent aggregate interface. + + + + + Modifies the current sort stage by appending an ascending field specification to it. + + The type of the result. + The aggregate. + The field to sort by. + + The fluent aggregate interface. + + + + + Modifies the current sort stage by appending a descending field specification to it. + + The type of the result. + The aggregate. + The field to sort by. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the result. + The aggregate. + The field to unwind. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the result. + The aggregate. + The field to unwind. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The field to unwind. + The new result serializer. + + The fluent aggregate interface. + + + + + Appends an unwind stage to the pipeline. + + The type of the result. + The type of the new result. + The aggregate. + The field to unwind. + The options. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result, or the default value if the result set is empty. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the first document of the aggregate result, or the default value if the result set is empty. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result. Throws an exception if the result set does not contain exactly one document. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result. Throws an exception if the result set does not contain exactly one document. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result, or the default value if the result set is empty. Throws an exception if the result set contains more than one document. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Returns the only document of the aggregate result, or the default value if the result set is empty. Throws an exception if the result set contains more than one document. + + The type of the result. + The aggregate. + The cancellation token. + + The fluent aggregate interface. + + + + + Appends a $vectorSearch stage. + + The type of the result. + The aggregate. + The field. + The query vector. + The limit. + The vector search options. + The fluent aggregate interface. + + + + The interface for a client session. + + + + + Gets the client. + + + The client. + + + + + Gets the cluster time. + + + The cluster time. + + + + + Gets a value indicating whether this session is an implicit session. + + + true if this session is an implicit session; otherwise, false. + + + + + Gets a value indicating whether this instance is in a transaction. + + + true if this instance is in a transaction; otherwise, false. + + + + + Gets the operation time. + + + The operation time. + + + + + Gets the options. + + + The options. + + + + + Gets the server session. + + + The server session. + + + + + Gets the wrapped core session (intended for internal use only). + + + The wrapped core session. + + + + + Aborts the transaction. + + The cancellation token. + + + + Aborts the transaction. + + The cancellation token. + A Task. + + + + Advances the cluster time. + + The new cluster time. + + + + Advances the operation time. + + The new operation time. + + + + Commits the transaction. + + The cancellation token. + + + + Commits the transaction. + + The cancellation token. + A Task. + + + + Starts a transaction. + + The transaction options. + + + + Executes a callback within a transaction, with retries if needed. + + + If a command inside the callback fails, it may cause the transaction on the server to be + aborted. This situation is normally handled transparently by the driver. However, if the + application does not return that error from the callback, the driver will not be able to + determine whether the transaction was aborted or not. The driver will then retry the + callback indefinitely. To avoid this situation, the application MUST NOT silently handle + errors within the callback. If the application needs to handle errors within the + callback, it MUST return them after doing so. + + The user defined callback. + The transaction options. + The cancellation token. + The type of callback result. + The callback result. + + + + Executes a callback within a transaction, with retries if needed. + + + If a command inside the callback fails, it may cause the transaction on the server to be + aborted. This situation is normally handled transparently by the driver. However, if the + application does not return that error from the callback, the driver will not be able to + determine whether the transaction was aborted or not. The driver will then retry the + callback indefinitely. To avoid this situation, the application MUST NOT silently handle + errors within the callback. If the application needs to handle errors within the + callback, it MUST return them after doing so. + + The user defined callback. + The transaction options. + The cancellation token. + The type of callback result. + The callback result. + + + + A handle to an underlying reference counted IClientSession. + + + + + + Forks this instance. + + A session. + + + + Extension Manager provides a way to configure extensions for the driver. + + + + + Sasl Mechanisms Registry. + + + + + Kms Providers Registry. + + + + + AutoEncryption Provider Registry. + + + + + A filtered mongo collection. The filter will be and'ed with all filters. + + The type of the document. + + + + Gets the filter. + + + + + Fluent interface for find. + + + This interface is not guaranteed to remain stable. Implementors should use + . + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Gets or sets the filter. + + + + + Gets the options. + + + + + A simplified type of projection that changes the result type by using a different serializer. + + The type of the result. + The result serializer. + The fluent find interface. + + + + Counts the number of documents. + + The cancellation token. + The count. + + + + Counts the number of documents. + + The cancellation token. + A Task whose result is the count. + + + + Counts the number of documents. + + + Note: when migrating from Count to CountDocuments the following query operations must be replaced: + + + +-------------+--------------------------------+ + | Operator | Replacement | + +=============+================================+ + | $where | $expr | + +-------------+--------------------------------+ + | $near | $geoWithin with $center | + +-------------+--------------------------------+ + | $nearSphere | $geoWithin with $centerSphere | + +-------------+--------------------------------+ + + + The cancellation token. + The count. + + + + Counts the number of documents. + + + Note: when migrating from CountAsync to CountDocumentsAsync the following query operations must be replaced: + + + +-------------+--------------------------------+ + | Operator | Replacement | + +=============+================================+ + | $where | $expr | + +-------------+--------------------------------+ + | $near | $geoWithin with $center | + +-------------+--------------------------------+ + | $nearSphere | $geoWithin with $centerSphere | + +-------------+--------------------------------+ + + + The cancellation token. + A Task whose result is the count. + + + + Limits the number of documents. + + + Limit of zero or null is equivalent to setting no limit. + + The limit. + The fluent find interface. + + + + Projects the the result. + + The type of the projection. + The projection. + The fluent find interface. + + + + Skips the the specified number of documents. + + The skip. + The fluent find interface. + + + + Sorts the the documents. + + The sort. + The fluent find interface. + + + + Returns a string representation of an IFindFluent instance. + + The translation options. + The string representation. + + + + Fluent interface for find. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + + + + Extension methods for + + + + + Projects the result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The projection. + The fluent find interface. + + + + Projects the result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The type of the new projection. + The fluent find. + The projection. + The fluent find interface. + + + + Sorts the results by an ascending field. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The field. + The fluent find interface. + + + + Sorts the results by a descending field. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The field. + The fluent find interface. + + + + Adds an ascending field to the existing sort. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The field. + The fluent find interface. + + + + Adds a descending field to the existing sort. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The field. + The fluent find interface. + + + + Determine if there are any results. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + True if there is at least one document. + + + + Determine if there are any results. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is true if there is at least one document. + + + + Get the first result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the first result. + + + + Get the first result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the first result. + + + + Get the first result or null. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the first result or null. + + + + Get the first result or null. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the first result or null. + + + + Gets a single result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the single result. + + + + Gets a single result. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the single result. + + + + Gets a single result or null. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the single result or null. + + + + Gets a single result or null. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The fluent find. + The cancellation token. + A Task whose result is the single result or null. + + + + The client interface to MongoDB. + + + + + Gets the cluster. + + + The cluster. + + + + + Gets the settings. + + + + + Executes a list of mixed write operations. + + List of operations to execute. + The bulk write options. + The cancellation token. + + + + Executes a list of mixed write operations. + + The session. + List of operations to execute. + The bulk write options. + The cancellation token. + + + + Executes a list of mixed write operations. + + List of operations to execute. + The bulk write options. + The cancellation token. + + + + Executes a list of mixed write operations. + + The session. + List of operations to execute. + The bulk write options. + The cancellation token. + + + + Drops the database with the specified name. + + The name of the database to drop. + The cancellation token. + + + + Drops the database with the specified name. + + The session. + The name of the database to drop. + The cancellation token. + + + + Drops the database with the specified name. + + The name of the database to drop. + The cancellation token. + A task. + + + + Drops the database with the specified name. + + The session. + The name of the database to drop. + The cancellation token. + + A task. + + + + + Gets a database. + + The name of the database. + The database settings. + An implementation of a database. + + + + Returns the names of the databases on the server. + + The cancellation token. + The database names. + + + + Returns the names of the databases on the server. + + The cancellation token. + The options. + The database names. + + + + Returns the names of the databases on the server. + + The session. + The cancellation token. + The database names. + + + + Returns the names of the databases on the server. + + The session. + The options. + The cancellation token. + The database names. + + + + Returns the names of the databases on the server. + + The cancellation token. + The database names. + + + + Returns the names of the databases on the server. + + The options. + The cancellation token. + The database names. + + + + Returns the names of the databases on the server. + + The session. + The cancellation token. + The database names. + + + + Returns the names of the databases on the server. + + The session. + The options. + The cancellation token. + The database names. + + + + Lists the databases on the server. + + The cancellation token. + A cursor. + + + + Lists the databases on the server. + + The options. + The cancellation token. + A cursor. + + + + Lists the databases on the server. + + The session. + The cancellation token. + + A cursor. + + + + + Lists the databases on the server. + + The session. + The options. + The cancellation token. + + A cursor. + + + + + Lists the databases on the server. + + The cancellation token. + A Task whose result is a cursor. + + + + Lists the databases on the server. + + The cancellation token. + The options. + A Task whose result is a cursor. + + + + Lists the databases on the server. + + The session. + The cancellation token. + + A Task whose result is a cursor. + + + + + Lists the databases on the server. + + The session. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Starts a client session. + + The session options. + The cancellation token. + + A client session. + + + + + Starts a client session. + + The session options. + The cancellation token. + + A Task whose result is a client session. + + + + + Watches changes on all collections in all databases. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in all databases. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in all databases. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in all databases. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Returns a new IMongoClient instance with a different read concern setting. + + The read concern. + A new IMongoClient instance with a different read concern setting. + + + + Returns a new IMongoClient instance with a different read preference setting. + + The read preference. + A new IMongoClient instance with a different read preference setting. + + + + Returns a new IMongoClient instance with a different write concern setting. + + The write concern. + A new IMongoClient instance with a different write concern setting. + + + + Extension methods on IMongoClient. + + + + + Watches changes on all collections in all databases. + + The client. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in all databases. + + The client. + The session. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in all databases. + + The client. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in all databases. + + The client. + The session. + The options. + The cancellation token. + + A change stream. + + + + + Represents a typed collection in MongoDB. + + + This interface is not guaranteed to remain stable. Implementors should use + . + + The type of the documents stored in the collection. + + + + Gets the namespace of the collection. + + + + + Gets the database. + + + + + Gets the document serializer. + + + + + Gets the index manager. + + + + + Gets the search index manager. + + + + + Gets the settings. + + + + + Runs an aggregation pipeline. + + The type of the result. + The pipeline. + The options. + The cancellation token. + A cursor. + + + + Runs an aggregation pipeline. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A cursor. + + + + + Runs an aggregation pipeline. + + The type of the result. + The pipeline. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Runs an aggregation pipeline. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Runs an aggregation pipeline whose results are written to a collection. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + + + Runs an aggregation pipeline whose results are written to a collection. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + + + Runs an aggregation pipeline whose results are written to a collection. + + The type of the result. + The pipeline. + The options. + The cancellation token. + A Task. + + + + Runs an aggregation pipeline whose results are written to a collection. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + A Task. + + + + Performs multiple write operations. + + The requests. + The options. + The cancellation token. + The result of writing. + + + + Performs multiple write operations. + + The session. + The requests. + The options. + The cancellation token. + + The result of writing. + + + + + Performs multiple write operations. + + The requests. + The options. + The cancellation token. + The result of writing. + + + + Performs multiple write operations. + + The session. + The requests. + The options. + The cancellation token. + + The result of writing. + + + + + Counts the number of documents in the collection. + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The session. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The session. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + + Note: when migrating from Count to CountDocuments the following query operations must be replaced: + + + +-------------+--------------------------------+ + | Operator | Replacement | + +=============+================================+ + | $where | $expr | + +-------------+--------------------------------+ + | $near | $geoWithin with $center | + +-------------+--------------------------------+ + | $nearSphere | $geoWithin with $centerSphere | + +-------------+--------------------------------+ + + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + + Note: when migrating from Count to CountDocuments the following query operations must be replaced: + + + +-------------+--------------------------------+ + | Operator | Replacement | + +=============+================================+ + | $where | $expr | + +-------------+--------------------------------+ + | $near | $geoWithin with $center | + +-------------+--------------------------------+ + | $nearSphere | $geoWithin with $centerSphere | + +-------------+--------------------------------+ + + + The session. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + + Note: when migrating from CountAsync to CountDocumentsAsync the following query operations must be replaced: + + + +-------------+--------------------------------+ + | Operator | Replacement | + +=============+================================+ + | $where | $expr | + +-------------+--------------------------------+ + | $near | $geoWithin with $center | + +-------------+--------------------------------+ + | $nearSphere | $geoWithin with $centerSphere | + +-------------+--------------------------------+ + + + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + + Note: when migrating from CountAsync to CountDocumentsAsync the following query operations must be replaced: + + + +-------------+--------------------------------+ + | Operator | Replacement | + +=============+================================+ + | $where | $expr | + +-------------+--------------------------------+ + | $near | $geoWithin with $center | + +-------------+--------------------------------+ + | $nearSphere | $geoWithin with $centerSphere | + +-------------+--------------------------------+ + + + The session. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Deletes multiple documents. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Gets the distinct values for a specified field. + + The type of the result. + The field. + The filter. + The options. + The cancellation token. + A cursor. + + + + Gets the distinct values for a specified field. + + The type of the result. + The session. + The field. + The filter. + The options. + The cancellation token. + + A cursor. + + + + + Gets the distinct values for a specified field. + + The type of the result. + The field. + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Gets the distinct values for a specified field. + + The type of the result. + The session. + The field. + The filter. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Gets the distinct values for a specified array field. + + The type of the array items. + The field. + The filter. + The options. + The cancellation token. + A cursor. + + + + Gets the distinct values for a specified array field. + + The type of the array items. + The session. + The field. + The filter. + The options. + The cancellation token. + A cursor. + + + + Gets the distinct values for a specified array field. + + The type of the array items. + The field. + The filter. + The options. + The cancellation token. + A cursor. + + + + Gets the distinct values for a specified array field. + + The type of the array items. + The session. + The field. + The filter. + The options. + The cancellation token. + A cursor. + + + + Returns an estimate of the number of documents in the collection. + + The options. + The cancellation token. + + An estimate of the number of documents in the collection. + + + Due to an oversight in versions 5.0.0-5.0.8 of MongoDB, the count command, which estimatedDocumentCount uses + in its implementation, was not included in v1 of the Stable API. If you are using the Stable API with + estimatedDocumentCount, you must upgrade to server version 5.0.9+ or set strict: false when configuring + ServerApi to avoid encountering errors. + + + + + Returns an estimate of the number of documents in the collection. + + The options. + The cancellation token. + + An estimate of the number of documents in the collection. + + + + + Finds the documents matching the filter. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The options. + The cancellation token. + A cursor. + + + + Finds the documents matching the filter. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The options. + The cancellation token. + + A cursor. + + + + + Finds the documents matching the filter. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Finds a single document and deletes it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the projection (same as TDocument if there is no projection). + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the projection (same as TDocument if there is no projection). + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Inserts a single document. + + The document. + The options. + The cancellation token. + + + + Inserts a single document. + + The session. + The document. + The options. + The cancellation token. + + + + Inserts a single document. + + The document. + The cancellation token. + + The result of the insert operation. + + + + + Inserts a single document. + + The document. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Inserts a single document. + + The session. + The document. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Inserts many documents. + + The documents. + The options. + The cancellation token. + + + + Inserts many documents. + + The session. + The documents. + The options. + The cancellation token. + + + + Inserts many documents. + + The documents. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Inserts many documents. + + The session. + The documents. + The options. + The cancellation token. + + The result of the insert operation. + + + + + Executes a map-reduce command. + + The type of the result. + The map function. + The reduce function. + The options. + The cancellation token. + A cursor. + + + + Executes a map-reduce command. + + The type of the result. + The session. + The map function. + The reduce function. + The options. + The cancellation token. + + A cursor. + + + + + Executes a map-reduce command. + + The type of the result. + The map function. + The reduce function. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Executes a map-reduce command. + + The type of the result. + The session. + The map function. + The reduce function. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Returns a filtered collection that appears to contain only documents of the derived type. + All operations using this filtered collection will automatically use discriminators as necessary. + + The type of the derived document. + A filtered collection. + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Updates many documents. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Watches changes on the collection. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on the collection. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on the collection. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on the collection. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Returns a new IMongoCollection instance with a different read concern setting. + + The read concern. + A new IMongoCollection instance with a different read concern setting. + + + + Returns a new IMongoCollection instance with a different read preference setting. + + The read preference. + A new IMongoCollection instance with a different read preference setting. + + + + Returns a new IMongoCollection instance with a different write concern setting. + + The write concern. + A new IMongoCollection instance with a different write concern setting. + + + + Extension methods for . + + + + + Begins a fluent aggregation interface. + + The type of the document. + The collection. + The options. + + A fluent aggregate interface. + + + + + Begins a fluent aggregation interface. + + The type of the document. + The collection. + The session. + The options. + + A fluent aggregate interface. + + + + + Creates a queryable source of documents. + + The type of the document. + The collection. + The aggregate options + A queryable source of documents. + + + + Creates a queryable source of documents. + + The type of the document. + The collection. + The session. + The aggregate options + A queryable source of documents. + + + + Counts the number of documents in the collection. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The type of the document. + The session. + The collection. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + The type of the document. + The session. + The collection. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Counts the number of documents in the collection. + For a fast estimate of the total documents in a collection see . + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The number of documents in the collection. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes multiple documents. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The filter. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Deletes a single document. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The result of the delete operation. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified field. + + The type of the document. + The type of the result. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Gets the distinct values for a specified array field. + + The type of the document. + The type of the array items. + The collection. + The session. + The field. + The filter. + The options. + The cancellation token. + + The distinct values for the specified field. + + + + + Begins a fluent find interface. + + The type of the document. + The collection. + The filter. + The options. + + A fluent find interface. + + + + + Begins a fluent find interface. + + The type of the document. + The collection. + The session. + The filter. + The options. + + A fluent find interface. + + + + + Begins a fluent find interface. + + The type of the document. + The collection. + The filter. + The options. + + A fluent interface. + + + + + Begins a fluent find interface. + + The type of the document. + The collection. + The session. + The filter. + The options. + + A fluent interface. + + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Finds the documents matching the filter. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The session. + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The collection. + The session. + The filter. + The options. + The cancellation token. + + The deleted document if one was deleted. + + + + + Finds a single document and deletes it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The session. + The filter. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The collection. + The filter. + The session. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and replaces it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Finds a single document and updates it atomically. + + The type of the document. + The type of the projection (same as TDocument if there is no projection). + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The returned document. + + + + + Replaces a single document. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Replaces a single document. + + The type of the document. + The collection. + The session. + The filter. + The replacement. + The options. + The cancellation token. + + The result of the replacement. + + + + + Updates many documents. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates many documents. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The type of the document. + The collection. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Updates a single document. + + The type of the document. + The collection. + The session. + The filter. + The update. + The options. + The cancellation token. + + The result of the update operation. + + + + + Watches changes on the collection. + + The type of the document. + The collection. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on the collection. + + The type of the document. + The collection. + The session. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on the collection. + + The type of the document. + The collection. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on the collection. + + The type of the document. + The collection. + The session. + The options. + The cancellation token. + + A change stream. + + + + + Represents a database in MongoDB. + + + + + Gets the client. + + + + + Gets the namespace of the database. + + + + + Gets the settings. + + + + + Runs an aggregation pipeline. + + The type of the result. + The pipeline. + The options. + The cancellation token. + A cursor. + + + + Runs an aggregation pipeline. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A cursor. + + + + + Runs an aggregation pipeline. + + The type of the result. + The pipeline. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Runs an aggregation pipeline. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Runs an aggregation pipeline. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + + + Runs an aggregation pipeline. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + + + Runs an aggregation pipeline. + + The type of the result. + The pipeline. + The options. + The cancellation token. + A Task. + + + + Runs an aggregation pipeline. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + A Task. + + + + Creates the collection with the specified name. + + The name. + The options. + The cancellation token. + + + + Creates the collection with the specified name. + + The session. + The name. + The options. + The cancellation token. + + + + Creates the collection with the specified name. + + The name. + The options. + The cancellation token. + A task. + + + + Creates the collection with the specified name. + + The session. + The name. + The options. + The cancellation token. + + A task. + + + + + Creates a view. + + The type of the input documents. + The type of the pipeline result documents. + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + + + + Creates a view. + + The type of the input documents. + The type of the pipeline result documents. + The session. + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + + + + Creates a view. + + The type of the input documents. + The type of the pipeline result documents. + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + A task. + + + + Creates a view. + + The type of the input documents. + The type of the pipeline result documents. + The session. + The name of the view. + The name of the collection that the view is on. + The pipeline. + The options. + The cancellation token. + + A task. + + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The cancellation token. + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The options. + The cancellation token. + + + + Drops the collection with the specified name. + + The session. + The name of the collection to drop. + The cancellation token. + + + + Drops the collection with the specified name. + + The session. + The name of the collection to drop. + The options. + The cancellation token. + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The cancellation token. + A task. + + + + Drops the collection with the specified name. + + The name of the collection to drop. + The options. + The cancellation token. + A task. + + + + Drops the collection with the specified name. + + The session. + The name of the collection to drop. + The cancellation token. + + A task. + + + + + Drops the collection with the specified name. + + The session. + The name of the collection to drop. + The options. + The cancellation token. + + A task. + + + + + Gets a collection. + + The document type. + The name of the collection. + The settings. + An implementation of a collection. + + + + Lists the names of all the collections in the database. + + The options. + The cancellation token. + A cursor. + + + + Lists the names of all the collections in the database. + + The session. + The options. + The cancellation token. + A cursor. + + + + Lists the names of all the collections in the database. + + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Lists the names of all the collections in the database. + + The session. + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Lists all the collections in the database. + + The options. + The cancellation token. + A cursor. + + + + Lists all the collections in the database. + + The session. + The options. + The cancellation token. + + A cursor. + + + + + Lists all the collections in the database. + + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Lists all the collections in the database. + + The session. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Renames the collection. + + The old name. + The new name. + The options. + The cancellation token. + + + + Renames the collection. + + The session. + The old name. + The new name. + The options. + The cancellation token. + + + + Renames the collection. + + The old name. + The new name. + The options. + The cancellation token. + A task. + + + + Renames the collection. + + The session. + The old name. + The new name. + The options. + The cancellation token. + + A task. + + + + + Runs a command. + + The result type of the command. + The command. + The read preference. + The cancellation token. + + The result of the command. + + + + + Runs a command. + + The result type of the command. + The session. + The command. + The read preference. + The cancellation token. + + The result of the command. + + + + + Runs a command. + + The result type of the command. + The command. + The read preference. + The cancellation token. + + The result of the command. + + + + + Runs a command. + + The result type of the command. + The session. + The command. + The read preference. + The cancellation token. + + The result of the command. + + + + + Watches changes on all collections in a database. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in a database. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in a database. + + The type of the result. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collections in a database. + + The type of the result. + The session. + The pipeline. + The options. + The cancellation token. + + A change stream. + + + + + Returns a new IMongoDatabase instance with a different read concern setting. + + The read concern. + A new IMongoDatabase instance with a different read concern setting. + + + + Returns a new IMongoDatabase instance with a different read preference setting. + + The read preference. + A new IMongoDatabase instance with a different read preference setting. + + + + Returns a new IMongoDatabase instance with a different write concern setting. + + The write concern. + A new IMongoDatabase instance with a different write concern setting. + + + + Extension methods on IMongoDatabase. + + + + + Begins a fluent aggregation interface. + + The database. + The options. + + A fluent aggregate interface. + + + + + Begins a fluent aggregation interface. + + The database. + The session. + The options. + + A fluent aggregate interface. + + + + + Creates a queryable source of documents. + + The database. + The aggregate options + A queryable source of documents. + + + + Creates a queryable source of documents. + + The collection. + The session. + The aggregate options + A queryable source of documents. + + + + Watches changes on all collection in a database. + + The database. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collection in a database. + + The database. + The session. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collection in a database. + + The database. + The options. + The cancellation token. + + A change stream. + + + + + Watches changes on all collection in a database. + + The database. + The session. + The options. + The cancellation token. + + A change stream. + + + + + An interface representing methods used to create, delete and modify indexes. + + + This interface is not guaranteed to remain stable. Implementors should use + . + + The type of the document. + + + + Gets the namespace of the collection. + + + + + Gets the document serializer. + + + + + Gets the collection settings. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + An of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The options for create multiple indexes. + The cancellation token. + + An of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The session. + The models defining each of the indexes. + The cancellation token. + + An of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The session. + The models defining each of the indexes. + The options for create multiple indexes. + The cancellation token. + + An of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + A task whose result is an of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The options for create multiple indexes. + The cancellation token. + + A task whose result is an of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The session. + The models defining each of the indexes. + The cancellation token. + + A task whose result is an of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The session. + The models defining each of the indexes. + The options for create multiple indexes. + The cancellation token. + + A task whose result is an of the names of the indexes that were created. + + + + + Creates an index. + + The model defining the index. + The create index operation options. + The cancellation token. + + The name of the index that was created. + + + + + Creates an index. + + The keys. + The create index request options. + The cancellation token. + + The name of the index that was created. + + + + + Creates an index. + + The session. + The keys. + The create index request options. + The cancellation token. + + The name of the index that was created. + + + + + Creates an index. + + The session. + The model defining the index. + The create index operation options. + The cancellation token. + + The name of the index that was created. + + + + + Creates an index. + + The model defining the index. + The create index operation options. + The cancellation token. + + A task whose result is the name of the index that was created. + + + + + Creates an index. + + The keys. + The create index request options. + The cancellation token. + + A task whose result is the name of the index that was created. + + + + + Creates an index. + + The session. + The keys. + The create index request options. + The cancellation token. + + A task whose result is the name of the index that was created. + + + + + Creates an index. + + The session. + The model defining the index. + The create index operation options. + The cancellation token. + + A task whose result is the name of the index that was created. + + + + + Drops all the indexes. + + The options. + The cancellation token. + + + + Drops all the indexes. + + The cancellation token. + + + + Drops all the indexes. + + The session. + The cancellation token. + + + + Drops all the indexes. + + The session. + The options. + The cancellation token. + + + + Drops all the indexes. + + The options. + The cancellation token. + + A task. + + + + + Drops all the indexes. + + The cancellation token. + A task. + + + + Drops all the indexes. + + The session. + The cancellation token. + + A task. + + + + + Drops all the indexes. + + The session. + The options. + The cancellation token. + + A task. + + + + + Drops an index by its name. + + The name. + The cancellation token. + + + + Drops an index by its name. + + The name. + The options. + The cancellation token. + + + + Drops an index by its name. + + The session. + The name. + The cancellation token. + + + + Drops an index by its name. + + The session. + The name. + The options. + The cancellation token. + + + + Drops an index by its name. + + The name. + The cancellation token. + A task. + + + + Drops an index by its name. + + The name. + The options. + The cancellation token. + A task. + + + + Drops an index by its name. + + The session. + The name. + The cancellation token. + + A task. + + + + + Drops an index by its name. + + The session. + The name. + The options. + The cancellation token. + + A task. + + + + + Lists the indexes. + + The cancellation token. + A cursor. + + + + Lists the indexes. + + The options. + The cancellation token. + A cursor. + + + + Lists the indexes. + + The session. + The cancellation token. + + A cursor. + + + + + Lists the indexes. + + The session. + The options. + The cancellation token. + + A cursor. + + + + + Lists the indexes. + + The cancellation token. + A Task whose result is a cursor. + + + + Lists the indexes. + + The options. + The cancellation token. + A Task whose result is a cursor. + + + + Lists the indexes. + + The session. + The cancellation token. + + A Task whose result is a cursor. + + + + + Lists the indexes. + + The session. + The options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Base class for an index keys definition. + + The type of the document. + + + + Renders the index keys definition to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + A based index keys definition. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + + + + A JSON based index keys definition. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + + + + Extension methods for an index keys definition. + + + + + Combines an existing index keys definition with an ascending index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with an ascending index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a descending index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a descending index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2d index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2d index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a geo haystack index key definition. + + The type of the document. + The keys. + The field. + Name of the additional field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a geo haystack index key definition. + + The type of the document. + The keys. + The field. + Name of the additional field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2dsphere index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a 2dsphere index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a hashed index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a hashed index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a text index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + Combines an existing index keys definition with a text index key definition. + + The type of the document. + The keys. + The field. + + A combined index keys definition. + + + + + A builder for an . + + The type of the document. + + + + Creates an ascending index key definition. + + The field. + An ascending index key definition. + + + + Creates an ascending index key definition. + + The field. + An ascending index key definition. + + + + Creates a combined index keys definition. + + The keys. + A combined index keys definition. + + + + Creates a combined index keys definition. + + The keys. + A combined index keys definition. + + + + Creates a descending index key definition. + + The field. + A descending index key definition. + + + + Creates a descending index key definition. + + The field. + A descending index key definition. + + + + Creates a 2d index key definition. + + The field. + A 2d index key definition. + + + + Creates a 2d index key definition. + + The field. + A 2d index key definition. + + + + Creates a geo haystack index key definition. + + The field. + Name of the additional field. + + A geo haystack index key definition. + + + + + Creates a geo haystack index key definition. + + The field. + Name of the additional field. + + A geo haystack index key definition. + + + + + Creates a 2dsphere index key definition. + + The field. + A 2dsphere index key definition. + + + + Creates a 2dsphere index key definition. + + The field. + A 2dsphere index key definition. + + + + Creates a hashed index key definition. + + The field. + A hashed index key definition. + + + + Creates a hashed index key definition. + + The field. + A hashed index key definition. + + + + Creates a text index key definition. + + The field. + A text index key definition. + + + + Creates a text index key definition. + + The field. + A text index key definition. + + + + Creates a wildcard index key definition. The method doesn't expect to specify a wildcard key explicitly. + + The wildcard key name. If the wildcard name is empty, the generated key will be `All field paths`, otherwise `A single field path`. + A wildcard index key definition. + + + + Creates a wildcard index key definition. + + The field expression representing the wildcard key name. + A wildcard index key definition. + + + + Represents index option defaults. + + + + + Gets or sets the storage engine options. + + + + + Returns this instance represented as a BsonDocument. + + A BsonDocument. + + + + Options for inserting many documents. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the comment. + + + + + Gets or sets a value indicating whether the requests are fulfilled in order. + + + + + Gets or sets the operation timeout. + + + + + Model for inserting a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + Gets the type of the model. + + + + + Options for inserting one document. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the comment. + + + + + Gets or sets the operation timeout. + + + + + The interface for a server session. + + + + + Gets the session Id. + + + The session Id. + + + + + Gets the time this server session was last used (in UTC). + + + The time this server session was last used (in UTC). + + + + + Gets the next transaction number. + + The transaction number. + + + + Called by the driver when the session is used (i.e. sent to the server). + + + + + Represents a partition for SetWindowFields. + + The type of the input documents in the partition. + + + + This static class holds methods that can be used to express MongoDB specific operations in LINQ queries. + + + + + Adds a value of the specified unit to a DateTime. + + The original DateTime. + The value to be added. + The unit. + The resulting DateTime. + + + + Adds a value of the specified unit to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The unit. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a TimeSpan value to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in days to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in hours to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in milliseconds to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in minutes to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in months to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in quarters to a DateTime. + + The original DateTime. + The value to be added. + The resulting DateTime. + + + + Adds a value in quarters to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in seconds to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in weeks to a DateTime taking. + + The original DateTime. + The value to be added. + The resulting DateTime. + + + + Adds a value in weeks to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Adds a value in years to a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateAdd for information on timezones in MongoDB. + + + + Subtracts the start date from the end date returning the result in the specified unit. + + The original DateTime. + The start date. + The unit. + The result. + + + + Subtracts the start date from the end date returning the result in the specified unit taking a timezone into consideration. + + The original DateTime. + The start date. + The unit. + The timezone. + The result. + See the server documentation for $dateDiff for information on timezones in MongoDB. + + + + Subtracts the start date from the end date returning a TimeSpan taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateDiff for information on timezones in MongoDB. + + + + Subtracts a TimeSpan from a date taking a timezone into consideration. + + The original DateTime. + The value to be added. + The timezone. + The resulting DateTime. + See the server documentation for $dateSubtract for information on timezones in MongoDB. + + + + Subtracts a value of the specified unit from a DateTime. + + The original DateTime. + The value to be added. + The unit. + The resulting DateTime. + + + + Subtracts a value of the specified unit from a DateTime taking a timezone into consideration. + + The original DateTime. + The value to be added. + The unit. + The timezone. + The resulting DateTime. + See the server documentation for $dateSubtract for information on timezones in MongoDB. + + + + Converts a DateTime value to a string. + + The DateTime value. + The format string (optional, can be null). + The timezone to use in the returned string (optional, can be null). + The DateTime value converted to a string. + + + + Truncates a DateTime value to the specified unit. + + The original DateTime. + The unit. + The resulting DateTime. + + + + Truncates a DateTime value to the specified unit and bin size. + + The original DateTime. + The unit. + The bin size. + The resulting DateTime. + + + + Truncates a DateTime value to the specified unit and bin size taking a timezone into consideration. + + The original DateTime. + The unit. + The bin size. + The timezone. + The resulting DateTime. + See the server documentation for $dateTrunc for information on timezones in MongoDB. + + + + Returns the week number of a specified DateTime value. + + The DateTime value. + The week number of a specified DateTime value. + + + + Returns the week number of a specified DateTime value. + + The DateTime value. + The timezone to use (optional, can be null). + The week number of a specified DateTime value. + + + + Represents the unit for various DateTime operations. + + + + + Day unit. + + + + + Hour unit. + + + + + Millisecond unit. + + + + + Minute unit. + + + + + Month unit. + + + + + Quarter unit. + + + + + Second unit. + + + + + Week unit. + + + + + Week starting on Friday unit. + + + + + Week starting on Monday unit. + + + + + Week starting on Saturday unit. + + + + + Week starting on Sunday unit. + + + + + Week starting on Thursday unit. + + + + + Week starting on Tuesday unit. + + + + + Week starting on Wednesday unit. + + + + + Year unit. + + + + + The day of the start of the week (only valid with Week units that specify a start of the week). + + + + + The unit. + + + + + Represents how values are weighted when computing the exponential moving average. + + + + + Returns an alpha weighting. + + The alpha value. + An alpha weighting. + + + + Returns an positional weighting. + + The n value. + An n weighting. + + + + Represents an alpha weighting for an exponential moving average. + + + + + Initializes an instance of ExponentialMovingAverageAlphaWeighting. + + The alpha value. + + + + The alpha value. + + + + + Represents a positional weighting for an exponential moving average. + + + + + Initializes an instance of ExponentialMovingAveragePositionalWeighting. + + The n value. + + + + The n value. + + + + + Exception that is thrown when using a LINQ expression that is not supported. + + + + + Initializes an instance of an ExpressionNotSupportedException. + + The message. + + + + Initializes an instance of an ExpressionNotSupportedException. + + The expression. + + + + Initializes an instance of an ExpressionNotSupportedException. + + The expression. + The reason. + + + + Initializes an instance of an ExpressionNotSupportedException. + + The expression. + The containing expression. + + + + Initializes an instance of an ExpressionNotSupportedException. + + The expression. + The containing expression. + The reason. + + + + An implementation of for MongoDB. + + + + + Gets the most recently logged stages. + + + + + Executes the strongly-typed query represented by a specified expression tree. + + The type of the result. + An expression tree that represents a LINQ query. + The cancellation token. + The value that results from executing the specified query. + + + + The internal IMongoQueryProvider interface. + + + + + Gets the collection namespace. + + + + + Gets the pipeline input serializer (the DocumentSerializer for collection queries and NoPipelineInputSerializer for database queries). + + + + + Gets the translation options. + + The translation options. + + + + Extension methods for IQueryble. + + + + + Gets the most recently logged stages. + + The type of the source documents. + The source. + The logged stages. + + + + Gets the source's provider cast to an IMongoQueryProvider. + + The source. + The MongoDB query provider. + + + + Extension methods that represent operations for SetWindowFields. + + + + + Returns a set. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The set of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the average value of the numeric values. Average ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average of the selected values. + + + + Returns the number of documents in the window. + + The type of the input documents in the partition. + The partition. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the population covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the sample covariance of two numeric expressions that are evaluated using documents in the partition window. + + The type of the input documents in the partition. + The partition. + The selector that defines the first expression. + The selector that defines the second expression. + The window boundaries. + The maximum of the selected values. + + + + Returns the document position (known as the rank) relative to other documents in the $setWindowFields stage partition. + + The type of the input documents in the partition. + The partition. + The document position. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based derivatives. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based derivatives. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based derivatives. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based derivatives. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the average rate of change within the specified window. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based derivatives. + The window boundaries. + The average rate of change within the specified window. + + + + Returns the position of a document (known as the document number) in the $setWindowFields stage partition. + + The type of the input documents in the partition. + The partition. + The document position. + + + + Returns the exponential moving average value of the numeric values. Ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + How to weigh the values when computing the exponential moving average. + The window boundaries. + The exponential moving average of the selected values. + + + + Returns the exponential moving average value of the numeric values. Ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + How to weigh the values when computing the exponential moving average. + The window boundaries. + The exponential moving average of the selected values. + + + + Returns the exponential moving average value of the numeric values. Ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + How to weigh the values when computing the exponential moving average. + The window boundaries. + The exponential moving average of the selected values. + + + + Returns the exponential moving average value of the numeric values. Ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + How to weigh the values when computing the exponential moving average. + The window boundaries. + The exponential moving average of the selected values. + + + + Returns the exponential moving average value of the numeric values. Ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + How to weigh the values when computing the exponential moving average. + The window boundaries. + The exponential moving average of the selected values. + + + + Returns the first value. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The first of the selected values. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based integrals. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based integrals. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based integrals. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based integrals. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the approximation of the area under a curve. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The unit for time based integrals. + The window boundaries. + The approximation of the area under a curve. + + + + Returns the last value. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The last of the selected values. + + + + Returns the last observation carried forward. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The last observation carried forward. + + + + Returns the maximum value. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The maximum of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the median of the numeric values. Median ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The median of the selected values. + + + + Returns the minimum value. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The minimum of the selected values. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns the values at the given percentiles. Percentile ignores non-numeric values. Percentile returns results in the same order as the given percentiles. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The percentiles (between 0.0 and 1.0). + The window boundaries. + The values at the given percentiles. + + + + Returns a sequence of values. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The window boundaries. + A sequence of the selected values. + + + + Returns the document position (known as the rank) relative to other documents in the $setWindowFields stage partition. + + The type of the input documents in the partition. + The partition. + The document position. + + + + Returns the value from an expression applied to a document in a specified position relative to the current document. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The relative position of the document to evaluate the selector on to shift a value to this document. + The value from an expression applied to a document in a specified position relative to the current document. + + + + Returns the value from an expression applied to a document in a specified position relative to the current document. + + The type of the input documents in the partition. + The type of the selected values. + The partition. + The selector that selects a value from the input document. + The relative position of the document to evaluate the selector on to shift a value to this document. + The default value to use if the document position is outside the partition. + The value from an expression applied to a document in a specified position relative to the current document. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the population standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The population standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Calculates the sample standard deviation of the input values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sample standard deviation of the selected values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + Returns the sum of numeric values. $sum ignores non-numeric values. + + The type of the input documents in the partition. + The partition. + The selector that selects a value from the input document. + The window boundaries. + The sum of the values. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This static class holds methods that can be used to express MongoDB specific operations in LINQ queries. + + + + + Injects a low level FilterDefinition{TDocument} into a LINQ where clause. Can only be used in LINQ queries. + + The type of the document. + The filter. + + Throws an InvalidOperationException if called. + + + + + The result of a Lookup operation. + + The type of the local documents. + The type of the result values. + + + + The local document. + + + + + The result values. + + The result values are either the matching foreign documents themselves or the output of the pipeline that was run on the matching foreign documents. + + + + Similar to the standard Math class but contains MongoDB specific methods. + + + + + Converts degrees to radians. + + The degrees. + The radians. + + + + Converts radians to degrees. + + The radians. + The degrees. + + + + Enumerable Extensions for MongoDB. + + + + + Represents all elements in an array (corresponds to the server's "$[]" update operator). + + The type of the elements of . + A source of values. + Only meant to be used in Update specifications. + + + + Represents all matching elements in an array when using an array filter (corresponds to the server's "$[identifier]" update operator). + + The type of the elements of . + A source of values. + The name of the identifier in the corresponding array filter. + Only meant to be used in Update specifications. + + + + Returns the bottom result. + + The source type. + The result type. + The source. + The sort order. + The selector. + The bottom result. + + + + Returns the bottom n results. + + The source type. + The result type. + The source. + The sort order. + The selector. + The number of results to return. + The bottom n results. + + + + Returns the bottom n results. + + The source type. + The key type. + The result type. + The source. + The sort order. + The selector. + The key (needed to infer the key type and to determine the key serializer). + The number of results to return. + The bottom n results. + + + + Represents the first matching element in an array used in a query (corresponds to the server's "$" update operator). + + The type of the elements of . + A source of values. + Only meant to be used in Update specifications. + + + + Returns the first n results. + + The source type. + The result type. + The source. + The selector. + The number of results to return. + The first n results. + + + + Returns the first n results. + + The source type. + The key type. + The result type. + The source. + The selector. + The key (needed to infer the key type and to determine the key serializer). + The number of results to return. + The first n results. + + + + Returns the last n results. + + The source type. + The result type. + The source. + The selector. + The number of results to return. + The last n results. + + + + Returns the last n results. + + The source type. + The key type. + The result type. + The source. + The selector. + The key (needed to infer the key type and to determine the key serializer). + The number of results to return. + The last n results. + + + + Returns the max n results. + + The source type. + The result type. + The source. + The selector. + The number of results to return. + The max n results. + + + + Returns the max n results. + + The source type. + The key type. + The result type. + The source. + The selector. + The key (needed to infer the key type and to determine the key serializer). + The number of results to return. + The max n results. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The sequence of values. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Computes the median of a sequence of values. + + The type of the elements in the source sequence. + A sequence of values to calculate the median of. + A transform function to apply to each element. + The median value. + + + + Returns the min n results. + + The source type. + The result type. + The source. + The selector. + The number of results to return. + The min n results. + + + + Returns the min n results. + + The source type. + The key type. + The result type. + The source. + The selector. + The key (needed to infer the key type and to determine the key serializer). + The number of results to return. + The min n results. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + A sequence of values to calculate the percentiles of. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes multiple percentiles of a sequence of values. + + The type of the elements of . + A sequence of values to calculate the percentiles of. + A transform function to apply to each element. + The percentiles to compute (each between 0.0 and 1.0). + The percentiles of the sequence of values. + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Returns the top n results. + + The source type. + The result type. + The source. + The sort order. + The selector. + The top n results. + + + + Returns the top n results. + + The source type. + The result type. + The source. + The sort order. + The selector. + The number of results to return. + The top n results. + + + + Returns the top n results. + + The source type. + The key type. + The result type. + The source. + The sort order. + The selector. + The key (needed to infer the key type and to determine the key serializer). + The number of results to return. + The top n results. + + + + Filters a sequence of values based on a predicate and limits the number of results. + + The type of the elements of . + The source values. + The predicate. + The limit. + The filtered results. + + + + LINQ extension methods for . + + + + + Determines whether a sequence contains any elements. + + The type of the elements of . + A sequence to check for being empty. + The cancellation token. + + true if the source sequence contains any elements; otherwise, false. + + + + + Determines whether any element of a sequence satisfies a condition. + + The type of the elements of . + A sequence whose elements to test for a condition. + A function to test each element for a condition. + The cancellation token. + + true if any elements in the source sequence pass the test in the specified predicate; otherwise, false. + + + + + Appends an arbitrary stage to the LINQ pipeline. + + The type of the elements of . + The type of the result values returned by the appended stage. + A sequence of values. + The stage to append. + The result serializer. + The queryable with a new stage appended. + + + + Allows the results to be interpreted as a different type. It is up to the caller + to determine that the new result type is compatible with the actual results. + + The type of the elements of . + The new result type for the results. + A sequence of values. + The new serializer (optional, will be looked up if null). + + A new IQueryable with a new result type. + + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of a sequence of values. + + A sequence of values to calculate the average of. + The cancellation token. + The average of the values in the sequence. + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Computes the average of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The average of the projected values. + + + + + Returns the number of elements in a sequence. + + The type of the elements of . + The that contains the elements to be counted. + The cancellation token. + + The number of elements in the input sequence. + + + + + Returns the number of elements in the specified sequence that satisfies a condition. + + The type of the elements of . + An that contains the elements to be counted. + A function to test each element for a condition. + The cancellation token. + + The number of elements in the sequence that satisfies the condition in the predicate function. + + + + + Adds a $densify stage to the LINQ pipeline. + + The type of the elements of . + A sequence of values. + The field. + The range. + The partition by fields. + The densified sequence of values. + + + + Adds a $densify stage to the LINQ pipeline. + + The type of the elements of . + A sequence of values. + The field. + The range. + The partition by fields. + The densified sequence of values. + + + + Injects a sequence of documents at the beginning of a pipeline. + + The type of the documents. + An IQueryable with no other input. + The documents. + + An whose elements are the documents. + + + + + Injects a sequence of documents at the beginning of a pipeline. + + The type of the documents. + An IQueryable with no other input. + The documents. + The document serializer. + + An whose elements are the documents. + + + + + Returns the first element of a sequence. + + The type of the elements of . + The to return the first element of. + The cancellation token. + + The first element in . + + + + + Returns the first element of a sequence that satisfies a specified condition. + + The type of the elements of . + An to return an element from. + A function to test each element for a condition. + The cancellation token. + + The first element in that passes the test in . + + + + + Returns the first element of a sequence, or a default value if the sequence contains no elements. + + The type of the elements of . + The to return the first element of. + The cancellation token. + + default() if is empty; otherwise, the first element in . + + + + + Returns the first element of a sequence that satisfies a specified condition or a default value if no such element is found. + + The type of the elements of . + An to return an element from. + A function to test each element for a condition. + The cancellation token. + + default() if is empty or if no element passes the test specified by ; otherwise, the first element in that passes the test specified by . + + + + + Correlates the elements of two sequences based on key equality and groups the results. + + The type of the elements of the first sequence. + The type of the elements of the second sequence. + The type of the keys returned by the key selector functions. + The type of the result elements. + The first sequence to join. + The collection to join to the first sequence. + A function to extract the join key from each element of the first sequence. + A function to extract the join key from each element of the second sequence. + A function to create a result element from an element from the first sequence and a collection of matching elements from the second sequence. + + An that contains elements of type obtained by performing a grouped join on two sequences. + + + + + Correlates the elements of two sequences based on matching keys. + + The type of the elements of the first sequence. + The type of the elements of the second sequence. + The type of the keys returned by the key selector functions. + The type of the result elements. + The first sequence to join. + The sequence to join to the first sequence. + A function to extract the join key from each element of the first sequence. + A function to extract the join key from each element of the second sequence. + A function to create a result element from two matching elements. + + An that has elements of type obtained by performing an inner join on two sequences. + + + + + Returns the number of elements in a sequence. + + The type of the elements of . + The that contains the elements to be counted. + The cancellation token. + + The number of elements in the input sequence. + + + + + Returns the number of elements in the specified sequence that satisfies a condition. + + The type of the elements of . + An that contains the elements to be counted. + A function to test each element for a condition. + The cancellation token. + + The number of elements in the sequence that satisfies the condition in the predicate function. + + + + + Looks up documents in a foreign collection. + + The source documents. + The foreign collection. + The local field to compare against the foreign field. + The foreign field to compare against the local field. + The type of the source documents. + The type of the foreign documents. + The type of the fields being compared. + An with the results of the Lookup. + The Results property of contains the matching foreign documents. + + + + Looks up documents in a foreign collection. + + The source documents. + The foreign collection. + The pipeline to run against the foreign documents. + The type of the source documents. + The type of the foreign documents. + The type of the pipeline output. + An with the results of the Lookup. + The Results property of contains the output of running the pipeline against the foreign documents. + + + + Looks up documents in a foreign collection. + + The source documents. + The foreign collection. + The local field to compare against the foreign field. + The foreign field to compare against the local field. + The pipeline to run against the matching foreign documents. + The type of the source documents. + The type of the foreign documents. + The type of the fields being compared. + The type of the pipeline output. + An with the results of the Lookup. + The Results property of contains the output of running the pipeline against the matching foreign documents. + + + + Looks up documents in a list of foreign documents. + + The source documents. + The foreign documents. + The local field to compare against the foreign field. + The foreign field to compare against the local field. + The type of the source documents. + The type of the foreign documents. + The type of the fields being compared. + An with the results of the Lookup. + The Results property of contains the matching foreign documents. + + + + Looks up documents in a list of foreign documents. + + The source documents. + The foreign documents. + The pipeline to run against the foreign documents. + The type of the source documents. + The type of the foreign documents. + The type of the pipeline output. + An with the results of the Lookup. + The Results property of contains the output of running the pipeline against the foreign documents. + + + + Looks up documents in a list of foreign documents. + + The source documents. + The foreign documents. + The local field to compare against the foreign field. + The foreign field to compare against the local field. + The pipeline to run against the matching foreign documents. + The type of the source documents. + The type of the foreign documents. + The type of the fields being matched. + The type of the pipeline output. + An with the results of the Lookup. + The Results property of contains the output of running the pipeline against the matching foreign documents. + + + + Returns the maximum value in a generic . + + The type of the elements of . + A sequence of values to determine the maximum of. + The cancellation token. + + The maximum value in the sequence. + + + + + Invokes a projection function on each element of a generic and returns the maximum resulting value. + + The type of the elements of . + The type of the value returned by the function represented by . + A sequence of values to determine the maximum of. + A projection function to apply to each element. + The cancellation token. + + The maximum value in the sequence. + + + + + Returns the minimum value in a generic . + + The type of the elements of . + A sequence of values to determine the minimum of. + The cancellation token. + + The minimum value in the sequence. + + + + + Invokes a projection function on each element of a generic and returns the minimum resulting value. + + The type of the elements of . + The type of the value returned by the function represented by . + A sequence of values to determine the minimum of. + A projection function to apply to each element. + The cancellation token. + + The minimum value in the sequence. + + + + + Returns a sample of the elements in the . + + The type of the elements of . + An to return a sample of. + The number of elements in the sample. + + A sample of the elements in the . + + + + + Appends a $search stage to the LINQ pipeline. + + The type of the elements of . + A sequence of values. + The search definition. + The highlight options. + The index name. + The count options. + + Flag that specifies whether to perform a full document lookup on the backend database + or return only stored source fields directly from Atlas Search. + + + Flag that specifies whether to return a detailed breakdown + of the score for each document in the result. + + The queryable with a new stage appended. + + + + Appends a $search stage to the LINQ pipeline. + + The type of the elements of . + A sequence of values. + The search definition. + The search options. + The queryable with a new stage appended. + + + + Appends a $searchMeta stage to the LINQ pipeline. + + The type of the elements of . + A sequence of values. + The search definition. + The index name. + The count options. + The queryable with a new stage appended. + + + + Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence. + + The type of the elements of . + An to return the single element of. + The cancellation token. + + The single element of the input sequence. + + + + + Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists. + + The type of the elements of . + An to return a single element from. + A function to test an element for a condition. + The cancellation token. + + The single element of the input sequence that satisfies the condition in . + + + + + Returns the only element of a sequence, or a default value if the sequence is empty; this method throws an exception if there is more than one element in the sequence. + + The type of the elements of . + An to return the single element of. + The cancellation token. + + The single element of the input sequence, or default() if the sequence contains no elements. + + + + + Returns the only element of a sequence that satisfies a specified condition or a default value if no such element exists; this method throws an exception if more than one element satisfies the condition. + + The type of the elements of . + An to return a single element from. + A function to test an element for a condition. + The cancellation token. + + The single element of the input sequence that satisfies the condition in , or default() if no such element is found. + + + + + Bypasses a specified number of elements in a sequence and then returns the + remaining elements. + + The type of the elements of source + An to return elements from. + The number of elements to skip before returning the remaining elements. + + An that contains elements that occur after the + specified index in the input sequence. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the population standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values. + + A sequence of values to calculate the population standard deviation of. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sample standard deviation of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. + + The type of the elements of . + A sequence of values to calculate the population standard deviation of. + A transform function to apply to each element. + The cancellation token. + + The population standard deviation of the sequence of values. + + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + The cancellation token. + The sum of the values in the sequence. + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + The type of the elements of . + A sequence of values. + A projection function to apply to each element. + The cancellation token. + + The sum of the projected values. + + + + + Returns a specified number of contiguous elements from the start of a sequence. + + The type of the elements of . + The sequence to return elements from. + The number of elements to return. + + An that contains the specified number of elements + from the start of source. + + + + + Returns an which can be enumerated asynchronously. + + The type of the elements of . + A sequence of values. + An IAsyncEnumerable for the query results. + + + + Executes the LINQ query and returns a cursor to the results. + + The type of the elements of . + The sequence to return elements from. + The cancellation token. + A cursor to the results of executing the LINQ query. + + + + Executes the LINQ query and returns a cursor to the results. + + The type of the elements of . + The sequence to return elements from. + The cancellation token. + A cursor to the results of executing the LINQ query. + + + + Executes the LINQ query and returns a list of the results. + + The type of the elements of . + The sequence to return elements from. + The cancellation token. + A list of the results of executing the LINQ query. + + + + Appends a $vectorSearch stage to the LINQ pipeline. + + The type of the elements of . + The type of the field. + A sequence of values. + The field. + The query vector. + The limit. + The options. + + The queryable with a new stage appended. + + + + + Appends a $vectorSearch stage to the LINQ pipeline. + + The type of the elements of . + The type of the field. + A sequence of values. + The field. + The query vector. + The limit. + The options. + + The queryable with a new stage appended. + + + + + This static class holds methods that can be used to express MongoDB specific operations in LINQ queries. + + + + + Converts a NullableDateTime value to a string. + + The NullableDateTime value. + The format string (optional, can be null). + The timezone to use in the returned string (optional, can be null). + The string to return if the NullableDateTime value is null. + The NullableDateTime value converted to a string. + + + + This static class holds methods that can be used to express MongoDB specific operations in LINQ queries. + + + + + Returns true if any value in s is present in values (corresponds to the $in filter operator). + + The values to test. + The values to test against. + True if any value in s is present in values. + + + + Returns true if any value in s is present in values (corresponds to the $in filter operator). + + The values to test. + The values to test against. + True if any value in s is present in values. + + + + Returns true if any value in s is not present in values (corresponds to the $nin filter operator). + + The values to test. + The values to test against. + True if any value in s is not present in values. + + + + Returns true if any value in s is not present in values (corresponds to the $nin filter operator). + + The values to test. + The values to test against. + True if any value in s is not present in values. + + + + Searches a string for an occurrence of a substring and returns the UTF-8 byte index (zero-based) of the first occurrence. + + The string. + The value. + The byte index of the first occurrence, or -1 if not found. + + + + Searches a string for an occurrence of a substring and returns the UTF-8 byte index (zero-based) of the first occurrence. + + The string. + The value. + The start index. + The byte index of the first occurrence, or -1 if not found. + + + + Searches a string for an occurrence of a substring and returns the UTF-8 byte index (zero-based) of the first occurrence. + + The string. + The value. + The start index. + The count. + The byte index of the first occurrence, or -1 if not found. + + + + Returns true if s is present in values (corresponds to the $in filter operator). + + The value to test. + The values to test against. + True if s is present in values. + + + + Returns true if s is present in values (corresponds to the $in filter operator). + + The value to test. + The values to test against. + True if s is present in values. + + + + Returns true if s is not present in values (corresponds to the $nin filter operator). + + The value to test. + The values to test against. + True if s is not present in values. + + + + Returns true if s is not present in values (corresponds to the $nin filter operator). + + The value to test. + The values to test against. + True if s is not present in values. + + + + Returns the number of UTF-8 encoded bytes in the specified string. + + The string. + The number of UTF-8 bytes. + + + + Returns the number of UTF-8 encoded bytes in the specified string. + + The string. + The start index. + The length. + The number of UTF-8 bytes. + + + + The time unit to use in DateTime SetWindowFields windows. + + + + + Weeks. + + + + + Days. + + + + + Hours. + + + + + Minutes. + + + + + Seconds. + + + + + Milliseconds. + + + + + Options for a list collection names operation. + + + + + Gets or sets the AuthorizedCollections flag. + + + + + Gets or sets the comment. + + + + + Gets or sets the filter. + + + + + Gets or sets the operation timeout. + + + + + Options for a list collections operation. + + + + + Gets or sets the batch size. + + + + + Gets or sets the comment. + + + + + Gets or sets the filter. + + + + + Gets or sets the operation timeout. + + + + + Options for a list database names operation. + + + + + Gets or sets the AuthorizedDatabases flag. + + + + + Gets or sets the comment. + + + + + Gets or sets the filter. + + + + + Gets or sets the operation timeout. + + + + + Options for a list databases operation. + + + + + Gets or sets the AuthorizedDatabases flag. + + + + + Gets or sets the comment. + + + + + Gets or sets the filter. + + + + + Gets or sets the NameOnly flag. + + + + + Gets or sets the operation timeout. + + + + + Options for a list indexes operation. + + + + + Gets or sets the batch size. + + + + + Gets or sets the comment. + + + + + Gets or sets the operation timeout. + + + + + Represents the options for a map-reduce operation. + + The type of the document. + The type of the result. + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the filter. + + + + + Gets or sets the finalize function. + + + + + Gets or sets the java script mode. + + + + + Gets or sets the limit. + + + + + Gets or sets the maximum time. + + + + + Gets or sets the output options. + + + + + Gets or sets the result serializer. + + + + + Gets or sets the scope. + + + + + Gets or sets the sort. + + + + + Gets or sets the operation timeout. + + + + + Gets or sets whether to include timing information. + + + + + Represents the output options for a map-reduce operation. + + + + + An inline map-reduce output options. + + + + + A merge map-reduce output options. + + The name of the collection. + The name of the database. + Whether the output collection should be sharded. + Whether the server should not lock the database for the duration of the merge. + A merge map-reduce output options. + + + + A merge map-reduce output options. + + The name of the collection. + The name of the database. + A merge map-reduce output options. + + + + A reduce map-reduce output options. + + The name of the collection. + The name of the database. + Whether the output collection should be sharded. + Whether the server should not lock the database for the duration of the reduce. + A reduce map-reduce output options. + + + + A reduce map-reduce output options. + + The name of the collection. + The name of the database. + A reduce map-reduce output options. + + + + A replace map-reduce output options. + + The name of the collection. + Name of the database. + Whether the output collection should be sharded. + A replace map-reduce output options. + + + + A replace map-reduce output options. + + The name of the collection. + Name of the database. + A replace map-reduce output options. + + + + The behavior of $merge is a result document and an existing document in the collection + have the same value for the specified on field(s). + + + + + Replace the existing document in the output collection with the matching results document. + + + + + Keep the existing document in the output collection. + + + + + Merge the matching documents (similar to the $mergeObjects operator). + + + + + Stop and fail the aggregation. Any changes to the output collection from previous documents are not reverted. + + + + + Use an aggregation pipeline to update the document in the collection. + + + + + The behavior of $merge if a result document does not match an existing document in the output collection. + + + + + Insert the document into the output collection. + + + + + Discard the document; i.e. $merge does not insert the document into the output collection. + + + + + Stop and fail the aggregation operation. Any changes to the output collection from previous documents are not reverted. + + + + + Options for the $merge aggregation pipeline stage. + + The type of the output documents. + + + + Specifies variables accessible for use in the WhenMatchedPipeline. + + + + + Field or fields that act as a unique identifier for a document. The identifier determines if a results + document matches an already existing document in the output collection. + + + + + The output serializer. + + + + + The behavior of $merge if a result document and an existing document in the collectoin have the + same value for the specified on field(s). + + + + + An aggregation pipeline to update the document in the collection. + Used when WhenMatched is Pipeline. + + + + + The behavior of $merge if a result document does not match an existing document in the output collection. + + + + + Represents a bulk write exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The write errors. + The write concern error. + + + + Initializes a new instance of the MongoQueryException class (this overload supports deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Gets the write concern error. + + + + + Gets the write errors. + + + + + Gets the object data. + + The information. + The context. + + + + Represents a bulk write exception. + + The type of the document. + + + + Initializes a new instance of the class. + + The connection identifier. + The result. + The write errors. + The write concern error. + The unprocessed requests. + + + + Initializes a new instance of the MongoQueryException class (this overload supports deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Gets the result of the bulk write operation. + + + + + Gets the unprocessed requests. + + + + + Gets the object data. + + The information. + The context. + + + + + + + Initializes a new instance of the MongoClient class. + + + + + Initializes a new instance of the MongoClient class. + + The settings. + + + + Initializes a new instance of the MongoClient class. + + The URL. + + + + Initializes a new instance of the MongoClient class. + + The connection string. + + + + + + + + + + + + + + + + + + + + + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The settings for a MongoDB client. + + + + + Extension Manager provides a way to configure extensions for the driver. + + + + + Creates a new instance of MongoClientSettings. Usually you would use a connection string instead. + + + + + Gets or sets whether to relax TLS constraints as much as possible. + Setting this variable to true will also set SslSettings.CheckCertificateRevocation to false. + + + + + Gets or sets the application name. + + + + + Gets or sets the auto encryption options. + + + + + Gets or sets the compressors. + + + + + Gets or sets the cluster configurator. + + + + + Gets or sets the connect timeout. + + + + + Gets or sets the credential. + + + + + Gets or sets the direct connection. + + + + + Gets a value indicating whether the settings have been frozen to prevent further changes. + + + + + Gets or sets the heartbeat interval. + + + + + Gets or sets the heartbeat timeout. + + + + + Gets or sets a value indicating whether to use IPv6. + + + + + Gets or sets information about a library using the .NET Driver. + + + + + Gets or sets whether load balanced mode is used. + + + + + Gets or sets the local threshold. + + + + + Gets or sets the logging settings + + + + + Gets or sets the maximum concurrently connecting connections. + + + + + Gets or sets the max connection idle time. + + + + + Gets or sets the max connection life time. + + + + + Gets or sets the max connection pool size. + + + + + Gets or sets the min connection pool size. + + + + + Gets or sets the SOCKS5 proxy settings. + + + + + Gets or sets the read concern. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the read preferences. + + + + + Gets or sets the name of the replica set. + + + + + Gets or sets whether to retry reads. + + + + + Gets or sets whether to retry writes. + + + The default value is true. + + + + + Gets or sets the connection string scheme. + + + + + Gets or sets the server API. + + + + + Gets or sets the address of the server (see also Servers if using more than one address). + + + + + Gets or sets the list of server addresses (see also Server if using only one address). + + + + + Gets or sets the server monitoring mode to use. + + + + + Gets or sets the server selection timeout. + + + + + Gets or sets the socket timeout. + + + + + Limits the number of SRV records used to populate the seedlist + during initial discovery, as well as the number of additional hosts + that may be added during SRV polling. + + + + + Gets or sets the SRV service name which modifies the srv URI to look like: + _{srvServiceName}._tcp.{hostname}.{domainname} + The default value is "mongodb". + + + + + Gets or sets the SSL settings. + + + + + Gets or sets the per-operation timeout + + + + + Gets or sets the translation options. + + + + + Gets or sets a value indicating whether to use SSL. + + + + + Gets or sets a value indicating whether to use TLS. + + + + + Gets or sets a value indicating whether to verify an SSL certificate. + + + + + Gets or sets the wait queue size. + + + + + Gets or sets the wait queue timeout. + + + + + Gets or sets the WriteConcern to use. + + + + + Gets or sets the Write Encoding. + + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Gets a MongoClientSettings object intialized with values from a connection string. + + The connection string. + A MongoClientSettings. + + + + Gets a MongoClientSettings object initialized with values from a MongoURL. + + The MongoURL. + A MongoClientSettings. + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + The settings used to access a collection. + + + + + Initializes a new instance of the MongoCollectionSettings class. + + + + + Gets or sets a value indicating whether the driver should assign Id values when missing. + + + + + Gets a value indicating whether the settings have been frozen to prevent further changes. + + + + + Gets or sets the read concern. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the read preference to use. + + + + + Gets the serializer registry. + + + + + Gets or sets the per-operation timeout + + + + + Gets or sets the WriteConcern to use. + + + + + Gets or sets the Write Encoding. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Compares two MongoCollectionSettings instances. + + The other instance. + True if the two instances are equal. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + Credential to access a MongoDB database. + + + + + Initializes a new instance of the class. + + Mechanism to authenticate with. + The identity. + The evidence. + + + + Gets the evidence. + + + + + Gets the identity. + + + + + Gets the mechanism to authenticate with. + + + + + Gets the password. + + + + + Gets the source. + + + + + Gets the username. + + + + + Compares two MongoCredentials. + + The first MongoCredential. + The other MongoCredential. + True if the two MongoCredentials are equal (or both null). + + + + Compares two MongoCredentials. + + The first MongoCredential. + The other MongoCredential. + True if the two MongoCredentials are not equal (or one is null and the other is not). + + + + Creates a default credential. + + Name of the database. + The username. + The password. + A default credential. + + + + Creates a default credential. + Less secure when used in conjunction with SCRAM-SHA-256, due to the need to store the password in a managed + string in order to SaslPrep it. + + Name of the database. + The username. + The password. + A default credential. + + + + Creates a GSSAPI credential. + + The username. + A credential for GSSAPI. + This overload is used primarily on linux. + + + + Creates a GSSAPI credential. + + The username. + The password. + A credential for GSSAPI. + + + + Creates a GSSAPI credential. + + The username. + The password. + A credential for GSSAPI. + + + + Creates a credential used with MONGODB-OIDC. + + The OIDC callback. + The principal name. + The OIDC credential. + + + + Creates a credential used with MONGODB-OIDC. + + The built in environemnt. + User name. + The OIDC credential. + + + + Creates a credential used with MONGODB-X509. + + The username. + A credential for MONGODB-X509. + + + + Creates a PLAIN credential. + + Name of the database. + The username. + The password. + A credential for PLAIN. + + + + Creates a PLAIN credential. + + Name of the database. + The username. + The password. + A credential for PLAIN. + + + + Gets the mechanism property. + + The type of the mechanism property. + The key. + The default value. + The mechanism property if one was set; otherwise the default value. + + + + Compares this MongoCredential to another MongoCredential. + + The other credential. + True if the two credentials are equal. + + + + Compares this MongoCredential to another MongoCredential. + + The other credential. + True if the two credentials are equal. + + + + Gets the hashcode for the credential. + + The hashcode. + + + + Returns a string representation of the credential. + + A string representation of the credential. + + + + Creates a new MongoCredential with the specified mechanism property. + + The key. + The value. + A new MongoCredential with the specified mechanism property. + + + + The settings used to access a database. + + + + + Creates a new instance of MongoDatabaseSettings. + + + + + Gets a value indicating whether the settings have been frozen to prevent further changes. + + + + + Gets or sets the read concern. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the read preference. + + + + + Gets the serializer registry. + + + + + Gets or sets the per-operation timeout + + + + + Gets or sets the WriteConcern to use. + + + + + Gets or sets the Write Encoding. + + + + + Creates a clone of the settings. + + A clone of the settings. + + + + Compares two MongoDatabaseSettings instances. + + The other instance. + True if the two instances are equal. + + + + Freezes the settings. + + The frozen settings. + + + + Returns a frozen copy of the settings. + + A frozen copy of the settings. + + + + Gets the hash code. + + The hash code. + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + Represents a DBRef (a convenient way to refer to a document). + + + + + Creates a MongoDBRef. + + The name of the collection that contains the document. + The Id of the document. + + + + Creates a MongoDBRef. + + The name of the database that contains the document. + The name of the collection that contains the document. + The Id of the document. + + + + Gets the name of the database that contains the document. + + + + + Gets the name of the collection that contains the document. + + + + + Gets the Id of the document. + + + + + Determines whether two specified MongoDBRef objects have different values. + + The first value to compare, or null. + The second value to compare, or null. + True if the value of lhs is different from the value of rhs; otherwise, false. + + + + Determines whether two specified MongoDBRef objects have the same value. + + The first value to compare, or null. + The second value to compare, or null. + True if the value of lhs is the same as the value of rhs; otherwise, false. + + + + Determines whether two specified MongoDBRef objects have the same value. + + The first value to compare, or null. + The second value to compare, or null. + True if the value of lhs is the same as the value of rhs; otherwise, false. + + + + Determines whether this instance and another specified MongoDBRef object have the same value. + + The MongoDBRef object to compare to this instance. + True if the value of the rhs parameter is the same as this instance; otherwise, false. + + + + Determines whether this instance and a specified object, which must also be a MongoDBRef object, have the same value. + + The MongoDBRef object to compare to this instance. + True if obj is a MongoDBRef object and its value is the same as this instance; otherwise, false. + + + + Returns the hash code for this MongoDBRef object. + + A 32-bit signed integer hash code. + + + + Returns a string representation of the value. + + A string representation of the value. + + + + Represents a serializer for MongoDBRefs. + + + + + Initializes a new instance of the class. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + + + + + Deserializes a value. + + The deserialization context. + The deserialization args. + The value. + + + + Serializes a value. + + The serialization context. + The serialization args. + The value. + + + + Default values for various Mongo settings. + + + + + Gets or sets whether the driver should assign a value to empty Ids on Insert. + + + + + Gets or sets the default authentication mechanism. + + + + + Gets the actual wait queue size (either WaitQueueSize or WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets or sets the connect timeout. + + + + + Gets or sets the default local threshold. + + + + + Gets or sets the maximum batch count. + + + + + Gets or sets the max connection idle time. + + + + + Gets or sets the max connection life time. + + + + + Gets or sets the max connection pool size. + + + + + Gets or sets the max document size + + + + + Gets or sets the max message length. + + + + + Gets or sets the min connection pool size. + + + + + Gets or sets the operation timeout. + + + + + Gets or sets the Read Encoding. + + + + + Gets or sets the server selection timeout. + + + + + Gets or sets the socket timeout. + + + + + Gets or sets the TCP receive buffer size. + + + + + Gets or sets the TCP send buffer size. + + + + + Gets or sets the wait queue multiple (the actual wait queue size will be WaitQueueMultiple x MaxConnectionPoolSize, see also WaitQueueSize). + + + + + Gets or sets the wait queue size (see also WaitQueueMultiple). + + + + + Gets or sets the wait queue timeout. + + + + + Gets or sets the Write Encoding. + + + + + Represents an identity defined by AWS external credentials. + + + + + Initializes a new instance of the class. + + + + + Represents an identity defined outside of mongodb. + + + + + Initializes a new instance of the class. + + The username. + + + + Initializes a new instance of the class. + + The source. + The username. + + + + Represents an identity in MongoDB. + + + + + Initializes a new instance of the class. + + The source. + The username. + Whether to allow null usernames. + + + + Gets the source. + + + + + Gets the username. + + + + + Compares two MongoIdentity values. + + The first MongoIdentity. + The other MongoIdentity. + True if the two MongoIdentity values are equal (or both null). + + + + Compares two MongoIdentity values. + + The first MongoIdentity. + The other MongoIdentity. + True if the two MongoIdentity values are not equal (or one is null and the other is not). + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified instance is equal to this instance. + + The right-hand side. + + true if the specified instance is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Evidence used as proof of a MongoIdentity. + + + + + Initializes a new instance of the class. + + + + + Compares two MongoIdentityEvidences. + + The first MongoIdentityEvidence. + The other MongoIdentityEvidence. + True if the two MongoIdentityEvidences are equal (or both null). + + + + Compares two MongoIdentityEvidences. + + The first MongoIdentityEvidence. + The other MongoIdentityEvidence. + True if the two MongoIdentityEvidences are not equal (or one is null and the other is not). + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Base class for implementors of . + + The type of the document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents an identity defined inside mongodb. + + + + + Initializes a new instance of the class. + + Name of the database. + The username. + + + + Represents an OIDC identity. + + + + + Initializes a new instance of the class. + + The username. + + + + The address of a MongoDB server. + + + + + Initializes a new instance of MongoServerAddress. + + The server's host name. + + + + Initializes a new instance of MongoServerAddress. + + The server's host name. + The server's port number. + + + + Parses a string representation of a server address. + + The string representation of a server address. + A new instance of MongoServerAddress initialized with values parsed from the string. + + + + Tries to parse a string representation of a server address. + + The string representation of a server address. + The server address (set to null if TryParse fails). + True if the string is parsed succesfully. + + + + Gets the server's host name. + + + + + Gets the server's port number. + + + + + Compares two server addresses. + + The first address. + The other address. + True if the two addresses are equal (or both are null). + + + + Compares two server addresses. + + The first address. + The other address. + True if the two addresses are not equal (or one is null and the other is not). + + + + Compares two server addresses. + + The other server address. + True if the two server addresses are equal. + + + + Compares two server addresses. + + The other server address. + True if the two server addresses are equal. + + + + Gets the hash code for this object. + + The hash code. + + + + Returns a string representation of the server address. + + A string representation of the server address. + + + + Represents an immutable URL style connection string. See also MongoUrlBuilder. + + + + + Creates a new instance of MongoUrl. + + The URL containing the settings. + + + + Gets whether to relax TLS constraints as much as possible. + + + + + Gets the application name. + + + + + Gets the authentication mechanism. + + + + + Gets the authentication mechanism properties. + + + + + Gets the authentication source. + + + + + Gets the compressors. + + + + + Gets the actual wait queue size (either WaitQueueSize or WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets the connect timeout. + + + + + Gets the optional database name. + + + + + Gets the direct connection. + + + + + Gets the FSync component of the write concern. + + + + + Gets a value indicating whether this instance has authentication settings. + + + + + Gets the heartbeat interval. + + + + + Gets the heartbeat timeout. + + + + + Gets a value indicating whether to use IPv6. + + + + + Gets a value indicating whether a connection string with scheme MongoDBPlusSrv has been resolved. + + + + + Gets the Journal component of the write concern. + + + + + Gets or sets whether load balanced mode is used. + + + + + Gets the local threshold. + + + + + Gets the maximum concurrently connecting connections. + + + + + Gets the max connection idle time. + + + + + Gets the max connection life time. + + + + + Gets the max connection pool size. + + + + + Gets the min connection pool size. + + + + + Gets the password. + + + + + Gets the proxy host. + + + + + Gets the proxy port. + + + + + Gets the proxy username. + + + + + Gets the proxy password. + + + + + Gets the read concern level. + + + + + Gets the read preference. + + + + + Gets the name of the replica set. + + + + + Gets whether reads will be retried. + + + + + Gets whether writes will be retried. + + + + + Gets the connection string scheme. + + + + + Gets the address of the server (see also Servers if using more than one address). + + + + + Gets the list of server addresses (see also Server if using only one address). + + + + + Gets the server monitoring mode to use. + + + + + Gets the server selection timeout. + + + + + Gets the socket timeout. + + + + + Limits the number of SRV records used to populate the seedlist + during initial discovery, as well as the number of additional hosts + that may be added during SRV polling. + + + + + Gets the SRV service name which modifies the srv URI to look like: + _{srvServiceName}._tcp.{hostname}.{domainname} + + + + + Gets the per-operation timeout + + + + + Gets whether or not to disable checking certificate revocation status during the TLS handshake. + + + + + Gets the URL (in canonical form). + + + + + Gets the username. + + + + + Gets a value indicating whether to use SSL. + + + + + Gets a value indicating whether to use TLS. + + + + + Gets a value indicating whether to verify an SSL certificate. + + + + + Gets the W component of the write concern. + + + + + Gets the wait queue multiple (the actual wait queue size will be WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets the wait queue size. + + + + + Gets the wait queue timeout. + + + + + Gets the WTimeout component of the write concern. + + + + + Compares two MongoUrls. + + The first URL. + The other URL. + True if the two URLs are equal (or both null). + + + + Compares two MongoUrls. + + The first URL. + The other URL. + True if the two URLs are not equal (or one is null and the other is not). + + + + Clears the URL cache. When a URL is parsed it is stored in the cache so that it doesn't have to be + parsed again. There is rarely a need to call this method. + + + + + Creates an instance of MongoUrl (might be an existing existence if the same URL has been used before). + + The URL containing the settings. + An instance of MongoUrl. + + + + Compares two MongoUrls. + + The other URL. + True if the two URLs are equal. + + + + Compares two MongoUrls. + + The other URL. + True if the two URLs are equal. + + + + Gets the credential. + + The credential (or null if the URL has not authentication settings). + + + + Gets the hash code. + + The hash code. + + + + Returns a WriteConcern value based on this instance's settings and a default enabled value. + + The default enabled value. + A WriteConcern. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + The cancellation token. + A resolved MongoURL. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + Whether to resolve hosts. + The cancellation token. + A resolved MongoURL. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + The cancellation token. + A resolved MongoURL. + + + + Resolves a connection string. If the connection string indicates more information is available + in the DNS system, it will acquire that information as well. + + Whether to resolve hosts. + The cancellation token. + A resolved MongoURL. + + + + Returns the canonical URL based on the settings in this MongoUrlBuilder. + + The canonical URL. + + + + Represents URL-style connection strings. + + + + + Creates a new instance of MongoUrlBuilder. + + + + + Creates a new instance of MongoUrlBuilder. + + The initial settings. + + + + Gets or sets whether to relax TLS constraints as much as possible. + + + + + Gets or sets the application name. + + + + + Gets or sets the authentication mechanism. + + + + + Gets or sets the authentication mechanism properties. + + + + + Gets or sets the authentication source. + + + + + Gets or sets the compressors. + + + + + Gets the actual wait queue size (either WaitQueueSize or WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets or sets the connect timeout. + + + + + Gets or sets the optional database name. + + + + + Gets or sets the direct connection. + + + + + Gets or sets the FSync component of the write concern. + + + + + Gets or sets the heartbeat interval. + + + + + Gets or sets the heartbeat timeout. + + + + + Gets or sets a value indicating whether to use IPv6. + + + + + Gets or sets the Journal component of the write concern. + + + + + Gets or sets whether load balanced mode is used. + + + + + Gets or sets the local threshold. + + + + + Gets or sets the maximum concurrently connecting connections. + + + + + Gets or sets the max connection idle time. + + + + + Gets or sets the max connection life time. + + + + + Gets or sets the max connection pool size. + + + + + Gets or sets the min connection pool size. + + + + + Gets or sets the password. + + + + + Gets or sets the proxy host. + + + + + Gets or sets the proxy port. + + + + + + Gets or sets the proxy username. + + + + + Gets or sets the proxy password. + + + + + Gets or sets the read concern level. + + + + + Gets or sets the read preference. + + + + + Gets or sets the name of the replica set. + + + + + Gets or sets whether to retry reads. + + + + + Gets or sets whether to retry writes. + + + + + The connection string scheme. + + + + + Gets or sets the address of the server (see also Servers if using more than one address). + + + + + Gets or sets the list of server addresses (see also Server if using only one address). + + + + + Gets or sets the server monitoring mode to use. + + + + + Gets or sets the server selection timeout. + + + + + Gets or sets the socket timeout. + + + + + Limits the number of SRV records used to populate the seedlist + during initial discovery, as well as the number of additional hosts + that may be added during SRV polling. + + + + + Gets or sets the SRV service name which modifies the srv URI to look like: + _{srvServiceName}._tcp.{hostname}.{domainname} + + + + + Gets or sets the per-operation timeout + + + + + Gets or sets whether to disable certificate revocation checking during the TLS handshake. + + + + + Gets or sets the username. + + + + + Gets or sets a value indicating whether to use SSL. + + + + + Gets or sets a value indicating whether to use TLS. + + + + + Gets or sets a value indicating whether to verify an SSL certificate. + + + + + Gets or sets the W component of the write concern. + + + + + Gets or sets the wait queue multiple (the actual wait queue size will be WaitQueueMultiple x MaxConnectionPoolSize). + + + + + Gets or sets the wait queue size. + + + + + Gets or sets the wait queue timeout. + + + + + Gets or sets the WTimeout component of the write concern. + + + + + Returns a WriteConcern value based on this instance's settings and a default enabled value. + + The default enabled value. + A WriteConcern. + + + + Parses a URL and sets all settings to match the URL. + + The URL. + + + + Creates a new instance of MongoUrl based on the settings in this MongoUrlBuilder. + + A new instance of MongoUrl. + + + + Returns the canonical URL based on the settings in this MongoUrlBuilder. + + The canonical URL. + + + Implements a for converting . + + + + + + + + + + Various static utility methods. + + + + + Gets the MD5 hash of a string. + + The string to get the MD5 hash of. + The MD5 hash. + + + + Creates a TimeSpan from microseconds. + + The microseconds. + The TimeSpan. + + + + Converts a string to camel case by lower casing the first letter (only the first letter is modified). + + The string to camel case. + The camel cased string. + + + + Represents a write exception. + + + + + Initializes a new instance of the class. + + The connection identifier. + The write error. + The write concern error. + The inner exception. + + + + Initializes a new instance of the MongoQueryException class (this overload supports deserialization). + + The SerializationInfo. + The StreamingContext. + + + + Gets the write concern error. + + + + + Gets the write error. + + + + + Gets the object data. + + The information. + The context. + + + + Represents an identity defined by an X509 certificate. + + + + + Initializes a new instance of the class. + + The username. + + + + Contains methods that can be used to access MongoDB specific functionality in LINQ queries. + + + + + Use this method in a MongoDB LINQ query when you need to specify how a constant should be serialized. + + The value. + The serializer. + The type of the value. + The value. + + + + Use this method in a MongoDB LINQ query when you need to specify how a constant should be serialized. + + The value. + The representation. + The type of the value. + The value + + + + Converts a value from one type to another using the $convert aggregation operator. + + The type of the input value. + The type of the output value. + The value to convert. + The conversion options. + The converted value. + Not all conversions are supported by the $convert operator. + + + + Converts a string to a DateTime using the $dateFromString aggregation operator. + + The string. + A DateTime. + + + + Converts a string to a DateTime using the $dateFromString aggregation operator. + + The string. + The format string. + A DateTime. + + + + Converts a string to a DateTime using the $dateFromString aggregation operator. + + The string. + The format string. + The time zone. + A DateTime. + + + + Converts a string to a DateTime using the $dateFromString aggregation operator. + + The string. + The format string. + The time zone. + The onError value. + The onNull value. + A DateTime. + + + + Tests whether a field exists. + + The type of the field. + The field. + true if the field exists. + + + + Gets the value of a field in a document. + + The type of the document. + The type of the field. + The document. + The field name. + The field serializer. + The value of the field. + + + + Tests whether a field is missing. + + The type of the field. + The field. + true if the field is missing. + + + + Tests whether a field is null or missing. + + The type of the field. + The field. + true if the field is null or missing. + + + + Transforms a real-valued input into a value between 0 and 1 using the $sigmoid operator. + + The input value. + The transformed value. + + + + Represents the void input data type to a pipeline with no input, such as a database aggregation. No actual instances of this type can be created. + + + + + The serializer for NoPipelineInput. + + + + + Gets the instance. + + The instance. + + + + + + + + + + + + + + + + + + + + + + Evidence of a MongoIdentity via a shared secret. + + + + + Initializes a new instance of the class. + Less secure when used in conjunction with SCRAM-SHA-256, due to the need to store the password in a managed + string in order to SaslPrep it. + See Driver Authentication: SCRAM-SHA-256 + for additional details. + + The password. + + + + Initializes a new instance of the class. + + The password. + + + + Gets the password. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns password as decoded string + + + + + A rendered pipeline. + + The type of the output. + + + + Initializes a new instance of the class. + + The pipeline. + The output serializer. + + + + Gets the documents. + + + + + Gets the serializer. + + + + + Base class for a pipeline. + + The type of the input. + The type of the output. + + + + Gets the output serializer. + + + + + Gets the stages. + + + + + Renders the pipeline. + + The render arguments. + A + + + + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + The translation options. + + A that represents this instance. + + + + + Creates a pipeline. + + The stages. + The output serializer. + A . + + + + Creates a pipeline. + + The stages. + The output serializer. + A . + + + + Creates a pipeline. + + The stages. + The output serializer. + A . + + + + Creates a pipeline. + + The stages. + A . + + + + Creates a pipeline. + + The stages. + A . + + + + Performs an implicit conversion from [] to . + + The stages. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The stages. + + The result of the conversion. + + + + + Performs an implicit conversion from [] to . + + The stages. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The stages. + + The result of the conversion. + + + + + A pipeline composed of instances of . + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The stages. + The output serializer. + + + + + + + Gets the stages. + + + + + + + + + + + A pipeline composed of instances of . + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The stages. + The output serializer. + + + + + + + Gets the serializer. + + + + + Gets the stages. + + + + + + + + + + + + + + Extension methods for adding stages to a pipeline. + + + + + Appends a stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The stage. + The output serializer. + A new pipeline with an additional stage. + + + + Changes the output type of the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The output serializer. + A new pipeline with an additional stage. + + + + Appends a $bucket stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The pipeline. + The group by expression. + The boundaries. + The options. + A new pipeline with an additional stage. + + + + Appends a $bucket stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The type of the output documents. + The pipeline. + The group by expression. + The boundaries. + The output projection. + The options. + A new pipeline with an additional stage. + + + + Appends a $bucket stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The pipeline. + The group by expression. + The boundaries. + The options. + A new pipeline with an additional stage. + + + + Appends a $bucket stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The type of the output documents. + The pipeline. + The group by expression. + The boundaries. + The output projection. + The options. + A new pipeline with an additional stage. + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The pipeline. + The group by expression. + The number of buckets. + The options. + A new pipeline with an additional stage. + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The type of the output documents. + The pipeline. + The group by expression. + The number of buckets. + The output projection. + The options. + A new pipeline with an additional stage. + + + + Appends a $bucketAuto stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the value. + The pipeline. + The group by expression. + The number of buckets. + The options (optional). + A new pipeline with an additional stage. + + + + Appends a $bucketAuto stage to the pipeline (this overload can only be used with LINQ3). + + The type of the input documents. + The type of the intermediate documents. + The type of the value. + The type of the output documents. + The pipeline. + The group by expression. + The number of buckets. + The output projection. + The options (optional). + A new pipeline with an additional stage. + + + + Appends a $changeStream stage to the pipeline. + Normally you would prefer to use the Watch method of . + Only use this method if subsequent stages project away the resume token (the _id) + or you don't want the resulting cursor to automatically resume. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The options. + A new pipeline with an additional stage. + + + + Appends a $changeStreamSplitLargeEvent stage. + + The type of the input documents. + The pipeline. + A new pipeline with an additional stage. + + + + Appends a $count stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + A new pipeline with an additional stage. + + + + Appends a $densify stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The field. + The range. + The partition by fields. + A new pipeline with an additional stage. + + + + Appends a $densify stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The field. + The range. + The partition by fields. + A new pipeline with an additional stage. + + + + Appends a $densify stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The field. + The range. + The partition by fields. + A new pipeline with an additional stage. + + + + Appends a $densify stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The field. + The range. + The partition by fields. + A new pipeline with an additional stage. + + + + Appends a $documents stage to the pipeline. + + The type of the documents. + The pipeline. + The documents. + The document serializer. + A new pipeline with an additional stage. + + + + Appends a $documents stage to the pipeline. + + The type of the documents. + The pipeline. + The documents. + The document serializer. + A new pipeline with an additional stage. + + + + Appends a $facet stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The facets. + The options. + A new pipeline with an additional stage. + + + + Appends a $facet stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The facets. + A new pipeline with an additional stage. + + + + Appends a $facet stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The facets. + A new pipeline with an additional stage. + + + + Appends a $facet stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The facets. + A new pipeline with an additional stage. + + + + Used to start creating a pipeline for {TInput} documents. + + The type of the output. + The inputSerializer serializer. + An empty pipeline. + + + + Appends a $geoNear stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The type of the coordinates for the point. + The pipeline. + The point for which to find the closest documents. + The options. + A new pipeline with an additional stage. + + + + Appends a $geoNear stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The point for which to find the closest documents. + The options. + A new pipeline with an additional stage. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + A new pipeline with an additional stage. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + A new pipeline with an additional stage. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + A new pipeline with an additional stage. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + A new pipeline with an additional stage. + + + + Appends a $graphLookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The pipeline. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + A new pipeline with an additional stage. + + + + Appends a $group stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The group projection. + A new pipeline with an additional stage.s + + + + Appends a group stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The group projection. + A new pipeline with an additional stage. + + + + Appends a group stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the key. + The type of the output documents. + The pipeline. + The id. + The group projection. + A new pipeline with an additional stage. + + + + Appends a $limit stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The limit. + A new pipeline with an additional stage. + + + + Appends a $lookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the foreign collection documents. + The type of the output documents. + The pipeline. + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + A new pipeline with an additional stage. + + + + Appends a lookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the foreign collection documents. + The type of the output documents. + The pipeline. + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + A new pipeline with an additional stage. + + + + Appends a $lookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the foreign collection documents. + The type of the as field elements. + The type of the as field. + The type of the output documents. + The pipeline. + The foreign collection. + The "let" definition. + The lookup pipeline. + The as field in in which to place the results of the lookup pipeline. + The options. + A new pipeline with an additional stage. + + + + Appends a $lookup stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the foreign collection documents. + The type of the as field elements. + The type of the as field. + The type of the output documents. + The pipeline. + The foreign collection. + The "let" definition. + The lookup pipeline. + The as field in in which to place the results of the lookup pipeline. + The options. + A new pipeline with an additional stage. + + + + Appends a $match stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The filter. + A new pipeline with an additional stage. + + + + Appends a match stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The filter. + A new pipeline with an additional stage. + + + + Appends a $match stage to the pipeline to select documents of a certain type. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The output serializer. + A new pipeline with an additional stage.> + + + + + Appends a $merge stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The output collection. + The merge options. + A new pipeline with an additional stage. + + + + + Appends a $out stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The output collection. + The time series options. + A new pipeline with an additional stage. + + + + + Appends a $project stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The projection. + A new pipeline with an additional stage. + + + + + Appends a project stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The projection. + A new pipeline with an additional stage. + + + + Appends a project stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The projection. + A new pipeline with an additional stage. + + + + Appends a $rankFusion stage to the pipeline. + + The type of the documents. + The type of the output documents. + The type of the intermediate documents. + The pipeline. + The map of named pipelines whose results will be combined. The pipelines must operate on the same collection. + The map of pipeline names to non-negative numerical weights determining result importance during combination. Default weight is 1 when unspecified. + The rankFusion options. + A new pipeline with an additional stage. + + + + Appends a $rankFusion stage to the pipeline. Pipelines will be automatically named as "pipeline1", "pipeline2", etc. + + The type of the documents. + The type of the output documents. + The type of the intermediate documents. + The pipeline. + The collection of pipelines whose results will be combined. The pipelines must operate on the same collection. + The rankFusion options. + A new pipeline with an additional stage. + + + + Appends a $rankFusion stage to the pipeline. Pipelines will be automatically named as "pipeline1", "pipeline2", etc. + + The type of the documents. + The type of the output documents. + The type of the intermediate documents. + The pipeline. + The collection of tuples containing (pipeline, weight) pairs. The pipelines must operate on the same collection. + The rankFusion options. + A new pipeline with an additional stage. + + + + Appends a $replaceRoot stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The new root. + A new pipeline with an additional stage. + + + + Appends a $replaceRoot stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The new root. + A new pipeline with an additional stage. + + + + Appends a $replaceWith stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The new root. + A new pipeline with an additional stage. + + + + Appends a $replaceWith stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The new root. + A new pipeline with an additional stage. + + + + Appends a $sample stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The sample size. + + A new pipeline with an additional stage. + + + + + Appends a $search stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The search definition. + The highlight options. + The index name. + The count options. + + Flag that specifies whether to perform a full document lookup on the backend database + or return only stored source fields directly from Atlas Search. + + + Flag that specifies whether to return a detailed breakdown + of the score for each document in the result. + + A new pipeline with an additional stage. + + + + Appends a $search stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The search definition. + The search options. + A new pipeline with an additional stage. + + + + Appends a $searchMeta stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The search definition. + The index name. + The count options. + A new pipeline with an additional stage. + + + + Appends a $set stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The fields to set. + A new pipeline with an additional stage. + + + + Appends a $set stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The type of object specifying the fields to set. + The pipeline. + The fields to set. + A new pipeline with an additional stage. + + + + Create a $setWindowFields stage. + + The type of the input documents. + The type of the intermediate documents. + The type of the added window fields. + The pipeline. + The window fields expression. + A new pipeline with an additional stage. + + + + Appends a $setWindowFields stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the value to partition by. + The type of the added window fields. + The pipeline. + The partitionBy expression. + The window fields expression. + A new pipeline with an additional stage. + + + + Appends a $setWindowFields stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the value to partition by. + The type of the added window fields. + The pipeline. + The partitionBy expression. + The sortBy expression. + The window fields expression. + A new pipeline with an additional stage. + + + + Appends a $setWindowFields stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the value to partition by. + The type of the added window fields. + The pipeline. + The window fields expression. + A new pipeline with an additional stage. + + + + Appends a $setWindowFields stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the value to partition by. + The type of the added window fields. + The pipeline. + The partitionBy expression. + The window fields expression. + A new pipeline with an additional stage. + + + + Appends a $setWindowFields stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the value to partition by. + The type of the added window fields. + The pipeline. + The partitionBy expression. + The sortBy expression. + The window fields expression. + A new pipeline with an additional stage. + + + + Appends a $skip stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The number of documents to skip. + A new pipeline with an additional stage. + + + + Appends a $sort stage to the pipeline. + + The type of the input documents. + The type of the output documents. + The pipeline. + The sort definition. + A new pipeline with an additional stage. + + + + Appends a $sortByCount stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The pipeline. + The value expression. + A new pipeline with an additional stage. + + + + Appends a sortByCount stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the values. + The pipeline. + The value expression. + A new pipeline with an additional stage. + + + + Appends a $unionWith stage to the pipeline. + + The type of the input documents. + The type of the with collection documents. + The type of the output documents. + The pipeline. + The with collection. + The with pipeline. + A new pipeline with an additional stage. + + + + Appends an $unwind stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The field. + The options. + A new pipeline with an additional stage. + + + + Appends an unwind stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The field to unwind. + The options. + A new pipeline with an additional stage. + + + + Appends an unwind stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The pipeline. + The field to unwind. + The options. + A new pipeline with an additional stage. + + + + Appends an unwind stage to the pipeline. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + The pipeline. + The field to unwind. + The options. + A new pipeline with an additional stage. + + + + Appends a $vectorSearch stage to the pipeline. + + The type of the input. + The type of the field. + The type of the output. + The pipeline. + The field. + The query vector. + The limit. + The vector search options. + A new pipeline with an additional stage. + + + + Appends a $vectorSearch stage to the pipeline. + + The type of the input. + The type of the output. + The pipeline. + The field. + The query vector. + The limit. + The vector search options. + A new pipeline with an additional stage. + + + + Represents a pipeline consisting of an existing pipeline with one additional stage appended. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + + + Initializes a new instance of the class. + + The pipeline. + The stage. + The output serializer. + + + + + + + + + + + + + Represents an empty pipeline. + + The type of the input documents. + + + + Initializes a new instance of the class. + + The output serializer. + + + + + + + + + + + + + Represents a pipeline consisting of an existing pipeline with one additional stage prepended. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + + + Initializes a new instance of the class. + + The stage. + The pipeline. + The output serializer. + + + + + + + + + + + + + Represents a pipeline with the output serializer replaced. + + The type of the input documents. + The type of the intermediate documents. + The type of the output documents. + + + + + Initializes a new instance of the class. + + The pipeline. + The output serializer. + + + + + + + + + + + + + A rendered pipeline stage. + + + + + Gets the name of the pipeline operator. + + + The name of the pipeline operator. + + + + + Gets the document. + + + + + Gets the documents (usually one but could be more). + + + + + Gets the output serializer. + + + + + A rendered pipeline stage. + + The type of the output. + + + + Initializes a new instance of the class. + + Name of the pipeline operator. + The document. + The output serializer. + + + + Initializes a new instance of the class. + + Name of the pipeline operator. + The documents. + The output serializer. + + + + + + + + + + Gets the output serializer. + + + + + + + + + + + A pipeline stage. + + + + + Gets the type of the input. + + + + + Gets the name of the pipeline operator. + + + + + Gets the type of the output. + + + + + Renders the specified document serializer. + + The input serializer. + The serializer registry. + An + + + + Renders the specified document serializer. + + The input serializer. + The serializer registry. + The translation options. + An + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + + A that represents this instance. + + + + + Base class for pipeline stages. + + The type of the input. + The type of the output. + + + + Gets the type of the input. + + + + + + + + Gets the type of the output. + + + + + Renders the specified document serializer. + + The render arguments. + A + + + + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + The translation options. + + A that represents this instance. + + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + + + + + + + A based stage. + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The document. + The output serializer. + + + + + + + + + + A JSON based pipeline stage. + + The type of the input. + The type of the output. + + + + Initializes a new instance of the class. + + The json. + The output serializer. + + + + Gets the json. + + + + + + + + Gets the output serializer. + + + + + + + + Methods for building pipeline stages. + + + + + Creates a $bucket stage. + + The type of the input documents. + The type of the values. + The group by expression. + The boundaries. + The options. + The stage. + + + + Creates a $bucket stage. + + The type of the input documents. + The type of the values. + The type of the output documents. + The group by expression. + The boundaries. + The output projection. + The options. + The stage. + + + + Creates a $bucket stage. + + The type of the input documents. + The type of the values. + The group by expression. + The boundaries. + The options. + The stage. + + + + Creates a $bucket stage. + + The type of the input documents. + The type of the values. + The type of the output documents. + The group by expression. + The boundaries. + The output projection. + The options. + The stage. + + + + Creates a $bucketAuto stage. + + The type of the input documents. + The type of the values. + The group by expression. + The number of buckets. + The options. + The stage. + + + + Creates a $bucketAuto stage. + + The type of the input documents. + The type of the values. + The type of the output documents. + The group by expression. + The number of buckets. + The output projection. + The options. + The stage. + + + + Creates a $bucketAuto stage. + + The type of the input documents. + The type of the value. + The group by expression. + The number of buckets. + The options (optional). + The stage. + + + + Creates a $bucketAuto stage (this overload can only be used with LINQ3). + + The type of the input documents. + The type of the output documents. + The type of the output documents. + The group by expression. + The number of buckets. + The output projection. + The options (optional). + The stage. + + + + Creates a $changeStream stage. + Normally you would prefer to use the Watch method of . + Only use this method if subsequent stages project away the resume token (the _id) + or you don't want the resulting cursor to automatically resume. + + The type of the input documents. + The options. + The stage. + + + + Creates a $changeStreamSplitLargeEvent stage. + + The type of the input documents. + The stage. + + + + Creates a $count stage. + + The type of the input documents. + The stage. + + + + Creates a $densify stage. + + The type of the input documents. + The field. + The range. + The partition by fields. + The stage. + + + + Creates a $densify stage. + + The type of the input documents. + The field. + The range. + The partition by fields. + The stage. + + + + Creates a $densify stage. + + The type of the input documents. + The field. + The range. + The partition by fields. + The stage. + + + + Creates a $densify stage. + + The type of the input documents. + The field. + The range. + The partition by fields. + The stage. + + + + Creates a $documents stage. + + The type of the documents. + The documents. + The document serializer. + The stage. + + + + Creates a $documents stage. + + The type of the documents. + The documents. + The document serializer. + The stage. + + + + Creates a $facet stage. + + The type of the input documents. + The type of the output documents. + The facets. + The options. + The stage. + + + + Creates a $facet stage. + + The type of the input documents. + The facets. + The stage. + + + + Creates a $facet stage. + + The type of the input documents. + The facets. + The stage. + + + + Creates a $facet stage. + + The type of the input documents. + The type of the output documents. + The facets. + The stage. + + + + Creates a $geoNear stage. + + The type of the input documents. + The type of the output documents. + The type of the coordinates for the point. + The point for which to find the closest documents. + The options. + The stage. + + + + Creates a $geoNear stage. + + The type of the input documents. + The type of the output documents. + The point for which to find the closest documents. + The options. + The stage. + + + + Creates a $graphLookup stage. + + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The stage. + + + + Creates a $graphLookup stage. + + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The stage. + + + + Creates a $graphLookup stage. + + The type of the input documents. + The type of the from documents. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The fluent aggregate interface. + + + + Creates a $graphLookup stage. + + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field. + The type of the output documents. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The options. + The stage. + + + + Creates a $graphLookup stage. + + The type of the input documents. + The type of the from documents. + The type of the connect from field (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the connect to field. + The type of the start with expression (must be either TConnectTo or a type that implements IEnumerable{TConnectTo}). + The type of the as field elements. + The type of the as field. + The type of the output documents. + The from collection. + The connect from field. + The connect to field. + The start with value. + The as field. + The depth field. + The options. + The stage. + + + + Creates a $group stage. + + The type of the input documents. + The type of the output documents. + The group projection. + The stage. + + + + Creates a $group stage. + + The type of the input documents. + The group projection. + The stage. + + + + Creates a $group stage. + + The type of the input documents. + The type of the values. + The type of the output documents. + The value field. + The group projection. + The stage. + This method can only be used with LINQ2 but that can't be verified until Render is called. + + + + Creates a $limit stage. + + The type of the input documents. + The limit. + The stage. + + + + Creates a $lookup stage. + + The type of the input documents. + The type of the foreign collection documents. + The type of the output documents. + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + The stage. + + + + Creates a $lookup stage. + + The type of the input documents. + The type of the foreign collection documents. + The type of the output documents. + The foreign collection. + The local field. + The foreign field. + The "as" field. + The options. + The stage. + + + + Creates a $lookup stage. + + The type of the input documents. + The type of the foreign collection documents. + The type of the as field elements. + The type of the as field. + The type of the output documents. + The foreign collection. + The "let" definition. + The lookup pipeline. + The as field in in which to place the results of the lookup pipeline. + The options. + The stage. + + + + Creates a $lookup stage. + + The type of the input documents. + The type of the foreign collection documents. + The type of the as field elements. + The type of the as field. + The type of the output documents. + The foreign collection. + The "let" definition. + The lookup pipeline. + The as field in in which to place the results of the lookup pipeline. + The options. + The stage. + + + + Creates a $match stage. + + The type of the input documents. + The filter. + The stage. + + + + Creates a $match stage. + + The type of the input documents. + The filter. + The stage. + + + + Creates a $merge stage. + + The type of the input documents. + The type of the output documents. + The output collection. + The merge options. + The stage. + + + + Create a $match stage that select documents of a sub type. + + The type of the input documents. + The type of the output documents. + The output serializer. + The stage. + + + + Creates a $out stage. + + The type of the input documents. + The output collection. + The time series options. + The stage. + + + + Creates a $project stage. + + The type of the input documents. + The type of the output documents. + The projection. + The stage. + + + + Creates a $project stage. + + The type of the input documents. + The projection. + The stage. + + + + Creates a $project stage. + + The type of the input documents. + The type of the output documents. + The projection. + The stage. + + + + Creates a $search stage. + + The type of the input documents. + The search definition. + The highlight options. + The index name. + The count options. + + Flag that specifies whether to perform a full document lookup on the backend database + or return only stored source fields directly from Atlas Search. + + + Flag that specifies whether to return a detailed breakdown + of the score for each document in the result. + + The stage. + + + + Creates a $search stage. + + The type of the input documents. + The search definition. + The search options. + The stage. + + + + Creates a $searchMeta stage. + + The type of the input documents. + The search definition. + The index name. + The count options. + The stage. + + + + Creates a $rankFusion stage. + + The type of the input documents. + The type of the output documents. + The map of named pipelines whose results will be combined. The pipelines must operate on the same collection. + The map of pipeline names to non-negative numerical weights determining result importance during combination. Default weight is 1 when unspecified. + The rankFusion options. + The stage. + + + + Creates a $rankFusion stage. Pipelines will be automatically named as "pipeline1", "pipeline2", etc. + + The type of the input documents. + The type of the output documents. + The collection of pipelines whose results will be combined. The pipelines must operate on the same collection. + The rankFusion options. + The stage. + + + + Creates a $rankFusion stage. Pipelines will be automatically named as "pipeline1", "pipeline2", etc. + + The type of the input documents. + The type of the output documents. + The collection of tuples containing (pipeline, weight) pairs. The pipelines must operate on the same collection. + The rankFusion options. + The stage. + + + + Creates a $replaceRoot stage. + + The type of the input documents. + The type of the output documents. + The new root. + The stage. + + + + Creates a $replaceRoot stage. + + The type of the input documents. + The type of the output documents. + The new root. + The stage. + + + + Creates a $replaceWith stage. + + The type of the input documents. + The type of the output documents. + The new root. + The stage. + + + + Creates a $replaceWith stage. + + The type of the input documents. + The type of the output documents. + The new root. + The stage. + + + + Creates a $set stage. + + The type of the input documents. + The fields to set. + The stage. + + + + Creates a $set stage. + + The type of the input documents. + The type of object specifying the fields to set. + The fields to set. + The stage. + + + + Create a $setWindowFields stage. + + The type of the input documents. + The type of the added window fields. + The window fields expression. + The stage. + + + + Create a $setWindowFields stage. + + The type of the input documents. + The type of the value to partition by. + The type of the added window fields. + The partitionBy expression. + The window fields expression. + The stage. + + + + Create a $setWindowFields stage. + + The type of the input documents. + The type of the value to partition by. + The type of the added window fields. + The partitionBy expression. + The sortBy expression. + The window fields expression. + The stage. + + + + Create a $setWindowFields stage. + + The type of the input documents. + The type of the added window fields. + The window fields expression. + The stage. + + + + Create a $setWindowFields stage. + + The type of the input documents. + The type of the value to partition by. + The type of the added window fields. + The partitionBy expression. + The window fields expression. + The stage. + + + + Create a $setWindowFields stage. + + The type of the input documents. + The type of the value to partition by. + The type of the added window fields. + The partitionBy expression. + The sortBy expression. + The window fields expression. + The stage. + + + + Creates a $skip stage. + + The type of the input documents. + The skip. + The stage. + + + + Creates a $sort stage. + + The type of the input documents. + The sort. + The stage. + + + + Creates a $sample stage. + + The type of the input documents. + The size. + The stage. + + + + Creates a $sortByCount stage. + + The type of the input documents. + The type of the values. + The value expression. + The stage. + + + + Creates a $sortByCount stage. + + The type of the input documents. + The type of the values. + The value. + The stage. + + + + Creates a $unionWith stage. + + The type of the input documents. + The type of the with collection documents. + The with collection. + The with pipeline. + The stage. + + + + Creates an $unwind stage. + + The type of the input documents. + The type of the output documents. + The field. + The options. + The stage. + + + + Creates an $unwind stage. + + The type of the input documents. + The field to unwind. + The options. + The stage. + + + + Creates an $unwind stage. + + The type of the input documents. + The field to unwind. + The options. + The stage. + + + + Creates an $unwind stage. + + The type of the input documents. + The type of the output documents. + The field to unwind. + The options. + The stage. + + + + Creates a $vectorSearch stage. + + The type of the input documents. + The type of the field. + The field. + The query vector. + The limit. + The options. + The stage. + + + + Creates a $vectorSearch stage. + + The type of the input documents. + The field. + The query vector. + The limit. + The options. + The stage. + + + + A rendered projection. + + The type of the projection. + + + + Initializes a new instance of the class. + + The document. + The projection serializer. + + + + Gets the document. + + + + + Gets the serializer. + + + + + Base class for projections whose projection type is not yet known. + + The type of the source. + + + + Renders the projection to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Base class for projections. + + The type of the source. + The type of the projection. + + + + Renders the projection to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The projection. + + The result of the conversion. + + + + + A based projection whose projection type is not yet known. + + The type of the source. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + + + + A based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The document. + The projection serializer. + + + + Gets the document. + + + + + Gets the projection serializer. + + + + + + + + A find based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The expression. + + + + Gets the expression. + + + + + + + + A JSON based projection whose projection type is not yet known. + + The type of the source. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + + + + A JSON based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The json. + The projection serializer. + + + + Gets the json. + + + + + Gets the projection serializer. + + + + + + + + An based projection whose projection type is not yet known. + + The type of the source. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + + + + An based projection. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The object. + The projection serializer. + + + + Gets the object. + + + + + Gets the projection serializer. + + + + + + + + A client side only projection that is implemented solely by deserializing using a different serializer. + + The type of the source. + The type of the projection. + + + + Initializes a new instance of the class. + + The projection serializer. + + + + Gets the result serializer. + + + The result serializer. + + + + + + + + Extension methods for projections. + + + + + Combines an existing projection with a projection that filters the contents of an array. + + The type of the document. + The type of the item. + The projection. + The field. + The filter. + + A combined projection. + + + + + Combines an existing projection with a projection that filters the contents of an array. + + The type of the document. + The type of the item. + The projection. + The field. + The filter. + + A combined projection. + + + + + Combines an existing projection with a projection that filters the contents of an array. + + The type of the document. + The type of the item. + The projection. + The field. + The filter. + + A combined projection. + + + + + Combines an existing projection with a projection that excludes a field. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a projection that excludes a field. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a projection that includes a field. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a projection that includes a field. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a meta projection. + + The type of the document. + The projection. + The field. + The meta field name. + + A combined projection. + + + + + Combines an existing projection with a meta score projection. This projection will retrieve any kind of score metadata i.e. + searchScore, VectorSearchScore or textScore. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a meta score projection. This projection will retrieve any kind of score metadata i.e. + searchScore, VectorSearchScore or textScore. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a meta score details projection. This projection will retrieve any kind of scoreDetails metadata i.e. + searchScoreDetails. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a meta score details projection. This projection will retrieve any kind of scoreDetails metadata i.e. + searchScoreDetails. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search highlights projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search highlights projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search score projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search score projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search score details projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search score details projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search sequence token projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search sequence token projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a text score projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a text score projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a VectorSearch score projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a VectorSearch score projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search metadata projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with a search metadata projection. + + The type of the document. + The projection. + The field. + + A combined projection. + + + + + Combines an existing projection with an array slice projection. + + The type of the document. + The projection. + The field. + The limit. + + A combined projection. + + + + + Combines an existing projection with an array slice projection. + + The type of the document. + The projection. + The field. + The skip. + The limit. + + A combined projection. + + + + + Combines an existing projection with an array slice projection. + + The type of the document. + The projection. + The field. + The limit. + + A combined projection. + + + + + Combines an existing projection with an array slice projection. + + The type of the document. + The projection. + The field. + The skip. + The limit. + + A combined projection. + + + + + A builder for a projection. + + The type of the source. + + + + Creates a client side projection that is implemented solely by using a different serializer. + + The type of the projection. + The projection serializer. + A client side deserialization projection. + + + + Combines the specified projections. + + The projections. + + A combined projection. + + + + + Combines the specified projections. + + The projections. + + A combined projection. + + + + + Creates a projection that filters the contents of an array. + + The type of the item. + The field. + The filter. + + An array filtering projection. + + + + + Creates a projection that filters the contents of an array. + + The type of the item. + The field. + The filter. + + An array filtering projection. + + + + + Creates a projection that filters the contents of an array. + + The type of the item. + The field. + The filter. + + An array filtering projection. + + + + + Creates a projection that excludes a field. + + The field. + + An exclusion projection. + + + + + Creates a projection that excludes a field. + + The field. + + An exclusion projection. + + + + + Creates a projection based on the expression. + + The type of the result. + The expression. + + An expression projection. + + + + + Creates a projection that includes a field. + + The field. + + An inclusion projection. + + + + + Creates a projection that includes a field. + + The field. + + An inclusion projection. + + + + + Creates a meta projection. + + The field. + The meta field name. + + A meta projection. + + + + + Creates a meta score projection. This projection will retrieve any kind of score metadata i.e. + searchScore, VectorSearchScore or textScore. + + The field. + + A meta score projection. + + + + + Creates a meta score projection. This projection will retrieve any kind of score metadata i.e. + searchScore, VectorSearchScore or textScore. + + The field. + + A meta score projection. + + + + + Creates a meta score details projection. This projection will retrieve any kind of scoreDetails metadata i.e. + searchScoreDetails. + + The field. + + A meta score details projection. + + + + + Creates a meta score details projection. This projection will retrieve any kind of scoreDetails metadata i.e. + searchScoreDetails. + + The field. + + A meta score details projection. + + + + + Creates a search highlights projection. + + The field. + + A search highlights projection. + + + + + Creates a search highlights projection. + + The field. + + A search highlights projection. + + + + + Creates a search score projection. + + The field. + + A search score projection. + + + + + Creates a search score projection. + + The field. + + A search score projection. + + + + + Creates a search score details projection. + + The field. + + A search score details projection. + + + + + Creates a search score details projection. + + The field. + + A search score details projection. + + + + + Creates a search sequence token projection. + + The field. + + A search sequence token projection. + + + + + Creates a search sequence token projection. + + The field. + + A search sequence token projection. + + + + + Creates a text score projection. + + The field. + + A text score projection. + + + + + Creates a text score projection. + + The field. + + A text score projection. + + + + + Creates a VectorSearch score projection. + + The field. + + A VectorSearch score projection. + + + + + Creates a VectorSearch score projection. + + The field. + + A VectorSearch score projection. + + + + + Creates a search metadata projection. + + The field. + + A search metadata projection. + + + + + Creates a search metadata projection. + + The field. + + A search metadata projection. + + + + + Creates an array slice projection. + + The field. + The limit. + + An array slice projection. + + + + + Creates an array slice projection. + + The field. + The skip. + The limit. + + An array slice projection. + + + + + Creates an array slice projection. + + The field. + The limit. + + An array slice projection. + + + + + Creates an array slice projection. + + The field. + The skip. + The limit. + + An array slice projection. + + + + + Vector search query vector. + + + + + Gets the underlying bson value representing the vector. + Possible values are or encoding + + + + + Initializes a new instance of the class. + + The bson binary data. + + + + Initializes a new instance of the class. + + The memory. + + + + Initializes a new instance of the class. + + The memory. + + + + Initializes a new instance of the class. + + The memory. + + + + Performs an implicit conversion from [] to . + + The array. + + The result of the conversion. + + + + + Performs an implicit conversion from a of to . + + The readOnlyMemory. + + The result of the conversion. + + + + + Performs an implicit conversion from [] to . + + The array. + + The result of the conversion. + + + + + Performs an implicit conversion from a of to . + + The readOnlyMemory. + + The result of the conversion. + + + + + Performs an implicit conversion from [] to . + + The array. + + The result of the conversion. + + + + + Performs an implicit conversion from a of to . + + The readOnlyMemory. + + The result of the conversion. + + + + + Performs an implicit conversion from a of to . + + The binary vector int8. + + The result of the conversion. + + + + + Performs an implicit conversion from a of to . + + The binary vector float32. + + The result of the conversion. + + + + + Performs an implicit conversion from a of to . + + The binary vector packed bit. + + The result of the conversion. + + + + + Represents a range window for a SetWindowFields window method. + + + + + Returns a "current" range window boundary. + + + + + Returns an "unbounded" range window boundary. + + + + + Creates a range window. + + The type of the boundary conditions. + The lower boundary. + The upper boundary. + A range window. + + + + Creates a range window. + + The type of the lower boundary condition. + The lower boundary. + The upper boundary. + A range window. + + + + Creates a range window. + + The type of the upper boundary condition. + The lower boundary. + The upper boundary. + A range window. + + + + Creates a range window. + + The lower boundary. + The upper boundary. + A range window. + + + + Creates a range window. + + The lower boundary. + The upper boundary. + A range window. + + + + Creates a range window. + + The lower boundary. + The upper boundary. + A range window. + + + + Creates a range window. + + The lower boundary. + The upper boundary. + A range window. + + + + Returns a time range in days. + + The value. + A time range. + + + + Returns a time range in hours. + + The value. + A time range. + + + + Returns a time range in milliseconds. + + The value. + A time range. + + + + Returns a time range in minutes. + + The value. + A time range. + + + + Returns a time range in months. + + The value. + A time range. + + + + Returns a time range in quarters. + + The value. + A time range. + + + + Returns a time range in seconds. + + The value. + A time range. + + + + Returns a time range in weeks. + + The value. + A time range. + + + + Returns a time range in years. + + The value. + A time range. + + + + Initializes an instance of RangeWindow. + + The lower boundary. + The upper boundary. + + + + The lower boundary. + + + + + The upper boundary. + + + + + + + + Represents a boundary for a range window in SetWindowFields. + + + + + Represents a keyword boundary for a range window in SetWindowFields (i.e. "unbounded" or "current"). + + + + + The keyword. + + + + + + + + Represents a value boundary for a document window in SetWindowFields. + + + + + Represents a value boundary for a range window in SetWindowFields. + + The type of the range window boundary. + + + + Initializes a new instance of ValueRangeWindowBoundary. + + The value. + + + + The value. + + + + + + + + Represents a time boundary for a range window in SetWindowFields. + + + + + The unit. + + + + + The value. + + + + + + + + Represents options for the $rankFusion stage. + + The type of the output documents. + + + + Gets or sets the output serializer. + + + + + Flag that specifies whether to make a detailed breakdown of the score for each document available as metadata. + Setting this to true adds score information accessible via $meta, which can then be optionally projected in results. + + + + + Options for renaming a collection. + + + + + Gets or sets a value indicating whether to drop the target collection first if it already exists. + + + + + Gets or sets the operation timeout. + + + + + Encapsulates settings needed for path rendering. + + + + + Encapsulates settings needed for path rendering. + + + + + Encapsulates settings needed for rendering Builder definitions. + + The type of the document. + + + + Initializes a new instance of the record. + + The document serializer. + The serializer registry. + The path render arguments. + Value that specifies whether full dollar for should be rendered. + Value that specifies whether rendering a find operation. + Value that specifies whether rendering an $elemMatch. + The translation options. + + + + Gets the document serializer. + + + + + Gets the value indicating whether Render is being called for ElemMatch. + + + + + Gets the value indicating whether Render is being called for Find. + + + + + Gets the path render arguments. + + + + + Gets the value indicating whether full dollar form should be rendered. + + + + + Gets the serializer registry. + + + + + Gets the translation options used when translation Expressions to MQL. + + + + + Returns if it implements IBsonSerializer{T} + or resolves IBsonSerializer{T} from . + + + + + Creates a new RenderArgs with new document type {TNewDocument} + + The new serializer. + + A new RenderArgs{TNewDocument} instance. + + + + + Model for replacing a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + The replacement. + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets the hint. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets the replacement. + + + + + Gets or sets the sort definition. + + + + + Gets the type of the model. + + + + + The result of an update operation. + + + + + Gets a value indicating whether the result is acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + The available modified count. + + + + + Gets the matched count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the modified count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the upserted id, if one exists. If IsAcknowledged is false, this will throw an exception. + + + + + Initializes a new instance of the class. + + + + + The result of an acknowledged update operation. + + + + + Initializes a new instance of the class. + + The matched count. + The modified count. + The upserted id. + + + + + + + + + + + + + + + + + + + The result of an unacknowledged update operation. + + + + + Gets the instance. + + + + + + + + + + + + + + + + + + + + Options for replacing a single document. + + + + + Creates a new ReplaceOptions from an UpdateOptions. + + The update options. + A ReplaceOptions. + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets or sets the let document. + + + + + Gets or sets the operation timeout. + + + + + Options for replacing a single document and specifying a sort order. + + + + + Gets or sets the sort definition. + + + + + Which version of the document to return when executing a FindAndModify command. + + + + + Return the document before the modification. + + + + + Return the document after the modification. + + + + + A builder for compound search definitions. + + The type of the document. + + + + Initializes a new instance of the class. + + + + + + Adds clauses which must match to produce results. + + The clauses. + The compound search definition builder. + + + + Adds clauses which must match to produce results. + + The clauses. + The compound search definition builder. + + + + Adds clauses which must not match for a document to be included in the + results. + + The clauses. + The compound search definition builder. + + + + Adds clauses which must not match for a document to be included in the + results. + + The clauses. + The compound search definition builder. + + + + Adds clauses which cause documents in the result set to be scored higher if + they match. + + The clauses. + The compound search definition builder. + + + + Adds clauses which cause documents in the result set to be scored higher if + they match. + + The clauses. + The compound search definition builder. + + + + Adds clauses which must all match for a document to be included in the + results. + + The clauses. + The compound search definition builder. + + + + Adds clauses which must all match for a document to be included in the + results. + + The clauses. + The compound search definition builder. + + + + Sets a value specifying the minimum number of should clauses the must match + to include a document in the results. + + The value to set. + The compound search definition builder. + + + + Constructs a search definition from the builder. + + A compound search definition. + + + + Performs an implicit conversion from a + to a . + + The compound search definition builder. + The result of the conversion. + + + + The relation of the query shape geometry to the indexed field geometry in a + geo shape search definition. + + + + + Indicates that the indexed geometry contains the query geometry. + + + + + Indicates that both the query and indexed geometries have nothing in common. + + + + + Indicates that both the query and indexed geometries intersect. + + + + + Indicates that the indexed geometry is within the query geometry. + + + + + Base class for area argument for GeoWithin queries. + + The type of the coordinates. + + + + Object that specifies the bottom left and top right GeoJSON points of a box to + search within. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + The bottom left GeoJSON point. + The top right GeoJSON point. + + + Gets the bottom left GeoJSON point. + + + Gets the top right GeoJSON point. + + + + Object that specifies the center point and the radius in meters to search within. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + Center of the circle specified as a GeoJSON point. + Radius specified in meters. + + + Gets the center of the circle specified as a GeoJSON point. + + + Gets the radius specified in meters. + + + + Object that specifies the GeoJson geometry to search within. + + The type of the coordinates. + + + + Initializes a new instance of the class. + + GeoJSON object specifying the MultiPolygon or Polygon. + + + Gets the GeoJson geometry. + + + + An interface representing methods used to create, delete and modify search indexes. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + An of the names of the indexes that were created. + + + + + Creates multiple indexes. + + The models defining each of the indexes. + The cancellation token. + + A Task whose result is an of the names of the indexes that were created. + + + + + Creates a search index. + + The index definition. + The index name. + The cancellation token. + + The name of the index that was created. + + + + + Creates a search index. + + The model defining the index. + The cancellation token. + + The name of the index that was created. + + + + + Creates a search index. + + The index definition. + The index name. + The cancellation token. + + The name of the index that was created. + + + + + Creates a search index. + + The model defining the index. + The cancellation token. + + A Task whose result is the name of the index that was created. + + + + + Drops an index by its name. + + The index name. + The cancellation token. + + + + Drops an index by its name. + + The index name. + The cancellation token. + A Task. + + + + Lists the search indexes. + + Name of the index. + The aggregate options. + The cancellation token. + + A cursor. + + + + + Lists the search indexes. + + Name of the index. + The aggregate options. + The cancellation token. + + A Task whose result is a cursor. + + + + + Update the search index. + + Name of the index. + The definition. + The cancellation token. + + + + Update the search index. + + Name of the index. + The definition. + The cancellation token. + A Task. + + + + Represents the criteria used to match terms in a query for the Atlas Search Text operator. + + + + + Match documents containing any of the terms from a query. + + + + + Match documents containing all the terms from a query. + + + + + Represents the scoreDetails object for a document from a $rankFusion result. + + + + + Initializes a new instance of the class. + + The computed score which is the same as the score available via {$meta: "score"}. + Description of how the score was computed. + Info about how each input pipeline in the rankFusion stage contributed to the computed score. + + + + + Gets the computed score which is the same as the score available via {$meta: "score"}. + + + + + Gets the description of how the score was computed. + + + + + Gets info about how each input pipeline in the rankFusion stage contributed to the computed score. + + + + + The order in which to search for tokens in an autocomplete search definition. + + + + + Indicates that tokens in the query can appear in any order in the documents. + + + + + Indicates that tokens in the query must appear adjacent to each other or in the order + specified in the query in the documents. + + + + + Options for counting the search results. + + + + + Gets or sets the number of documents to include in the exact count if + is . + + + + + Gets or sets the type of count of the documents in the result set. + + + + + The type of count of the documents in a search result set. + + + + + A lower bound count of the number of documents that match the query. + + + + + An exact count of the number of documents that match the query. + + + + + Base class for search definitions. + + The type of the document. + + + + Renders the search definition to a . + + The render arguments. + + A . + + + + + Performs an implicit conversion from a BSON document to a . + + The BSON document specifying the search definition. + + The result of the conversion. + + + + + Performs an implicit conversion from a string to a . + + The string specifying the search definition in JSON. + + The result of the conversion. + + + + + Extension methods for SearchDefinition. + + + + + Determines whether to use the configured serializers for the specified . + When set to true (the default value), the configured serializers will be used to serialize the values of certain Atlas Search operators, such as "Equals", "In" and "Range". + If set to false, then a default conversion will be used. + + The type of the document. + The search definition instance. + Whether to use the configured serializers or not. + The same instance with default serialization enabled. + + + + A search definition based on a BSON document. + + The type of the document. + + + + Initializes a new instance of the class. + + The BSON document specifying the search definition. + + + + Gets the BSON document. + + + + + + + + A search definition based on a JSON string. + + The type of the document. + + + + Initializes a new instance of the class. + + The JSON string specifying the search definition. + + + + Gets the JSON string. + + + + + + + + + + + A builder for a search definition. + + The type of the document. + + + + Creates a search definition that performs a search for a word or phrase that contains + a sequence of characters from an incomplete input string. + + The indexed field to search. + The query definition specifying the string or strings to search for. + The order in which to search for tokens. + The options for fuzzy search. + The score modifier. + An autocomplete search definition. + + + + Creates a search definition that performs a search for a word or phrase that contains + a sequence of characters from an incomplete search string. + + The type of the field. + The indexed field to search. + The query definition specifying the string or strings to search for. + The order in which to search for tokens. + The options for fuzzy search. + The score modifier. + An autocomplete search definition. + + + + Creates a builder for a compound search definition. + + The score modifier. + A compound search definition builder. + + + + Creates a search definition that performs a search for documents where + the specified query is satisfied from a single element + of an array of embedded documents specified by . + + The type of the field. + The indexed field to search. + The operator. + The score modifier. + + An embeddedDocument search definition. + + + + + Creates a search definition that performs a search for documents where + the specified query is satisfied from a single element + of an array of embedded documents specified by . + + The type of the field. + The indexed field to search. + The operator. + The score modifier. + + An embeddedDocument search definition. + + + + + Creates a search definition that queries for documents where an indexed field is equal + to the specified value. + Supported value types are null, boolean, numeric, ObjectId, Guid, date and string. + + The type of the field. + The indexed field to search. + The value to query for. + The score modifier. + An equality search definition. + + + + Creates a search definition that queries for documents where an indexed field is equal + to the specified value. + Supported value types are null, boolean, numeric, ObjectId, Guid, date and string. + + The type of the field. + The indexed field to search. + The value to query for. + The score modifier. + An equality search definition. + + + + Creates a search definition that queries for documents where at least one element in an indexed array field is equal + to the specified value. + Supported value types are boolean, numeric, ObjectId, date and string. + + The type of elements contained in the indexed array field. + The indexed array field to search. + The value to query for. + The score modifier. + An equality search definition. + + + + Creates a search definition that tests if a path to a specified indexed field name + exists in a document. + + The field to test for. + An existence search definition. + + + + Creates a search definition that tests if a path to a specified indexed field name + exists in a document. + + The type of the field. + The field to test for. + An existence search definition. + + + + Creates a search definition that groups results by values or ranges in the specified + faceted fields and returns the count for each of those groups. + + The operator to use to perform the facet over. + Information for bucketing the data for each facet. + A facet search definition. + + + + Creates a search definition that groups results by values or ranges in the specified + faceted fields and returns the count for each of those groups. + + The operator to use to perform the facet over. + Information for bucketing the data for each facet. + A facet search definition. + + + + Creates a search definition that queries for shapes with a given geometry. + + The type of the coordinates. + Indexed geo type field or fields to search. + + GeoJSON object specifying the Polygon, MultiPolygon, or LineString shape or point + to search. + + Relation of the query shape geometry to the indexed field geometry. + The score modifier. + A geo shape search definition. + + + + Creates a search definition that queries for shapes with a given geometry. + + The type of the coordinates. + The type of the field. + Indexed geo type field or fields to search. + + GeoJSON object specifying the Polygon, MultiPolygon, or LineString shape or point + to search. + + Relation of the query shape geometry to the indexed field geometry. + The score modifier. + A geo shape search definition. + + + + Creates a search definition that queries for geographic points within a given + geometry. + + The type of the coordinates. + Indexed geo type field or fields to search. + + GeoJSON object specifying the MultiPolygon or Polygon to search within. + + The score modifier. + A geo within search definition. + + + + Creates a search definition that queries for geographic points within a given + geometry. + + The type of the coordinates. + The type of the field. + Indexed geo type field or fields to search. + + GeoJSON object specifying the MultiPolygon or Polygon to search within. + + The score modifier. + A geo within search definition. + + + + Creates a search definition that queries for geographic points within a given geo object. + + The type of the coordinates. + The type of the field. + Indexed geo type field or fields to search. + Object that specifies the area to search within. + The score modifier. + A geo within search definition. + + + + Creates a search definition that queries for geographic points within a given geo object. + + The type of the coordinates. + Indexed geo type field or fields to search. + Object that specifies the area to search within. + The score modifier. + A geo within search definition. + + + + Creates a search definition that queries for documents where the value of the field equals to any of specified values. + + The type of the field. Valid types are: boolean, ObjectId, Guid, number, date, string. + The indexed field or fields to search. + Values to compare the field with. + The score modifier. + An In search definition. + + + + Creates a search definition that queries for documents where the value of the field equals to any of specified values. + + The type of the field. Valid types are: boolean, ObjectId, Guid, number, date, string, arrays. + The indexed field or fields to search. + Values to compare the field with. + The score modifier. + An In search definition. + + + + Creates a search definition that queries for documents where the value of the field equals to any of specified values. + + The type of the field. Valid types are: boolean, ObjectId, Guid, number, date, string, arrays. + The indexed field or fields to search. + Values to compare the field with. + The score modifier. + An In search definition. + + + + Creates a search definition that returns documents similar to the input documents. + + The type of the like documents. + + One or more documents that Atlas Search uses to extract representative terms for. + + A more like this search definition. + + + + Creates a search definition that returns documents similar to the input documents. + + The type of the like documents. + + One or more documents that Atlas Search uses to extract representative terms for. + + A more like this search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The type of the field. + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The type of the field. + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The type of the field. + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The type of the field. + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The type of the coordinates. + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to use to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that supports querying and scoring numeric and date values. + + The type of the coordinates + The type of the fields. + The indexed field or fields to search. + The number, date, or geographic point to search near. + The value to user to calculate scores of result documents. + The score modifier. + A near search definition. + + + + Creates a search definition that performs search for documents containing an ordered + sequence of terms. + + The indexed field or fields to search. + The string or strings to search for. + The allowable distance between words in the query phrase. + The score modifier. + A phrase search definition. + + + + Creates a search definition that performs search for documents containing an ordered + sequence of terms. + + The indexed field or fields to search. + The string or strings to search for. + The options. + A phrase search definition. + + + + Creates a search definition that performs search for documents containing an ordered + sequence of terms. + + The type of the field. + The indexed field or fields to search. + The string or strings to search for. + The allowable distance between words in the query phrase. + The score modifier. + A phrase search definition. + + + + Creates a search definition that performs search for documents containing an ordered + sequence of terms. + + The type of the field. + The indexed field or fields to search. + The string or strings to search for. + The options. + A phrase search definition. + + + + Creates a search definition that queries a combination of indexed fields and values. + + The indexed field to search by default. + One or more indexed fields and values to search. + The score modifier. + A query string search definition. + + + + Creates a search definition that queries a combination of indexed fields and values. + + The type of the field. + The indexed field to search by default. + One or more indexed fields and values to search. + The score modifier. + A query string search definition. + + + + Creates a search definition that queries for documents where a field is in the specified range. + + The type of the field. + The indexed field or fields to search. + The field range. + The score modifier. + A range search definition. + + + + Creates a search definition that queries for documents where a field is in the specified range. + + The type of the field. + The indexed field or fields to search. + The field range. + The score modifier. + A range search definition. + + + + Creates a search definition that queries for documents where a field is in the specified range. + + The type of the field. + The indexed field or fields to search. + The field range. + The score modifier. + A range search definition. + + + + Creates a search definition that queries for documents where a field is in the specified range. + + The type of the field. + The indexed field or fields to search. + The field range. + The score modifier. + A range search definition. + + + + Creates a search definition that queries for documents where a field is in the specified range. + + The type of the field. + The indexed field or fields to search. + The field range. + The score modifier. + A range search definition. + + + + Creates a search definition that queries for documents where a field is in the specified range. + + The type of the field. + The indexed field or fields to search. + The field range. + The score modifier. + A range search definition. + + + + Creates a search definition that interprets the query as a regular expression. + + The indexed field or fields to search. + The string or strings to search for. + + Must be set to true if the query is run against an analyzed field. + + The score modifier. + A regular expression search definition. + + + + Creates a search definition that interprets the query as a regular expression. + + The type of the field. + The indexed field or fields to search. + The string or strings to search for. + + Must be set to true if the query is run against an analyzed field. + + The score modifier. + A regular expression search definition. + + + + Creates a search definition that finds text search matches within regions of a text + field. + + The span clause. + A span search definition. + + + + Creates a search definition that performs full-text search using the analyzer specified + in the index configuration. + + The indexed field or fields to search. + The string or strings to search for. + The options. + A text search definition. + + + + Creates a search definition that performs full-text search using the analyzer specified + in the index configuration. + + The indexed field or fields to search. + The string or strings to search for. + The options for fuzzy search. + The score modifier. + A text search definition. + + + + Creates a search definition that performs full-text search with synonyms using the analyzer specified + in the index configuration. + + The indexed field or fields to search. + The string or strings to search for. + The name of the synonym mapping definition in the index definition + The score modifier. + A text search definition. + + + + Creates a search definition that performs full-text search using the analyzer specified + in the index configuration. + + The type of the field. + The indexed field or field to search. + The string or strings to search for. + The options. + A text search definition. + + + + Creates a search definition that performs full-text search using the analyzer specified + in the index configuration. + + The type of the field. + The indexed field or field to search. + The string or strings to search for. + The options for fuzzy search. + The score modifier. + A text search definition. + + + + Creates a search definition that performs full-text search with synonyms using the analyzer specified + in the index configuration. + + The type of the field. + The indexed field or field to search. + The string or strings to search for. + The name of the synonym mapping definition in the index definition + The score modifier. + A text search definition. + + + + Creates a search definition that uses special characters in the search string that can + match any character. + + The indexed field or fields to search. + The string or strings to search for. + + Must be set to true if the query is run against an analyzed field. + + The score modifier. + A wildcard search definition. + + + + Creates a search definition that uses special characters in the search string that can + match any character. + + The type of the field. + The indexed field or fields to search. + The string or strings to search for. + + Must be set to true if the query is run against an analyzed field. + + The score modifier. + A wildcard search definition. + + + + Base class for search facets. + + The type of the document. + + + + Initializes a new instance of the class. + + The name of the facet. + + + + Gets the name of the facet. + + + + + Renders the search facet to a . + + The render arguments. + A . + + + + A builder for a search facet. + + The type of the document. + + + + Creates a facet that narrows down search result based on a date. + + The name of the fact. + The field path to facet on. + + A list of date values that specify the boundaries for each bucket. + + + The name of an additional bucket that counts documents returned from the operator that + do not fall within the specified boundaries. + + A date search facet. + + + + Creates a facet that narrows down search result based on a date. + + The name of the fact. + The field path to facet on. + + A list of date values that specify the boundaries for each bucket. + + A date search facet. + + + + Creates a facet that narrows down search result based on a date. + + The type of the field. + The name of the fact. + The field path to facet on. + + A list of date values that specify the boundaries for each bucket. + + + The name of an additional bucket that counts documents returned from the operator that + do not fall within the specified boundaries. + + A date search facet. + + + + Creates a facet that narrows down search result based on a date. + + The type of the field. + The name of the fact. + The field path to facet on. + + A list of date values that specify the boundaries for each bucket. + + A date search facet. + + + + Creates a facet that determines the frequency of numeric values by breaking the search + results into separate ranges of numbers. + + The name of the facet. + The field path to facet on. + + A list of numeric values that specify the boundaries for each bucket. + + + The name of an additional bucket that counts documents returned from the operator that + do not fall within the specified boundaries. + + A number search facet. + + + + Creates a facet that determines the frequency of numeric values by breaking the search + results into separate ranges of numbers. + + The name of the facet. + The field path to facet on. + + A list of numeric values that specify the boundaries for each bucket. + + A number search facet. + + + + Creates a facet that determines the frequency of numeric values by breaking the search + results into separate ranges of numbers. + + The type of the field. + The name of the facet. + The field path to facet on. + + A list of numeric values that specify the boundaries for each bucket. + + + The name of an additional bucket that counts documents returned from the operator that + do not fall within the specified boundaries. + + A number search facet. + + + + Creates a facet that determines the frequency of numeric values by breaking the search + results into separate ranges of numbers. + + The type of the field. + The name of the facet. + The field path to facet on. + + A list of numeric values that specify the boundaries for each bucket. + + A number search facet. + + + + Creates a facet that narrows down Atlas Search results based on the most frequent + string values in the specified string field. + + The name of the facet. + The field path to facet on. + + The maximum number of facet categories to return in the results. + + A string search facet. + + + + Creates a facet that narrows down Atlas Search result based on the most frequent + string values in the specified string field. + + The type of the field. + The name of the facet. + The field path to facet on. + + The maximum number of facet categories to return in the results. + + A string search facet. + + + + Options for fuzzy search. + + + + + Gets or sets the maximum number of single-character edits required to match the + specified search term. + + + + + Gets or sets the number of variations to generate and search for. + + + + + Gets or sets the number of characters at the beginning of each term in the result that + must exactly match. + + + + + Represents a result of highlighting. + + + + + Initializes a new instance of the class. + + document field which returned a match. + Score assigned to this result. + Objects containing the matching text and the surrounding text. + + + + Gets the document field which returned a match. + + + + + Gets the score assigned to this result. + + + + + Gets one or more objects containing the matching text and the surrounding text + (if any). + + + + + Represents the matching text or the surrounding text of a highlighting result. + + + + + Initializes a new instance of the class. + + Type of search highlight. + Text from the field which returned a match. + + + + Gets or sets the type of text, matching or surrounding. + + + + + Gets the text from the field which returned a match. + + + + + Represents the type of text in a highlighting result, matching or surrounding. + + + + + Indicates that the text contains a match. + + + + + Indicates that the text contains the text content adjacent to a matching string. + + + + + Options for highlighting. + + The type of the document. + + + + Initializes a new instance of the class. + + The document field to search. + maximum number of characters to examine. + The number of high-scoring passages. + + + + Creates highlighting options. + + The document field to search. + + The maximum number of characters to examine on a document when performing highlighting + for a field. + + + The number of high-scoring passages to return per document in the highlighting results + for each field. + + Highlighting options. + + + + Gets or sets the maximum number of characters to examine on a document when performing + highlighting for a field. + + + + + Gets or sets the number of high-scoring passages to return per document in the + highlighting results for each field. + + + + + Gets or sets the document field to search. + + + + + Renders the options to a . + + The render arguments. + A . + + + + A search count result set. + + + + + Initializes a new instance of the class. + + Lower bound for this result set. + Total for this result set. + + + + Gets the lower bound for this result set. + + + + + Gets the total for this result set. + + + + + A search facet bucket result set. + + + + + Initializes a new instance of the class. + + count of documents in this facet bucket. + Unique identifier that identifies this facet bucket. + + + + Gets the count of documents in this facet bucket. + + + + + Gets the unique identifier that identifies this facet bucket. + + + + + A search facet result set. + + + + + Initializes a new instance of the class. + + An array of bucket result sets. + + + + Gets an array of bucket result sets. + + + + + A result set for a search metadata query. + + + + + Initializes a new instance of the class. + + Count result set. + Facet result sets. + + + + Gets the count result set. + + + + + Gets the facet result sets. + + + + + Options for search. + + The type of the document. + + + + Gets or sets the options for counting the search results. + + + + + Gets or sets the options for highlighting. + + + + + Gets or sets the index name. + + + + + Gets or sets a flag that specifies whether to perform a full document lookup on the backend database + or return only stored source fields directly from Atlas Search. + + + + + Gets or sets a flag that specifies whether to return a detailed breakdown + of the score for each document in the result. + + + + + Gets or sets the sort specification. + + + + + Gets or sets the options for tracking search terms. + + + + + Gets or sets the "after" reference point for pagination. + When set, the search retrieves documents starting immediately after the specified reference point. + + + + + Gets or sets the "before" reference point for pagination. + When set, the search retrieves documents starting immediately before the specified reference point. + + + + + Base class for search paths. + + The type of the document. + + + + Renders the path to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to + . + + The field. + + The result of the conversion. + + + + + Performs an implicit conversion from a field name to . + + The field name. + + The result of the conversion. + + + + + Performs an implicit conversion from an array of to + . + + The array of fields. + + The result of the conversion. + + + + + Performs an implicit conversion from a list of to + . + + The list of fields. + + The result of the conversion. + + + + + Performs an implicit conversion from an array of field names to + . + + The array of field names. + + The result of the conversion. + + + + + Performs an implicit conversion from an array of field names to + . + + The list of field names. + + The result of the conversion. + + + + + Renders the field. + + The field definition. + The render arguments. + The rendered field. + + + + A builder for a search path. + + The type of the document. + + + + Creates a search path that searches using the specified analyzer. + + The field definition + The name of the analyzer. + An analyzer search path. + + + + Creates a search path that searches using the specified analyzer. + + The type of the field. + The field definition + The name of the analyzer. + An analyzer search path. + + + + Creates a search path for multiple fields. + + The collection of field definitions. + A multi-field search path. + + + + Creates a search path for multiple fields. + + The array of field definitions. + A multi-field search path. + + + + Creates a search path for multiple fields. + + The type of the fields. + The array of field definitions. + A multi-field search path. + + + + Creates a search path for a single field. + + The field definition. + A single-field search path. + + + + Creates a search path for a single field. + + The type of the field. + The field definition. + A single-field search path. + + + + Creates a search path that uses special characters in the field name + that can match any character. + + + The wildcard string that the field name must match. + + A wildcard search path. + + + + Options for atlas search phrase operator. + + + + + The score modifier. + + + + + The allowable distance between words in the query phrase. + + + + + The name of the synonym mapping definition in the index definition. Value can't be an empty string (e.g. ""). + + + + + Base class for search queries. + + + + + Renders the query to a . + + A . + + + + Performs an implicit conversion from a string to . + + The string. + + The result of the conversion. + + + + + Performs an implicit conversion from an array of strings to . + + The array of strings. + + The result of the conversion. + + + + + Performs an implicit conversion from a list of strings to . + + The list of strings. + + The result of the conversion. + + + + + A query definition for a single string. + + + + + Initializes a new instance of the class. + + The query string. + + + + + + + A query definition for multiple strings. + + + + + Initializes a new instance of the class. + + The query strings. + + + + + + + Object that specifies range of scalar and DateTime values. + + The type of the range value. + + + Empty range. + + + + Initializes a new instance of the class. + + The lower bound of the range. + The upper bound of the range + Indicates whether the lower bound of the range is inclusive. + Indicates whether the upper bound of the range is inclusive. + + + Gets the value that indicates whether the upper bound of the range is inclusive. + + + Gets the value that indicates whether the lower bound of the range is inclusive. + + + Gets the upper bound of the range. + + + Gets the lower bound of the range. + + + + A builder for a SearchRange. + + + + + Creates a greater than search range. + + The type of the value. + The value. + Search range. + + + + Adds a greater than value to a search range. + + The type of the value. + Search range. + The value. + Search range. + + + + Creates a greater or equal than search range. + + The type of the value. + The value. + Search range. + + + + Adds a greater or equal than value to a search range. + + The type of the value. + Search range. + The value. + Search range. + + + + Creates a less than search range. + + The type of the value. + The value. + Search range. + + + + Adds a less than value to a search range. + + The type of the value. + Search range. + The value. + Search range. + + + + Creates a less than or equal search range. + + The type of the value. + The value. + search range. + + + + Adds a less than or equal value to a search range. + + The type of the value. + Search range. + The value. + search range. + + + + Object that specifies the boundaries for a range query. + + The type of the range value. + + + Empty range. + + + + Initializes a new instance of the class. + + The lower bound of the range. + The upper bound of the range. + + + Gets the upper bound of the range. + + + Gets the lower bound of the range. + + + + Represents a bound value. + + The type of the bound value. + + + + Gets the bound value. + + + + + Gets whether the bound is inclusive or not. + + + + + Initializes a new instance of the class. + + The value of the bound. + Indicates whether the bound is inclusive or not. + + + + A builder for a SearchRangeV2. + + + + + Creates a greater than search range. + + The type of the value. + The value. + Search range. + + + + Adds a greater than value to a search range. + + The type of the value. + Search range. + The value. + Search range. + + + + Creates a greater or equal than search range. + + The type of the value. + The value. + Search range. + + + + Adds a greater or equal than value to a search range. + + The type of the value. + Search range. + The value. + Search range. + + + + Creates a less than search range. + + The type of the value. + The value. + Search range. + + + + Adds a less than value to a search range. + + The type of the value. + Search range. + The value. + Search range. + + + + Creates a less than or equal search range. + + The type of the value. + The value. + search range. + + + + Adds a less than or equal value to a search range. + + The type of the value. + Search range. + The value. + search range. + + + + Base class for search score modifiers. + + The type of the document. + + + + Renders the score modifier to a . + + The render arguments. + A . + + + + A builder for a score modifier. + + The type of the document. + + + + Creates a score modifier that multiplies a result's base score by a given number. + + The number to multiply the default base score by. + + A boost score modifier. + + + + + Creates a score modifier that multiples a result's base score by the value of a numeric + field in the documents. + + + The path to the numeric field whose value to multiply the default base score by. + + + The numeric value to substitute if the numeric field is not found in the documents. + + + A boost score modifier. + + + + + Creates a score modifier that multiplies a result's base score by the value of a numeric + field in the documents. + + + The path to the numeric field whose value to multiply the default base score by. + + + The numeric value to substitute if the numeric field is not found in the documents. + + + A boost score modifier. + + + + + Creates a score modifier that replaces the base score with a given number. + + The number to replace the base score with. + + A constant score modifier. + + + + + Creates a score modifier that computes the final score through an expression. + + The expression used to compute the score. + + A function score modifier. + + + + + Represents the scoreDetails object for a document from a $search result. + + + + + Initializes a new instance of the class. + + Contribution towards the score by a subset of the scoring formula. + Subset of the scoring formula. + Breakdown of the score for each match in the document. + + + + Gets the contribution towards the score by a subset of the scoring formula. + + + + + Gets the subset of the scoring formula including details about how the document + was scored and factors considered in calculating the score. + + + + + Breakdown of the score for each match in the document based on the subset of the scoring formula. + (if any). + + + + + Base class for search score functions. + + The type of the document. + + + + Renders the score function to a . + + The render arguments. + A . + + + + A builder for a score function. + + The type of the document. + + + + Creates a function that adds a series of numbers. + + An array of expressions, which can have negative values. + An addition score function. + + + + Creates a function that adds a series of numbers. + + An array of expressions, which can have negative values. + An addition score function. + + + + Creates a function that represents a constant number. + + Number that indicates a fixed value. + A constant score function. + + + + Creates a function that decays, or reduces by multiplying, the final scores of the + documents based on the distance of a numeric field from a specified origin point. + + The path to the numeric field. + The point of origin from which to calculate the distance. + + The distance from plus or minus at + which scores must be multiplied. + + + The rate at which to multiply score values, which must be a positive number between + 0 and 1 exclusive. + + + The number of use to determine the distance from . + + A Guassian score function. + + + + Creates a function that decays, or reduces by multiplying, the final scores of the + documents based on the distance of a numeric field from a specified origin point. + + The path to the numeric field. + The point of origin from which to calculate the distance. + + The distance from plus or minus at + which scores must be multiplied. + + + The rate at which to multiply score values, which must be a positive number between + 0 and 1 exclusive. + + + The number of use to determine the distance from . + + A Guassian score function. + + + + Creates a function that calculates the base-10 logarithm of a number. + + The number. + A logarithmic score function. + + + + Creates a function that adds 1 to a number and then calculates its base-10 logarithm. + + The number. + A logarithmic score function. + + + + Creates a function that multiplies a series of numbers. + + An array of expressions, which can have negative values. + A multiplication score function. + + + + Creates a function that multiplies a series of numbers. + + An array of expressions, which can have negative values. + A mulitplication score function. + + + + Creates a function that incorporates an indexed numeric field value into the score. + + The path to the numeric field. + + The value to use if the numeric field specified using is + missing in the document. + + A path score function. + + + + Creates a function that incorporates an indexed numeric field value into the score. + + The path to the numeric field. + + The value to use if the numeric field specified using is + missing in the document. + + A path score function. + + + + Creates a function that represents the relevance score, which is the score Atlas Search + assigns documents based on relevance. + + A relevance score function. + + + + Base class for span clauses. + + + + + + Span clause type. + + + + + Initializes a new instance of the class. + + The clause type. + + + + Renders the span clause to a . + + The render arguments. + A . + + + + A builder for a span clause. + + The type of the document. + + + + Creates a span clause that matches near the beginning of the string. + + The span operator. + The highest position in which to match the query. + A first span clause. + + + + Creates a span clause that matches multiple string found near each other. + + The clauses. + The allowable distance between words in the query phrase. + Whether to require that the clauses appear in the specified order. + A near span clause. + + + + Creates a span clause that matches any of its subclauses. + + The clauses. + An or span clause. + + + + Creates a span clause that matches any of its subclauses. + + The clauses. + An or span clause. + + + + Creates a span clause that excludes certain strings from the search results. + + Clause to be included. + Clause to be excluded. + A subtract span clause. + + + + Creates a span clause that matches a single term. + + The indexed field or fields to search. + The string or strings to search for. + A term span clause. + + + + Creates a span clause that matches a single term. + + The type of the field. + The indexed field or fields to search. + The string or string to search for. + A term span clause. + + + + Options for atlas search text operator. + + + + + The options for fuzzy search. + + + + + The criteria to use to match the terms in the query. Value can be either "any" or "all". + Defaults to "all" if omitted. + + + + + The score modifier. + + + + + The name of the synonym mapping definition in the index definition. Value can't be an empty string (e.g. ""). + + + + + Options for tracking the search query. + + + + + Text or term associated with the query to track. You can specify only one term per query. + + + + + Represents an Atlas search index type. + + + + + A search index type. + + + + + A vector search index type. + + + + + A server session. + + + + + + + + + + + + + + + + + + + + + Represents server versions. + + Only major/minor versions are represented. + + + + Server version 2.6. + + + + + Server version 3.0. + + + + + Server version 3.2. + + + + + Server version 2.6. + + + + + Server version 3.6. + + + + + Server version 4.0. + + + + + Server version 4.2. + + + + + Server version 4.4. + + + + + Server version 4.7. + + + + + Server version 4.8. + + + + + Server version 4.9. + + + + + Server version 5.0. + + + + + Server version 5.1. + + + + + Server version 5.2. + + + + + Server version 5.3. + + + + + Server version 6.0. + + + + + Server version 6.1. + + + + + Server version 6.2. + + + + + Server version 6.3. + + + + + Server version 7.0. + + + + + Server version 7.1. + + + + + Server version 7.2. + + + + + Server version 7.3. + + + + + Server version 8.0. + + + + + Server version 8.1. + + + + + Server version 8.2. + + + + + Server version 8.3. + + + + + A definition of a single field to be set. + + The type of the document. + + + + Renders the SetFieldDefinition. + + The render arguments. + The rendered SetFieldDefinition. + + + + A SetFieldDefinition that uses a field and a a constant to define the field to be set. + + The type of the document. + The type of the field. + + + + Initializes an instance of ConstantSetFieldDefinition. + + The field. + The value. + + + + + + + Defines the fields to be set by a $set stage. + + The type of the document. + + + + Renders the set field definitions. + + The render arguments. + The rendered set field definitions. + + + + A subclass of SetFieldDefinitions containing a list of SetFieldDefinition instances to define the fields to be set. + + The type of the document. + + + + Initializes an instances ListSetFieldDefinitions. + + The set field definitions. + + + + Gets the list of SetFieldDefinition instances. + + + + + + + + A subclass of SetFieldDefinition that uses an Expression to define the fields to be set. + + The type of the document. + The type of object specifying the fields to set. + + + + Initializes an instance of ExpressionSetFieldDefinitions. + + The expression. + + + + + + + A builder for SetFieldDefinitions. + + The type of the document. + + + + Set a field to a value using a constant. + + The type of the field. + The field. + The value. + An instance of ListSetFieldDefinitions to which further set field definitions can be added. + + + + Set a field to a value using an expression to specify the field and a constant to specify the value. + + The type of the field. + The field. + The value. + An instance of ListSetFieldDefinitions to which further set field definitions can be added. + + + + Extension methods to add additional set field definitions to an existing instance of ListSetFieldDefinitions. + + + + + Set an additional field to value using a constant. + + The type of the document. + The type of the field. + The existing ListSetFieldDefinitions. + The field. + The value. + The ListSetFieldDefinitions instance with a SetFieldDefinition added. + + + + Set an additional field to value using an Expression to specify the field and a constant to specify the value. + + The type of the document. + The type of the field. + The existing ListSetFieldDefinitions. + The field. + The value. + The ListSetFieldDefinitions instance with a SetFieldDefinition added. + + + + Represents a setting that may or may not have been set. + + The type of the value. + + + + Gets the value of the setting. + + + + + Gets a value indicating whether the setting has been set. + + + + + Resets the setting to the unset state. + + + + + Gets a canonical string representation for this setting. + + A canonical string representation for this setting. + + + + Represents a window for a SetWindowFields window method. + + + + + The direction of the sort. + + + + + Ascending. + + + + + Descending. + + + + + Base class for sorts. + + The type of the document. + + + + Renders the sort to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + A based sort. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + + + + A JSON based sort. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + + + + An based sort. + + The type of the document. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + + + + Extension methods for SortDefinition. + + + + + Combines an existing sort with an ascending field. + + The type of the document. + The sort. + The field. + + A combined sort. + + + + + Combines an existing sort with an ascending field. + + The type of the document. + The sort. + The field. + + A combined sort. + + + + + Combines an existing sort with an descending field. + + The type of the document. + The sort. + The field. + + A combined sort. + + + + + Combines an existing sort with an descending field. + + The type of the document. + The sort. + The field. + + A combined sort. + + + + + Creates a descending sort on the computed relevance score of atlas search. + + A meta search score sort. + + + + Creates a ascending sort on the computed relevance score of atlas search. + + A meta search score sort. + + + + Combines an existing sort with a descending sort on the computed relevance score of a text search. + The field name should be the name of the projected relevance score field. + + The type of the document. + The sort. + The field. + + A combined sort. + + + + + A builder for a . + + The type of the document. + + + + Creates an ascending sort on a value rather than on a field of a document. For example, "$sort : 1". + This is used when sorting primitive values like strings or numbers, but can also be used to sort whole documents. + + A value ascending sort. + + + + Creates an ascending sort based on a specific field within the document. For example, "$sort : { field : 1 }". + This is used when values are documents, and you want to sort by a particular field's value. + + The field. + An ascending sort. + + + + Creates an ascending sort based on a specific field within the document. For example, "$sort : { field : 1 }". + This is used when values are documents, and you want to sort by a particular field's value. + + The field. + An ascending sort. + + + + Creates a combined sort. + + The sorts. + A combined sort. + + + + Creates a combined sort. + + The sorts. + A combined sort. + + + + Creates a descending sort on a value rather than on a field of a document. For example, "$sort : -1". + This is used when sorting primitive values like strings or numbers, but can also be used to sort whole documents. + + A value descending sort. + + + + Creates a descending sort based on a specific field within the document. For example, "$sort: { field: -1 }". + This is used when values are documents, and you want to sort by a particular field's value. + + The field. + A descending sort. + + + + Creates a descending sort based on a specific field within the document. For example, "$sort: { field: -1 }". + This is used when values are documents, and you want to sort by a particular field's value. + + The field. + A descending sort. + + + + Creates a descending sort on the computed relevance score of atlas search. + + A meta search score sort. + + + + Creates a ascending sort on the computed relevance score of atlas search. + + A meta search score sort. + + + + Creates a descending sort on the computed relevance score of a text search. + The name of the key should be the name of the projected relevance score field. + + The field. + A meta text score sort. + + + + Represents the settings for using SSL. + + + + + Gets or sets a value indicating whether to check for certificate revocation. + + + + + Gets or sets the client certificates. + + + + + Gets or sets the client certificate selection callback. + + + + + Gets or sets the enabled SSL protocols. + + + + + Gets or sets the server certificate validation callback. + + + + + Gets the client certificate collection. + + + + + Determines whether two instances are equal. + + The LHS. + The RHS. + + true if the left hand side is equal to the right hand side; otherwise, false. + + + + + Determines whether two instances are not equal. + + The LHS. + The RHS. + + true if the left hand side is not equal to the right hand side; otherwise, false. + + + + + Clones an SslSettings. + + The cloned SslSettings. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Freezes the settings. + + The frozen settings. + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a string representation of the settings. + + A string representation of the settings. + + + + Represents a value that is either a string or a BsonRegularExpression. + + + + + Implicit conversion from string to StringOrRegularExpression. + + A StringOrRegularExpression. + A StringOrRegularExpression. + + + + Implicit conversion from BsonRegularExpression to StringOrRegularExpression. + + A StringOrRegularExpression. + A StringOrRegularExpression. + + + + Implicit conversion from Regex to StringOrRegularExpression. + + A StringOrRegularExpression. + A StringOrRegularExpression. + + + + Initializes an instance of a StringOrRegularExpression. + + A string value. + + + + Initializes an instance of a StringOrRegularExpression. + + A BsonRegularExpression value. + + + + Gets the BsonRegularExpression value (returns null if value is not a BsonRegularExpression). + + + + + Gets the string value (returns null if value is not a string). + + + + + Gets the type of the value. + + + + + Represents text search options. + + + + + Gets or sets whether a text search should be case sensitive. + + + + + Gets or sets whether a text search should be diacritic sensitive. + + + + + Gets or sets the language for a text search. + + + + + Base class for updates. + + The type of the document. + + + + Renders the update to a . + + The render arguments. + A . + + + + Performs an implicit conversion from to . + + The document. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The JSON string. + + The result of the conversion. + + + + + Performs an implicit conversion from to . + + The pipeline. + + The result of the conversion. + + + + + A based update definition. + + The type of the document. + + + + Initializes a new instance of the class. + + The pipeline. + + + + Gets the pipeline. + + + + + + + + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The input serializer. + The serializer registry. + The translation options. + + A that represents this instance. + + + + + A based update. + + The type of the document. + + + + Initializes a new instance of the class. + + The document. + + + + Gets the document. + + + + + + + + A JSON based update. + + The type of the document. + + + + Initializes a new instance of the class. + + The json. + + + + Gets the json. + + + + + + + + An based update. + + The type of the document. + + + + Initializes a new instance of the class. + + The object. + + + + Gets the object. + + + + + + + + Extension methods for UpdateDefinition. + + + + + Combines an existing update with an add to set operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with an add to set operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with an add to set operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + + A combined update. + + + + + Combines an existing update with an add to set operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + + A combined update. + + + + + Combines an existing update with a bitwise and operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a bitwise and operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a bitwise or operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a bitwise or operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a bitwise xor operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a bitwise xor operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a current date operator. + + The type of the document. + The update. + The field. + The type. + + A combined update. + + + + + Combines an existing update with a current date operator. + + The type of the document. + The update. + The field. + The type. + + A combined update. + + + + + Combines an existing update with an increment operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with an increment operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a max operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a max operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a min operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a min operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a multiply operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a multiply operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + Combines an existing update with a pop operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The filter. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The filter. + + A combined update. + + + + + Combines an existing update with a pull operator. + + The type of the document. + The type of the item. + The update. + The field. + The filter. + + A combined update. + + + + + Combines an existing update with a push operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a push operator. + + The type of the document. + The type of the item. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a push operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + The slice. + The position. + The sort. + + A combined update. + + + + + Combines an existing update with a push operator. + + The type of the document. + The type of the item. + The update. + The field. + The values. + The slice. + The position. + The sort. + + A combined update. + + + + + Combines an existing update with a field renaming operator. + + The type of the document. + The update. + The field. + The new name. + + A combined update. + + + + + Combines an existing update with a field renaming operator. + + The type of the document. + The update. + The field. + The new name. + + A combined update. + + + + + Combines an existing update with a set operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a set operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a set on insert operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with a set on insert operator. + + The type of the document. + The type of the field. + The update. + The field. + The value. + + A combined update. + + + + + Combines an existing update with an unset operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + Combines an existing update with an unset operator. + + The type of the document. + The update. + The field. + + A combined update. + + + + + The type to use for a $currentDate operator. + + + + + A date. + + + + + A timestamp. + + + + + A builder for an . + + The type of the document. + + + + Creates an add to set operator. + + The type of the item. + The field. + The value. + An add to set operator. + + + + Creates an add to set operator. + + The type of the item. + The field. + The value. + An add to set operator. + + + + Creates an add to set operator. + + The type of the item. + The field. + The values. + An add to set operator. + + + + Creates an add to set operator. + + The type of the item. + The field. + The values. + An add to set operator. + + + + Creates a bitwise and operator. + + The type of the field. + The field. + The value. + A bitwise and operator. + + + + Creates a bitwise and operator. + + The type of the field. + The field. + The value. + A bitwise and operator. + + + + Creates a bitwise or operator. + + The type of the field. + The field. + The value. + A bitwise or operator. + + + + Creates a bitwise or operator. + + The type of the field. + The field. + The value. + A bitwise or operator. + + + + Creates a bitwise xor operator. + + The type of the field. + The field. + The value. + A bitwise xor operator. + + + + Creates a bitwise xor operator. + + The type of the field. + The field. + The value. + A bitwise xor operator. + + + + Creates a combined update. + + The updates. + A combined update. + + + + Creates a combined update. + + The updates. + A combined update. + + + + Creates a current date operator. + + The field. + The type. + A current date operator. + + + + Creates a current date operator. + + The field. + The type. + A current date operator. + + + + Creates an increment operator. + + The type of the field. + The field. + The value. + An increment operator. + + + + Creates an increment operator. + + The type of the field. + The field. + The value. + An increment operator. + + + + Creates a max operator. + + The type of the field. + The field. + The value. + A max operator. + + + + Creates a max operator. + + The type of the field. + The field. + The value. + A max operator. + + + + Creates a min operator. + + The type of the field. + The field. + The value. + A min operator. + + + + Creates a min operator. + + The type of the field. + The field. + The value. + A min operator. + + + + Creates a multiply operator. + + The type of the field. + The field. + The value. + A multiply operator. + + + + Creates a multiply operator. + + The type of the field. + The field. + The value. + A multiply operator. + + + + Creates an update pipeline. + + The pipeline. + An update pipeline. + + + + Creates a pop operator. + + The field. + A pop operator. + + + + Creates a pop first operator. + + The field. + A pop first operator. + + + + Creates a pop operator. + + The field. + A pop operator. + + + + Creates a pop first operator. + + The field. + A pop last operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The value. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The value. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The values. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The values. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The filter. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The filter. + A pull operator. + + + + Creates a pull operator. + + The type of the item. + The field. + The filter. + A pull operator. + + + + Creates a push operator. + + The type of the item. + The field. + The value. + A push operator. + + + + Creates a push operator. + + The type of the item. + The field. + The value. + A push operator. + + + + Creates a push operator. + + The type of the item. + The field. + The values. + The slice. + The position. + The sort. + A push operator. + + + + Creates a push operator. + + The type of the item. + The field. + The values. + The slice. + The position. + The sort. + A push operator. + + + + Creates a field renaming operator. + + The field. + The new name. + A field rename operator. + + + + Creates a field renaming operator. + + The field. + The new name. + A field rename operator. + + + + Creates a set operator. + + The type of the field. + The field. + The value. + A set operator. + + + + Creates a set operator. + + The type of the field. + The field. + The value. + A set operator. + + + + Creates a set on insert operator. + + The type of the field. + The field. + The value. + A set on insert operator. + + + + Creates a set on insert operator. + + The type of the field. + The field. + The value. + A set on insert operator. + + + + Creates an unset operator. + + The field. + An unset operator. + + + + Creates an unset operator. + + The field. + An unset operator. + + + + Model for updating many documents. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + The update. + + + + Gets or sets the array filters. + + + The array filters. + + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets the hint. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets the update. + + + + + + + + + + + Model for updating a single document. + + The type of the document. + + + + Initializes a new instance of the class. + + The filter. + The update. + + + + Gets or sets the array filters. + + + The array filters. + + + + + Gets or sets the collation. + + + + + Gets the filter. + + + + + Gets or sets the hint. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets or sets the sort definition. + + + + + Gets the update. + + + + + + + + + + + Options for updating a single document. + + + + + Gets or sets the array filters. + + + The array filters. + + + + + Gets or sets a value indicating whether to bypass document validation. + + + + + Gets or sets the collation. + + + + + Gets or sets the comment. + + + + + Gets or sets the hint. + + + + + Gets or sets a value indicating whether to insert the document if it doesn't already exist. + + + + + Gets or sets the let document. + + + + + Gets or sets the operation timeout. + + + + + Options for updating a single document and specifying a sort order. + + + + + Gets or sets the sort definition. + + + + + The result of an update operation. + + + + + Gets a value indicating whether the result is acknowledged. + + + + + Gets a value indicating whether the modified count is available. + + + The available modified count. + + + + + Gets the matched count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the modified count. If IsAcknowledged is false, this will throw an exception. + + + + + Gets the upserted id, if one exists. If IsAcknowledged is false, this will throw an exception. + + + + + Initializes a new instance of the class. + + + + + The result of an acknowledged update operation. + + + + + Initializes a new instance of the class. + + The matched count. + The modified count. + The upserted id. + + + + + + + + + + + + + + + + + + + The result of an acknowledged update operation. + + + + + Gets the instance. + + + + + + + + + + + + + + + + + + + + Vector search options. + + The type of the document. + + + + Gets or sets the filter. + + + + + Gets or sets the name of the index. + + + + + Gets or sets the number of candidates. + + + + + Get or sets a value indicating if exact nearest neighbor (ENN) is to be used, false by default. + If false, approximate nearest neighbor (ANN) is used. + + + + + Represents the details of a write concern error. + + + + + Gets the error code. + + + + + Gets the name of the error code. + + + The name of the error code. + + + + + Gets the error information. + + + + + Gets the error labels. + + + + + Gets the error message. + + + + + + + + Represents the details of a write error. + + + + + Gets the category. + + + + + Gets the error code. + + + + + Gets the error details. + + + + + Gets the error message. + + + + + + + + Base class for a write model. + + The type of the document. + + + + Gets the type of the model. + + + + + Validate model. + + + + + The type of a write model. + + + + + A model to insert a single document. + + + + + A model to delete a single document. + + + + + A model to delete multiple documents. + + + + + A model to replace a single document. + + + + + A model to update a single document. + + + + + A model to update many documents. + + + + diff --git a/local-nugets/mongodb.driver/3.5.0/mongodb.driver.3.5.0.nupkg b/local-nugets/mongodb.driver/3.5.0/mongodb.driver.3.5.0.nupkg new file mode 100644 index 000000000..5ece44f64 Binary files /dev/null and b/local-nugets/mongodb.driver/3.5.0/mongodb.driver.3.5.0.nupkg differ diff --git a/local-nugets/mongodb.driver/3.5.0/mongodb.driver.3.5.0.nupkg.sha512 b/local-nugets/mongodb.driver/3.5.0/mongodb.driver.3.5.0.nupkg.sha512 new file mode 100644 index 000000000..29a94f0e5 --- /dev/null +++ b/local-nugets/mongodb.driver/3.5.0/mongodb.driver.3.5.0.nupkg.sha512 @@ -0,0 +1 @@ +mIjRtk6iqTuCYd/oX73RUf4DYHsCYc7RjJIehMuQgTWwQbLnBXCSUyETSEToVQLOMpYp1mgSALYmFkwLeYWO9Q== \ No newline at end of file diff --git a/local-nugets/mongodb.driver/3.5.0/packageIcon.png b/local-nugets/mongodb.driver/3.5.0/packageIcon.png new file mode 100644 index 000000000..e55bc6a1c Binary files /dev/null and b/local-nugets/mongodb.driver/3.5.0/packageIcon.png differ diff --git a/local-nugets/nuget.versioning/6.9.1/.nupkg.metadata b/local-nugets/nuget.versioning/6.9.1/.nupkg.metadata new file mode 100644 index 000000000..87e7b6459 --- /dev/null +++ b/local-nugets/nuget.versioning/6.9.1/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "ypnSvEtpNGo48bAWn95J1oHChycCXcevFSbn53fqzLxlXFSZP7dawu8p/7mHAfGufZQSV2sBpW80XQGIfXO8kQ==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/local-nugets/nuget.versioning/6.9.1/.signature.p7s b/local-nugets/nuget.versioning/6.9.1/.signature.p7s new file mode 100644 index 000000000..11f867c1f Binary files /dev/null and b/local-nugets/nuget.versioning/6.9.1/.signature.p7s differ diff --git a/local-nugets/nuget.versioning/6.9.1/NuGet.Versioning.nuspec b/local-nugets/nuget.versioning/6.9.1/NuGet.Versioning.nuspec new file mode 100644 index 000000000..7ba06afbc --- /dev/null +++ b/local-nugets/nuget.versioning/6.9.1/NuGet.Versioning.nuspec @@ -0,0 +1,23 @@ + + + + NuGet.Versioning + 6.9.1 + Microsoft + true + Apache-2.0 + https://licenses.nuget.org/Apache-2.0 + icon.png + README.md + https://aka.ms/nugetprj + NuGet's implementation of Semantic Versioning. + © Microsoft Corporation. All rights reserved. + semver semantic versioning + true + + + + + + + \ No newline at end of file diff --git a/local-nugets/nuget.versioning/6.9.1/README.md b/local-nugets/nuget.versioning/6.9.1/README.md new file mode 100644 index 000000000..cb4dabe72 --- /dev/null +++ b/local-nugets/nuget.versioning/6.9.1/README.md @@ -0,0 +1 @@ +NuGet's implementation of Semantic Versioning. diff --git a/local-nugets/nuget.versioning/6.9.1/icon.png b/local-nugets/nuget.versioning/6.9.1/icon.png new file mode 100644 index 000000000..ade21ebd9 Binary files /dev/null and b/local-nugets/nuget.versioning/6.9.1/icon.png differ diff --git a/local-nugets/nuget.versioning/6.9.1/nuget.versioning.6.9.1.nupkg b/local-nugets/nuget.versioning/6.9.1/nuget.versioning.6.9.1.nupkg new file mode 100644 index 000000000..6073bb517 Binary files /dev/null and b/local-nugets/nuget.versioning/6.9.1/nuget.versioning.6.9.1.nupkg differ diff --git a/local-nugets/nuget.versioning/6.9.1/nuget.versioning.6.9.1.nupkg.sha512 b/local-nugets/nuget.versioning/6.9.1/nuget.versioning.6.9.1.nupkg.sha512 new file mode 100644 index 000000000..a28317f2c --- /dev/null +++ b/local-nugets/nuget.versioning/6.9.1/nuget.versioning.6.9.1.nupkg.sha512 @@ -0,0 +1 @@ +wmE9WvXY9N9tWH3zPTOU3Ct+IpJST7Qtf6ZXaw6DEgLS8gYJ/Q773R/tFT/jGIHb6kJQWoi5vStIqioIoZLtUg== \ No newline at end of file diff --git a/local-nugets/sharpcompress/0.41.0/.nupkg.metadata b/local-nugets/sharpcompress/0.41.0/.nupkg.metadata new file mode 100644 index 000000000..0d02332ec --- /dev/null +++ b/local-nugets/sharpcompress/0.41.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "z04dBVdTIAFTRKi38f0LkajaKA++bR+M8kYCbasXePILD2H+qs7CkLpyiippB24CSbTrWIgpBKm6BenZqkUwvw==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/local-nugets/sharpcompress/0.41.0/.signature.p7s b/local-nugets/sharpcompress/0.41.0/.signature.p7s new file mode 100644 index 000000000..7e02597dd Binary files /dev/null and b/local-nugets/sharpcompress/0.41.0/.signature.p7s differ diff --git a/local-nugets/sharpcompress/0.41.0/README.md b/local-nugets/sharpcompress/0.41.0/README.md new file mode 100644 index 000000000..f27dbe609 --- /dev/null +++ b/local-nugets/sharpcompress/0.41.0/README.md @@ -0,0 +1,202 @@ +# SharpCompress + +SharpCompress is a compression library in pure C# for .NET Framework 4.62, .NET Standard 2.1, .NET 6.0 and NET 8.0 that can unrar, un7zip, unzip, untar unbzip2, ungzip, unlzip, unzstd with forward-only reading and file random access APIs. Write support for zip/tar/bzip2/gzip/lzip are implemented. + +The major feature is support for non-seekable streams so large files can be processed on the fly (i.e. download stream). + +GitHub Actions Build - +[![SharpCompress](https://github.com/adamhathcock/sharpcompress/actions/workflows/dotnetcore.yml/badge.svg)](https://github.com/adamhathcock/sharpcompress/actions/workflows/dotnetcore.yml) +[![Static Badge](https://img.shields.io/badge/API%20Docs-DNDocs-190088?logo=readme&logoColor=white)](https://dndocs.com/d/sharpcompress/api/index.html) + +## Need Help? + +Post Issues on Github! + +Check the [Supported Formats](FORMATS.md) and [Basic Usage.](USAGE.md) + +## Recommended Formats + +In general, I recommend GZip (Deflate)/BZip2 (BZip)/LZip (LZMA) as the simplicity of the formats lend to better long term archival as well as the streamability. Tar is often used in conjunction for multiple files in a single archive (e.g. `.tar.gz`) + +Zip is okay, but it's a very hap-hazard format and the variation in headers and implementations makes it hard to get correct. Uses Deflate by default but supports a lot of compression methods. + +RAR is not recommended as it's a proprietary format and the compression is closed source. Use Tar/LZip for LZMA + +7Zip and XZ both are overly complicated. 7Zip does not support streamable formats. XZ has known holes explained here: (http://www.nongnu.org/lzip/xz_inadequate.html) Use Tar/LZip for LZMA compression instead. + +ZStandard is an efficient format that works well for streaming with a flexible compression level to tweak the speed/performance trade off you are looking for. We currently only implement decompression for ZStandard but as we leverage the [ZstdSharp](https://github.com/oleg-st/ZstdSharp) library one could likely add compression support without much trouble (PRs are welcome!). + +## A Simple Request + +Hi everyone. I hope you're using SharpCompress and finding it useful. Please give me feedback on what you'd like to see changed especially as far as usability goes. New feature suggestions are always welcome as well. I would also like to know what projects SharpCompress is being used in. I like seeing how it is used to give me ideas for future versions. Thanks! + +Please do not email me directly to ask for help. If you think there is a real issue, please report it here. + +## Want to contribute? + +I'm always looking for help or ideas. Please submit code or email with ideas. Unfortunately, just letting me know you'd like to help is not enough because I really have no overall plan of what needs to be done. I'll definitely accept code submissions and add you as a member of the project! + +## TODOs (always lots) + +* RAR 5 decryption crc check support +* 7Zip writing +* Zip64 (Need writing and extend Reading) +* Multi-volume Zip support. +* ZStandard writing + +## Version Log + +* [Releases](https://github.com/adamhathcock/sharpcompress/releases) + +### Version 0.18 + +* [Now on Github releases](https://github.com/adamhathcock/sharpcompress/releases/tag/0.18) + +### Version 0.17.1 + +* Fix - [Bug Fix for .NET Core on Windows](https://github.com/adamhathcock/sharpcompress/pull/257) + +### Version 0.17.0 + +* New - Full LZip support! Can read and write LZip files and Tars inside LZip files. [Make LZip a first class citizen. #241](https://github.com/adamhathcock/sharpcompress/issues/241) +* New - XZ read support! Can read XZ files and Tars inside XZ files. [XZ in SharpCompress #91](https://github.com/adamhathcock/sharpcompress/issues/94) +* Fix - [Regression - zip file writing on seekable streams always assumed stream start was 0. Introduced with Zip64 writing.](https://github.com/adamhathcock/sharpcompress/issues/244) +* Fix - [Zip files with post-data descriptors can be properly skipped via decompression](https://github.com/adamhathcock/sharpcompress/issues/162) + +### Version 0.16.2 + +* Fix [.NET 3.5 should support files and cryptography (was a regression from 0.16.0)](https://github.com/adamhathcock/sharpcompress/pull/251) +* Fix [Zip per entry compression customization wrote the wrong method into the zip archive](https://github.com/adamhathcock/sharpcompress/pull/249) + +### Version 0.16.1 + +* Fix [Preserve compression method when getting a compressed stream](https://github.com/adamhathcock/sharpcompress/pull/235) +* Fix [RAR entry key normalization fix](https://github.com/adamhathcock/sharpcompress/issues/201) + +### Version 0.16.0 + +* Breaking - [Progress Event Tracking rethink](https://github.com/adamhathcock/sharpcompress/pull/226) +* Update to VS2017 - [VS2017](https://github.com/adamhathcock/sharpcompress/pull/231) - Framework targets have been changed. +* New - [Add Zip64 writing](https://github.com/adamhathcock/sharpcompress/pull/211) +* [Fix invalid/mismatching Zip version flags.](https://github.com/adamhathcock/sharpcompress/issues/164) - This allows nuget/System.IO.Packaging to read zip files generated by SharpCompress +* [Fix 7Zip directory hiding](https://github.com/adamhathcock/sharpcompress/pull/215/files) +* [Verify RAR CRC headers](https://github.com/adamhathcock/sharpcompress/pull/220) + +### Version 0.15.2 + +* [Fix invalid headers](https://github.com/adamhathcock/sharpcompress/pull/210) - fixes an issue creating large-ish zip archives that was introduced with zip64 reading. + +### Version 0.15.1 + +* [Zip64 extending information and ZipReader](https://github.com/adamhathcock/sharpcompress/pull/206) + +### Version 0.15.0 + +* [Add zip64 support for ZipArchive extraction](https://github.com/adamhathcock/sharpcompress/pull/205) + +### Version 0.14.1 + +* [.NET Assemblies aren't strong named](https://github.com/adamhathcock/sharpcompress/issues/158) +* [Pkware encryption for Zip files didn't allow for multiple reads of an entry](https://github.com/adamhathcock/sharpcompress/issues/197) +* [GZip Entry couldn't be read multiple times](https://github.com/adamhathcock/sharpcompress/issues/198) + +### Version 0.14.0 + +* [Support for LZip reading in for Tars](https://github.com/adamhathcock/sharpcompress/pull/191) + +### Version 0.13.1 + +* [Fix null password on ReaderFactory. Fix null options on SevenZipArchive](https://github.com/adamhathcock/sharpcompress/pull/188) +* [Make PpmdProperties lazy to avoid unnecessary allocations.](https://github.com/adamhathcock/sharpcompress/pull/185) + +### Version 0.13.0 + +* Breaking change: Big refactor of Options on API. +* 7Zip supports Deflate + +### Version 0.12.4 + +* Forward only zip issue fix https://github.com/adamhathcock/sharpcompress/issues/160 +* Try to fix frameworks again by copying targets from JSON.NET + +### Version 0.12.3 + +* 7Zip fixes https://github.com/adamhathcock/sharpcompress/issues/73 +* Maybe all profiles will work with project.json now + +### Version 0.12.2 + +* Support Profile 259 again + +### Version 0.12.1 + +* Support Silverlight 5 + +### Version 0.12.0 + +* .NET Core RTM! +* Bug fix for Tar long paths + +### Version 0.11.6 + +* Bug fix for global header in Tar +* Writers now have a leaveOpen `bool` overload. They won't close streams if not-requested to. + +### Version 0.11.5 + +* Bug fix in Skip method + +### Version 0.11.4 + +* SharpCompress is now endian neutral (matters for Mono platforms) +* Fix for Inflate (need to change implementation) +* Fixes for RAR detection + +### Version 0.11.1 + +* Added Cancel on IReader +* Removed .NET 2.0 support and LinqBridge dependency + +### Version 0.11 + +* Been over a year, contains mainly fixes from contributors! +* Possible breaking change: ArchiveEncoding is UTF8 by default now. +* TAR supports writing long names using longlink +* RAR Protect Header added + +### Version 0.10.3 + +* Finally fixed Disposal issue when creating a new archive with the Archive API + +### Version 0.10.2 + +* Fixed Rar Header reading for invalid extended time headers. +* Windows Store assembly is now strong named +* Known issues with Long Tar names being worked on +* Updated to VS2013 +* Portable targets SL5 and Windows Phone 8 (up from SL4 and WP7) + +### Version 0.10.1 + +* Fixed 7Zip extraction performance problem + +### Version 0.10: + +* Added support for RAR Decryption (thanks to https://github.com/hrasyid) +* Embedded some BouncyCastle crypto classes to allow RAR Decryption and Winzip AES Decryption in Portable and Windows Store DLLs +* Built in Release (I think) + +XZ implementation based on: https://github.com/sambott/XZ.NET by @sambott + +XZ BCJ filters support contributed by Louis-Michel Bergeron, on behalf of aDolus Technology Inc. - 2022 + +7Zip implementation based on: https://code.google.com/p/managed-lzma/ + +LICENSE +Copyright (c) 2000 - 2011 The Legion Of The Bouncy Castle (http://www.bouncycastle.org) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/local-nugets/sharpcompress/0.41.0/SharpCompress.nuspec b/local-nugets/sharpcompress/0.41.0/SharpCompress.nuspec new file mode 100644 index 000000000..25c9bb678 --- /dev/null +++ b/local-nugets/sharpcompress/0.41.0/SharpCompress.nuspec @@ -0,0 +1,41 @@ + + + + SharpCompress + 0.41.0 + Adam Hathcock + MIT + https://licenses.nuget.org/MIT + README.md + https://github.com/adamhathcock/sharpcompress + SharpCompress is a compression library for NET Standard 2.0/NET 4.8/NET 4.8.1/NET 6.0/NET 8.0 that can unrar, decompress 7zip, decompress xz, zip/unzip, tar/untar lzip/unlzip, bzip2/unbzip2 and gzip/ungzip with forward-only reading and file random access APIs. Write support for zip/tar/bzip2/gzip is implemented. + Copyright (c) 2025 Adam Hathcock + rar unrar zip unzip bzip2 gzip tar 7zip lzip xz + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nugets/sharpcompress/0.41.0/sharpcompress.0.41.0.nupkg b/local-nugets/sharpcompress/0.41.0/sharpcompress.0.41.0.nupkg new file mode 100644 index 000000000..41e44dfe7 Binary files /dev/null and b/local-nugets/sharpcompress/0.41.0/sharpcompress.0.41.0.nupkg differ diff --git a/local-nugets/sharpcompress/0.41.0/sharpcompress.0.41.0.nupkg.sha512 b/local-nugets/sharpcompress/0.41.0/sharpcompress.0.41.0.nupkg.sha512 new file mode 100644 index 000000000..52f935911 --- /dev/null +++ b/local-nugets/sharpcompress/0.41.0/sharpcompress.0.41.0.nupkg.sha512 @@ -0,0 +1 @@ +ojIqDcxU0d5cyT8IXj9EQqT8mgmcFdRZv9BCrgO7Dd/vDicnjsnQx1s3IoRrYkhozF0V3R8m5t9AK3M8bhgP1A== \ No newline at end of file diff --git a/local-nugets/snappier/1.0.0/.nupkg.metadata b/local-nugets/snappier/1.0.0/.nupkg.metadata new file mode 100644 index 000000000..25eefd9e7 --- /dev/null +++ b/local-nugets/snappier/1.0.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "rFtK2KEI9hIe8gtx3a0YDXdHOpedIf9wYCEYtBEmtlyiWVX3XlCNV03JrmmAi/Cdfn7dxK+k0sjjcLv4fpHnqA==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/local-nugets/snappier/1.0.0/.signature.p7s b/local-nugets/snappier/1.0.0/.signature.p7s new file mode 100644 index 000000000..673382c11 Binary files /dev/null and b/local-nugets/snappier/1.0.0/.signature.p7s differ diff --git a/local-nugets/snappier/1.0.0/COPYING.txt b/local-nugets/snappier/1.0.0/COPYING.txt new file mode 100644 index 000000000..2a50e5bb1 --- /dev/null +++ b/local-nugets/snappier/1.0.0/COPYING.txt @@ -0,0 +1,54 @@ +Copyright 2011-2020, Snappier Authors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +=== + +Some of the benchmark data in testdata/ is licensed differently: + + - fireworks.jpeg is Copyright 2013 Steinar H. Gunderson, and + is licensed under the Creative Commons Attribution 3.0 license + (CC-BY-3.0). See https://creativecommons.org/licenses/by/3.0/ + for more information. + + - kppkn.gtb is taken from the Gaviota chess tablebase set, and + is licensed under the MIT License. See + https://sites.google.com/site/gaviotachessengine/Home/endgame-tablebases-1 + for more information. + + - paper-100k.pdf is an excerpt (bytes 92160 to 194560) from the paper + “Combinatorial Modeling of Chromatin Features Quantitatively Predicts DNA + Replication Timing in _Drosophila_” by Federico Comoglio and Renato Paro, + which is licensed under the CC-BY license. See + http://www.ploscompbiol.org/static/license for more ifnormation. + + - alice29.txt, asyoulik.txt, plrabn12.txt and lcet10.txt are from Project + Gutenberg. The first three have expired copyrights and are in the public + domain; the latter does not have expired copyright, but is still in the + public domain according to the license information + (http://www.gutenberg.org/ebooks/53). diff --git a/local-nugets/snappier/1.0.0/Snappier.nuspec b/local-nugets/snappier/1.0.0/Snappier.nuspec new file mode 100644 index 000000000..626b5be22 --- /dev/null +++ b/local-nugets/snappier/1.0.0/Snappier.nuspec @@ -0,0 +1,32 @@ + + + + Snappier + 1.0.0 + btburnett3 + false + COPYING.txt + https://aka.ms/deprecateLicenseUrl + A near-C++ performance implementation of the Snappy compression algorithm for .NET. Snappier is ported to C# directly + from the official C++ implementation, with the addition of support for the framed stream format. + + By avoiding P/Invoke, Snappier is fully cross-platform and works on both Linux and Windows and against any CPU supported + by .NET Core. However, Snappier performs best in .NET Core 3.0 and later on little-endian x86/64 processors with the + help of System.Runtime.Instrinsics. + Copyright 2011, Google Inc. All rights reserved. + snappy compression fast io + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nugets/snappier/1.0.0/lib/net5.0/Snappier.xml b/local-nugets/snappier/1.0.0/lib/net5.0/Snappier.xml new file mode 100644 index 000000000..8ccdb96cf --- /dev/null +++ b/local-nugets/snappier/1.0.0/lib/net5.0/Snappier.xml @@ -0,0 +1,400 @@ + + + + Snappier + + + + + Data stored per entry in lookup table: + Range Bits-used Description + ------------------------------------ + 1..64 0..7 Literal/copy length encoded in opcode byte + 0..7 8..10 Copy offset encoded in opcode byte / 256 + 0..4 11..13 Extra bytes after opcode + + We use eight bits for the length even though 7 would have sufficed + because of efficiency reasons: + (1) Extracting a byte is faster than a bit-field + (2) It properly aligns copy offset so we do not need a <<8 + + + + + This is a table of shuffle control masks that can be used as the source + operand for PSHUFB to permute the contents of the destination XMM register + into a repeating byte pattern. + + + + + j * (16 / j) for all j from 0 to 7. 0 is not actually used. + + + + + Copy [src, src+(opEnd-op)) to [op, (opEnd-op)) but faster than + IncrementalCopySlow. buf_limit is the address past the end of the writable + region of the buffer. May write past opEnd, but won't write past bufferEnd. + + Pointer to the source point in the buffer. + Pointer to the destination point in the buffer. + Pointer to the end of the area to write in the buffer. + Pointer past the end of the buffer. + Fixed pointer to . + + Fixing the PshufbFillPatterns array for use in the SSSE3 optimized route is expensive, so we + do that in the outer loop in and pass the pointer + to this method. This makes the logic a bit more confusing, but is a significant performance boost. + + + + + A fake owner wrapping an empty . + + + + + + + + + + + Return floor(log2(n)) for positive integer n. Returns -1 iff n == 0. + + + + + Return floor(log2(n)) for positive integer n. + + + + + Finds the index of the least significant non-zero bit. + + + + + Wraps an inner to have a shorter length. + + + + + + + + + + + Find the largest n such that + + s1[0,n-1] == s2[0,n-1] + and n <= (s2_limit - s2). + + Return (n, n < 8). + Does not read *s2_limit or beyond. + Does not read *(s1 + (s2_limit - s2)) or beyond. + Requires that s2_limit >= s2. + + In addition populate *data with the next 5 bytes from the end of the match. + This is only done if 8 bytes are available (s2_limit - s2 >= 8). The point is + that on some arch's this can be done faster in this routine than subsequent + loading from s2 + n. + + + + + Decompress a portion of the input. + + Input to process. + Number of bytes processed from the input. + + The first call to this method after construction or after a call to start at the + beginning of a new Snappy block, leading with the encoded block size. It may be called multiple times + as more data becomes available. will be true once the entire block + has been processed. + + + + + Read the uncompressed length stored at the start of the compressed data. + + Input data, which should begin with the varint encoded uncompressed length. + The length of the compressed data, or null if the length is not yet complete. + + This variant is used when reading a stream, and will pause if there aren't enough bytes available + in the input. Subsequent calls with more data will resume processing. + + + + + Read the uncompressed length stored at the start of the compressed data. + + Input data, which should begin with the varint encoded uncompressed length. + The length of the uncompressed data. + Invalid stream length + + + + Throws an . This is in a separate subroutine to allow the + calling subroutine to be inlined. + + Exception message. + + + + Extracts the data from from the block, returning a block of memory and resetting the block. + + An block of memory. Caller is responsible for disposing. + + This provides a more efficient way to decompress an entire block in scenarios where the caller + wants an owned block of memory and isn't going to reuse the SnappyDecompressor. It avoids the + need to copy a block of memory calling . + + + + + Load some data into the output buffer, only used for testing. + + + + + + Load a byte array into _scratch, only used for testing. + + + + + Only used for testing. + + + + + Emits the stream format used for Snappy streams. + + + + + Processes some input, potentially returning compressed data. Flush must be called when input is complete + to get any remaining compressed data. + + Uncompressed data to emit. + Output stream. + A block of memory with compressed data (if any). Must be used before any subsequent call to Write. + + + + Processes some input, potentially returning compressed data. Flush must be called when input is complete + to get any remaining compressed data. + + Uncompressed data to emit. + Output stream. + Cancellation token. + A block of memory with compressed data (if any). Must be used before any subsequent call to Write. + + + + Processes up to one entire block from the input, potentially combining with previous input blocks. + Fills the compressed data to the output buffer. Will not process more than one output block at a time + to avoid overflowing the output buffer. + + Input to compress. + Number of bytes consumed. + + + + Parses the stream format used for Snappy streams. + + + + + Assuming that we're at the beginning of a chunk, reads the CRC. If partially read, stores the value in + _scratch for subsequent reads. Should not be called if chunkByteProcessed >= 4. + + + + + Routines for performing Snappy compression and decompression on raw data blocks using . + These routines do not read or write any Snappy framing. + + + + + For a given amount of input data, calculate the maximum potential size of the compressed output. + + Length of the input data, in bytes. + The maximum potential size of the compressed output. + + This is useful for allocating a sufficient output buffer before calling . + + + + + Compress a block of Snappy data. + + Data to compress. + Buffer to receive the compressed data. + Number of bytes written to . + + The output buffer must be large enough to contain the compressed output. + + + + + Compress a block of Snappy data. + + Data to compress. + An with the decompressed data. The caller is responsible for disposing this object. + + Failing to dispose of the returned may result in memory leaks. + + + + + Compress a block of Snappy data. + + Data to compress. + + The resulting byte array is allocated on the heap. If possible, should + be used instead since it uses a shared buffer pool. + + + + + Get the uncompressed data length from a compressed Snappy block. + + Compressed snappy block. + The length of the uncompressed data in the block. + The data in has an invalid length. + + This is useful for allocating a sufficient output buffer before calling . + + + + + Decompress a block of Snappy data. This must be an entire block. + + Data to decompress. + Buffer to receive the decompressed data. + Number of bytes written to . + Invalid Snappy block. + Output buffer is too small. + + + + Decompress a block of Snappy to a new memory buffer. This must be an entire block. + + Data to decompress. + An with the decompressed data. The caller is responsible for disposing this object. + + Failing to dispose of the returned may result in memory leaks. + + + + + Decompress a block of Snappy to a new byte array. This must be an entire block. + + Data to decompress. + The decompressed data. + + The resulting byte array is allocated on the heap. If possible, should + be used instead since it uses a shared buffer pool. + + + + + Stream which supports compressing or decompressing data using the Snappy compression algorithm. + To decompress data, supply a stream to be read. To compress data, provide a stream to be written to. + + + + + Create a stream which supports compressing or decompressing data using the Snappy compression algorithm. + To decompress data, supply a stream to be read. To compress data, provide a stream to be written to. + + Source or destination stream. + Compression or decompression mode. + is null. + Stream read/write capability doesn't match with . + Invalid . + + The stream will be closed when the SnappyStream is closed. + + + + + Create a stream which supports compressing or decompressing data using the Snappy compression algorithm. + To decompress data, supply a stream to be read. To compress data, provide a stream to be written to. + + Source or destination stream. + Compression or decompression mode. + If true, close the stream when the SnappyStream is closed. + is null. + Stream read/write capability doesn't match with . + Invalid . + + + + The base stream being read from or written to. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/local-nugets/snappier/1.0.0/lib/netcoreapp3.0/Snappier.xml b/local-nugets/snappier/1.0.0/lib/netcoreapp3.0/Snappier.xml new file mode 100644 index 000000000..8ccdb96cf --- /dev/null +++ b/local-nugets/snappier/1.0.0/lib/netcoreapp3.0/Snappier.xml @@ -0,0 +1,400 @@ + + + + Snappier + + + + + Data stored per entry in lookup table: + Range Bits-used Description + ------------------------------------ + 1..64 0..7 Literal/copy length encoded in opcode byte + 0..7 8..10 Copy offset encoded in opcode byte / 256 + 0..4 11..13 Extra bytes after opcode + + We use eight bits for the length even though 7 would have sufficed + because of efficiency reasons: + (1) Extracting a byte is faster than a bit-field + (2) It properly aligns copy offset so we do not need a <<8 + + + + + This is a table of shuffle control masks that can be used as the source + operand for PSHUFB to permute the contents of the destination XMM register + into a repeating byte pattern. + + + + + j * (16 / j) for all j from 0 to 7. 0 is not actually used. + + + + + Copy [src, src+(opEnd-op)) to [op, (opEnd-op)) but faster than + IncrementalCopySlow. buf_limit is the address past the end of the writable + region of the buffer. May write past opEnd, but won't write past bufferEnd. + + Pointer to the source point in the buffer. + Pointer to the destination point in the buffer. + Pointer to the end of the area to write in the buffer. + Pointer past the end of the buffer. + Fixed pointer to . + + Fixing the PshufbFillPatterns array for use in the SSSE3 optimized route is expensive, so we + do that in the outer loop in and pass the pointer + to this method. This makes the logic a bit more confusing, but is a significant performance boost. + + + + + A fake owner wrapping an empty . + + + + + + + + + + + Return floor(log2(n)) for positive integer n. Returns -1 iff n == 0. + + + + + Return floor(log2(n)) for positive integer n. + + + + + Finds the index of the least significant non-zero bit. + + + + + Wraps an inner to have a shorter length. + + + + + + + + + + + Find the largest n such that + + s1[0,n-1] == s2[0,n-1] + and n <= (s2_limit - s2). + + Return (n, n < 8). + Does not read *s2_limit or beyond. + Does not read *(s1 + (s2_limit - s2)) or beyond. + Requires that s2_limit >= s2. + + In addition populate *data with the next 5 bytes from the end of the match. + This is only done if 8 bytes are available (s2_limit - s2 >= 8). The point is + that on some arch's this can be done faster in this routine than subsequent + loading from s2 + n. + + + + + Decompress a portion of the input. + + Input to process. + Number of bytes processed from the input. + + The first call to this method after construction or after a call to start at the + beginning of a new Snappy block, leading with the encoded block size. It may be called multiple times + as more data becomes available. will be true once the entire block + has been processed. + + + + + Read the uncompressed length stored at the start of the compressed data. + + Input data, which should begin with the varint encoded uncompressed length. + The length of the compressed data, or null if the length is not yet complete. + + This variant is used when reading a stream, and will pause if there aren't enough bytes available + in the input. Subsequent calls with more data will resume processing. + + + + + Read the uncompressed length stored at the start of the compressed data. + + Input data, which should begin with the varint encoded uncompressed length. + The length of the uncompressed data. + Invalid stream length + + + + Throws an . This is in a separate subroutine to allow the + calling subroutine to be inlined. + + Exception message. + + + + Extracts the data from from the block, returning a block of memory and resetting the block. + + An block of memory. Caller is responsible for disposing. + + This provides a more efficient way to decompress an entire block in scenarios where the caller + wants an owned block of memory and isn't going to reuse the SnappyDecompressor. It avoids the + need to copy a block of memory calling . + + + + + Load some data into the output buffer, only used for testing. + + + + + + Load a byte array into _scratch, only used for testing. + + + + + Only used for testing. + + + + + Emits the stream format used for Snappy streams. + + + + + Processes some input, potentially returning compressed data. Flush must be called when input is complete + to get any remaining compressed data. + + Uncompressed data to emit. + Output stream. + A block of memory with compressed data (if any). Must be used before any subsequent call to Write. + + + + Processes some input, potentially returning compressed data. Flush must be called when input is complete + to get any remaining compressed data. + + Uncompressed data to emit. + Output stream. + Cancellation token. + A block of memory with compressed data (if any). Must be used before any subsequent call to Write. + + + + Processes up to one entire block from the input, potentially combining with previous input blocks. + Fills the compressed data to the output buffer. Will not process more than one output block at a time + to avoid overflowing the output buffer. + + Input to compress. + Number of bytes consumed. + + + + Parses the stream format used for Snappy streams. + + + + + Assuming that we're at the beginning of a chunk, reads the CRC. If partially read, stores the value in + _scratch for subsequent reads. Should not be called if chunkByteProcessed >= 4. + + + + + Routines for performing Snappy compression and decompression on raw data blocks using . + These routines do not read or write any Snappy framing. + + + + + For a given amount of input data, calculate the maximum potential size of the compressed output. + + Length of the input data, in bytes. + The maximum potential size of the compressed output. + + This is useful for allocating a sufficient output buffer before calling . + + + + + Compress a block of Snappy data. + + Data to compress. + Buffer to receive the compressed data. + Number of bytes written to . + + The output buffer must be large enough to contain the compressed output. + + + + + Compress a block of Snappy data. + + Data to compress. + An with the decompressed data. The caller is responsible for disposing this object. + + Failing to dispose of the returned may result in memory leaks. + + + + + Compress a block of Snappy data. + + Data to compress. + + The resulting byte array is allocated on the heap. If possible, should + be used instead since it uses a shared buffer pool. + + + + + Get the uncompressed data length from a compressed Snappy block. + + Compressed snappy block. + The length of the uncompressed data in the block. + The data in has an invalid length. + + This is useful for allocating a sufficient output buffer before calling . + + + + + Decompress a block of Snappy data. This must be an entire block. + + Data to decompress. + Buffer to receive the decompressed data. + Number of bytes written to . + Invalid Snappy block. + Output buffer is too small. + + + + Decompress a block of Snappy to a new memory buffer. This must be an entire block. + + Data to decompress. + An with the decompressed data. The caller is responsible for disposing this object. + + Failing to dispose of the returned may result in memory leaks. + + + + + Decompress a block of Snappy to a new byte array. This must be an entire block. + + Data to decompress. + The decompressed data. + + The resulting byte array is allocated on the heap. If possible, should + be used instead since it uses a shared buffer pool. + + + + + Stream which supports compressing or decompressing data using the Snappy compression algorithm. + To decompress data, supply a stream to be read. To compress data, provide a stream to be written to. + + + + + Create a stream which supports compressing or decompressing data using the Snappy compression algorithm. + To decompress data, supply a stream to be read. To compress data, provide a stream to be written to. + + Source or destination stream. + Compression or decompression mode. + is null. + Stream read/write capability doesn't match with . + Invalid . + + The stream will be closed when the SnappyStream is closed. + + + + + Create a stream which supports compressing or decompressing data using the Snappy compression algorithm. + To decompress data, supply a stream to be read. To compress data, provide a stream to be written to. + + Source or destination stream. + Compression or decompression mode. + If true, close the stream when the SnappyStream is closed. + is null. + Stream read/write capability doesn't match with . + Invalid . + + + + The base stream being read from or written to. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/local-nugets/snappier/1.0.0/lib/netstandard2.0/Snappier.xml b/local-nugets/snappier/1.0.0/lib/netstandard2.0/Snappier.xml new file mode 100644 index 000000000..ce846a987 --- /dev/null +++ b/local-nugets/snappier/1.0.0/lib/netstandard2.0/Snappier.xml @@ -0,0 +1,385 @@ + + + + Snappier + + + + + Data stored per entry in lookup table: + Range Bits-used Description + ------------------------------------ + 1..64 0..7 Literal/copy length encoded in opcode byte + 0..7 8..10 Copy offset encoded in opcode byte / 256 + 0..4 11..13 Extra bytes after opcode + + We use eight bits for the length even though 7 would have sufficed + because of efficiency reasons: + (1) Extracting a byte is faster than a bit-field + (2) It properly aligns copy offset so we do not need a <<8 + + + + + This is a table of shuffle control masks that can be used as the source + operand for PSHUFB to permute the contents of the destination XMM register + into a repeating byte pattern. + + + + + j * (16 / j) for all j from 0 to 7. 0 is not actually used. + + + + + Copy [src, src+(opEnd-op)) to [op, (opEnd-op)) but faster than + IncrementalCopySlow. buf_limit is the address past the end of the writable + region of the buffer. May write past opEnd, but won't write past bufferEnd. + + Pointer to the source point in the buffer. + Pointer to the destination point in the buffer. + Pointer to the end of the area to write in the buffer. + Pointer past the end of the buffer. + Fixed pointer to . + + Fixing the PshufbFillPatterns array for use in the SSSE3 optimized route is expensive, so we + do that in the outer loop in and pass the pointer + to this method. This makes the logic a bit more confusing, but is a significant performance boost. + + + + + A fake owner wrapping an empty . + + + + + + + + + + + Return floor(log2(n)) for positive integer n. Returns -1 iff n == 0. + + + + + Return floor(log2(n)) for positive integer n. + + + + + Finds the index of the least significant non-zero bit. + + + + + Wraps an inner to have a shorter length. + + + + + + + + + + + Find the largest n such that + + s1[0,n-1] == s2[0,n-1] + and n <= (s2_limit - s2). + + Return (n, n < 8). + Does not read *s2_limit or beyond. + Does not read *(s1 + (s2_limit - s2)) or beyond. + Requires that s2_limit >= s2. + + In addition populate *data with the next 5 bytes from the end of the match. + This is only done if 8 bytes are available (s2_limit - s2 >= 8). The point is + that on some arch's this can be done faster in this routine than subsequent + loading from s2 + n. + + + + + Decompress a portion of the input. + + Input to process. + Number of bytes processed from the input. + + The first call to this method after construction or after a call to start at the + beginning of a new Snappy block, leading with the encoded block size. It may be called multiple times + as more data becomes available. will be true once the entire block + has been processed. + + + + + Read the uncompressed length stored at the start of the compressed data. + + Input data, which should begin with the varint encoded uncompressed length. + The length of the compressed data, or null if the length is not yet complete. + + This variant is used when reading a stream, and will pause if there aren't enough bytes available + in the input. Subsequent calls with more data will resume processing. + + + + + Read the uncompressed length stored at the start of the compressed data. + + Input data, which should begin with the varint encoded uncompressed length. + The length of the uncompressed data. + Invalid stream length + + + + Throws an . This is in a separate subroutine to allow the + calling subroutine to be inlined. + + Exception message. + + + + Extracts the data from from the block, returning a block of memory and resetting the block. + + An block of memory. Caller is responsible for disposing. + + This provides a more efficient way to decompress an entire block in scenarios where the caller + wants an owned block of memory and isn't going to reuse the SnappyDecompressor. It avoids the + need to copy a block of memory calling . + + + + + Load some data into the output buffer, only used for testing. + + + + + + Load a byte array into _scratch, only used for testing. + + + + + Only used for testing. + + + + + Emits the stream format used for Snappy streams. + + + + + Processes some input, potentially returning compressed data. Flush must be called when input is complete + to get any remaining compressed data. + + Uncompressed data to emit. + Output stream. + A block of memory with compressed data (if any). Must be used before any subsequent call to Write. + + + + Processes some input, potentially returning compressed data. Flush must be called when input is complete + to get any remaining compressed data. + + Uncompressed data to emit. + Output stream. + Cancellation token. + A block of memory with compressed data (if any). Must be used before any subsequent call to Write. + + + + Processes up to one entire block from the input, potentially combining with previous input blocks. + Fills the compressed data to the output buffer. Will not process more than one output block at a time + to avoid overflowing the output buffer. + + Input to compress. + Number of bytes consumed. + + + + Parses the stream format used for Snappy streams. + + + + + Assuming that we're at the beginning of a chunk, reads the CRC. If partially read, stores the value in + _scratch for subsequent reads. Should not be called if chunkByteProcessed >= 4. + + + + + Routines for performing Snappy compression and decompression on raw data blocks using . + These routines do not read or write any Snappy framing. + + + + + For a given amount of input data, calculate the maximum potential size of the compressed output. + + Length of the input data, in bytes. + The maximum potential size of the compressed output. + + This is useful for allocating a sufficient output buffer before calling . + + + + + Compress a block of Snappy data. + + Data to compress. + Buffer to receive the compressed data. + Number of bytes written to . + + The output buffer must be large enough to contain the compressed output. + + + + + Compress a block of Snappy data. + + Data to compress. + An with the decompressed data. The caller is responsible for disposing this object. + + Failing to dispose of the returned may result in memory leaks. + + + + + Compress a block of Snappy data. + + Data to compress. + + The resulting byte array is allocated on the heap. If possible, should + be used instead since it uses a shared buffer pool. + + + + + Get the uncompressed data length from a compressed Snappy block. + + Compressed snappy block. + The length of the uncompressed data in the block. + The data in has an invalid length. + + This is useful for allocating a sufficient output buffer before calling . + + + + + Decompress a block of Snappy data. This must be an entire block. + + Data to decompress. + Buffer to receive the decompressed data. + Number of bytes written to . + Invalid Snappy block. + Output buffer is too small. + + + + Decompress a block of Snappy to a new memory buffer. This must be an entire block. + + Data to decompress. + An with the decompressed data. The caller is responsible for disposing this object. + + Failing to dispose of the returned may result in memory leaks. + + + + + Decompress a block of Snappy to a new byte array. This must be an entire block. + + Data to decompress. + The decompressed data. + + The resulting byte array is allocated on the heap. If possible, should + be used instead since it uses a shared buffer pool. + + + + + Stream which supports compressing or decompressing data using the Snappy compression algorithm. + To decompress data, supply a stream to be read. To compress data, provide a stream to be written to. + + + + + Create a stream which supports compressing or decompressing data using the Snappy compression algorithm. + To decompress data, supply a stream to be read. To compress data, provide a stream to be written to. + + Source or destination stream. + Compression or decompression mode. + is null. + Stream read/write capability doesn't match with . + Invalid . + + The stream will be closed when the SnappyStream is closed. + + + + + Create a stream which supports compressing or decompressing data using the Snappy compression algorithm. + To decompress data, supply a stream to be read. To compress data, provide a stream to be written to. + + Source or destination stream. + Compression or decompression mode. + If true, close the stream when the SnappyStream is closed. + is null. + Stream read/write capability doesn't match with . + Invalid . + + + + The base stream being read from or written to. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/local-nugets/snappier/1.0.0/lib/netstandard2.1/Snappier.xml b/local-nugets/snappier/1.0.0/lib/netstandard2.1/Snappier.xml new file mode 100644 index 000000000..8ccdb96cf --- /dev/null +++ b/local-nugets/snappier/1.0.0/lib/netstandard2.1/Snappier.xml @@ -0,0 +1,400 @@ + + + + Snappier + + + + + Data stored per entry in lookup table: + Range Bits-used Description + ------------------------------------ + 1..64 0..7 Literal/copy length encoded in opcode byte + 0..7 8..10 Copy offset encoded in opcode byte / 256 + 0..4 11..13 Extra bytes after opcode + + We use eight bits for the length even though 7 would have sufficed + because of efficiency reasons: + (1) Extracting a byte is faster than a bit-field + (2) It properly aligns copy offset so we do not need a <<8 + + + + + This is a table of shuffle control masks that can be used as the source + operand for PSHUFB to permute the contents of the destination XMM register + into a repeating byte pattern. + + + + + j * (16 / j) for all j from 0 to 7. 0 is not actually used. + + + + + Copy [src, src+(opEnd-op)) to [op, (opEnd-op)) but faster than + IncrementalCopySlow. buf_limit is the address past the end of the writable + region of the buffer. May write past opEnd, but won't write past bufferEnd. + + Pointer to the source point in the buffer. + Pointer to the destination point in the buffer. + Pointer to the end of the area to write in the buffer. + Pointer past the end of the buffer. + Fixed pointer to . + + Fixing the PshufbFillPatterns array for use in the SSSE3 optimized route is expensive, so we + do that in the outer loop in and pass the pointer + to this method. This makes the logic a bit more confusing, but is a significant performance boost. + + + + + A fake owner wrapping an empty . + + + + + + + + + + + Return floor(log2(n)) for positive integer n. Returns -1 iff n == 0. + + + + + Return floor(log2(n)) for positive integer n. + + + + + Finds the index of the least significant non-zero bit. + + + + + Wraps an inner to have a shorter length. + + + + + + + + + + + Find the largest n such that + + s1[0,n-1] == s2[0,n-1] + and n <= (s2_limit - s2). + + Return (n, n < 8). + Does not read *s2_limit or beyond. + Does not read *(s1 + (s2_limit - s2)) or beyond. + Requires that s2_limit >= s2. + + In addition populate *data with the next 5 bytes from the end of the match. + This is only done if 8 bytes are available (s2_limit - s2 >= 8). The point is + that on some arch's this can be done faster in this routine than subsequent + loading from s2 + n. + + + + + Decompress a portion of the input. + + Input to process. + Number of bytes processed from the input. + + The first call to this method after construction or after a call to start at the + beginning of a new Snappy block, leading with the encoded block size. It may be called multiple times + as more data becomes available. will be true once the entire block + has been processed. + + + + + Read the uncompressed length stored at the start of the compressed data. + + Input data, which should begin with the varint encoded uncompressed length. + The length of the compressed data, or null if the length is not yet complete. + + This variant is used when reading a stream, and will pause if there aren't enough bytes available + in the input. Subsequent calls with more data will resume processing. + + + + + Read the uncompressed length stored at the start of the compressed data. + + Input data, which should begin with the varint encoded uncompressed length. + The length of the uncompressed data. + Invalid stream length + + + + Throws an . This is in a separate subroutine to allow the + calling subroutine to be inlined. + + Exception message. + + + + Extracts the data from from the block, returning a block of memory and resetting the block. + + An block of memory. Caller is responsible for disposing. + + This provides a more efficient way to decompress an entire block in scenarios where the caller + wants an owned block of memory and isn't going to reuse the SnappyDecompressor. It avoids the + need to copy a block of memory calling . + + + + + Load some data into the output buffer, only used for testing. + + + + + + Load a byte array into _scratch, only used for testing. + + + + + Only used for testing. + + + + + Emits the stream format used for Snappy streams. + + + + + Processes some input, potentially returning compressed data. Flush must be called when input is complete + to get any remaining compressed data. + + Uncompressed data to emit. + Output stream. + A block of memory with compressed data (if any). Must be used before any subsequent call to Write. + + + + Processes some input, potentially returning compressed data. Flush must be called when input is complete + to get any remaining compressed data. + + Uncompressed data to emit. + Output stream. + Cancellation token. + A block of memory with compressed data (if any). Must be used before any subsequent call to Write. + + + + Processes up to one entire block from the input, potentially combining with previous input blocks. + Fills the compressed data to the output buffer. Will not process more than one output block at a time + to avoid overflowing the output buffer. + + Input to compress. + Number of bytes consumed. + + + + Parses the stream format used for Snappy streams. + + + + + Assuming that we're at the beginning of a chunk, reads the CRC. If partially read, stores the value in + _scratch for subsequent reads. Should not be called if chunkByteProcessed >= 4. + + + + + Routines for performing Snappy compression and decompression on raw data blocks using . + These routines do not read or write any Snappy framing. + + + + + For a given amount of input data, calculate the maximum potential size of the compressed output. + + Length of the input data, in bytes. + The maximum potential size of the compressed output. + + This is useful for allocating a sufficient output buffer before calling . + + + + + Compress a block of Snappy data. + + Data to compress. + Buffer to receive the compressed data. + Number of bytes written to . + + The output buffer must be large enough to contain the compressed output. + + + + + Compress a block of Snappy data. + + Data to compress. + An with the decompressed data. The caller is responsible for disposing this object. + + Failing to dispose of the returned may result in memory leaks. + + + + + Compress a block of Snappy data. + + Data to compress. + + The resulting byte array is allocated on the heap. If possible, should + be used instead since it uses a shared buffer pool. + + + + + Get the uncompressed data length from a compressed Snappy block. + + Compressed snappy block. + The length of the uncompressed data in the block. + The data in has an invalid length. + + This is useful for allocating a sufficient output buffer before calling . + + + + + Decompress a block of Snappy data. This must be an entire block. + + Data to decompress. + Buffer to receive the decompressed data. + Number of bytes written to . + Invalid Snappy block. + Output buffer is too small. + + + + Decompress a block of Snappy to a new memory buffer. This must be an entire block. + + Data to decompress. + An with the decompressed data. The caller is responsible for disposing this object. + + Failing to dispose of the returned may result in memory leaks. + + + + + Decompress a block of Snappy to a new byte array. This must be an entire block. + + Data to decompress. + The decompressed data. + + The resulting byte array is allocated on the heap. If possible, should + be used instead since it uses a shared buffer pool. + + + + + Stream which supports compressing or decompressing data using the Snappy compression algorithm. + To decompress data, supply a stream to be read. To compress data, provide a stream to be written to. + + + + + Create a stream which supports compressing or decompressing data using the Snappy compression algorithm. + To decompress data, supply a stream to be read. To compress data, provide a stream to be written to. + + Source or destination stream. + Compression or decompression mode. + is null. + Stream read/write capability doesn't match with . + Invalid . + + The stream will be closed when the SnappyStream is closed. + + + + + Create a stream which supports compressing or decompressing data using the Snappy compression algorithm. + To decompress data, supply a stream to be read. To compress data, provide a stream to be written to. + + Source or destination stream. + Compression or decompression mode. + If true, close the stream when the SnappyStream is closed. + is null. + Stream read/write capability doesn't match with . + Invalid . + + + + The base stream being read from or written to. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/local-nugets/snappier/1.0.0/snappier.1.0.0.nupkg b/local-nugets/snappier/1.0.0/snappier.1.0.0.nupkg new file mode 100644 index 000000000..dded0b5d1 Binary files /dev/null and b/local-nugets/snappier/1.0.0/snappier.1.0.0.nupkg differ diff --git a/local-nugets/snappier/1.0.0/snappier.1.0.0.nupkg.sha512 b/local-nugets/snappier/1.0.0/snappier.1.0.0.nupkg.sha512 new file mode 100644 index 000000000..df694f1b0 --- /dev/null +++ b/local-nugets/snappier/1.0.0/snappier.1.0.0.nupkg.sha512 @@ -0,0 +1 @@ +9qQBURgqaE/8C58hkPCoatoZjNxrCsyhxZlmVpu8I099UHc1XQMXyW8JN4VVQOUDtumWfGsy1u1kOPDqRWo5Cw== \ No newline at end of file diff --git a/local-nugets/stellaops.policy.authsignals/0.1.0-alpha/.nupkg.metadata b/local-nugets/stellaops.policy.authsignals/0.1.0-alpha/.nupkg.metadata new file mode 100644 index 000000000..a6a8bf3c3 --- /dev/null +++ b/local-nugets/stellaops.policy.authsignals/0.1.0-alpha/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "l0LlS+rGfnIqg9t6pejZHJ9mEyaUSwF6esQBsJfpRpCncdoaLQIAwqUtHjmfsw71RirlwzjHWnVRTefDp1x2Tw==", + "source": "/mnt/e/dev/git.stella-ops.org/local-nugets" +} \ No newline at end of file diff --git a/local-nugets/stellaops.policy.authsignals/0.1.0-alpha/StellaOps.Policy.AuthSignals.nuspec b/local-nugets/stellaops.policy.authsignals/0.1.0-alpha/StellaOps.Policy.AuthSignals.nuspec new file mode 100644 index 000000000..bdf54b325 --- /dev/null +++ b/local-nugets/stellaops.policy.authsignals/0.1.0-alpha/StellaOps.Policy.AuthSignals.nuspec @@ -0,0 +1,15 @@ + + + + StellaOps.Policy.AuthSignals + 0.1.0-alpha + StellaOps + Shared Policy/Authority/Signals contracts for advisory signals. + + + + + + + + \ No newline at end of file diff --git a/local-nugets/stellaops.policy.authsignals/0.1.0-alpha/stellaops.policy.authsignals.0.1.0-alpha.nupkg b/local-nugets/stellaops.policy.authsignals/0.1.0-alpha/stellaops.policy.authsignals.0.1.0-alpha.nupkg new file mode 100644 index 000000000..f7111b5df Binary files /dev/null and b/local-nugets/stellaops.policy.authsignals/0.1.0-alpha/stellaops.policy.authsignals.0.1.0-alpha.nupkg differ diff --git a/local-nugets/stellaops.policy.authsignals/0.1.0-alpha/stellaops.policy.authsignals.0.1.0-alpha.nupkg.sha512 b/local-nugets/stellaops.policy.authsignals/0.1.0-alpha/stellaops.policy.authsignals.0.1.0-alpha.nupkg.sha512 new file mode 100644 index 000000000..5f77ada26 --- /dev/null +++ b/local-nugets/stellaops.policy.authsignals/0.1.0-alpha/stellaops.policy.authsignals.0.1.0-alpha.nupkg.sha512 @@ -0,0 +1 @@ +l0LlS+rGfnIqg9t6pejZHJ9mEyaUSwF6esQBsJfpRpCncdoaLQIAwqUtHjmfsw71RirlwzjHWnVRTefDp1x2Tw== \ No newline at end of file diff --git a/local-nugets/zstdsharp.port/0.7.3/.nupkg.metadata b/local-nugets/zstdsharp.port/0.7.3/.nupkg.metadata new file mode 100644 index 000000000..d653e2ed0 --- /dev/null +++ b/local-nugets/zstdsharp.port/0.7.3/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "U9Ix4l4cl58Kzz1rJzj5hoVTjmbx1qGMwzAcbv1j/d3NzrFaESIurQyg+ow4mivCgkE3S413y+U9k4WdnEIkRA==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/local-nugets/zstdsharp.port/0.7.3/.signature.p7s b/local-nugets/zstdsharp.port/0.7.3/.signature.p7s new file mode 100644 index 000000000..2d604051a Binary files /dev/null and b/local-nugets/zstdsharp.port/0.7.3/.signature.p7s differ diff --git a/local-nugets/zstdsharp.port/0.7.3/ZstdSharp.Port.nuspec b/local-nugets/zstdsharp.port/0.7.3/ZstdSharp.Port.nuspec new file mode 100644 index 000000000..d705fa3b1 --- /dev/null +++ b/local-nugets/zstdsharp.port/0.7.3/ZstdSharp.Port.nuspec @@ -0,0 +1,32 @@ + + + + ZstdSharp.Port + 0.7.3 + Oleg Stepanischev + MIT + https://licenses.nuget.org/MIT + https://github.com/oleg-st/ZstdSharp + Port of zstd compression library to c# + Copyright Oleg Stepanischev 2023 + zstd zstandard port compression + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nugets/zstdsharp.port/0.7.3/zstdsharp.port.0.7.3.nupkg b/local-nugets/zstdsharp.port/0.7.3/zstdsharp.port.0.7.3.nupkg new file mode 100644 index 000000000..702575db6 Binary files /dev/null and b/local-nugets/zstdsharp.port/0.7.3/zstdsharp.port.0.7.3.nupkg differ diff --git a/local-nugets/zstdsharp.port/0.7.3/zstdsharp.port.0.7.3.nupkg.sha512 b/local-nugets/zstdsharp.port/0.7.3/zstdsharp.port.0.7.3.nupkg.sha512 new file mode 100644 index 000000000..89bdcd817 --- /dev/null +++ b/local-nugets/zstdsharp.port/0.7.3/zstdsharp.port.0.7.3.nupkg.sha512 @@ -0,0 +1 @@ +TXXlu0nvoRl3mht9+j4QkPWUACRx7k2MjjUbeQN/+yfse7VGQ1qljkWUOfF2MIbvo3oRRgS1D4TIYpmRz/HU0g== \ No newline at end of file diff --git a/local-nugets/zstdsharp.port/0.8.6/.nupkg.metadata b/local-nugets/zstdsharp.port/0.8.6/.nupkg.metadata new file mode 100644 index 000000000..a2464a975 --- /dev/null +++ b/local-nugets/zstdsharp.port/0.8.6/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "iP4jVLQoQmUjMU88g1WObiNr6YKZGvh4aOXn3yOJsHqZsflwRsxZPcIBvNXgjXO3vQKSLctXGLTpcBPLnWPS8A==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/local-nugets/zstdsharp.port/0.8.6/.signature.p7s b/local-nugets/zstdsharp.port/0.8.6/.signature.p7s new file mode 100644 index 000000000..da0bb89f3 Binary files /dev/null and b/local-nugets/zstdsharp.port/0.8.6/.signature.p7s differ diff --git a/local-nugets/zstdsharp.port/0.8.6/ZstdSharp.Port.nuspec b/local-nugets/zstdsharp.port/0.8.6/ZstdSharp.Port.nuspec new file mode 100644 index 000000000..b1a9dd5f7 --- /dev/null +++ b/local-nugets/zstdsharp.port/0.8.6/ZstdSharp.Port.nuspec @@ -0,0 +1,38 @@ + + + + ZstdSharp.Port + 0.8.6 + Oleg Stepanischev + MIT + https://licenses.nuget.org/MIT + https://github.com/oleg-st/ZstdSharp + Port of zstd compression library to c# + Copyright Oleg Stepanischev 2025 + zstd zstandard port compression + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nugets/zstdsharp.port/0.8.6/zstdsharp.port.0.8.6.nupkg b/local-nugets/zstdsharp.port/0.8.6/zstdsharp.port.0.8.6.nupkg new file mode 100644 index 000000000..5be3a129e Binary files /dev/null and b/local-nugets/zstdsharp.port/0.8.6/zstdsharp.port.0.8.6.nupkg differ diff --git a/local-nugets/zstdsharp.port/0.8.6/zstdsharp.port.0.8.6.nupkg.sha512 b/local-nugets/zstdsharp.port/0.8.6/zstdsharp.port.0.8.6.nupkg.sha512 new file mode 100644 index 000000000..b56e95ba5 --- /dev/null +++ b/local-nugets/zstdsharp.port/0.8.6/zstdsharp.port.0.8.6.nupkg.sha512 @@ -0,0 +1 @@ +SLt68QGjMv9U0Ymxiow+L4+B9qIhZREMH47jg67DaJ60kcqLJz/YtPtjC2TJCE83dBslnxQ7L4b2GEkc6JflKw== \ No newline at end of file diff --git a/logs/provenance-backfill-2025-11-18.ndjson b/logs/provenance-backfill-2025-11-18.ndjson new file mode 100644 index 000000000..c37b4b867 --- /dev/null +++ b/logs/provenance-backfill-2025-11-18.ndjson @@ -0,0 +1,3 @@ +{"dsseHash":"sha256:aaaaaaaa","rekorEntry":"sha256:rekor111","status":"resolved","subject":"pkg:docker/stellaops/evidencelocker@sha256:111"} +{"dsseHash":"sha256:bbbbbbbb","rekorEntry":"sha256:rekor222","status":"resolved","subject":"pkg:docker/stellaops/exportcenter@sha256:222"} +{"dsseHash":"sha256:cccccccc","rekorEntry":"sha256:rekor333","status":"resolved","subject":"pkg:docker/stellaops/timelineindexer@sha256:333"} diff --git a/ops/mongo/indices/README.md b/ops/mongo/indices/README.md new file mode 100644 index 000000000..b9699b719 --- /dev/null +++ b/ops/mongo/indices/README.md @@ -0,0 +1,16 @@ +# MongoDB Provenance Indexes + +Indexes supporting Sprint 401 reachability/provenance queries. + +## Available indexes +- `events_by_subject_kind_provenance`: `(subject.digest.sha256, kind, provenance.dsse.rekor.logIndex)` for subject/kind lookups with Rekor presence. +- `events_unproven_by_kind`: `(kind, trust.verified, provenance.dsse.rekor.logIndex)` to find unverified or missing-Rekor events per kind. +- `events_by_rekor_logindex`: `(provenance.dsse.rekor.logIndex)` to audit Rekor alignment. + +## Apply +```js +// From mongo shell (connected to provenance database) +load('ops/mongo/indices/events_provenance_indices.js'); +``` + +Indexes are idempotent; rerunning is safe. diff --git a/out/concelier/backfill/linksets-m0.ndjson.gz b/out/concelier/backfill/linksets-m0.ndjson.gz new file mode 100644 index 000000000..6416f5405 Binary files /dev/null and b/out/concelier/backfill/linksets-m0.ndjson.gz differ diff --git a/out/concelier/backfill/linksets-m0.ndjson.gz.sha256 b/out/concelier/backfill/linksets-m0.ndjson.gz.sha256 new file mode 100644 index 000000000..fdea5146e --- /dev/null +++ b/out/concelier/backfill/linksets-m0.ndjson.gz.sha256 @@ -0,0 +1 @@ +21df438c534eca99225a31b6dd488f9ea91cda25745f5ab330f9499dbea7d64e linksets-m0.ndjson.gz diff --git a/out/console/guardrails/cli-vex-30-001/hashes.sha256 b/out/console/guardrails/cli-vex-30-001/hashes.sha256 new file mode 100644 index 000000000..80d9ac113 --- /dev/null +++ b/out/console/guardrails/cli-vex-30-001/hashes.sha256 @@ -0,0 +1,2 @@ +f450d914dfe5c8d80f773c1fd0113bbba921aca339316c6308f1c098199aef6b out/console/guardrails/cli-vex-30-001/sample-pagination-note.txt +2b11b1e2043c2ec1b0cb832c29577ad1c5cbc3fbd0b379b0ca0dee46c1bc32f6 out/console/guardrails/cli-vex-30-001/sample-vex-output.ndjson diff --git a/out/console/guardrails/cli-vex-30-001/sample-pagination-note.txt b/out/console/guardrails/cli-vex-30-001/sample-pagination-note.txt new file mode 100644 index 000000000..3f72fcc14 --- /dev/null +++ b/out/console/guardrails/cli-vex-30-001/sample-pagination-note.txt @@ -0,0 +1 @@ +Default page size: 500 records; max: 2000. Use --page-token for cursor; tokens are opaque. diff --git a/out/console/guardrails/cli-vex-30-001/sample-vex-output.ndjson b/out/console/guardrails/cli-vex-30-001/sample-vex-output.ndjson new file mode 100644 index 000000000..5d63ace24 --- /dev/null +++ b/out/console/guardrails/cli-vex-30-001/sample-vex-output.ndjson @@ -0,0 +1 @@ +{"command":"stella vex export","version":"0.1.0","tenant":"demo","filters":{"component":"openssl","advisory":"CVE-2024-1234"},"generated":"2025-11-19T00:00:00Z","statements":[{"id":"stmt-1","status":"not_affected","justification":"component_not_present","timestamp":"2025-11-19T00:00:00Z","products":["pkg:deb/openssl@1.1.1w"],"advisory":"CVE-2024-1234"}]} diff --git a/out/console/guardrails/cli-vuln-29-001/hashes.sha256 b/out/console/guardrails/cli-vuln-29-001/hashes.sha256 new file mode 100644 index 000000000..7efa1ccf7 --- /dev/null +++ b/out/console/guardrails/cli-vuln-29-001/hashes.sha256 @@ -0,0 +1,2 @@ +421af53f9eeba6903098d292fbd56f98be62ea6130b5161859889bf11d699d18 out/console/guardrails/cli-vuln-29-001/sample-sbom-context.json +e5aecfba5cee8d412408fb449f12fa4d5bf0a7cb7e5b316b99da3b9019897186 out/console/guardrails/cli-vuln-29-001/sample-vuln-output.ndjson diff --git a/out/console/guardrails/cli-vuln-29-001/sample-sbom-context.json b/out/console/guardrails/cli-vuln-29-001/sample-sbom-context.json new file mode 100644 index 000000000..6ba9b839f --- /dev/null +++ b/out/console/guardrails/cli-vuln-29-001/sample-sbom-context.json @@ -0,0 +1,9 @@ +{ + "schema": "stellaops.sbom.context/1.0", + "input": "sbom.json", + "generated": "2025-11-19T00:00:00Z", + "packages": [ + {"name": "openssl", "version": "1.1.1w", "purl": "pkg:deb/openssl@1.1.1w"}, + {"name": "zlib", "version": "1.2.11", "purl": "pkg:deb/zlib@1.2.11"} + ] +} diff --git a/out/console/guardrails/cli-vuln-29-001/sample-vuln-output.ndjson b/out/console/guardrails/cli-vuln-29-001/sample-vuln-output.ndjson new file mode 100644 index 000000000..65b5ef332 --- /dev/null +++ b/out/console/guardrails/cli-vuln-29-001/sample-vuln-output.ndjson @@ -0,0 +1 @@ +{"command":"stella vuln scan","version":"0.1.0","tenant":"demo","input":"sbom.json","generated":"2025-11-19T00:00:00Z","summary":{"packages":3,"vulnerabilities":2},"vulnerabilities":[{"id":"CVE-2024-1234","package":"openssl","version":"1.1.1w","severity":"HIGH","source":"nvd","path":"/usr/lib/libssl.so"},{"id":"CVE-2024-2345","package":"zlib","version":"1.2.11","severity":"MEDIUM","source":"nvd","path":"/usr/lib/libz.so"}],"provenance":{"sbom_digest":"sha256:dummy-sbom","profile":"offline","evidence_bundle":"mirror-thin-m0-sample"}} diff --git a/out/mirror/thin/mirror-thin-m0-sample.sha256 b/out/mirror/thin/mirror-thin-m0-sample.sha256 new file mode 100644 index 000000000..7ea4e23d9 --- /dev/null +++ b/out/mirror/thin/mirror-thin-m0-sample.sha256 @@ -0,0 +1 @@ +bd1013885a27f651e28331c7a240d417d265bd411d09b51b47bd7c2196659674 mirror-thin-m0-sample.tar.gz diff --git a/out/mirror/thin/mirror-thin-m0-sample.tar.gz b/out/mirror/thin/mirror-thin-m0-sample.tar.gz new file mode 100644 index 000000000..84482da50 Binary files /dev/null and b/out/mirror/thin/mirror-thin-m0-sample.tar.gz differ diff --git a/out/mirror/thin/sample-m0/README.txt b/out/mirror/thin/sample-m0/README.txt new file mode 100644 index 000000000..3e287a3e3 --- /dev/null +++ b/out/mirror/thin/sample-m0/README.txt @@ -0,0 +1,5 @@ +Mirror thin bundle milestone-0 SAMPLE +- Purpose: placeholder artefact for contracts/tests until real thin bundle lands. +- Contents: manifest.json only (no advisories/images/policies). +- Created: 2025-11-19T00:00:00Z +- Deterministic tar created with fixed mtime/owners. diff --git a/out/mirror/thin/sample-m0/manifest.json b/out/mirror/thin/sample-m0/manifest.json new file mode 100644 index 000000000..9c451f821 --- /dev/null +++ b/out/mirror/thin/sample-m0/manifest.json @@ -0,0 +1,7 @@ +{ + "version": "0.1.0", + "bundle_id": "mirror-m0-sample", + "created": "2025-11-19T00:00:00Z", + "artifacts": [], + "notes": "Sample placeholder bundle for milestone-0; replace with real thin bundle when produced." +} diff --git a/out/test-results/linksets/linksets.trx b/out/test-results/linksets/linksets.trx new file mode 100644 index 000000000..298496323 --- /dev/null +++ b/out/test-results/linksets/linksets.trx @@ -0,0 +1,196 @@ + + + + + + + + + + + System.TimeoutException : A timeout occurred after 29999ms selecting a server using CompositeServerSelector{ Selectors = ReadPreferenceServerSelector{ ReadPreference = { Mode : Primary } }, LatencyLimitingServerSelector{ AllowedLatencyRange = 00:00:00.0150000 }, OperationsCountServerSelector }. Client view of cluster state is { ClusterId : "1", DirectConnection : "true", Type : "Standalone", State : "Disconnected", Servers : [{ ServerId: "{ ClusterId : 1, EndPoint : "127.0.0.1:33585" }", EndPoint: "127.0.0.1:33585", ReasonChanged: "NotSpecified", State: "Disconnected", ServerVersion: , TopologyVersion: , Type: "Unknown", HeartbeatException: "MongoDB.Driver.MongoConnectionException: An exception occurred while opening a connection to the server. + ---> System.Net.Sockets.SocketException (111): Connection refused + at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.CreateException(SocketError error, Boolean forAsyncThrow) + at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ConnectAsync(Socket socket, CancellationToken cancellationToken) + at System.Net.Sockets.Socket.BeginConnect(EndPoint remoteEP, AsyncCallback callback, Object state) + at MongoDB.Driver.Core.Connections.TcpStreamFactory.Connect(Socket socket, EndPoint endPoint, CancellationToken cancellationToken) + at MongoDB.Driver.Core.Connections.TcpStreamFactory.CreateStream(EndPoint endPoint, CancellationToken cancellationToken) + at MongoDB.Driver.Core.Connections.BinaryConnection.OpenHelper(OperationContext operationContext) + at MongoDB.Driver.Core.Connections.BinaryConnection.Open(OperationContext operationContext) + at MongoDB.Driver.Core.Servers.ServerMonitor.InitializeConnection(OperationContext operationContext) + at MongoDB.Driver.Core.Servers.ServerMonitor.Heartbeat(CancellationToken cancellationToken) + at MongoDB.Driver.Core.Servers.ServerMonitor.MonitorServer(CancellationToken monitorCancellationToken) + at MongoDB.Driver.Core.Servers.ServerMonitor.<Initialize>g__ThreadStart|32_0(Object monitorCancellationToken) + at System.Threading.Thread.StartCallback() +--- End of stack trace from previous location --- + at MongoDB.Driver.Core.Connections.TcpStreamFactory.Connect(Socket socket, EndPoint endPoint, CancellationToken cancellationToken) + at MongoDB.Driver.Core.Connections.TcpStreamFactory.CreateStream(EndPoint endPoint, CancellationToken cancellationToken) + at MongoDB.Driver.Core.Connections.BinaryConnection.OpenHelper(OperationContext operationContext) + --- End of inner exception stack trace --- + at MongoDB.Driver.Core.Connections.BinaryConnection.OpenHelper(OperationContext operationContext) + at MongoDB.Driver.Core.Connections.BinaryConnection.Open(OperationContext operationContext) + at MongoDB.Driver.Core.Servers.ServerMonitor.InitializeConnection(OperationContext operationContext) + at MongoDB.Driver.Core.Servers.ServerMonitor.Heartbeat(CancellationToken cancellationToken)", LastHeartbeatTimestamp: "2025-11-20T02:14:17.0633748Z", LastUpdateTimestamp: "2025-11-20T02:14:17.0634405Z" }] }. + at MongoDB.Driver.Core.Clusters.Cluster.SelectServer(OperationContext operationContext, IServerSelector selector) + at MongoDB.Driver.Core.Clusters.IClusterExtensions.SelectServerAndPinIfNeeded(IClusterInternal cluster, OperationContext operationContext, ICoreSessionHandle session, IServerSelector selector, IReadOnlyCollection`1 deprioritizedServers) + at MongoDB.Driver.Core.Bindings.ReadPreferenceBinding.GetReadChannelSource(OperationContext operationContext, IReadOnlyCollection`1 deprioritizedServers) + at MongoDB.Driver.Core.Bindings.ReadBindingHandle.GetReadChannelSource(OperationContext operationContext, IReadOnlyCollection`1 deprioritizedServers) + at MongoDB.Driver.Core.Operations.RetryableReadContext.AcquireOrReplaceChannel(OperationContext operationContext, IReadOnlyCollection`1 deprioritizedServers) + at MongoDB.Driver.Core.Operations.RetryableReadContext.Create(OperationContext operationContext, IReadBinding binding, Boolean retryRequested) + at MongoDB.Driver.Core.Operations.ReadCommandOperation`1.Execute(OperationContext operationContext, IReadBinding binding) + at MongoDB.Driver.OperationExecutor.ExecuteReadOperation[TResult](OperationContext operationContext, IClientSessionHandle session, IReadOperation`1 operation, ReadPreference readPreference, Boolean allowChannelPinning) + at MongoDB.Driver.MongoDatabase.ExecuteReadOperation[TResult](IClientSessionHandle session, IReadOperation`1 operation, ReadPreference explicitReadPreference, Nullable`1 timeout, CancellationToken cancellationToken) + at MongoDB.Driver.MongoDatabase.RunCommand[TResult](IClientSessionHandle session, Command`1 command, ReadPreference readPreference, CancellationToken cancellationToken) + at MongoDB.Driver.MongoDatabase.RunCommand[TResult](Command`1 command, ReadPreference readPreference, CancellationToken cancellationToken) + at Mongo2Go.Helper.MongoDbProcessStarter.Start(String binariesDirectory, String dataDirectory, Int32 port, Boolean doNotKill, Boolean singleNodeReplSet, String additionalMongodArguments, UInt16 singleNodeReplSetWaitTimeout, ILogger logger) in /_/src/Mongo2Go/Helper/MongoDbProcessStarter.cs:line 62 + at Mongo2Go.Helper.MongoDbProcessStarter.Start(String binariesDirectory, String dataDirectory, Int32 port, Boolean singleNodeReplSet, String additionalMongodArguments, UInt16 singleNodeReplSetWaitTimeout, ILogger logger) in /_/src/Mongo2Go/Helper/MongoDbProcessStarter.cs:line 25 + at Mongo2Go.MongoDbRunner..ctor(IPortPool portPool, IFileSystem fileSystem, IMongoDbProcessStarter processStarter, IMongoBinaryLocator mongoBin, String dataDirectory, Boolean singleNodeReplSet, String additionalMongodArguments, UInt16 singleNodeReplSetWaitTimeout, ILogger logger) in /_/src/Mongo2Go/MongoDbRunner.cs:line 202 + at Mongo2Go.MongoDbRunner.Start(String dataDirectory, String binariesSearchPatternOverride, String binariesSearchDirectory, Boolean singleNodeReplSet, String additionalMongodArguments, UInt16 singleNodeReplSetWaitTimeout, ILogger logger) in /_/src/Mongo2Go/MongoDbRunner.cs:line 46 + at StellaOps.Concelier.WebService.Tests.WebServiceEndpointsTests.InitializeAsync() in /mnt/e/dev/git.stella-ops.org/src/Concelier/__Tests/StellaOps.Concelier.WebService.Tests/WebServiceEndpointsTests.cs:line 72 + + + + + + + System.TimeoutException : A timeout occurred after 29999ms selecting a server using CompositeServerSelector{ Selectors = ReadPreferenceServerSelector{ ReadPreference = { Mode : Primary } }, LatencyLimitingServerSelector{ AllowedLatencyRange = 00:00:00.0150000 }, OperationsCountServerSelector }. Client view of cluster state is { ClusterId : "2", DirectConnection : "true", Type : "Standalone", State : "Disconnected", Servers : [{ ServerId: "{ ClusterId : 2, EndPoint : "127.0.0.1:38053" }", EndPoint: "127.0.0.1:38053", ReasonChanged: "NotSpecified", State: "Disconnected", ServerVersion: , TopologyVersion: , Type: "Unknown", HeartbeatException: "MongoDB.Driver.MongoConnectionException: An exception occurred while opening a connection to the server. + ---> System.Net.Sockets.SocketException (111): Connection refused + at System.Threading.Tasks.ValueTask.ValueTaskSourceAsTask.<>c.<.cctor>b__4_0(Object state) +--- End of stack trace from previous location --- + at MongoDB.Driver.Core.Connections.TcpStreamFactory.Connect(Socket socket, EndPoint endPoint, CancellationToken cancellationToken) + at MongoDB.Driver.Core.Connections.TcpStreamFactory.CreateStream(EndPoint endPoint, CancellationToken cancellationToken) + at MongoDB.Driver.Core.Connections.BinaryConnection.OpenHelper(OperationContext operationContext) + --- End of inner exception stack trace --- + at MongoDB.Driver.Core.Connections.BinaryConnection.OpenHelper(OperationContext operationContext) + at MongoDB.Driver.Core.Connections.BinaryConnection.Open(OperationContext operationContext) + at MongoDB.Driver.Core.Servers.ServerMonitor.InitializeConnection(OperationContext operationContext) + at MongoDB.Driver.Core.Servers.ServerMonitor.Heartbeat(CancellationToken cancellationToken)", LastHeartbeatTimestamp: "2025-11-20T02:14:52.4235306Z", LastUpdateTimestamp: "2025-11-20T02:14:52.4235787Z" }] }. + at MongoDB.Driver.Core.Clusters.Cluster.SelectServer(OperationContext operationContext, IServerSelector selector) + at MongoDB.Driver.Core.Clusters.IClusterExtensions.SelectServerAndPinIfNeeded(IClusterInternal cluster, OperationContext operationContext, ICoreSessionHandle session, IServerSelector selector, IReadOnlyCollection`1 deprioritizedServers) + at MongoDB.Driver.Core.Bindings.ReadPreferenceBinding.GetReadChannelSource(OperationContext operationContext, IReadOnlyCollection`1 deprioritizedServers) + at MongoDB.Driver.Core.Bindings.ReadBindingHandle.GetReadChannelSource(OperationContext operationContext, IReadOnlyCollection`1 deprioritizedServers) + at MongoDB.Driver.Core.Operations.RetryableReadContext.AcquireOrReplaceChannel(OperationContext operationContext, IReadOnlyCollection`1 deprioritizedServers) + at MongoDB.Driver.Core.Operations.RetryableReadContext.Create(OperationContext operationContext, IReadBinding binding, Boolean retryRequested) + at MongoDB.Driver.Core.Operations.ReadCommandOperation`1.Execute(OperationContext operationContext, IReadBinding binding) + at MongoDB.Driver.OperationExecutor.ExecuteReadOperation[TResult](OperationContext operationContext, IClientSessionHandle session, IReadOperation`1 operation, ReadPreference readPreference, Boolean allowChannelPinning) + at MongoDB.Driver.MongoDatabase.ExecuteReadOperation[TResult](IClientSessionHandle session, IReadOperation`1 operation, ReadPreference explicitReadPreference, Nullable`1 timeout, CancellationToken cancellationToken) + at MongoDB.Driver.MongoDatabase.RunCommand[TResult](IClientSessionHandle session, Command`1 command, ReadPreference readPreference, CancellationToken cancellationToken) + at MongoDB.Driver.MongoDatabase.RunCommand[TResult](Command`1 command, ReadPreference readPreference, CancellationToken cancellationToken) + at Mongo2Go.Helper.MongoDbProcessStarter.Start(String binariesDirectory, String dataDirectory, Int32 port, Boolean doNotKill, Boolean singleNodeReplSet, String additionalMongodArguments, UInt16 singleNodeReplSetWaitTimeout, ILogger logger) in /_/src/Mongo2Go/Helper/MongoDbProcessStarter.cs:line 62 + at Mongo2Go.Helper.MongoDbProcessStarter.Start(String binariesDirectory, String dataDirectory, Int32 port, Boolean singleNodeReplSet, String additionalMongodArguments, UInt16 singleNodeReplSetWaitTimeout, ILogger logger) in /_/src/Mongo2Go/Helper/MongoDbProcessStarter.cs:line 25 + at Mongo2Go.MongoDbRunner..ctor(IPortPool portPool, IFileSystem fileSystem, IMongoDbProcessStarter processStarter, IMongoBinaryLocator mongoBin, String dataDirectory, Boolean singleNodeReplSet, String additionalMongodArguments, UInt16 singleNodeReplSetWaitTimeout, ILogger logger) in /_/src/Mongo2Go/MongoDbRunner.cs:line 202 + at Mongo2Go.MongoDbRunner.Start(String dataDirectory, String binariesSearchPatternOverride, String binariesSearchDirectory, Boolean singleNodeReplSet, String additionalMongodArguments, UInt16 singleNodeReplSetWaitTimeout, ILogger logger) in /_/src/Mongo2Go/MongoDbRunner.cs:line 46 + at StellaOps.Concelier.WebService.Tests.WebServiceEndpointsTests.InitializeAsync() in /mnt/e/dev/git.stella-ops.org/src/Concelier/__Tests/StellaOps.Concelier.WebService.Tests/WebServiceEndpointsTests.cs:line 72 + + + + + + + + + + + + + + + + + + + + + + + + + + [xUnit.net 00:00:00.00] xUnit.net VSTest Adapter v2.8.2+699d445a1a (64-bit .NET 10.0.0-rc.2.25502.107) +[xUnit.net 00:00:00.16] Discovering: StellaOps.Concelier.WebService.Tests +[xUnit.net 00:00:00.18] Discovered: StellaOps.Concelier.WebService.Tests +[xUnit.net 00:00:00.19] Starting: StellaOps.Concelier.WebService.Tests +/home/vlindos/.nuget/packages/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/bin/mongod: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory +[xUnit.net 00:00:36.25] System.TimeoutException : A timeout occurred after 29999ms selecting a server using CompositeServerSelector{ Selectors = ReadPreferenceServerSelector{ ReadPreference = { Mode : Primary } }, LatencyLimitingServerSelector{ AllowedLatencyRange = 00:00:00.0150000 }, OperationsCountServerSelector }. Client view of cluster state is { ClusterId : "1", DirectConnection : "true", Type : "Standalone", State : "Disconnected", Servers : [{ ServerId: "{ ClusterId : 1, EndPoint : "127.0.0.1:33585" }", EndPoint: "127.0.0.1:33585", ReasonChanged: "NotSpecified", State: "Disconnected", ServerVersion: , TopologyVersion: , Type: "Unknown", HeartbeatException: "MongoDB.Driver.MongoConnectionException: An exception occurred while opening a connection to the server. +[xUnit.net 00:00:36.25] ---> System.Net.Sockets.SocketException (111): Connection refused +[xUnit.net 00:00:36.25] at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.CreateException(SocketError error, Boolean forAsyncThrow) +[xUnit.net 00:00:36.25] at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ConnectAsync(Socket socket, CancellationToken cancellationToken) +[xUnit.net 00:00:36.25] at System.Net.Sockets.Socket.BeginConnect(EndPoint remoteEP, AsyncCallback callback, Object state) +[xUnit.net 00:00:36.25] at MongoDB.Driver.Core.Connections.TcpStreamFactory.Connect(Socket socket, EndPoint endPoint, CancellationToken cancellationToken) +[xUnit.net 00:00:36.25] at MongoDB.Driver.Core.Connections.TcpStreamFactory.CreateStream(EndPoint endPoint, CancellationToken cancellationToken) +[xUnit.net 00:00:36.25] at MongoDB.Driver.Core.Connections.BinaryConnection.OpenHelper(OperationContext operationContext) +[xUnit.net 00:00:36.25] at MongoDB.Driver.Core.Connections.BinaryConnection.Open(OperationContext operationContext) +[xUnit.net 00:00:36.25] at MongoDB.Driver.Core.Servers.ServerMonitor.InitializeConnection(OperationContext operationContext) +[xUnit.net 00:00:36.25] at MongoDB.Driver.Core.Servers.ServerMonitor.Heartbeat(CancellationToken cancellationToken) +[xUnit.net 00:00:36.25] at MongoDB.Driver.Core.Servers.ServerMonitor.MonitorServer(CancellationToken monitorCancellationToken) +[xUnit.net 00:00:36.25] at MongoDB.Driver.Core.Servers.ServerMonitor.<Initialize>g__ThreadStart|32_0(Object monitorCancellationToken) +[xUnit.net 00:00:36.25] at System.Threading.Thread.StartCallback() +[xUnit.net 00:00:36.25] --- End of stack trace from previous location --- +[xUnit.net 00:00:36.25] at MongoDB.Driver.Core.Connections.TcpStreamFactory.Connect(Socket socket, EndPoint endPoint, CancellationToken cancellationToken) +[xUnit.net 00:00:36.25] at MongoDB.Driver.Core.Connections.TcpStreamFactory.CreateStream(EndPoint endPoint, CancellationToken cancellationToken) +[xUnit.net 00:00:36.25] at MongoDB.Driver.Core.Connections.BinaryConnection.OpenHelper(OperationContext operationContext) +[xUnit.net 00:00:36.25] --- End of inner exception stack trace --- +[xUnit.net 00:00:36.25] at MongoDB.Driver.Core.Connections.BinaryConnection.OpenHelper(OperationContext operationContext) +[xUnit.net 00:00:36.25] at MongoDB.Driver.Core.Connections.BinaryConnection.Open(OperationContext operationContext) +[xUnit.net 00:00:36.25] at MongoDB.Driver.Core.Servers.ServerMonitor.InitializeConnection(OperationContext operationContext) +[xUnit.net 00:00:36.25] at MongoDB.Driver.Core.Servers.ServerMonitor.Heartbeat(CancellationToken cancellationToken)", LastHeartbeatTimestamp: "2025-11-20T02:14:17.0633748Z", LastUpdateTimestamp: "2025-11-20T02:14:17.0634405Z" }] }. +[xUnit.net 00:00:36.25] Stack Trace: +[xUnit.net 00:00:36.26] at MongoDB.Driver.Core.Clusters.Cluster.SelectServer(OperationContext operationContext, IServerSelector selector) +[xUnit.net 00:00:36.26] at MongoDB.Driver.Core.Clusters.IClusterExtensions.SelectServerAndPinIfNeeded(IClusterInternal cluster, OperationContext operationContext, ICoreSessionHandle session, IServerSelector selector, IReadOnlyCollection`1 deprioritizedServers) +[xUnit.net 00:00:36.26] at MongoDB.Driver.Core.Bindings.ReadPreferenceBinding.GetReadChannelSource(OperationContext operationContext, IReadOnlyCollection`1 deprioritizedServers) +[xUnit.net 00:00:36.26] at MongoDB.Driver.Core.Bindings.ReadBindingHandle.GetReadChannelSource(OperationContext operationContext, IReadOnlyCollection`1 deprioritizedServers) +[xUnit.net 00:00:36.26] at MongoDB.Driver.Core.Operations.RetryableReadContext.AcquireOrReplaceChannel(OperationContext operationContext, IReadOnlyCollection`1 deprioritizedServers) +[xUnit.net 00:00:36.26] at MongoDB.Driver.Core.Operations.RetryableReadContext.Create(OperationContext operationContext, IReadBinding binding, Boolean retryRequested) +[xUnit.net 00:00:36.26] at MongoDB.Driver.Core.Operations.ReadCommandOperation`1.Execute(OperationContext operationContext, IReadBinding binding) +[xUnit.net 00:00:36.26] at MongoDB.Driver.OperationExecutor.ExecuteReadOperation[TResult](OperationContext operationContext, IClientSessionHandle session, IReadOperation`1 operation, ReadPreference readPreference, Boolean allowChannelPinning) +[xUnit.net 00:00:36.26] at MongoDB.Driver.MongoDatabase.ExecuteReadOperation[TResult](IClientSessionHandle session, IReadOperation`1 operation, ReadPreference explicitReadPreference, Nullable`1 timeout, CancellationToken cancellationToken) +[xUnit.net 00:00:36.26] at MongoDB.Driver.MongoDatabase.RunCommand[TResult](IClientSessionHandle session, Command`1 command, ReadPreference readPreference, CancellationToken cancellationToken) +[xUnit.net 00:00:36.26] at MongoDB.Driver.MongoDatabase.RunCommand[TResult](Command`1 command, ReadPreference readPreference, CancellationToken cancellationToken) +[xUnit.net 00:00:36.26] /_/src/Mongo2Go/Helper/MongoDbProcessStarter.cs(62,0): at Mongo2Go.Helper.MongoDbProcessStarter.Start(String binariesDirectory, String dataDirectory, Int32 port, Boolean doNotKill, Boolean singleNodeReplSet, String additionalMongodArguments, UInt16 singleNodeReplSetWaitTimeout, ILogger logger) +[xUnit.net 00:00:36.26] /_/src/Mongo2Go/Helper/MongoDbProcessStarter.cs(25,0): at Mongo2Go.Helper.MongoDbProcessStarter.Start(String binariesDirectory, String dataDirectory, Int32 port, Boolean singleNodeReplSet, String additionalMongodArguments, UInt16 singleNodeReplSetWaitTimeout, ILogger logger) +[xUnit.net 00:00:36.26] /_/src/Mongo2Go/MongoDbRunner.cs(202,0): at Mongo2Go.MongoDbRunner..ctor(IPortPool portPool, IFileSystem fileSystem, IMongoDbProcessStarter processStarter, IMongoBinaryLocator mongoBin, String dataDirectory, Boolean singleNodeReplSet, String additionalMongodArguments, UInt16 singleNodeReplSetWaitTimeout, ILogger logger) +[xUnit.net 00:00:36.26] /_/src/Mongo2Go/MongoDbRunner.cs(46,0): at Mongo2Go.MongoDbRunner.Start(String dataDirectory, String binariesSearchPatternOverride, String binariesSearchDirectory, Boolean singleNodeReplSet, String additionalMongodArguments, UInt16 singleNodeReplSetWaitTimeout, ILogger logger) +[xUnit.net 00:00:36.26] /mnt/e/dev/git.stella-ops.org/src/Concelier/__Tests/StellaOps.Concelier.WebService.Tests/WebServiceEndpointsTests.cs(72,0): at StellaOps.Concelier.WebService.Tests.WebServiceEndpointsTests.InitializeAsync() +/home/vlindos/.nuget/packages/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/bin/mongod: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory +[xUnit.net 00:01:11.60] System.TimeoutException : A timeout occurred after 29999ms selecting a server using CompositeServerSelector{ Selectors = ReadPreferenceServerSelector{ ReadPreference = { Mode : Primary } }, LatencyLimitingServerSelector{ AllowedLatencyRange = 00:00:00.0150000 }, OperationsCountServerSelector }. Client view of cluster state is { ClusterId : "2", DirectConnection : "true", Type : "Standalone", State : "Disconnected", Servers : [{ ServerId: "{ ClusterId : 2, EndPoint : "127.0.0.1:38053" }", EndPoint: "127.0.0.1:38053", ReasonChanged: "NotSpecified", State: "Disconnected", ServerVersion: , TopologyVersion: , Type: "Unknown", HeartbeatException: "MongoDB.Driver.MongoConnectionException: An exception occurred while opening a connection to the server. +[xUnit.net 00:01:11.60] ---> System.Net.Sockets.SocketException (111): Connection refused +[xUnit.net 00:01:11.60] at System.Threading.Tasks.ValueTask.ValueTaskSourceAsTask.<>c.<.cctor>b__4_0(Object state) +[xUnit.net 00:01:11.60] --- End of stack trace from previous location --- +[xUnit.net 00:01:11.60] at MongoDB.Driver.Core.Connections.TcpStreamFactory.Connect(Socket socket, EndPoint endPoint, CancellationToken cancellationToken) +[xUnit.net 00:01:11.60] at MongoDB.Driver.Core.Connections.TcpStreamFactory.CreateStream(EndPoint endPoint, CancellationToken cancellationToken) +[xUnit.net 00:01:11.60] at MongoDB.Driver.Core.Connections.BinaryConnection.OpenHelper(OperationContext operationContext) +[xUnit.net 00:01:11.60] --- End of inner exception stack trace --- +[xUnit.net 00:01:11.60] at MongoDB.Driver.Core.Connections.BinaryConnection.OpenHelper(OperationContext operationContext) +[xUnit.net 00:01:11.60] at MongoDB.Driver.Core.Connections.BinaryConnection.Open(OperationContext operationContext) +[xUnit.net 00:01:11.60] at MongoDB.Driver.Core.Servers.ServerMonitor.InitializeConnection(OperationContext operationContext) +[xUnit.net 00:01:11.60] at MongoDB.Driver.Core.Servers.ServerMonitor.Heartbeat(CancellationToken cancellationToken)", LastHeartbeatTimestamp: "2025-11-20T02:14:52.4235306Z", LastUpdateTimestamp: "2025-11-20T02:14:52.4235787Z" }] }. +[xUnit.net 00:01:11.60] Stack Trace: +[xUnit.net 00:01:11.60] at MongoDB.Driver.Core.Clusters.Cluster.SelectServer(OperationContext operationContext, IServerSelector selector) +[xUnit.net 00:01:11.60] at MongoDB.Driver.Core.Clusters.IClusterExtensions.SelectServerAndPinIfNeeded(IClusterInternal cluster, OperationContext operationContext, ICoreSessionHandle session, IServerSelector selector, IReadOnlyCollection`1 deprioritizedServers) +[xUnit.net 00:01:11.60] at MongoDB.Driver.Core.Bindings.ReadPreferenceBinding.GetReadChannelSource(OperationContext operationContext, IReadOnlyCollection`1 deprioritizedServers) +[xUnit.net 00:01:11.60] at MongoDB.Driver.Core.Bindings.ReadBindingHandle.GetReadChannelSource(OperationContext operationContext, IReadOnlyCollection`1 deprioritizedServers) +[xUnit.net 00:01:11.60] at MongoDB.Driver.Core.Operations.RetryableReadContext.AcquireOrReplaceChannel(OperationContext operationContext, IReadOnlyCollection`1 deprioritizedServers) +[xUnit.net 00:01:11.60] at MongoDB.Driver.Core.Operations.RetryableReadContext.Create(OperationContext operationContext, IReadBinding binding, Boolean retryRequested) +[xUnit.net 00:01:11.60] at MongoDB.Driver.Core.Operations.ReadCommandOperation`1.Execute(OperationContext operationContext, IReadBinding binding) +[xUnit.net 00:01:11.60] at MongoDB.Driver.OperationExecutor.ExecuteReadOperation[TResult](OperationContext operationContext, IClientSessionHandle session, IReadOperation`1 operation, ReadPreference readPreference, Boolean allowChannelPinning) +[xUnit.net 00:01:11.60] at MongoDB.Driver.MongoDatabase.ExecuteReadOperation[TResult](IClientSessionHandle session, IReadOperation`1 operation, ReadPreference explicitReadPreference, Nullable`1 timeout, CancellationToken cancellationToken) +[xUnit.net 00:01:11.60] at MongoDB.Driver.MongoDatabase.RunCommand[TResult](IClientSessionHandle session, Command`1 command, ReadPreference readPreference, CancellationToken cancellationToken) +[xUnit.net 00:01:11.60] at MongoDB.Driver.MongoDatabase.RunCommand[TResult](Command`1 command, ReadPreference readPreference, CancellationToken cancellationToken) +[xUnit.net 00:01:11.60] /_/src/Mongo2Go/Helper/MongoDbProcessStarter.cs(62,0): at Mongo2Go.Helper.MongoDbProcessStarter.Start(String binariesDirectory, String dataDirectory, Int32 port, Boolean doNotKill, Boolean singleNodeReplSet, String additionalMongodArguments, UInt16 singleNodeReplSetWaitTimeout, ILogger logger) +[xUnit.net 00:01:11.60] /_/src/Mongo2Go/Helper/MongoDbProcessStarter.cs(25,0): at Mongo2Go.Helper.MongoDbProcessStarter.Start(String binariesDirectory, String dataDirectory, Int32 port, Boolean singleNodeReplSet, String additionalMongodArguments, UInt16 singleNodeReplSetWaitTimeout, ILogger logger) +[xUnit.net 00:01:11.60] /_/src/Mongo2Go/MongoDbRunner.cs(202,0): at Mongo2Go.MongoDbRunner..ctor(IPortPool portPool, IFileSystem fileSystem, IMongoDbProcessStarter processStarter, IMongoBinaryLocator mongoBin, String dataDirectory, Boolean singleNodeReplSet, String additionalMongodArguments, UInt16 singleNodeReplSetWaitTimeout, ILogger logger) +[xUnit.net 00:01:11.60] /_/src/Mongo2Go/MongoDbRunner.cs(46,0): at Mongo2Go.MongoDbRunner.Start(String dataDirectory, String binariesSearchPatternOverride, String binariesSearchDirectory, Boolean singleNodeReplSet, String additionalMongodArguments, UInt16 singleNodeReplSetWaitTimeout, ILogger logger) +[xUnit.net 00:01:11.60] /mnt/e/dev/git.stella-ops.org/src/Concelier/__Tests/StellaOps.Concelier.WebService.Tests/WebServiceEndpointsTests.cs(72,0): at StellaOps.Concelier.WebService.Tests.WebServiceEndpointsTests.InitializeAsync() +[xUnit.net 00:01:11.60] Finished: StellaOps.Concelier.WebService.Tests + + + + + [xUnit.net 00:00:36.25] StellaOps.Concelier.WebService.Tests.WebServiceEndpointsTests.LinksetsEndpoint_SupportsCursorPagination [FAIL] + + + [xUnit.net 00:01:11.60] StellaOps.Concelier.WebService.Tests.WebServiceEndpointsTests.LinksetsEndpoint_ReturnsNormalizedLinksetsFromIngestion [FAIL] + + + + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index b9918b6c8..51a657c70 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,8 @@ "version": "0.1.0", "dependencies": { "ajv": "^8.17.1", - "ajv-formats": "^2.1.1" + "ajv-formats": "^2.1.1", + "yaml": "^2.4.5" } }, "node_modules/ajv": { @@ -81,6 +82,18 @@ "engines": { "node": ">=0.10.0" } + }, + "node_modules/yaml": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", + "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + } } } } diff --git a/package.json b/package.json index 6f7468f71..872feb9e2 100644 --- a/package.json +++ b/package.json @@ -6,10 +6,16 @@ "scripts": { "docs:attestor:validate": "node scripts/validate-attestation-schemas.mjs", "docs:attestor:generate": "dotnet run --project src/Attestor/StellaOps.Attestor.Types/Tools/StellaOps.Attestor.Types.Generator --configuration Release", - "api:lint": "sh -c 'set -e; files=$(find src/Api/StellaOps.Api.OpenApi -type f -name \"*.yaml\" 2>/dev/null | wc -l); if [ \"$files\" -eq 0 ]; then echo \"[api:lint] no OpenAPI files found; skipping\"; exit 0; fi; npx --yes @stoplight/spectral-cli lint src/Api/StellaOps.Api.OpenApi/**/*.yaml'" + "api:lint": "sh -c 'set -e; files=$(find src/Api/StellaOps.Api.OpenApi -type f -name \"*.yaml\" 2>/dev/null | wc -l); if [ \"$files\" -eq 0 ]; then echo \"[api:lint] no OpenAPI files found; skipping\"; exit 0; fi; npx --yes @stoplight/spectral-cli lint src/Api/StellaOps.Api.OpenApi/**/*.yaml'", + "api:examples": "node scripts/api-example-coverage.mjs", + "api:compose": "node src/Api/StellaOps.Api.OpenApi/compose.mjs", + "api:compat": "node scripts/api-compat-diff.mjs", + "api:compat:test": "node scripts/api-compat-diff.test.mjs", + "api:changelog": "node scripts/api-changelog.mjs" }, "dependencies": { "ajv": "^8.17.1", - "ajv-formats": "^2.1.1" + "ajv-formats": "^2.1.1", + "yaml": "^2.4.5" } -} +} \ No newline at end of file diff --git a/samples/TASKS.md b/samples/TASKS.md new file mode 100644 index 000000000..842bc31e8 --- /dev/null +++ b/samples/TASKS.md @@ -0,0 +1,10 @@ +# Samples Guild Tasks (coordination mirror) + +| Task ID | Status | Sprint | Owners | Key dependency / next step | Notes | +| --- | --- | --- | --- | --- | --- | +| SAMPLES-GRAPH-24-003 | BLOCKED (2025-11-18) | SPRINT_0509_0001_0001_samples | Samples Guild · SBOM Service Guild | Await Graph Guild overlay field/manifest decision (checkpoint 2025-11-22) and approval of mock SBOM source list. | Large-scale SBOM graph fixture (~40k nodes) + policy overlay snapshot for perf/regression suites. | +| SAMPLES-GRAPH-24-004 | TODO | SPRINT_0509_0001_0001_samples | Samples Guild · UI Guild | Depends on SAMPLES-GRAPH-24-003 fixture availability. | Vulnerability explorer JSON/CSV fixtures with conflicting evidence/policy outputs for UI/CLI tests. | +| SAMPLES-LNM-22-001 | BLOCKED | SPRINT_0509_0001_0001_samples | Samples Guild · Concelier Guild | Waiting on finalized Concelier advisory linkset schema. | Advisory observation/linkset fixtures (NVD, GHSA, OSV disagreements). | +| SAMPLES-LNM-22-002 | BLOCKED | SPRINT_0509_0001_0001_samples | Samples Guild · Excititor Guild | Depends on 22-001 outputs + Excititor linkset implementation. | VEX observation/linkset fixtures with status conflicts/path relevance; include raw blobs. | + +Status updates must stay in sync with the corresponding sprint tracker. diff --git a/scripts/__fixtures__/api-compat/new.yaml b/scripts/__fixtures__/api-compat/new.yaml new file mode 100644 index 000000000..78cba6182 --- /dev/null +++ b/scripts/__fixtures__/api-compat/new.yaml @@ -0,0 +1,15 @@ +openapi: 3.1.0 +info: + title: Demo API + version: 1.1.0 +paths: + /foo: + get: + responses: + "201": + description: created + /bar: + get: + responses: + "200": + description: ok diff --git a/scripts/__fixtures__/api-compat/old.yaml b/scripts/__fixtures__/api-compat/old.yaml new file mode 100644 index 000000000..8162d88a2 --- /dev/null +++ b/scripts/__fixtures__/api-compat/old.yaml @@ -0,0 +1,10 @@ +openapi: 3.1.0 +info: + title: Demo API + version: 1.0.0 +paths: + /foo: + get: + responses: + "200": + description: ok diff --git a/scripts/api-changelog.mjs b/scripts/api-changelog.mjs new file mode 100644 index 000000000..eef490bac --- /dev/null +++ b/scripts/api-changelog.mjs @@ -0,0 +1,90 @@ +#!/usr/bin/env node +import fs from 'node:fs'; +import path from 'node:path'; +import yaml from 'yaml'; + +const ROOT = path.resolve('src/Api/StellaOps.Api.OpenApi'); +const BASELINE = path.join(ROOT, 'baselines', 'stella-baseline.yaml'); +const CURRENT = path.join(ROOT, 'stella.yaml'); +const OUTPUT = path.join(ROOT, 'CHANGELOG.md'); + +function panic(message) { + console.error(`[api:changelog] ${message}`); + process.exit(1); +} + +function loadSpec(file) { + if (!fs.existsSync(file)) { + panic(`Spec not found: ${file}`); + } + return yaml.parse(fs.readFileSync(file, 'utf8')); +} + +function enumerateOps(spec) { + const ops = new Map(); + for (const [route, methods] of Object.entries(spec.paths || {})) { + for (const [method, operation] of Object.entries(methods || {})) { + const lower = method.toLowerCase(); + if (!['get','post','put','delete','patch','head','options','trace'].includes(lower)) continue; + const id = `${lower.toUpperCase()} ${route}`; + ops.set(id, operation || {}); + } + } + return ops; +} + +function diffSpecs(oldSpec, newSpec) { + const oldOps = enumerateOps(oldSpec); + const newOps = enumerateOps(newSpec); + const additive = []; + const breaking = []; + + for (const id of newOps.keys()) { + if (!oldOps.has(id)) { + additive.push(id); + } + } + for (const id of oldOps.keys()) { + if (!newOps.has(id)) { + breaking.push(id); + } + } + return { additive: additive.sort(), breaking: breaking.sort() }; +} + +function renderMarkdown(diff) { + const lines = []; + lines.push('# API Changelog'); + lines.push(''); + const date = new Date().toISOString(); + lines.push(`Generated: ${date}`); + lines.push(''); + lines.push('## Additive Operations'); + if (diff.additive.length === 0) { + lines.push('- None'); + } else { + diff.additive.forEach((op) => lines.push(`- ${op}`)); + } + lines.push(''); + lines.push('## Breaking Operations'); + if (diff.breaking.length === 0) { + lines.push('- None'); + } else { + diff.breaking.forEach((op) => lines.push(`- ${op}`)); + } + lines.push(''); + return lines.join('\n'); +} + +function main() { + if (!fs.existsSync(BASELINE)) { + console.log('[api:changelog] baseline missing; skipping'); + return; + } + const diff = diffSpecs(loadSpec(BASELINE), loadSpec(CURRENT)); + const markdown = renderMarkdown(diff); + fs.writeFileSync(OUTPUT, markdown, 'utf8'); + console.log(`[api:changelog] wrote changelog to ${OUTPUT}`); +} + +main(); diff --git a/scripts/api-compat-changelog.mjs b/scripts/api-compat-changelog.mjs new file mode 100644 index 000000000..7e6900327 --- /dev/null +++ b/scripts/api-compat-changelog.mjs @@ -0,0 +1,104 @@ +#!/usr/bin/env node +/** + * Generate a Markdown changelog from two OpenAPI specs using the api-compat-diff tool. + * + * Usage: + * node scripts/api-compat-changelog.mjs [--title "Release X"] [--fail-on-breaking] + * + * Output is written to stdout. + */ +import { execFileSync } from 'child_process'; +import process from 'process'; +import path from 'path'; + +function panic(message) { + console.error(`[api-compat-changelog] ${message}`); + process.exit(1); +} + +function parseArgs(argv) { + const args = argv.slice(2); + if (args.length < 2) { + panic('Usage: node scripts/api-compat-changelog.mjs [--title "Release X"] [--fail-on-breaking]'); + } + + const opts = { + oldSpec: args[0], + newSpec: args[1], + title: 'API Compatibility Report', + failOnBreaking: false, + }; + + for (let i = 2; i < args.length; i += 1) { + const arg = args[i]; + if (arg === '--title' && args[i + 1]) { + opts.title = args[i + 1]; + i += 1; + } else if (arg === '--fail-on-breaking') { + opts.failOnBreaking = true; + } + } + + return opts; +} + +function runCompatDiff(oldSpec, newSpec) { + const output = execFileSync( + 'node', + ['scripts/api-compat-diff.mjs', oldSpec, newSpec, '--output', 'json'], + { encoding: 'utf8' } + ); + return JSON.parse(output); +} + +function formatList(items, symbol) { + if (!items || items.length === 0) { + return `${symbol} None`; + } + return items.map((item) => `${symbol} ${item}`).join('\n'); +} + +function renderMarkdown(title, diff, oldSpec, newSpec) { + return [ + `# ${title}`, + '', + `- Old spec: \`${path.relative(process.cwd(), oldSpec)}\``, + `- New spec: \`${path.relative(process.cwd(), newSpec)}\``, + '', + '## Summary', + `- Additive operations: ${diff.additive.operations.length}`, + `- Breaking operations: ${diff.breaking.operations.length}`, + `- Additive responses: ${diff.additive.responses.length}`, + `- Breaking responses: ${diff.breaking.responses.length}`, + '', + '## Additive', + '### Operations', + formatList(diff.additive.operations, '-'), + '', + '### Responses', + formatList(diff.additive.responses, '-'), + '', + '## Breaking', + '### Operations', + formatList(diff.breaking.operations, '-'), + '', + '### Responses', + formatList(diff.breaking.responses, '-'), + '', + ].join('\n'); +} + +function main() { + const opts = parseArgs(process.argv); + const diff = runCompatDiff(opts.oldSpec, opts.newSpec); + const markdown = renderMarkdown(opts.title, diff, opts.oldSpec, opts.newSpec); + console.log(markdown); + + if (opts.failOnBreaking && (diff.breaking.operations.length > 0 || diff.breaking.responses.length > 0)) { + process.exit(2); + } +} + +if (import.meta.url === `file://${process.argv[1]}`) { + main(); +} diff --git a/scripts/api-compat-changelog.test.mjs b/scripts/api-compat-changelog.test.mjs new file mode 100644 index 000000000..6ef392c10 --- /dev/null +++ b/scripts/api-compat-changelog.test.mjs @@ -0,0 +1,26 @@ +import assert from 'assert'; +import { fileURLToPath } from 'url'; +import path from 'path'; +import { execFileSync } from 'child_process'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const root = path.join(__dirname, '..'); + +const fixturesDir = path.join(root, 'scripts', '__fixtures__', 'api-compat'); +const oldSpec = path.join(fixturesDir, 'old.yaml'); +const newSpec = path.join(fixturesDir, 'new.yaml'); + +const output = execFileSync('node', ['scripts/api-compat-changelog.mjs', oldSpec, newSpec, '--title', 'Test Report'], { + cwd: root, + encoding: 'utf8', +}); + +assert(output.includes('# Test Report')); +assert(output.includes('Additive operations: 1')); +assert(output.includes('Breaking operations: 0')); +assert(output.includes('- get /bar')); +assert(output.includes('- get /foo -> 201')); +assert(output.includes('- get /foo -> 200')); + +console.log('api-compat-changelog test passed'); diff --git a/scripts/api-compat-diff.mjs b/scripts/api-compat-diff.mjs new file mode 100644 index 000000000..39d34b5af --- /dev/null +++ b/scripts/api-compat-diff.mjs @@ -0,0 +1,194 @@ +#!/usr/bin/env node +/** + * API compatibility diff tool + * Compares two OpenAPI 3.x specs (YAML or JSON) and reports additive vs breaking changes. + * + * Usage: + * node scripts/api-compat-diff.mjs [--output json|text] [--fail-on-breaking] + * + * Output (text): + * - Added operations (additive) + * - Removed operations (breaking) + * - Added responses (additive) + * - Removed responses (breaking) + * + * Output (json): + * { + * additive: { operations: [...], responses: [...] }, + * breaking: { operations: [...], responses: [...] } + * } + * + * Exit codes: + * 0 => success + * 1 => invalid/missing args or IO/parsing error + * 2 => breaking changes detected with --fail-on-breaking + */ + +import fs from 'fs'; +import path from 'path'; +import process from 'process'; +import yaml from 'yaml'; + +function panic(message) { + console.error(`[api-compat-diff] ${message}`); + process.exit(1); +} + +function parseArgs(argv) { + const args = argv.slice(2); + const opts = { output: 'text', failOnBreaking: false }; + + if (args.length < 2) { + panic('Usage: node scripts/api-compat-diff.mjs [--output json|text] [--fail-on-breaking]'); + } + + [opts.oldSpec, opts.newSpec] = args.slice(0, 2); + + for (let i = 2; i < args.length; i += 1) { + const arg = args[i]; + if (arg === '--output' && args[i + 1]) { + opts.output = args[i + 1].toLowerCase(); + i += 1; + } else if (arg === '--fail-on-breaking') { + opts.failOnBreaking = true; + } + } + + if (!['text', 'json'].includes(opts.output)) { + panic(`Unsupported output mode: ${opts.output}`); + } + + return opts; +} + +function loadSpec(specPath) { + if (!fs.existsSync(specPath)) { + panic(`Spec not found: ${specPath}`); + } + + const raw = fs.readFileSync(specPath, 'utf8'); + const ext = path.extname(specPath).toLowerCase(); + + try { + if (ext === '.json') { + return JSON.parse(raw); + } + return yaml.parse(raw); + } catch (err) { + panic(`Failed to parse ${specPath}: ${err.message}`); + } +} + +function enumerateOperations(spec) { + const ops = new Map(); + if (!spec?.paths || typeof spec.paths !== 'object') { + return ops; + } + + for (const [pathKey, pathItem] of Object.entries(spec.paths)) { + if (!pathItem || typeof pathItem !== 'object') { + continue; + } + for (const method of Object.keys(pathItem)) { + const lowerMethod = method.toLowerCase(); + if (!['get', 'put', 'post', 'delete', 'patch', 'head', 'options', 'trace'].includes(lowerMethod)) { + continue; + } + const opId = `${lowerMethod} ${pathKey}`; + const responses = pathItem[method]?.responses ?? {}; + ops.set(opId, { + method: lowerMethod, + path: pathKey, + responses: new Set(Object.keys(responses)), + }); + } + } + + return ops; +} + +function diffOperations(oldOps, newOps) { + const additiveOps = []; + const breakingOps = []; + const additiveResponses = []; + const breakingResponses = []; + + // Operations added or removed + for (const [id, op] of newOps.entries()) { + if (!oldOps.has(id)) { + additiveOps.push(id); + } + } + + for (const [id] of oldOps.entries()) { + if (!newOps.has(id)) { + breakingOps.push(id); + } + } + + // Response-level diffs for shared operations + for (const [id, newOp] of newOps.entries()) { + if (!oldOps.has(id)) continue; + const oldOp = oldOps.get(id); + + for (const code of newOp.responses) { + if (!oldOp.responses.has(code)) { + additiveResponses.push(`${id} -> ${code}`); + } + } + + for (const code of oldOp.responses) { + if (!newOp.responses.has(code)) { + breakingResponses.push(`${id} -> ${code}`); + } + } + } + + return { + additive: { + operations: additiveOps.sort(), + responses: additiveResponses.sort(), + }, + breaking: { + operations: breakingOps.sort(), + responses: breakingResponses.sort(), + }, + }; +} + +function renderText(diff) { + const lines = []; + lines.push('Additive:'); + lines.push(` Operations: ${diff.additive.operations.length}`); + diff.additive.operations.forEach((op) => lines.push(` + ${op}`)); + lines.push(` Responses: ${diff.additive.responses.length}`); + diff.additive.responses.forEach((resp) => lines.push(` + ${resp}`)); + lines.push('Breaking:'); + lines.push(` Operations: ${diff.breaking.operations.length}`); + diff.breaking.operations.forEach((op) => lines.push(` - ${op}`)); + lines.push(` Responses: ${diff.breaking.responses.length}`); + diff.breaking.responses.forEach((resp) => lines.push(` - ${resp}`)); + return lines.join('\n'); +} + +function main() { + const opts = parseArgs(process.argv); + const oldSpec = loadSpec(opts.oldSpec); + const newSpec = loadSpec(opts.newSpec); + + const diff = diffOperations(enumerateOperations(oldSpec), enumerateOperations(newSpec)); + + if (opts.output === 'json') { + console.log(JSON.stringify(diff, null, 2)); + } else { + console.log(renderText(diff)); + } + + if (opts.failOnBreaking && (diff.breaking.operations.length > 0 || diff.breaking.responses.length > 0)) { + process.exit(2); + } +} + +if (import.meta.url === `file://${process.argv[1]}`) { + main(); +} diff --git a/scripts/api-compat-diff.test.mjs b/scripts/api-compat-diff.test.mjs new file mode 100644 index 000000000..4e2f3334b --- /dev/null +++ b/scripts/api-compat-diff.test.mjs @@ -0,0 +1,25 @@ +import assert from 'assert'; +import { fileURLToPath } from 'url'; +import path from 'path'; +import { execFileSync } from 'child_process'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +const fixturesDir = path.join(__dirname, '__fixtures__', 'api-compat'); +const oldSpec = path.join(fixturesDir, 'old.yaml'); +const newSpec = path.join(fixturesDir, 'new.yaml'); + +const output = execFileSync('node', ['scripts/api-compat-diff.mjs', oldSpec, newSpec, '--output', 'json'], { + cwd: path.join(__dirname, '..'), + encoding: 'utf8', +}); + +const diff = JSON.parse(output); + +assert.deepStrictEqual(diff.additive.operations, ['get /bar']); +assert.deepStrictEqual(diff.breaking.operations, []); +assert.deepStrictEqual(diff.additive.responses, ['get /foo -> 201']); +assert.deepStrictEqual(diff.breaking.responses, ['get /foo -> 200']); + +console.log('api-compat-diff test passed'); diff --git a/scripts/api-example-coverage.mjs b/scripts/api-example-coverage.mjs new file mode 100644 index 000000000..3c369d21d --- /dev/null +++ b/scripts/api-example-coverage.mjs @@ -0,0 +1,139 @@ +#!/usr/bin/env node +// Verifies every OpenAPI operation has at least one request example and one response example. +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { parse } from 'yaml'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +const ROOT = path.resolve(__dirname, '..'); +const OAS_ROOT = path.join(ROOT, 'src', 'Api', 'StellaOps.Api.OpenApi'); + +async function main() { + if (!fs.existsSync(OAS_ROOT)) { + console.log('[api:examples] no OpenAPI directory found; skipping'); + return; + } + + const files = await findYamlFiles(OAS_ROOT); + if (files.length === 0) { + console.log('[api:examples] no OpenAPI files found; skipping'); + return; + } + + const failures = []; + + for (const relative of files) { + const fullPath = path.join(OAS_ROOT, relative); + const content = fs.readFileSync(fullPath, 'utf8'); + let doc; + try { + doc = parse(content, { prettyErrors: true }); + } catch (err) { + failures.push({ file: relative, path: '', method: '', reason: `YAML parse error: ${err.message}` }); + continue; + } + + const paths = doc?.paths || {}; + for (const [route, methods] of Object.entries(paths)) { + for (const [method, operation] of Object.entries(methods || {})) { + if (!isHttpMethod(method)) continue; + + const hasRequestExample = operation?.requestBody ? hasExample(operation.requestBody) : true; + const hasResponseExample = Object.values(operation?.responses || {}).some(resp => hasExample(resp)); + + if (!hasRequestExample || !hasResponseExample) { + const missing = []; + if (!hasRequestExample) missing.push('request'); + if (!hasResponseExample) missing.push('response'); + failures.push({ file: relative, path: route, method, reason: `missing ${missing.join(' & ')} example` }); + } + } + } + } + + if (failures.length > 0) { + console.error('[api:examples] found operations without examples:'); + for (const f of failures) { + const locus = [f.file, f.path, f.method.toUpperCase()].filter(Boolean).join(' '); + console.error(` - ${locus}: ${f.reason}`); + } + process.exit(1); + } + + console.log('[api:examples] all operations contain request and response examples'); +} + +async function findYamlFiles(root) { + const results = []; + async function walk(dir) { + const entries = await fs.promises.readdir(dir, { withFileTypes: true }); + for (const entry of entries) { + const full = path.join(dir, entry.name); + if (entry.isDirectory()) { + await walk(full); + } else if (entry.isFile() && entry.name.toLowerCase().endsWith('.yaml')) { + results.push(path.relative(root, full)); + } + } + } + await walk(root); + return results; +} + +function isHttpMethod(method) { + return ['get', 'post', 'put', 'patch', 'delete', 'options', 'head', 'trace'].includes(method.toLowerCase()); +} + +function hasExample(node) { + if (!node) return false; + + // request/response objects may include content -> mediaType -> schema/example/examples + const content = node.content || {}; + for (const media of Object.values(content)) { + if (!media) continue; + if (media.example !== undefined) return true; + if (media.examples && Object.keys(media.examples).length > 0) return true; + if (media.schema && hasSchemaExample(media.schema)) return true; + } + + // response objects may have "examples" directly (non-standard but allowed by spectral rules) + if (node.examples && Object.keys(node.examples).length > 0) return true; + + return false; +} + +function hasSchemaExample(schema) { + if (!schema) return false; + if (schema.example !== undefined) return true; + if (schema.examples && Array.isArray(schema.examples) && schema.examples.length > 0) return true; + + // Recurse into allOf/oneOf/anyOf + const composites = ['allOf', 'oneOf', 'anyOf']; + for (const key of composites) { + if (Array.isArray(schema[key])) { + if (schema[key].some(hasSchemaExample)) return true; + } + } + + // For objects, check properties + if (schema.type === 'object' && schema.properties) { + for (const value of Object.values(schema.properties)) { + if (hasSchemaExample(value)) return true; + } + } + + // For arrays, check items + if (schema.type === 'array' && schema.items) { + return hasSchemaExample(schema.items); + } + + return false; +} + +main().catch(err => { + console.error('[api:examples] fatal error', err); + process.exit(1); +}); diff --git a/scripts/provenance_backfill.py b/scripts/provenance_backfill.py new file mode 100644 index 000000000..95857c338 --- /dev/null +++ b/scripts/provenance_backfill.py @@ -0,0 +1,115 @@ +#!/usr/bin/env python3 +""" +Deterministic provenance backfill helper for Sprint 401. + +Reads the attestation inventory NDJSON and subject→Rekor map, emits a sorted +NDJSON log of resolved backfill actions. No network calls are performed. + +Usage: + python scripts/provenance_backfill.py \ + --inventory docs/provenance/attestation-inventory-2025-11-18.ndjson \ + --subject-map docs/provenance/subject-rekor-map-2025-11-18.json \ + --out logs/provenance-backfill-2025-11-18.ndjson +""" + +from __future__ import annotations + +import argparse +import json +import sys +from dataclasses import dataclass +from pathlib import Path +from typing import Dict, Iterable, List, Optional + + +@dataclass(frozen=True) +class InventoryRecord: + subject: str + dsse_hash: str + rekor_entry: str + + @staticmethod + def from_json(obj: dict) -> "InventoryRecord": + return InventoryRecord( + subject=obj["subject"], + dsse_hash=obj["dsseHash"], + rekor_entry=obj.get("rekorEntry", ""), + ) + + +def load_inventory(path: Path) -> List[InventoryRecord]: + records: List[InventoryRecord] = [] + with path.open("r", encoding="utf-8") as f: + for line in f: + line = line.strip() + if not line: + continue + records.append(InventoryRecord.from_json(json.loads(line))) + return records + + +def load_subject_map(path: Path) -> Dict[str, str]: + with path.open("r", encoding="utf-8") as f: + return json.load(f) + + +def validate_hash(prefix: str, value: str) -> None: + if not value.startswith("sha256:") or len(value) <= len("sha256:"): + raise ValueError(f"{prefix} must be sha256:: got '{value}'") + + +def build_backfill_entries( + inventory: Iterable[InventoryRecord], + subject_map: Dict[str, str], +) -> List[dict]: + entries: List[dict] = [] + for rec in inventory: + validate_hash("dsseHash", rec.dsse_hash) + resolved_rekor = subject_map.get(rec.subject) + status = "resolved" if resolved_rekor else "missing_rekor_entry" + rekor_entry = resolved_rekor or rec.rekor_entry + if rekor_entry: + validate_hash("rekorEntry", rekor_entry) + entries.append( + { + "subject": rec.subject, + "dsseHash": rec.dsse_hash, + "rekorEntry": rekor_entry, + "status": status, + } + ) + entries.sort(key=lambda o: (o["subject"], o["rekorEntry"] or "")) + return entries + + +def write_ndjson(path: Path, entries: Iterable[dict]) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + with path.open("w", encoding="utf-8") as f: + for entry in entries: + f.write(json.dumps(entry, separators=(",", ":"), sort_keys=True)) + f.write("\n") + + +def parse_args(argv: Optional[List[str]] = None) -> argparse.Namespace: + parser = argparse.ArgumentParser(description="Deterministic provenance backfill helper.") + parser.add_argument("--inventory", required=True, type=Path, help="Path to attestation inventory NDJSON.") + parser.add_argument("--subject-map", required=True, type=Path, help="Path to subject→Rekor JSON map.") + parser.add_argument("--out", required=True, type=Path, help="Output NDJSON log path.") + return parser.parse_args(argv) + + +def main(argv: Optional[List[str]] = None) -> int: + args = parse_args(argv) + inventory = load_inventory(args.inventory) + subject_map = load_subject_map(args.subject_map) + entries = build_backfill_entries(inventory, subject_map) + write_ndjson(args.out, entries) + + resolved = sum(1 for e in entries if e["status"] == "resolved") + missing = sum(1 for e in entries if e["status"] != "resolved") + print(f"wrote {len(entries)} entries -> {args.out} (resolved={resolved}, missing={missing})") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/src/Api/StellaOps.Api.OpenApi/CHANGELOG.md b/src/Api/StellaOps.Api.OpenApi/CHANGELOG.md new file mode 100644 index 000000000..382330049 --- /dev/null +++ b/src/Api/StellaOps.Api.OpenApi/CHANGELOG.md @@ -0,0 +1,10 @@ +# API Changelog + +Generated: 2025-11-19T07:40:32.086Z + +## Additive Operations +- GET /export-center/bundles/{bundleId}/manifest +- GET /graph/graphs/{graphId}/nodes + +## Breaking Operations +- None diff --git a/src/Api/StellaOps.Api.OpenApi/_shared/parameters/paging.yaml b/src/Api/StellaOps.Api.OpenApi/_shared/parameters/paging.yaml new file mode 100644 index 000000000..67ff47b92 --- /dev/null +++ b/src/Api/StellaOps.Api.OpenApi/_shared/parameters/paging.yaml @@ -0,0 +1,17 @@ +parameters: + LimitParam: + name: limit + in: query + required: false + schema: + type: integer + minimum: 1 + maximum: 200 + example: 50 + CursorParam: + name: cursor + in: query + required: false + schema: + type: string + example: eyJyIjoiMjAyNS0xMS0xOC0wMDIifQ diff --git a/src/Api/StellaOps.Api.OpenApi/_shared/parameters/tenant.yaml b/src/Api/StellaOps.Api.OpenApi/_shared/parameters/tenant.yaml new file mode 100644 index 000000000..d194fc407 --- /dev/null +++ b/src/Api/StellaOps.Api.OpenApi/_shared/parameters/tenant.yaml @@ -0,0 +1,9 @@ +parameters: + TenantParam: + name: tenant + in: query + required: false + schema: + type: string + description: Filter results to a specific tenant identifier. + example: acme diff --git a/src/Api/StellaOps.Api.OpenApi/_shared/responses/defaults.yaml b/src/Api/StellaOps.Api.OpenApi/_shared/responses/defaults.yaml new file mode 100644 index 000000000..949dcfe19 --- /dev/null +++ b/src/Api/StellaOps.Api.OpenApi/_shared/responses/defaults.yaml @@ -0,0 +1,13 @@ +responses: + ErrorResponse: + description: Error envelope + content: + application/json: + schema: + $ref: '../schemas/common.yaml#/schemas/ErrorEnvelope' + HealthResponse: + description: Health envelope + content: + application/json: + schema: + $ref: '../schemas/common.yaml#/schemas/HealthEnvelope' diff --git a/src/Api/StellaOps.Api.OpenApi/_shared/schemas/common.yaml b/src/Api/StellaOps.Api.OpenApi/_shared/schemas/common.yaml new file mode 100644 index 000000000..ada6e1553 --- /dev/null +++ b/src/Api/StellaOps.Api.OpenApi/_shared/schemas/common.yaml @@ -0,0 +1,37 @@ +schemas: + ErrorEnvelope: + type: object + required: [code, message] + properties: + code: + type: string + example: service_unavailable + message: + type: string + traceId: + type: string + description: Correlation identifier for troubleshooting + HealthEnvelope: + type: object + required: [status, service] + properties: + status: + type: string + example: ok + service: + type: string + example: any-service + PageMetadata: + type: object + required: + - hasMore + properties: + hasMore: + type: boolean + description: Indicates if additional pages are available. + nextCursor: + type: string + description: Cursor to fetch the next page. + previousCursor: + type: string + description: Cursor to fetch the previous page. diff --git a/src/Api/StellaOps.Api.OpenApi/_shared/securitySchemes/default.yaml b/src/Api/StellaOps.Api.OpenApi/_shared/securitySchemes/default.yaml new file mode 100644 index 000000000..1b9831e93 --- /dev/null +++ b/src/Api/StellaOps.Api.OpenApi/_shared/securitySchemes/default.yaml @@ -0,0 +1,12 @@ +securitySchemes: + OAuthClientCredentials: + type: oauth2 + description: OAuth 2.1 client credentials flow scoped per service. + flows: + clientCredentials: + tokenUrl: /token + scopes: {} + BearerAuth: + type: http + scheme: bearer + bearerFormat: JWT diff --git a/src/Api/StellaOps.Api.OpenApi/baselines/stella-baseline.yaml b/src/Api/StellaOps.Api.OpenApi/baselines/stella-baseline.yaml new file mode 100644 index 000000000..40f859500 --- /dev/null +++ b/src/Api/StellaOps.Api.OpenApi/baselines/stella-baseline.yaml @@ -0,0 +1,1377 @@ +components: + parameters: + CursorParam: + example: eyJyIjoiMjAyNS0xMS0xOC0wMDIifQ + in: query + name: cursor + required: false + schema: + type: string + LimitParam: + example: 50 + in: query + name: limit + required: false + schema: + maximum: 200 + minimum: 1 + type: integer + responses: + ErrorResponse: + content: + application/json: + schema: + $ref: ../schemas/common.yaml#/schemas/ErrorEnvelope + description: Error envelope + HealthResponse: + content: + application/json: + schema: + $ref: ../schemas/common.yaml#/schemas/HealthEnvelope + description: Health envelope + schemas: + ErrorEnvelope: + properties: + code: + example: service_unavailable + type: string + message: + type: string + traceId: + description: Correlation identifier for troubleshooting + type: string + required: + - code + - message + type: object + HealthEnvelope: + properties: + service: + example: any-service + type: string + status: + example: ok + type: string + required: + - status + - service + type: object + authority.ClientCredentialsGrantRequest: + description: Form-encoded payload for client credentials exchange. + properties: + authority_provider: + description: Optional identity provider hint for plugin-backed clients. + type: string + client_id: + description: Registered client identifier. May also be supplied via HTTP Basic + auth. + type: string + client_secret: + description: Client secret. Required for confidential clients when not using + HTTP Basic auth. + type: string + grant_type: + const: client_credentials + type: string + operator_reason: + description: Required when requesting `orch:operate`; explains the operator + action. + maxLength: 256 + type: string + operator_ticket: + description: Required when requesting `orch:operate`; tracks the external change + ticket or incident. + maxLength: 128 + type: string + scope: + description: Space-delimited scopes being requested. + type: string + required: + - grant_type + - client_id + type: object + authority.IntrospectionRequest: + description: Form-encoded payload for token introspection. + properties: + token: + description: Token value whose state should be introspected. + type: string + token_type_hint: + description: Optional token type hint (`access_token` or `refresh_token`). + type: string + required: + - token + type: object + authority.IntrospectionResponse: + description: Active token descriptor compliant with RFC 7662. + properties: + active: + description: Indicates whether the token is currently active. + type: boolean + aud: + description: Audience values associated with the token. + items: + type: string + type: array + client_id: + description: Client identifier associated with the token. + type: string + confirmation: + description: Sender-constrained confirmation data (e.g., mTLS thumbprint, DPoP + JWK thumbprint). + type: object + exp: + description: Expiration timestamp (seconds since UNIX epoch). + type: integer + iat: + description: Issued-at timestamp (seconds since UNIX epoch). + type: integer + iss: + description: Issuer identifier. + type: string + jti: + description: JWT identifier corresponding to the token. + type: string + nbf: + description: Not-before timestamp (seconds since UNIX epoch). + type: integer + scope: + description: Space-delimited list of scopes granted to the token. + type: string + sub: + description: Subject identifier when the token represents an end-user. + type: string + tenant: + description: Tenant associated with the token, when assigned. + type: string + token_type: + description: Type of the token (e.g., `Bearer`). + type: string + username: + description: Preferred username associated with the subject. + type: string + required: + - active + type: object + authority.Jwk: + description: Public key material for token signature validation. + properties: + alg: + description: Signing algorithm (e.g., `ES384`). + type: string + crv: + description: Elliptic curve identifier when applicable. + type: string + kid: + description: Key identifier. + type: string + kty: + description: Key type (e.g., `EC`, `RSA`). + type: string + status: + description: Operational status metadata for the key (e.g., `active`, `retiring`). + type: string + use: + description: Intended key use (`sig`). + type: string + x: + description: X coordinate for EC keys. + type: string + y: + description: Y coordinate for EC keys. + type: string + type: object + authority.JwksDocument: + description: JSON Web Key Set published by the Authority. + properties: + keys: + items: + $ref: "#/components/schemas/authority.Jwk" + type: array + required: + - keys + type: object + authority.OAuthErrorResponse: + description: RFC 6749 compliant error envelope. + properties: + error: + description: Machine-readable error code. + type: string + error_description: + description: Human-readable error description. + type: string + error_uri: + description: Link to documentation about the error. + format: uri + type: string + required: + - error + type: object + authority.PasswordGrantRequest: + description: Form-encoded payload for password grant exchange. + properties: + authority_provider: + description: Optional identity provider hint. Required when multiple + password-capable providers are registered. + type: string + client_id: + description: Registered client identifier. May also be supplied via HTTP Basic + auth. + type: string + client_secret: + description: Client secret. Required for confidential clients when not using + HTTP Basic auth. + type: string + grant_type: + const: password + type: string + password: + description: Resource owner password. + type: string + scope: + description: Space-delimited scopes being requested. + type: string + username: + description: Resource owner username. + type: string + required: + - grant_type + - client_id + - username + - password + type: object + authority.RefreshTokenGrantRequest: + description: Form-encoded payload for refresh token exchange. + properties: + client_id: + description: Registered client identifier. May also be supplied via HTTP Basic + auth. + type: string + client_secret: + description: Client secret. Required for confidential clients when not using + HTTP Basic auth. + type: string + grant_type: + const: refresh_token + type: string + refresh_token: + description: Previously issued refresh token. + type: string + scope: + description: Optional scope list to narrow the requested access. + type: string + required: + - grant_type + - refresh_token + type: object + authority.RevocationRequest: + description: Form-encoded payload for token revocation. + properties: + token: + description: Token value or token identifier to revoke. + type: string + token_type_hint: + description: Optional token type hint (`access_token` or `refresh_token`). + type: string + required: + - token + type: object + authority.TokenResponse: + description: OAuth 2.1 bearer token response. + properties: + access_token: + description: Access token encoded as JWT. + type: string + expires_in: + description: Lifetime of the access token, in seconds. + minimum: 1 + type: integer + id_token: + description: ID token issued for authorization-code flows. + type: string + refresh_token: + description: Refresh token issued when the grant allows offline access. + type: string + scope: + description: Space-delimited scopes granted in the response. + type: string + token_type: + description: Token type indicator. Always `Bearer`. + type: string + required: + - access_token + - token_type + - expires_in + type: object + export-center.BundleSummary: + properties: + bundleId: + type: string + createdAt: + format: date-time + type: string + sizeBytes: + type: integer + status: + enum: + - ready + - building + - failed + type: string + required: + - bundleId + - createdAt + - status + type: object + export-center.Error: + $ref: "#/components/schemas/ErrorEnvelope" + export-center.HealthResponse: + $ref: "#/components/schemas/HealthEnvelope" + graph.GraphStatus: + properties: + builtAt: + format: date-time + type: string + graphId: + type: string + status: + enum: + - building + - ready + - failed + type: string + required: + - graphId + - status + type: object + orchestrator.JobSummary: + properties: + completedAt: + format: date-time + type: string + enqueuedAt: + format: date-time + type: string + jobId: + type: string + queue: + type: string + startedAt: + format: date-time + type: string + status: + enum: + - queued + - running + - failed + - completed + type: string + tenant: + type: string + required: + - jobId + - status + - queue + - enqueuedAt + type: object + policy.EvaluationRequest: + properties: + artifactId: + example: registry.stella-ops.local/runtime/api + type: string + inputs: + type: object + policyVersion: + example: 2025.10.1 + type: string + required: + - artifactId + type: object + policy.EvaluationResponse: + properties: + decision: + enum: + - allow + - deny + type: string + obligations: + items: + type: object + type: array + policyVersion: + type: string + reasons: + items: + type: string + type: array + traceId: + type: string + required: + - decision + type: object + scheduler.QueueStatus: + properties: + depth: + type: integer + inflight: + type: integer + name: + type: string + oldestAgeSeconds: + type: integer + updatedAt: + format: date-time + type: string + required: + - name + - depth + - inflight + - updatedAt + type: object + securitySchemes: + BearerAuth: + bearerFormat: JWT + scheme: bearer + type: http + OAuthClientCredentials: + description: OAuth 2.1 client credentials flow scoped per service. + flows: + clientCredentials: + scopes: {} + tokenUrl: /token + type: oauth2 +info: + description: Composed OpenAPI from per-service specs. This file is generated by + compose.mjs. + title: StellaOps Aggregate API + version: 0.0.1 +openapi: 3.1.0 +paths: + /authority/introspect: + post: + description: Returns the active status and claims for a given token. Requires a + privileged client. + requestBody: + content: + application/x-www-form-urlencoded: + examples: + introspectToken: + summary: Validate an access token issued to Orchestrator + value: + token: eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9... + token_type_hint: access_token + schema: + $ref: "#/components/schemas/authority.IntrospectionRequest" + required: true + responses: + "200": + content: + application/json: + examples: + activeToken: + summary: Active token response + value: + active: true + aud: + - https://orch.stellaops.local + client_id: orch-control + confirmation: + mtls_thumbprint: 079871b8c9a0f2e6 + exp: 1761628800 + iat: 1761625200 + iss: https://authority.stellaops.local + jti: 01J8KYRAMG7FWBPRRV5XG20T7S + nbf: 1761625200 + scope: orch:operate orch:read + sub: operator-7f12 + tenant: tenant-alpha + token_type: Bearer + username: ops.engineer@tenant.example + inactiveToken: + summary: Revoked token response + value: + active: false + schema: + $ref: "#/components/schemas/authority.IntrospectionResponse" + description: Token state evaluated. + "400": + content: + application/json: + examples: + missingToken: + summary: Token missing + value: + error: invalid_request + error_description: token parameter is required. + schema: + $ref: "#/components/schemas/authority.OAuthErrorResponse" + description: Malformed request. + "401": + content: + application/json: + examples: + unauthorizedClient: + summary: Client not allowed to introspect tokens + value: + error: invalid_client + error_description: Client authentication failed. + schema: + $ref: "#/components/schemas/authority.OAuthErrorResponse" + description: Client authentication failed or client lacks introspection + permission. + security: + - ClientSecretBasic: [] + summary: Introspect token state + tags: + - Authentication + x-original-path: /introspect + x-service: authority + /authority/jwks: + get: + description: Returns the JSON Web Key Set used to validate Authority-issued tokens. + responses: + "200": + content: + application/json: + examples: + ecKeySet: + summary: EC signing keys + value: + keys: + - alg: ES384 + crv: P-384 + kid: auth-tokens-es384-202510 + kty: EC + status: active + use: sig + x: 7UchU5R77LtChrJx6uWg9mYjFvV6RIpSgZPDIj7d1q0 + y: v98nHe8a7mGZ9Fn1t4Jp9PTJv1ma35QPmhUrE4pH7H0 + - alg: ES384 + crv: P-384 + kid: auth-tokens-es384-202409 + kty: EC + status: retiring + use: sig + x: hjdKc0r8jvVHJ7S9mP0y0mU9bqN7v5PxS21SwclTzfc + y: yk6J3pz4TUpymN4mG-6th3dYvJ5N1lQvDK0PLuFv3Pg + schema: + $ref: "#/components/schemas/authority.JwksDocument" + description: JWKS document. + headers: + Cache-Control: + description: Standard caching headers apply; keys rotate infrequently. + schema: + type: string + summary: Retrieve signing keys + tags: + - Keys + x-original-path: /jwks + x-service: authority + /authority/revoke: + post: + requestBody: + content: + application/x-www-form-urlencoded: + examples: + revokeRefreshToken: + summary: Revoke refresh token after logout + value: + token: 0.rg9pVlsGzXE8Q + token_type_hint: refresh_token + schema: + $ref: "#/components/schemas/authority.RevocationRequest" + required: true + responses: + "200": + description: Token revoked or already invalid. The response body is + intentionally blank. + "400": + content: + application/json: + examples: + missingToken: + summary: Token parameter omitted + value: + error: invalid_request + error_description: The revocation request is missing the token parameter. + schema: + $ref: "#/components/schemas/authority.OAuthErrorResponse" + description: Malformed request. + "401": + content: + application/json: + examples: + badClientSecret: + summary: Invalid client credentials + value: + error: invalid_client + error_description: Client authentication failed. + schema: + $ref: "#/components/schemas/authority.OAuthErrorResponse" + description: Client authentication failed. + security: + - ClientSecretBasic: [] + summary: Revoke an access or refresh token + tags: + - Authentication + x-original-path: /revoke + x-service: authority + /authority/token: + post: + description: > + Issues OAuth 2.1 bearer tokens for StellaOps clients. Supports password, + client credentials, + + authorization-code, device, and refresh token grants. Confidential + clients must authenticate using + + HTTP Basic auth or `client_secret` form fields. + requestBody: + content: + application/x-www-form-urlencoded: + encoding: + authority_provider: + explode: false + style: form + examples: + authorizationCode: + summary: Authorization code exchange for Console UI session + value: + client_id: console-ui + code: 2Lba1WtwPLfZ2b0Z9uPrsQ + code_verifier: g3ZnL91QJ6i4zO_86oI4CDnZ7gS0bSeK + grant_type: authorization_code + redirect_uri: https://console.stellaops.local/auth/callback + clientCredentials: + summary: Client credentials exchange for Policy Engine + value: + client_id: policy-engine + client_secret: 9c39f602-2f2b-4f29 + grant_type: client_credentials + operator_reason: Deploying policy change 1234 + operator_ticket: CHG-004211 + scope: effective:write findings:read + passwordGrant: + summary: Password grant for tenant-scoped ingestion bot + value: + authority_provider: primary-directory + client_id: ingest-cli + client_secret: s3cr3t + grant_type: password + password: pa55w0rd! + scope: advisory:ingest vex:ingest + username: ingest-bot + refreshToken: + summary: Refresh token rotation for console session + value: + client_id: console-ui + grant_type: refresh_token + refresh_token: 0.rg9pVlsGzXE8Q + schema: + oneOf: + - $ref: "#/components/schemas/authority.PasswordGrantRequest" + - $ref: "#/components/schemas/authority.ClientCredentialsGrantRequest" + - $ref: "#/components/schemas/authority.RefreshTokenGrantRequest" + required: true + responses: + "200": + content: + application/json: + examples: + authorizationCode: + summary: Authorization code success response + value: + access_token: eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9... + expires_in: 900 + id_token: eyJhbGciOiJFUzM4NCIsImtpZCI6ImNvbnNvbGUifQ... + refresh_token: VxKpc9Vj9QjYV6gLrhQHTw + scope: ui.read authority:tenants.read + token_type: Bearer + clientCredentials: + summary: Client credentials success response + value: + access_token: eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9... + expires_in: 900 + scope: effective:write findings:read + token_type: Bearer + passwordGrant: + summary: Password grant success response + value: + access_token: eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9... + expires_in: 3600 + refresh_token: OxGdVtZJ-mk49cFd38uRUw + scope: advisory:ingest vex:ingest + token_type: Bearer + schema: + $ref: "#/components/schemas/authority.TokenResponse" + description: Token exchange succeeded. + "400": + content: + application/json: + examples: + invalidProvider: + summary: Unknown identity provider hint + value: + error: invalid_request + error_description: Unknown identity provider 'legacy-directory'. + invalidScope: + summary: Scope not permitted for client + value: + error: invalid_scope + error_description: Scope 'effective:write' is not permitted for this client. + schema: + $ref: "#/components/schemas/authority.OAuthErrorResponse" + description: Malformed request, unsupported grant type, or invalid credentials. + "401": + content: + application/json: + examples: + badClientSecret: + summary: Invalid client secret + value: + error: invalid_client + error_description: Client authentication failed. + schema: + $ref: "#/components/schemas/authority.OAuthErrorResponse" + description: Client authentication failed. + security: + - ClientSecretBasic: [] + - {} + summary: Exchange credentials for tokens + tags: + - Authentication + x-original-path: /token + x-service: authority + /export-center/bundles: + get: + parameters: + - $ref: ../_shared/parameters/paging.yaml#/parameters/LimitParam + - $ref: ../_shared/parameters/paging.yaml#/parameters/CursorParam + responses: + "200": + content: + application/json: + examples: + page: + summary: First page of bundles + value: + hasMore: true + items: + - bundleId: bundle-2025-11-18-001 + createdAt: 2025-11-18T12:00:00Z + sizeBytes: 1048576 + status: ready + - bundleId: bundle-2025-11-18-000 + createdAt: 2025-11-18T10:00:00Z + sizeBytes: 2048 + status: ready + nextCursor: eyJyIjoiMjAyNS0xMS0xOC0wMDIifQ + schema: + properties: + hasMore: + type: boolean + items: + items: + $ref: "#/components/schemas/export-center.BundleSummary" + type: array + nextCursor: + type: string + type: object + description: Bundle page + summary: List export bundles + tags: + - Bundles + x-original-path: /bundles + x-service: export-center + /export-center/bundles/{bundleId}: + get: + parameters: + - example: bundle-2025-11-18-001 + in: path + name: bundleId + required: true + schema: + type: string + responses: + "200": + content: + application/zip: + examples: + download: + summary: Zip payload + value: binary data + description: Bundle stream + "404": + content: + application/json: + examples: + notFound: + summary: Bundle missing + value: + code: export.bundle_not_found + message: Bundle bundle-2025-11-18-001 not found. + traceId: 01JF04NF + schema: + $ref: "#/components/schemas/export-center.ErrorEnvelope" + description: Bundle not found + summary: Download export bundle by id + tags: + - Bundles + x-original-path: /bundles/{bundleId} + x-service: export-center + /export-center/health: + get: + responses: + "200": + content: + application/json: + examples: + ok: + value: + service: export-center + status: ok + timestamp: 2025-11-18T00:00:00Z + description: Service is up + "503": + content: + application/json: + examples: + unhealthy: + value: + reason: object store unreachable + service: export-center + status: degraded + timestamp: 2025-11-18T00:00:00Z + description: Service unhealthy or dependencies unavailable. + summary: Liveness probe + tags: + - Health + x-original-path: /health + x-service: export-center + /export-center/healthz: + get: + responses: + "200": + content: + application/json: + examples: + ok: + summary: Healthy response + value: + service: export-center + status: ok + schema: + $ref: "#/components/schemas/export-center.HealthResponse" + description: Service healthy + "503": + content: + application/json: + examples: + unavailable: + summary: Unhealthy response + value: + code: service_unavailable + message: mirror bundle backlog exceeds SLA + traceId: 3 + schema: + $ref: "#/components/schemas/export-center.ErrorEnvelope" + description: Service unavailable + summary: Service health + tags: + - Meta + x-original-path: /healthz + x-service: export-center + /graph/graphs/{graphId}/status: + get: + parameters: + - in: path + name: graphId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + examples: + ready: + value: + builtAt: 2025-11-18T12:00:00Z + graphId: graph-01JF0XYZ + status: ready + schema: + $ref: "#/components/schemas/graph.GraphStatus" + description: Graph status + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/graph.ErrorEnvelope" + description: Graph not found + summary: Get graph build status + tags: + - Graphs + x-original-path: /graphs/{graphId}/status + x-service: graph + /graph/healthz: + get: + responses: + "200": + content: + application/json: + examples: + ok: + summary: Healthy response + value: + service: graph + status: ok + schema: + $ref: "#/components/schemas/graph.HealthEnvelope" + description: Service healthy + "503": + content: + application/json: + examples: + unavailable: + summary: Unhealthy response + value: + code: service_unavailable + message: indexer lag exceeds threshold + traceId: 5 + schema: + $ref: "#/components/schemas/graph.ErrorEnvelope" + description: Service unavailable + summary: Service health + tags: + - Meta + x-original-path: /healthz + x-service: graph + /orchestrator/health: + get: + responses: + "200": + content: + application/json: + examples: + ok: + value: + service: orchestrator + status: ok + timestamp: 2025-11-18T00:00:00Z + description: Service is up + "503": + content: + application/json: + examples: + unhealthy: + value: + reason: scheduler queue unreachable + service: orchestrator + status: degraded + timestamp: 2025-11-18T00:00:00Z + description: Service unhealthy or dependencies unavailable. + summary: Liveness probe + tags: + - Health + x-original-path: /health + x-service: orchestrator + /orchestrator/healthz: + get: + responses: + "200": + content: + application/json: + examples: + ok: + summary: Healthy response + value: + service: orchestrator + status: ok + schema: + $ref: "#/components/schemas/HealthEnvelope" + description: Service healthy + "503": + content: + application/json: + examples: + unavailable: + summary: Unhealthy response + value: + code: service_unavailable + message: outbound queue lag exceeds threshold + traceId: 1 + schema: + $ref: "#/components/schemas/ErrorEnvelope" + description: Service unavailable + summary: Service health + tags: + - Meta + x-original-path: /healthz + x-service: orchestrator + /orchestrator/jobs: + get: + parameters: + - in: query + name: status + schema: + enum: + - queued + - running + - failed + - completed + type: string + - $ref: ../_shared/parameters/paging.yaml#/parameters/LimitParam + responses: + "200": + content: + application/json: + examples: + sample: + value: + - enqueuedAt: 2025-11-18T12:00:00Z + jobId: job_01JF04ABCD + queue: scan + status: queued + - enqueuedAt: 2025-11-18T11:55:00Z + jobId: job_01JF04EFGH + queue: policy-eval + startedAt: 2025-11-18T11:56:10Z + status: running + schema: + items: + $ref: "#/components/schemas/orchestrator.JobSummary" + type: array + description: Jobs page + summary: List jobs + tags: + - Jobs + x-original-path: /jobs + x-service: orchestrator + post: + requestBody: + content: + application/json: + examples: + scanJob: + summary: Submit scan job + value: + kind: scan + payload: + artifactId: registry.stella-ops.local/runtime/api + policyVersion: 2025.10.1 + priority: high + tenant: tenant-alpha + schema: + $ref: "#/components/schemas/orchestrator.JobCreateRequest" + required: true + responses: + "202": + content: + application/json: + examples: + accepted: + summary: Job enqueued + value: + enqueuedAt: 2025-11-18T12:00:00Z + jobId: job_01JF04ABCD + queue: scan + status: queued + schema: + $ref: "#/components/schemas/orchestrator.JobCreateResponse" + description: Job accepted + "400": + content: + application/json: + examples: + missingType: + summary: Missing jobType + value: + code: orch.invalid_request + message: jobType is required. + traceId: 01JF04ERR1 + schema: + $ref: "#/components/schemas/ErrorEnvelope" + description: Invalid request + security: + - OAuthClientCredentials: [] + - BearerAuth: [] + summary: Submit a job to the orchestrator queue + tags: + - Jobs + x-original-path: /jobs + x-service: orchestrator + /orchestrator/jobs/{jobId}: + get: + parameters: + - in: path + name: jobId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + examples: + sample: + value: + enqueuedAt: 2025-11-18T12:00:00Z + jobId: job_01JF04ABCD + queue: scan + status: queued + schema: + $ref: "#/components/schemas/orchestrator.JobSummary" + description: Job status + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/orchestrator.ErrorEnvelope" + description: Job not found + summary: Get job status + tags: + - Jobs + x-original-path: /jobs/{jobId} + x-service: orchestrator + /policy/evaluate: + post: + requestBody: + content: + application/json: + examples: + default: + summary: Evaluate current policy for an artifact + value: + artifactId: registry.stella-ops.local/runtime/api + inputs: + branch: main + tenant: acme + policyVersion: 2025.10.1 + schema: + $ref: "#/components/schemas/policy.EvaluationRequest" + required: true + responses: + "200": + content: + application/json: + examples: + allow: + summary: Allow decision with reasons + value: + decision: allow + metadata: + latencyMs: 42 + obligations: + - record: evidence + policyVersion: 2025.10.1 + reasons: + - signed + - within SLO + traceId: 01JF040XYZ + schema: + $ref: "#/components/schemas/policy.EvaluationResponse" + description: Evaluation succeeded + "400": + content: + application/json: + examples: + missingArtifact: + summary: Missing artifactId + value: + code: policy.invalid_request + message: artifactId is required. + traceId: 01JF041ERR + schema: + $ref: "#/components/schemas/ErrorEnvelope" + description: Invalid request + summary: Evaluate policy for an artifact + tags: + - Evaluation + x-original-path: /evaluate + x-service: policy + /policy/health: + get: + responses: + "200": + content: + application/json: + examples: + ok: + value: + service: policy + status: ok + timestamp: 2025-11-18T00:00:00Z + description: Service is up + "503": + content: + application/json: + examples: + unhealthy: + value: + reason: mongo unavailable + service: policy + status: degraded + timestamp: 2025-11-18T00:00:00Z + description: Service unhealthy or dependencies unavailable. + summary: Liveness probe + tags: + - Health + x-original-path: /health + x-service: policy + /policy/healthz: + get: + responses: + "200": + content: + application/json: + examples: + ok: + summary: Healthy response + value: + service: policy + status: ok + schema: + $ref: "#/components/schemas/HealthEnvelope" + description: Service healthy + "503": + content: + application/json: + examples: + unavailable: + summary: Unhealthy response + value: + code: service_unavailable + message: projector backlog exceeds SLA + traceId: 2 + schema: + $ref: "#/components/schemas/ErrorEnvelope" + description: Service unavailable + summary: Service health + tags: + - Meta + x-original-path: /healthz + x-service: policy + /scheduler/health: + get: + responses: + "200": + content: + application/json: + examples: + ok: + value: + service: scheduler + status: ok + timestamp: 2025-11-18T00:00:00Z + description: Service is up + "503": + content: + application/json: + examples: + unhealthy: + value: + reason: queue not reachable + service: scheduler + status: degraded + timestamp: 2025-11-18T00:00:00Z + description: Service unhealthy or dependencies unavailable. + summary: Liveness probe + tags: + - Health + x-original-path: /health + x-service: scheduler + /scheduler/healthz: + get: + responses: + "200": + content: + application/json: + examples: + ok: + summary: Healthy response + value: + service: scheduler + status: ok + schema: + $ref: "#/components/schemas/scheduler.HealthEnvelope" + description: Service healthy + "503": + content: + application/json: + examples: + unavailable: + summary: Unhealthy response + value: + code: service_unavailable + message: queue backlog exceeds threshold + traceId: 4 + schema: + $ref: "#/components/schemas/scheduler.ErrorEnvelope" + description: Service unavailable + summary: Service health + tags: + - Meta + x-original-path: /healthz + x-service: scheduler + /scheduler/queues/{name}: + get: + parameters: + - example: default + in: path + name: name + required: true + schema: + type: string + responses: + "200": + content: + application/json: + examples: + status: + summary: Queue depth snapshot + value: + depth: 12 + inflight: 2 + name: default + oldestAgeSeconds: 45 + updatedAt: 2025-11-18T12:00:00Z + schema: + $ref: "#/components/schemas/scheduler.QueueStatus" + description: Queue status + "404": + content: + application/json: + examples: + notFound: + summary: Queue missing + value: + code: scheduler.queue_not_found + message: Queue default not found. + traceId: 01JF04NF2 + schema: + $ref: "#/components/schemas/scheduler.ErrorEnvelope" + description: Queue not found + summary: Get queue status + tags: + - Queues + x-original-path: /queues/{name} + x-service: scheduler +servers: + - description: Example Authority deployment + url: https://authority.stellaops.local + x-service: authority + - description: Example Export Center endpoint + url: https://export.stellaops.local + x-service: export-center + - description: Example Graph endpoint + url: https://graph.stellaops.local + x-service: graph + - description: Example Orchestrator endpoint + url: https://orchestrator.stellaops.local + x-service: orchestrator + - description: Example Policy Engine endpoint + url: https://policy.stellaops.local + x-service: policy + - description: Example Scheduler endpoint + url: https://scheduler.stellaops.local + x-service: scheduler diff --git a/src/Api/StellaOps.Api.OpenApi/compose.mjs b/src/Api/StellaOps.Api.OpenApi/compose.mjs new file mode 100644 index 000000000..c015e776e --- /dev/null +++ b/src/Api/StellaOps.Api.OpenApi/compose.mjs @@ -0,0 +1,205 @@ +#!/usr/bin/env node +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import yaml from 'yaml'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const ROOT = path.resolve(__dirname); +const OUTPUT = path.join(ROOT, 'stella.yaml'); +const SHARED_COMPONENTS_DIR = path.join(ROOT, '_shared'); +const SHARED_SCHEMAS_DIR = path.join(SHARED_COMPONENTS_DIR, 'schemas'); +const SHARED_RESPONSES_DIR = path.join(SHARED_COMPONENTS_DIR, 'responses'); +const SHARED_PARAMETERS_DIR = path.join(SHARED_COMPONENTS_DIR, 'parameters'); +const SHARED_SECURITY_DIR = path.join(SHARED_COMPONENTS_DIR, 'securitySchemes'); + +function readServiceSpecs() { + const entries = fs.readdirSync(ROOT, { withFileTypes: true }); + const services = []; + for (const entry of entries) { + if (!entry.isDirectory()) continue; + const name = entry.name; + if (name.startsWith('.')) continue; + const specPath = path.join(ROOT, name, 'openapi.yaml'); + if (!fs.existsSync(specPath)) continue; + const content = fs.readFileSync(specPath, 'utf8'); + const doc = yaml.parse(content, { prettyErrors: true }); + services.push({ name, specPath, doc }); + } + services.sort((a, b) => a.name.localeCompare(b.name)); + return services; +} + +function mergeSpecs(services) { + const aggregate = { + openapi: '3.1.0', + info: { + title: 'StellaOps Aggregate API', + version: '0.0.1', + description: 'Composed OpenAPI from per-service specs. This file is generated by compose.mjs.', + }, + servers: [], + paths: {}, + components: { schemas: {}, parameters: {}, securitySchemes: {}, responses: {} }, + }; + + // Shared components (schemas only for now) + mergeShared(aggregate, SHARED_SCHEMAS_DIR, 'schemas'); + mergeShared(aggregate, SHARED_RESPONSES_DIR, 'responses'); + mergeShared(aggregate, SHARED_PARAMETERS_DIR, 'parameters'); + mergeShared(aggregate, SHARED_SECURITY_DIR, 'securitySchemes'); + + for (const { name, doc } of services) { + // servers + if (Array.isArray(doc.servers)) { + for (const srv of doc.servers) { + aggregate.servers.push({ ...srv, 'x-service': name }); + } + } + + // paths + for (const [p, pathItem] of Object.entries(doc.paths || {})) { + const namespacedPath = normalizePath(`/${name}${p}`); + aggregate.paths[namespacedPath] ??= {}; + for (const [method, op] of Object.entries(pathItem || {})) { + const lower = method.toLowerCase(); + if (!['get', 'put', 'post', 'delete', 'patch', 'head', 'options', 'trace'].includes(lower)) continue; + const opRewritten = rewriteRefs(op, name); + const existing = aggregate.paths[namespacedPath][lower]; + if (existing) { + throw new Error(`Path/method collision at ${namespacedPath} ${lower} (${p}) between services`); + } + aggregate.paths[namespacedPath][lower] = { ...opRewritten, 'x-service': name, 'x-original-path': p }; + } + } + + // schemas + const schemas = doc.components?.schemas || {}; + for (const [schemaName, schemaDef] of Object.entries(schemas)) { + const key = `${name}.${schemaName}`; + if (aggregate.components.schemas[key]) { + throw new Error(`Schema collision for ${key}`); + } + aggregate.components.schemas[key] = rewriteRefs(schemaDef, name); + } + } + + // de-duplicate servers + const seenServers = new Set(); + aggregate.servers = aggregate.servers.filter((srv) => { + const key = JSON.stringify(srv); + if (seenServers.has(key)) return false; + seenServers.add(key); + return true; + }); + + aggregate.paths = sortObject(aggregate.paths, sortPathItem); + aggregate.components.schemas = sortObject(aggregate.components.schemas); + aggregate.components.responses = sortObject(aggregate.components.responses); + aggregate.components.parameters = sortObject(aggregate.components.parameters); + aggregate.components.securitySchemes = sortObject(aggregate.components.securitySchemes); + return aggregate; +} + +function normalizePath(pathValue) { + if (!pathValue.startsWith('/')) { + return '/' + pathValue; + } + return pathValue.replace(/\/{2,}/g, '/'); +} + +function sortObject(obj, valueTransform = (v) => v) { + const sorted = {}; + for (const key of Object.keys(obj).sort()) { + const value = obj[key]; + sorted[key] = valueTransform(value); + } + return sorted; +} + +function sortPathItem(pathItem) { + const methods = {}; + for (const key of Object.keys(pathItem).sort()) { + methods[key] = pathItem[key]; + } + return methods; +} + +function writeAggregate(doc) { + const str = yaml.stringify(doc, { sortMapEntries: true }); + fs.writeFileSync(OUTPUT, str, 'utf8'); + console.log(`[stella-compose] wrote aggregate spec to ${OUTPUT}`); +} + +function rewriteRefs(node, serviceName) { + if (node === null || node === undefined) return node; + + if (Array.isArray(node)) { + return node.map((item) => rewriteRefs(item, serviceName)); + } + + if (typeof node !== 'object') { + return node; + } + + const clone = Array.isArray(node) ? [] : {}; + for (const [key, value] of Object.entries(node)) { + if (key === '$ref' && typeof value === 'string') { + clone[key] = normalizeRef(value, serviceName); + } else { + clone[key] = rewriteRefs(value, serviceName); + } + } + + return clone; +} + +function normalizeRef(refValue, serviceName) { + if (refValue.startsWith('../_shared/schemas/')) { + const name = refValue.split('#/schemas/')[1]; + return `#/components/schemas/${name}`; + } + + const prefix = '#/components/schemas/'; + if (refValue.startsWith(prefix)) { + const name = refValue.slice(prefix.length); + if (name.includes('.')) { + return refValue; // already namespaced + } + return `${prefix}${serviceName}.${name}`; + } + + return refValue; +} + +function mergeShared(aggregate, dir, key) { + if (!dir || !fs.existsSync(dir)) { + return; + } + + const files = fs.readdirSync(dir).filter((f) => f.endsWith('.yaml') || f.endsWith('.yml')); + for (const file of files.sort()) { + const full = path.join(dir, file); + const content = fs.readFileSync(full, 'utf8'); + const doc = yaml.parse(content, { prettyErrors: true }); + const entries = doc?.[key] || {}; + for (const [name, value] of Object.entries(entries)) { + if (aggregate.components[key][name]) { + throw new Error(`Shared ${key} collision for ${name}`); + } + aggregate.components[key][name] = value; + } + } +} + +function main() { + const services = readServiceSpecs(); + if (services.length === 0) { + console.log('[stella-compose] no service specs found; writing empty aggregate'); + } + const aggregate = mergeSpecs(services); + writeAggregate(aggregate); +} + +main(); diff --git a/src/Api/StellaOps.Api.OpenApi/export-center/openapi.yaml b/src/Api/StellaOps.Api.OpenApi/export-center/openapi.yaml new file mode 100644 index 000000000..a53db2273 --- /dev/null +++ b/src/Api/StellaOps.Api.OpenApi/export-center/openapi.yaml @@ -0,0 +1,237 @@ +openapi: 3.1.0 +info: + title: StellaOps Export Center API (stub) + version: 0.0.1 + description: Health and metadata scaffold for Export Center; replace with real contracts + as authored. +servers: +- url: https://export.stellaops.local + description: Example Export Center endpoint +paths: + /health: + get: + tags: + - Health + summary: Liveness probe + responses: + '200': + description: Service is up + content: + application/json: + examples: + ok: + value: + status: ok + service: export-center + timestamp: '2025-11-18T00:00:00Z' + '503': + description: Service unhealthy or dependencies unavailable. + content: + application/json: + examples: + unhealthy: + value: + status: degraded + service: export-center + reason: object store unreachable + timestamp: '2025-11-18T00:00:00Z' + /healthz: + get: + summary: Service health + tags: + - Meta + responses: + '200': + description: Service healthy + content: + application/json: + schema: + $ref: '#/components/schemas/HealthResponse' + examples: + ok: + summary: Healthy response + value: + status: ok + service: export-center + '503': + description: Service unavailable + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorEnvelope' + examples: + unavailable: + summary: Unhealthy response + value: + code: service_unavailable + message: mirror bundle backlog exceeds SLA + traceId: 3 + /bundles/{bundleId}: + get: + tags: + - Bundles + summary: Download export bundle by id + parameters: + - name: bundleId + in: path + required: true + schema: + type: string + example: bundle-2025-11-18-001 + responses: + '200': + description: Bundle stream + content: + application/zip: + examples: + download: + summary: Zip payload + value: binary data + '404': + description: Bundle not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorEnvelope' + examples: + notFound: + summary: Bundle missing + value: + code: export.bundle_not_found + message: Bundle bundle-2025-11-18-001 not found. + traceId: 01JF04NF + /bundles: + get: + tags: + - Bundles + summary: List export bundles + parameters: + - $ref: '../_shared/parameters/tenant.yaml#/parameters/TenantParam' + - $ref: '../_shared/parameters/paging.yaml#/parameters/LimitParam' + - $ref: '../_shared/parameters/paging.yaml#/parameters/CursorParam' + responses: + '200': + description: Bundle page + content: + application/json: + schema: + type: object + properties: + items: + type: array + items: + $ref: '#/components/schemas/BundleSummary' + metadata: + $ref: '../_shared/schemas/common.yaml#/schemas/PageMetadata' + examples: + page: + summary: First page of bundles + value: + items: + - bundleId: bundle-2025-11-18-001 + createdAt: '2025-11-18T12:00:00Z' + status: ready + sizeBytes: 1048576 + - bundleId: bundle-2025-11-18-000 + createdAt: '2025-11-18T10:00:00Z' + status: ready + sizeBytes: 2048 + metadata: + hasMore: true + nextCursor: eyJyIjoiMjAyNS0xMS0xOC0wMDIifQ + '400': + description: Invalid request + content: + application/json: + schema: + $ref: '../_shared/schemas/common.yaml#/schemas/ErrorEnvelope' + examples: + invalidTenant: + summary: Tenant missing + value: + code: export.invalid_tenant + message: tenant query parameter is required. + traceId: 01JF04ERR3 + /bundles/{bundleId}/manifest: + get: + tags: + - Bundles + summary: Fetch bundle manifest metadata + parameters: + - name: bundleId + in: path + required: true + schema: + type: string + responses: + '200': + description: Manifest metadata + content: + application/json: + schema: + $ref: '#/components/schemas/BundleManifest' + examples: + manifest: + value: + bundleId: bundle-2025-11-18-001 + contents: + - type: advisory + digest: sha256:abc123 + - type: vex + digest: sha256:def456 + createdAt: '2025-11-18T12:00:00Z' + '404': + description: Bundle not found + content: + application/json: + schema: + $ref: '../_shared/schemas/common.yaml#/schemas/ErrorEnvelope' +components: + schemas: + BundleSummary: + type: object + required: + - bundleId + - createdAt + - status + properties: + bundleId: + type: string + createdAt: + type: string + format: date-time + status: + type: string + enum: + - ready + - building + - failed + sizeBytes: + type: integer + BundleManifest: + type: object + required: + - bundleId + - contents + properties: + bundleId: + type: string + contents: + type: array + items: + type: object + required: [type, digest] + properties: + type: + type: string + example: advisory + digest: + type: string + example: sha256:abc123 + createdAt: + type: string + format: date-time + HealthResponse: + $ref: ../_shared/schemas/common.yaml#/schemas/HealthEnvelope + Error: + $ref: ../_shared/schemas/common.yaml#/schemas/ErrorEnvelope diff --git a/src/Api/StellaOps.Api.OpenApi/graph/openapi.yaml b/src/Api/StellaOps.Api.OpenApi/graph/openapi.yaml new file mode 100644 index 000000000..141ad5be4 --- /dev/null +++ b/src/Api/StellaOps.Api.OpenApi/graph/openapi.yaml @@ -0,0 +1,153 @@ +openapi: 3.1.0 +info: + title: StellaOps Graph API (stub) + version: 0.0.1 + description: Health and dataset status scaffold for Graph service; replace with + full contract as authored. +servers: +- url: https://graph.stellaops.local + description: Example Graph endpoint +paths: + /healthz: + get: + summary: Service health + tags: + - Meta + responses: + '200': + description: Service healthy + content: + application/json: + schema: + $ref: '#/components/schemas/HealthEnvelope' + examples: + ok: + summary: Healthy response + value: + status: ok + service: graph + '503': + description: Service unavailable + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorEnvelope' + examples: + unavailable: + summary: Unhealthy response + value: + code: service_unavailable + message: indexer lag exceeds threshold + traceId: 5 + /graphs/{graphId}/status: + get: + summary: Get graph build status + tags: + - Graphs + parameters: + - name: graphId + in: path + required: true + schema: + type: string + - $ref: ../_shared/parameters/tenant.yaml#/parameters/TenantParam + responses: + '200': + description: Graph status + content: + application/json: + schema: + $ref: '#/components/schemas/GraphStatus' + examples: + ready: + value: + graphId: graph-01JF0XYZ + status: ready + builtAt: 2025-11-18 12:00:00+00:00 + '404': + description: Graph not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorEnvelope' + /graphs/{graphId}/nodes: + get: + summary: List graph nodes + tags: + - Graphs + parameters: + - name: graphId + in: path + required: true + schema: + type: string + - $ref: ../_shared/parameters/paging.yaml#/parameters/LimitParam + - $ref: ../_shared/parameters/paging.yaml#/parameters/CursorParam + responses: + '200': + description: Graph nodes page + content: + application/json: + schema: + $ref: '#/components/schemas/GraphNodePage' + examples: + sample: + value: + nodes: + - id: node-1 + kind: artifact + label: registry.stella-ops.local/runtime/api + - id: node-2 + kind: policy + label: policy:baseline + metadata: + hasMore: true + nextCursor: eyJuIjoiMjAyNS0xMS0xOCJ9 + '404': + description: Graph not found + content: + application/json: + schema: + $ref: ../_shared/schemas/common.yaml#/schemas/ErrorEnvelope +components: + schemas: + GraphStatus: + type: object + required: + - graphId + - status + properties: + graphId: + type: string + status: + type: string + enum: + - building + - ready + - failed + builtAt: + type: string + format: date-time + GraphNodePage: + type: object + required: + - nodes + - metadata + properties: + nodes: + type: array + items: + type: object + required: + - id + - kind + - label + properties: + id: + type: string + kind: + type: string + label: + type: string + metadata: + $ref: ../_shared/schemas/common.yaml#/schemas/PageMetadata diff --git a/src/Api/StellaOps.Api.OpenApi/orchestrator/openapi.yaml b/src/Api/StellaOps.Api.OpenApi/orchestrator/openapi.yaml new file mode 100644 index 000000000..be64a0c94 --- /dev/null +++ b/src/Api/StellaOps.Api.OpenApi/orchestrator/openapi.yaml @@ -0,0 +1,220 @@ +openapi: 3.1.0 +info: + title: StellaOps Orchestrator API (stub) + version: 0.0.1 + description: Health and job orchestration scaffold for Orchestrator service; replace + with real contracts as contracts are authored. +servers: +- url: https://orchestrator.stellaops.local + description: Example Orchestrator endpoint +paths: + /health: + get: + tags: + - Health + summary: Liveness probe + responses: + '200': + description: Service is up + content: + application/json: + examples: + ok: + value: + status: ok + service: orchestrator + timestamp: '2025-11-18T00:00:00Z' + '503': + description: Service unhealthy or dependencies unavailable. + content: + application/json: + examples: + unhealthy: + value: + status: degraded + service: orchestrator + reason: scheduler queue unreachable + timestamp: '2025-11-18T00:00:00Z' + /healthz: + get: + summary: Service health + tags: + - Meta + responses: + '200': + description: Service healthy + content: + application/json: + schema: + $ref: ../_shared/schemas/common.yaml#/schemas/HealthEnvelope + examples: + ok: + summary: Healthy response + value: + status: ok + service: orchestrator + '503': + description: Service unavailable + content: + application/json: + schema: + $ref: ../_shared/schemas/common.yaml#/schemas/ErrorEnvelope + examples: + unavailable: + summary: Unhealthy response + value: + code: service_unavailable + message: outbound queue lag exceeds threshold + traceId: 1 + /jobs: + post: + tags: + - Jobs + summary: Submit a job to the orchestrator queue + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/JobCreateRequest' + examples: + scanJob: + summary: Submit scan job + value: + kind: scan + payload: + artifactId: registry.stella-ops.local/runtime/api + policyVersion: 2025.10.1 + priority: high + tenant: tenant-alpha + security: + - OAuthClientCredentials: [] + - BearerAuth: [] + responses: + '202': + description: Job accepted + content: + application/json: + schema: + $ref: '#/components/schemas/JobCreateResponse' + examples: + accepted: + summary: Job enqueued + value: + jobId: job_01JF04ABCD + status: queued + queue: scan + enqueuedAt: '2025-11-18T12:00:00Z' + '400': + description: Invalid request + content: + application/json: + schema: + $ref: ../_shared/schemas/common.yaml#/schemas/ErrorEnvelope + examples: + missingType: + summary: Missing jobType + value: + code: orch.invalid_request + message: jobType is required. + traceId: 01JF04ERR1 + get: + tags: + - Jobs + summary: List jobs + parameters: + - in: query + name: status + schema: + type: string + enum: + - queued + - running + - failed + - completed + - $ref: ../_shared/parameters/paging.yaml#/parameters/LimitParam + - $ref: ../_shared/parameters/tenant.yaml#/parameters/TenantParam + responses: + '200': + description: Jobs page + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/JobSummary' + examples: + sample: + value: + - jobId: job_01JF04ABCD + status: queued + queue: scan + enqueuedAt: '2025-11-18T12:00:00Z' + - jobId: job_01JF04EFGH + status: running + queue: policy-eval + enqueuedAt: '2025-11-18T11:55:00Z' + startedAt: '2025-11-18T11:56:10Z' + /jobs/{jobId}: + get: + tags: + - Jobs + summary: Get job status + parameters: + - name: jobId + in: path + required: true + schema: + type: string + responses: + '200': + description: Job status + content: + application/json: + schema: + $ref: '#/components/schemas/JobSummary' + examples: + sample: + value: + jobId: job_01JF04ABCD + status: queued + queue: scan + enqueuedAt: '2025-11-18T12:00:00Z' + '404': + description: Job not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorEnvelope' +components: + schemas: + JobSummary: + type: object + required: + - jobId + - status + - queue + - enqueuedAt + properties: + jobId: + type: string + status: + type: string + enum: + - queued + - running + - failed + - completed + queue: + type: string + enqueuedAt: + type: string + format: date-time + startedAt: + type: string + format: date-time + completedAt: + type: string + format: date-time + tenant: + type: string diff --git a/src/Api/StellaOps.Api.OpenApi/policy/openapi.yaml b/src/Api/StellaOps.Api.OpenApi/policy/openapi.yaml new file mode 100644 index 000000000..3b3e5cafa --- /dev/null +++ b/src/Api/StellaOps.Api.OpenApi/policy/openapi.yaml @@ -0,0 +1,162 @@ +openapi: 3.1.0 +info: + title: StellaOps Policy Engine API (stub) + version: 0.0.1 + description: Health + evaluation scaffold for Policy Engine; replace with real contracts + as authored. +servers: +- url: https://policy.stellaops.local + description: Example Policy Engine endpoint +paths: + /health: + get: + tags: + - Health + summary: Liveness probe + responses: + '200': + description: Service is up + content: + application/json: + examples: + ok: + value: + status: ok + service: policy + timestamp: '2025-11-18T00:00:00Z' + '503': + description: Service unhealthy or dependencies unavailable. + content: + application/json: + examples: + unhealthy: + value: + status: degraded + service: policy + reason: mongo unavailable + timestamp: '2025-11-18T00:00:00Z' + /healthz: + get: + summary: Service health + tags: + - Meta + responses: + '200': + description: Service healthy + content: + application/json: + schema: + $ref: ../_shared/schemas/common.yaml#/schemas/HealthEnvelope + examples: + ok: + summary: Healthy response + value: + status: ok + service: policy + '503': + description: Service unavailable + content: + application/json: + schema: + $ref: ../_shared/schemas/common.yaml#/schemas/ErrorEnvelope + examples: + unavailable: + summary: Unhealthy response + value: + code: service_unavailable + message: projector backlog exceeds SLA + traceId: 2 + /evaluate: + post: + tags: + - Evaluation + summary: Evaluate policy for an artifact + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EvaluationRequest' + examples: + default: + summary: Evaluate current policy for an artifact + value: + artifactId: registry.stella-ops.local/runtime/api + policyVersion: 2025.10.1 + inputs: + tenant: acme + branch: main + responses: + '200': + description: Evaluation succeeded + content: + application/json: + examples: + allow: + summary: Allow decision with reasons + value: + decision: allow + policyVersion: 2025.10.1 + traceId: 01JF040XYZ + reasons: + - signed + - within SLO + metadata: + latencyMs: 42 + obligations: + - record: evidence + schema: + $ref: '#/components/schemas/EvaluationResponse' + '400': + description: Invalid request + content: + application/json: + schema: + $ref: ../_shared/schemas/common.yaml#/schemas/ErrorEnvelope + examples: + missingArtifact: + summary: Missing artifactId + value: + code: policy.invalid_request + message: artifactId is required. + traceId: 01JF041ERR + security: + - OAuthClientCredentials: [] + - BearerAuth: [] +components: + schemas: + EvaluationRequest: + type: object + required: + - artifactId + properties: + artifactId: + type: string + example: registry.stella-ops.local/runtime/api + policyVersion: + type: string + example: 2025.10.1 + inputs: + type: object + EvaluationResponse: + type: object + required: + - decision + properties: + decision: + type: string + enum: + - allow + - deny + policyVersion: + type: string + traceId: + type: string + reasons: + type: array + items: + type: string + obligations: + type: array + items: + type: object diff --git a/src/Api/StellaOps.Api.OpenApi/scheduler/openapi.yaml b/src/Api/StellaOps.Api.OpenApi/scheduler/openapi.yaml new file mode 100644 index 000000000..4a3333ebd --- /dev/null +++ b/src/Api/StellaOps.Api.OpenApi/scheduler/openapi.yaml @@ -0,0 +1,129 @@ +openapi: 3.1.0 +info: + title: StellaOps Scheduler API (stub) + version: 0.0.1 + description: Health and queue status scaffold for Scheduler service; replace with full contract as authored. +servers: +- url: https://scheduler.stellaops.local + description: Example Scheduler endpoint +paths: + /health: + get: + tags: + - Health + summary: Liveness probe + responses: + '200': + description: Service is up + content: + application/json: + examples: + ok: + value: + status: ok + service: scheduler + timestamp: '2025-11-18T00:00:00Z' + '503': + description: Service unhealthy or dependencies unavailable. + content: + application/json: + examples: + unhealthy: + value: + status: degraded + service: scheduler + reason: queue not reachable + timestamp: '2025-11-18T00:00:00Z' + /healthz: + get: + summary: Service health + tags: + - Meta + responses: + '200': + description: Service healthy + content: + application/json: + schema: + $ref: '#/components/schemas/HealthEnvelope' + examples: + ok: + summary: Healthy response + value: + status: ok + service: scheduler + '503': + description: Service unavailable + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorEnvelope' + examples: + unavailable: + summary: Unhealthy response + value: + code: service_unavailable + message: queue backlog exceeds threshold + traceId: 4 + /queues/{name}: + get: + tags: + - Queues + summary: Get queue status + parameters: + - name: name + in: path + required: true + schema: + type: string + example: default + responses: + '200': + description: Queue status + content: + application/json: + schema: + $ref: '#/components/schemas/QueueStatus' + examples: + status: + summary: Queue depth snapshot + value: + name: default + depth: 12 + inflight: 2 + oldestAgeSeconds: 45 + updatedAt: '2025-11-18T12:00:00Z' + '404': + description: Queue not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorEnvelope' + examples: + notFound: + summary: Queue missing + value: + code: scheduler.queue_not_found + message: Queue default not found. + traceId: 01JF04NF2 +components: + schemas: + QueueStatus: + type: object + required: + - name + - depth + - inflight + - updatedAt + properties: + name: + type: string + depth: + type: integer + inflight: + type: integer + oldestAgeSeconds: + type: integer + updatedAt: + type: string + format: date-time diff --git a/src/Api/StellaOps.Api.OpenApi/stella.yaml b/src/Api/StellaOps.Api.OpenApi/stella.yaml new file mode 100644 index 000000000..b136fcf07 --- /dev/null +++ b/src/Api/StellaOps.Api.OpenApi/stella.yaml @@ -0,0 +1,1542 @@ +components: + parameters: + CursorParam: + example: eyJyIjoiMjAyNS0xMS0xOC0wMDIifQ + in: query + name: cursor + required: false + schema: + type: string + LimitParam: + example: 50 + in: query + name: limit + required: false + schema: + maximum: 200 + minimum: 1 + type: integer + TenantParam: + description: Filter results to a specific tenant identifier. + example: acme + in: query + name: tenant + required: false + schema: + type: string + responses: + ErrorResponse: + content: + application/json: + schema: + $ref: ../schemas/common.yaml#/schemas/ErrorEnvelope + description: Error envelope + HealthResponse: + content: + application/json: + schema: + $ref: ../schemas/common.yaml#/schemas/HealthEnvelope + description: Health envelope + schemas: + ErrorEnvelope: + properties: + code: + example: service_unavailable + type: string + message: + type: string + traceId: + description: Correlation identifier for troubleshooting + type: string + required: + - code + - message + type: object + HealthEnvelope: + properties: + service: + example: any-service + type: string + status: + example: ok + type: string + required: + - status + - service + type: object + PageMetadata: + properties: + hasMore: + description: Indicates if additional pages are available. + type: boolean + nextCursor: + description: Cursor to fetch the next page. + type: string + previousCursor: + description: Cursor to fetch the previous page. + type: string + required: + - hasMore + type: object + authority.ClientCredentialsGrantRequest: + description: Form-encoded payload for client credentials exchange. + properties: + authority_provider: + description: Optional identity provider hint for plugin-backed clients. + type: string + client_id: + description: Registered client identifier. May also be supplied via HTTP Basic + auth. + type: string + client_secret: + description: Client secret. Required for confidential clients when not using + HTTP Basic auth. + type: string + grant_type: + const: client_credentials + type: string + operator_reason: + description: Required when requesting `orch:operate`; explains the operator + action. + maxLength: 256 + type: string + operator_ticket: + description: Required when requesting `orch:operate`; tracks the external change + ticket or incident. + maxLength: 128 + type: string + scope: + description: Space-delimited scopes being requested. + type: string + required: + - grant_type + - client_id + type: object + authority.IntrospectionRequest: + description: Form-encoded payload for token introspection. + properties: + token: + description: Token value whose state should be introspected. + type: string + token_type_hint: + description: Optional token type hint (`access_token` or `refresh_token`). + type: string + required: + - token + type: object + authority.IntrospectionResponse: + description: Active token descriptor compliant with RFC 7662. + properties: + active: + description: Indicates whether the token is currently active. + type: boolean + aud: + description: Audience values associated with the token. + items: + type: string + type: array + client_id: + description: Client identifier associated with the token. + type: string + confirmation: + description: Sender-constrained confirmation data (e.g., mTLS thumbprint, DPoP + JWK thumbprint). + type: object + exp: + description: Expiration timestamp (seconds since UNIX epoch). + type: integer + iat: + description: Issued-at timestamp (seconds since UNIX epoch). + type: integer + iss: + description: Issuer identifier. + type: string + jti: + description: JWT identifier corresponding to the token. + type: string + nbf: + description: Not-before timestamp (seconds since UNIX epoch). + type: integer + scope: + description: Space-delimited list of scopes granted to the token. + type: string + sub: + description: Subject identifier when the token represents an end-user. + type: string + tenant: + description: Tenant associated with the token, when assigned. + type: string + token_type: + description: Type of the token (e.g., `Bearer`). + type: string + username: + description: Preferred username associated with the subject. + type: string + required: + - active + type: object + authority.Jwk: + description: Public key material for token signature validation. + properties: + alg: + description: Signing algorithm (e.g., `ES384`). + type: string + crv: + description: Elliptic curve identifier when applicable. + type: string + kid: + description: Key identifier. + type: string + kty: + description: Key type (e.g., `EC`, `RSA`). + type: string + status: + description: Operational status metadata for the key (e.g., `active`, `retiring`). + type: string + use: + description: Intended key use (`sig`). + type: string + x: + description: X coordinate for EC keys. + type: string + y: + description: Y coordinate for EC keys. + type: string + type: object + authority.JwksDocument: + description: JSON Web Key Set published by the Authority. + properties: + keys: + items: + $ref: "#/components/schemas/authority.Jwk" + type: array + required: + - keys + type: object + authority.OAuthErrorResponse: + description: RFC 6749 compliant error envelope. + properties: + error: + description: Machine-readable error code. + type: string + error_description: + description: Human-readable error description. + type: string + error_uri: + description: Link to documentation about the error. + format: uri + type: string + required: + - error + type: object + authority.PasswordGrantRequest: + description: Form-encoded payload for password grant exchange. + properties: + authority_provider: + description: Optional identity provider hint. Required when multiple + password-capable providers are registered. + type: string + client_id: + description: Registered client identifier. May also be supplied via HTTP Basic + auth. + type: string + client_secret: + description: Client secret. Required for confidential clients when not using + HTTP Basic auth. + type: string + grant_type: + const: password + type: string + password: + description: Resource owner password. + type: string + scope: + description: Space-delimited scopes being requested. + type: string + username: + description: Resource owner username. + type: string + required: + - grant_type + - client_id + - username + - password + type: object + authority.RefreshTokenGrantRequest: + description: Form-encoded payload for refresh token exchange. + properties: + client_id: + description: Registered client identifier. May also be supplied via HTTP Basic + auth. + type: string + client_secret: + description: Client secret. Required for confidential clients when not using + HTTP Basic auth. + type: string + grant_type: + const: refresh_token + type: string + refresh_token: + description: Previously issued refresh token. + type: string + scope: + description: Optional scope list to narrow the requested access. + type: string + required: + - grant_type + - refresh_token + type: object + authority.RevocationRequest: + description: Form-encoded payload for token revocation. + properties: + token: + description: Token value or token identifier to revoke. + type: string + token_type_hint: + description: Optional token type hint (`access_token` or `refresh_token`). + type: string + required: + - token + type: object + authority.TokenResponse: + description: OAuth 2.1 bearer token response. + properties: + access_token: + description: Access token encoded as JWT. + type: string + expires_in: + description: Lifetime of the access token, in seconds. + minimum: 1 + type: integer + id_token: + description: ID token issued for authorization-code flows. + type: string + refresh_token: + description: Refresh token issued when the grant allows offline access. + type: string + scope: + description: Space-delimited scopes granted in the response. + type: string + token_type: + description: Token type indicator. Always `Bearer`. + type: string + required: + - access_token + - token_type + - expires_in + type: object + export-center.BundleManifest: + properties: + bundleId: + type: string + contents: + items: + properties: + digest: + example: sha256:abc123 + type: string + type: + example: advisory + type: string + required: + - type + - digest + type: object + type: array + createdAt: + format: date-time + type: string + required: + - bundleId + - contents + type: object + export-center.BundleSummary: + properties: + bundleId: + type: string + createdAt: + format: date-time + type: string + sizeBytes: + type: integer + status: + enum: + - ready + - building + - failed + type: string + required: + - bundleId + - createdAt + - status + type: object + export-center.Error: + $ref: "#/components/schemas/ErrorEnvelope" + export-center.HealthResponse: + $ref: "#/components/schemas/HealthEnvelope" + graph.GraphNodePage: + properties: + metadata: + $ref: "#/components/schemas/PageMetadata" + nodes: + items: + properties: + id: + type: string + kind: + type: string + label: + type: string + required: + - id + - kind + - label + type: object + type: array + required: + - nodes + - metadata + type: object + graph.GraphStatus: + properties: + builtAt: + format: date-time + type: string + graphId: + type: string + status: + enum: + - building + - ready + - failed + type: string + required: + - graphId + - status + type: object + orchestrator.JobSummary: + properties: + completedAt: + format: date-time + type: string + enqueuedAt: + format: date-time + type: string + jobId: + type: string + queue: + type: string + startedAt: + format: date-time + type: string + status: + enum: + - queued + - running + - failed + - completed + type: string + tenant: + type: string + required: + - jobId + - status + - queue + - enqueuedAt + type: object + policy.EvaluationRequest: + properties: + artifactId: + example: registry.stella-ops.local/runtime/api + type: string + inputs: + type: object + policyVersion: + example: 2025.10.1 + type: string + required: + - artifactId + type: object + policy.EvaluationResponse: + properties: + decision: + enum: + - allow + - deny + type: string + obligations: + items: + type: object + type: array + policyVersion: + type: string + reasons: + items: + type: string + type: array + traceId: + type: string + required: + - decision + type: object + scheduler.QueueStatus: + properties: + depth: + type: integer + inflight: + type: integer + name: + type: string + oldestAgeSeconds: + type: integer + updatedAt: + format: date-time + type: string + required: + - name + - depth + - inflight + - updatedAt + type: object + securitySchemes: + BearerAuth: + bearerFormat: JWT + scheme: bearer + type: http + OAuthClientCredentials: + description: OAuth 2.1 client credentials flow scoped per service. + flows: + clientCredentials: + scopes: {} + tokenUrl: /token + type: oauth2 +info: + description: Composed OpenAPI from per-service specs. This file is generated by + compose.mjs. + title: StellaOps Aggregate API + version: 0.0.1 +openapi: 3.1.0 +paths: + /authority/introspect: + post: + description: Returns the active status and claims for a given token. Requires a + privileged client. + requestBody: + content: + application/x-www-form-urlencoded: + examples: + introspectToken: + summary: Validate an access token issued to Orchestrator + value: + token: eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9... + token_type_hint: access_token + schema: + $ref: "#/components/schemas/authority.IntrospectionRequest" + required: true + responses: + "200": + content: + application/json: + examples: + activeToken: + summary: Active token response + value: + active: true + aud: + - https://orch.stellaops.local + client_id: orch-control + confirmation: + mtls_thumbprint: 079871b8c9a0f2e6 + exp: 1761628800 + iat: 1761625200 + iss: https://authority.stellaops.local + jti: 01J8KYRAMG7FWBPRRV5XG20T7S + nbf: 1761625200 + scope: orch:operate orch:read + sub: operator-7f12 + tenant: tenant-alpha + token_type: Bearer + username: ops.engineer@tenant.example + inactiveToken: + summary: Revoked token response + value: + active: false + schema: + $ref: "#/components/schemas/authority.IntrospectionResponse" + description: Token state evaluated. + "400": + content: + application/json: + examples: + missingToken: + summary: Token missing + value: + error: invalid_request + error_description: token parameter is required. + schema: + $ref: "#/components/schemas/authority.OAuthErrorResponse" + description: Malformed request. + "401": + content: + application/json: + examples: + unauthorizedClient: + summary: Client not allowed to introspect tokens + value: + error: invalid_client + error_description: Client authentication failed. + schema: + $ref: "#/components/schemas/authority.OAuthErrorResponse" + description: Client authentication failed or client lacks introspection + permission. + security: + - ClientSecretBasic: [] + summary: Introspect token state + tags: + - Authentication + x-original-path: /introspect + x-service: authority + /authority/jwks: + get: + description: Returns the JSON Web Key Set used to validate Authority-issued tokens. + responses: + "200": + content: + application/json: + examples: + ecKeySet: + summary: EC signing keys + value: + keys: + - alg: ES384 + crv: P-384 + kid: auth-tokens-es384-202510 + kty: EC + status: active + use: sig + x: 7UchU5R77LtChrJx6uWg9mYjFvV6RIpSgZPDIj7d1q0 + y: v98nHe8a7mGZ9Fn1t4Jp9PTJv1ma35QPmhUrE4pH7H0 + - alg: ES384 + crv: P-384 + kid: auth-tokens-es384-202409 + kty: EC + status: retiring + use: sig + x: hjdKc0r8jvVHJ7S9mP0y0mU9bqN7v5PxS21SwclTzfc + y: yk6J3pz4TUpymN4mG-6th3dYvJ5N1lQvDK0PLuFv3Pg + schema: + $ref: "#/components/schemas/authority.JwksDocument" + description: JWKS document. + headers: + Cache-Control: + description: Standard caching headers apply; keys rotate infrequently. + schema: + type: string + summary: Retrieve signing keys + tags: + - Keys + x-original-path: /jwks + x-service: authority + /authority/revoke: + post: + requestBody: + content: + application/x-www-form-urlencoded: + examples: + revokeRefreshToken: + summary: Revoke refresh token after logout + value: + token: 0.rg9pVlsGzXE8Q + token_type_hint: refresh_token + schema: + $ref: "#/components/schemas/authority.RevocationRequest" + required: true + responses: + "200": + description: Token revoked or already invalid. The response body is + intentionally blank. + "400": + content: + application/json: + examples: + missingToken: + summary: Token parameter omitted + value: + error: invalid_request + error_description: The revocation request is missing the token parameter. + schema: + $ref: "#/components/schemas/authority.OAuthErrorResponse" + description: Malformed request. + "401": + content: + application/json: + examples: + badClientSecret: + summary: Invalid client credentials + value: + error: invalid_client + error_description: Client authentication failed. + schema: + $ref: "#/components/schemas/authority.OAuthErrorResponse" + description: Client authentication failed. + security: + - ClientSecretBasic: [] + summary: Revoke an access or refresh token + tags: + - Authentication + x-original-path: /revoke + x-service: authority + /authority/token: + post: + description: > + Issues OAuth 2.1 bearer tokens for StellaOps clients. Supports password, + client credentials, + + authorization-code, device, and refresh token grants. Confidential + clients must authenticate using + + HTTP Basic auth or `client_secret` form fields. + requestBody: + content: + application/x-www-form-urlencoded: + encoding: + authority_provider: + explode: false + style: form + examples: + authorizationCode: + summary: Authorization code exchange for Console UI session + value: + client_id: console-ui + code: 2Lba1WtwPLfZ2b0Z9uPrsQ + code_verifier: g3ZnL91QJ6i4zO_86oI4CDnZ7gS0bSeK + grant_type: authorization_code + redirect_uri: https://console.stellaops.local/auth/callback + clientCredentials: + summary: Client credentials exchange for Policy Engine + value: + client_id: policy-engine + client_secret: 9c39f602-2f2b-4f29 + grant_type: client_credentials + operator_reason: Deploying policy change 1234 + operator_ticket: CHG-004211 + scope: effective:write findings:read + passwordGrant: + summary: Password grant for tenant-scoped ingestion bot + value: + authority_provider: primary-directory + client_id: ingest-cli + client_secret: s3cr3t + grant_type: password + password: pa55w0rd! + scope: advisory:ingest vex:ingest + username: ingest-bot + refreshToken: + summary: Refresh token rotation for console session + value: + client_id: console-ui + grant_type: refresh_token + refresh_token: 0.rg9pVlsGzXE8Q + schema: + oneOf: + - $ref: "#/components/schemas/authority.PasswordGrantRequest" + - $ref: "#/components/schemas/authority.ClientCredentialsGrantRequest" + - $ref: "#/components/schemas/authority.RefreshTokenGrantRequest" + required: true + responses: + "200": + content: + application/json: + examples: + authorizationCode: + summary: Authorization code success response + value: + access_token: eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9... + expires_in: 900 + id_token: eyJhbGciOiJFUzM4NCIsImtpZCI6ImNvbnNvbGUifQ... + refresh_token: VxKpc9Vj9QjYV6gLrhQHTw + scope: ui.read authority:tenants.read + token_type: Bearer + clientCredentials: + summary: Client credentials success response + value: + access_token: eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9... + expires_in: 900 + scope: effective:write findings:read + token_type: Bearer + passwordGrant: + summary: Password grant success response + value: + access_token: eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9... + expires_in: 3600 + refresh_token: OxGdVtZJ-mk49cFd38uRUw + scope: advisory:ingest vex:ingest + token_type: Bearer + schema: + $ref: "#/components/schemas/authority.TokenResponse" + description: Token exchange succeeded. + "400": + content: + application/json: + examples: + invalidProvider: + summary: Unknown identity provider hint + value: + error: invalid_request + error_description: Unknown identity provider 'legacy-directory'. + invalidScope: + summary: Scope not permitted for client + value: + error: invalid_scope + error_description: Scope 'effective:write' is not permitted for this client. + schema: + $ref: "#/components/schemas/authority.OAuthErrorResponse" + description: Malformed request, unsupported grant type, or invalid credentials. + "401": + content: + application/json: + examples: + badClientSecret: + summary: Invalid client secret + value: + error: invalid_client + error_description: Client authentication failed. + schema: + $ref: "#/components/schemas/authority.OAuthErrorResponse" + description: Client authentication failed. + security: + - ClientSecretBasic: [] + - {} + summary: Exchange credentials for tokens + tags: + - Authentication + x-original-path: /token + x-service: authority + /export-center/bundles: + get: + parameters: + - $ref: ../_shared/parameters/tenant.yaml#/parameters/TenantParam + - $ref: ../_shared/parameters/paging.yaml#/parameters/LimitParam + - $ref: ../_shared/parameters/paging.yaml#/parameters/CursorParam + responses: + "200": + content: + application/json: + examples: + page: + summary: First page of bundles + value: + items: + - bundleId: bundle-2025-11-18-001 + createdAt: 2025-11-18T12:00:00Z + sizeBytes: 1048576 + status: ready + - bundleId: bundle-2025-11-18-000 + createdAt: 2025-11-18T10:00:00Z + sizeBytes: 2048 + status: ready + metadata: + hasMore: true + nextCursor: eyJyIjoiMjAyNS0xMS0xOC0wMDIifQ + schema: + properties: + items: + items: + $ref: "#/components/schemas/export-center.BundleSummary" + type: array + metadata: + $ref: "#/components/schemas/PageMetadata" + type: object + description: Bundle page + "400": + content: + application/json: + examples: + invalidTenant: + summary: Tenant missing + value: + code: export.invalid_tenant + message: tenant query parameter is required. + traceId: 01JF04ERR3 + schema: + $ref: "#/components/schemas/ErrorEnvelope" + description: Invalid request + summary: List export bundles + tags: + - Bundles + x-original-path: /bundles + x-service: export-center + /export-center/bundles/{bundleId}: + get: + parameters: + - example: bundle-2025-11-18-001 + in: path + name: bundleId + required: true + schema: + type: string + responses: + "200": + content: + application/zip: + examples: + download: + summary: Zip payload + value: binary data + description: Bundle stream + "404": + content: + application/json: + examples: + notFound: + summary: Bundle missing + value: + code: export.bundle_not_found + message: Bundle bundle-2025-11-18-001 not found. + traceId: 01JF04NF + schema: + $ref: "#/components/schemas/export-center.ErrorEnvelope" + description: Bundle not found + summary: Download export bundle by id + tags: + - Bundles + x-original-path: /bundles/{bundleId} + x-service: export-center + /export-center/bundles/{bundleId}/manifest: + get: + parameters: + - in: path + name: bundleId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + examples: + manifest: + value: + bundleId: bundle-2025-11-18-001 + contents: + - digest: sha256:abc123 + type: advisory + - digest: sha256:def456 + type: vex + createdAt: 2025-11-18T12:00:00Z + schema: + $ref: "#/components/schemas/export-center.BundleManifest" + description: Manifest metadata + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorEnvelope" + description: Bundle not found + summary: Fetch bundle manifest metadata + tags: + - Bundles + x-original-path: /bundles/{bundleId}/manifest + x-service: export-center + /export-center/health: + get: + responses: + "200": + content: + application/json: + examples: + ok: + value: + service: export-center + status: ok + timestamp: 2025-11-18T00:00:00Z + description: Service is up + "503": + content: + application/json: + examples: + unhealthy: + value: + reason: object store unreachable + service: export-center + status: degraded + timestamp: 2025-11-18T00:00:00Z + description: Service unhealthy or dependencies unavailable. + summary: Liveness probe + tags: + - Health + x-original-path: /health + x-service: export-center + /export-center/healthz: + get: + responses: + "200": + content: + application/json: + examples: + ok: + summary: Healthy response + value: + service: export-center + status: ok + schema: + $ref: "#/components/schemas/export-center.HealthResponse" + description: Service healthy + "503": + content: + application/json: + examples: + unavailable: + summary: Unhealthy response + value: + code: service_unavailable + message: mirror bundle backlog exceeds SLA + traceId: 3 + schema: + $ref: "#/components/schemas/export-center.ErrorEnvelope" + description: Service unavailable + summary: Service health + tags: + - Meta + x-original-path: /healthz + x-service: export-center + /graph/graphs/{graphId}/nodes: + get: + parameters: + - in: path + name: graphId + required: true + schema: + type: string + - $ref: ../_shared/parameters/paging.yaml#/parameters/LimitParam + - $ref: ../_shared/parameters/paging.yaml#/parameters/CursorParam + responses: + "200": + content: + application/json: + examples: + sample: + value: + metadata: + hasMore: true + nextCursor: eyJuIjoiMjAyNS0xMS0xOCJ9 + nodes: + - id: node-1 + kind: artifact + label: registry.stella-ops.local/runtime/api + - id: node-2 + kind: policy + label: policy:baseline + schema: + $ref: "#/components/schemas/graph.GraphNodePage" + description: Graph nodes page + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorEnvelope" + description: Graph not found + summary: List graph nodes + tags: + - Graphs + x-original-path: /graphs/{graphId}/nodes + x-service: graph + /graph/graphs/{graphId}/status: + get: + parameters: + - in: path + name: graphId + required: true + schema: + type: string + - $ref: ../_shared/parameters/tenant.yaml#/parameters/TenantParam + responses: + "200": + content: + application/json: + examples: + ready: + value: + builtAt: 2025-11-18 12:00:00+00:00 + graphId: graph-01JF0XYZ + status: ready + schema: + $ref: "#/components/schemas/graph.GraphStatus" + description: Graph status + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/graph.ErrorEnvelope" + description: Graph not found + summary: Get graph build status + tags: + - Graphs + x-original-path: /graphs/{graphId}/status + x-service: graph + /graph/healthz: + get: + responses: + "200": + content: + application/json: + examples: + ok: + summary: Healthy response + value: + service: graph + status: ok + schema: + $ref: "#/components/schemas/graph.HealthEnvelope" + description: Service healthy + "503": + content: + application/json: + examples: + unavailable: + summary: Unhealthy response + value: + code: service_unavailable + message: indexer lag exceeds threshold + traceId: 5 + schema: + $ref: "#/components/schemas/graph.ErrorEnvelope" + description: Service unavailable + summary: Service health + tags: + - Meta + x-original-path: /healthz + x-service: graph + /orchestrator/health: + get: + responses: + "200": + content: + application/json: + examples: + ok: + value: + service: orchestrator + status: ok + timestamp: 2025-11-18T00:00:00Z + description: Service is up + "503": + content: + application/json: + examples: + unhealthy: + value: + reason: scheduler queue unreachable + service: orchestrator + status: degraded + timestamp: 2025-11-18T00:00:00Z + description: Service unhealthy or dependencies unavailable. + summary: Liveness probe + tags: + - Health + x-original-path: /health + x-service: orchestrator + /orchestrator/healthz: + get: + responses: + "200": + content: + application/json: + examples: + ok: + summary: Healthy response + value: + service: orchestrator + status: ok + schema: + $ref: "#/components/schemas/HealthEnvelope" + description: Service healthy + "503": + content: + application/json: + examples: + unavailable: + summary: Unhealthy response + value: + code: service_unavailable + message: outbound queue lag exceeds threshold + traceId: 1 + schema: + $ref: "#/components/schemas/ErrorEnvelope" + description: Service unavailable + summary: Service health + tags: + - Meta + x-original-path: /healthz + x-service: orchestrator + /orchestrator/jobs: + get: + parameters: + - in: query + name: status + schema: + enum: + - queued + - running + - failed + - completed + type: string + - $ref: ../_shared/parameters/paging.yaml#/parameters/LimitParam + - $ref: ../_shared/parameters/tenant.yaml#/parameters/TenantParam + responses: + "200": + content: + application/json: + examples: + sample: + value: + - enqueuedAt: 2025-11-18T12:00:00Z + jobId: job_01JF04ABCD + queue: scan + status: queued + - enqueuedAt: 2025-11-18T11:55:00Z + jobId: job_01JF04EFGH + queue: policy-eval + startedAt: 2025-11-18T11:56:10Z + status: running + schema: + items: + $ref: "#/components/schemas/orchestrator.JobSummary" + type: array + description: Jobs page + summary: List jobs + tags: + - Jobs + x-original-path: /jobs + x-service: orchestrator + post: + requestBody: + content: + application/json: + examples: + scanJob: + summary: Submit scan job + value: + kind: scan + payload: + artifactId: registry.stella-ops.local/runtime/api + policyVersion: 2025.10.1 + priority: high + tenant: tenant-alpha + schema: + $ref: "#/components/schemas/orchestrator.JobCreateRequest" + required: true + responses: + "202": + content: + application/json: + examples: + accepted: + summary: Job enqueued + value: + enqueuedAt: 2025-11-18T12:00:00Z + jobId: job_01JF04ABCD + queue: scan + status: queued + schema: + $ref: "#/components/schemas/orchestrator.JobCreateResponse" + description: Job accepted + "400": + content: + application/json: + examples: + missingType: + summary: Missing jobType + value: + code: orch.invalid_request + message: jobType is required. + traceId: 01JF04ERR1 + schema: + $ref: "#/components/schemas/ErrorEnvelope" + description: Invalid request + security: + - OAuthClientCredentials: [] + - BearerAuth: [] + summary: Submit a job to the orchestrator queue + tags: + - Jobs + x-original-path: /jobs + x-service: orchestrator + /orchestrator/jobs/{jobId}: + get: + parameters: + - in: path + name: jobId + required: true + schema: + type: string + responses: + "200": + content: + application/json: + examples: + sample: + value: + enqueuedAt: 2025-11-18T12:00:00Z + jobId: job_01JF04ABCD + queue: scan + status: queued + schema: + $ref: "#/components/schemas/orchestrator.JobSummary" + description: Job status + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/orchestrator.ErrorEnvelope" + description: Job not found + summary: Get job status + tags: + - Jobs + x-original-path: /jobs/{jobId} + x-service: orchestrator + /policy/evaluate: + post: + requestBody: + content: + application/json: + examples: + default: + summary: Evaluate current policy for an artifact + value: + artifactId: registry.stella-ops.local/runtime/api + inputs: + branch: main + tenant: acme + policyVersion: 2025.10.1 + schema: + $ref: "#/components/schemas/policy.EvaluationRequest" + required: true + responses: + "200": + content: + application/json: + examples: + allow: + summary: Allow decision with reasons + value: + decision: allow + metadata: + latencyMs: 42 + obligations: + - record: evidence + policyVersion: 2025.10.1 + reasons: + - signed + - within SLO + traceId: 01JF040XYZ + schema: + $ref: "#/components/schemas/policy.EvaluationResponse" + description: Evaluation succeeded + "400": + content: + application/json: + examples: + missingArtifact: + summary: Missing artifactId + value: + code: policy.invalid_request + message: artifactId is required. + traceId: 01JF041ERR + schema: + $ref: "#/components/schemas/ErrorEnvelope" + description: Invalid request + security: + - OAuthClientCredentials: [] + - BearerAuth: [] + summary: Evaluate policy for an artifact + tags: + - Evaluation + x-original-path: /evaluate + x-service: policy + /policy/health: + get: + responses: + "200": + content: + application/json: + examples: + ok: + value: + service: policy + status: ok + timestamp: 2025-11-18T00:00:00Z + description: Service is up + "503": + content: + application/json: + examples: + unhealthy: + value: + reason: mongo unavailable + service: policy + status: degraded + timestamp: 2025-11-18T00:00:00Z + description: Service unhealthy or dependencies unavailable. + summary: Liveness probe + tags: + - Health + x-original-path: /health + x-service: policy + /policy/healthz: + get: + responses: + "200": + content: + application/json: + examples: + ok: + summary: Healthy response + value: + service: policy + status: ok + schema: + $ref: "#/components/schemas/HealthEnvelope" + description: Service healthy + "503": + content: + application/json: + examples: + unavailable: + summary: Unhealthy response + value: + code: service_unavailable + message: projector backlog exceeds SLA + traceId: 2 + schema: + $ref: "#/components/schemas/ErrorEnvelope" + description: Service unavailable + summary: Service health + tags: + - Meta + x-original-path: /healthz + x-service: policy + /scheduler/health: + get: + responses: + "200": + content: + application/json: + examples: + ok: + value: + service: scheduler + status: ok + timestamp: 2025-11-18T00:00:00Z + description: Service is up + "503": + content: + application/json: + examples: + unhealthy: + value: + reason: queue not reachable + service: scheduler + status: degraded + timestamp: 2025-11-18T00:00:00Z + description: Service unhealthy or dependencies unavailable. + summary: Liveness probe + tags: + - Health + x-original-path: /health + x-service: scheduler + /scheduler/healthz: + get: + responses: + "200": + content: + application/json: + examples: + ok: + summary: Healthy response + value: + service: scheduler + status: ok + schema: + $ref: "#/components/schemas/scheduler.HealthEnvelope" + description: Service healthy + "503": + content: + application/json: + examples: + unavailable: + summary: Unhealthy response + value: + code: service_unavailable + message: queue backlog exceeds threshold + traceId: 4 + schema: + $ref: "#/components/schemas/scheduler.ErrorEnvelope" + description: Service unavailable + summary: Service health + tags: + - Meta + x-original-path: /healthz + x-service: scheduler + /scheduler/queues/{name}: + get: + parameters: + - example: default + in: path + name: name + required: true + schema: + type: string + responses: + "200": + content: + application/json: + examples: + status: + summary: Queue depth snapshot + value: + depth: 12 + inflight: 2 + name: default + oldestAgeSeconds: 45 + updatedAt: 2025-11-18T12:00:00Z + schema: + $ref: "#/components/schemas/scheduler.QueueStatus" + description: Queue status + "404": + content: + application/json: + examples: + notFound: + summary: Queue missing + value: + code: scheduler.queue_not_found + message: Queue default not found. + traceId: 01JF04NF2 + schema: + $ref: "#/components/schemas/scheduler.ErrorEnvelope" + description: Queue not found + summary: Get queue status + tags: + - Queues + x-original-path: /queues/{name} + x-service: scheduler +servers: + - description: Example Authority deployment + url: https://authority.stellaops.local + x-service: authority + - description: Example Export Center endpoint + url: https://export.stellaops.local + x-service: export-center + - description: Example Graph endpoint + url: https://graph.stellaops.local + x-service: graph + - description: Example Orchestrator endpoint + url: https://orchestrator.stellaops.local + x-service: orchestrator + - description: Example Policy Engine endpoint + url: https://policy.stellaops.local + x-service: policy + - description: Example Scheduler endpoint + url: https://scheduler.stellaops.local + x-service: scheduler diff --git a/src/Api/StellaOps.Api.OpenApi/tasks.md b/src/Api/StellaOps.Api.OpenApi/tasks.md new file mode 100644 index 000000000..f6baf1d94 --- /dev/null +++ b/src/Api/StellaOps.Api.OpenApi/tasks.md @@ -0,0 +1,10 @@ +# API Contracts Tasks + +| Task | Status | Notes | +| --- | --- | --- | +| OAS-61-001 | DONE | Scaffold per-service OpenAPI 3.1 files with shared components, info blocks, and initial path stubs. | +| OAS-61-002 | DONE (2025-11-18) | Composer (`compose.mjs`) emits `stella.yaml` with namespaced paths/components; CI job validates aggregate stays up to date. | +| OAS-62-001 | DOING | Populate request/response examples for top 50 endpoints, including standard error envelope. | +| OAS-62-002 | TODO | Add custom lint rules enforcing pagination, idempotency headers, naming conventions, and example coverage. | +| OAS-63-001 | TODO | Implement compatibility diff tooling comparing previous release specs; classify breaking vs additive changes. | +| OAS-63-002 | TODO | Add `/.well-known/openapi` discovery endpoint schema metadata (extensions, version info). | diff --git a/src/Attestor/StellaOps.Attestation.Tests/DsseHelperTests.cs b/src/Attestor/StellaOps.Attestation.Tests/DsseHelperTests.cs new file mode 100644 index 000000000..c36629352 --- /dev/null +++ b/src/Attestor/StellaOps.Attestation.Tests/DsseHelperTests.cs @@ -0,0 +1,50 @@ +using System; +using System.Text; +using System.Text.Json; +using System.Threading.Tasks; +using FluentAssertions; +using StellaOps.Attestation; +using StellaOps.Attestor.Envelope; +using Xunit; + +public class DsseHelperTests +{ + private sealed class FakeSigner : IAuthoritySigner + { + public Task GetKeyIdAsync(System.Threading.CancellationToken cancellationToken = default) + => Task.FromResult("fake-key"); + + public Task SignAsync(ReadOnlyMemory paePayload, System.Threading.CancellationToken cancellationToken = default) + => Task.FromResult(Convert.FromHexString("deadbeef")); + } + + [Fact] + public async Task WrapAsync_ProducesDsseEnvelope() + { + var stmt = new InTotoStatement( + Type: "https://in-toto.io/Statement/v1", + Subject: new[] { new Subject("demo", new System.Collections.Generic.Dictionary { { "sha256", "abcd" } }) }, + PredicateType: "demo/predicate", + Predicate: new { hello = "world" }); + + var envelope = await DsseHelper.WrapAsync(stmt, new FakeSigner()); + + envelope.PayloadType.Should().Be("https://in-toto.io/Statement/v1"); + var roundtrip = JsonSerializer.Deserialize(envelope.Payload.Span); + roundtrip!.PredicateType.Should().Be("demo/predicate"); + envelope.Signatures.Should().ContainSingle(); + envelope.Signatures[0].KeyId.Should().Be("fake-key"); + envelope.Signatures[0].Signature.Should().Be(Convert.ToBase64String(Convert.FromHexString("deadbeef"))); + } + + [Fact] + public void PreAuthenticationEncoding_FollowsDsseSpec() + { + var payloadType = "example/type"; + var payload = Encoding.UTF8.GetBytes("{}"); + + var pae = DsseHelper.PreAuthenticationEncoding(payloadType, payload); + pae.Should().ContainSubsequence(Encoding.UTF8.GetBytes(payloadType)); + pae.Should().ContainSubsequence(payload); + } +} diff --git a/src/Attestor/StellaOps.Attestation.Tests/StellaOps.Attestation.Tests.csproj b/src/Attestor/StellaOps.Attestation.Tests/StellaOps.Attestation.Tests.csproj new file mode 100644 index 000000000..d3d612caf --- /dev/null +++ b/src/Attestor/StellaOps.Attestation.Tests/StellaOps.Attestation.Tests.csproj @@ -0,0 +1,14 @@ + + + net10.0 + enable + enable + true + + + + + + + + diff --git a/src/Attestor/StellaOps.Attestation/DsseHelper.cs b/src/Attestor/StellaOps.Attestation/DsseHelper.cs new file mode 100644 index 000000000..28f7cf4a2 --- /dev/null +++ b/src/Attestor/StellaOps.Attestation/DsseHelper.cs @@ -0,0 +1,55 @@ +using System; +using System.Globalization; +using System.Text; +using System.Text.Json; +using System.Threading; +using System.Threading.Tasks; +using StellaOps.Attestor.Envelope; + +namespace StellaOps.Attestation; + +public static class DsseHelper +{ + public static byte[] PreAuthenticationEncoding(string payloadType, ReadOnlySpan payload) + { + static byte[] Cat(params byte[][] parts) + { + var len = 0; + foreach (var part in parts) + { + len += part.Length; + } + + var buf = new byte[len]; + var offset = 0; + foreach (var part in parts) + { + Buffer.BlockCopy(part, 0, buf, offset, part.Length); + offset += part.Length; + } + return buf; + } + + var header = Encoding.UTF8.GetBytes("DSSEv1"); + var pt = Encoding.UTF8.GetBytes(payloadType); + var lenPt = Encoding.UTF8.GetBytes(pt.Length.ToString(CultureInfo.InvariantCulture)); + var lenPayload = Encoding.UTF8.GetBytes(payload.Length.ToString(CultureInfo.InvariantCulture)); + var space = Encoding.UTF8.GetBytes(" "); + + return Cat(header, space, lenPt, space, pt, space, lenPayload, space, payload.ToArray()); + } + + public static async Task WrapAsync(InTotoStatement statement, IAuthoritySigner signer, CancellationToken cancellationToken = default) + { + ArgumentNullException.ThrowIfNull(statement); + ArgumentNullException.ThrowIfNull(signer); + + var payloadBytes = JsonSerializer.SerializeToUtf8Bytes(statement, statement.GetType()); + var pae = PreAuthenticationEncoding(statement.Type ?? string.Empty, payloadBytes); + var signatureBytes = await signer.SignAsync(pae, cancellationToken).ConfigureAwait(false); + var keyId = await signer.GetKeyIdAsync(cancellationToken).ConfigureAwait(false); + + var dsseSignature = DsseSignature.FromBytes(signatureBytes, keyId); + return new DsseEnvelope(statement.Type, payloadBytes, new[] { dsseSignature }); + } +} diff --git a/src/Attestor/StellaOps.Attestation/IAuthoritySigner.cs b/src/Attestor/StellaOps.Attestation/IAuthoritySigner.cs new file mode 100644 index 000000000..35d3ab2b8 --- /dev/null +++ b/src/Attestor/StellaOps.Attestation/IAuthoritySigner.cs @@ -0,0 +1,11 @@ +using System.Threading; +using System.Threading.Tasks; + +namespace StellaOps.Attestation; + +public interface IAuthoritySigner +{ + Task GetKeyIdAsync(CancellationToken cancellationToken = default); + + Task SignAsync(ReadOnlyMemory paePayload, CancellationToken cancellationToken = default); +} diff --git a/src/Attestor/StellaOps.Attestation/Models.cs b/src/Attestor/StellaOps.Attestation/Models.cs new file mode 100644 index 000000000..5c43f145a --- /dev/null +++ b/src/Attestor/StellaOps.Attestation/Models.cs @@ -0,0 +1,14 @@ +using System.Collections.Generic; +using System.Text.Json.Serialization; + +namespace StellaOps.Attestation; + +public sealed record Subject( + [property: JsonPropertyName("name")] string Name, + [property: JsonPropertyName("digest")] IReadOnlyDictionary Digest); + +public sealed record InTotoStatement( + [property: JsonPropertyName("_type")] string Type, + [property: JsonPropertyName("subject")] IReadOnlyList Subject, + [property: JsonPropertyName("predicateType")] string PredicateType, + [property: JsonPropertyName("predicate")] object Predicate); diff --git a/src/Attestor/StellaOps.Attestation/StellaOps.Attestation.csproj b/src/Attestor/StellaOps.Attestation/StellaOps.Attestation.csproj new file mode 100644 index 000000000..23b26a5c8 --- /dev/null +++ b/src/Attestor/StellaOps.Attestation/StellaOps.Attestation.csproj @@ -0,0 +1,12 @@ + + + net10.0 + enable + enable + true + + + + + + diff --git a/src/Concelier/__Libraries/StellaOps.Concelier.Core/Linksets/AdvisoryLinksetMapper.cs b/src/Concelier/__Libraries/StellaOps.Concelier.Core/Linksets/AdvisoryLinksetMapper.cs index 0a7c3cacd..fe8784561 100644 --- a/src/Concelier/__Libraries/StellaOps.Concelier.Core/Linksets/AdvisoryLinksetMapper.cs +++ b/src/Concelier/__Libraries/StellaOps.Concelier.Core/Linksets/AdvisoryLinksetMapper.cs @@ -11,12 +11,27 @@ namespace StellaOps.Concelier.Core.Linksets; /// public sealed partial class AdvisoryLinksetMapper : IAdvisoryLinksetMapper { - private static readonly HashSet AliasSchemesOfInterest = new(new[] - { - AliasSchemes.Cve, - AliasSchemes.Ghsa, - AliasSchemes.OsV - }, StringComparer.OrdinalIgnoreCase); + private static readonly HashSet AliasSchemesOfInterest = new(new[] + { + AliasSchemes.Cve, + AliasSchemes.Ghsa, + AliasSchemes.OsV, + AliasSchemes.Rhsa, + AliasSchemes.Usn, + AliasSchemes.Dsa, + AliasSchemes.SuseSu, + AliasSchemes.Msrc, + AliasSchemes.CiscoSa, + AliasSchemes.OracleCpu, + AliasSchemes.Vmsa, + AliasSchemes.Apsb, + AliasSchemes.Apa, + AliasSchemes.AppleHt, + AliasSchemes.Icsa, + AliasSchemes.Jvndb, + AliasSchemes.Jvn, + AliasSchemes.Bdu + }, StringComparer.OrdinalIgnoreCase); public RawLinkset Map(AdvisoryRawDocument document) { diff --git a/src/Concelier/__Libraries/StellaOps.Concelier.Core/Linksets/AdvisoryLinksetNormalization.cs b/src/Concelier/__Libraries/StellaOps.Concelier.Core/Linksets/AdvisoryLinksetNormalization.cs index 3c7858fb7..70e646117 100644 --- a/src/Concelier/__Libraries/StellaOps.Concelier.Core/Linksets/AdvisoryLinksetNormalization.cs +++ b/src/Concelier/__Libraries/StellaOps.Concelier.Core/Linksets/AdvisoryLinksetNormalization.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using StellaOps.Concelier.RawModels; using StellaOps.Concelier.Models; +using StellaOps.Concelier.Normalization.SemVer; namespace StellaOps.Concelier.Core.Linksets; @@ -41,13 +42,14 @@ internal static class AdvisoryLinksetNormalization { var normalizedPurls = NormalizePurls(purlValues); var versions = ExtractVersions(normalizedPurls); + var ranges = BuildVersionRanges(normalizedPurls); - if (normalizedPurls.Count == 0 && versions.Count == 0) + if (normalizedPurls.Count == 0 && versions.Count == 0 && ranges.Count == 0) { return null; } - return new AdvisoryLinksetNormalized(normalizedPurls, versions, null, null); + return new AdvisoryLinksetNormalized(normalizedPurls, versions, ranges, null); } private static List NormalizePurls(IEnumerable purls) @@ -89,6 +91,55 @@ internal static class AdvisoryLinksetNormalization return versions.ToList(); } + private static List> BuildVersionRanges(IReadOnlyCollection purls) + { + var ranges = new List>(); + + foreach (var purl in purls) + { + var atIndex = purl.LastIndexOf('@'); + if (atIndex < 0 || atIndex >= purl.Length - 1) + { + continue; + } + + var versionSegment = purl[(atIndex + 1)..]; + if (string.IsNullOrWhiteSpace(versionSegment)) + { + continue; + } + + if (!LooksLikeRange(versionSegment)) + { + continue; + } + + var rules = SemVerRangeRuleBuilder.BuildNormalizedRules(versionSegment, provenanceNote: $"purl:{purl}"); + foreach (var rule in rules) + { + ranges.Add(new Dictionary(StringComparer.Ordinal) + { + { "scheme", rule.Scheme }, + { "type", rule.Type }, + { "min", rule.Min }, + { "minInclusive", rule.MinInclusive }, + { "max", rule.Max }, + { "maxInclusive", rule.MaxInclusive }, + { "value", rule.Value }, + { "notes", rule.Notes } + }); + } + } + + return ranges; + } + + private static bool LooksLikeRange(string value) + { + return value.IndexOfAny(new[] { '^', '~', '*', ' ', ',', '|', '>' , '<' }) >= 0 || + value.Contains("||", StringComparison.Ordinal); + } + private static double? CoerceConfidence(double? confidence) { if (!confidence.HasValue) diff --git a/src/Concelier/__Libraries/StellaOps.Concelier.Core/Linksets/PolicyAuthSignalFactory.cs b/src/Concelier/__Libraries/StellaOps.Concelier.Core/Linksets/PolicyAuthSignalFactory.cs new file mode 100644 index 000000000..162eaa084 --- /dev/null +++ b/src/Concelier/__Libraries/StellaOps.Concelier.Core/Linksets/PolicyAuthSignalFactory.cs @@ -0,0 +1,43 @@ +#nullable enable +using System; +using System.Collections.Generic; +using System.Linq; +using StellaOps.Policy.AuthSignals; + +namespace StellaOps.Concelier.Core.Linksets; + +/// +/// Maps advisory linksets into the shared Policy/Auth/Signals contract so policy enrichment tasks can start. +/// This is a minimal, fact-only projection (no weighting or merge logic). +/// +public static class PolicyAuthSignalFactory +{ + public static PolicyAuthSignal ToPolicyAuthSignal(AdvisoryLinkset linkset) + { + ArgumentNullException.ThrowIfNull(linkset); + + var firstPurl = linkset.Normalized?.Purls?.FirstOrDefault(); + + var evidence = new List + { + new() + { + Kind = "linkset", + Uri = $"cas://linksets/{linkset.AdvisoryId}", + Digest = "sha256:pending" // real digest filled when CAS manifests are available + } + }; + + return new PolicyAuthSignal + { + Id = linkset.AdvisoryId, + Tenant = linkset.TenantId, + Subject = firstPurl ?? $"advisory:{linkset.Source}:{linkset.AdvisoryId}", + SignalType = "reachability", + Source = linkset.Source, + Confidence = linkset.Confidence, + Evidence = evidence, + Created = linkset.CreatedAt.UtcDateTime + }; + } +} diff --git a/src/Concelier/__Libraries/StellaOps.Concelier.Core/Observations/AdvisoryObservationQueryService.cs b/src/Concelier/__Libraries/StellaOps.Concelier.Core/Observations/AdvisoryObservationQueryService.cs index 5581fe622..4f34858c2 100644 --- a/src/Concelier/__Libraries/StellaOps.Concelier.Core/Observations/AdvisoryObservationQueryService.cs +++ b/src/Concelier/__Libraries/StellaOps.Concelier.Core/Observations/AdvisoryObservationQueryService.cs @@ -4,6 +4,7 @@ using System.Text; using StellaOps.Concelier.Models; using StellaOps.Concelier.Models.Observations; using StellaOps.Concelier.RawModels; +using StellaOps.Concelier.Core.Linksets; namespace StellaOps.Concelier.Core.Observations; @@ -251,10 +252,10 @@ public sealed class AdvisoryObservationQueryService : IAdvisoryObservationQueryS relationshipSet.Add(relationship); } - var (_, rawConfidence, rawConflicts) = AdvisoryLinksetNormalization.FromRawLinksetWithConfidence(observation.RawLinkset); - confidence = Math.Min(confidence, rawConfidence ?? 1.0); + var linksetProjection = AdvisoryLinksetNormalization.FromRawLinksetWithConfidence(observation.RawLinkset); + confidence = Math.Min(confidence, linksetProjection.confidence ?? 1.0); - foreach (var conflict in rawConflicts) + foreach (var conflict in linksetProjection.conflicts) { var key = $"{conflict.Field}|{conflict.Reason}|{string.Join('|', conflict.Values ?? Array.Empty())}"; if (conflictSet.Add(key)) diff --git a/src/Concelier/__Libraries/StellaOps.Concelier.Core/Policy/AuthSignalsPackage.cs b/src/Concelier/__Libraries/StellaOps.Concelier.Core/Policy/AuthSignalsPackage.cs new file mode 100644 index 000000000..73829b091 --- /dev/null +++ b/src/Concelier/__Libraries/StellaOps.Concelier.Core/Policy/AuthSignalsPackage.cs @@ -0,0 +1,31 @@ +#nullable enable +using System; +using System.Collections.Generic; +using StellaOps.Policy.AuthSignals; + +namespace StellaOps.Concelier.Core.Policy; + +/// +/// Temporary bridge to consume the shared Policy/Auth/Signals contract package so downstream POLICY tasks can start. +/// +public static class AuthSignalsPackage +{ + public static PolicyAuthSignal CreateSample() => new() + { + Id = "sample", + Tenant = "urn:tenant:sample", + Subject = "purl:pkg:maven/org.example/app@1.0.0", + SignalType = "reachability", + Source = "concelier", + Evidence = new List + { + new() + { + Kind = "linkset", + Uri = "cas://linksets/sample", + Digest = "sha256:stub" + } + }, + Created = DateTime.UtcNow + }; +} diff --git a/src/Concelier/__Libraries/StellaOps.Concelier.Core/StellaOps.Concelier.Core.csproj b/src/Concelier/__Libraries/StellaOps.Concelier.Core/StellaOps.Concelier.Core.csproj index 66ea9331a..102d7e281 100644 --- a/src/Concelier/__Libraries/StellaOps.Concelier.Core/StellaOps.Concelier.Core.csproj +++ b/src/Concelier/__Libraries/StellaOps.Concelier.Core/StellaOps.Concelier.Core.csproj @@ -13,6 +13,7 @@ + diff --git a/src/Concelier/__Libraries/StellaOps.Concelier.Storage.Mongo/ServiceCollectionExtensions.cs b/src/Concelier/__Libraries/StellaOps.Concelier.Storage.Mongo/ServiceCollectionExtensions.cs index abba6a34d..804f7dbc7 100644 --- a/src/Concelier/__Libraries/StellaOps.Concelier.Storage.Mongo/ServiceCollectionExtensions.cs +++ b/src/Concelier/__Libraries/StellaOps.Concelier.Storage.Mongo/ServiceCollectionExtensions.cs @@ -108,6 +108,12 @@ public static class ServiceCollectionExtensions return database.GetCollection(MongoStorageDefaults.Collections.AdvisoryObservations); }); + services.AddSingleton>(static sp => + { + var database = sp.GetRequiredService(); + return database.GetCollection(MongoStorageDefaults.Collections.AdvisoryLinksets); + }); + services.AddHostedService(); services.AddSingleton(); diff --git a/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/Linksets/AdvisoryLinksetMapperTests.cs b/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/Linksets/AdvisoryLinksetMapperTests.cs index 51e4cb7f4..8dc44733a 100644 --- a/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/Linksets/AdvisoryLinksetMapperTests.cs +++ b/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/Linksets/AdvisoryLinksetMapperTests.cs @@ -79,11 +79,11 @@ public sealed class AdvisoryLinksetMapperTests } [Fact] - public void Map_DeduplicatesValuesButRetainsMultipleOrigins() - { - using var contentDoc = JsonDocument.Parse( - """ - { + public void Map_DeduplicatesValuesButRetainsMultipleOrigins() + { + using var contentDoc = JsonDocument.Parse( + """ + { "aliases": ["CVE-2025-0002", "CVE-2025-0002"], "packages": [ { "coordinates": "pkg:npm/package-b@2.0.0" }, @@ -119,7 +119,36 @@ public sealed class AdvisoryLinksetMapperTests Assert.Contains("/content/raw/aliases/0", result.ReconciledFrom); Assert.Contains("/content/raw/aliases/1", result.ReconciledFrom); - Assert.Contains("/content/raw/packages/0/coordinates", result.ReconciledFrom); - Assert.Contains("/content/raw/packages/1/coordinates", result.ReconciledFrom); - } -} + Assert.Contains("/content/raw/packages/0/coordinates", result.ReconciledFrom); + Assert.Contains("/content/raw/packages/1/coordinates", result.ReconciledFrom); + } + + [Fact] + public void Map_IncludesVendorAliasesNeededForPolicyEquivalence() + { + var document = new AdvisoryRawDocument( + Tenant: "tenant-a", + Source: new RawSourceMetadata("vendor", "connector", "1.0.0"), + Upstream: new RawUpstreamMetadata( + UpstreamId: "RHSA-2025:0010", + DocumentVersion: "1", + RetrievedAt: DateTimeOffset.UtcNow, + ContentHash: "sha256:ghi", + Signature: new RawSignatureMetadata(false), + Provenance: ImmutableDictionary.Empty), + Content: new RawContent( + Format: "rhsa", + SpecVersion: "1.0", + Raw: JsonDocument.Parse("""{"advisory_id":"RHSA-2025:0010"}""").RootElement.Clone()), + Identifiers: new RawIdentifiers( + Aliases: ImmutableArray.Create("RHSA-2025:0010"), + PrimaryId: "RHSA-2025:0010"), + Linkset: new RawLinkset()); + + var mapper = new AdvisoryLinksetMapper(); + + var result = mapper.Map(document); + + Assert.Contains("rhsa-2025:0010", result.Aliases); + } +} diff --git a/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/Linksets/AdvisoryLinksetNormalizationTests.cs b/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/Linksets/AdvisoryLinksetNormalizationTests.cs new file mode 100644 index 000000000..60e4f2c9a --- /dev/null +++ b/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/Linksets/AdvisoryLinksetNormalizationTests.cs @@ -0,0 +1,34 @@ +using System.Collections.Immutable; +using FluentAssertions; +using StellaOps.Concelier.Core.Linksets; +using StellaOps.Concelier.RawModels; +using Xunit; + +namespace StellaOps.Concelier.Core.Tests.Linksets; + +public sealed class AdvisoryLinksetNormalizationTests +{ + [Fact] + public void FromRawLinksetWithConfidence_EmitsSemVerRangesForCaretVersions() + { + var linkset = new RawLinkset + { + PackageUrls = ImmutableArray.Create("pkg:npm/example@^1.2.3") + }; + + var (normalized, _, _) = AdvisoryLinksetNormalization.FromRawLinksetWithConfidence(linkset); + + normalized.Should().NotBeNull(); + normalized!.Ranges.Should().NotBeNull(); + normalized.Ranges!.Should().ContainSingle(); + + var range = normalized.Ranges![0]; + range["scheme"].Should().Be("semver"); + range["type"].Should().Be("range"); + range["min"].Should().Be("1.2.3"); + range["minInclusive"].Should().Be(true); + range["max"].Should().Be("2.0.0"); + range["maxInclusive"].Should().Be(false); + range["notes"].Should().Be("purl:pkg:npm/example@^1.2.3"); + } +} diff --git a/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/Linksets/PolicyAuthSignalFactoryTests.cs b/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/Linksets/PolicyAuthSignalFactoryTests.cs new file mode 100644 index 000000000..a598f4213 --- /dev/null +++ b/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/Linksets/PolicyAuthSignalFactoryTests.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Immutable; +using FluentAssertions; +using StellaOps.Concelier.Core.Linksets; +using Xunit; + +namespace StellaOps.Concelier.Core.Tests.Linksets; + +public class PolicyAuthSignalFactoryTests +{ + [Fact] + public void ToPolicyAuthSignal_maps_basic_fields() + { + var linkset = new AdvisoryLinkset( + TenantId: "urn:tenant:demo", + Source: "ghsa", + AdvisoryId: "GHSA-1234", + ObservationIds: ImmutableArray.Create("obs-1"), + Normalized: new AdvisoryLinksetNormalized( + Purls: new[] { "purl:pkg:maven/org.example/app@1.2.3" }, + Versions: Array.Empty(), + Ranges: null, + Severities: null), + Provenance: null, + Confidence: 0.9, + Conflicts: null, + CreatedAt: DateTimeOffset.UtcNow, + BuiltByJobId: null); + + var signal = PolicyAuthSignalFactory.ToPolicyAuthSignal(linkset); + + signal.Id.Should().Be("GHSA-1234"); + signal.Tenant.Should().Be("urn:tenant:demo"); + signal.Subject.Should().Be("purl:pkg:maven/org.example/app@1.2.3"); + signal.Source.Should().Be("ghsa"); + signal.SignalType.Should().Be("reachability"); + signal.Evidence.Should().HaveCount(1); + signal.Evidence[0].Uri.Should().Contain("GHSA-1234"); + } +} diff --git a/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/Observations/AdvisoryObservationAggregationTests.cs b/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/Observations/AdvisoryObservationAggregationTests.cs index 773c3bc32..3d6a7af1f 100644 --- a/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/Observations/AdvisoryObservationAggregationTests.cs +++ b/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/Observations/AdvisoryObservationAggregationTests.cs @@ -3,6 +3,7 @@ using System.Collections.Immutable; using System.Reflection; using System.Text.Json; using System.Text.Json.Nodes; +using StellaOps.Concelier.Core.Linksets; using StellaOps.Concelier.Core.Observations; using StellaOps.Concelier.Models.Observations; using StellaOps.Concelier.RawModels; @@ -41,13 +42,16 @@ public sealed class AdvisoryObservationAggregationTests { var linkset = new RawLinkset { - Notes = new Dictionary + Notes = ImmutableDictionary.CreateRange(new[] { - { "severity", "disagree" } - } + new KeyValuePair("severity", "disagree") + }) }; - var (normalized, confidence, conflicts) = AdvisoryLinksetNormalization.FromRawLinksetWithConfidence(linkset); + var result = AdvisoryLinksetNormalization.FromRawLinksetWithConfidence(linkset); + var normalized = result.normalized; + var confidence = result.confidence; + var conflicts = result.conflicts; Assert.Equal(0.5, confidence); Assert.Single(conflicts); diff --git a/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/Raw/AdvisoryRawServiceTests.cs b/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/Raw/AdvisoryRawServiceTests.cs index c80207ab8..0f30735ff 100644 --- a/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/Raw/AdvisoryRawServiceTests.cs +++ b/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/Raw/AdvisoryRawServiceTests.cs @@ -10,6 +10,7 @@ using Microsoft.Extensions.Logging.Abstractions; using StellaOps.Aoc; using StellaOps.Concelier.Core.Aoc; using StellaOps.Concelier.Core.Linksets; +using StellaOps.Concelier.Core.Observations; using StellaOps.Concelier.Core.Raw; using StellaOps.Concelier.RawModels; using StellaOps.Ingestion.Telemetry; @@ -194,37 +195,10 @@ public sealed class AdvisoryRawServiceTests private sealed class StubObservationFactory : IAdvisoryObservationFactory { - public Models.Observations.AdvisoryObservation Create(Models.Advisory advisory, string tenant, string source, RawModels.AdvisoryRawDocument raw, string advisoryKey, string observationId, DateTimeOffset createdAt) - { - var upstream = new Models.Observations.AdvisoryObservationUpstream( - upstreamId: raw.Upstream.UpstreamId, - documentVersion: raw.Upstream.DocumentVersion, - fetchedAt: raw.Upstream.RetrievedAt ?? createdAt, - receivedAt: createdAt, - contentHash: raw.Upstream.ContentHash, - signature: new Models.Observations.AdvisoryObservationSignature(raw.Upstream.Signature.Present, raw.Upstream.Signature.Format, raw.Upstream.Signature.KeyId, raw.Upstream.Signature.Signature), - metadata: raw.Upstream.Provenance); + private readonly AdvisoryObservationFactory _inner = new(); - var content = new Models.Observations.AdvisoryObservationContent(raw.Content.Format, raw.Content.SpecVersion, JsonDocument.Parse(raw.Content.Raw.GetRawText()).RootElement); - - var linkset = new Models.Observations.AdvisoryObservationLinkset( - raw.Linkset.Aliases, - raw.Linkset.PackageUrls, - raw.Linkset.Cpes, - ImmutableArray.Empty); - - var rawLinkset = raw.Linkset; - - return new Models.Observations.AdvisoryObservation( - observationId, - tenant, - new Models.Observations.AdvisoryObservationSource(source, "stream", "api"), - upstream, - content, - linkset, - rawLinkset, - createdAt); - } + public Models.Observations.AdvisoryObservation Create(RawModels.AdvisoryRawDocument rawDocument, DateTimeOffset? observedAt = null) + => _inner.Create(rawDocument, observedAt); } private static AdvisoryRawDocument CreateDocument() diff --git a/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/StellaOps.Concelier.Core.Tests.csproj b/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/StellaOps.Concelier.Core.Tests.csproj index e67800bde..72624fcf7 100644 --- a/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/StellaOps.Concelier.Core.Tests.csproj +++ b/src/Concelier/__Tests/StellaOps.Concelier.Core.Tests/StellaOps.Concelier.Core.Tests.csproj @@ -10,5 +10,6 @@ + diff --git a/src/Concelier/__Tests/StellaOps.Concelier.WebService.Tests/AdvisoryChunkBuilderTests.cs b/src/Concelier/__Tests/StellaOps.Concelier.WebService.Tests/AdvisoryChunkBuilderTests.cs new file mode 100644 index 000000000..fda23bbab --- /dev/null +++ b/src/Concelier/__Tests/StellaOps.Concelier.WebService.Tests/AdvisoryChunkBuilderTests.cs @@ -0,0 +1,132 @@ +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Globalization; +using System.Text; +using System.Text.Json.Nodes; +using StellaOps.Concelier.Models; +using StellaOps.Concelier.Models.Observations; +using StellaOps.Concelier.RawModels; +using StellaOps.Concelier.WebService.Services; +using StellaOps.Cryptography; +using Xunit; + +namespace StellaOps.Concelier.WebService.Tests; + +public class AdvisoryChunkBuilderTests +{ + private readonly ICryptoHash _hash = CryptoHashFactory.CreateDefault(); + + [Fact] + public void Build_UsesJsonPointerFromMaskForObservationPath() + { + var recordedAt = DateTimeOffset.Parse("2025-11-18T00:00:00Z", CultureInfo.InvariantCulture); + var observationId = "obs-1"; + var observation = BuildObservation(observationId); + var advisory = BuildAdvisory(recordedAt, observationId, new[] { "/references/0" }); + + var options = new AdvisoryChunkBuildOptions( + advisory.AdvisoryKey, + fingerprint: "fp", + chunkLimit: 5, + observationLimit: 5, + sectionFilter: ImmutableHashSet.Create("workaround"), + formatFilter: ImmutableHashSet.Empty, + minimumLength: 1); + + var builder = new AdvisoryChunkBuilder(_hash); + var result = builder.Build(options, advisory, new[] { observation }); + + var entry = Assert.Single(result.Response.Entries); + Assert.Equal("/references/0", entry.Provenance.ObservationPath); + Assert.Contains("/references/0", entry.Provenance.FieldMask); + + var expectedChunkId = ComputeChunkId(observationId, "/references/0"); + Assert.Equal(expectedChunkId, entry.ChunkId); + } + + [Fact] + public void Build_FallsBackToFieldPathWhenMaskMissing() + { + var recordedAt = DateTimeOffset.Parse("2025-11-18T00:00:00Z", CultureInfo.InvariantCulture); + var observationId = "obs-2"; + var observation = BuildObservation(observationId); + var advisory = BuildAdvisory(recordedAt, observationId, fieldMask: null); + + var options = new AdvisoryChunkBuildOptions( + advisory.AdvisoryKey, + fingerprint: "fp", + chunkLimit: 5, + observationLimit: 5, + sectionFilter: ImmutableHashSet.Create("workaround"), + formatFilter: ImmutableHashSet.Empty, + minimumLength: 1); + + var builder = new AdvisoryChunkBuilder(_hash); + var result = builder.Build(options, advisory, new[] { observation }); + + var entry = Assert.Single(result.Response.Entries); + Assert.Equal("/references/0", entry.Provenance.ObservationPath); + Assert.Contains("/references/0", entry.Provenance.FieldMask); + + var expectedChunkId = ComputeChunkId(observationId, "/references/0"); + Assert.Equal(expectedChunkId, entry.ChunkId); + } + + private Advisory BuildAdvisory(DateTimeOffset recordedAt, string observationId, IEnumerable? fieldMask) + { + var provenance = fieldMask is null + ? new AdvisoryProvenance("nvd", "workaround", observationId, recordedAt) + : new AdvisoryProvenance("nvd", "workaround", observationId, recordedAt, fieldMask); + + var reference = new AdvisoryReference( + url: "https://example.test/workaround", + kind: "workaround", + sourceTag: "Vendor guidance", + summary: "Apply the workaround.", + provenance); + + return new Advisory( + advisoryKey: "CVE-2025-0001", + title: "Test advisory", + summary: "", + language: "en", + published: recordedAt, + modified: recordedAt, + severity: "high", + exploitKnown: false, + aliases: new[] { "CVE-2025-0001" }, + references: new[] { reference }, + affectedPackages: Array.Empty(), + cvssMetrics: Array.Empty(), + provenance: new[] { new AdvisoryProvenance("nvd", "advisory", observationId, recordedAt) }); + } + + private static AdvisoryObservation BuildObservation(string observationId) + { + var timestamp = DateTimeOffset.Parse("2025-11-18T00:00:00Z", CultureInfo.InvariantCulture); + + return new AdvisoryObservation( + observationId, + tenant: "tenant-a", + source: new AdvisoryObservationSource("nvd", "stream", "api"), + upstream: new AdvisoryObservationUpstream( + upstreamId: observationId, + documentVersion: "1", + fetchedAt: timestamp, + receivedAt: timestamp, + contentHash: "sha256:deadbeef", + signature: new AdvisoryObservationSignature(present: false)), + content: new AdvisoryObservationContent("csaf", "2.0", JsonNode.Parse("{}")!), + linkset: new AdvisoryObservationLinkset(Array.Empty(), Array.Empty(), Array.Empty()), + rawLinkset: new RawLinkset(), + createdAt: timestamp); + } + + private string ComputeChunkId(string documentId, string observationPath) + { + var input = string.Concat(documentId, '|', observationPath); + var bytes = Encoding.UTF8.GetBytes(input); + var digest = _hash.ComputeHash(bytes, HashAlgorithms.Sha256); + return Convert.ToHexString(digest.AsSpan(0, 8)); + } +} diff --git a/src/Concelier/__Tests/StellaOps.Concelier.WebService.Tests/AdvisoryChunkCacheKeyTests.cs b/src/Concelier/__Tests/StellaOps.Concelier.WebService.Tests/AdvisoryChunkCacheKeyTests.cs new file mode 100644 index 000000000..98e46cc5b --- /dev/null +++ b/src/Concelier/__Tests/StellaOps.Concelier.WebService.Tests/AdvisoryChunkCacheKeyTests.cs @@ -0,0 +1,107 @@ +using System.Collections.Immutable; +using System.Globalization; +using System.Text.Json.Nodes; +using StellaOps.Concelier.Models.Observations; +using StellaOps.Concelier.RawModels; +using StellaOps.Concelier.WebService.Services; +using Xunit; + +namespace StellaOps.Concelier.WebService.Tests; + +public class AdvisoryChunkCacheKeyTests +{ + [Fact] + public void Create_NormalizesObservationOrdering() + { + var options = new AdvisoryChunkBuildOptions( + AdvisoryKey: "CVE-2025-0001", + Fingerprint: "fp", + ChunkLimit: 10, + ObservationLimit: 10, + SectionFilter: ImmutableHashSet.Create("workaround"), + FormatFilter: ImmutableHashSet.Empty, + MinimumLength: 8); + + var first = BuildObservation("obs-1", "sha256:one", "2025-11-18T00:00:00Z"); + var second = BuildObservation("obs-2", "sha256:two", "2025-11-18T00:05:00Z"); + + var ordered = AdvisoryChunkCacheKey.Create("tenant-a", "CVE-2025-0001", options, new[] { first, second }, "fp"); + var reversed = AdvisoryChunkCacheKey.Create("tenant-a", "CVE-2025-0001", options, new[] { second, first }, "fp"); + + Assert.Equal(ordered.Value, reversed.Value); + Assert.Equal(ordered.ComputeHash(), reversed.ComputeHash()); + } + + [Fact] + public void Create_NormalizesFilterCasing() + { + var optionsLower = new AdvisoryChunkBuildOptions( + "CVE-2025-0002", + Fingerprint: "fp", + ChunkLimit: 5, + ObservationLimit: 5, + SectionFilter: ImmutableHashSet.Create("workaround", "fix"), + FormatFilter: ImmutableHashSet.Create("ndjson"), + MinimumLength: 1); + + var optionsUpper = new AdvisoryChunkBuildOptions( + "CVE-2025-0002", + Fingerprint: "fp", + ChunkLimit: 5, + ObservationLimit: 5, + SectionFilter: ImmutableHashSet.Create("WorkAround", "FIX"), + FormatFilter: ImmutableHashSet.Create("NDJSON"), + MinimumLength: 1); + + var observation = BuildObservation("obs-3", "sha256:three", "2025-11-18T00:10:00Z"); + + var lower = AdvisoryChunkCacheKey.Create("tenant-a", "CVE-2025-0002", optionsLower, new[] { observation }, "fp"); + var upper = AdvisoryChunkCacheKey.Create("tenant-a", "CVE-2025-0002", optionsUpper, new[] { observation }, "fp"); + + Assert.Equal(lower.Value, upper.Value); + Assert.Equal(lower.ComputeHash(), upper.ComputeHash()); + } + + [Fact] + public void Create_ChangesWhenContentHashDiffers() + { + var options = new AdvisoryChunkBuildOptions( + "CVE-2025-0003", + Fingerprint: "fp", + ChunkLimit: 5, + ObservationLimit: 5, + SectionFilter: ImmutableHashSet.Empty, + FormatFilter: ImmutableHashSet.Empty, + MinimumLength: 1); + + var original = BuildObservation("obs-4", "sha256:orig", "2025-11-18T00:15:00Z"); + var mutated = BuildObservation("obs-4", "sha256:mut", "2025-11-18T00:15:00Z"); + + var originalKey = AdvisoryChunkCacheKey.Create("tenant-a", "CVE-2025-0003", options, new[] { original }, "fp"); + var mutatedKey = AdvisoryChunkCacheKey.Create("tenant-a", "CVE-2025-0003", options, new[] { mutated }, "fp"); + + Assert.NotEqual(originalKey.Value, mutatedKey.Value); + Assert.NotEqual(originalKey.ComputeHash(), mutatedKey.ComputeHash()); + } + + private static AdvisoryObservation BuildObservation(string id, string contentHash, string timestamp) + { + var createdAt = DateTimeOffset.Parse(timestamp, CultureInfo.InvariantCulture); + + return new AdvisoryObservation( + id, + tenant: "tenant-a", + source: new AdvisoryObservationSource("nvd", "stream", "api"), + upstream: new AdvisoryObservationUpstream( + upstreamId: id, + documentVersion: "1", + fetchedAt: createdAt, + receivedAt: createdAt, + contentHash: contentHash, + signature: new AdvisoryObservationSignature(false)), + content: new AdvisoryObservationContent("csaf", "2.0", JsonNode.Parse("{}")!), + linkset: new AdvisoryObservationLinkset(Array.Empty(), Array.Empty(), Array.Empty()), + rawLinkset: new RawLinkset(), + createdAt: createdAt); + } +} diff --git a/src/Concelier/__Tests/StellaOps.Concelier.WebService.Tests/Services/AdvisoryChunkBuilderTests.cs b/src/Concelier/__Tests/StellaOps.Concelier.WebService.Tests/Services/AdvisoryChunkBuilderTests.cs new file mode 100644 index 000000000..16cfbb48a --- /dev/null +++ b/src/Concelier/__Tests/StellaOps.Concelier.WebService.Tests/Services/AdvisoryChunkBuilderTests.cs @@ -0,0 +1,177 @@ +using System; +using System.Collections.Immutable; +using System.IO; +using System.Linq; +using System.Security.Cryptography; +using System.Text; +using System.Text.Json.Nodes; +using System.Threading; +using System.Threading.Tasks; +using StellaOps.Concelier.Models; +using StellaOps.Concelier.Models.Observations; +using StellaOps.Concelier.RawModels; +using StellaOps.Concelier.WebService.Services; +using StellaOps.Cryptography; +using Xunit; + +namespace StellaOps.Concelier.WebService.Tests.Services; + +public sealed class AdvisoryChunkBuilderTests +{ + private static readonly DateTimeOffset RecordedAt = DateTimeOffset.Parse("2025-11-18T00:00:00Z"); + + [Fact] + public void Build_UsesJsonPointerFromFieldMaskForObservationPath() + { + var observation = CreateObservation("tenant-a:obs-1", "sha256:abc123"); + var provenance = new AdvisoryProvenance( + "nvd", + "workaround", + observation.ObservationId, + RecordedAt, + new[] { " /references/0/title " }); + + var advisory = CreateAdvisory("CVE-2025-0001", provenance); + var builder = new AdvisoryChunkBuilder(new TestCryptoHash()); + + var options = new AdvisoryChunkBuildOptions( + advisory.AdvisoryKey, + "fingerprint-1", + chunkLimit: 5, + observationLimit: 5, + SectionFilter: ImmutableHashSet.Empty, + FormatFilter: ImmutableHashSet.Empty, + MinimumLength: 0); + + var result = builder.Build(options, advisory, new[] { observation }); + + var entry = Assert.Single(result.Response.Entries); + Assert.Equal("/references/0/title", entry.Provenance.ObservationPath); + Assert.Equal(observation.ObservationId, entry.Provenance.DocumentId); + Assert.Equal(observation.Upstream.ContentHash, entry.Provenance.ContentHash); + Assert.Equal(new[] { "/references/0/title" }, entry.Provenance.FieldMask); + Assert.Equal(ComputeChunkId(observation.ObservationId, "/references/0/title"), entry.ChunkId); + } + + [Fact] + public void Build_FallsBackToFieldPathWhenMaskIsEmpty() + { + var observation = CreateObservation("tenant-b:obs-2", "sha256:def456"); + var provenance = new AdvisoryProvenance( + "nvd", + "workaround", + observation.ObservationId, + RecordedAt); + + var advisory = CreateAdvisory("CVE-2025-0002", provenance); + var builder = new AdvisoryChunkBuilder(new TestCryptoHash()); + + var options = new AdvisoryChunkBuildOptions( + advisory.AdvisoryKey, + "fingerprint-2", + chunkLimit: 5, + observationLimit: 5, + SectionFilter: ImmutableHashSet.Empty, + FormatFilter: ImmutableHashSet.Empty, + MinimumLength: 0); + + var result = builder.Build(options, advisory, new[] { observation }); + + var entry = Assert.Single(result.Response.Entries); + Assert.Equal("/references/0", entry.Provenance.ObservationPath); + Assert.Equal(observation.ObservationId, entry.Provenance.DocumentId); + Assert.Equal(observation.Upstream.ContentHash, entry.Provenance.ContentHash); + Assert.Equal(new[] { "/references/0" }, entry.Provenance.FieldMask); + Assert.Equal(ComputeChunkId(observation.ObservationId, "/references/0"), entry.ChunkId); + } + + private static Advisory CreateAdvisory(string advisoryKey, AdvisoryProvenance provenance) + { + var reference = new AdvisoryReference( + "https://vendor.example/workaround", + kind: "workaround", + sourceTag: "Vendor guidance", + summary: "Apply configuration change", + provenance: provenance); + + return new Advisory( + advisoryKey, + title: "Fixture advisory", + summary: "Structured payload", + language: "en", + published: RecordedAt, + modified: RecordedAt, + severity: "critical", + exploitKnown: false, + aliases: new[] { advisoryKey }, + references: new[] { reference }, + affectedPackages: Array.Empty(), + cvssMetrics: Array.Empty(), + provenance: new[] { provenance }); + } + + private static AdvisoryObservation CreateObservation(string observationId, string contentHash) + { + var source = new AdvisoryObservationSource("nvd", "default", "v1"); + var upstream = new AdvisoryObservationUpstream( + "upstream-id", + documentVersion: "1", + fetchedAt: DateTimeOffset.Parse("2025-11-17T00:00:00Z"), + receivedAt: DateTimeOffset.Parse("2025-11-17T00:01:00Z"), + contentHash: contentHash, + signature: new AdvisoryObservationSignature(present: false, format: null, keyId: null, signature: null)); + + var content = new AdvisoryObservationContent( + format: "json", + specVersion: "1.0", + raw: JsonNode.Parse("{}")!); + + var linkset = new AdvisoryObservationLinkset( + aliases: new[] { "CVE-2025-0001" }, + purls: Array.Empty(), + cpes: Array.Empty(), + references: Enumerable.Empty()); + + return new AdvisoryObservation( + observationId, + tenant: "tenant-a", + source, + upstream, + content, + linkset, + rawLinkset: new RawLinkset(), + createdAt: DateTimeOffset.Parse("2025-11-17T01:00:00Z")); + } + + private static string ComputeChunkId(string documentId, string observationPath) + { + var bytes = Encoding.UTF8.GetBytes(string.Concat(documentId, '|', observationPath)); + var digest = SHA256.HashData(bytes); + return Convert.ToHexString(digest.AsSpan(0, 8)); + } + + private sealed class TestCryptoHash : ICryptoHash + { + public byte[] ComputeHash(ReadOnlySpan data, string? algorithmId = null) + => SHA256.HashData(data.ToArray()); + + public string ComputeHashHex(ReadOnlySpan data, string? algorithmId = null) + => Convert.ToHexString(ComputeHash(data, algorithmId)).ToLowerInvariant(); + + public string ComputeHashBase64(ReadOnlySpan data, string? algorithmId = null) + => Convert.ToBase64String(ComputeHash(data, algorithmId)); + + public async ValueTask ComputeHashAsync(Stream stream, string? algorithmId = null, CancellationToken cancellationToken = default) + { + using var memory = new MemoryStream(); + await stream.CopyToAsync(memory, cancellationToken).ConfigureAwait(false); + return ComputeHash(memory.ToArray(), algorithmId); + } + + public async ValueTask ComputeHashHexAsync(Stream stream, string? algorithmId = null, CancellationToken cancellationToken = default) + { + var bytes = await ComputeHashAsync(stream, algorithmId, cancellationToken).ConfigureAwait(false); + return Convert.ToHexString(bytes).ToLowerInvariant(); + } + } +} diff --git a/src/Excititor/__Tests/StellaOps.Excititor.WebService.Tests/VexLinksetListEndpointTests.cs b/src/Excititor/__Tests/StellaOps.Excititor.WebService.Tests/VexLinksetListEndpointTests.cs new file mode 100644 index 000000000..56d80e02a --- /dev/null +++ b/src/Excititor/__Tests/StellaOps.Excititor.WebService.Tests/VexLinksetListEndpointTests.cs @@ -0,0 +1,140 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net.Http.Json; +using EphemeralMongo; +using Microsoft.AspNetCore.Mvc.Testing; +using Microsoft.Extensions.Configuration; +using MongoDB.Bson; +using MongoDB.Driver; +using StellaOps.Excititor.Storage.Mongo; +using StellaOps.Excititor.WebService.Contracts; +using Xunit; + +namespace StellaOps.Excititor.WebService.Tests; + +public sealed class VexLinksetListEndpointTests : IDisposable +{ + private readonly IMongoRunner _runner; + private readonly TestWebApplicationFactory _factory; + + public VexLinksetListEndpointTests() + { + _runner = MongoRunner.Run(new MongoRunnerOptions { UseSingleNodeReplicaSet = true }); + + _factory = new TestWebApplicationFactory( + configureConfiguration: configuration => + { + configuration.AddInMemoryCollection(new Dictionary + { + ["Excititor:Storage:Mongo:ConnectionString"] = _runner.ConnectionString, + ["Excititor:Storage:Mongo:DatabaseName"] = "linksets_tests", + ["Excititor:Storage:Mongo:DefaultTenant"] = "tests", + }); + }, + configureServices: services => + { + TestServiceOverrides.Apply(services); + services.AddTestAuthentication(); + }); + + SeedObservations(); + } + + [Fact] + public async void LinksetsEndpoint_GroupsByVulnAndProduct() + { + using var client = _factory.CreateClient(new WebApplicationFactoryClientOptions { AllowAutoRedirect = false }); + client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "vex.read"); + client.DefaultRequestHeaders.Add("X-Stella-Tenant", "tests"); + + var response = await client.GetAsync("/v1/vex/linksets?vulnerabilityId=CVE-2025-0001&productKey=pkg:demo/app"); + response.EnsureSuccessStatusCode(); + + var payload = await response.Content.ReadFromJsonAsync(); + Assert.NotNull(payload); + Assert.Single(payload!.Items); + + var item = payload.Items.Single(); + Assert.Equal("CVE-2025-0001:pkg:demo/app", item.LinksetId); + Assert.Equal("CVE-2025-0001", item.VulnerabilityId); + Assert.Equal("pkg:demo/app", item.ProductKey); + + item.Providers.Should().BeEquivalentTo(new[] { "provider-a", "provider-b" }); + item.Statuses.Should().BeEquivalentTo(new[] { "affected", "fixed" }); + item.Observations.Should().HaveCount(2); + item.Observations.Should().Contain(o => o.ProviderId == "provider-a" && o.Status == "affected"); + item.Observations.Should().Contain(o => o.ProviderId == "provider-b" && o.Status == "fixed"); + } + + private void SeedObservations() + { + var client = new MongoClient(_runner.ConnectionString); + var database = client.GetDatabase("linksets_tests"); + var collection = database.GetCollection(VexMongoCollectionNames.Observations); + + var observations = new List + { + new() + { + { "_id", "obs-1" }, + { "Tenant", "tests" }, + { "ObservationId", "obs-1" }, + { "VulnerabilityId", "cve-2025-0001" }, + { "ProductKey", "pkg:demo/app" }, + { "ProviderId", "provider-a" }, + { "Status", "affected" }, + { "StreamId", "stream" }, + { "CreatedAt", DateTime.UtcNow }, + { "Document", new BsonDocument { { "Digest", "digest-1" }, { "Format", "csaf" }, { "SourceUri", "https://example.test/a.json" } } }, + { "Statements", new BsonArray + { + new BsonDocument + { + { "VulnerabilityId", "cve-2025-0001" }, + { "ProductKey", "pkg:demo/app" }, + { "Status", "affected" }, + { "LastObserved", DateTime.UtcNow }, + { "Purl", "pkg:demo/app" } + } + } + }, + { "Linkset", new BsonDocument { { "Purls", new BsonArray { "pkg:demo/app" } } } } + }, + new() + { + { "_id", "obs-2" }, + { "Tenant", "tests" }, + { "ObservationId", "obs-2" }, + { "VulnerabilityId", "cve-2025-0001" }, + { "ProductKey", "pkg:demo/app" }, + { "ProviderId", "provider-b" }, + { "Status", "fixed" }, + { "StreamId", "stream" }, + { "CreatedAt", DateTime.UtcNow.AddMinutes(1) }, + { "Document", new BsonDocument { { "Digest", "digest-2" }, { "Format", "csaf" }, { "SourceUri", "https://example.test/b.json" } } }, + { "Statements", new BsonArray + { + new BsonDocument + { + { "VulnerabilityId", "cve-2025-0001" }, + { "ProductKey", "pkg:demo/app" }, + { "Status", "fixed" }, + { "LastObserved", DateTime.UtcNow }, + { "Purl", "pkg:demo/app" } + } + } + }, + { "Linkset", new BsonDocument { { "Purls", new BsonArray { "pkg:demo/app" } } } } + } + }; + + collection.InsertMany(observations); + } + + public void Dispose() + { + _factory.Dispose(); + _runner.Dispose(); + } +} diff --git a/src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphIdentityTests.cs b/src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphIdentityTests.cs new file mode 100644 index 000000000..1bab25d8d --- /dev/null +++ b/src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphIdentityTests.cs @@ -0,0 +1,46 @@ +using System.Collections.Immutable; +using StellaOps.Graph.Indexer.Schema; + +namespace StellaOps.Graph.Indexer.Tests; + +public sealed class GraphIdentityTests +{ + [Fact] + public void ComputeNodeId_IsDeterministic_WhenTupleOrderChanges() + { + var tupleA = ImmutableDictionary.Empty + .Add("purl", "pkg:npm/test@1.0.0") + .Add("reason", "declared") + .Add("scope", "runtime"); + + var tupleB = ImmutableDictionary.Empty + .Add("scope", "runtime") + .Add("reason", "declared") + .Add("purl", "pkg:npm/test@1.0.0"); + + var idA = GraphIdentity.ComputeNodeId("Tenant-A", "Component", tupleA); + var idB = GraphIdentity.ComputeNodeId("tenant-a", "component", tupleB); + + Assert.Equal(idA, idB); + Assert.StartsWith("gn:tenant-a:component:", idA); + } + + [Fact] + public void ComputeEdgeId_IsCaseInsensitiveExceptFingerprintFields() + { + var tupleLower = ImmutableDictionary.Empty + .Add("digest", "sha256:ABC") + .Add("source", "sbom"); + + var tupleUpper = ImmutableDictionary.Empty + .Add("digest", "sha256:abc") + .Add("source", "SBOM"); + + var edgeA = GraphIdentity.ComputeEdgeId("TENANT", "depends_on", tupleLower); + var edgeB = GraphIdentity.ComputeEdgeId("tenant", "DEPENDS_ON", tupleUpper); + + // digest key is case-sensitive by design; different casing produces different id when value changes. + Assert.NotEqual(edgeA, edgeB); + Assert.StartsWith("ge:tenant:DEPENDS_ON:", edgeA); + } +} diff --git a/src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphSnapshotBuilderTests.cs b/src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphSnapshotBuilderTests.cs new file mode 100644 index 000000000..2c8fa643c --- /dev/null +++ b/src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphSnapshotBuilderTests.cs @@ -0,0 +1,131 @@ +using System.Collections.Immutable; +using System.Text.Json.Nodes; +using StellaOps.Graph.Indexer.Documents; +using StellaOps.Graph.Indexer.Ingestion.Sbom; + +namespace StellaOps.Graph.Indexer.Tests; + +public sealed class GraphSnapshotBuilderTests +{ + [Fact] + public void Build_ProducesDeterministicAdjacencyOrdering() + { + var snapshot = new SbomSnapshot + { + Tenant = "tenant-a", + ArtifactDigest = "sha256:artifact", + SbomDigest = "sha256:sbom", + BaseArtifacts = Array.Empty() + }; + + // Nodes intentionally provided out of order to verify deterministic sorting. + var nodes = new[] + { + CreateComponentNode("node-b", "pkg:type/b@2.0"), + CreateArtifactNode("node-artifact", snapshot.ArtifactDigest, snapshot.SbomDigest), + CreateComponentNode("node-a", "pkg:type/a@1.0") + }.ToImmutableArray(); + + // Edges also out of order; adjacency should normalize ordering. + var edges = new[] + { + CreateEdge("edge-b", source: "node-artifact", target: "node-b"), + CreateEdge("edge-a", source: "node-artifact", target: "node-a") + }.ToImmutableArray(); + + var batch = new GraphBuildBatch(nodes, edges); + var builder = new GraphSnapshotBuilder(); + + var result = builder.Build(snapshot, batch, generatedAt: DateTimeOffset.Parse("2025-11-18T00:00:00Z")); + + // Node ordering is lexicographic by node id. + var nodeIds = result.Adjacency.Nodes.Select(n => n.NodeId).ToArray(); + Assert.Equal(new[] { "node-a", "node-artifact", "node-b" }, nodeIds); + + // Outgoing edges are sorted per-node. + var artifactNode = result.Adjacency.Nodes.Single(n => n.NodeId == "node-artifact"); + Assert.Equal(new[] { "edge-a", "edge-b" }, artifactNode.OutgoingEdges.ToArray()); + + // Incoming edges preserved deterministically on targets. + Assert.Equal(new[] { "edge-a" }, result.Adjacency.Nodes.Single(n => n.NodeId == "node-a").IncomingEdges.ToArray()); + Assert.Equal(new[] { "edge-b" }, result.Adjacency.Nodes.Single(n => n.NodeId == "node-b").IncomingEdges.ToArray()); + } + + [Fact] + public void Build_ComputesStableManifestHash_ForShuffledInputs() + { + var snapshot = new SbomSnapshot + { + Tenant = "tenant-b", + ArtifactDigest = "sha256:artifact-b", + SbomDigest = "sha256:sbom-b", + BaseArtifacts = Array.Empty() + }; + + var nodesA = new[] + { + CreateArtifactNode("art", snapshot.ArtifactDigest, snapshot.SbomDigest), + CreateComponentNode("comp-1", "pkg:nuget/one@1.0.0"), + CreateComponentNode("comp-2", "pkg:nuget/two@2.0.0") + }.ToImmutableArray(); + + var edgesA = new[] + { + CreateEdge("e2", source: "art", target: "comp-2"), + CreateEdge("e1", source: "art", target: "comp-1") + }.ToImmutableArray(); + + var builder = new GraphSnapshotBuilder(); + var t = DateTimeOffset.Parse("2025-11-18T01:23:45Z"); + var baseline = builder.Build(snapshot, new GraphBuildBatch(nodesA, edgesA), t); + + // Shuffle nodes/edges and ensure hash remains identical. + var nodesB = nodesA.Reverse().ToImmutableArray(); + var edgesB = edgesA.Reverse().ToImmutableArray(); + var shuffled = builder.Build(snapshot, new GraphBuildBatch(nodesB, edgesB), t); + + Assert.Equal(baseline.Manifest.Hash, shuffled.Manifest.Hash); + Assert.Equal(baseline.Adjacency.Nodes.Select(n => n.NodeId), shuffled.Adjacency.Nodes.Select(n => n.NodeId)); + } + + private static JsonObject CreateArtifactNode(string id, string artifactDigest, string sbomDigest) + { + var attributes = new JsonObject + { + ["artifact_digest"] = artifactDigest, + ["sbom_digest"] = sbomDigest + }; + + return new JsonObject + { + ["id"] = id, + ["kind"] = "artifact", + ["attributes"] = attributes + }; + } + + private static JsonObject CreateComponentNode(string id, string purl) + { + var attributes = new JsonObject + { + ["purl"] = purl + }; + + return new JsonObject + { + ["id"] = id, + ["kind"] = "component", + ["attributes"] = attributes + }; + } + + private static JsonObject CreateEdge(string id, string source, string target) + { + return new JsonObject + { + ["id"] = id, + ["source"] = source, + ["target"] = target + }; + } +} diff --git a/src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/SbomSnapshotExporterTests.cs b/src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/SbomSnapshotExporterTests.cs new file mode 100644 index 000000000..18e632cb7 --- /dev/null +++ b/src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/SbomSnapshotExporterTests.cs @@ -0,0 +1,109 @@ +using System.Collections.Immutable; +using System.Text.Json.Nodes; +using StellaOps.Graph.Indexer.Documents; +using StellaOps.Graph.Indexer.Ingestion.Sbom; +using StellaOps.Graph.Indexer.Schema; + +namespace StellaOps.Graph.Indexer.Tests; + +public sealed class SbomSnapshotExporterTests +{ + [Fact] + public async Task ExportAsync_WritesCanonicalFilesWithStableHash() + { + var snapshot = new SbomSnapshot + { + Tenant = "tenant-c", + ArtifactDigest = "sha256:artifact-c", + SbomDigest = "sha256:sbom-c", + BaseArtifacts = Array.Empty() + }; + + var nodes = new[] + { + CreateArtifactNode("art", snapshot.ArtifactDigest, snapshot.SbomDigest), + CreateComponentNode("comp", "pkg:npm/test@1.0.0") + }.ToImmutableArray(); + + var edges = new[] + { + CreateEdge("edge-1", source: "art", target: "comp") + }.ToImmutableArray(); + + var batch = new GraphBuildBatch(nodes, edges); + var exporter = new SbomSnapshotExporter(new GraphSnapshotBuilder(), new FileSystemSnapshotFileWriter(_tempRoot)); + + await exporter.ExportAsync(snapshot, batch, CancellationToken.None); + + var manifestPath = Path.Combine(_tempRoot, "manifest.json"); + var manifestJson = JsonNode.Parse(await File.ReadAllTextAsync(manifestPath))!.AsObject(); + + // Hash in manifest should equal recomputed canonical hash. + var computed = GraphIdentity.ComputeDocumentHash(manifestJson); + Assert.Equal(computed, manifestJson["hash"]!.GetValue()); + + // Adjacency should contain both nodes and edges, deterministic ids. + var adjacency = JsonNode.Parse(await File.ReadAllTextAsync(Path.Combine(_tempRoot, "adjacency.json")))!.AsObject(); + var nodesArray = adjacency["nodes"]!.AsArray(); + Assert.Equal(2, nodesArray.Count); + Assert.Equal("art", nodesArray[0]! ["node_id"]!.GetValue()); + + // nodes.jsonl and edges.jsonl should both exist and be non-empty. + Assert.True(new FileInfo(Path.Combine(_tempRoot, "nodes.jsonl")).Length > 0); + Assert.True(new FileInfo(Path.Combine(_tempRoot, "edges.jsonl")).Length > 0); + } + + public SbomSnapshotExporterTests() + { + _tempRoot = Path.Combine(Path.GetTempPath(), "graph-snapshot-tests", Guid.NewGuid().ToString("n")); + Directory.CreateDirectory(_tempRoot); + } + + public void Dispose() + { + try { Directory.Delete(_tempRoot, recursive: true); } catch { /* ignore */ } + } + + private readonly string _tempRoot; + + private static JsonObject CreateArtifactNode(string id, string artifactDigest, string sbomDigest) + { + var attributes = new JsonObject + { + ["artifact_digest"] = artifactDigest, + ["sbom_digest"] = sbomDigest + }; + + return new JsonObject + { + ["id"] = id, + ["kind"] = "artifact", + ["attributes"] = attributes + }; + } + + private static JsonObject CreateComponentNode(string id, string purl) + { + var attributes = new JsonObject + { + ["purl"] = purl + }; + + return new JsonObject + { + ["id"] = id, + ["kind"] = "component", + ["attributes"] = attributes + }; + } + + private static JsonObject CreateEdge(string id, string source, string target) + { + return new JsonObject + { + ["id"] = id, + ["source"] = source, + ["target"] = target + }; + } +} diff --git a/src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/StellaOps.Graph.Indexer.Tests.csproj b/src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/StellaOps.Graph.Indexer.Tests.csproj new file mode 100644 index 000000000..fa588f6e4 --- /dev/null +++ b/src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/StellaOps.Graph.Indexer.Tests.csproj @@ -0,0 +1,13 @@ + + + + net10.0 + enable + enable + false + + + + + + diff --git a/src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Tests/HttpEgressSloSinkTests.cs b/src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Tests/HttpEgressSloSinkTests.cs new file mode 100644 index 000000000..6cbdfe55b --- /dev/null +++ b/src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Tests/HttpEgressSloSinkTests.cs @@ -0,0 +1,89 @@ +using System.Net; +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging.Abstractions; +using Microsoft.Extensions.Options; +using StellaOps.Notifier.Worker.Options; +using StellaOps.Notifier.Worker.Processing; +using Xunit; + +namespace StellaOps.Notifier.Tests; + +public class HttpEgressSloSinkTests +{ + [Fact] + public async Task PublishAsync_NoWebhook_DoesNothing() + { + var handler = new StubHandler(); + var sink = CreateSink(handler, new EgressSloOptions { Webhook = null }); + + await sink.PublishAsync(BuildContext(), CancellationToken.None); + + Assert.Equal(0, handler.SendCount); + } + + [Fact] + public async Task PublishAsync_SendsWebhookWithPayload() + { + var handler = new StubHandler(); + var sink = CreateSink(handler, new EgressSloOptions { Webhook = "https://example.test/slo", TimeoutSeconds = 5 }); + + await sink.PublishAsync(BuildContext(), CancellationToken.None); + + Assert.Equal(1, handler.SendCount); + var request = handler.LastRequest!; + Assert.Equal(HttpMethod.Post, request.Method); + Assert.Equal("https://example.test/slo", request.RequestUri!.ToString()); + } + + private static HttpEgressSloSink CreateSink(HttpMessageHandler handler, EgressSloOptions options) + { + var factory = new StubHttpClientFactory(handler); + return new HttpEgressSloSink(factory, Options.Create(options), NullLogger.Instance); + } + + private static EgressSloContext BuildContext() + { + var evt = Notify.Models.NotifyEvent.Create( + Guid.NewGuid(), + kind: "policy.violation", + tenant: "tenant-a", + ts: DateTimeOffset.UtcNow, + payload: new System.Text.Json.Nodes.JsonObject(), + actor: "tester", + version: "1"); + + var ctx = EgressSloContext.FromNotifyEvent(evt); + ctx.AddDelivery("Slack", "tmpl", evt.Kind); + return ctx; + } + + private sealed class StubHandler : HttpMessageHandler + { + public int SendCount { get; private set; } + public HttpRequestMessage? LastRequest { get; private set; } + + protected override Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) + { + SendCount++; + LastRequest = request; + return Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK)); + } + } + + private sealed class StubHttpClientFactory : IHttpClientFactory + { + private readonly HttpMessageHandler _handler; + + public StubHttpClientFactory(HttpMessageHandler handler) + { + _handler = handler; + } + + public HttpClient CreateClient(string name) + { + return new HttpClient(_handler, disposeHandler: false); + } + } +} diff --git a/src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Tests/Support/TestEgressSloSink.cs b/src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Tests/Support/TestEgressSloSink.cs new file mode 100644 index 000000000..2ad518bd2 --- /dev/null +++ b/src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Tests/Support/TestEgressSloSink.cs @@ -0,0 +1,20 @@ +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using StellaOps.Notifier.Worker.Processing; + +namespace StellaOps.Notifier.Tests.Support; + +public sealed class TestEgressSloSink : IEgressSloSink +{ + private readonly ConcurrentBag _contexts = new(); + + public IReadOnlyCollection Contexts => _contexts; + + public Task PublishAsync(EgressSloContext context, CancellationToken cancellationToken) + { + _contexts.Add(context); + return Task.CompletedTask; + } +} diff --git a/src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Options/EgressSloOptions.cs b/src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Options/EgressSloOptions.cs new file mode 100644 index 000000000..5c9bfcafa --- /dev/null +++ b/src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Options/EgressSloOptions.cs @@ -0,0 +1,16 @@ +namespace StellaOps.Notifier.Worker.Options; + +public sealed class EgressSloOptions +{ + /// + /// Webhook endpoint to receive SLO delivery signals. When null/empty, publishing is disabled. + /// + public string? Webhook { get; set; } + + /// + /// Request timeout in seconds for the webhook call. + /// + public int TimeoutSeconds { get; set; } = 5; + + public bool Enabled => !string.IsNullOrWhiteSpace(Webhook); +} diff --git a/src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Processing/EgressSloContext.cs b/src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Processing/EgressSloContext.cs new file mode 100644 index 000000000..89be6e4bb --- /dev/null +++ b/src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Processing/EgressSloContext.cs @@ -0,0 +1,45 @@ +using System.Collections.Generic; +using StellaOps.Notify.Models; + +namespace StellaOps.Notifier.Worker.Processing; + +/// +/// Tracks per-event delivery intents for SLO evaluation and webhook emission. +/// +internal sealed class EgressSloContext +{ + private readonly List _signals = new(); + + public IReadOnlyList Signals => _signals; + + public static EgressSloContext FromNotifyEvent(NotifyEvent notifyEvent) + { + ArgumentNullException.ThrowIfNull(notifyEvent); + return new EgressSloContext + { + EventId = notifyEvent.EventId, + TenantId = notifyEvent.Tenant, + EventKind = notifyEvent.Kind, + OccurredAt = notifyEvent.Ts + }; + } + + public Guid EventId { get; private set; } + + public string TenantId { get; private set; } = string.Empty; + + public string EventKind { get; private set; } = string.Empty; + + public DateTimeOffset OccurredAt { get; private set; } + + public void AddDelivery(string channelType, string template, string kind) + { + _signals.Add(new EgressSloSignal(channelType, template, kind, OccurredAt)); + } +} + +internal sealed record EgressSloSignal( + string Channel, + string Template, + string Kind, + DateTimeOffset OccurredAt); diff --git a/src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Processing/HttpEgressSloSink.cs b/src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Processing/HttpEgressSloSink.cs new file mode 100644 index 000000000..06d8edf38 --- /dev/null +++ b/src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Processing/HttpEgressSloSink.cs @@ -0,0 +1,93 @@ +using System.Net.Http; +using System.Net.Http.Json; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using StellaOps.Notifier.Worker.Options; +using System.Text.Json; +using System.Text.Json.Serialization; + +namespace StellaOps.Notifier.Worker.Processing; + +internal sealed class HttpEgressSloSink : IEgressSloSink +{ + private readonly IHttpClientFactory _clientFactory; + private readonly EgressSloOptions _options; + private readonly ILogger _logger; + + public HttpEgressSloSink( + IHttpClientFactory clientFactory, + IOptions options, + ILogger logger) + { + _clientFactory = clientFactory ?? throw new ArgumentNullException(nameof(clientFactory)); + _options = options?.Value ?? throw new ArgumentNullException(nameof(options)); + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + } + + public async Task PublishAsync(EgressSloContext context, CancellationToken cancellationToken) + { + if (context is null) + { + throw new ArgumentNullException(nameof(context)); + } + + if (!_options.Enabled) + { + return; + } + + using var linkedCts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken); + if (_options.TimeoutSeconds > 0) + { + linkedCts.CancelAfter(TimeSpan.FromSeconds(_options.TimeoutSeconds)); + } + + try + { + var client = _clientFactory.CreateClient("notifier-slo-webhook"); + var payload = Map(context); + + var response = await client.PostAsJsonAsync(_options.Webhook, payload, linkedCts.Token).ConfigureAwait(false); + if (!response.IsSuccessStatusCode) + { + _logger.LogWarning( + "SLO webhook returned non-success status {StatusCode} for event {EventId} (tenant {TenantId}).", + (int)response.StatusCode, + context.EventId, + context.TenantId); + } + } + catch (OperationCanceledException) when (linkedCts.IsCancellationRequested) + { + _logger.LogWarning( + "SLO webhook timed out after {TimeoutSeconds}s for event {EventId} (tenant {TenantId}).", + _options.TimeoutSeconds, + context.EventId, + context.TenantId); + } + catch (Exception ex) + { + _logger.LogWarning( + ex, + "Failed to publish SLO webhook for event {EventId} (tenant {TenantId}).", + context.EventId, + context.TenantId); + } + } + + private static object Map(EgressSloContext context) + => new + { + context.EventId, + context.TenantId, + context.EventKind, + context.OccurredAt, + deliveries = context.Signals.Select(signal => new + { + signal.Channel, + signal.Template, + signal.Kind, + signal.OccurredAt + }) + }; +} diff --git a/src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Processing/IEgressSloSink.cs b/src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Processing/IEgressSloSink.cs new file mode 100644 index 000000000..591e5e707 --- /dev/null +++ b/src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Processing/IEgressSloSink.cs @@ -0,0 +1,17 @@ +using System.Threading; +using System.Threading.Tasks; + +namespace StellaOps.Notifier.Worker.Processing; + +internal interface IEgressSloSink +{ + Task PublishAsync(EgressSloContext context, CancellationToken cancellationToken); +} + +internal sealed class NullEgressSloSink : IEgressSloSink +{ + public Task PublishAsync(EgressSloContext context, CancellationToken cancellationToken) + { + return Task.CompletedTask; + } +} diff --git a/src/Notifier/StellaOps.Notifier/StellaOps.Notifier.docs/QA-attestation-routing.md b/src/Notifier/StellaOps.Notifier/StellaOps.Notifier.docs/QA-attestation-routing.md new file mode 100644 index 000000000..5362a0ad7 --- /dev/null +++ b/src/Notifier/StellaOps.Notifier/StellaOps.Notifier.docs/QA-attestation-routing.md @@ -0,0 +1,39 @@ +# QA Playbook — Attestation Routing (NOTIFY-ATTEST-74-002) + +## Goal +Verify attestation-related notification flows using the sample rules shipped in `docs/attestation-rules.sample.json`. + +## Prereqs +- Notifier WebService + Worker running against a QA tenant. +- Channels configured for: + - `email-kms` (SMTP bridge) + - `webhook-kms` (internal hook) + - `slack-soc` (Slack webhook) + - `webhook-siem` +- Templates pre-seeded from `offline/notifier/templates/attestation/*.json`. + +## Steps +1. Import rules and channels + - `POST /api/v1/notify/rules:batch` with `docs/attestation-rules.sample.json` (replace ``). + - Verify rules are enabled. +2. Emit events + - Rotation: emit `authority.keys.rotated` with signer metadata and impacted tenants. + - Revocation: `authority.keys.revoked`. + - Transparency anomaly: `attestor.transparency.anomaly` and `attestor.transparency.witness.failed`. +3. Validate deliveries + - Confirm email + webhook for rotation/revocation (template `tmpl-attest-key-rotation`). + - Confirm slack + webhook for transparency anomaly (template `tmpl-attest-transparency-anomaly`). + - Check ledger/DB for rendered payloads with template keys and tenant id. +4. Negative checks + - Disabled channel should suppress delivery. + - Missing template should surface as rule error. + +## Evidence to capture +- API responses for rule import and event POST. +- Delivery records (IDs, channel, template key) per event. +- Slack/email/webhook payload excerpts (hash or screenshot acceptable). + +## Completion criteria +- All four event kinds produce expected channels per sample rules without errors. +- Ledger shows template IDs `tmpl-attest-key-rotation` and `tmpl-attest-transparency-anomaly`. +- Failures (if any) documented with event payload and channel. diff --git a/src/Notifier/StellaOps.Notifier/docs/attestation-rules.sample.json b/src/Notifier/StellaOps.Notifier/docs/attestation-rules.sample.json new file mode 100644 index 000000000..a861265ca --- /dev/null +++ b/src/Notifier/StellaOps.Notifier/docs/attestation-rules.sample.json @@ -0,0 +1,86 @@ +{ + "rules": [ + { + "ruleId": "attest-key-rotation", + "name": "Attestation key rotation/revocation", + "enabled": true, + "tenantId": "", + "match": { + "eventKinds": [ + "authority.keys.rotated", + "authority.keys.revoked" + ] + }, + "actions": [ + { + "actionId": "email-kms", + "enabled": true, + "channel": "email-kms", + "template": "tmpl-attest-key-rotation" + }, + { + "actionId": "webhook-kms", + "enabled": true, + "channel": "webhook-kms", + "template": "tmpl-attest-key-rotation" + } + ] + }, + { + "ruleId": "attest-transparency-anomaly", + "name": "Transparency witness anomaly", + "enabled": true, + "tenantId": "", + "match": { + "eventKinds": [ + "attestor.transparency.anomaly", + "attestor.transparency.witness.failed" + ] + }, + "actions": [ + { + "actionId": "slack-soc", + "enabled": true, + "channel": "slack-soc", + "template": "tmpl-attest-transparency-anomaly" + }, + { + "actionId": "webhook-siem", + "enabled": true, + "channel": "webhook-siem", + "template": "tmpl-attest-transparency-anomaly" + } + ] + } + ], + "channels": [ + { + "channelId": "email-kms", + "type": "email", + "name": "KMS security", + "target": "kms-security@example.com", + "secretRef": "ref://notify/channels/email/kms-security" + }, + { + "channelId": "webhook-kms", + "type": "webhook", + "name": "KMS webhook", + "endpoint": "https://hooks.internal/kms", + "secretRef": "ref://notify/channels/webhook/kms" + }, + { + "channelId": "slack-soc", + "type": "slack", + "name": "SOC high-priority", + "endpoint": "https://hooks.slack.com/services/T000/B000/XYZ", + "secretRef": "ref://notify/channels/slack/soc" + }, + { + "channelId": "webhook-siem", + "type": "webhook", + "name": "SIEM ingest", + "endpoint": "https://siem.example.internal/hooks/notifier", + "secretRef": "ref://notify/channels/webhook/siem" + } + ] +} diff --git a/src/Policy/__Libraries/StellaOps.Policy.AuthSignals/PolicyAuthSignal.cs b/src/Policy/__Libraries/StellaOps.Policy.AuthSignals/PolicyAuthSignal.cs new file mode 100644 index 000000000..504d99c3a --- /dev/null +++ b/src/Policy/__Libraries/StellaOps.Policy.AuthSignals/PolicyAuthSignal.cs @@ -0,0 +1,40 @@ +#nullable enable +using System; +using System.Collections.Generic; + +namespace StellaOps.Policy.AuthSignals; + +public record EvidenceRef +{ + public string Kind { get; init; } = string.Empty; // linkset|runtime|attestation|bundle + public string Uri { get; init; } = string.Empty; + public string Digest { get; init; } = string.Empty; + public string? Scope { get; init; } +} + +public record Provenance +{ + public string? Pipeline { get; init; } + public IReadOnlyList? Inputs { get; init; } + public string? Signer { get; init; } + public Transparency? Transparency { get; init; } +} + +public record Transparency +{ + public string? RekorUuid { get; init; } + public string? SkipReason { get; init; } +} + +public record PolicyAuthSignal +{ + public string Id { get; init; } = string.Empty; + public string Tenant { get; init; } = string.Empty; + public string Subject { get; init; } = string.Empty; + public string SignalType { get; init; } = string.Empty; // reachability|attestation|risk|vex + public string Source { get; init; } = string.Empty; + public double? Confidence { get; init; } + public IReadOnlyList Evidence { get; init; } = Array.Empty(); + public Provenance? Provenance { get; init; } + public DateTime Created { get; init; } +} diff --git a/src/Policy/__Libraries/StellaOps.Policy.AuthSignals/StellaOps.Policy.AuthSignals.csproj b/src/Policy/__Libraries/StellaOps.Policy.AuthSignals/StellaOps.Policy.AuthSignals.csproj new file mode 100644 index 000000000..9cdac693d --- /dev/null +++ b/src/Policy/__Libraries/StellaOps.Policy.AuthSignals/StellaOps.Policy.AuthSignals.csproj @@ -0,0 +1,14 @@ + + + net10.0 + true + StellaOps.Policy.AuthSignals + StellaOps + StellaOps + 0.1.0-alpha + Shared Policy/Authority/Signals contracts for advisory signals. + ../../../../local-nugets + false + false + + diff --git a/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceRunner.cs b/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceRunner.cs new file mode 100644 index 000000000..c5646a428 --- /dev/null +++ b/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Deno/Internal/Runtime/DenoRuntimeTraceRunner.cs @@ -0,0 +1,120 @@ +using System.Diagnostics; +using Microsoft.Extensions.Logging; +using StellaOps.Scanner.Analyzers.Lang; + +namespace StellaOps.Scanner.Analyzers.Lang.Deno.Internal.Runtime; + +/// +/// Optional harness that executes the emitted Deno runtime shim when an entrypoint is provided via environment variable. +/// This keeps runtime capture opt-in and offline-friendly. +/// +internal static class DenoRuntimeTraceRunner +{ + private const string EntrypointEnvVar = "STELLA_DENO_ENTRYPOINT"; + private const string BinaryEnvVar = "STELLA_DENO_BINARY"; + private const string RuntimeFileName = "deno-runtime.ndjson"; + + public static async Task TryExecuteAsync( + LanguageAnalyzerContext context, + ILogger? logger, + CancellationToken cancellationToken) + { + ArgumentNullException.ThrowIfNull(context); + + var entrypoint = Environment.GetEnvironmentVariable(EntrypointEnvVar); + if (string.IsNullOrWhiteSpace(entrypoint)) + { + logger?.LogDebug("Deno runtime trace skipped: {EnvVar} not set", EntrypointEnvVar); + return false; + } + + var entrypointPath = Path.GetFullPath(Path.Combine(context.RootPath, entrypoint)); + if (!File.Exists(entrypointPath)) + { + logger?.LogWarning("Deno runtime trace skipped: entrypoint '{Entrypoint}' missing", entrypointPath); + return false; + } + + var shimPath = Path.Combine(context.RootPath, DenoRuntimeShim.FileName); + if (!File.Exists(shimPath)) + { + await DenoRuntimeShim.WriteAsync(context.RootPath, cancellationToken).ConfigureAwait(false); + } + + var binary = Environment.GetEnvironmentVariable(BinaryEnvVar); + if (string.IsNullOrWhiteSpace(binary)) + { + binary = "deno"; + } + + var startInfo = new ProcessStartInfo + { + FileName = binary, + WorkingDirectory = context.RootPath, + RedirectStandardError = true, + RedirectStandardOutput = true, + UseShellExecute = false, + }; + + startInfo.ArgumentList.Add("run"); + startInfo.ArgumentList.Add("--cached-only"); + startInfo.ArgumentList.Add("--allow-read"); + startInfo.ArgumentList.Add("--allow-env"); + startInfo.ArgumentList.Add("--quiet"); + startInfo.ArgumentList.Add(shimPath); + + startInfo.Environment[EntrypointEnvVar] = entrypointPath; + + try + { + using var process = Process.Start(startInfo); + if (process is null) + { + logger?.LogWarning("Deno runtime trace skipped: failed to start 'deno' process"); + return false; + } + + await process.WaitForExitAsync(cancellationToken).ConfigureAwait(false); + + if (process.ExitCode != 0) + { + var stderr = await process.StandardError.ReadToEndAsync().ConfigureAwait(false); + logger?.LogWarning( + "Deno runtime trace failed with exit code {ExitCode}. stderr: {Error}", + process.ExitCode, + Truncate(stderr)); + return false; + } + } + catch (OperationCanceledException) + { + throw; + } + catch (Exception ex) + { + logger?.LogWarning(ex, "Deno runtime trace skipped: {Message}", ex.Message); + return false; + } + + var runtimePath = Path.Combine(context.RootPath, RuntimeFileName); + if (!File.Exists(runtimePath)) + { + logger?.LogWarning( + "Deno runtime trace finished but did not emit {RuntimeFile}", + RuntimeFileName); + return false; + } + + return true; + } + + private static string Truncate(string? value, int maxLength = 400) + { + if (string.IsNullOrEmpty(value)) + { + return string.Empty; + } + + return value.Length <= maxLength ? value : value[..maxLength]; + } +} diff --git a/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeEntrypoint.cs b/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeEntrypoint.cs new file mode 100644 index 000000000..1e517f210 --- /dev/null +++ b/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeEntrypoint.cs @@ -0,0 +1,33 @@ +namespace StellaOps.Scanner.Analyzers.Lang.Node.Internal; + +internal sealed record NodeEntrypoint( + string Path, + string? BinName, + string? MainField, + string? ModuleField, + string ConditionSet) +{ + public static NodeEntrypoint Create(string path, string? binName, string? mainField, string? moduleField, IEnumerable? conditions) + { + ArgumentException.ThrowIfNullOrWhiteSpace(path); + + var conditionSet = NormalizeConditions(conditions); + return new NodeEntrypoint(path, binName, mainField, moduleField, conditionSet); + } + + private static string NormalizeConditions(IEnumerable? conditions) + { + if (conditions is null) + { + return string.Empty; + } + + var distinct = conditions + .Where(static c => !string.IsNullOrWhiteSpace(c)) + .Select(static c => c.Trim()) + .Distinct(StringComparer.Ordinal) + .OrderBy(static c => c, StringComparer.Ordinal); + + return string.Join(',', distinct); + } +} diff --git a/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeImportEdge.cs b/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeImportEdge.cs new file mode 100644 index 000000000..a575aabc7 --- /dev/null +++ b/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeImportEdge.cs @@ -0,0 +1,10 @@ +namespace StellaOps.Scanner.Analyzers.Lang.Node.Internal; + +internal sealed record NodeImportEdge( + string SourceFile, + string TargetSpecifier, + string Kind, + string Evidence) +{ + public string ComparisonKey => string.Concat(SourceFile, "|", TargetSpecifier, "|", Kind); +} diff --git a/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeImportWalker.cs b/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeImportWalker.cs new file mode 100644 index 000000000..caf9b3e73 --- /dev/null +++ b/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodeImportWalker.cs @@ -0,0 +1,91 @@ +using System.Text.Json; +using System.Text.Json.Nodes; +using Esprima; +using Esprima.Ast; + +namespace StellaOps.Scanner.Analyzers.Lang.Node.Internal; + +internal static class NodeImportWalker +{ + public static IReadOnlyList AnalyzeImports(string sourcePath, string content) + { + ArgumentException.ThrowIfNullOrWhiteSpace(sourcePath); + if (content is null) + { + return Array.Empty(); + } + + Script script; + try + { + script = new JavaScriptParser(content, new ParserOptions + { + Tolerant = true, + AdaptRegexp = true, + Source = sourcePath + }).ParseScript(); + } + catch (ParserException) + { + return Array.Empty(); + } + + var edges = new List(); + Walk(script, sourcePath, edges); + return edges.Count == 0 + ? Array.Empty() + : edges.OrderBy(e => e.ComparisonKey, StringComparer.Ordinal).ToArray(); + } + + private static void Walk(Node node, string sourcePath, List edges) + { + switch (node) + { + case ImportDeclaration importDecl when !string.IsNullOrWhiteSpace(importDecl.Source?.StringValue): + edges.Add(new NodeImportEdge(sourcePath, importDecl.Source.StringValue!, "import", BuildEvidence(importDecl.Loc))); + break; + case CallExpression call when IsRequire(call) && call.Arguments.FirstOrDefault() is Literal { Value: string target }: + edges.Add(new NodeImportEdge(sourcePath, target, "require", BuildEvidence(call.Loc))); + break; + case ImportExpression importExp when importExp.Source is Literal { Value: string importTarget }: + edges.Add(new NodeImportEdge(sourcePath, importTarget, "import()", BuildEvidence(importExp.Loc))); + break; + } + + foreach (var child in node.ChildNodes) + { + Walk(child, sourcePath, edges); + } + } + + private static bool IsRequire(CallExpression call) + { + return call.Callee is Identifier id && string.Equals(id.Name, "require", StringComparison.Ordinal) + && call.Arguments.Count == 1 && call.Arguments[0] is Literal { Value: string }; + } + + private static string BuildEvidence(Location? loc) + { + if (loc is null) + { + return string.Empty; + } + + var json = new JsonObject + { + ["start"] = BuildPosition(loc.Start), + ["end"] = BuildPosition(loc.End) + }; + + return json.ToJsonString(new JsonSerializerOptions { WriteIndented = false }); + } + + private static JsonObject BuildPosition(Position pos) + { + return new JsonObject + { + ["line"] = pos.Line, + ["column"] = pos.Column + }; + } +} diff --git a/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePackage.cs b/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePackage.cs index 9b34c55af..14a9f2b4a 100644 --- a/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePackage.cs +++ b/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePackage.cs @@ -1,4 +1,6 @@ -namespace StellaOps.Scanner.Analyzers.Lang.Node.Internal; +using System.Globalization; + +namespace StellaOps.Scanner.Analyzers.Lang.Node.Internal; internal sealed class NodePackage { @@ -80,6 +82,12 @@ internal sealed class NodePackage public bool IsYarnPnp { get; } + private readonly List _entrypoints = new(); + private readonly List _imports = new(); + + public IReadOnlyList Entrypoints => _entrypoints; + public IReadOnlyList Imports => _imports; + public string RelativePathNormalized => string.IsNullOrEmpty(RelativePath) ? string.Empty : RelativePath.Replace(Path.DirectorySeparatorChar, '/'); public string ComponentKey => $"purl::{Purl}"; @@ -113,10 +121,43 @@ internal sealed class NodePackage LanguageEvidenceKind.Metadata, "package.json:scripts", locator, - script.Command, - script.Sha256)); - } - + script.Command, + script.Sha256)); + } + + foreach (var entrypoint in _entrypoints) + { + var locator = string.IsNullOrEmpty(PackageJsonLocator) + ? "package.json#entrypoint" + : $"{PackageJsonLocator}#entrypoint"; + + var content = string.Join(';', new[] + { + entrypoint.Path, + entrypoint.BinName, + entrypoint.MainField, + entrypoint.ModuleField, + entrypoint.ConditionSet + }.Where(static v => !string.IsNullOrWhiteSpace(v))); + + evidence.Add(new LanguageComponentEvidence( + LanguageEvidenceKind.Metadata, + "package.json:entrypoint", + locator, + content, + sha256: null)); + } + + foreach (var importEdge in _imports.OrderBy(static e => e.ComparisonKey, StringComparer.Ordinal)) + { + evidence.Add(new LanguageComponentEvidence( + LanguageEvidenceKind.Source, + "node.import", + importEdge.SourceFile, + importEdge.TargetSpecifier, + sha256: null)); + } + return evidence .OrderBy(static e => e.ComparisonKey, StringComparer.Ordinal) .ToArray(); @@ -186,6 +227,33 @@ internal sealed class NodePackage } } + if (_entrypoints.Count > 0) + { + var paths = _entrypoints + .Select(static ep => ep.Path) + .OrderBy(static p => p, StringComparer.Ordinal) + .ToArray(); + + entries.Add(new KeyValuePair("entrypoint", string.Join(';', paths))); + + var conditionSets = _entrypoints + .Select(static ep => ep.ConditionSet) + .Where(static cs => !string.IsNullOrWhiteSpace(cs)) + .Distinct(StringComparer.Ordinal) + .OrderBy(static cs => cs, StringComparer.Ordinal) + .ToArray(); + + if (conditionSets.Length > 0) + { + entries.Add(new KeyValuePair("entrypoint.conditions", string.Join(';', conditionSets))); + } + } + + if (_imports.Count > 0) + { + entries.Add(new KeyValuePair("imports", _imports.Count.ToString(CultureInfo.InvariantCulture))); + } + if (HasInstallScripts) { entries.Add(new KeyValuePair("installScripts", "true")); @@ -230,6 +298,48 @@ internal sealed class NodePackage .OrderBy(static pair => pair.Key, StringComparer.Ordinal) .ToArray(); } + + public void AddEntrypoint(string path, string conditionSet, string? binName, string? mainField, string? moduleField) + { + if (string.IsNullOrWhiteSpace(path)) + { + return; + } + + var entry = NodeEntrypoint.Create(path.Replace(Path.DirectorySeparatorChar, '/'), binName, mainField, moduleField, ParseConditionSet(conditionSet)); + if (_entrypoints.Any(ep => string.Equals(ep.Path, entry.Path, StringComparison.Ordinal))) + { + return; + } + + _entrypoints.Add(entry); + } + + public void AddImport(string sourceFile, string targetSpecifier, string kind, string evidence) + { + if (string.IsNullOrWhiteSpace(sourceFile) || string.IsNullOrWhiteSpace(targetSpecifier)) + { + return; + } + + var edge = new NodeImportEdge(sourceFile.Replace(Path.DirectorySeparatorChar, '/'), targetSpecifier.Trim(), kind.Trim(), evidence); + if (_imports.Any(e => string.Equals(e.ComparisonKey, edge.ComparisonKey, StringComparison.Ordinal))) + { + return; + } + + _imports.Add(edge); + } + + private static IEnumerable ParseConditionSet(string conditionSet) + { + if (string.IsNullOrWhiteSpace(conditionSet)) + { + return Array.Empty(); + } + + return conditionSet.Split(',', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); + } private static string BuildPurl(string name, string version) { diff --git a/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePackageCollector.cs b/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePackageCollector.cs index 298d9a12c..72d80fee6 100644 --- a/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePackageCollector.cs +++ b/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Node/Internal/NodePackageCollector.cs @@ -61,9 +61,65 @@ internal static class NodePackageCollector AppendDeclaredPackages(packages, lockData); + AttachImports(context, packages, cancellationToken); + return packages; } + private static void AttachImports(LanguageAnalyzerContext context, List packages, CancellationToken cancellationToken) + { + foreach (var package in packages) + { + cancellationToken.ThrowIfCancellationRequested(); + + var packageRoot = string.IsNullOrEmpty(package.RelativePathNormalized) + ? context.RootPath + : Path.Combine(context.RootPath, package.RelativePathNormalized.Replace('/', Path.DirectorySeparatorChar)); + + if (!Directory.Exists(packageRoot)) + { + continue; + } + + foreach (var file in EnumerateSourceFiles(packageRoot)) + { + cancellationToken.ThrowIfCancellationRequested(); + + string content; + try + { + content = File.ReadAllText(file); + } + catch (IOException) + { + continue; + } + + var imports = NodeImportWalker.AnalyzeImports(context.GetRelativePath(file).Replace(Path.DirectorySeparatorChar, '/'), content); + foreach (var edge in imports) + { + package.AddImport(edge.SourceFile, edge.TargetSpecifier, edge.Kind, edge.Evidence); + } + } + } + } + + private static IEnumerable EnumerateSourceFiles(string root) + { + foreach (var extension in new[] { ".js", ".jsx", ".mjs", ".cjs", ".ts", ".tsx" }) + { + foreach (var file in Directory.EnumerateFiles(root, "*" + extension, new EnumerationOptions + { + RecurseSubdirectories = true, + MatchCasing = MatchCasing.CaseInsensitive, + IgnoreInaccessible = true + })) + { + yield return file; + } + } + } + private static void TraverseDirectory( LanguageAnalyzerContext context, string directory, diff --git a/src/Scanner/__Libraries/StellaOps.Scanner.Emit/Reachability/ReachabilityLattice.cs b/src/Scanner/__Libraries/StellaOps.Scanner.Emit/Reachability/ReachabilityLattice.cs new file mode 100644 index 000000000..23f75dbed --- /dev/null +++ b/src/Scanner/__Libraries/StellaOps.Scanner.Emit/Reachability/ReachabilityLattice.cs @@ -0,0 +1,93 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace StellaOps.Scanner.Emit.Reachability; + +public enum ReachabilityState +{ + Unknown = 0, + Conditional = 1, + Reachable = 2, + Unreachable = 3 +} + +public enum ReachabilityEvidenceKind +{ + StaticPath, + RuntimeHit, + RuntimeSinkHit, + Guard, + Mitigation +} + +public readonly record struct ReachabilityEvidence( + ReachabilityEvidenceKind Kind, + string? Reference = null); + +public sealed record ReachabilityLatticeResult( + ReachabilityState State, + double Score); + +public static class ReachabilityLattice +{ + public static ReachabilityLatticeResult Evaluate(IEnumerable rawEvidence) + { + var evidence = rawEvidence + .Where(e => Enum.IsDefined(typeof(ReachabilityEvidenceKind), e.Kind)) + .OrderBy(e => e.Kind) + .ThenBy(e => e.Reference ?? string.Empty, StringComparer.Ordinal) + .ToList(); + + var hasRuntimeSinkHit = evidence.Any(e => e.Kind is ReachabilityEvidenceKind.RuntimeSinkHit); + var hasRuntimeHit = evidence.Any(e => e.Kind is ReachabilityEvidenceKind.RuntimeHit or ReachabilityEvidenceKind.RuntimeSinkHit); + var hasStaticPath = evidence.Any(e => e.Kind is ReachabilityEvidenceKind.StaticPath); + var guardCount = evidence.Count(e => e.Kind is ReachabilityEvidenceKind.Guard); + var mitigationCount = evidence.Count(e => e.Kind is ReachabilityEvidenceKind.Mitigation); + + var score = 0.0; + var state = ReachabilityState.Unknown; + + if (hasStaticPath) + { + state = ReachabilityState.Conditional; + score += 0.50; + } + + if (hasRuntimeHit) + { + state = ReachabilityState.Reachable; + score += 0.30; + if (hasRuntimeSinkHit) + { + score += 0.10; + } + } + + if (!hasRuntimeHit && guardCount > 0) + { + state = state switch + { + ReachabilityState.Reachable => ReachabilityState.Conditional, + ReachabilityState.Conditional => ReachabilityState.Unknown, + _ => state + }; + score = Math.Max(score - 0.20 * guardCount, 0); + } + + if (!hasRuntimeHit && mitigationCount > 0) + { + state = ReachabilityState.Unreachable; + score = Math.Max(score - 0.30 * mitigationCount, 0); + } + + if (state == ReachabilityState.Unknown && score <= 0 && evidence.Count == 0) + { + return new ReachabilityLatticeResult(ReachabilityState.Unknown, 0); + } + + var capped = Math.Clamp(score, 0, 1); + var rounded = Math.Round(capped, 2, MidpointRounding.AwayFromZero); + return new ReachabilityLatticeResult(state, rounded); + } +} diff --git a/src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Deno.Tests/Deno/DenoLanguageAnalyzerRuntimeTests.cs b/src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Deno.Tests/Deno/DenoLanguageAnalyzerRuntimeTests.cs new file mode 100644 index 000000000..719555e54 --- /dev/null +++ b/src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Deno.Tests/Deno/DenoLanguageAnalyzerRuntimeTests.cs @@ -0,0 +1,52 @@ +using System.Text; +using StellaOps.Scanner.Analyzers.Lang; +using StellaOps.Scanner.Analyzers.Lang.Deno; +using StellaOps.Scanner.Core.Contracts; +using StellaOps.Scanner.Analyzers.Lang.Deno.Tests.TestUtilities; + +namespace StellaOps.Scanner.Analyzers.Lang.Deno.Tests.Deno; + +public sealed class DenoLanguageAnalyzerRuntimeTests +{ + [Fact] + public async Task IngestsRuntimeTraceAndEmitsSignals() + { + var root = TestPaths.CreateTemporaryDirectory(); + try + { + var runtimePath = Path.Combine(root, "deno-runtime.ndjson"); + var ndjson = new StringBuilder() + .AppendLine("{\"type\":\"deno.module.load\",\"ts\":\"2025-11-18T00:00:00Z\",\"module\":{\"normalized\":\"app/main.ts\",\"path_sha256\":\"abc\"},\"reason\":\"dynamic-import\",\"permissions\":[\"fs\"],\"origin\":\"https://deno.land/x/std@0.208.0/http/server.ts\"}") + .AppendLine("{\"type\":\"deno.permission.use\",\"ts\":\"2025-11-18T00:00:01Z\",\"permission\":\"net\",\"module\":{\"normalized\":\"app/net.ts\",\"path_sha256\":\"def\"},\"details\":\"permissions.request\"}") + .AppendLine("{\"type\":\"deno.wasm.load\",\"ts\":\"2025-11-18T00:00:02Z\",\"module\":{\"normalized\":\"pkg/module.wasm\",\"path_sha256\":\"ghi\"},\"importer\":\"app/main.ts\",\"reason\":\"instantiate\"}") + .AppendLine("{\"type\":\"deno.npm.resolution\",\"ts\":\"2025-11-18T00:00:03Z\",\"specifier\":\"npm:chalk@5\",\"package\":\"chalk\",\"version\":\"5.3.0\",\"resolved\":\"file:///cache/chalk\",\"exists\":true}") + .ToString(); + + await File.WriteAllTextAsync(runtimePath, ndjson); + + var store = new ScanAnalysisStore(); + var context = new LanguageAnalyzerContext(root, TimeProvider.System, usageHints: null, services: null, analysisStore: store); + + var analyzer = new DenoLanguageAnalyzer(); + var engine = new LanguageAnalyzerEngine(new[] { analyzer }); + await engine.AnalyzeAsync(context, CancellationToken.None); + + Assert.True(store.TryGet(ScanAnalysisKeys.DenoRuntimePayload, out AnalyzerObservationPayload runtimePayload)); + Assert.Equal("deno.runtime.v1", runtimePayload.Kind); + Assert.Equal("application/x-ndjson", runtimePayload.MediaType); + + Assert.True(store.TryGet("surface.lang.deno.permissions", out string? permissions)); + Assert.Equal("fs,net", permissions); + Assert.True(store.TryGet("surface.lang.deno.remote_origins", out string? origins)); + Assert.Equal("https://deno.land/x/std@0.208.0/http/server.ts", origins); + Assert.True(store.TryGet("surface.lang.deno.wasm_modules", out string? wasm)); + Assert.Equal("1", wasm); + Assert.True(store.TryGet("surface.lang.deno.npm_modules", out string? npm)); + Assert.Equal("1", npm); + } + finally + { + TestPaths.SafeDelete(root); + } + } +} diff --git a/src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Deno.Tests/Deno/DenoRuntimeTraceRunnerTests.cs b/src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Deno.Tests/Deno/DenoRuntimeTraceRunnerTests.cs new file mode 100644 index 000000000..2e4cf35c3 --- /dev/null +++ b/src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Deno.Tests/Deno/DenoRuntimeTraceRunnerTests.cs @@ -0,0 +1,93 @@ +using StellaOps.Scanner.Analyzers.Lang; +using StellaOps.Scanner.Analyzers.Lang.Deno.Internal.Runtime; +using StellaOps.Scanner.Analyzers.Lang.Deno.Tests.TestUtilities; + +namespace StellaOps.Scanner.Analyzers.Lang.Deno.Tests.Deno; + +public sealed class DenoRuntimeTraceRunnerTests +{ + [Fact] + public async Task ReturnsFalse_WhenEntrypointEnvMissing() + { + using var env = new EnvironmentVariableScope("STELLA_DENO_ENTRYPOINT", null); + var root = TestPaths.CreateTemporaryDirectory(); + + try + { + var context = new LanguageAnalyzerContext(root, TimeProvider.System); + var result = await DenoRuntimeTraceRunner.TryExecuteAsync(context, logger: null, CancellationToken.None); + + Assert.False(result); + Assert.False(File.Exists(Path.Combine(root, "deno-runtime.ndjson"))); + } + finally + { + TestPaths.SafeDelete(root); + } + } + + [Fact] + public async Task ReturnsFalse_WhenEntrypointMissing() + { + var root = TestPaths.CreateTemporaryDirectory(); + + try + { + using var env = new EnvironmentVariableScope("STELLA_DENO_ENTRYPOINT", "app/main.ts"); + var context = new LanguageAnalyzerContext(root, TimeProvider.System); + + var result = await DenoRuntimeTraceRunner.TryExecuteAsync(context, logger: null, CancellationToken.None); + + Assert.False(result); + Assert.False(File.Exists(Path.Combine(root, DenoRuntimeShim.FileName))); + Assert.False(File.Exists(Path.Combine(root, "deno-runtime.ndjson"))); + } + finally + { + TestPaths.SafeDelete(root); + } + } + + [Fact] + public async Task ReturnsFalse_WhenDenoBinaryUnavailable() + { + var root = TestPaths.CreateTemporaryDirectory(); + + try + { + var entrypoint = Path.Combine(root, "main.ts"); + await File.WriteAllTextAsync(entrypoint, "console.log('hi')"); + + using var entryEnv = new EnvironmentVariableScope("STELLA_DENO_ENTRYPOINT", entrypoint); + using var binaryEnv = new EnvironmentVariableScope("STELLA_DENO_BINARY", Guid.NewGuid().ToString("N")); + + var context = new LanguageAnalyzerContext(root, TimeProvider.System); + var result = await DenoRuntimeTraceRunner.TryExecuteAsync(context, logger: null, CancellationToken.None); + + Assert.False(result); + Assert.True(File.Exists(Path.Combine(root, DenoRuntimeShim.FileName))); + } + finally + { + TestPaths.SafeDelete(root); + } + } + + private sealed class EnvironmentVariableScope : IDisposable + { + private readonly string _name; + private readonly string? _original; + + public EnvironmentVariableScope(string name, string? value) + { + _name = name; + _original = Environment.GetEnvironmentVariable(name); + Environment.SetEnvironmentVariable(name, value); + } + + public void Dispose() + { + Environment.SetEnvironmentVariable(_name, _original); + } + } +} diff --git a/src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Node.Tests/Node/NodeEntrypointTests.cs b/src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Node.Tests/Node/NodeEntrypointTests.cs new file mode 100644 index 000000000..280e6bb08 --- /dev/null +++ b/src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Lang.Node.Tests/Node/NodeEntrypointTests.cs @@ -0,0 +1,30 @@ +using StellaOps.Scanner.Analyzers.Lang.Node.Internal; + +namespace StellaOps.Scanner.Analyzers.Lang.Node.Tests.Node; + +public sealed class NodeEntrypointTests +{ + [Fact] + public void Create_NormalizesConditions_DedupesAndSorts() + { + var entry = NodeEntrypoint.Create( + path: "src/index.js", + binName: "cli", + mainField: "index.js", + moduleField: null, + conditions: new[] { "node", "browser", "node" }); + + Assert.Equal("browser,node", entry.ConditionSet); + Assert.Equal("src/index.js", entry.Path); + Assert.Equal("cli", entry.BinName); + Assert.Equal("index.js", entry.MainField); + Assert.Null(entry.ModuleField); + } + + [Fact] + public void Create_AllowsEmptyConditions() + { + var entry = NodeEntrypoint.Create("src/app.js", null, null, null, Array.Empty()); + Assert.Equal(string.Empty, entry.ConditionSet); + } +} diff --git a/src/Scanner/__Tests/StellaOps.Scanner.Emit.Tests/Reachability/ReachabilityLatticeTests.cs b/src/Scanner/__Tests/StellaOps.Scanner.Emit.Tests/Reachability/ReachabilityLatticeTests.cs new file mode 100644 index 000000000..7a1e3c067 --- /dev/null +++ b/src/Scanner/__Tests/StellaOps.Scanner.Emit.Tests/Reachability/ReachabilityLatticeTests.cs @@ -0,0 +1,88 @@ +using FluentAssertions; +using StellaOps.Scanner.Emit.Reachability; +using Xunit; + +namespace StellaOps.Scanner.Emit.Tests.Reachability; + +public class ReachabilityLatticeTests +{ + [Fact] + public void StaticPath_YieldsConditional() + { + var result = ReachabilityLattice.Evaluate(new[] + { + new ReachabilityEvidence(ReachabilityEvidenceKind.StaticPath, "path1") + }); + + result.State.Should().Be(ReachabilityState.Conditional); + result.Score.Should().Be(0.5); + } + + [Fact] + public void RuntimeHit_PromotesReachableAndAddsBonus() + { + var result = ReachabilityLattice.Evaluate(new[] + { + new ReachabilityEvidence(ReachabilityEvidenceKind.StaticPath), + new ReachabilityEvidence(ReachabilityEvidenceKind.RuntimeHit) + }); + + result.State.Should().Be(ReachabilityState.Reachable); + result.Score.Should().Be(0.8); + } + + [Fact] + public void RuntimeSinkHit_AddsAdditionalBonus() + { + var result = ReachabilityLattice.Evaluate(new[] + { + new ReachabilityEvidence(ReachabilityEvidenceKind.RuntimeHit), + new ReachabilityEvidence(ReachabilityEvidenceKind.RuntimeSinkHit) + }); + + result.State.Should().Be(ReachabilityState.Reachable); + result.Score.Should().Be(1.0); + } + + [Fact] + public void Guard_DemotesWhenNoRuntimeEvidence() + { + var result = ReachabilityLattice.Evaluate(new[] + { + new ReachabilityEvidence(ReachabilityEvidenceKind.StaticPath), + new ReachabilityEvidence(ReachabilityEvidenceKind.Guard) + }); + + result.State.Should().Be(ReachabilityState.Unknown); + result.Score.Should().Be(0.3); + } + + [Fact] + public void Mitigation_SetsUnreachableWhenNoRuntime() + { + var result = ReachabilityLattice.Evaluate(new[] + { + new ReachabilityEvidence(ReachabilityEvidenceKind.StaticPath), + new ReachabilityEvidence(ReachabilityEvidenceKind.Mitigation) + }); + + result.State.Should().Be(ReachabilityState.Unreachable); + result.Score.Should().Be(0.2); + } + + [Fact] + public void OrderIndependentAndRounded() + { + var shuffled = new[] + { + new ReachabilityEvidence(ReachabilityEvidenceKind.Guard), + new ReachabilityEvidence(ReachabilityEvidenceKind.StaticPath), + new ReachabilityEvidence(ReachabilityEvidenceKind.RuntimeHit), + }; + + var result = ReachabilityLattice.Evaluate(shuffled); + + result.State.Should().Be(ReachabilityState.Reachable); + result.Score.Should().Be(0.8); + } +} diff --git a/tests/reachability/StellaOps.Reachability.FixtureTests/CorpusFixtureTests.cs b/tests/reachability/StellaOps.Reachability.FixtureTests/CorpusFixtureTests.cs new file mode 100644 index 000000000..791576526 --- /dev/null +++ b/tests/reachability/StellaOps.Reachability.FixtureTests/CorpusFixtureTests.cs @@ -0,0 +1,83 @@ +using System.Security.Cryptography; +using System.Text.Json; +using System.Text.RegularExpressions; +using FluentAssertions; +using Xunit; + +namespace StellaOps.Reachability.FixtureTests; + +public class CorpusFixtureTests +{ + private static readonly string RepoRoot = ReachbenchFixtureTests.LocateRepoRoot(); + private static readonly string CorpusRoot = Path.Combine(RepoRoot, "tests", "reachability", "corpus"); + + [Fact] + public void ManifestExistsAndIsDeterministic() + { + var manifestPath = Path.Combine(CorpusRoot, "manifest.json"); + File.Exists(manifestPath).Should().BeTrue("corpus manifest should exist"); + + using var stream = File.OpenRead(manifestPath); + using var doc = JsonDocument.Parse(stream); + doc.RootElement.ValueKind.Should().Be(JsonValueKind.Array); + } + + [Fact] + public void CorpusEntriesMatchManifestHashes() + { + var manifestPath = Path.Combine(CorpusRoot, "manifest.json"); + var manifest = JsonDocument.Parse(File.ReadAllBytes(manifestPath)).RootElement.EnumerateArray().ToArray(); + + manifest.Should().NotBeEmpty("corpus manifest must have entries"); + + foreach (var entry in manifest) + { + var id = entry.GetProperty("id").GetString(); + var language = entry.GetProperty("language").GetString(); + var files = entry.GetProperty("files"); + + id.Should().NotBeNullOrEmpty(); + language.Should().NotBeNullOrEmpty(); + + var caseDir = Path.Combine(CorpusRoot, language!, id!); + Directory.Exists(caseDir).Should().BeTrue($"case folder missing: {caseDir}"); + + foreach (var fileProp in files.EnumerateObject()) + { + var filename = fileProp.Name; + var expectedHash = fileProp.Value.GetString(); + File.Exists(Path.Combine(caseDir, filename)).Should().BeTrue($"{id} missing {filename}"); + + var actualHash = BitConverter.ToString(SHA256.HashData(File.ReadAllBytes(Path.Combine(caseDir, filename)))).Replace("-", "").ToLowerInvariant(); + actualHash.Should().Be(expectedHash, $"{id} hash mismatch for {filename}"); + } + } + } + + [Fact] + public void ExpectFilesContainRequiredFields() + { + var manifestPath = Path.Combine(CorpusRoot, "manifest.json"); + var manifest = JsonDocument.Parse(File.ReadAllBytes(manifestPath)).RootElement.EnumerateArray().ToArray(); + var required = new[] { "id", "language", "state", "score" }; + var idRegex = new Regex(@"^id:\s*(?.+)$", RegexOptions.Multiline); + + foreach (var entry in manifest) + { + var id = entry.GetProperty("id").GetString()!; + var language = entry.GetProperty("language").GetString()!; + var expectPath = Path.Combine(CorpusRoot, language, id, "expect.yaml"); + File.Exists(expectPath).Should().BeTrue($"{id} missing expect.yaml"); + var text = File.ReadAllText(expectPath); + + foreach (var field in required) + { + text.Should().Contain($"{field}:", $"{id} expect.yaml missing '{field}:'"); + } + + var match = idRegex.Match(text); + match.Success.Should().BeTrue($"{id} expect.yaml should include matching id"); + match.Groups["id"].Value.Trim().Should().Be(id, $"{id} expect.yaml id must match manifest id"); + } + } +} diff --git a/tests/reachability/corpus/README.md b/tests/reachability/corpus/README.md new file mode 100644 index 000000000..8bc7897a7 --- /dev/null +++ b/tests/reachability/corpus/README.md @@ -0,0 +1,21 @@ +# Reachability Corpus (QA-CORPUS-401-031) + +Layout +- `manifest.json` — deterministic SHA-256 hashes for each case file. +- `//expect.yaml` — state (`reachable|conditional|unreachable`), score, evidence refs. +- `//callgraph.static.json` — static call graph sample (stub for MVP). +- `//vex.openvex.json` — expected VEX slice for the case. + +Determinism +- JSON files have sorted keys; hashes recorded in `manifest.json`. +- Scores rounded to 2dp; timestamps (if added later) must be UTC ISO-8601. +- No network access required to consume the corpus. + +MVP cases (stubs, to be replaced with real artifacts) +- Go: `go-ssh-CVE-2020-9283-keyexchange` +- .NET: `dotnet-kestrel-CVE-2023-44487-http2-rapid-reset` +- Python: `python-django-CVE-2019-19844-sqli-like` +- Rust: `rust-axum-header-parsing-TBD` + +CI intent +- `CorpusFixtureTests` validates presence and hashes from the manifest; hook this into CI once repo build stabilises. diff --git a/tests/reachability/corpus/dotnet/dotnet-kestrel-CVE-2023-44487-http2-rapid-reset/callgraph.static.json b/tests/reachability/corpus/dotnet/dotnet-kestrel-CVE-2023-44487-http2-rapid-reset/callgraph.static.json new file mode 100644 index 000000000..d4cbfdedd --- /dev/null +++ b/tests/reachability/corpus/dotnet/dotnet-kestrel-CVE-2023-44487-http2-rapid-reset/callgraph.static.json @@ -0,0 +1,5 @@ +{ + "schema_version": "reach-corpus.callgraph/v1", + "nodes": [], + "edges": [] +} diff --git a/tests/reachability/corpus/dotnet/dotnet-kestrel-CVE-2023-44487-http2-rapid-reset/expect.yaml b/tests/reachability/corpus/dotnet/dotnet-kestrel-CVE-2023-44487-http2-rapid-reset/expect.yaml new file mode 100644 index 000000000..a4c716466 --- /dev/null +++ b/tests/reachability/corpus/dotnet/dotnet-kestrel-CVE-2023-44487-http2-rapid-reset/expect.yaml @@ -0,0 +1,11 @@ +schema_version: reach-corpus.expect/v1 +id: dotnet-kestrel-CVE-2023-44487-http2-rapid-reset +language: dotnet +state: reachable +score: 0.85 +static_evidence: + callgraphs: + - callgraph.static.json +runtime_evidence: [] +vex: vex.openvex.json +notes: "MVP fixture stub; replace with real callgraph and traces when available." diff --git a/tests/reachability/corpus/dotnet/dotnet-kestrel-CVE-2023-44487-http2-rapid-reset/vex.openvex.json b/tests/reachability/corpus/dotnet/dotnet-kestrel-CVE-2023-44487-http2-rapid-reset/vex.openvex.json new file mode 100644 index 000000000..eb78f0ff4 --- /dev/null +++ b/tests/reachability/corpus/dotnet/dotnet-kestrel-CVE-2023-44487-http2-rapid-reset/vex.openvex.json @@ -0,0 +1,12 @@ +{ + "author": "StellaOps", + "role": "reachability-corpus", + "timestamp": "2025-11-18T00:00:00Z", + "statements": [ + { + "vulnerability": "TBD", + "products": ["pkg:demo/demo"], + "status": "affected" + } + ] +} diff --git a/tests/reachability/corpus/go/go-ssh-CVE-2020-9283-keyexchange/callgraph.static.json b/tests/reachability/corpus/go/go-ssh-CVE-2020-9283-keyexchange/callgraph.static.json new file mode 100644 index 000000000..d4cbfdedd --- /dev/null +++ b/tests/reachability/corpus/go/go-ssh-CVE-2020-9283-keyexchange/callgraph.static.json @@ -0,0 +1,5 @@ +{ + "schema_version": "reach-corpus.callgraph/v1", + "nodes": [], + "edges": [] +} diff --git a/tests/reachability/corpus/go/go-ssh-CVE-2020-9283-keyexchange/expect.yaml b/tests/reachability/corpus/go/go-ssh-CVE-2020-9283-keyexchange/expect.yaml new file mode 100644 index 000000000..bab5005c6 --- /dev/null +++ b/tests/reachability/corpus/go/go-ssh-CVE-2020-9283-keyexchange/expect.yaml @@ -0,0 +1,11 @@ +schema_version: reach-corpus.expect/v1 +id: go-ssh-CVE-2020-9283-keyexchange +language: go +state: reachable +score: 0.80 +static_evidence: + callgraphs: + - callgraph.static.json +runtime_evidence: [] +vex: vex.openvex.json +notes: "MVP fixture stub; replace with real callgraph and traces when available." diff --git a/tests/reachability/corpus/go/go-ssh-CVE-2020-9283-keyexchange/vex.openvex.json b/tests/reachability/corpus/go/go-ssh-CVE-2020-9283-keyexchange/vex.openvex.json new file mode 100644 index 000000000..eb78f0ff4 --- /dev/null +++ b/tests/reachability/corpus/go/go-ssh-CVE-2020-9283-keyexchange/vex.openvex.json @@ -0,0 +1,12 @@ +{ + "author": "StellaOps", + "role": "reachability-corpus", + "timestamp": "2025-11-18T00:00:00Z", + "statements": [ + { + "vulnerability": "TBD", + "products": ["pkg:demo/demo"], + "status": "affected" + } + ] +} diff --git a/tests/reachability/corpus/manifest.json b/tests/reachability/corpus/manifest.json new file mode 100644 index 000000000..9a52eac34 --- /dev/null +++ b/tests/reachability/corpus/manifest.json @@ -0,0 +1,38 @@ +[ + { + "files": { + "callgraph.static.json": "7359d8c26f16151a4b05cf0e6675e5c66b5ffb6396b906e74c0d5bb2f290e972", + "expect.yaml": "08859e027299b83fbe0a2754797df09736c08c1dd050da830d4e55ed416e77d0", + "vex.openvex.json": "c3593790f769974b1b66aa5331f1d3ad4d699f77f198b2e77e78659ee79d3c15" + }, + "id": "dotnet-kestrel-CVE-2023-44487-http2-rapid-reset", + "language": "dotnet" + }, + { + "files": { + "callgraph.static.json": "7359d8c26f16151a4b05cf0e6675e5c66b5ffb6396b906e74c0d5bb2f290e972", + "expect.yaml": "ad5375a8f2ad10378a48ca031afe726ac8ce94e8faea8e7fba907ca571ab5811", + "vex.openvex.json": "c3593790f769974b1b66aa5331f1d3ad4d699f77f198b2e77e78659ee79d3c15" + }, + "id": "go-ssh-CVE-2020-9283-keyexchange", + "language": "go" + }, + { + "files": { + "callgraph.static.json": "7359d8c26f16151a4b05cf0e6675e5c66b5ffb6396b906e74c0d5bb2f290e972", + "expect.yaml": "c2516433b685aa955342a3a1a70485c3742eca654aa6245866084da6d7574815", + "vex.openvex.json": "c3593790f769974b1b66aa5331f1d3ad4d699f77f198b2e77e78659ee79d3c15" + }, + "id": "python-django-CVE-2019-19844-sqli-like", + "language": "python" + }, + { + "files": { + "callgraph.static.json": "7359d8c26f16151a4b05cf0e6675e5c66b5ffb6396b906e74c0d5bb2f290e972", + "expect.yaml": "01fd3ce042e65f4d17ca8a6144fefcbb32b945ae720d136d0d9207e17974ee0a", + "vex.openvex.json": "c3593790f769974b1b66aa5331f1d3ad4d699f77f198b2e77e78659ee79d3c15" + }, + "id": "rust-axum-header-parsing-TBD", + "language": "rust" + } +] \ No newline at end of file diff --git a/tests/reachability/corpus/python/python-django-CVE-2019-19844-sqli-like/callgraph.static.json b/tests/reachability/corpus/python/python-django-CVE-2019-19844-sqli-like/callgraph.static.json new file mode 100644 index 000000000..d4cbfdedd --- /dev/null +++ b/tests/reachability/corpus/python/python-django-CVE-2019-19844-sqli-like/callgraph.static.json @@ -0,0 +1,5 @@ +{ + "schema_version": "reach-corpus.callgraph/v1", + "nodes": [], + "edges": [] +} diff --git a/tests/reachability/corpus/python/python-django-CVE-2019-19844-sqli-like/expect.yaml b/tests/reachability/corpus/python/python-django-CVE-2019-19844-sqli-like/expect.yaml new file mode 100644 index 000000000..75c10b7ee --- /dev/null +++ b/tests/reachability/corpus/python/python-django-CVE-2019-19844-sqli-like/expect.yaml @@ -0,0 +1,11 @@ +schema_version: reach-corpus.expect/v1 +id: python-django-CVE-2019-19844-sqli-like +language: python +state: reachable +score: 0.80 +static_evidence: + callgraphs: + - callgraph.static.json +runtime_evidence: [] +vex: vex.openvex.json +notes: "MVP fixture stub; replace with real callgraph and traces when available." diff --git a/tests/reachability/corpus/python/python-django-CVE-2019-19844-sqli-like/vex.openvex.json b/tests/reachability/corpus/python/python-django-CVE-2019-19844-sqli-like/vex.openvex.json new file mode 100644 index 000000000..eb78f0ff4 --- /dev/null +++ b/tests/reachability/corpus/python/python-django-CVE-2019-19844-sqli-like/vex.openvex.json @@ -0,0 +1,12 @@ +{ + "author": "StellaOps", + "role": "reachability-corpus", + "timestamp": "2025-11-18T00:00:00Z", + "statements": [ + { + "vulnerability": "TBD", + "products": ["pkg:demo/demo"], + "status": "affected" + } + ] +} diff --git a/tests/reachability/corpus/rust/rust-axum-header-parsing-TBD/callgraph.static.json b/tests/reachability/corpus/rust/rust-axum-header-parsing-TBD/callgraph.static.json new file mode 100644 index 000000000..d4cbfdedd --- /dev/null +++ b/tests/reachability/corpus/rust/rust-axum-header-parsing-TBD/callgraph.static.json @@ -0,0 +1,5 @@ +{ + "schema_version": "reach-corpus.callgraph/v1", + "nodes": [], + "edges": [] +} diff --git a/tests/reachability/corpus/rust/rust-axum-header-parsing-TBD/expect.yaml b/tests/reachability/corpus/rust/rust-axum-header-parsing-TBD/expect.yaml new file mode 100644 index 000000000..d337ec293 --- /dev/null +++ b/tests/reachability/corpus/rust/rust-axum-header-parsing-TBD/expect.yaml @@ -0,0 +1,11 @@ +schema_version: reach-corpus.expect/v1 +id: rust-axum-header-parsing-TBD +language: rust +state: conditional +score: 0.60 +static_evidence: + callgraphs: + - callgraph.static.json +runtime_evidence: [] +vex: vex.openvex.json +notes: "MVP fixture stub; replace with real callgraph and traces when available." diff --git a/tests/reachability/corpus/rust/rust-axum-header-parsing-TBD/vex.openvex.json b/tests/reachability/corpus/rust/rust-axum-header-parsing-TBD/vex.openvex.json new file mode 100644 index 000000000..eb78f0ff4 --- /dev/null +++ b/tests/reachability/corpus/rust/rust-axum-header-parsing-TBD/vex.openvex.json @@ -0,0 +1,12 @@ +{ + "author": "StellaOps", + "role": "reachability-corpus", + "timestamp": "2025-11-18T00:00:00Z", + "statements": [ + { + "vulnerability": "TBD", + "products": ["pkg:demo/demo"], + "status": "affected" + } + ] +} diff --git a/tests/reachability/scripts/README.md b/tests/reachability/scripts/README.md new file mode 100644 index 000000000..05ccfedaf --- /dev/null +++ b/tests/reachability/scripts/README.md @@ -0,0 +1,8 @@ +# Reachability Scripts + +- `update_corpus_manifest.py` — regenerate `tests/reachability/corpus/manifest.json` with SHA-256 hashes for all corpus files. Deterministic; no network access. + +Usage: +```bash +python tests/reachability/scripts/update_corpus_manifest.py +``` diff --git a/tests/reachability/scripts/update_corpus_manifest.py b/tests/reachability/scripts/update_corpus_manifest.py new file mode 100644 index 000000000..093df423b --- /dev/null +++ b/tests/reachability/scripts/update_corpus_manifest.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python3 +""" +Regenerate reachability corpus manifest deterministically. +Usage: python tests/reachability/scripts/update_corpus_manifest.py +""" +from __future__ import annotations +import hashlib +import json +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[1] / "corpus" +FILE_LIST = ["expect.yaml", "callgraph.static.json", "vex.openvex.json"] + +def sha256(path: Path) -> str: + return hashlib.sha256(path.read_bytes()).hexdigest() + +def main() -> int: + entries = [] + for lang_dir in sorted(p for p in ROOT.iterdir() if p.is_dir()): + for case_dir in sorted(p for p in lang_dir.iterdir() if p.is_dir()): + files = {} + for name in FILE_LIST: + path = case_dir / name + if not path.exists(): + raise SystemExit(f"missing {path}") + files[name] = sha256(path) + entries.append({ + "id": case_dir.name, + "language": lang_dir.name, + "files": files, + }) + manifest_path = ROOT / "manifest.json" + manifest_path.write_text(json.dumps(entries, indent=2, sort_keys=True)) + print(f"wrote {manifest_path} ({len(entries)} entries)") + return 0 + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tools/linksets-ci.sh b/tools/linksets-ci.sh new file mode 100644 index 000000000..bc1c632c8 --- /dev/null +++ b/tools/linksets-ci.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash +# CI runner profile for Concelier /linksets tests without harness workdir injection. +set -euo pipefail +ROOT_DIR="$(cd "$(dirname "$0")/.." && pwd)" +PROJECT="$ROOT_DIR/src/Concelier/__Tests/StellaOps.Concelier.WebService.Tests/StellaOps.Concelier.WebService.Tests.csproj" +DOTNET_EXE=$(command -v dotnet) +if [[ -z "$DOTNET_EXE" ]]; then + echo "dotnet not found" >&2; exit 1; fi +export VSTEST_DISABLE_APPDOMAIN=1 +export DOTNET_CLI_UI_LANGUAGE=en +# Ensure Mongo2Go can find OpenSSL 1.1 (needed by bundled mongod) +OPENSSL11_DIR="$ROOT_DIR/tools/openssl1.1/lib" +if [[ -d "$OPENSSL11_DIR" ]]; then + export LD_LIBRARY_PATH="$OPENSSL11_DIR:${LD_LIBRARY_PATH:-}" +fi +RESULTS_DIR="$ROOT_DIR/out/test-results/linksets" +mkdir -p "$RESULTS_DIR" +exec "$ROOT_DIR/tools/dotnet-filter.sh" test "$PROJECT" --filter "Linksets" --results-directory "$RESULTS_DIR" --logger "trx;LogFileName=linksets.trx" --no-build diff --git a/tools/openssl1.1/lib/libcrypto.so.1.1 b/tools/openssl1.1/lib/libcrypto.so.1.1 new file mode 100644 index 000000000..501c37df7 Binary files /dev/null and b/tools/openssl1.1/lib/libcrypto.so.1.1 differ diff --git a/tools/openssl1.1/lib/libssl.so.1.1 b/tools/openssl1.1/lib/libssl.so.1.1 new file mode 100644 index 000000000..c774dc1ce Binary files /dev/null and b/tools/openssl1.1/lib/libssl.so.1.1 differ