@serfab/cadre-core 0.8.1 → 0.9.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/README.md +2 -2
- package/dist/cadre-node.d.ts +101 -61
- package/dist/cadre-node.js +165 -124
- package/dist/cadre-node.js.map +1 -1
- package/dist/control-cohort.d.ts +15 -15
- package/dist/control-cohort.js +14 -14
- package/dist/control-cohort.js.map +1 -1
- package/dist/control-database.d.ts +51 -34
- package/dist/control-database.js +72 -56
- package/dist/control-database.js.map +1 -1
- package/dist/control-formation-recorder.d.ts +2 -2
- package/dist/control-formation-recorder.js +2 -2
- package/dist/control-schema.d.ts +1 -1
- package/dist/control-schema.js +57 -33
- package/dist/control-schema.js.map +1 -1
- package/dist/device-token.d.ts +1 -1
- package/dist/device-token.js +1 -1
- package/dist/{authority-key.d.ts → ed25519-key.d.ts} +11 -10
- package/dist/{authority-key.js → ed25519-key.js} +9 -10
- package/dist/ed25519-key.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +8 -8
- package/dist/index.js.map +1 -1
- package/dist/key-store.d.ts +1 -1
- package/dist/key-store.js +1 -1
- package/dist/peer-authorization.d.ts +28 -6
- package/dist/peer-authorization.js +33 -7
- package/dist/peer-authorization.js.map +1 -1
- package/dist/peer-record.d.ts +3 -3
- package/dist/peer-record.js +3 -3
- package/dist/push-node.d.ts +38 -0
- package/dist/push-node.js +48 -0
- package/dist/push-node.js.map +1 -0
- package/dist/push-notifier-apns.d.ts +10 -2
- package/dist/push-notifier-apns.js +14 -10
- package/dist/push-notifier-apns.js.map +1 -1
- package/dist/push-notifier-fcm.d.ts +7 -1
- package/dist/push-notifier-fcm.js +9 -10
- package/dist/push-notifier-fcm.js.map +1 -1
- package/dist/push-notifier.d.ts +16 -35
- package/dist/push-notifier.js +16 -44
- package/dist/push-notifier.js.map +1 -1
- package/dist/seed-bootstrap.d.ts +70 -51
- package/dist/seed-bootstrap.js +168 -106
- package/dist/seed-bootstrap.js.map +1 -1
- package/dist/seed-trust-policy.d.ts +11 -11
- package/dist/seed-trust-policy.js +11 -11
- package/dist/seed-trust-policy.js.map +1 -1
- package/dist/strand-database.d.ts +5 -5
- package/dist/strand-database.js +4 -4
- package/dist/strand-database.js.map +1 -1
- package/dist/strand-formation-protocol.d.ts +1 -1
- package/dist/strand-formation-protocol.js +1 -1
- package/dist/strand-instance-manager.d.ts +1 -1
- package/dist/strand-instance-manager.js +1 -1
- package/dist/strand-instance-manager.js.map +1 -1
- package/dist/strand-member-key.d.ts +6 -6
- package/dist/strand-member-key.js +6 -6
- package/dist/strand-member-key.js.map +1 -1
- package/dist/strand-member-registry.d.ts +7 -7
- package/dist/strand-member-registry.js +5 -5
- package/dist/strand-member-registry.js.map +1 -1
- package/dist/strand-membership-writer.d.ts +84 -84
- package/dist/strand-membership-writer.js +90 -90
- package/dist/strand-membership-writer.js.map +1 -1
- package/dist/types.d.ts +52 -32
- package/dist/types.js.map +1 -1
- package/package.json +7 -3
- package/src/cadre-node.ts +170 -126
- package/src/control-cohort.ts +17 -17
- package/src/control-database.ts +76 -59
- package/src/control-formation-recorder.ts +2 -2
- package/src/control-schema.ts +57 -33
- package/src/device-token.ts +1 -1
- package/src/{authority-key.ts → ed25519-key.ts} +12 -11
- package/src/index.ts +21 -19
- package/src/key-store.ts +1 -1
- package/src/peer-authorization.ts +35 -7
- package/src/peer-record.ts +3 -3
- package/src/push-node.ts +64 -0
- package/src/push-notifier-apns.ts +16 -12
- package/src/push-notifier-fcm.ts +9 -10
- package/src/push-notifier.ts +16 -57
- package/src/seed-bootstrap.ts +179 -115
- package/src/seed-trust-policy.ts +18 -18
- package/src/strand-database.ts +6 -6
- package/src/strand-formation-protocol.ts +1 -1
- package/src/strand-instance-manager.ts +2 -2
- package/src/strand-member-key.ts +7 -7
- package/src/strand-member-registry.ts +10 -10
- package/src/strand-membership-writer.ts +127 -127
- package/src/types.ts +52 -32
- package/dist/authority-key.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strand-membership-writer.js","sourceRoot":"","sources":["../src/strand-membership-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAG3G,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,GAAG,GAAG,KAAK,CAAC,gCAAgC,CAAC,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,aAAqB;IACtE,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAe,CAAC;IACrE,OAAO,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,CAAW,CAAC;AAChG,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,YAAoB,EAAE,YAAoB;IAC7F,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAW,CAAC;IACzE,OAAO,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAC7G,CAAC;AAkBD;;;;;;GAMG;AACH,KAAK,UAAU,gBAAgB,CAAC,EAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"strand-membership-writer.js","sourceRoot":"","sources":["../src/strand-membership-writer.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type { IRepo } from '@optimystic/db-core';
|
|
|
4
4
|
import type { StrandDatabase } from './strand-database.js';
|
|
5
5
|
import type { SeedTrustPolicy } from './seed-trust-policy.js';
|
|
6
6
|
import type { KeyStore, KeyId } from './key-store.js';
|
|
7
|
+
import type { PushNotifier } from './push-notifier.js';
|
|
7
8
|
/**
|
|
8
9
|
* Extended Libp2p node with the coordinatedRepo attached by db-p2p's
|
|
9
10
|
* createLibp2pNode after node creation (not surfaced on the base Libp2p type).
|
|
@@ -133,7 +134,7 @@ export interface NetworkConfig {
|
|
|
133
134
|
transports?: Libp2pTransports;
|
|
134
135
|
/**
|
|
135
136
|
* Optional async resolver returning the multiaddrs to embed in invites
|
|
136
|
-
* (and other
|
|
137
|
+
* (and other owner-address contexts). When unset, `libp2pNode.getMultiaddrs()`
|
|
137
138
|
* is used. Hosts behind NAT supply this to substitute their DDNS hostname
|
|
138
139
|
* and externally-mapped port — see `@serfab/cadre-host`'s NatService.
|
|
139
140
|
*/
|
|
@@ -158,8 +159,8 @@ export interface NetworkConfig {
|
|
|
158
159
|
*/
|
|
159
160
|
controlCohort?: {
|
|
160
161
|
/**
|
|
161
|
-
* Cap on the number of NON-
|
|
162
|
-
* (backbone/
|
|
162
|
+
* Cap on the number of NON-owner siblings dialed per reconcile pass
|
|
163
|
+
* (backbone/owner members are always dialed and do not count). Defaults
|
|
163
164
|
* to {@link DEFAULT_CONTROL_COHORT_TARGET_DEGREE}.
|
|
164
165
|
*/
|
|
165
166
|
targetDegree?: number;
|
|
@@ -217,10 +218,10 @@ export interface CadreNodeConfig {
|
|
|
217
218
|
* form). Mutually exclusive with {@link privateKey}. Absent ⇒ legacy behavior
|
|
218
219
|
* (use `privateKey`, else libp2p generates an ephemeral key).
|
|
219
220
|
*
|
|
220
|
-
* In the single-key reference model the
|
|
221
|
-
* the node identity (see {@link CadreNode.
|
|
222
|
-
* protecting the identity in a secure enclave protects the
|
|
223
|
-
* A future separate-
|
|
221
|
+
* In the single-key reference model the owner signing key is *derived from*
|
|
222
|
+
* the node identity (see {@link CadreNode.getIdentityOwnerKey}), so
|
|
223
|
+
* protecting the identity in a secure enclave protects the owner key too.
|
|
224
|
+
* A future separate-owner slot (`ownerKeyId`) is anticipated but not
|
|
224
225
|
* built here.
|
|
225
226
|
*/
|
|
226
227
|
keyStore?: KeyStore;
|
|
@@ -249,7 +250,7 @@ export interface CadreNodeConfig {
|
|
|
249
250
|
requireSignedSchemas?: boolean;
|
|
250
251
|
/**
|
|
251
252
|
* Node-wide default trust anchor for INBOUND control-network seeds. Forwarded
|
|
252
|
-
* into every SeedBootstrapService this node constructs (
|
|
253
|
+
* into every SeedBootstrapService this node constructs (owner, receive-only
|
|
253
254
|
* listener, and the temp service used by applySeed when no service exists), and
|
|
254
255
|
* used as the service-level default the libp2p seed-protocol handler relies on
|
|
255
256
|
* (that path has no per-call override seam). Defaults to dbAnchoredTrustPolicy()
|
|
@@ -260,13 +261,32 @@ export interface CadreNodeConfig {
|
|
|
260
261
|
*/
|
|
261
262
|
seedTrustPolicy?: SeedTrustPolicy;
|
|
262
263
|
/**
|
|
263
|
-
* Platform push-delivery
|
|
264
|
-
* can deliver strand-wake data messages
|
|
265
|
-
*
|
|
266
|
-
*
|
|
267
|
-
*
|
|
264
|
+
* Platform push-delivery for suspended mobile peers. When present, the node's
|
|
265
|
+
* server fan-out can deliver strand-wake data messages over the platform push
|
|
266
|
+
* channel (FCM/APNs). Absent ⇒ no platform push (control-network push-wake only).
|
|
267
|
+
*
|
|
268
|
+
* The `notifier` is **injected**, not constructed here: a Node host builds it
|
|
269
|
+
* from `@serfab/cadre-core/push-node` (`createPushNotifier(credentials)`) and
|
|
270
|
+
* passes the instance, so the FCM/APNs modules (`node:crypto`/`node:http2`)
|
|
271
|
+
* stay out of the cross-platform core graph. Ownership transfers to the node on
|
|
272
|
+
* injection — `CadreNode.stop` closes the notifier (via `PushFanoutService`),
|
|
273
|
+
* releasing its APNs HTTP/2 session; a host must NOT also close an injected
|
|
274
|
+
* notifier itself. `cooldownMs`/`debounceMs` carry the fan-out anti-spam policy.
|
|
268
275
|
*/
|
|
269
|
-
push?:
|
|
276
|
+
push?: {
|
|
277
|
+
/** The Node-constructed push router (see `@serfab/cadre-core/push-node`). */
|
|
278
|
+
notifier: PushNotifier;
|
|
279
|
+
/**
|
|
280
|
+
* Per-`(peer, strand)` minimum gap between push-wakes the fan-out emits.
|
|
281
|
+
* Default {@link DEFAULT_PUSH_COOLDOWN_MS} (5 min).
|
|
282
|
+
*/
|
|
283
|
+
cooldownMs?: number;
|
|
284
|
+
/**
|
|
285
|
+
* Per-strand burst-coalescing window: a second trigger within it is dropped.
|
|
286
|
+
* Default {@link DEFAULT_PUSH_DEBOUNCE_MS} (10 s).
|
|
287
|
+
*/
|
|
288
|
+
debounceMs?: number;
|
|
289
|
+
};
|
|
270
290
|
}
|
|
271
291
|
/**
|
|
272
292
|
* Status of a strand instance
|
|
@@ -389,7 +409,7 @@ export interface StrandConfig {
|
|
|
389
409
|
* published the strand (the responder in formation, the creator in host/solo
|
|
390
410
|
* paths; the same party that calls {@link CadreNode.publishStrand}). The founder
|
|
391
411
|
* runs the one-time membership bootstrap at bring-up (writes `Strand.Header`, and
|
|
392
|
-
* for a closed strand the founding `Member`+`
|
|
412
|
+
* for a closed strand the founding `Member`+`Manager`). A joiner leaves this
|
|
393
413
|
* `false`/unset and writes nothing — it receives those rows via Optimystic sync.
|
|
394
414
|
* Defaults to `false`.
|
|
395
415
|
*/
|
|
@@ -571,11 +591,11 @@ export interface PeerAddressRecord {
|
|
|
571
591
|
}
|
|
572
592
|
/**
|
|
573
593
|
* Outcome of {@link CadreNode.registerSelf}, surfaced so callers (e.g. the CLI
|
|
574
|
-
* `--
|
|
575
|
-
* - `inserted` — the first
|
|
594
|
+
* `--owner` branch) can log what happened:
|
|
595
|
+
* - `inserted` — the first owner-signed INSERT of this node's `CadrePeer` row.
|
|
576
596
|
* - `refreshed` — a self-signed UPDATE of an existing row (heartbeat / addr change).
|
|
577
597
|
* - `skipped` — nothing written (no self-signing key, or not yet a member with no
|
|
578
|
-
*
|
|
598
|
+
* owner service to self-insert).
|
|
579
599
|
*/
|
|
580
600
|
export type SelfRegistrationOutcome = 'inserted' | 'refreshed' | 'skipped';
|
|
581
601
|
/**
|
|
@@ -593,7 +613,7 @@ export interface ResolveOpts {
|
|
|
593
613
|
/**
|
|
594
614
|
* Pluggable trust gate, evaluated after signature + freshness pass. Defaults
|
|
595
615
|
* to {@link currentMemberTrustPolicy} (any existing — therefore
|
|
596
|
-
*
|
|
616
|
+
* owner-vouched — CadrePeer member is trusted). Inject a stricter policy
|
|
597
617
|
* (e.g. from `seed-signerkey-trust-policy`) to reject otherwise-valid records
|
|
598
618
|
* before dialing.
|
|
599
619
|
*/
|
|
@@ -720,9 +740,9 @@ export interface SeedPeer {
|
|
|
720
740
|
peerId: string;
|
|
721
741
|
/** Multiaddrs for connecting to this peer */
|
|
722
742
|
multiaddrs: string[];
|
|
723
|
-
/** Whether this peer holds an
|
|
724
|
-
|
|
725
|
-
/** ed25519 public key (base64url) — present on
|
|
743
|
+
/** Whether this peer holds an owner key */
|
|
744
|
+
isOwner: boolean;
|
|
745
|
+
/** ed25519 public key (base64url) — present on owner peers for signerKey verification */
|
|
726
746
|
publicKey?: string;
|
|
727
747
|
}
|
|
728
748
|
/**
|
|
@@ -736,9 +756,9 @@ export interface ControlNetworkSeed {
|
|
|
736
756
|
partyId: string;
|
|
737
757
|
/** Known peers in the cadre */
|
|
738
758
|
peers: SeedPeer[];
|
|
739
|
-
/** Signature over the seed by an
|
|
759
|
+
/** Signature over the seed by an owner key */
|
|
740
760
|
signature: string;
|
|
741
|
-
/** The
|
|
761
|
+
/** The owner key that signed this seed */
|
|
742
762
|
signerKey: string;
|
|
743
763
|
}
|
|
744
764
|
/**
|
|
@@ -750,9 +770,9 @@ export interface SeedMessage {
|
|
|
750
770
|
partyId: string;
|
|
751
771
|
/** Known peers in the cadre */
|
|
752
772
|
peers: SeedPeer[];
|
|
753
|
-
/** Signature by an
|
|
773
|
+
/** Signature by an owner key */
|
|
754
774
|
signature: string;
|
|
755
|
-
/** The
|
|
775
|
+
/** The owner key that signed this message */
|
|
756
776
|
signerKey: string;
|
|
757
777
|
}
|
|
758
778
|
/**
|
|
@@ -841,15 +861,15 @@ export type NodeTopology = 'public' | 'nat';
|
|
|
841
861
|
export interface CadreInvite {
|
|
842
862
|
/** Party ID of the cadre */
|
|
843
863
|
partyId: string;
|
|
844
|
-
/** Multiaddrs to dial the
|
|
845
|
-
|
|
864
|
+
/** Multiaddrs to dial the owner */
|
|
865
|
+
ownerAddrs: string[];
|
|
846
866
|
/**
|
|
847
|
-
*
|
|
848
|
-
* so a cold-start invitee can pin the trusted
|
|
867
|
+
* Owner ed25519 public keys (base64url) of the cadre, carried out-of-band
|
|
868
|
+
* so a cold-start invitee can pin the trusted owner set before applying
|
|
849
869
|
* any seed (the seed itself cannot vouch for its own signer). Populated by
|
|
850
|
-
* `createInvite` from the issuer's `
|
|
870
|
+
* `createInvite` from the issuer's `OwnerKey` table.
|
|
851
871
|
*/
|
|
852
|
-
|
|
872
|
+
ownerKeys?: string[];
|
|
853
873
|
/** Optional invite token for validation */
|
|
854
874
|
token?: string;
|
|
855
875
|
/** Timestamp when invite was created */
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA+DA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA6C;IAC5E,QAAQ,EAAE;QACR,WAAW,EAAE,QAAQ,EAAS,aAAa;QAC3C,gBAAgB,EAAE,QAAQ,EAAI,kBAAkB;QAChD,eAAe,EAAE,QAAQ,EAAK,MAAM;QACpC,oBAAoB,EAAE,CAAC;QACvB,kBAAkB,EAAE,QAAQ,CAAE,MAAM;KACrC;IACD,WAAW,EAAE;QACX,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAI,YAAY;QAC1C,gBAAgB,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,wBAAwB;QAC1D,eAAe,EAAE,EAAE,GAAG,IAAI,EAAI,mBAAmB;QACjD,oBAAoB,EAAE,CAAC;QACvB,kBAAkB,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe;KACnD;IACD,UAAU,EAAE;QACV,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAI,WAAW;QACzC,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAG,uBAAuB;QACzD,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAI,kBAAkB;QACpD,oBAAoB,EAAE,CAAC;QACvB,kBAAkB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB;KACxD;IACD,OAAO,EAAE;QACP,WAAW,EAAE,EAAE,GAAG,IAAI,EAAQ,aAAa;QAC3C,gBAAgB,EAAE,EAAE,GAAG,IAAI,EAAG,wBAAwB;QACtD,eAAe,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAG,eAAe;QACjD,oBAAoB,EAAE,CAAC;QACvB,kBAAkB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe;KAC5D;CACF,CAAC;AA4HF;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,GAAG,IAAI,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serfab/cadre-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Core library for Sereus cadre nodes - manages control networks and strand participation",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -23,6 +23,10 @@
|
|
|
23
23
|
"./key-store-file": {
|
|
24
24
|
"types": "./dist/key-store-file.d.ts",
|
|
25
25
|
"import": "./dist/key-store-file.js"
|
|
26
|
+
},
|
|
27
|
+
"./push-node": {
|
|
28
|
+
"types": "./dist/push-node.d.ts",
|
|
29
|
+
"import": "./dist/push-node.js"
|
|
26
30
|
}
|
|
27
31
|
},
|
|
28
32
|
"repository": {
|
|
@@ -68,8 +72,8 @@
|
|
|
68
72
|
"@optimystic/db-p2p": "^0.14.1",
|
|
69
73
|
"@optimystic/quereus-plugin-crypto": "^0.14.1",
|
|
70
74
|
"@optimystic/quereus-plugin-optimystic": "^0.14.1",
|
|
71
|
-
"@quereus/quereus": "^4.
|
|
72
|
-
"@serfab/quereus-plugin-sereus": "^0.
|
|
75
|
+
"@quereus/quereus": "^4.4.0",
|
|
76
|
+
"@serfab/quereus-plugin-sereus": "^0.9.0",
|
|
73
77
|
"debug": "^4.4.3",
|
|
74
78
|
"libp2p": "^3.1.3",
|
|
75
79
|
"uint8arrays": "^5.1.0"
|