Package App Core module
Defines typed app contracts and business boundaries reusable across runtimes.
Reusable contracts
This package defines the runtime-neutral services expected by HSLG screens. Contracts cover customer identity, content, payments, device capabilities, application services and capability results. src/index.ts exports the public surface. Both browser demonstration and mobile runtimes must implement the same meaningful service signatures.
Why typing matters
A screen should be able to distinguish an unavailable service from a rejection and from a real successful result. Typed contracts make integration obligations explicit when an adapter changes. They do not prove that a specific plugin is installed or that a server exists. Keep the contracts free of WordPress runtime functions, demo fixtures, Android platform modules and secret configuration.
Change review
For a new capability, define how cancellation, timeout, missing permission and unavailable backend are represented. Update both runtime adapters and all related contract tests. Never add a generic 'success' default for operations that are not implemented on the native platform.
Source files in this module
- packages/app-core/src/contracts/ApplicationServices.ts
- packages/app-core/src/contracts/CapabilityResult.ts
- packages/app-core/src/contracts/ContentProvider.ts
- packages/app-core/src/contracts/CustomerIdentity.ts
- packages/app-core/src/contracts/DeviceCapabilities.ts
- packages/app-core/src/contracts/PaymentService.ts
- packages/app-core/src/index.ts
Maintenance and evidence
Check all affected file references and the matching human-readable user/architecture page when source changes. Run the module’s contract or governance checks; staging, payment and native hardware tests remain independent of source inventory coverage.