instar 1.3.569 → 1.3.570

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.
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkCH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAS3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAuBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAkH7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAsBtD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAUT;AAyID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAg4CD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,cAAc,EAC9B,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EAGvE,UAAU,CAAC,EAAE,MAAM,OAAO,8BAA8B,EAAE,WAAW,GAAG,IAAI,EAK5E,qBAAqB,CAAC,EAAE,MAAM,OAAO,gCAAgC,EAAE,kBAAkB,GAAG,IAAI,EAKhG,mBAAmB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,GACpD,IAAI,CA8eN;AA2lBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAihctE;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDzE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD5E"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkCH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAS3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAuBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAkH7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAsBtD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAUT;AAyID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAg4CD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,cAAc,EAC9B,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EAGvE,UAAU,CAAC,EAAE,MAAM,OAAO,8BAA8B,EAAE,WAAW,GAAG,IAAI,EAK5E,qBAAqB,CAAC,EAAE,MAAM,OAAO,gCAAgC,EAAE,kBAAkB,GAAG,IAAI,EAKhG,mBAAmB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,GACpD,IAAI,CA8eN;AA2lBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA8/btE;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDzE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD5E"}
@@ -15405,31 +15405,17 @@ export async function startServer(options) {
15405
15405
  fetchPeerCapacity: async (machineId, url) => {
15406
15406
  const res = await meshClient.send({ machineId, url }, { type: 'session-status' }, 0);
15407
15407
  if (res.ok && res.result && typeof res.result === 'object') {
15408
- const cap = res.result;
15409
- const journalAdvert = _unwrapPeerJournalAdvert(machineId, cap.journalAdvert);
15410
- // #930 sibling (live, v1.3.369): the commitments advert was
15411
- // parsed AWAY here — served by the peer, dropped by this
15412
- // narrowing return so driveCommitmentsSync never fired and
15413
- // zero replicas ever landed. Pass it through.
15414
- // A2 (live, v1.3.384): the SAME narrowing also dropped the
15415
- // peer's quotaState (its getCapacity(self) includes it), so the
15416
- // router only ever saw its OWN quota and quota-aware placement
15417
- // (#804) could never avoid a rate-limited PEER — the original
15418
- // EXO failure. Pass it through too. Absent = not blocked.
15419
- return {
15420
- selfReportedLastSeen: cap.selfReportedLastSeen,
15421
- loadAvg: cap.loadAvg,
15422
- journalAdvert,
15423
- ...(cap.commitmentsAdvert ? { commitmentsAdvert: cap.commitmentsAdvert } : {}),
15424
- // §WS2.1 sibling pass-through (the #930/A2 narrowing lesson): the
15425
- // peer's preferences advert is served but would be dropped here
15426
- // without this, so drivePreferencesSync would never fire.
15427
- ...(cap.preferencesAdvert ? { preferencesAdvert: cap.preferencesAdvert } : {}),
15428
- ...(cap.quotaState ? { quotaState: cap.quotaState } : {}),
15429
- // Guard posture rides the same pass-through (the A2 narrowing
15430
- // lesson): dropping it here would blind the pool to peers' posture.
15431
- ...(cap.guardPosture ? { guardPosture: cap.guardPosture } : {}),
15432
- };
15408
+ // The journal advert is the one slice that needs closure context
15409
+ // (the machine-id-keyed unwrap), so it is computed HERE; the rest
15410
+ // of the narrowing commitmentsAdvert (#930), quotaState (A2/#804),
15411
+ // preferencesAdvert (WS2.1), guardPosture, and seamlessnessFlags
15412
+ // (THIS fix, the 4th instance of the narrowing-return-forgets-a-field
15413
+ // class) is the SINGLE shared `narrowSessionStatusToPeerCapacity`
15414
+ // pass-through that the peer-presence round-trip test also runs, so
15415
+ // the test proves the REAL mapping and a forgotten field can't recur
15416
+ // silently (the wiring-integrity ratchet asserts over this helper).
15417
+ const journalAdvert = _unwrapPeerJournalAdvert(machineId, res.result.journalAdvert);
15418
+ return presenceMod.narrowSessionStatusToPeerCapacity(res.result, journalAdvert);
15433
15419
  }
15434
15420
  return null;
15435
15421
  },