@super-line/core 0.4.0 → 0.5.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/dist/index.d.cts +160 -3
- package/dist/index.d.ts +160 -3
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -418,6 +418,37 @@ type InspectorEvent = {
|
|
|
418
418
|
ok: boolean;
|
|
419
419
|
output?: unknown;
|
|
420
420
|
error?: MessageError;
|
|
421
|
+
} | {
|
|
422
|
+
type: 'store.write';
|
|
423
|
+
store: string;
|
|
424
|
+
id: string;
|
|
425
|
+
origin: string;
|
|
426
|
+
connId?: string;
|
|
427
|
+
data: unknown;
|
|
428
|
+
} | {
|
|
429
|
+
type: 'store.grant';
|
|
430
|
+
store: string;
|
|
431
|
+
id: string;
|
|
432
|
+
principal: string;
|
|
433
|
+
perms: {
|
|
434
|
+
read: boolean;
|
|
435
|
+
write: boolean;
|
|
436
|
+
};
|
|
437
|
+
} | {
|
|
438
|
+
type: 'store.revoke';
|
|
439
|
+
store: string;
|
|
440
|
+
id: string;
|
|
441
|
+
principal: string;
|
|
442
|
+
} | {
|
|
443
|
+
type: 'store.subscribe';
|
|
444
|
+
connId: string;
|
|
445
|
+
store: string;
|
|
446
|
+
id: string;
|
|
447
|
+
} | {
|
|
448
|
+
type: 'store.unsubscribe';
|
|
449
|
+
connId: string;
|
|
450
|
+
store: string;
|
|
451
|
+
id: string;
|
|
421
452
|
};
|
|
422
453
|
/**
|
|
423
454
|
* The fixed, library-owned contract describing the inspector surface. Identical for every
|
|
@@ -509,7 +540,32 @@ interface PingFrame {
|
|
|
509
540
|
interface PongFrame {
|
|
510
541
|
t: 'pong';
|
|
511
542
|
}
|
|
512
|
-
|
|
543
|
+
interface SOpenFrame {
|
|
544
|
+
t: 'sopen';
|
|
545
|
+
i: number;
|
|
546
|
+
n: string;
|
|
547
|
+
id: string;
|
|
548
|
+
}
|
|
549
|
+
interface SCloseFrame {
|
|
550
|
+
t: 'sclose';
|
|
551
|
+
n: string;
|
|
552
|
+
id: string;
|
|
553
|
+
}
|
|
554
|
+
interface SWriteFrame {
|
|
555
|
+
t: 'swr';
|
|
556
|
+
i: number;
|
|
557
|
+
n: string;
|
|
558
|
+
id: string;
|
|
559
|
+
u: unknown;
|
|
560
|
+
o: string;
|
|
561
|
+
}
|
|
562
|
+
interface SReadFrame {
|
|
563
|
+
t: 'srd';
|
|
564
|
+
i: number;
|
|
565
|
+
n: string;
|
|
566
|
+
id: string;
|
|
567
|
+
}
|
|
568
|
+
type ClientFrame = ReqFrame | SubFrame | UnsubFrame | SResFrame | SErrFrame | SOpenFrame | SCloseFrame | SWriteFrame | SReadFrame | PingFrame | PongFrame;
|
|
513
569
|
interface ResFrame {
|
|
514
570
|
t: 'res';
|
|
515
571
|
i: number;
|
|
@@ -539,9 +595,110 @@ interface SReqFrame {
|
|
|
539
595
|
m: string;
|
|
540
596
|
d: unknown;
|
|
541
597
|
}
|
|
542
|
-
|
|
598
|
+
interface SChangeFrame {
|
|
599
|
+
t: 'sch';
|
|
600
|
+
n: string;
|
|
601
|
+
id: string;
|
|
602
|
+
u: unknown;
|
|
603
|
+
o: string;
|
|
604
|
+
nd?: string;
|
|
605
|
+
}
|
|
606
|
+
type ServerFrame = ResFrame | ErrFrame | EvtFrame | PubFrame | SReqFrame | SChangeFrame | PingFrame | PongFrame;
|
|
543
607
|
type Frame = ClientFrame | ServerFrame;
|
|
544
608
|
|
|
609
|
+
/**
|
|
610
|
+
* Store — super-line's pluggable persisted-state seam.
|
|
611
|
+
*
|
|
612
|
+
* A Store persists Resources (`{ id, accessRules, data }`) and defines a single consistency model
|
|
613
|
+
* (how a write mutates `data`). It ships as a pair, like a transport: a {@link ServerStore}
|
|
614
|
+
* (persistence + change-notify) and a {@link ClientStore} (a reactive local replica). super-line core
|
|
615
|
+
* relays opaque {@link StoreChange}s between the halves and enforces access — it never parses `update`.
|
|
616
|
+
* "One plumbing, two consistency models": a last-writer-wins memory store and a merging CRDT store are
|
|
617
|
+
* siblings behind this interface.
|
|
618
|
+
*/
|
|
619
|
+
type Awaitable<T> = T | Promise<T>;
|
|
620
|
+
/** The ACL identity a Resource's access is keyed by (`identify(conn) ?? conn.id`). */
|
|
621
|
+
type Principal = string;
|
|
622
|
+
/** Per-principal capabilities on a Resource. */
|
|
623
|
+
interface Perms {
|
|
624
|
+
read: boolean;
|
|
625
|
+
write: boolean;
|
|
626
|
+
}
|
|
627
|
+
/** A Resource's access map: which {@link Principal} may read/write. Server-authoritative, deny-by-default. */
|
|
628
|
+
type AccessRules = Record<Principal, Perms>;
|
|
629
|
+
/** The unit a Store persists. `data` is opaque to core (a CRDT doc for a merging store, plain JSON for LWW). */
|
|
630
|
+
interface Resource<T = unknown> {
|
|
631
|
+
id: string;
|
|
632
|
+
accessRules: AccessRules;
|
|
633
|
+
data: T;
|
|
634
|
+
}
|
|
635
|
+
/**
|
|
636
|
+
* What a Store emits when a Resource mutates — and the symmetric shape a write carries IN.
|
|
637
|
+
* `update` is a store-DEFINED opaque payload (a CRDT delta, or a full JSON value for last-writer-wins);
|
|
638
|
+
* core relays it without parsing (base64 it if it's bytes under the JSON serializer). `origin` is the
|
|
639
|
+
* per-writer id used for echo-break — never the {@link Principal}, never the CRDT actor id.
|
|
640
|
+
*/
|
|
641
|
+
interface StoreChange {
|
|
642
|
+
id: string;
|
|
643
|
+
update: unknown;
|
|
644
|
+
origin: string;
|
|
645
|
+
}
|
|
646
|
+
/**
|
|
647
|
+
* The server half of a Store pair: persistence + the consistency model + change-notification.
|
|
648
|
+
* It does NOT enforce access (core does) and does NOT touch the wire. `apply` interprets a
|
|
649
|
+
* {@link StoreChange} per its consistency model (LWW replace vs CRDT merge); every applied mutation —
|
|
650
|
+
* client write, server co-write, or relayed remote change — must surface through {@link ServerStore.onChange},
|
|
651
|
+
* which is core's single fan-out source.
|
|
652
|
+
*/
|
|
653
|
+
interface ServerStore {
|
|
654
|
+
/**
|
|
655
|
+
* How cross-node sync happens: `relay` (core relays Changes over the adapter; each node a replica)
|
|
656
|
+
* or `self` (the store owns a shared backend and core fans only to local subscribers).
|
|
657
|
+
*/
|
|
658
|
+
readonly clustering: 'relay' | 'self';
|
|
659
|
+
/** Current snapshot of a Resource (for catch-up on subscribe), or undefined if absent. */
|
|
660
|
+
read(id: string): Awaitable<Resource | undefined>;
|
|
661
|
+
/** Create a Resource with initial data + access rules (server-authoritative). */
|
|
662
|
+
create(id: string, data: unknown, accessRules: AccessRules): Awaitable<void>;
|
|
663
|
+
/** Apply an inbound Change — replace (LWW) or merge (CRDT), the store's choice. */
|
|
664
|
+
apply(change: StoreChange): Awaitable<void>;
|
|
665
|
+
/** Replace a Resource's access rules. */
|
|
666
|
+
setAccess(id: string, accessRules: AccessRules): Awaitable<void>;
|
|
667
|
+
/** Remove a Resource. */
|
|
668
|
+
delete(id: string): Awaitable<void>;
|
|
669
|
+
/** All Resource ids in this store (core ACL-filters before returning ids to a client). */
|
|
670
|
+
list(): Awaitable<string[]>;
|
|
671
|
+
/** Subscribe to every applied mutation — the single fan-out source. Returns an unsubscribe fn. */
|
|
672
|
+
onChange(cb: (change: StoreChange) => void): () => void;
|
|
673
|
+
/** Release any resources held by the store. */
|
|
674
|
+
close?(): Awaitable<void>;
|
|
675
|
+
}
|
|
676
|
+
/**
|
|
677
|
+
* The client half of a Store pair: a reactive local replica per opened Resource. A last-writer-wins
|
|
678
|
+
* client wraps a plain value; a CRDT client wraps super-store's `StoreValue` and merges deltas.
|
|
679
|
+
*/
|
|
680
|
+
interface ClientStore {
|
|
681
|
+
/** This client's per-writer id, stamped as {@link StoreChange.origin} for echo-break. */
|
|
682
|
+
readonly origin: string;
|
|
683
|
+
/** Open a reactive replica for one Resource. */
|
|
684
|
+
open(id: string): ResourceReplica;
|
|
685
|
+
/** Release any resources held by the store. */
|
|
686
|
+
close?(): void;
|
|
687
|
+
}
|
|
688
|
+
/**
|
|
689
|
+
* A reactive handle over one opened Resource (mirrors super-store's `StoreValue` surface).
|
|
690
|
+
* `set`/`update` return the {@link StoreChange} to send up (null on a no-op); `applyRemote` merges an
|
|
691
|
+
* inbound Change (own-origin merges are idempotent / no-ops); `seed` hydrates the catch-up snapshot.
|
|
692
|
+
*/
|
|
693
|
+
interface ResourceReplica {
|
|
694
|
+
getSnapshot(): unknown;
|
|
695
|
+
subscribe(cb: () => void): () => void;
|
|
696
|
+
set(data: unknown): StoreChange | null;
|
|
697
|
+
update(partial: unknown): StoreChange | null;
|
|
698
|
+
applyRemote(change: StoreChange): void;
|
|
699
|
+
seed(snapshot: unknown): void;
|
|
700
|
+
}
|
|
701
|
+
|
|
545
702
|
/**
|
|
546
703
|
* The client↔server transport seam. A transport moves opaque encoded bytes over a
|
|
547
704
|
* LOGICAL connection and hides all physical churn (reconnects, SSE's dual channel,
|
|
@@ -620,4 +777,4 @@ interface ClientTransport {
|
|
|
620
777
|
}): RawConn;
|
|
621
778
|
}
|
|
622
779
|
|
|
623
|
-
export { type Adapter, type AnyData, type AuthOutcome, type ClientFrame, type ClientInput, type ClientTransport, type ConnDescriptor, type ConnView, type Contract, type DataOf, type Directional, type EmitData, type ErrFrame, type ErrorCode, type EventData, type Events, type EvtFrame, type Frame, type Handshake, INSPECTOR_ROLE, INSPECTOR_SUBPROTOCOL, type InferIn, type InferOut, type InspectedContract, type InspectedDirectional, type InspectedMessage, InspectorContract, type InspectorEvent, type MessageFlavor, type NodeStat, type NodeView, type Output, PROTOCOL, type PingFrame, type PongFrame, type PresenceStore, type PubFrame, type RawConn, type ReqFrame, type RequestDef, type Requests, type ResFrame, type RoleBlock, type RoleOf, type RoleRequests, type RoleTopics, type SErrFrame, type SReqFrame, type SResFrame, type Schema, type SchemaConverter, type Serializer, type ServerEntry, type ServerFrame, type ServerInput, type ServerMessageDef, type ServerMessages, type ServerRequestDef, type ServerRequests, type ServerTransport, type SharedEvents, type SharedRequests, type SharedServerRequests, type SharedTopics, type SubFrame, SuperLineError, type SuperLineErrorCode, type Topics, type UnsubFrame, classifyContract, defineContract, jsonSerializer, validate, validateSync };
|
|
780
|
+
export { type AccessRules, type Adapter, type AnyData, type AuthOutcome, type ClientFrame, type ClientInput, type ClientStore, type ClientTransport, type ConnDescriptor, type ConnView, type Contract, type DataOf, type Directional, type EmitData, type ErrFrame, type ErrorCode, type EventData, type Events, type EvtFrame, type Frame, type Handshake, INSPECTOR_ROLE, INSPECTOR_SUBPROTOCOL, type InferIn, type InferOut, type InspectedContract, type InspectedDirectional, type InspectedMessage, InspectorContract, type InspectorEvent, type MessageFlavor, type NodeStat, type NodeView, type Output, PROTOCOL, type Perms, type PingFrame, type PongFrame, type PresenceStore, type Principal, type PubFrame, type RawConn, type ReqFrame, type RequestDef, type Requests, type ResFrame, type Resource, type ResourceReplica, type RoleBlock, type RoleOf, type RoleRequests, type RoleTopics, type SChangeFrame, type SCloseFrame, type SErrFrame, type SOpenFrame, type SReadFrame, type SReqFrame, type SResFrame, type SWriteFrame, type Schema, type SchemaConverter, type Serializer, type ServerEntry, type ServerFrame, type ServerInput, type ServerMessageDef, type ServerMessages, type ServerRequestDef, type ServerRequests, type ServerStore, type ServerTransport, type SharedEvents, type SharedRequests, type SharedServerRequests, type SharedTopics, type StoreChange, type SubFrame, SuperLineError, type SuperLineErrorCode, type Topics, type UnsubFrame, classifyContract, defineContract, jsonSerializer, validate, validateSync };
|
package/dist/index.d.ts
CHANGED
|
@@ -418,6 +418,37 @@ type InspectorEvent = {
|
|
|
418
418
|
ok: boolean;
|
|
419
419
|
output?: unknown;
|
|
420
420
|
error?: MessageError;
|
|
421
|
+
} | {
|
|
422
|
+
type: 'store.write';
|
|
423
|
+
store: string;
|
|
424
|
+
id: string;
|
|
425
|
+
origin: string;
|
|
426
|
+
connId?: string;
|
|
427
|
+
data: unknown;
|
|
428
|
+
} | {
|
|
429
|
+
type: 'store.grant';
|
|
430
|
+
store: string;
|
|
431
|
+
id: string;
|
|
432
|
+
principal: string;
|
|
433
|
+
perms: {
|
|
434
|
+
read: boolean;
|
|
435
|
+
write: boolean;
|
|
436
|
+
};
|
|
437
|
+
} | {
|
|
438
|
+
type: 'store.revoke';
|
|
439
|
+
store: string;
|
|
440
|
+
id: string;
|
|
441
|
+
principal: string;
|
|
442
|
+
} | {
|
|
443
|
+
type: 'store.subscribe';
|
|
444
|
+
connId: string;
|
|
445
|
+
store: string;
|
|
446
|
+
id: string;
|
|
447
|
+
} | {
|
|
448
|
+
type: 'store.unsubscribe';
|
|
449
|
+
connId: string;
|
|
450
|
+
store: string;
|
|
451
|
+
id: string;
|
|
421
452
|
};
|
|
422
453
|
/**
|
|
423
454
|
* The fixed, library-owned contract describing the inspector surface. Identical for every
|
|
@@ -509,7 +540,32 @@ interface PingFrame {
|
|
|
509
540
|
interface PongFrame {
|
|
510
541
|
t: 'pong';
|
|
511
542
|
}
|
|
512
|
-
|
|
543
|
+
interface SOpenFrame {
|
|
544
|
+
t: 'sopen';
|
|
545
|
+
i: number;
|
|
546
|
+
n: string;
|
|
547
|
+
id: string;
|
|
548
|
+
}
|
|
549
|
+
interface SCloseFrame {
|
|
550
|
+
t: 'sclose';
|
|
551
|
+
n: string;
|
|
552
|
+
id: string;
|
|
553
|
+
}
|
|
554
|
+
interface SWriteFrame {
|
|
555
|
+
t: 'swr';
|
|
556
|
+
i: number;
|
|
557
|
+
n: string;
|
|
558
|
+
id: string;
|
|
559
|
+
u: unknown;
|
|
560
|
+
o: string;
|
|
561
|
+
}
|
|
562
|
+
interface SReadFrame {
|
|
563
|
+
t: 'srd';
|
|
564
|
+
i: number;
|
|
565
|
+
n: string;
|
|
566
|
+
id: string;
|
|
567
|
+
}
|
|
568
|
+
type ClientFrame = ReqFrame | SubFrame | UnsubFrame | SResFrame | SErrFrame | SOpenFrame | SCloseFrame | SWriteFrame | SReadFrame | PingFrame | PongFrame;
|
|
513
569
|
interface ResFrame {
|
|
514
570
|
t: 'res';
|
|
515
571
|
i: number;
|
|
@@ -539,9 +595,110 @@ interface SReqFrame {
|
|
|
539
595
|
m: string;
|
|
540
596
|
d: unknown;
|
|
541
597
|
}
|
|
542
|
-
|
|
598
|
+
interface SChangeFrame {
|
|
599
|
+
t: 'sch';
|
|
600
|
+
n: string;
|
|
601
|
+
id: string;
|
|
602
|
+
u: unknown;
|
|
603
|
+
o: string;
|
|
604
|
+
nd?: string;
|
|
605
|
+
}
|
|
606
|
+
type ServerFrame = ResFrame | ErrFrame | EvtFrame | PubFrame | SReqFrame | SChangeFrame | PingFrame | PongFrame;
|
|
543
607
|
type Frame = ClientFrame | ServerFrame;
|
|
544
608
|
|
|
609
|
+
/**
|
|
610
|
+
* Store — super-line's pluggable persisted-state seam.
|
|
611
|
+
*
|
|
612
|
+
* A Store persists Resources (`{ id, accessRules, data }`) and defines a single consistency model
|
|
613
|
+
* (how a write mutates `data`). It ships as a pair, like a transport: a {@link ServerStore}
|
|
614
|
+
* (persistence + change-notify) and a {@link ClientStore} (a reactive local replica). super-line core
|
|
615
|
+
* relays opaque {@link StoreChange}s between the halves and enforces access — it never parses `update`.
|
|
616
|
+
* "One plumbing, two consistency models": a last-writer-wins memory store and a merging CRDT store are
|
|
617
|
+
* siblings behind this interface.
|
|
618
|
+
*/
|
|
619
|
+
type Awaitable<T> = T | Promise<T>;
|
|
620
|
+
/** The ACL identity a Resource's access is keyed by (`identify(conn) ?? conn.id`). */
|
|
621
|
+
type Principal = string;
|
|
622
|
+
/** Per-principal capabilities on a Resource. */
|
|
623
|
+
interface Perms {
|
|
624
|
+
read: boolean;
|
|
625
|
+
write: boolean;
|
|
626
|
+
}
|
|
627
|
+
/** A Resource's access map: which {@link Principal} may read/write. Server-authoritative, deny-by-default. */
|
|
628
|
+
type AccessRules = Record<Principal, Perms>;
|
|
629
|
+
/** The unit a Store persists. `data` is opaque to core (a CRDT doc for a merging store, plain JSON for LWW). */
|
|
630
|
+
interface Resource<T = unknown> {
|
|
631
|
+
id: string;
|
|
632
|
+
accessRules: AccessRules;
|
|
633
|
+
data: T;
|
|
634
|
+
}
|
|
635
|
+
/**
|
|
636
|
+
* What a Store emits when a Resource mutates — and the symmetric shape a write carries IN.
|
|
637
|
+
* `update` is a store-DEFINED opaque payload (a CRDT delta, or a full JSON value for last-writer-wins);
|
|
638
|
+
* core relays it without parsing (base64 it if it's bytes under the JSON serializer). `origin` is the
|
|
639
|
+
* per-writer id used for echo-break — never the {@link Principal}, never the CRDT actor id.
|
|
640
|
+
*/
|
|
641
|
+
interface StoreChange {
|
|
642
|
+
id: string;
|
|
643
|
+
update: unknown;
|
|
644
|
+
origin: string;
|
|
645
|
+
}
|
|
646
|
+
/**
|
|
647
|
+
* The server half of a Store pair: persistence + the consistency model + change-notification.
|
|
648
|
+
* It does NOT enforce access (core does) and does NOT touch the wire. `apply` interprets a
|
|
649
|
+
* {@link StoreChange} per its consistency model (LWW replace vs CRDT merge); every applied mutation —
|
|
650
|
+
* client write, server co-write, or relayed remote change — must surface through {@link ServerStore.onChange},
|
|
651
|
+
* which is core's single fan-out source.
|
|
652
|
+
*/
|
|
653
|
+
interface ServerStore {
|
|
654
|
+
/**
|
|
655
|
+
* How cross-node sync happens: `relay` (core relays Changes over the adapter; each node a replica)
|
|
656
|
+
* or `self` (the store owns a shared backend and core fans only to local subscribers).
|
|
657
|
+
*/
|
|
658
|
+
readonly clustering: 'relay' | 'self';
|
|
659
|
+
/** Current snapshot of a Resource (for catch-up on subscribe), or undefined if absent. */
|
|
660
|
+
read(id: string): Awaitable<Resource | undefined>;
|
|
661
|
+
/** Create a Resource with initial data + access rules (server-authoritative). */
|
|
662
|
+
create(id: string, data: unknown, accessRules: AccessRules): Awaitable<void>;
|
|
663
|
+
/** Apply an inbound Change — replace (LWW) or merge (CRDT), the store's choice. */
|
|
664
|
+
apply(change: StoreChange): Awaitable<void>;
|
|
665
|
+
/** Replace a Resource's access rules. */
|
|
666
|
+
setAccess(id: string, accessRules: AccessRules): Awaitable<void>;
|
|
667
|
+
/** Remove a Resource. */
|
|
668
|
+
delete(id: string): Awaitable<void>;
|
|
669
|
+
/** All Resource ids in this store (core ACL-filters before returning ids to a client). */
|
|
670
|
+
list(): Awaitable<string[]>;
|
|
671
|
+
/** Subscribe to every applied mutation — the single fan-out source. Returns an unsubscribe fn. */
|
|
672
|
+
onChange(cb: (change: StoreChange) => void): () => void;
|
|
673
|
+
/** Release any resources held by the store. */
|
|
674
|
+
close?(): Awaitable<void>;
|
|
675
|
+
}
|
|
676
|
+
/**
|
|
677
|
+
* The client half of a Store pair: a reactive local replica per opened Resource. A last-writer-wins
|
|
678
|
+
* client wraps a plain value; a CRDT client wraps super-store's `StoreValue` and merges deltas.
|
|
679
|
+
*/
|
|
680
|
+
interface ClientStore {
|
|
681
|
+
/** This client's per-writer id, stamped as {@link StoreChange.origin} for echo-break. */
|
|
682
|
+
readonly origin: string;
|
|
683
|
+
/** Open a reactive replica for one Resource. */
|
|
684
|
+
open(id: string): ResourceReplica;
|
|
685
|
+
/** Release any resources held by the store. */
|
|
686
|
+
close?(): void;
|
|
687
|
+
}
|
|
688
|
+
/**
|
|
689
|
+
* A reactive handle over one opened Resource (mirrors super-store's `StoreValue` surface).
|
|
690
|
+
* `set`/`update` return the {@link StoreChange} to send up (null on a no-op); `applyRemote` merges an
|
|
691
|
+
* inbound Change (own-origin merges are idempotent / no-ops); `seed` hydrates the catch-up snapshot.
|
|
692
|
+
*/
|
|
693
|
+
interface ResourceReplica {
|
|
694
|
+
getSnapshot(): unknown;
|
|
695
|
+
subscribe(cb: () => void): () => void;
|
|
696
|
+
set(data: unknown): StoreChange | null;
|
|
697
|
+
update(partial: unknown): StoreChange | null;
|
|
698
|
+
applyRemote(change: StoreChange): void;
|
|
699
|
+
seed(snapshot: unknown): void;
|
|
700
|
+
}
|
|
701
|
+
|
|
545
702
|
/**
|
|
546
703
|
* The client↔server transport seam. A transport moves opaque encoded bytes over a
|
|
547
704
|
* LOGICAL connection and hides all physical churn (reconnects, SSE's dual channel,
|
|
@@ -620,4 +777,4 @@ interface ClientTransport {
|
|
|
620
777
|
}): RawConn;
|
|
621
778
|
}
|
|
622
779
|
|
|
623
|
-
export { type Adapter, type AnyData, type AuthOutcome, type ClientFrame, type ClientInput, type ClientTransport, type ConnDescriptor, type ConnView, type Contract, type DataOf, type Directional, type EmitData, type ErrFrame, type ErrorCode, type EventData, type Events, type EvtFrame, type Frame, type Handshake, INSPECTOR_ROLE, INSPECTOR_SUBPROTOCOL, type InferIn, type InferOut, type InspectedContract, type InspectedDirectional, type InspectedMessage, InspectorContract, type InspectorEvent, type MessageFlavor, type NodeStat, type NodeView, type Output, PROTOCOL, type PingFrame, type PongFrame, type PresenceStore, type PubFrame, type RawConn, type ReqFrame, type RequestDef, type Requests, type ResFrame, type RoleBlock, type RoleOf, type RoleRequests, type RoleTopics, type SErrFrame, type SReqFrame, type SResFrame, type Schema, type SchemaConverter, type Serializer, type ServerEntry, type ServerFrame, type ServerInput, type ServerMessageDef, type ServerMessages, type ServerRequestDef, type ServerRequests, type ServerTransport, type SharedEvents, type SharedRequests, type SharedServerRequests, type SharedTopics, type SubFrame, SuperLineError, type SuperLineErrorCode, type Topics, type UnsubFrame, classifyContract, defineContract, jsonSerializer, validate, validateSync };
|
|
780
|
+
export { type AccessRules, type Adapter, type AnyData, type AuthOutcome, type ClientFrame, type ClientInput, type ClientStore, type ClientTransport, type ConnDescriptor, type ConnView, type Contract, type DataOf, type Directional, type EmitData, type ErrFrame, type ErrorCode, type EventData, type Events, type EvtFrame, type Frame, type Handshake, INSPECTOR_ROLE, INSPECTOR_SUBPROTOCOL, type InferIn, type InferOut, type InspectedContract, type InspectedDirectional, type InspectedMessage, InspectorContract, type InspectorEvent, type MessageFlavor, type NodeStat, type NodeView, type Output, PROTOCOL, type Perms, type PingFrame, type PongFrame, type PresenceStore, type Principal, type PubFrame, type RawConn, type ReqFrame, type RequestDef, type Requests, type ResFrame, type Resource, type ResourceReplica, type RoleBlock, type RoleOf, type RoleRequests, type RoleTopics, type SChangeFrame, type SCloseFrame, type SErrFrame, type SOpenFrame, type SReadFrame, type SReqFrame, type SResFrame, type SWriteFrame, type Schema, type SchemaConverter, type Serializer, type ServerEntry, type ServerFrame, type ServerInput, type ServerMessageDef, type ServerMessages, type ServerRequestDef, type ServerRequests, type ServerStore, type ServerTransport, type SharedEvents, type SharedRequests, type SharedServerRequests, type SharedTopics, type StoreChange, type SubFrame, SuperLineError, type SuperLineErrorCode, type Topics, type UnsubFrame, classifyContract, defineContract, jsonSerializer, validate, validateSync };
|