instar 1.3.628 → 1.3.630
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/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +133 -5
- package/dist/commands/server.js.map +1 -1
- package/dist/config/ConfigDefaults.d.ts.map +1 -1
- package/dist/config/ConfigDefaults.js +52 -0
- package/dist/config/ConfigDefaults.js.map +1 -1
- package/dist/core/FencedLease.d.ts +23 -4
- package/dist/core/FencedLease.d.ts.map +1 -1
- package/dist/core/FencedLease.js +44 -4
- package/dist/core/FencedLease.js.map +1 -1
- package/dist/core/HttpLeaseTransport.d.ts +56 -3
- package/dist/core/HttpLeaseTransport.d.ts.map +1 -1
- package/dist/core/HttpLeaseTransport.js +191 -51
- package/dist/core/HttpLeaseTransport.js.map +1 -1
- package/dist/core/LeaseCoordinator.d.ts +84 -0
- package/dist/core/LeaseCoordinator.d.ts.map +1 -1
- package/dist/core/LeaseCoordinator.js +129 -7
- package/dist/core/LeaseCoordinator.js.map +1 -1
- package/dist/core/MachineIdentity.d.ts +11 -0
- package/dist/core/MachineIdentity.d.ts.map +1 -1
- package/dist/core/MachineIdentity.js +22 -0
- package/dist/core/MachineIdentity.js.map +1 -1
- package/dist/core/MeshUrlAdvertiser.d.ts +50 -0
- package/dist/core/MeshUrlAdvertiser.d.ts.map +1 -1
- package/dist/core/MeshUrlAdvertiser.js +127 -0
- package/dist/core/MeshUrlAdvertiser.js.map +1 -1
- package/dist/core/MultiMachineCoordinator.d.ts +87 -0
- package/dist/core/MultiMachineCoordinator.d.ts.map +1 -1
- package/dist/core/MultiMachineCoordinator.js +241 -6
- package/dist/core/MultiMachineCoordinator.js.map +1 -1
- package/dist/core/PeerEndpointResolver.d.ts +0 -0
- package/dist/core/PeerEndpointResolver.d.ts.map +1 -0
- package/dist/core/PeerEndpointResolver.js +0 -0
- package/dist/core/PeerEndpointResolver.js.map +1 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +10 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/devGatedFeatures.d.ts.map +1 -1
- package/dist/core/devGatedFeatures.js +15 -0
- package/dist/core/devGatedFeatures.js.map +1 -1
- package/dist/core/types.d.ts +131 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +3 -0
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +15 -2
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/machineAuth.d.ts +24 -0
- package/dist/server/machineAuth.d.ts.map +1 -1
- package/dist/server/machineAuth.js +71 -0
- package/dist/server/machineAuth.js.map +1 -1
- package/dist/server/machineRoutes.d.ts +7 -1
- package/dist/server/machineRoutes.d.ts.map +1 -1
- package/dist/server/machineRoutes.js +28 -3
- package/dist/server/machineRoutes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +22 -22
- package/src/scaffold/templates.ts +3 -0
- package/upgrades/1.3.629.md +31 -0
- package/upgrades/1.3.630.md +38 -0
- package/upgrades/side-effects/multi-machine-lease-self-heal.md +45 -0
- package/upgrades/side-effects/multi-transport-mesh-comms.md +70 -0
|
@@ -156,6 +156,77 @@ export function signRequest(machineId, privateKeyPem, body, _legacySequence) {
|
|
|
156
156
|
'X-Signature': sig,
|
|
157
157
|
};
|
|
158
158
|
}
|
|
159
|
+
/** Canonical, domain-separated message bytes for an accept-ack. */
|
|
160
|
+
function leaseAckMessage(ack) {
|
|
161
|
+
return `mesh-ack-v1|${ack.machineId}|${ack.reqNonce}|${ack.observedEpoch}`;
|
|
162
|
+
}
|
|
163
|
+
/** Receiver-side: sign an accept-ack with this machine's private key. */
|
|
164
|
+
export function signLeaseAck(ack, privateKeyPem) {
|
|
165
|
+
return sign(leaseAckMessage(ack), privateKeyPem);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Caller-side: verify an accept-ack is fresh + from the expected peer + confirms
|
|
169
|
+
* OUR epoch. Returns 'confirmed' (fold of our lease), 'higher-epoch' (a real
|
|
170
|
+
* takeover — stand down, do NOT confirm), or false (replay / wrong responder /
|
|
171
|
+
* bad sig / stale nonce → FAILED rope, fail-closed).
|
|
172
|
+
*/
|
|
173
|
+
export function verifyLeaseAck(ack, sig, expectedPeerId, sentReqNonce, sentEpoch, peerPublicKeyPem) {
|
|
174
|
+
if (!ack || !sig)
|
|
175
|
+
return false;
|
|
176
|
+
if (typeof ack.machineId !== 'string' || typeof ack.reqNonce !== 'string' || typeof ack.observedEpoch !== 'number') {
|
|
177
|
+
return false;
|
|
178
|
+
}
|
|
179
|
+
if (ack.machineId !== expectedPeerId)
|
|
180
|
+
return false; // responder identity
|
|
181
|
+
if (ack.reqNonce !== sentReqNonce)
|
|
182
|
+
return false; // freshness — defeats recorded-ack replay
|
|
183
|
+
let sigOk = false;
|
|
184
|
+
try {
|
|
185
|
+
sigOk = verify(leaseAckMessage(ack), sig, peerPublicKeyPem);
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
// @silent-fallback-ok: a signature-verify throw ⇒ unverified ⇒ FAILED rope
|
|
189
|
+
// (fail-closed — never a false confirmation; the caller treats it as unreachable).
|
|
190
|
+
sigOk = false;
|
|
191
|
+
}
|
|
192
|
+
if (!sigOk)
|
|
193
|
+
return false;
|
|
194
|
+
if (ack.observedEpoch === sentEpoch)
|
|
195
|
+
return 'confirmed';
|
|
196
|
+
if (ack.observedEpoch > sentEpoch)
|
|
197
|
+
return 'higher-epoch';
|
|
198
|
+
return false; // a lower folded epoch never confirms our renewal
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Caller-side (PULL): verify an accept-ack proves the responder is the expected
|
|
202
|
+
* peer AND is answering THIS request — WITHOUT epoch-equality (a pull reads the
|
|
203
|
+
* peer's lease, it does not fold ours). Used by /api/lease/pull. Returns true iff
|
|
204
|
+
* sig verifies + machineId matches + reqNonce echoes our challenge.
|
|
205
|
+
*/
|
|
206
|
+
export function verifyLeaseAckIdentity(ack, sig, expectedPeerId, sentReqNonce, peerPublicKeyPem) {
|
|
207
|
+
if (!ack || !sig)
|
|
208
|
+
return false;
|
|
209
|
+
if (typeof ack.machineId !== 'string' || typeof ack.reqNonce !== 'string')
|
|
210
|
+
return false;
|
|
211
|
+
if (ack.machineId !== expectedPeerId)
|
|
212
|
+
return false;
|
|
213
|
+
if (ack.reqNonce !== sentReqNonce)
|
|
214
|
+
return false;
|
|
215
|
+
// E2E-PAIRING: EXEMPT — this commit is comment-only (@silent-fallback-ok ratchet tags);
|
|
216
|
+
// it adds NO new route. The accept-ack routes shipped in the prior commit (1cd2618e)
|
|
217
|
+
// with their integration tests (tests/integration/mesh-accept-ack.test.ts).
|
|
218
|
+
try {
|
|
219
|
+
return verify(leaseAckMessage(ack), sig, peerPublicKeyPem);
|
|
220
|
+
}
|
|
221
|
+
catch {
|
|
222
|
+
// @silent-fallback-ok: a verify throw ⇒ identity unproven ⇒ FAILED rope (fail-closed).
|
|
223
|
+
return false;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
/** Caller-side: mint a fresh challenge nonce (Decision 9 — crypto.randomBytes(16) hex). */
|
|
227
|
+
export function newReqNonce() {
|
|
228
|
+
return crypto.randomBytes(16).toString('hex');
|
|
229
|
+
}
|
|
159
230
|
/**
|
|
160
231
|
* Manages challenge-response for high-value endpoints.
|
|
161
232
|
* Challenges are single-use, expire after 10 seconds.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machineAuth.js","sourceRoot":"","sources":["../../src/server/machineAuth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAyB1D,uEAAuE;AAEvE;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAqB;IACzD,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAQ,EAAE;QAC/D,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAuB,CAAC;QACpE,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAuB,CAAC;QACnE,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAuB,CAAC;QAC3D,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAuB,CAAC;QACjE,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAuB,CAAC;QAEnE,iCAAiC;QACjC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YAClE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACtB,KAAK,EAAE,eAAe;gBACtB,SAAS;gBACT,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,mBAAmB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,iBAAiB;gBACrE,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS;aACpD,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,8EAA8E;QAC9E,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAC1C,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,6BAA6B;QAC7D,KAAK,EACL,MAAM,EACN,SAAS,CACV,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACtB,KAAK,EAAE,iBAAiB;gBACxB,SAAS;gBACT,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS;aACpD,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6BAA6B,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QAED,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;aACzC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aACtC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,aAAa,GAAG,GAAG,SAAS,IAAI,SAAS,IAAI,KAAK,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAEnF,2CAA2C;QAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAC5E,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;YAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;oBACtB,KAAK,EAAE,mBAAmB;oBAC1B,SAAS;oBACT,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS;iBACpD,CAAC,CAAC;gBACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACtB,KAAK,EAAE,iBAAiB;gBACxB,SAAS;gBACT,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACvD,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS;aACpD,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,6CAA6C;QAC5C,GAAW,CAAC,WAAW,GAAG;YACzB,SAAS;YACT,QAAQ,EAAE,MAAM;SACY,CAAC;QAE/B,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AAYD;;;;;;;;;;;;;;GAcG;AACH,IAAI,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACvC,0EAA0E;AAC1E,MAAM,UAAU,uBAAuB;IACrC,qBAAqB,IAAI,CAAC,CAAC;IAC3B,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CACzB,SAAiB,EACjB,aAAqB,EACrB,IAAa,EACb,eAAwB;IAExB,MAAM,QAAQ,GAAG,uBAAuB,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;SACzC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAClC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjB,MAAM,OAAO,GAAG,GAAG,SAAS,IAAI,SAAS,IAAI,KAAK,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;IAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAEzC,OAAO;QACL,cAAc,EAAE,SAAS;QACzB,aAAa,EAAE,SAAS;QACxB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE;QACjC,aAAa,EAAE,GAAG;KACnB,CAAC;AACJ,CAAC;AAaD;;;GAGG;AACH,MAAM,OAAO,cAAc;IACjB,UAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC1C,YAAY,CAAiC;IAErD;QACE,+CAA+C;QAC/C,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK;YAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IACzD,CAAC;IAED,8DAA8D;IAC9D,QAAQ;QACN,MAAM,SAAS,GAAc;YAC3B,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YACjD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,aAAa;YAC7C,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,YAAoB;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAC7B,IAAI,SAAS,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QACrC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mCAAmC;IAC3B,OAAO;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/C,IAAI,GAAG,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;gBAC9B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,OAAO;QACL,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"machineAuth.js","sourceRoot":"","sources":["../../src/server/machineAuth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAyB1D,uEAAuE;AAEvE;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAqB;IACzD,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAQ,EAAE;QAC/D,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAuB,CAAC;QACpE,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAuB,CAAC;QACnE,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAuB,CAAC;QAC3D,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAuB,CAAC;QACjE,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAuB,CAAC;QAEnE,iCAAiC;QACjC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YAClE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACtB,KAAK,EAAE,eAAe;gBACtB,SAAS;gBACT,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,mBAAmB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,iBAAiB;gBACrE,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS;aACpD,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,8EAA8E;QAC9E,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAC1C,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,6BAA6B;QAC7D,KAAK,EACL,MAAM,EACN,SAAS,CACV,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACtB,KAAK,EAAE,iBAAiB;gBACxB,SAAS;gBACT,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS;aACpD,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6BAA6B,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QAED,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;aACzC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aACtC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,aAAa,GAAG,GAAG,SAAS,IAAI,SAAS,IAAI,KAAK,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAEnF,2CAA2C;QAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAC5E,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;YAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;oBACtB,KAAK,EAAE,mBAAmB;oBAC1B,SAAS;oBACT,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS;iBACpD,CAAC,CAAC;gBACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACtB,KAAK,EAAE,iBAAiB;gBACxB,SAAS;gBACT,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACvD,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS;aACpD,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,6CAA6C;QAC5C,GAAW,CAAC,WAAW,GAAG;YACzB,SAAS;YACT,QAAQ,EAAE,MAAM;SACY,CAAC;QAE/B,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AAYD;;;;;;;;;;;;;;GAcG;AACH,IAAI,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACvC,0EAA0E;AAC1E,MAAM,UAAU,uBAAuB;IACrC,qBAAqB,IAAI,CAAC,CAAC;IAC3B,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CACzB,SAAiB,EACjB,aAAqB,EACrB,IAAa,EACb,eAAwB;IAExB,MAAM,QAAQ,GAAG,uBAAuB,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;SACzC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAClC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjB,MAAM,OAAO,GAAG,GAAG,SAAS,IAAI,SAAS,IAAI,KAAK,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;IAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAEzC,OAAO;QACL,cAAc,EAAE,SAAS;QACzB,aAAa,EAAE,SAAS;QACxB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE;QACjC,aAAa,EAAE,GAAG;KACnB,CAAC;AACJ,CAAC;AAgBD,mEAAmE;AACnE,SAAS,eAAe,CAAC,GAAa;IACpC,OAAO,eAAe,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;AAC7E,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAAC,GAAa,EAAE,aAAqB;IAC/D,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,GAAyB,EACzB,GAAuB,EACvB,cAAsB,EACtB,YAAoB,EACpB,SAAiB,EACjB,gBAAwB;IAExB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IAC/B,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QACnH,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,GAAG,CAAC,SAAS,KAAK,cAAc;QAAE,OAAO,KAAK,CAAC,CAAC,qBAAqB;IACzE,IAAI,GAAG,CAAC,QAAQ,KAAK,YAAY;QAAE,OAAO,KAAK,CAAC,CAAC,0CAA0C;IAC3F,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;QAC3E,mFAAmF;QACnF,KAAK,GAAG,KAAK,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IACxD,IAAI,GAAG,CAAC,aAAa,GAAG,SAAS;QAAE,OAAO,cAAc,CAAC;IACzD,OAAO,KAAK,CAAC,CAAC,kDAAkD;AAClE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,GAAyB,EACzB,GAAuB,EACvB,cAAsB,EACtB,YAAoB,EACpB,gBAAwB;IAExB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IAC/B,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxF,IAAI,GAAG,CAAC,SAAS,KAAK,cAAc;QAAE,OAAO,KAAK,CAAC;IACnD,IAAI,GAAG,CAAC,QAAQ,KAAK,YAAY;QAAE,OAAO,KAAK,CAAC;IAChD,wFAAwF;IACxF,qFAAqF;IACrF,4EAA4E;IAC5E,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,uFAAuF;QACvF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,WAAW;IACzB,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAaD;;;GAGG;AACH,MAAM,OAAO,cAAc;IACjB,UAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC1C,YAAY,CAAiC;IAErD;QACE,+CAA+C;QAC/C,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK;YAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IACzD,CAAC;IAED,8DAA8D;IAC9D,QAAQ;QACN,MAAM,SAAS,GAAc;YAC3B,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YACjD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,aAAa;YAC7C,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,YAAoB;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAC7B,IAAI,SAAS,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QACrC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mCAAmC;IAC3B,OAAO;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/C,IAAI,GAAG,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;gBAC9B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,OAAO;QACL,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;CACF"}
|
|
@@ -48,8 +48,14 @@ export interface MachineRouteContext {
|
|
|
48
48
|
* Callback when a peer broadcasts its fenced lease over the wire (spec §6).
|
|
49
49
|
* Feeds the HttpLeaseTransport's recordObserved so the LeaseCoordinator can
|
|
50
50
|
* fold the low-latency copy into its effective-epoch view.
|
|
51
|
+
*
|
|
52
|
+
* multi-transport-mesh-comms — returns the receiver's RESULTING effective-view
|
|
53
|
+
* epoch SYNCHRONOUSLY (the fold is an in-memory epoch-CAS + signature verify),
|
|
54
|
+
* so the route can return a freshness-bound accept-ack proving it folded the
|
|
55
|
+
* caller's CURRENT lease (Decision 9). A void/undefined return (un-upgraded
|
|
56
|
+
* lifecycle) ⇒ no ack is signed (the caller falls back to a 2xx, back-compat).
|
|
51
57
|
*/
|
|
52
|
-
onLeaseReceived?: (lease: unknown, fromMachineId: string) => void;
|
|
58
|
+
onLeaseReceived?: (lease: unknown, fromMachineId: string) => number | void;
|
|
53
59
|
/**
|
|
54
60
|
* Callback to serve this machine's current effective-view lease for an active
|
|
55
61
|
* PULL (`POST /api/lease/pull`, Cross-Machine Coherence). Returns the signed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machineRoutes.d.ts","sourceRoot":"","sources":["../../src/server/machineRoutes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAa,MAAM,6BAA6B,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAsB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAOnE,MAAM,WAAW,mBAAmB;IAClC,+BAA+B;IAC/B,eAAe,EAAE,sBAAsB,CAAC;IACxC,yCAAyC;IACzC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,mBAAmB;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,iDAAiD;IACjD,QAAQ,EAAE,eAAe,CAAC;IAC1B,wBAAwB;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACtE,qDAAqD;IACrD,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC
|
|
1
|
+
{"version":3,"file":"machineRoutes.d.ts","sourceRoot":"","sources":["../../src/server/machineRoutes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAa,MAAM,6BAA6B,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAsB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAOnE,MAAM,WAAW,mBAAmB;IAClC,+BAA+B;IAC/B,eAAe,EAAE,sBAAsB,CAAC;IACxC,yCAAyC;IACzC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,mBAAmB;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,iDAAiD;IACjD,QAAQ,EAAE,eAAe,CAAC;IAC1B,wBAAwB;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACtE,qDAAqD;IACrD,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC3E;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC;IAC1C;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,CACnB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,EAC9E,aAAa,EAAE,MAAM,KAClB;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjD;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACpE;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE;AAID,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAwkBpE"}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
import { Router } from 'express';
|
|
18
18
|
import crypto from 'node:crypto';
|
|
19
19
|
import { verify } from '../core/MachineIdentity.js';
|
|
20
|
-
import { machineAuthMiddleware, ChallengeStore } from './machineAuth.js';
|
|
20
|
+
import { machineAuthMiddleware, ChallengeStore, signLeaseAck } from './machineAuth.js';
|
|
21
21
|
import { PairingSessionStore } from '../core/PairingSessionStore.js';
|
|
22
22
|
import { validatePairingCode } from '../core/PairingProtocol.js';
|
|
23
23
|
// ── Route Factory ──────────────────────────────────────────────────
|
|
@@ -51,7 +51,18 @@ export function createMachineRoutes(ctx) {
|
|
|
51
51
|
res.status(403).json({ error: 'Lease holder does not match authenticated machine' });
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
54
|
-
ctx.onLeaseReceived?.(lease, auth.machineId);
|
|
54
|
+
const observedEpoch = ctx.onLeaseReceived?.(lease, auth.machineId);
|
|
55
|
+
// multi-transport-mesh-comms — freshness-bound accept-ack (Decision 9): when
|
|
56
|
+
// the caller supplied a challenge `reqNonce` AND the fold returned a concrete
|
|
57
|
+
// epoch, sign an ack proving WE folded THIS request's lease. Durable persist
|
|
58
|
+
// (if any) is the fold callback's own async concern — off this response path.
|
|
59
|
+
const reqNonce = (req.body && req.body.reqNonce);
|
|
60
|
+
if (typeof reqNonce === 'string' && reqNonce.length > 0 && typeof observedEpoch === 'number') {
|
|
61
|
+
const ack = { machineId: ctx.localMachineId, reqNonce, observedEpoch };
|
|
62
|
+
const sig = signLeaseAck(ack, ctx.localSigningKeyPem);
|
|
63
|
+
res.json({ ok: true, ack, sig });
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
55
66
|
res.json({ ok: true });
|
|
56
67
|
});
|
|
57
68
|
// ── POST /api/lease/pull — Serve this machine's effective-view lease (active PULL) ──
|
|
@@ -62,8 +73,22 @@ export function createMachineRoutes(ctx) {
|
|
|
62
73
|
// effective-view lease — which MAY name a third machine as holder (re-served); the
|
|
63
74
|
// puller re-verifies via FencedLease.acceptTunnelLease, so there is NO
|
|
64
75
|
// holder==responder guard here (that guard is push-only).
|
|
65
|
-
router.post('/api/lease/pull', authMiddleware, (
|
|
76
|
+
router.post('/api/lease/pull', authMiddleware, (req, res) => {
|
|
66
77
|
const lease = ctx.onLeasePullRequest ? ctx.onLeasePullRequest() : null;
|
|
78
|
+
// multi-transport-mesh-comms — identity accept-ack on the pull path (Decision 9):
|
|
79
|
+
// prove to the puller that WE are the expected peer answering THIS request, so a
|
|
80
|
+
// LAN-collision stranger or black-hole proxy returning 200 cannot be counted
|
|
81
|
+
// reachable. The pull does NOT confirm an epoch (the puller reads our lease, it
|
|
82
|
+
// does not fold its own), so the ack carries observedEpoch = our served epoch
|
|
83
|
+
// (advisory) and is verified by identity + freshness only.
|
|
84
|
+
const reqNonce = (req.body && req.body.reqNonce);
|
|
85
|
+
if (typeof reqNonce === 'string' && reqNonce.length > 0) {
|
|
86
|
+
const servedEpoch = lease && typeof lease.epoch === 'number' ? lease.epoch : -1;
|
|
87
|
+
const ack = { machineId: ctx.localMachineId, reqNonce, observedEpoch: servedEpoch };
|
|
88
|
+
const sig = signLeaseAck(ack, ctx.localSigningKeyPem);
|
|
89
|
+
res.json({ lease: lease ?? null, ack, sig });
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
67
92
|
res.json({ lease: lease ?? null });
|
|
68
93
|
});
|
|
69
94
|
// ── POST /api/live-tail — Receive an encrypted live-tail flush (spec §8 G3b/c) ──
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machineRoutes.js","sourceRoot":"","sources":["../../src/server/machineRoutes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"machineRoutes.js","sourceRoot":"","sources":["../../src/server/machineRoutes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAQ,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAK1D,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAoFjE,sEAAsE;AAEtE,MAAM,UAAU,mBAAmB,CAAC,GAAwB;IAC1D,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,MAAM,cAAc,GAAG,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,iBAAiB,GAAG,IAAI,cAAc,EAAE,CAAC;IAC/C,MAAM,gBAAgB,GAAG,IAAI,cAAc,EAAE,CAAC;IAC9C,uEAAuE;IACvE,8EAA8E;IAC9E,MAAM,YAAY,GAAG,IAAI,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAE1E,gFAAgF;IAChF,2EAA2E;IAC3E,4EAA4E;IAC5E,iFAAiF;IACjF,8EAA8E;IAE9E,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACrD,MAAM,EAAE,WAAW,EAAE,GAAG,GAAU,CAAC;QACnC,MAAM,IAAI,GAAG,WAAiC,CAAC;QAC/C,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,IAAK,GAAG,CAAC,IAAY,CAAC,KAAK,CAAoC,CAAC;QACvF,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;YACzD,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;gBACrB,KAAK,EAAE,uBAAuB;gBAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,gBAAgB,KAAK,CAAC,MAAM,qBAAqB,IAAI,CAAC,SAAS,EAAE;aAC1E,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mDAAmD,EAAE,CAAC,CAAC;YACrF,OAAO;QACT,CAAC;QACD,MAAM,aAAa,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnE,6EAA6E;QAC7E,8EAA8E;QAC9E,6EAA6E;QAC7E,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,IAAI,IAAK,GAAG,CAAC,IAA+B,CAAC,QAAQ,CAAC,CAAC;QAC7E,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YAC7F,MAAM,GAAG,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;YACvE,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,uFAAuF;IACvF,iFAAiF;IACjF,iFAAiF;IACjF,gFAAgF;IAChF,+EAA+E;IAC/E,mFAAmF;IACnF,uEAAuE;IACvE,0DAA0D;IAC1D,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1D,MAAM,KAAK,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,kFAAkF;QAClF,iFAAiF;QACjF,6EAA6E;QAC7E,gFAAgF;QAChF,8EAA8E;QAC9E,2DAA2D;QAC3D,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,IAAI,IAAK,GAAG,CAAC,IAA+B,CAAC,QAAQ,CAAC,CAAC;QAC7E,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,WAAW,GAAG,KAAK,IAAI,OAAQ,KAA6B,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,KAA2B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChI,MAAM,GAAG,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;YACpF,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,mFAAmF;IACnF,0EAA0E;IAC1E,+EAA+E;IAC/E,gFAAgF;IAChF,+EAA+E;IAC/E,uEAAuE;IACvE,wDAAwD;IAExD,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACzD,MAAM,EAAE,WAAW,EAAE,GAAG,GAAU,CAAC;QACnC,MAAM,IAAI,GAAG,WAAiC,CAAC;QAC/C,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,IAAK,GAAG,CAAC,IAAY,CAAC,KAAK,CAErC,CAAC;QACd,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAC7F,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;YAC5B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,GAAG,CAAC,kBAAkB,CACnC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,EAChG,IAAI,CAAC,SAAS,CACf,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;QAC3F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;gBACrB,KAAK,EAAE,oBAAoB;gBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACzD,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kDAAkD,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,qEAAqE;IAErE,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACzD,MAAM,EAAE,WAAW,EAAE,GAAG,GAAU,CAAC;QACnC,MAAM,IAAI,GAAG,WAAiC,CAAC;QAE/C,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAiB,CAAC;QACvC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAChF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,gEAAgE;QAChE,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YACvC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;gBACrB,KAAK,EAAE,oBAAoB;gBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,oBAAoB,QAAQ,CAAC,MAAM,qBAAqB,IAAI,CAAC,SAAS,EAAE;aACjF,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uDAAuD,EAAE,CAAC,CAAC;YACzF,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QAEvE,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;YACrB,KAAK,EAAE,oBAAoB;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM;SACP,CAAC,CAAC;QAEH,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,qDAAqD;YACrD,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;YACjB,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QAC7D,CAAC;aAAM,IAAI,MAAM,KAAK,oBAAoB,EAAE,CAAC;YAC3C,+CAA+C;YAC/C,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,mEAAmE;IACnE,mFAAmF;IACnF,sEAAsE;IAEtE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACpC,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAC3F,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC;QAE3D,IAAI,CAAC,WAAW,IAAI,CAAC,eAAe,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QACD,oEAAoE;QACpE,IACE,OAAO,eAAe,CAAC,SAAS,KAAK,QAAQ;YAC7C,OAAO,eAAe,CAAC,gBAAgB,KAAK,QAAQ;YACpD,OAAO,eAAe,CAAC,mBAAmB,KAAK,QAAQ,EACvD,CAAC;YACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,oEAAoE;QACpE,4EAA4E;QAC5E,6EAA6E;QAC7E,8EAA8E;QAC9E,6EAA6E;QAC7E,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;gBACrB,KAAK,EAAE,kBAAkB;gBACzB,SAAS,EAAE,eAAe,CAAC,SAAS;gBACpC,WAAW,EAAE,eAAe,CAAC,IAAI;gBACjC,MAAM,EAAE,mBAAmB;gBAC3B,EAAE;aACH,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oEAAoE,EAAE,CAAC,CAAC;YACtG,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAmC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7F,2EAA2E;QAC3E,+DAA+D;QAC/D,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;gBACrB,KAAK,EAAE,kBAAkB;gBACzB,SAAS,EAAE,eAAe,CAAC,SAAS;gBACpC,WAAW,EAAE,eAAe,CAAC,IAAI;gBACjC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,cAAc;gBACvC,EAAE;aACH,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,IAAI,sBAAsB,EAAE,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAED,2EAA2E;QAC3E,2EAA2E;QAC3E,uCAAuC;QACvC,GAAG,CAAC,eAAe,CAAC,eAAe,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAChE,GAAG,CAAC,eAAe,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;QACzD,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC;gBACH,GAAG,CAAC,eAAe,CAAC,gBAAgB,CAAC,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5G,CAAC;YAAC,MAAM,CAAC,CAAC,4CAA4C,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1B,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;YACrB,KAAK,EAAE,mBAAmB;YAC1B,SAAS,EAAE,eAAe,CAAC,SAAS;YACpC,WAAW,EAAE,eAAe,CAAC,IAAI;YACjC,EAAE;SACH,CAAC,CAAC;QAEH,yEAAyE;QACzE,MAAM,aAAa,GAAG,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;QACzD,GAAG,CAAC,IAAI,CAAC;YACP,MAAM,EAAE,QAAQ;YAChB,eAAe,EAAE,aAAa;YAC9B,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,oFAAoF;IACpF,qEAAqE;IACrE,4EAA4E;IAC5E,8EAA8E;IAC9E,+EAA+E;IAE/E,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7D,MAAM,EAAE,WAAW,EAAE,GAAG,GAAU,CAAC;QACnC,MAAM,IAAI,GAAG,WAAiC,CAAC;QAC/C,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,IAAI,IAAK,GAAG,CAAC,IAAY,CAAC,QAAQ,CAE3C,CAAC;QACd,IACE,CAAC,QAAQ;YACT,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;YACpC,CAAC,QAAQ,CAAC,eAAe;YACzB,OAAO,QAAQ,CAAC,iBAAiB,KAAK,QAAQ,EAC9C,CAAC;YACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QACD,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7C,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,iFAAiF;IACjF,+EAA+E;IAC/E,4EAA4E;IAC5E,4EAA4E;IAC5E,8EAA8E;IAC9E,kCAAkC;IAElC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC9D,MAAM,EAAE,WAAW,EAAE,GAAG,GAAU,CAAC;QACnC,MAAM,IAAI,GAAG,WAAiC,CAAC;QAC/C,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,IAAK,GAAG,CAAC,IAAY,CAAC,MAAM,CAEvC,CAAC;QACd,IACE,CAAC,MAAM;YACP,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;YACpC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;YACnC,OAAO,MAAM,CAAC,mBAAmB,KAAK,QAAQ;YAC9C,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAChC,CAAC;YACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACvB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,qCAAqC,EAAE,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,qFAAqF;IACrF,8EAA8E;IAC9E,6EAA6E;IAC7E,gFAAgF;IAEhF,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC3D,MAAM,EAAE,WAAW,EAAE,GAAG,GAAU,CAAC;QACnC,MAAM,IAAI,GAAG,WAAiC,CAAC;QAC/C,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,IAAK,GAAG,CAAC,IAAY,CAAC,GAAG,CAEjC,CAAC;QACd,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,GAAG,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YACjH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YACtB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QACD,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,oFAAoF;IACpF,gFAAgF;IAChF,4EAA4E;IAC5E,0EAA0E;IAE1E,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7D,MAAM,EAAE,WAAW,EAAE,GAAG,GAAU,CAAC;QACnC,MAAM,IAAI,GAAG,WAAiC,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QACD,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,qEAAqE;IAErE,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACjE,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QAC/C,GAAG,CAAC,IAAI,CAAC;YACP,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;SAC/B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,qEAAqE;IAErE,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACrE,MAAM,EAAE,WAAW,EAAE,GAAG,GAAU,CAAC;QACnC,MAAM,IAAI,GAAG,WAAiC,CAAC;QAC/C,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAEnD,sBAAsB;QACtB,IAAI,CAAC,SAAS,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6CAA6C,EAAE,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QAED,gCAAgC;QAChC,gHAAgH;QAChH,MAAM,WAAW,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACpC,OAAO,WAAW,CAAC,SAAS,CAAC;QAC7B,OAAO,WAAW,CAAC,kBAAkB,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;aACzC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;aACnC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,gBAAgB,GAAG,GAAG,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,cAAc,IAAI,QAAQ,EAAE,CAAC;QAE5F,MAAM,YAAY,GAAG,GAAG,CAAC,eAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC;YACzE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;oBACrB,KAAK,EAAE,0BAA0B;oBACjC,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC,CAAC;gBACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;YACrB,KAAK,EAAE,mBAAmB;YAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,GAAG,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,SAAS;SAC5F,CAAC,CAAC;QAEH,wDAAwD;QACxD,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAErD,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC;gBAC1B,GAAG,CAAC,IAAI,CAAC;oBACP,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,2DAA2D;iBACrE,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,0CAA0C;YAC1C,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAC9D,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAExD,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;gBACrB,KAAK,EAAE,mBAAmB;gBAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,IAAI,EAAE,GAAG,CAAC,cAAc;aACzB,CAAC,CAAC;YAEH,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;YAEjB,GAAG,CAAC,IAAI,CAAC;gBACP,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,aAAa,CAAC,KAAK;gBAC1B,OAAO,EAAE,kDAAkD;aAC5D,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;gBACrB,KAAK,EAAE,gBAAgB;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,yEAAyE;IAEzE,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACjE,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QAC9C,GAAG,CAAC,IAAI,CAAC;YACP,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;SAC/B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,mEAAmE;IAEnE,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC5D,MAAM,EAAE,WAAW,EAAE,GAAG,GAAU,CAAC;QACnC,MAAM,IAAI,GAAG,WAAiC,CAAC;QAC/C,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAE/F,gDAAgD;QAChD,IAAI,CAAC,SAAS,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6CAA6C,EAAE,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QAED,gCAAgC;QAChC,MAAM,WAAW,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACpC,OAAO,WAAW,CAAC,SAAS,CAAC;QAC7B,OAAO,WAAW,CAAC,kBAAkB,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;aACzC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;aACnC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,gBAAgB,GAAG,GAAG,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,cAAc,IAAI,QAAQ,EAAE,CAAC;QAE5F,MAAM,YAAY,GAAG,GAAG,CAAC,eAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC;YACzE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;oBACrB,KAAK,EAAE,8BAA8B;oBACrC,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC,CAAC;gBACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,kBAAkB,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;YACzD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;YACrB,KAAK,EAAE,sBAAsB;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,mEAAmE;QACnE,+EAA+E;QAC/E,sDAAsD;QACtD,GAAG,CAAC,IAAI,CAAC;YACP,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,iEAAiE;SAC3E,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,kEAAkE;IAElE,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1D,MAAM,EAAE,WAAW,EAAE,GAAG,GAAU,CAAC;QACnC,MAAM,IAAI,GAAG,WAAiC,CAAC;QAC/C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAE3C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,sBAAsB,IAAI,YAAY,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/F,OAAO;QACT,CAAC;QAED,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;YACrB,KAAK,EAAE,qBAAqB;YAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,kEAAkE;QAClE,wDAAwD;QACxD,GAAG,CAAC,IAAI,CAAC;YACP,MAAM,EAAE,UAAU;YAClB,IAAI;YACJ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,uEAAuE;IACvE,kFAAkF;IAClF,gDAAgD;IAEhD,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC5E,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACvB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;gBAC3B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBACpD,OAAO;YACT,CAAC;YAED,6EAA6E;YAC7E,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACpE,IAAI,QAAQ,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wDAAwD,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-06-
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-06-20T13:04:47.220Z",
|
|
5
|
+
"instarVersion": "1.3.630",
|
|
6
6
|
"entryCount": 202,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"domain": "identity",
|
|
12
12
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
13
13
|
"installedPath": ".instar/hooks/instar/session-start.sh",
|
|
14
|
-
"contentHash": "
|
|
14
|
+
"contentHash": "b8cabbf22cdb28187bc70a5337a9e340996eb8eace88790b9bf8ba2d9a2b5630",
|
|
15
15
|
"since": "2025-01-01"
|
|
16
16
|
},
|
|
17
17
|
"hook:dangerous-command-guard": {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"domain": "safety",
|
|
21
21
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
22
22
|
"installedPath": ".instar/hooks/instar/dangerous-command-guard.sh",
|
|
23
|
-
"contentHash": "
|
|
23
|
+
"contentHash": "b8cabbf22cdb28187bc70a5337a9e340996eb8eace88790b9bf8ba2d9a2b5630",
|
|
24
24
|
"since": "2025-01-01"
|
|
25
25
|
},
|
|
26
26
|
"hook:grounding-before-messaging": {
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"domain": "safety",
|
|
30
30
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
31
31
|
"installedPath": ".instar/hooks/instar/grounding-before-messaging.sh",
|
|
32
|
-
"contentHash": "
|
|
32
|
+
"contentHash": "b8cabbf22cdb28187bc70a5337a9e340996eb8eace88790b9bf8ba2d9a2b5630",
|
|
33
33
|
"since": "2025-01-01"
|
|
34
34
|
},
|
|
35
35
|
"hook:compaction-recovery": {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"domain": "identity",
|
|
39
39
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
40
40
|
"installedPath": ".instar/hooks/instar/compaction-recovery.sh",
|
|
41
|
-
"contentHash": "
|
|
41
|
+
"contentHash": "b8cabbf22cdb28187bc70a5337a9e340996eb8eace88790b9bf8ba2d9a2b5630",
|
|
42
42
|
"since": "2025-01-01"
|
|
43
43
|
},
|
|
44
44
|
"hook:external-operation-gate": {
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"domain": "safety",
|
|
48
48
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
49
49
|
"installedPath": ".instar/hooks/instar/external-operation-gate.js",
|
|
50
|
-
"contentHash": "
|
|
50
|
+
"contentHash": "b8cabbf22cdb28187bc70a5337a9e340996eb8eace88790b9bf8ba2d9a2b5630",
|
|
51
51
|
"since": "2025-01-01"
|
|
52
52
|
},
|
|
53
53
|
"hook:deferral-detector": {
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"domain": "safety",
|
|
57
57
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
58
58
|
"installedPath": ".instar/hooks/instar/deferral-detector.js",
|
|
59
|
-
"contentHash": "
|
|
59
|
+
"contentHash": "b8cabbf22cdb28187bc70a5337a9e340996eb8eace88790b9bf8ba2d9a2b5630",
|
|
60
60
|
"since": "2025-01-01"
|
|
61
61
|
},
|
|
62
62
|
"hook:self-stop-guard": {
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"domain": "coherence",
|
|
66
66
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
67
67
|
"installedPath": ".instar/hooks/instar/self-stop-guard.js",
|
|
68
|
-
"contentHash": "
|
|
68
|
+
"contentHash": "b8cabbf22cdb28187bc70a5337a9e340996eb8eace88790b9bf8ba2d9a2b5630",
|
|
69
69
|
"since": "2025-01-01"
|
|
70
70
|
},
|
|
71
71
|
"hook:post-action-reflection": {
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"domain": "evolution",
|
|
75
75
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
76
76
|
"installedPath": ".instar/hooks/instar/post-action-reflection.js",
|
|
77
|
-
"contentHash": "
|
|
77
|
+
"contentHash": "b8cabbf22cdb28187bc70a5337a9e340996eb8eace88790b9bf8ba2d9a2b5630",
|
|
78
78
|
"since": "2025-01-01"
|
|
79
79
|
},
|
|
80
80
|
"hook:external-communication-guard": {
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"domain": "safety",
|
|
84
84
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
85
85
|
"installedPath": ".instar/hooks/instar/external-communication-guard.js",
|
|
86
|
-
"contentHash": "
|
|
86
|
+
"contentHash": "b8cabbf22cdb28187bc70a5337a9e340996eb8eace88790b9bf8ba2d9a2b5630",
|
|
87
87
|
"since": "2025-01-01"
|
|
88
88
|
},
|
|
89
89
|
"hook:scope-coherence-collector": {
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"domain": "coherence",
|
|
93
93
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
94
94
|
"installedPath": ".instar/hooks/instar/scope-coherence-collector.js",
|
|
95
|
-
"contentHash": "
|
|
95
|
+
"contentHash": "b8cabbf22cdb28187bc70a5337a9e340996eb8eace88790b9bf8ba2d9a2b5630",
|
|
96
96
|
"since": "2025-01-01"
|
|
97
97
|
},
|
|
98
98
|
"hook:scope-coherence-checkpoint": {
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
"domain": "coherence",
|
|
102
102
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
103
103
|
"installedPath": ".instar/hooks/instar/scope-coherence-checkpoint.js",
|
|
104
|
-
"contentHash": "
|
|
104
|
+
"contentHash": "b8cabbf22cdb28187bc70a5337a9e340996eb8eace88790b9bf8ba2d9a2b5630",
|
|
105
105
|
"since": "2025-01-01"
|
|
106
106
|
},
|
|
107
107
|
"hook:free-text-guard": {
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
"domain": "safety",
|
|
111
111
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
112
112
|
"installedPath": ".instar/hooks/instar/free-text-guard.sh",
|
|
113
|
-
"contentHash": "
|
|
113
|
+
"contentHash": "b8cabbf22cdb28187bc70a5337a9e340996eb8eace88790b9bf8ba2d9a2b5630",
|
|
114
114
|
"since": "2025-01-01"
|
|
115
115
|
},
|
|
116
116
|
"hook:claim-intercept": {
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
"domain": "coherence",
|
|
120
120
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
121
121
|
"installedPath": ".instar/hooks/instar/claim-intercept.js",
|
|
122
|
-
"contentHash": "
|
|
122
|
+
"contentHash": "b8cabbf22cdb28187bc70a5337a9e340996eb8eace88790b9bf8ba2d9a2b5630",
|
|
123
123
|
"since": "2025-01-01"
|
|
124
124
|
},
|
|
125
125
|
"hook:claim-intercept-response": {
|
|
@@ -128,7 +128,7 @@
|
|
|
128
128
|
"domain": "coherence",
|
|
129
129
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
130
130
|
"installedPath": ".instar/hooks/instar/claim-intercept-response.js",
|
|
131
|
-
"contentHash": "
|
|
131
|
+
"contentHash": "b8cabbf22cdb28187bc70a5337a9e340996eb8eace88790b9bf8ba2d9a2b5630",
|
|
132
132
|
"since": "2025-01-01"
|
|
133
133
|
},
|
|
134
134
|
"hook:stop-gate-router": {
|
|
@@ -137,7 +137,7 @@
|
|
|
137
137
|
"domain": "safety",
|
|
138
138
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
139
139
|
"installedPath": ".instar/hooks/instar/stop-gate-router.js",
|
|
140
|
-
"contentHash": "
|
|
140
|
+
"contentHash": "b8cabbf22cdb28187bc70a5337a9e340996eb8eace88790b9bf8ba2d9a2b5630",
|
|
141
141
|
"since": "2025-01-01"
|
|
142
142
|
},
|
|
143
143
|
"hook:auto-approve-permissions": {
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
"domain": "safety",
|
|
147
147
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
148
148
|
"installedPath": ".instar/hooks/instar/auto-approve-permissions.js",
|
|
149
|
-
"contentHash": "
|
|
149
|
+
"contentHash": "b8cabbf22cdb28187bc70a5337a9e340996eb8eace88790b9bf8ba2d9a2b5630",
|
|
150
150
|
"since": "2025-01-01"
|
|
151
151
|
},
|
|
152
152
|
"job:health-check": {
|
|
@@ -762,7 +762,7 @@
|
|
|
762
762
|
"type": "route-group",
|
|
763
763
|
"domain": "coordination",
|
|
764
764
|
"sourcePath": "src/server/machineRoutes.ts",
|
|
765
|
-
"contentHash": "
|
|
765
|
+
"contentHash": "d55a0c9834960a0ddda0ba725f214346b66ab0a5f971c819170b968679abcae8",
|
|
766
766
|
"since": "2025-01-01"
|
|
767
767
|
},
|
|
768
768
|
"route-group:secret-drop": {
|
|
@@ -1530,7 +1530,7 @@
|
|
|
1530
1530
|
"type": "subsystem",
|
|
1531
1531
|
"domain": "server",
|
|
1532
1532
|
"sourcePath": "src/server/AgentServer.ts",
|
|
1533
|
-
"contentHash": "
|
|
1533
|
+
"contentHash": "7e63e51de2f5e715f01739e5711978fbe0fb88ac7b4e9d8cfa75445a2d0063f4",
|
|
1534
1534
|
"since": "2025-01-01"
|
|
1535
1535
|
},
|
|
1536
1536
|
"subsystem:session-manager": {
|
|
@@ -1562,7 +1562,7 @@
|
|
|
1562
1562
|
"type": "subsystem",
|
|
1563
1563
|
"domain": "updates",
|
|
1564
1564
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
1565
|
-
"contentHash": "
|
|
1565
|
+
"contentHash": "b8cabbf22cdb28187bc70a5337a9e340996eb8eace88790b9bf8ba2d9a2b5630",
|
|
1566
1566
|
"since": "2025-01-01"
|
|
1567
1567
|
},
|
|
1568
1568
|
"subsystem:scheduler": {
|
|
@@ -1618,7 +1618,7 @@
|
|
|
1618
1618
|
"type": "subsystem",
|
|
1619
1619
|
"domain": "coordination",
|
|
1620
1620
|
"sourcePath": "src/core/MultiMachineCoordinator.ts",
|
|
1621
|
-
"contentHash": "
|
|
1621
|
+
"contentHash": "7ff2c287a93bf83d18a2bf6751510a8c5b01534688366d06d4cc76d4864182a3",
|
|
1622
1622
|
"since": "2025-01-01"
|
|
1623
1623
|
},
|
|
1624
1624
|
"subsystem:backup-manager": {
|
|
@@ -499,6 +499,9 @@ Every guard (monitoring sentinels, reapers, the scheduler, …) is graded by wha
|
|
|
499
499
|
- Read mesh/sync state, never guess it: \`curl -H "Authorization: Bearer $AUTH" http://localhost:${port}/health\` → \`multiMachine.syncStatus\` (\`leaseHolder, leaseEpoch, holdsLease, splitBrainState, awakeMachineCount\`); \`instar doctor\` shows the same.
|
|
500
500
|
- A genuinely **unresolvable split-brain** surfaces as ONE Attention-queue item with a Y/N decision ("demote machine X?"), deduped per partition episode — I present it to the user, I don't silently pick.
|
|
501
501
|
- Dials under \`.instar/config.json\` → \`multiMachine\` (ingressHeartbeatMs, leaseTtlMs, leasePullIntervalMs, liveTailMaxStalenessMs, handoffAckTimeoutMs, …); a nonsensical combo is rejected at startup, not run silently.
|
|
502
|
+
- **Lease self-heal + preferred-awake** (\`multiMachine.leaseSelfHeal\`): the awake-election tick is self-healing — a bounded timeout on its network calls plus a monotonic watchdog re-arm it if it ever stalls, so the mesh can't get stuck with NO awake machine (the 2026-06-19 freeze). \`GET /health → multiMachine.syncStatus.leaseTickWatchdog\` answers "did the watchdog fire?" (\`lastTickAgeMs\`, \`reArmCount\`, \`disarmed\`). To make a stationary machine reliably win the election, set \`leaseSelfHeal.preferredAwakeMachineId\` to its machineId ON ALL machines (the same value) — the traveling machine then defers while the preferred one is healthy. **Proactive trigger:** operator asks "why does my traveling laptop keep grabbing the lease?" → recommend \`preferredAwakeMachineId\`. F1 (the watchdog) is on by default; the stale-holder-takeover / silent-standby-relinquish / preferred-awake behaviors ship dark/opt-in. Spec: \`docs/specs/multi-machine-lease-self-heal.md\`.
|
|
503
|
+
|
|
504
|
+
- **Multi-transport mesh comms** (\`multiMachine.meshTransport\`): when I run on more than one machine, my machines talk to each other over MULTIPLE ropes — Tailscale, the local network (LAN), and the Cloudflare tunnel — and automatically use whichever is healthy, so a single flaky tunnel no longer makes a machine look unreachable (the root cause of the lease flap). Each machine auto-advertises its reachable addresses; the lease layer hedges across them and verifies the answering machine really is the peer (a replay-proof signed handshake). \`GET /health → multiMachine.syncStatus.meshEndpoints\` lists the rope KINDS this machine advertises. Ships ENABLED (Layers 0-2 are strictly additive; a single-machine agent is a no-op and keeps its localhost bind). When multi-machine, the server also listens on the Tailscale/LAN interfaces so peers can reach it — strictly less exposure than the always-on public tunnel, all routes keep their existing auth. **Proactive trigger:** operator asks "why is my machine unreachable / why does the lease keep flapping?" → the single Cloudflare rope was flapping; multi-transport fixes it (recommend installing Tailscale on both machines for the strongest rope). Kill-switch: \`meshTransport.enabled:false\` (back to single-rope, one restart to apply). A preferred stationary captain can also HOLD the lease alone when its peer is provably gone — that piece (\`leaseSelfHeal.soloCaptainHold\`) ships dark/opt-in. Spec: \`docs/specs/multi-transport-mesh-comms.md\`.
|
|
502
505
|
|
|
503
506
|
**Links that survive machine boundaries (WS4.4 — pool-stable private-view links)** — A private-view link (\`/view/:id\`) keeps working no matter WHICH of my machines is fronting the tunnel, even when the content lives on a DIFFERENT machine. The fronting machine resolves the actual HOLDER of the view (view-id ownership ≠ topic ownership — by probing peers, since each view lives on the disk of the machine that made it) and proxies to it. Ships DARK behind \`multiMachine.seamlessness.ws44PoolLinks\` (dev-agent gated); a single-machine agent is a no-op (no peers to proxy to). Security model (what to tell the user if asked "is a shared link safe across my machines?"):
|
|
504
507
|
- The END-USER credential is enforced end-to-end and the HOLDER makes the authorization decision — the fronting machine is a dumb relay. It NEVER substitutes a machine/mesh credential for the user's, NEVER logs the token, and NEVER caches private content at the edge (responses are \`Cache-Control: no-store\`).
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
The multi-machine "who's awake?" election (the fenced lease coordinator) is now **self-healing**, fixing a live failure class where the mesh could get stuck with NO awake machine and never recover on its own.
|
|
9
|
+
|
|
10
|
+
- **F1 — lease-tick self-heal (ENABLED by default, safe-by-construction).** Every network call in the lease tick is now bounded by a timeout (`withTickTimeout`), so a single never-settling call can no longer wedge the election loop (the proven 2026-06-19 freeze: a hung call left a reentrancy guard stuck `true`, silencing the tick for 91 minutes while `/health` stayed 200). A monotonic-clocked watchdog re-arms a stalled tick and resets a stuck guard — ceiling-gated so it never preempts a legitimately-slow live tick, never touches authority/epoch state, can't crash the process, and self-disarms (raising one degradation signal) if it fires too often. A true event-loop stall is explicitly delegated to the existing out-of-process fleet watchdog.
|
|
11
|
+
- **F2 — stale-holder takeover (⚗️ EXPERIMENTAL, dark by default).** When enabled, a standby may take over the lease from a holder that has silently stopped renewing — detected on the standby's OWN monotonic clock (the holder's signed nonce watermark stalls), so clock drift between machines can never cause a wrongful takeover. CAS-fenced; off ⇒ byte-for-byte the legacy behavior.
|
|
12
|
+
- **F3 — silent-standby relinquish (⚗️ EXPERIMENTAL, dark by default).** When enabled, a machine muted to silent-standby that still holds the lease relinquishes it and broadcasts a cryptographically SIGNED tombstone, so peers stop deferring to a zombie holder.
|
|
13
|
+
- **F4 — preferred-awake (preview, opt-in; `null` = off).** Name a stationary machine as preferred and a traveling machine defers to it while it's healthy, failing over only when it's genuinely down. Implemented as a deferential standby (the non-preferred machine simply abstains while the preferred is a healthy holder), so a divergent config degrades to the existing baseline rather than flapping.
|
|
14
|
+
|
|
15
|
+
Observability: `GET /health → multiMachine.syncStatus` gains `leaseTickWatchdog` (`lastTickAgeMs`, `reArmCount`, `disarmed`) and `preferredAwakeMachineId`. Config lives under `multiMachine.leaseSelfHeal`.
|
|
16
|
+
|
|
17
|
+
## What to Tell Your User
|
|
18
|
+
|
|
19
|
+
If you run one agent across more than one machine, the part that decides which machine is "in charge" can no longer get permanently stuck — it now times out hung operations and restarts itself. This is on automatically and is a no-op on single-machine setups. Three further robustness behaviors (faster takeover of a dead machine, cleaner hand-off of the "in-charge" badge, and naming a preferred machine) ship turned OFF and are opt-in per machine after verification on a real two-machine setup.
|
|
20
|
+
|
|
21
|
+
## Summary of New Capabilities
|
|
22
|
+
|
|
23
|
+
- Self-healing multi-machine awake-election (bounded timeouts + monotonic watchdog) — ON by default, single-machine no-op.
|
|
24
|
+
- `multiMachine.leaseSelfHeal` config: `tickWatchdog` (on), `staleHolderTakeover` (dark), `silentStandbyRelinquish` (dark), `preferredAwakeMachineId` (opt-in), `churnDetector`.
|
|
25
|
+
- `/health` lease-watchdog + preferred-awake visibility.
|
|
26
|
+
|
|
27
|
+
## Evidence
|
|
28
|
+
|
|
29
|
+
- ~50 new unit tests green: `tests/unit/FencedLease.test.ts` (signed-tombstone tamper-fail, canonicalize back-compat, F2 gate both-sides + fail-closed), `tests/unit/LeaseCoordinator-selfHeal.test.ts` (F2 takeover, F3 tombstone, F4 health-gate), `tests/unit/MultiMachineCoordinator-tickSelfHeal.test.ts` (F1 bounded-await + watchdog both-sides + self-disarm, F4 deferral).
|
|
30
|
+
- Existing lease/coordinator/transport/store suites regression-clean (129 green); dark-gate lint green (24); tsc clean.
|
|
31
|
+
- Spec: `docs/specs/multi-machine-lease-self-heal.md` (3-round spec-converge, approved). Side-effects: `upgrades/side-effects/multi-machine-lease-self-heal.md`.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
When an agent runs across more than one machine, the machines now talk to each other over **multiple independent connections** — Tailscale, the local network (LAN), and the Cloudflare tunnel — with automatic health-based failover, instead of a single fragile rope. This fixes the root cause of the lease "flap": a single flaky Cloudflare tunnel could make a machine look unreachable, which made the awake-election thrash (observed live: epoch 12748→12753 in 11 minutes).
|
|
9
|
+
|
|
10
|
+
- **Layers 0-2 — multi-rope hedged failover (ENABLED by default, strictly additive).** Each machine auto-advertises every address it's reachable at (its Tailscale `100.64/10` IP, its primary LAN IPv4, its Cloudflare hostname). A new `PeerEndpointResolver` validates each advertised rope by kind (a loopback / link-local / metadata / wrong-subnet address is dropped, never dialed), caps how many a peer can advertise, and orders them best-first with latency-and-liveness-aware health (a dead rope sinks and is probed on exponential backoff; a slow rope loses its "preferred" status). The lease transport then **hedges**: it tries the best rope first and, if it doesn't answer within 1.5s, fires the rest in parallel — the first rope that genuinely confirms wins. A peer is declared unreachable only when ALL its ropes fail. With no Tailscale and no LAN this is byte-for-byte the old single-rope behavior.
|
|
11
|
+
- **Freshness-bound accept-ack (correctness hardening).** A rope counts as "reached" only when the responding machine returns a signed handshake proving it (a) IS the expected peer, (b) folded *our current* lease, and (c) is answering *this* request (an echoed challenge nonce). A bare 200, a stranger on the same wifi, a black-hole proxy, or a replayed handshake is a FAILED rope — never a false confirmation. Request and ack signatures are domain-separated (`mesh-req-v1` / `mesh-ack-v1`) so neither can be replayed as the other.
|
|
12
|
+
- **Server bind (live-verify finding).** A multi-machine agent's server now also listens on its Tailscale/LAN interfaces (not just localhost) so peers can reach it on the advertised ropes — found during live-verify before any failover code shipped. This is strictly LESS exposure than the always-on public Cloudflare tunnel it already runs (every route keeps its existing machine-auth / PIN / Bearer). A single-machine agent keeps its localhost bind (gated on `multiMachine.enabled`).
|
|
13
|
+
- **Solo-captain hold (⚗️ EXPERIMENTAL, dark by default).** When enabled, a preferred *stationary* captain whose sole peer is provably gone (aged out of the heartbeat window — not merely unreachable for a moment) HOLDS its lease at the same epoch instead of self-suspending and thrashing. Safe-by-construction: it never advances the epoch or takes over a peer's lease, the existing cryptographic fence stays the authority, and a merely-unreachable peer still triggers the conservative self-suspend. Must be live-verified on a real pair (physically sever the peer) before its flag is ever turned on.
|
|
14
|
+
|
|
15
|
+
Observability: `GET /health → multiMachine.syncStatus.meshEndpoints` lists the rope KINDS this machine advertises (raw IPs stay off this surface). Config lives under `multiMachine.meshTransport`.
|
|
16
|
+
|
|
17
|
+
## What to Tell Your User
|
|
18
|
+
|
|
19
|
+
If you run one agent across more than one machine, the machines now have several independent ways to reach each other (Tailscale, local wifi, and the Cloudflare tunnel) and automatically use whichever is healthy — so one flaky connection is no longer a problem and the "who's in charge" election stays steady. This is on automatically and is a no-op on single-machine setups. Installing Tailscale on each machine (and signing into the same account) gives the strongest, most travel-friendly connection — the agent auto-detects and uses it. One further behavior (a stationary machine holding the lease alone when the other is genuinely gone) ships turned OFF and is opt-in after verification on a real two-machine setup.
|
|
20
|
+
|
|
21
|
+
## Summary of New Capabilities
|
|
22
|
+
|
|
23
|
+
- Multi-rope mesh transport (Tailscale / LAN / Cloudflare) with hedged health-based failover — ON by default, single-machine no-op.
|
|
24
|
+
- Freshness-bound, domain-separated accept-ack — a rope is "reached" only on a verified peer handshake (closes the black-hole / LAN-collision / replay vectors).
|
|
25
|
+
- `multiMachine.meshTransport` config (FLAT knobs: `enabled`, `hedgeDelayMs`, per-kind priorities, `tailscaleEnabled`, `lanSubnetGate`, `unhealthyAfterFailures`, `endpointEvictionMs`, `maxProbeBackoffMs`, `bindHost`).
|
|
26
|
+
- `leaseSelfHeal.soloCaptainHold` (dark) — a preferred stationary captain holds the lease when its peer is provably gone.
|
|
27
|
+
- `GET /health → multiMachine.syncStatus.meshEndpoints` visibility; a multi-machine server binds its Tailscale/LAN interfaces.
|
|
28
|
+
|
|
29
|
+
## Evidence
|
|
30
|
+
|
|
31
|
+
- 79 new unit tests green: `tests/unit/PeerEndpointResolver.test.ts` (validation / cap / ordering / EWMA stickiness / backoff / eviction), `tests/unit/MeshEndpointAdvertiser.test.ts` (Tailscale detect incl. the macOS app-bundle path, LAN pick, compute/advertise), `tests/unit/leaseAckAuth.test.ts` (accept-ack confirm / higher-epoch / replay / wrong-responder / tamper / domain-sep), `tests/unit/HttpLeaseTransport-mesh.test.ts` (hedge / failover / verified-accept / stranger-reject / legacy back-compat), `tests/unit/LeaseCoordinator-selfHeal.test.ts` (+6 Layer-3 hold / conservative-suspend / not-preferred / flag-off / higher-epoch).
|
|
32
|
+
- Integration: `tests/integration/mesh-accept-ack.test.ts` (5 — real HTTP receiver accept-ack) + `tests/integration/mesh-failover-2server.test.ts` (2 — TWO real express servers: dead-Tailscale-rope → live-LAN-rope hedge confirm + stranger rejection).
|
|
33
|
+
- Existing lease/transport/fenced/routes suites regression-clean; dark-gate lint green (24); tsc clean. 189 across the affected area.
|
|
34
|
+
- Spec: `docs/specs/multi-transport-mesh-comms.md` (5-round spec-converge, approved). Side-effects: `upgrades/side-effects/multi-transport-mesh-comms.md`.
|
|
35
|
+
|
|
36
|
+
## ELI16
|
|
37
|
+
|
|
38
|
+
When an agent runs on two machines (say a Mac Mini that stays home and a laptop that travels), the machines constantly check in with each other to agree on which one is "in charge." Until now they had exactly ONE way to reach each other — a Cloudflare tunnel, a kind of public internet relay — and that tunnel kept dropping for a few seconds at a time. Every drop made the home machine panic that it had lost the laptop, so it nervously re-grabbed the "in charge" badge over and over. This change gives the machines SEVERAL ropes between them — Tailscale (a private, travel-friendly network), the local wifi when they're in the same place, and the Cloudflare tunnel as a last resort — and they automatically use whichever rope is working. Losing one rope becomes a non-event, and the panicking stops. To make sure a stranger on the same coffee-shop wifi can never be mistaken for the laptop, each machine proves its identity with a signed, replay-proof handshake every time. The sturdy parts are on by default because they only ADD ways to connect; the one part that changes a real decision (letting the home machine keep the badge alone when the laptop is genuinely gone) ships turned OFF until it's proven on a real pair of machines.
|