Files
agentic-dev/packages/core-shared/src/conformance/index.ts
Danijel Martinek 9cb2fa321c feat(core-consent): scaffold package with types, IConsent, withConsent brand wrapper
- Add packages/core-consent with ConsentCategory, ConsentState,
  UserConsentState types and IConsent interface
- Add withConsent wrapper attaching __consentChecked brand at bind time;
  unit tests assert brand attachment and factory passthrough
- Add ConsentChecked<F> type to core-shared/conformance/brands.ts and
  isConsentChecked helper to brand-runtime.ts
- Extend FeatureManifest with requiresConsent?: readonly string[] field
- Extend assertFeatureConformance to require __consentChecked brand when
  requiresConsent.length > 0; synthetic fixture tests cover pass/fail cases
- Propagate __consentChecked in withSpan PROPAGATED_BRANDS so the outermost
  binding carries the brand

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 10:40:40 +00:00

37 lines
952 B
TypeScript

export type {
Instrumented,
Captured,
Analyzed,
ConsentChecked,
} from "./brands";
export type { FeatureManifest, UseCaseManifest } from "./define-feature";
export { defineFeature } from "./define-feature";
export type {
CoverageBand,
CoverageBands,
CoverageManifest,
VitestThresholds,
} from "./coverage";
export {
DEFAULT_COVERAGE_BANDS,
DEFAULT_MUTATION_SCORE,
DEFAULT_MUTATION_TARGETS,
getCoverageBands,
getMutationConfig,
vitestThresholdsFromBands,
vitestThresholdsFromManifest,
} from "./coverage";
export type { ProductionUseCase } from "./production-use-case";
export {
attachBrand,
isInstrumented,
isCaptured,
isAudited,
isAnalyzed,
isConsentChecked,
} from "./brand-runtime";
export { ConformanceError } from "./conformance-error";
export { assertFeatureConformance } from "./assert-bindings";
export { wireUseCase } from "./wire-use-case";
export type { WireUseCaseOptions } from "./wire-use-case";