feat: add native module realtime transport
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
import type { ModuleConfiguration } from "./module-configuration.js";
|
||||
import type { ModuleStorage } from "./module-storage.js";
|
||||
import type { CapabilityId, ModuleId } from "./identifiers.js";
|
||||
import { moduleIdSchema } from "./identifiers.js";
|
||||
import type { ModuleConfiguration } from "./module-configuration.js";
|
||||
import type { ModuleRuntimeServices } from "./module-database.js";
|
||||
import type { ModuleHttpRouteRegistrar } from "./module-http.js";
|
||||
import type { ModuleRealtimeChannelRegistrar, ModuleRealtimePublisher } from "./module-realtime.js";
|
||||
import type { ModuleStorage } from "./module-storage.js";
|
||||
import { semanticVersionSchema } from "./versions.js";
|
||||
|
||||
export type Awaitable<Value> = Value | PromiseLike<Value>;
|
||||
@@ -29,6 +30,9 @@ export interface ModuleRegistrationContext {
|
||||
* be declared while Core is still building the immutable startup snapshot, never added or removed
|
||||
* afterward from `start`, `stop`, or any other post-registration code path. */
|
||||
readonly http: ModuleHttpRouteRegistrar;
|
||||
/** Declarative, registration-only channel publication. Live publishing is available only from
|
||||
* runtime and request-handler contexts. */
|
||||
readonly realtime: ModuleRealtimeChannelRegistrar;
|
||||
readonly moduleId: ModuleId;
|
||||
/**
|
||||
* This module's own validated configuration, available here as well as at runtime (ADR 0029).
|
||||
@@ -61,6 +65,8 @@ export interface ModuleRuntimeContext {
|
||||
* manifest declared, and carries no endpoint, credential, or physical bucket name.
|
||||
*/
|
||||
readonly storage: ModuleStorage;
|
||||
/** This module's own publisher. Channel names are always resolved inside this module. */
|
||||
readonly realtime: ModuleRealtimePublisher;
|
||||
/**
|
||||
* This module's own validated configuration, frozen for the lifetime of the process.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user