@earendil-works/chord 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +58 -0
- package/README.md +14 -13
- package/dist/cell.d.ts +30 -9
- package/dist/cell.d.ts.map +1 -1
- package/dist/cell.js +52 -12
- package/dist/cell.js.map +1 -1
- package/dist/cluster.d.ts +4 -3
- package/dist/cluster.d.ts.map +1 -1
- package/dist/cluster.js +58 -42
- package/dist/cluster.js.map +1 -1
- package/dist/connection.d.ts +171 -58
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +676 -217
- package/dist/connection.js.map +1 -1
- package/dist/contract.d.ts +120 -45
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +104 -15
- package/dist/contract.js.map +1 -1
- package/dist/declare.d.ts +11 -48
- package/dist/declare.d.ts.map +1 -1
- package/dist/declare.js +1 -21
- package/dist/declare.js.map +1 -1
- package/dist/delta/index.d.ts +2 -1
- package/dist/delta/index.d.ts.map +1 -1
- package/dist/delta/index.js +4 -0
- package/dist/delta/index.js.map +1 -1
- package/dist/errors.d.ts +4 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +15 -0
- package/dist/errors.js.map +1 -1
- package/dist/host.d.ts +214 -120
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +446 -241
- package/dist/host.js.map +1 -1
- package/dist/index.d.ts +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/link.d.ts +47 -12
- package/dist/link.d.ts.map +1 -1
- package/dist/link.js +200 -14
- package/dist/link.js.map +1 -1
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +7 -2
- package/dist/loader.js.map +1 -1
- package/dist/manager.d.ts.map +1 -1
- package/dist/manager.js +35 -9
- package/dist/manager.js.map +1 -1
- package/dist/object.d.ts +438 -0
- package/dist/object.d.ts.map +1 -0
- package/dist/{record.js → object.js} +614 -335
- package/dist/object.js.map +1 -0
- package/dist/output.d.ts +85 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +350 -0
- package/dist/output.js.map +1 -0
- package/dist/registry.d.ts +3 -3
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +1 -1
- package/dist/registry.js.map +1 -1
- package/dist/reload.d.ts +35 -27
- package/dist/reload.d.ts.map +1 -1
- package/dist/reload.js +256 -192
- package/dist/reload.js.map +1 -1
- package/dist/remote.d.ts +130 -35
- package/dist/remote.d.ts.map +1 -1
- package/dist/remote.js +493 -189
- package/dist/remote.js.map +1 -1
- package/dist/types.d.ts +39 -28
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/websocket.d.ts +4 -5
- package/dist/websocket.d.ts.map +1 -1
- package/dist/websocket.js +3 -2
- package/dist/websocket.js.map +1 -1
- package/dist/wire.d.ts +210 -129
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +108 -55
- package/dist/wire.js.map +1 -1
- package/docs/guide.md +267 -203
- package/docs/spec.md +141 -114
- package/docs/tutorial.md +257 -235
- package/package.json +6 -1
- package/dist/record.d.ts +0 -320
- package/dist/record.d.ts.map +0 -1
- package/dist/record.js.map +0 -1
package/dist/host.d.ts
CHANGED
|
@@ -1,160 +1,231 @@
|
|
|
1
|
-
import { type AcceptOptions, Connection, type LinkOptions, type
|
|
2
|
-
import { type AnyContract, type
|
|
1
|
+
import { type AcceptOptions, Connection, type LinkOptions, type RelayRef } from "./connection.ts";
|
|
2
|
+
import { type AnyContract, type InputOf, type LocalContract, type LocalDef, type Ref, type RemoteContract, type RemoteDef } from "./contract.ts";
|
|
3
3
|
import type { Link } from "./link.ts";
|
|
4
|
-
import { type Decls, type Factory, type
|
|
4
|
+
import { type Decls, type Factory, type HostCore, ObjectImpl, type RefCore, type RefOwner, type ServeOptionsFor, type Service } from "./object.ts";
|
|
5
5
|
import type { Registry, RegistryTable, RegistryView } from "./registry.ts";
|
|
6
6
|
import { type ReloadOptions, type ReloadReport } from "./reload.ts";
|
|
7
|
-
import {
|
|
8
|
-
import type { Ctx, GetOptions
|
|
7
|
+
import { RemoteBinding } from "./remote.ts";
|
|
8
|
+
import type { Ctx, GetOptions } from "./types.ts";
|
|
9
9
|
import type { Frame } from "./wire.ts";
|
|
10
|
-
/** The principal of in-host code. */
|
|
11
|
-
export declare const hostPrincipal: Principal;
|
|
12
10
|
/**
|
|
13
11
|
* Registers a factory for a type. Overloaded on the contract's definition (not the contract type) so TypeScript
|
|
14
|
-
* keeps literal `
|
|
12
|
+
* keeps literal `variant`s in factory returns. `P` is the app's principal type (see `createHost`).
|
|
15
13
|
*/
|
|
16
|
-
export interface Serve {
|
|
17
|
-
<D extends RemoteDef>(type: RemoteContract<D>, factory: Factory<RemoteContract<D
|
|
18
|
-
<D extends LocalDef>(type: LocalContract<D>, factory: Factory<LocalContract<D
|
|
14
|
+
export interface Serve<P = unknown> {
|
|
15
|
+
<D extends RemoteDef>(type: RemoteContract<D>, factory: Factory<RemoteContract<D>, P>, options?: ServeOptionsFor<RemoteContract<D>>): void;
|
|
16
|
+
<D extends LocalDef>(type: LocalContract<D>, factory: Factory<LocalContract<D>, P>, options?: ServeOptionsFor<LocalContract<D>>): void;
|
|
19
17
|
}
|
|
20
18
|
/**
|
|
21
19
|
* What a facet's `setup` gets. `serve` registers types; `root` and `registry` give the facet's code that is not a
|
|
22
20
|
* Chord method, listener or task (Durable tools and hooks, callbacks of native libraries) access to its own host,
|
|
23
21
|
* so plugins never need a process-global host. Both may be kept and used after `setup` returns.
|
|
24
22
|
*/
|
|
25
|
-
export interface FacetApi {
|
|
26
|
-
readonly serve: Serve
|
|
23
|
+
export interface FacetApi<P = unknown> {
|
|
24
|
+
readonly serve: Serve<P>;
|
|
27
25
|
/** The host's name (`server`, `session:S1`, ...). */
|
|
28
26
|
readonly name: string;
|
|
29
|
-
/** Starts a root on the facet's host (in its current
|
|
30
|
-
root<T>(fn: (ctx: Ctx) => T | Promise<T>, options?: RootOptions): Promise<T>;
|
|
31
|
-
/** The facet's host's registry view (`get(key, ctx)` reads the table of `ctx.
|
|
27
|
+
/** Starts a root on the facet's host (in its current code version at call time). */
|
|
28
|
+
root<T>(fn: (ctx: Ctx<P>) => T | Promise<T>, options?: RootOptions<P>): Promise<T>;
|
|
29
|
+
/** The facet's host's registry view (`get(key, ctx)` reads the table of `ctx.codeVersion`). */
|
|
32
30
|
registry<V>(registry: Registry<V>): RegistryView<V>;
|
|
31
|
+
/**
|
|
32
|
+
* Aborted when this run of the facet is no longer installed: a reload that replaced or removed it committed, the reload
|
|
33
|
+
* that loaded it aborted, or the host closed. While a reload prepares, the installed and the candidate run are both
|
|
34
|
+
* live.
|
|
35
|
+
*/
|
|
36
|
+
readonly signal: AbortSignal;
|
|
33
37
|
}
|
|
34
38
|
/** What a facet module exports (default export): the code that serves its types on one host kind. */
|
|
35
|
-
export interface FacetDefinition {
|
|
39
|
+
export interface FacetDefinition<P = unknown> {
|
|
36
40
|
/** Contract tokens this facet consumes; checked against providers at reload. */
|
|
37
41
|
readonly uses?: readonly AnyContract[];
|
|
38
|
-
setup(api: FacetApi): void;
|
|
42
|
+
setup(api: FacetApi<P>): void;
|
|
39
43
|
}
|
|
40
44
|
/** A named facet. Modules are named by their URL; reloading a facet replaces everything it served. */
|
|
41
|
-
export interface Facet extends FacetDefinition {
|
|
45
|
+
export interface Facet<P = unknown> extends FacetDefinition<P> {
|
|
42
46
|
readonly name: string;
|
|
43
47
|
}
|
|
44
|
-
|
|
48
|
+
/** `defineFacet<P>(…)`: an app passes its principal type, so factories and contexts see `P`. */
|
|
49
|
+
export declare const defineFacet: <P = unknown>(setup: (api: FacetApi<P>) => void, options?: {
|
|
45
50
|
readonly uses?: readonly AnyContract[];
|
|
46
|
-
}) => FacetDefinition
|
|
51
|
+
}) => FacetDefinition<P>;
|
|
47
52
|
/** Imports facet modules (fresh copies on every call) and names them by module URL. */
|
|
48
53
|
export type FacetLoader = (modules: readonly (string | URL)[]) => Promise<Facet[]>;
|
|
49
54
|
/** A facet object, or a module (path or URL) whose default export is a FacetDefinition. */
|
|
50
|
-
export type PluginRef = Facet | string | URL;
|
|
51
|
-
|
|
55
|
+
export type PluginRef<P = unknown> = Facet<P> | string | URL;
|
|
56
|
+
/**
|
|
57
|
+
* `P` is the app's principal type: who a caller is, JSON-serializable. Chord never makes one up: the app supplies the
|
|
58
|
+
* host's own (`self`), the one its parent's own requests act as (`connect`), the ones links act as (`accept`) and the
|
|
59
|
+
* ones routed hosts act as (`Route.principal`).
|
|
60
|
+
*/
|
|
61
|
+
export interface HostOptions<P = unknown> {
|
|
52
62
|
readonly name?: string;
|
|
53
|
-
/**
|
|
54
|
-
|
|
63
|
+
/**
|
|
64
|
+
* The principal of the host's own code: roots it starts, code inside its objects, and its `lifetime: "host"` objects.
|
|
65
|
+
* Compared by `principalKey`, so an equal principal from elsewhere reaches the same objects. Not used to infer `P`:
|
|
66
|
+
* pass the app's type as `createHost<P>(…)`.
|
|
67
|
+
*/
|
|
68
|
+
readonly self: NoInfer<P>;
|
|
69
|
+
/** Maps a principal to its object key (should include connection provenance and grant revision). */
|
|
70
|
+
readonly principalKey?: (principal: P) => string;
|
|
55
71
|
/** Validates every cell write and exposed state value against its schemas. */
|
|
56
72
|
readonly dev?: boolean;
|
|
57
73
|
/** Errors from background work (disposal, listeners, tasks). Defaults to console.error. */
|
|
58
74
|
readonly onError?: (error: unknown) => void;
|
|
75
|
+
/**
|
|
76
|
+
* Milliseconds a reload waits for an object's aborted tasks to finish before it starts their replacements anyway
|
|
77
|
+
* (reported). Default 5000.
|
|
78
|
+
*/
|
|
79
|
+
readonly taskStopDeadline?: number;
|
|
80
|
+
/**
|
|
81
|
+
* Milliseconds an activation (or a reload's prepare) waits for its references to be ready and hydrated, and an
|
|
82
|
+
* awaited `get` for its reference, before failing with `unavailable/ready_timeout`. Default 60000.
|
|
83
|
+
*/
|
|
84
|
+
readonly readyTimeout?: number;
|
|
85
|
+
/**
|
|
86
|
+
* Consumer-side linger of remote references: when the last reference to a remote object is released, its binding
|
|
87
|
+
* stays held, and hydrated, for `types[typeName]` milliseconds, so a reference taken again meanwhile costs nothing
|
|
88
|
+
* on the link. At most `cap` bindings (default 4) linger; beyond, the least recently released go first. Types not
|
|
89
|
+
* listed do not linger. (The provider's own `serve(…, { linger })` keeps its object after the last reference.)
|
|
90
|
+
*/
|
|
91
|
+
readonly linger?: {
|
|
92
|
+
readonly types?: Readonly<Record<string, number>>;
|
|
93
|
+
readonly cap?: number;
|
|
94
|
+
};
|
|
59
95
|
/** Needed for `load`/`reload` with modules; `nodeLoader` from loader.ts in Node. */
|
|
60
96
|
readonly loader?: FacetLoader;
|
|
61
|
-
/** `client` (browser): never a reload participant, never carries roots or
|
|
97
|
+
/** `client` (browser): never a reload participant, never carries roots or code versions. Default `host`. */
|
|
62
98
|
readonly kind?: "host" | "client";
|
|
63
99
|
/** The link to this host's parent (server). Can also be set later with `connect`. */
|
|
64
|
-
readonly upstream?:
|
|
65
|
-
|
|
100
|
+
readonly upstream?: {
|
|
101
|
+
readonly link: Link;
|
|
102
|
+
} & ConnectOptions<P>;
|
|
103
|
+
}
|
|
104
|
+
/** `connect` options: the link's, and the principal its parent's own requests act as. */
|
|
105
|
+
export interface ConnectOptions<P = unknown> extends LinkOptions {
|
|
106
|
+
/** What a request from the parent acts as when the parent does not forward its caller's principal (its own code). */
|
|
107
|
+
readonly principal: P;
|
|
66
108
|
}
|
|
67
109
|
/** Where requests for hosts named `prefix…` go (on the server). */
|
|
68
|
-
export interface Route {
|
|
110
|
+
export interface Route<P = unknown> {
|
|
69
111
|
/** Checked before resolving (or spawning) and again after: grants may change meanwhile. */
|
|
70
|
-
authorize(principal:
|
|
112
|
+
authorize(principal: P, hostName: string): boolean | Promise<boolean>;
|
|
71
113
|
/** A link to the host, spawned if needed. */
|
|
72
114
|
resolve(hostName: string): Promise<Link>;
|
|
73
|
-
/**
|
|
74
|
-
readonly principal
|
|
115
|
+
/** The principal the resolved host acts as when it calls back. */
|
|
116
|
+
readonly principal: (hostName: string) => P;
|
|
75
117
|
}
|
|
118
|
+
/** Fields a principal must have, equal (`deepEqual`), for an `invalidatePrincipal` pattern. */
|
|
119
|
+
export type PrincipalPattern<P> = P extends object ? {
|
|
120
|
+
readonly [K in keyof P]?: P[K];
|
|
121
|
+
} : Readonly<Record<string, unknown>>;
|
|
76
122
|
/** `invalidatePrincipal` matches: a predicate (this host only), or a pattern (fields that must be equal; propagates). */
|
|
77
|
-
export type PrincipalMatch = ((principal:
|
|
78
|
-
export interface RootOptions {
|
|
79
|
-
readonly principal?:
|
|
123
|
+
export type PrincipalMatch<P = unknown> = ((principal: P) => boolean) | PrincipalPattern<P>;
|
|
124
|
+
export interface RootOptions<P = unknown> {
|
|
125
|
+
readonly principal?: P;
|
|
80
126
|
readonly signal?: AbortSignal;
|
|
81
|
-
/** Start the root in a retained
|
|
82
|
-
readonly
|
|
127
|
+
/** Start the root in a retained code version (links carry code versions). Defaults to the current code version. */
|
|
128
|
+
readonly codeVersion?: number;
|
|
83
129
|
}
|
|
84
130
|
export interface LoadOptions {
|
|
85
|
-
/**
|
|
86
|
-
|
|
131
|
+
/**
|
|
132
|
+
* Await the activation of the `lifetime: "host"` objects the facets serve (default true). False starts them but
|
|
133
|
+
* leaves readiness to `host.ready()` (a child host whose objects need its parent, which admits it only later).
|
|
134
|
+
*/
|
|
135
|
+
readonly awaitHostObjects?: boolean;
|
|
87
136
|
}
|
|
88
|
-
export interface Host {
|
|
137
|
+
export interface Host<P = unknown> {
|
|
89
138
|
readonly name: string;
|
|
90
|
-
readonly
|
|
91
|
-
readonly
|
|
92
|
-
readonly serve: Serve
|
|
93
|
-
/** Installs synchronously, then awaits this facet's
|
|
94
|
-
install(facet: Facet
|
|
95
|
-
/** Installs all facets before awaiting their
|
|
96
|
-
load(plugins: readonly PluginRef[], options?: LoadOptions): Promise<void>;
|
|
97
|
-
/** Awaits the
|
|
139
|
+
readonly codeVersion: number;
|
|
140
|
+
readonly previousCodeVersion: number | undefined;
|
|
141
|
+
readonly serve: Serve<P>;
|
|
142
|
+
/** Installs synchronously, then awaits this facet's host objects unless `awaitHostObjects` is false. */
|
|
143
|
+
install(facet: Facet<P>, options?: LoadOptions): Promise<void>;
|
|
144
|
+
/** Installs all facets before awaiting their host objects; referenced objects are created when first referenced. */
|
|
145
|
+
load(plugins: readonly PluginRef<P>[], options?: LoadOptions): Promise<void>;
|
|
146
|
+
/** Awaits the host objects present at call time, including those started by `serve` or deferred loads. */
|
|
98
147
|
ready(): Promise<void>;
|
|
99
|
-
|
|
100
|
-
|
|
148
|
+
/**
|
|
149
|
+
* A reference held until `release()`. Resolves once it is ready: live, with every state member of its variant
|
|
150
|
+
* (unless `state: false`). Rejects with the activation error, `aborted` (`signal`), or `unavailable/ready_timeout`
|
|
151
|
+
* after `readyTimeout`; the reference is released then.
|
|
152
|
+
*/
|
|
153
|
+
get<C extends AnyContract>(type: C, input: InputOf<C>, options?: GetOptions<P> & {
|
|
154
|
+
readonly signal?: AbortSignal;
|
|
155
|
+
}): Promise<Ref<C>>;
|
|
156
|
+
/**
|
|
157
|
+
* The same reference, synchronously, possibly still `loading`: for UI runtimes that render its status (hooks, a
|
|
158
|
+
* TUI watch). Its state members throw `not_ready` until it is live.
|
|
159
|
+
*/
|
|
160
|
+
hold<C extends AnyContract>(type: C, input: InputOf<C>, options?: GetOptions<P>): Ref<C>;
|
|
161
|
+
root<T>(fn: (ctx: Ctx<P>) => T | Promise<T>, options?: RootOptions<P>): Promise<T>;
|
|
101
162
|
registry<V>(registry: Registry<V>): RegistryView<V>;
|
|
102
163
|
/**
|
|
103
|
-
* Force-disposes every
|
|
104
|
-
* links, and propagates pattern matches to child hosts.
|
|
164
|
+
* Force-disposes every object whose principal matches (never the host's own principal), re-stamps or closes
|
|
165
|
+
* matching links, and propagates pattern matches to child hosts.
|
|
105
166
|
*/
|
|
106
|
-
invalidatePrincipal(match: PrincipalMatch): Promise<void>;
|
|
167
|
+
invalidatePrincipal(match: PrincipalMatch<P>): Promise<void>;
|
|
107
168
|
/** Accepts a child link (a worker or a browser); requests on it act as `options.principal`. */
|
|
108
|
-
accept(link: Link, options: AcceptOptions): void;
|
|
109
|
-
/**
|
|
110
|
-
|
|
111
|
-
|
|
169
|
+
accept(link: Link, options: AcceptOptions<P>): void;
|
|
170
|
+
/**
|
|
171
|
+
* Sets (or replaces, after a reconnect) the link to this host's parent; remote references re-hold over it. The
|
|
172
|
+
* parent's own requests act as `options.principal`; requests it relays act as the principal it forwards.
|
|
173
|
+
*/
|
|
174
|
+
connect(link: Link, options: ConnectOptions<P>): void;
|
|
175
|
+
route(prefix: string, route: Route<P>): void;
|
|
112
176
|
/** Reloads the given facets (modules are re-imported); facets not listed keep running unchanged. */
|
|
113
|
-
reload(plugins: readonly PluginRef[], options?: ReloadOptions): Promise<ReloadReport>;
|
|
177
|
+
reload(plugins: readonly PluginRef<P>[], options?: ReloadOptions): Promise<ReloadReport>;
|
|
114
178
|
close(): Promise<void>;
|
|
115
179
|
}
|
|
116
|
-
export interface
|
|
180
|
+
export interface CodeVersionState {
|
|
117
181
|
readonly id: number;
|
|
118
182
|
readonly services: Map<string, Service>;
|
|
119
183
|
tables: ReadonlyMap<string, RegistryTable<unknown>>;
|
|
120
184
|
/** Running roots with the number of their calls running here. */
|
|
121
185
|
readonly roots: Map<string, number>;
|
|
186
|
+
/** Aborts every root of this code version (forced retirement). */
|
|
187
|
+
readonly abort: AbortController;
|
|
122
188
|
}
|
|
123
|
-
|
|
189
|
+
/** A host whose principals are `P` (the app's type; `unknown` if not given). */
|
|
190
|
+
export declare function createHost<P = unknown>(options: HostOptions<P>): Host<P>;
|
|
124
191
|
export declare class HostImpl implements Host, HostCore {
|
|
125
192
|
#private;
|
|
126
193
|
readonly name: string;
|
|
127
194
|
readonly dev: boolean;
|
|
128
|
-
readonly principal:
|
|
195
|
+
readonly principal: unknown;
|
|
129
196
|
inFactory: number;
|
|
130
197
|
failed: unknown;
|
|
131
|
-
readonly
|
|
132
|
-
readonly
|
|
133
|
-
readonly facets: Map<string, Facet
|
|
134
|
-
|
|
198
|
+
readonly objects: Map<string, ObjectImpl>;
|
|
199
|
+
readonly codeVersions: Map<number, CodeVersionState>;
|
|
200
|
+
readonly facets: Map<string, Facet<unknown>>;
|
|
201
|
+
/** The host's own references to its `lifetime: "host"` objects, by type name. */
|
|
202
|
+
readonly hostObjects: Map<string, RefCore>;
|
|
135
203
|
readonly kind: "host" | "client";
|
|
136
204
|
readonly connections: Set<Connection>;
|
|
137
205
|
upstream: Connection | undefined;
|
|
138
|
-
/**
|
|
139
|
-
readonly
|
|
206
|
+
/** Shared bindings of this host's remote references, by key (re-held after an upstream reconnect). */
|
|
207
|
+
readonly bindings: Map<string, RemoteBinding>;
|
|
140
208
|
/** Child facet modules by host-name prefix, from every committed cluster reload (for reconciling children). */
|
|
141
209
|
remoteModules: Record<string, string[]>;
|
|
142
210
|
/** Removal tombstones also reconcile children that connected during a transaction. */
|
|
143
211
|
remoteRemoved: Record<string, string[]>;
|
|
144
|
-
current:
|
|
145
|
-
previous:
|
|
146
|
-
/** The
|
|
147
|
-
pending:
|
|
212
|
+
current: CodeVersionState;
|
|
213
|
+
previous: CodeVersionState | undefined;
|
|
214
|
+
/** The code version a running reload will commit; new types activated during prepare install their implementation for it. */
|
|
215
|
+
pending: CodeVersionState | undefined;
|
|
148
216
|
/** Activations of these types wait (reload gate). */
|
|
149
|
-
/** Types behind a reload gate: new
|
|
217
|
+
/** Types behind a reload gate: new objects of these types are rejected `upgrade_conflict` until commit/abort. */
|
|
150
218
|
gating: ReadonlySet<string> | undefined;
|
|
151
219
|
reloading: boolean;
|
|
152
|
-
|
|
220
|
+
readonly taskStopDeadline: number;
|
|
221
|
+
readonly readyTimeout: number;
|
|
153
222
|
constructor(options: HostOptions);
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
223
|
+
/** Whether `principal` is the host's own: the same key as `self`. */
|
|
224
|
+
isSelf(principal: unknown): boolean;
|
|
225
|
+
get codeVersion(): number;
|
|
226
|
+
get previousCodeVersion(): number | undefined;
|
|
227
|
+
/** Allocates the next code version id, or adopts one issued by the coordinating server. */
|
|
228
|
+
nextCodeVersionId(given?: number): number;
|
|
158
229
|
report(error: unknown): void;
|
|
159
230
|
readonly serve: Serve;
|
|
160
231
|
install(facet: Facet, options?: LoadOptions): Promise<void>;
|
|
@@ -162,28 +233,31 @@ export declare class HostImpl implements Host, HostCore {
|
|
|
162
233
|
ready(): Promise<void>;
|
|
163
234
|
/** Turns plugin references into facets, importing modules through the loader. */
|
|
164
235
|
resolve(plugins: readonly PluginRef[]): Promise<Facet[]>;
|
|
165
|
-
facetApi(serve: Serve): FacetApi;
|
|
236
|
+
facetApi(serve: Serve, signal: AbortSignal): FacetApi;
|
|
237
|
+
/** The installed run of facet `name` is now `run` (or none): the run it replaces is aborted. */
|
|
238
|
+
facetRunChanged(name: string, run: AbortController | undefined): void;
|
|
166
239
|
serveInto(services: Map<string, Service>, service: Service): void;
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
/** The current code for a type; a type a running reload adds is served from the pending
|
|
240
|
+
startHostObject(service: Service): RefCore;
|
|
241
|
+
currentCodeVersion(): number;
|
|
242
|
+
hasCodeVersion(codeVersion: number): boolean;
|
|
243
|
+
retainedCodeVersions(): Iterable<readonly [number, ReadonlyMap<string, Service>]>;
|
|
244
|
+
pendingCodeVersion(): number | undefined;
|
|
245
|
+
/** The current code for a type; a type a running reload adds is served from the pending code version. */
|
|
173
246
|
service(typeName: string): Service | undefined;
|
|
174
|
-
addressOf(type: AnyContract, input: unknown, principal:
|
|
175
|
-
acquire(type: AnyContract, input: unknown, options: GetOptions | undefined, owner:
|
|
176
|
-
forget(
|
|
177
|
-
|
|
247
|
+
addressOf(type: AnyContract, input: unknown, principal: unknown, candidate?: boolean): string;
|
|
248
|
+
acquire(type: AnyContract, input: unknown, options: GetOptions | undefined, owner: RefOwner, from?: ObjectImpl, candidate?: boolean): RefCore;
|
|
249
|
+
forget(object: ObjectImpl): void;
|
|
250
|
+
disposed(object: ObjectImpl): void;
|
|
251
|
+
touch(rootId: string, object: ObjectImpl): void;
|
|
178
252
|
root<T>(fn: (ctx: Ctx) => T | Promise<T>, options?: RootOptions): Promise<T>;
|
|
179
253
|
/**
|
|
180
|
-
* Runs `fn` inside root `rootId` of `
|
|
181
|
-
* runs here. A root that started here ends when its last call here settles, even if it went out and came back
|
|
182
|
-
* over a link meanwhile. A foreign root (started elsewhere, arriving `from` a link) keeps its leases on
|
|
254
|
+
* Runs `fn` inside root `rootId` of `codeVersion`. A root counts as running here (for retirement) while any of its
|
|
255
|
+
* calls runs here. A root that started here ends when its last call here settles, even if it went out and came back
|
|
256
|
+
* over a link meanwhile. A foreign root (started elsewhere, arriving `from` a link) keeps its leases on objects
|
|
183
257
|
* until every link it came over announced its end (`root_end`) or closed, so its re-entry stays grandfathered.
|
|
184
258
|
*/
|
|
185
|
-
joinRoot<T>(rootId: string,
|
|
186
|
-
readonly principal?:
|
|
259
|
+
joinRoot<T>(rootId: string, codeVersionId: number, fn: (ctx: Ctx) => T | Promise<T>, options?: {
|
|
260
|
+
readonly principal?: unknown;
|
|
187
261
|
readonly signal?: AbortSignal;
|
|
188
262
|
readonly from?: Connection;
|
|
189
263
|
}): Promise<T>;
|
|
@@ -197,57 +271,77 @@ export declare class HostImpl implements Host, HostCore {
|
|
|
197
271
|
*/
|
|
198
272
|
foreignRootEnded(rootId: string, from: Connection): void;
|
|
199
273
|
/**
|
|
200
|
-
* Retires the previous
|
|
201
|
-
* roots span hosts, and an old root on the server may still call in.
|
|
274
|
+
* Retires the previous code version once no local roots of it remain. A child also waits for its parent to retire
|
|
275
|
+
* it: roots span hosts, and an old root on the server may still call in.
|
|
202
276
|
*/
|
|
203
277
|
maybeRetire(): void;
|
|
204
|
-
|
|
205
|
-
|
|
278
|
+
/** The previous code version has no roots left here and, on a child host, the parent has retired it. */
|
|
279
|
+
retirable(): boolean;
|
|
280
|
+
allowRetire(codeVersion: number): void;
|
|
281
|
+
/** Calls `watcher` whenever a root ends, the parent allows a retirement, or a code version retires. */
|
|
282
|
+
watchRetirement(watcher: () => void): () => void;
|
|
283
|
+
/**
|
|
284
|
+
* Tells a child that is now in step which code versions this host retired before: every id below the oldest one it
|
|
285
|
+
* retains (ids only grow). Without it, a child reconciled after those retirements would never hear a `retire` frame for
|
|
286
|
+
* its own previous code version and would wait for the retire deadline at every reload.
|
|
287
|
+
*/
|
|
288
|
+
announceRetired(connection: Connection): void;
|
|
289
|
+
/** Drops the previous code version: its implementations and the declarations only it used. */
|
|
206
290
|
retire(): void;
|
|
207
291
|
/**
|
|
208
|
-
* Drops
|
|
209
|
-
* (reverse open order) before its
|
|
292
|
+
* Drops an object's implementation for `codeVersion` and what only that implementation declared, in disposal order:
|
|
293
|
+
* resources close (reverse open order) before its references are released.
|
|
210
294
|
*/
|
|
211
|
-
|
|
295
|
+
retireImplementation(object: ObjectImpl, codeVersion: number): void;
|
|
212
296
|
registry<V>(registry: Registry<V>): RegistryView<V>;
|
|
213
|
-
/** Builds registry tables from (
|
|
214
|
-
buildTables(entries: Iterable<readonly [
|
|
215
|
-
/** Live
|
|
216
|
-
liveDecls(candidates?: boolean): [
|
|
217
|
-
checkRegistrations(
|
|
218
|
-
registriesChanged(including?:
|
|
297
|
+
/** Builds registry tables from (object, declarations) pairs. Throws registry_conflict. */
|
|
298
|
+
buildTables(entries: Iterable<readonly [ObjectImpl, Decls]>): Map<string, RegistryTable<unknown>>;
|
|
299
|
+
/** Live objects with their current declarations; objects waiting for a reload's commit only with `candidates`. */
|
|
300
|
+
liveDecls(candidates?: boolean): [ObjectImpl, Decls][];
|
|
301
|
+
checkRegistrations(object: ObjectImpl, decls: Decls): void;
|
|
302
|
+
registriesChanged(including?: ObjectImpl): void;
|
|
219
303
|
/** A commit failed midway: from now on this host admits no work (calls fail `unavailable/host_failed`). */
|
|
220
304
|
fail(error: unknown): void;
|
|
221
|
-
/** Installs tables for `
|
|
222
|
-
installTables(
|
|
223
|
-
get<C extends AnyContract>(type: C, input: InputOf<C>, options?: GetOptions
|
|
305
|
+
/** Installs tables for `codeVersion`; subscribers hear about changed tables of the current code version (all tables when `all`). */
|
|
306
|
+
installTables(codeVersion: CodeVersionState, tables: Map<string, RegistryTable<unknown>>, all?: boolean): void;
|
|
307
|
+
get<C extends AnyContract>(type: C, input: InputOf<C>, options?: GetOptions & {
|
|
308
|
+
readonly signal?: AbortSignal;
|
|
309
|
+
}): Promise<Ref<C>>;
|
|
310
|
+
hold<C extends AnyContract>(type: C, input: InputOf<C>, options?: GetOptions): Ref<C>;
|
|
224
311
|
invalidatePrincipal(match: PrincipalMatch): Promise<void>;
|
|
225
312
|
accept(link: Link, options: AcceptOptions): void;
|
|
226
|
-
connect(link: Link, options
|
|
313
|
+
connect(link: Link, options: ConnectOptions): void;
|
|
227
314
|
route(prefix: string, route: Route): void;
|
|
228
315
|
/**
|
|
229
|
-
* A child host announced its
|
|
230
|
-
* reload of its modules to this host's
|
|
316
|
+
* A child host announced its code version. In step: usable. Behind: fenced (nothing is routed to it) and reconciled
|
|
317
|
+
* by a reload of its modules to this host's code version, never by renumbering what it runs. Ahead: impossible,
|
|
318
|
+
* refused.
|
|
231
319
|
*/
|
|
232
|
-
peerHello(connection: Connection,
|
|
320
|
+
peerHello(connection: Connection, codeVersion: number): void;
|
|
321
|
+
/** The host's reload slot was freed: children that said hello meanwhile are synced or reconciled now. */
|
|
322
|
+
reloadEnded(): void;
|
|
323
|
+
/** Resolves once no reload runs on this host. */
|
|
324
|
+
whenReloadEnded(): Promise<void>;
|
|
233
325
|
connectionClosed(connection: Connection): void;
|
|
234
|
-
|
|
326
|
+
/** The last reference to `binding` was released: it lingers if its type does (`HostOptions.linger`), else closes. */
|
|
327
|
+
bindingIdle(binding: RemoteBinding): void;
|
|
328
|
+
forgetBinding(binding: RemoteBinding): void;
|
|
235
329
|
/**
|
|
236
|
-
* Relays a
|
|
330
|
+
* Relays a reference from `relay.origin` to the host it names. Relaying needs a route: it is where authorization
|
|
237
331
|
* lives. The origin's authorization generation is re-checked after every await and right before forwarding, so a
|
|
238
332
|
* revocation during resolution wins.
|
|
239
333
|
*/
|
|
240
|
-
relay(relay:
|
|
334
|
+
relay(relay: RelayRef): Promise<void>;
|
|
241
335
|
reload(plugins: readonly PluginRef[], options?: ReloadOptions): Promise<ReloadReport>;
|
|
242
336
|
onReloadFrame(connection: Connection, frame: Extract<Frame, {
|
|
243
337
|
t: "prepare" | "commit" | "abort";
|
|
244
338
|
}>): void;
|
|
245
339
|
rememberRemoteModules(remote: Readonly<Record<string, readonly string[]>> | undefined, remove: Readonly<Record<string, readonly string[]>> | undefined): void;
|
|
246
|
-
/** The
|
|
247
|
-
|
|
340
|
+
/** The code version id the next reload would commit. */
|
|
341
|
+
peekNextCodeVersion(): number;
|
|
248
342
|
/**
|
|
249
|
-
* Disposes every
|
|
250
|
-
*
|
|
343
|
+
* Disposes every object, holders before what they reference (a resource's `close` may still use the objects its object
|
|
344
|
+
* references, local or remote), then closes the links.
|
|
251
345
|
*/
|
|
252
346
|
close(): Promise<void>;
|
|
253
347
|
}
|
package/dist/host.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
|