49 lines
1.6 KiB
TypeScript
49 lines
1.6 KiB
TypeScript
/**
|
|
* The framework-free half of the Ekklesia shell: how it talks to the platform and how it builds a
|
|
* module UI host context. Deliberately the only public surface of this package.
|
|
*
|
|
* The React shell itself (`src/browser/`) is not exported. It is an application, bundled straight to
|
|
* a browser artifact by this package's own build; exporting components would invite another package
|
|
* to depend on Ekklesia's shell internals, which is exactly the coupling the surface boundary
|
|
* exists to prevent. What *is* exported is the protocol — validated wire parsing, context
|
|
* construction, module API resolution — so the end-to-end test can drive the real host code against
|
|
* a real server instead of a reimplementation of it.
|
|
*/
|
|
export {
|
|
bootstrapHost,
|
|
bootstrapDisplayHost,
|
|
type DashboardNavigation,
|
|
type DashboardNavigationEntry,
|
|
type DashboardNavigationGroup,
|
|
type DisplayHostBootstrap,
|
|
type EkklesiaHostConfig,
|
|
type HostBootstrap,
|
|
type HostEventSourceFactory,
|
|
type HostEventSourceOptions,
|
|
type HostModuleDisplayResponse,
|
|
type HostModuleUiDescriptor,
|
|
HostProtocolError,
|
|
type HostProtocolErrorCode,
|
|
loadDashboardNavigation,
|
|
loadHostPrincipal,
|
|
loadModuleDisplay,
|
|
moduleDisplayDescriptorPath,
|
|
parseDashboardNavigation,
|
|
parseDisplayRoute,
|
|
parseHostModuleDisplay,
|
|
parseHostPrincipal,
|
|
resolveApiUrl,
|
|
} from "./host-protocol.js";
|
|
export {
|
|
type CreateModuleUiContextOptions,
|
|
createModuleUiContext,
|
|
moduleUiSourceUrl,
|
|
} from "./module-context.js";
|
|
export {
|
|
HostAuthError,
|
|
type HostAuthErrorCode,
|
|
type HostSignInCredentials,
|
|
signInWithEmail,
|
|
signOutHost,
|
|
} from "./auth-protocol.js";
|