@serfab/cadre-core 1.9.0 → 1.10.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/cadre-node.d.ts +148 -17
- package/dist/cadre-node.js +361 -45
- package/dist/cadre-node.js.map +1 -1
- package/dist/control-authorization.d.ts +2 -2
- package/dist/control-authorization.js +1 -0
- package/dist/control-authorization.js.map +1 -1
- package/dist/control-cohort.d.ts +1 -1
- package/dist/control-cohort.js +1 -1
- package/dist/control-database.d.ts +105 -14
- package/dist/control-database.js +242 -73
- package/dist/control-database.js.map +1 -1
- package/dist/control-formation-recorder.d.ts +6 -6
- package/dist/control-formation-recorder.js +7 -8
- package/dist/control-formation-recorder.js.map +1 -1
- package/dist/control-schema.d.ts +1 -1
- package/dist/control-schema.js +90 -3
- package/dist/control-schema.js.map +1 -1
- package/dist/control-write-retry.d.ts +21 -15
- package/dist/control-write-retry.js +21 -15
- package/dist/control-write-retry.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/invitation-bootstrap.d.ts +32 -0
- package/dist/invitation-bootstrap.js +30 -0
- package/dist/invitation-bootstrap.js.map +1 -0
- package/dist/link-budget.d.ts +204 -119
- package/dist/link-budget.js +208 -120
- package/dist/link-budget.js.map +1 -1
- package/dist/membership-connection-gater.d.ts +3 -3
- package/dist/membership-connection-gater.js +3 -3
- package/dist/peer-dial.d.ts +18 -14
- package/dist/peer-dial.js +18 -14
- package/dist/peer-dial.js.map +1 -1
- package/dist/peer-join-backfill.d.ts +3 -3
- package/dist/pending-join-runner.d.ts +186 -0
- package/dist/pending-join-runner.js +649 -0
- package/dist/pending-join-runner.js.map +1 -0
- package/dist/push-fanout.d.ts +1 -1
- package/dist/push-fanout.js +1 -1
- package/dist/seed-bootstrap.d.ts +2 -2
- package/dist/seed-bootstrap.js +1 -1
- package/dist/strand-addr-protocol.js +2 -2
- package/dist/strand-formation-deadlines.d.ts +5 -5
- package/dist/strand-formation-deadlines.js +5 -5
- package/dist/strand-formation-manager.d.ts +18 -4
- package/dist/strand-formation-manager.js +48 -33
- package/dist/strand-formation-manager.js.map +1 -1
- package/dist/strand-formation-protocol.d.ts +71 -14
- package/dist/strand-formation-protocol.js +222 -47
- package/dist/strand-formation-protocol.js.map +1 -1
- package/dist/strand-formation-rejection.d.ts +94 -0
- package/dist/strand-formation-rejection.js +77 -0
- package/dist/strand-formation-rejection.js.map +1 -0
- package/dist/strand-instance-manager.js +4 -1
- package/dist/strand-instance-manager.js.map +1 -1
- package/dist/strand-solicitation.d.ts +11 -3
- package/dist/strand-solicitation.js +9 -0
- package/dist/strand-solicitation.js.map +1 -1
- package/dist/types.d.ts +103 -17
- package/dist/types.js +5 -9
- package/dist/types.js.map +1 -1
- package/package.json +22 -22
- package/src/cadre-node.ts +399 -46
- package/src/control-authorization.ts +117 -116
- package/src/control-cohort.ts +1 -1
- package/src/control-database.ts +303 -82
- package/src/control-formation-recorder.ts +8 -9
- package/src/control-schema.ts +90 -3
- package/src/control-write-retry.ts +21 -15
- package/src/index.ts +21 -1
- package/src/invitation-bootstrap.ts +40 -0
- package/src/link-budget.ts +221 -120
- package/src/membership-connection-gater.ts +3 -3
- package/src/peer-dial.ts +18 -14
- package/src/peer-join-backfill.ts +3 -3
- package/src/pending-join-runner.ts +735 -0
- package/src/push-fanout.ts +1 -1
- package/src/seed-bootstrap.ts +2 -2
- package/src/strand-addr-protocol.ts +2 -2
- package/src/strand-formation-deadlines.ts +5 -5
- package/src/strand-formation-manager.ts +62 -37
- package/src/strand-formation-protocol.ts +1036 -802
- package/src/strand-formation-rejection.ts +129 -0
- package/src/strand-instance-manager.ts +4 -1
- package/src/strand-solicitation.ts +17 -4
- package/src/types.ts +99 -17
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How a formation dial fails, as types a joining device can branch on without reading the
|
|
3
|
+
* human-facing wording: a responder's refusal carries a fixed {@link FormationRejectionCode}
|
|
4
|
+
* on the wire and surfaces as a {@link FormationRejectedError}; a dial that never got an
|
|
5
|
+
* answer surfaces as a {@link FormationUnreachableError}.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Why a formation responder refused a join. Sent beside the free-text `reason` on every
|
|
9
|
+
* `approved: false` result frame (`FormationResultMessage.code`).
|
|
10
|
+
*/
|
|
11
|
+
export type FormationRejectionCode =
|
|
12
|
+
/**
|
|
13
|
+
* No invitation row for this token on THIS responder. Retryable: a sibling machine of the
|
|
14
|
+
* inviter may not have received the row yet. Leaks nothing — only a holder of the token can
|
|
15
|
+
* ask, and an unknown token means the same as one never minted.
|
|
16
|
+
*/
|
|
17
|
+
'token-unknown'
|
|
18
|
+
/**
|
|
19
|
+
* The invitation expired, or every allowed use is recorded. The loser of a redemption race
|
|
20
|
+
* and a latecomer both get this code, so neither can tell the two apart.
|
|
21
|
+
*/
|
|
22
|
+
| 'token-spent'
|
|
23
|
+
/** The joiner's consent signature does not verify (or `partyId` does not embed `peerKey`). */
|
|
24
|
+
| 'consent-invalid'
|
|
25
|
+
/** The responder's disclosure validator refused the disclosure. */
|
|
26
|
+
| 'disclosure-invalid' | 'disclosure-too-large'
|
|
27
|
+
/** The invitation's outside approval hook answered no. */
|
|
28
|
+
| 'approval-refused'
|
|
29
|
+
/** The invitation's outside approval hook could not be reached or did not answer in time. */
|
|
30
|
+
| 'approval-unavailable'
|
|
31
|
+
/** The inviter's approval setup is wrong: a malformed answer, an unenrolled key, or a misconfigured hook. */
|
|
32
|
+
| 'approval-invalid'
|
|
33
|
+
/**
|
|
34
|
+
* The host strand is not running (or not yet replicated) on this responder, or issuing the
|
|
35
|
+
* joiner's membership invitation into it failed.
|
|
36
|
+
*/
|
|
37
|
+
| 'host-strand-unavailable'
|
|
38
|
+
/** The host strand predates the per-party identity split and can never admit a joiner. */
|
|
39
|
+
| 'host-strand-must-be-recreated'
|
|
40
|
+
/** The responder is at its cap on concurrent formation sessions. */
|
|
41
|
+
| 'busy'
|
|
42
|
+
/** Provisioning outran the responder's budget; the invitation is left unspent. */
|
|
43
|
+
| 'provisioning-timeout'
|
|
44
|
+
/** The consent write failed for a reason other than a spent invitation. */
|
|
45
|
+
| 'conflict'
|
|
46
|
+
/** An unexpected responder-side failure. */
|
|
47
|
+
| 'internal';
|
|
48
|
+
/**
|
|
49
|
+
* Which rejections are worth retrying — the single place that says so. A retry repeats the
|
|
50
|
+
* same redemption later (or against another of the inviter's machines); a final code means
|
|
51
|
+
* no retry of this invitation can succeed.
|
|
52
|
+
*/
|
|
53
|
+
export declare const FORMATION_REJECTION_RETRYABLE: Readonly<Record<FormationRejectionCode, boolean>>;
|
|
54
|
+
/** Is `value` a code this build knows? Own keys only, so a peer's `'constructor'` does not pass. */
|
|
55
|
+
export declare function isFormationRejectionCode(value: unknown): value is FormationRejectionCode;
|
|
56
|
+
/**
|
|
57
|
+
* The responder answered and refused the join.
|
|
58
|
+
*
|
|
59
|
+
* `code` is `'unrecognized'` when the frame carried no code or one this build does not know
|
|
60
|
+
* — formation runs between two parties on different versions — and such a rejection counts
|
|
61
|
+
* as retryable: retrying an unknown answer until the invitation expires is safe, while giving
|
|
62
|
+
* up on one that would have succeeded is not.
|
|
63
|
+
*/
|
|
64
|
+
export declare class FormationRejectedError extends Error {
|
|
65
|
+
readonly code: FormationRejectionCode | 'unrecognized';
|
|
66
|
+
readonly reason: string;
|
|
67
|
+
readonly retryable: boolean;
|
|
68
|
+
/** Both arguments come straight off the wire, so neither is trusted to have its declared type. */
|
|
69
|
+
constructor(code: unknown, reason: unknown);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* The dial ended before a result frame was read: no responder address parsed, every address
|
|
73
|
+
* failed to dial, a deadline passed, or the stream closed early. Always retryable. Keeps the
|
|
74
|
+
* underlying failure's message, and the failure itself as `cause`.
|
|
75
|
+
*/
|
|
76
|
+
export declare class FormationUnreachableError extends Error {
|
|
77
|
+
readonly retryable = true;
|
|
78
|
+
constructor(message: string, options?: {
|
|
79
|
+
cause?: unknown;
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* The responder approved the join, so the invitation's one-time token is spent, and then a
|
|
84
|
+
* step on the joining machine failed: persisting the party's membership identity, or
|
|
85
|
+
* remembering the join. Never retryable: the same invitation can only answer `token-spent`
|
|
86
|
+
* from now on, so recovery is fixing the local cause and redeeming a fresh invitation.
|
|
87
|
+
*/
|
|
88
|
+
export declare class FormationPostApprovalError extends Error {
|
|
89
|
+
readonly strandId: string;
|
|
90
|
+
readonly retryable = false;
|
|
91
|
+
constructor(strandId: string, message: string, options?: {
|
|
92
|
+
cause?: unknown;
|
|
93
|
+
});
|
|
94
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How a formation dial fails, as types a joining device can branch on without reading the
|
|
3
|
+
* human-facing wording: a responder's refusal carries a fixed {@link FormationRejectionCode}
|
|
4
|
+
* on the wire and surfaces as a {@link FormationRejectedError}; a dial that never got an
|
|
5
|
+
* answer surfaces as a {@link FormationUnreachableError}.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Which rejections are worth retrying — the single place that says so. A retry repeats the
|
|
9
|
+
* same redemption later (or against another of the inviter's machines); a final code means
|
|
10
|
+
* no retry of this invitation can succeed.
|
|
11
|
+
*/
|
|
12
|
+
export const FORMATION_REJECTION_RETRYABLE = {
|
|
13
|
+
'token-unknown': true,
|
|
14
|
+
'token-spent': false,
|
|
15
|
+
'consent-invalid': false,
|
|
16
|
+
'disclosure-invalid': false,
|
|
17
|
+
'disclosure-too-large': false,
|
|
18
|
+
'approval-refused': false,
|
|
19
|
+
'approval-unavailable': true,
|
|
20
|
+
'approval-invalid': false,
|
|
21
|
+
'host-strand-unavailable': true,
|
|
22
|
+
'host-strand-must-be-recreated': false,
|
|
23
|
+
'busy': true,
|
|
24
|
+
'provisioning-timeout': true,
|
|
25
|
+
'conflict': true,
|
|
26
|
+
'internal': true
|
|
27
|
+
};
|
|
28
|
+
/** Is `value` a code this build knows? Own keys only, so a peer's `'constructor'` does not pass. */
|
|
29
|
+
export function isFormationRejectionCode(value) {
|
|
30
|
+
return typeof value === 'string' && Object.prototype.hasOwnProperty.call(FORMATION_REJECTION_RETRYABLE, value);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The responder answered and refused the join.
|
|
34
|
+
*
|
|
35
|
+
* `code` is `'unrecognized'` when the frame carried no code or one this build does not know
|
|
36
|
+
* — formation runs between two parties on different versions — and such a rejection counts
|
|
37
|
+
* as retryable: retrying an unknown answer until the invitation expires is safe, while giving
|
|
38
|
+
* up on one that would have succeeded is not.
|
|
39
|
+
*/
|
|
40
|
+
export class FormationRejectedError extends Error {
|
|
41
|
+
/** Both arguments come straight off the wire, so neither is trusted to have its declared type. */
|
|
42
|
+
constructor(code, reason) {
|
|
43
|
+
const text = typeof reason === 'string' ? reason : 'no reason provided';
|
|
44
|
+
super(`Formation rejected: ${text}`);
|
|
45
|
+
this.name = 'FormationRejectedError';
|
|
46
|
+
this.code = isFormationRejectionCode(code) ? code : 'unrecognized';
|
|
47
|
+
this.reason = text;
|
|
48
|
+
this.retryable = this.code === 'unrecognized' || FORMATION_REJECTION_RETRYABLE[this.code];
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The dial ended before a result frame was read: no responder address parsed, every address
|
|
53
|
+
* failed to dial, a deadline passed, or the stream closed early. Always retryable. Keeps the
|
|
54
|
+
* underlying failure's message, and the failure itself as `cause`.
|
|
55
|
+
*/
|
|
56
|
+
export class FormationUnreachableError extends Error {
|
|
57
|
+
constructor(message, options) {
|
|
58
|
+
super(message, options);
|
|
59
|
+
this.retryable = true;
|
|
60
|
+
this.name = 'FormationUnreachableError';
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* The responder approved the join, so the invitation's one-time token is spent, and then a
|
|
65
|
+
* step on the joining machine failed: persisting the party's membership identity, or
|
|
66
|
+
* remembering the join. Never retryable: the same invitation can only answer `token-spent`
|
|
67
|
+
* from now on, so recovery is fixing the local cause and redeeming a fresh invitation.
|
|
68
|
+
*/
|
|
69
|
+
export class FormationPostApprovalError extends Error {
|
|
70
|
+
constructor(strandId, message, options) {
|
|
71
|
+
super(message, options);
|
|
72
|
+
this.strandId = strandId;
|
|
73
|
+
this.retryable = false;
|
|
74
|
+
this.name = 'FormationPostApprovalError';
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=strand-formation-rejection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strand-formation-rejection.js","sourceRoot":"","sources":["../src/strand-formation-rejection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6CH;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAsD;IAC9F,eAAe,EAAE,IAAI;IACrB,aAAa,EAAE,KAAK;IACpB,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,KAAK;IAC3B,sBAAsB,EAAE,KAAK;IAC7B,kBAAkB,EAAE,KAAK;IACzB,sBAAsB,EAAE,IAAI;IAC5B,kBAAkB,EAAE,KAAK;IACzB,yBAAyB,EAAE,IAAI;IAC/B,+BAA+B,EAAE,KAAK;IACtC,MAAM,EAAE,IAAI;IACZ,sBAAsB,EAAE,IAAI;IAC5B,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,oGAAoG;AACpG,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;AACjH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAK/C,kGAAkG;IAClG,YAAY,IAAa,EAAE,MAAe;QACxC,MAAM,IAAI,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC;QACxE,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;QACnE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5F,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAGlD,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAHjB,cAAS,GAAG,IAAI,CAAC;QAIxB,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAGnD,YAAqB,QAAgB,EAAE,OAAe,EAAE,OAA6B;QACnF,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QADL,aAAQ,GAAR,QAAQ,CAAQ;QAF5B,cAAS,GAAG,KAAK,CAAC;QAIzB,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF"}
|
|
@@ -15,7 +15,7 @@ import { DEFAULT_CONNECTION_MONITOR, resolveStrandClusterSize, strandClusterPoli
|
|
|
15
15
|
import { strandNodeAddrs } from './strand-network-config.js';
|
|
16
16
|
import { resolveRelayServer } from './relay-server.js';
|
|
17
17
|
import { superviseRelayReservation } from './relay-reservation.js';
|
|
18
|
-
import { declaredCohortReadDeadlineMs, peerJoinPushBudget, relayReservationBudgetMs, resolveLinkRoundTripMs } from './link-budget.js';
|
|
18
|
+
import { declaredCohortReadDeadlineMs, optimysticDialLimits, peerJoinPushBudget, relayReservationBudgetMs, resolveLinkRoundTripMs } from './link-budget.js';
|
|
19
19
|
const log = debug('sereus:cadre:strand-manager');
|
|
20
20
|
const timing = debug('sereus:cadre:timing');
|
|
21
21
|
/**
|
|
@@ -510,6 +510,9 @@ export class StrandInstanceManager {
|
|
|
510
510
|
// node is also the listener for every other member's strand node, and Optimystic
|
|
511
511
|
// derives that listener's limit from this (`link-budget.ts`).
|
|
512
512
|
linkRoundTripMs: resolveLinkRoundTripMs(config.network?.linkRoundTripMs),
|
|
513
|
+
// The same dial limits as the control node: a strand node dials the same machines,
|
|
514
|
+
// through the same relays and gates.
|
|
515
|
+
...optimysticDialLimits(config.network?.linkRoundTripMs),
|
|
513
516
|
// Listen entries plus the WebSocket transport switch they imply — a strand node
|
|
514
517
|
// announces nothing the operator configured (`strand-network-config.ts`), and
|
|
515
518
|
// spreads AFTER `transports` above because the switch is a no-op whenever the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strand-instance-manager.js","sourceRoot":"","sources":["../src/strand-instance-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"strand-instance-manager.js","sourceRoot":"","sources":["../src/strand-instance-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Libp2p } from '@libp2p/interface';
|
|
2
2
|
import type { OpenInvitation, FormStrandResult, StrandFormationDisclosure } from './types.js';
|
|
3
|
-
import { type MembershipInviteIssuer, type StrandFormationManagerConfig } from './strand-formation-manager.js';
|
|
3
|
+
import { type CadrePeerAddrsSource, type MembershipInviteIssuer, type StrandFormationManagerConfig } from './strand-formation-manager.js';
|
|
4
4
|
import { type FormationResultMessage } from './strand-formation-protocol.js';
|
|
5
5
|
/**
|
|
6
6
|
* Interface for validating formation disclosures
|
|
@@ -85,10 +85,13 @@ export interface FormationUsageRecorder {
|
|
|
85
85
|
*/
|
|
86
86
|
isTokenUsed(token: string): Promise<boolean>;
|
|
87
87
|
/**
|
|
88
|
-
* Check if a token is valid and not expired
|
|
88
|
+
* Check if a token is valid and not expired. An invalid answer says why: `'unknown'` (no
|
|
89
|
+
* invitation row here — it may not have replicated yet) or `'expired'`. An answer without
|
|
90
|
+
* a reason is treated as `'unknown'`, the retryable one.
|
|
89
91
|
*/
|
|
90
92
|
isTokenValid(token: string): Promise<{
|
|
91
93
|
valid: boolean;
|
|
94
|
+
reason?: 'unknown' | 'expired';
|
|
92
95
|
invitation?: OpenInvitation;
|
|
93
96
|
}>;
|
|
94
97
|
/**
|
|
@@ -179,7 +182,7 @@ export interface StrandSolicitationServiceOptions {
|
|
|
179
182
|
/** Party ID for this node (used in protocol messages) */
|
|
180
183
|
partyId?: string;
|
|
181
184
|
/** Cadre peer addresses for this node */
|
|
182
|
-
cadrePeerAddrs?:
|
|
185
|
+
cadrePeerAddrs?: CadrePeerAddrsSource;
|
|
183
186
|
/**
|
|
184
187
|
* This node's live STRAND-network multiaddrs for a strand it is running (responder
|
|
185
188
|
* side), carried back to a validated joiner as its cross-party discovery seed. Wired
|
|
@@ -278,6 +281,11 @@ export declare class StrandSolicitationService {
|
|
|
278
281
|
* never expires.
|
|
279
282
|
*/
|
|
280
283
|
registerMintedInvitation(token: string, expiresAtMs: number): void;
|
|
284
|
+
/**
|
|
285
|
+
* Take over every token `previous` minted or published, so a service that replaces it
|
|
286
|
+
* on a node keeps the connection gate open for invitations already handed out.
|
|
287
|
+
*/
|
|
288
|
+
adoptMintedInvitations(previous: StrandSolicitationService): void;
|
|
281
289
|
/**
|
|
282
290
|
* Does this node currently expect a stranger — i.e. is at least one open
|
|
283
291
|
* invitation unexpired and not yet fully consumed? Sole input to the
|
|
@@ -194,6 +194,15 @@ export class StrandSolicitationService {
|
|
|
194
194
|
this.mintedInvitations.set(token, expiresAtMs);
|
|
195
195
|
log('Registered minted invitation %s (expires %d)', token, expiresAtMs);
|
|
196
196
|
}
|
|
197
|
+
/**
|
|
198
|
+
* Take over every token `previous` minted or published, so a service that replaces it
|
|
199
|
+
* on a node keeps the connection gate open for invitations already handed out.
|
|
200
|
+
*/
|
|
201
|
+
adoptMintedInvitations(previous) {
|
|
202
|
+
for (const [token, expiresAtMs] of previous.mintedInvitations) {
|
|
203
|
+
this.mintedInvitations.set(token, expiresAtMs);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
197
206
|
/**
|
|
198
207
|
* Does this node currently expect a stranger — i.e. is at least one open
|
|
199
208
|
* invitation unexpired and not yet fully consumed? Sole input to the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strand-solicitation.js","sourceRoot":"","sources":["../src/strand-solicitation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AAMzD,sFAAsF;AACtF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EACL,sBAAsB,
|
|
1
|
+
{"version":3,"file":"strand-solicitation.js","sourceRoot":"","sources":["../src/strand-solicitation.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ import type { JoinedStrandStore } from './joined-strand-store.js';
|
|
|
17
17
|
import type { PushNotifier } from './push-notifier.js';
|
|
18
18
|
import type { RevocableTable } from './control-authorization.js';
|
|
19
19
|
import type { ControlRetryAbandonment } from './control-retry.js';
|
|
20
|
+
import type { FormationRejectionCode } from './strand-formation-rejection.js';
|
|
20
21
|
/**
|
|
21
22
|
* Extended Libp2p node with the coordinatedRepo attached by db-p2p's
|
|
22
23
|
* createLibp2pNode after node creation (not surfaced on the base Libp2p type).
|
|
@@ -446,8 +447,9 @@ export interface NetworkConfig {
|
|
|
446
447
|
* reservation drive, the control-cohort dial budgets, and the per-peer cohort read deadline
|
|
447
448
|
* ({@link cohortQueryTimeoutMs}, unless set explicitly). It is also handed to Optimystic
|
|
448
449
|
* (`NodeOptions.linkRoundTripMs`), default included, which derives its own deadlines from it:
|
|
449
|
-
* its request dials and responses, its block pushes, and libp2p's `
|
|
450
|
-
* `inboundUpgradeTimeout` on every node
|
|
450
|
+
* its request dials and responses, its block pushes, and libp2p's `addressDialTimeout`,
|
|
451
|
+
* `dialTimeout` and `inboundUpgradeTimeout` on every node, cadre adding its admission decisions
|
|
452
|
+
* to the three that open a connection. Reaching another machine through a
|
|
451
453
|
* relay costs a fixed number of exchanges, so a deadline written as milliseconds has a link
|
|
452
454
|
* speed above which it can never open a connection — which is the defect this declaration
|
|
453
455
|
* exists to make impossible to reintroduce one budget at a time. The counts, the measurement behind them,
|
|
@@ -464,8 +466,12 @@ export interface NetworkConfig {
|
|
|
464
466
|
* Refused where the libp2p node is built — inside `CadreNode.start()` for the control
|
|
465
467
|
* network, inside `CadreNode.addStrand` for a strand — if it is not a finite number above
|
|
466
468
|
* zero, because every consumer multiplies it into a deadline where a zero means "give up at
|
|
467
|
-
* once" and a `NaN` means "never".
|
|
468
|
-
*
|
|
469
|
+
* once" and a `NaN` means "never". A value above about 10.8 hours is refused in the same place,
|
|
470
|
+
* by Optimystic: the request dial cadre states from it (eleven round trips plus two admission
|
|
471
|
+
* decisions, `optimysticDialLimits` in `link-budget.ts`) then exceeds its
|
|
472
|
+
* `MAX_RPC_DIAL_TIMEOUT_MS` (about 4.97 days), and its error names `rpcDeadlines.dialTimeoutMs`.
|
|
473
|
+
* That is below Optimystic's own `MAX_LINK_ROUND_TRIP_MS` (about 13.3 hours) and far above any
|
|
474
|
+
* real link, so cadre adds no check of its own.
|
|
469
475
|
*/
|
|
470
476
|
linkRoundTripMs?: number;
|
|
471
477
|
/**
|
|
@@ -537,8 +543,8 @@ export interface NetworkConfig {
|
|
|
537
543
|
* so an address that never answers cannot use up the time the peer's other
|
|
538
544
|
* addresses needed. Defaults to
|
|
539
545
|
* {@link DEFAULT_CONTROL_COHORT_PER_ADDRESS_DIAL_TIMEOUT_MS}. A value given
|
|
540
|
-
* here replaces that whole derived budget, including its
|
|
541
|
-
* called machine's admission
|
|
546
|
+
* here replaces that whole derived budget, including its allowances for the
|
|
547
|
+
* relay's and the called machine's admission decisions (`relayedDialBudgetMs`).
|
|
542
548
|
*/
|
|
543
549
|
perAddressDialTimeoutMs?: number;
|
|
544
550
|
/**
|
|
@@ -598,15 +604,11 @@ export interface NetworkConfig {
|
|
|
598
604
|
*
|
|
599
605
|
* WHY THE DEADLINE IS PINNED rather than given room to adapt. `pingTimeout` is an
|
|
600
606
|
* adaptive-timeout init, and equal `minTimeout`/`maxTimeout` clamp it to one value on
|
|
601
|
-
* every libp2p version.
|
|
602
|
-
*
|
|
603
|
-
*
|
|
604
|
-
*
|
|
605
|
-
*
|
|
606
|
-
* the overlapping-ping abort above straight back. Pinning both ends keeps the interval's
|
|
607
|
-
* margin true on the version bump instead of making it something to remember. It also
|
|
608
|
-
* sidesteps 3.3's other surprise: the monitor keeps one `AdaptiveTimeout` for all of a
|
|
609
|
-
* node's connections, so one slow peer would otherwise lengthen the deadline for every
|
|
607
|
+
* every libp2p version. libp2p 3.3 reports each ping's duration back to the monitor's
|
|
608
|
+
* `AdaptiveTimeout`, so a ceiling above `pingInterval` would let the deadline grow past the
|
|
609
|
+
* interval and put the overlapping-ping abort above straight back. Pinning both ends keeps
|
|
610
|
+
* the interval's margin true. It also sidesteps the monitor keeping one `AdaptiveTimeout`
|
|
611
|
+
* for all of a node's connections, so one slow peer cannot lengthen the deadline for every
|
|
610
612
|
* connection on that node.
|
|
611
613
|
*/
|
|
612
614
|
export declare const DEFAULT_CONNECTION_MONITOR: Readonly<{
|
|
@@ -1102,6 +1104,73 @@ export interface StrandRow {
|
|
|
1102
1104
|
*/
|
|
1103
1105
|
FounderOwnerKey: string | null;
|
|
1104
1106
|
}
|
|
1107
|
+
/**
|
|
1108
|
+
* A `CadreControl.PendingJoin` row: a join this party asked for through another party's
|
|
1109
|
+
* invitation, readable by every machine of the party. Each outcome carries only its own
|
|
1110
|
+
* columns (the schema's `OutcomeShape` check): `'joined'` sets `StrandId` (and, for a
|
|
1111
|
+
* closed strand, `MembershipInvite`), `'failed'` sets `FailureCode`, and a pending row
|
|
1112
|
+
* (`Outcome: null`) sets neither.
|
|
1113
|
+
*/
|
|
1114
|
+
export interface PendingJoinRow {
|
|
1115
|
+
/** base64url sha256 of the invitation token (`pendingJoinId`). */
|
|
1116
|
+
Id: string;
|
|
1117
|
+
/** `CadreNode.encodeInvitation` of the invitation. A bearer credential. */
|
|
1118
|
+
Invitation: string;
|
|
1119
|
+
/** `canonicalJson` of the disclosure the requester gave. */
|
|
1120
|
+
Disclosure: string;
|
|
1121
|
+
/** Epoch ms. */
|
|
1122
|
+
RequestedAt: number;
|
|
1123
|
+
/** Epoch ms; no attempt starts at or after it. */
|
|
1124
|
+
ExpiresAt: number;
|
|
1125
|
+
Outcome: null | 'joined' | 'failed';
|
|
1126
|
+
/** Epoch ms the outcome was recorded; null while pending. */
|
|
1127
|
+
OutcomeAt: number | null;
|
|
1128
|
+
/** `'joined'`: the strand the formation returned. */
|
|
1129
|
+
StrandId: string | null;
|
|
1130
|
+
/** `'joined'`, closed strand: JSON of the {@link StrandMembershipInvite} the formation delivered. */
|
|
1131
|
+
MembershipInvite: string | null;
|
|
1132
|
+
/** `'failed'`: a `FormationRejectionCode`, `'expired'` or `'local'`. Not constrained by the schema. */
|
|
1133
|
+
FailureCode: string | null;
|
|
1134
|
+
/** `'failed'`: human-readable text. */
|
|
1135
|
+
FailureReason: string | null;
|
|
1136
|
+
/** Single-use nonce of this row incarnation; `ControlDatabase.replacePendingJoin` names it as the row it replaces. */
|
|
1137
|
+
StampId: string;
|
|
1138
|
+
}
|
|
1139
|
+
/**
|
|
1140
|
+
* A join this party asked for through `CadreNode.requestJoin`, as one machine sees it.
|
|
1141
|
+
*
|
|
1142
|
+
* `pending`, `joined` and `failed` come from the party-wide `PendingJoin` row and read the same
|
|
1143
|
+
* on every machine. `trying` (an attempt is running on this machine) and `waiting` (this
|
|
1144
|
+
* machine's last attempt failed in a way worth retrying) are this machine's own view of a
|
|
1145
|
+
* pending row, so two machines can report different states for it.
|
|
1146
|
+
*/
|
|
1147
|
+
export interface PendingJoinStatus {
|
|
1148
|
+
/** `PendingJoin.Id`: the sha256 of the invitation token. */
|
|
1149
|
+
id: string;
|
|
1150
|
+
sAppId: string;
|
|
1151
|
+
/** Epoch ms. */
|
|
1152
|
+
requestedAt: number;
|
|
1153
|
+
/** Epoch ms; no attempt starts at or after it. */
|
|
1154
|
+
expiresAt: number;
|
|
1155
|
+
state: 'pending' | 'trying' | 'waiting' | 'joined' | 'failed';
|
|
1156
|
+
/** `'waiting'`: when this machine tries again, epoch ms. */
|
|
1157
|
+
nextAttemptAt?: number;
|
|
1158
|
+
/**
|
|
1159
|
+
* `'waiting'`: why this machine's last attempt failed. `'unreachable'` means no answer came
|
|
1160
|
+
* back; `'local'` means the attempt failed on this machine before an answer.
|
|
1161
|
+
*/
|
|
1162
|
+
lastError?: {
|
|
1163
|
+
code: FormationRejectionCode | 'unrecognized' | 'unreachable' | 'local';
|
|
1164
|
+
reason: string;
|
|
1165
|
+
};
|
|
1166
|
+
/** `'joined'`: the strand the join produced. */
|
|
1167
|
+
strandId?: string;
|
|
1168
|
+
/** `'failed'`: a `FormationRejectionCode`, `'expired'`, or `'local'` (approved, then a step on the joining machine failed). */
|
|
1169
|
+
failure?: {
|
|
1170
|
+
code: string;
|
|
1171
|
+
reason: string;
|
|
1172
|
+
};
|
|
1173
|
+
}
|
|
1105
1174
|
/**
|
|
1106
1175
|
* sApp configuration provided by the hosting application when creating a strand.
|
|
1107
1176
|
* This is what the app developer provides - NOT loaded from the network.
|
|
@@ -1263,7 +1332,13 @@ export interface OpenInvitation {
|
|
|
1263
1332
|
sAppId: string;
|
|
1264
1333
|
/** When this invitation expires */
|
|
1265
1334
|
expiration: Date;
|
|
1266
|
-
/**
|
|
1335
|
+
/**
|
|
1336
|
+
* Addresses of the inviting party's machines, each ending in `/p2p/<peerId>`: the minting
|
|
1337
|
+
* machine's own first, then up to three of its siblings with up to four addresses each
|
|
1338
|
+
* (`CadreNode.createOpenInvitation`). A joiner tries the machines in order, one formation
|
|
1339
|
+
* session each, so an entry may be dead by the time it is used; one that names no machine
|
|
1340
|
+
* is ignored.
|
|
1341
|
+
*/
|
|
1267
1342
|
bootstrap: string[];
|
|
1268
1343
|
}
|
|
1269
1344
|
/**
|
|
@@ -1282,7 +1357,11 @@ export interface StrandMembershipInvite {
|
|
|
1282
1357
|
* The invite ed25519 PRIVATE seed (base64url). A single-use bearer credential:
|
|
1283
1358
|
* whoever holds it can `consumeInvite` exactly once. Same sensitivity class and
|
|
1284
1359
|
* handling as `memberPrivateKey` — delivered only inside the validated,
|
|
1285
|
-
* post-approval formation result
|
|
1360
|
+
* post-approval formation result. The inviting side never writes it to its control
|
|
1361
|
+
* DB. The joining side may copy it into its own `PendingJoin` row
|
|
1362
|
+
* (`MembershipInvite`), owner-signed and party-private like
|
|
1363
|
+
* `JoinedStrand.MemberPrivateKey`, so a join finished on one machine of the party
|
|
1364
|
+
* can be seated by whichever machine launches the strand first.
|
|
1286
1365
|
*/
|
|
1287
1366
|
invitePrivateKey: string;
|
|
1288
1367
|
}
|
|
@@ -1507,6 +1586,13 @@ export interface CadreNodeEvents {
|
|
|
1507
1586
|
* or connection state change.
|
|
1508
1587
|
*/
|
|
1509
1588
|
'control:write-abandoned': ControlRetryAbandonment;
|
|
1589
|
+
/**
|
|
1590
|
+
* Emitted when this machine's view of a join asked for with `CadreNode.requestJoin` changes:
|
|
1591
|
+
* its own attempt started or ended, or a pass read an outcome another owner machine wrote.
|
|
1592
|
+
* Owner machines only, since only they run the retry loop. A dismissed join emits nothing
|
|
1593
|
+
* further; `listPendingJoins` no longer names it.
|
|
1594
|
+
*/
|
|
1595
|
+
'pendingJoin:changed': PendingJoinStatus;
|
|
1510
1596
|
/** Emitted when a seed is received via the seed protocol */
|
|
1511
1597
|
'seed:received': {
|
|
1512
1598
|
partyId: string;
|