instar 1.3.562 → 1.3.563
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 +30 -2
- package/dist/commands/server.js.map +1 -1
- package/dist/core/inboundQueueConfig.d.ts +17 -0
- package/dist/core/inboundQueueConfig.d.ts.map +1 -1
- package/dist/core/inboundQueueConfig.js +16 -0
- package/dist/core/inboundQueueConfig.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- package/upgrades/1.3.563.md +32 -0
- package/upgrades/side-effects/inbound-queue-boot-order-fix.md +72 -0
|
@@ -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;AAiH7D,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;AAy3CD,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,
|
|
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;AAiH7D,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;AAy3CD,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,CA26btE;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"}
|
package/dist/commands/server.js
CHANGED
|
@@ -15032,7 +15032,34 @@ export async function startServer(options) {
|
|
|
15032
15032
|
// wouldEnqueue/wouldHold/wouldRefuse counters ARE the promotion
|
|
15033
15033
|
// evidence and /pool/queue must serve them. The boot sweep already
|
|
15034
15034
|
// gate-expired any live→dry-run residual rows.
|
|
15035
|
-
|
|
15035
|
+
//
|
|
15036
|
+
// BOOT-ORDER FIX: do NOT consult `_sessionPoolStage()` here — at this
|
|
15037
|
+
// point in the synchronous boot flow it is still the line-~443 stub
|
|
15038
|
+
// (`() => 'dark'`); the real impl is only assigned ~350 lines BELOW
|
|
15039
|
+
// (the `_sessionPoolStage = () => { ... }` reassignment after the
|
|
15040
|
+
// peer-presence puller is wired). Reading the stub made the gate
|
|
15041
|
+
// ALWAYS false, so the inbound-queue engine never constructed even
|
|
15042
|
+
// when correctly configured, and `/pool/queue` 503'd forever. Resolve
|
|
15043
|
+
// the stage INLINE from config here — mirroring the line-~16045 impl
|
|
15044
|
+
// exactly (liveConfig override with the static config block as the
|
|
15045
|
+
// fallback) — instead of depending on the not-yet-wired ref.
|
|
15046
|
+
const _sessionPoolStageNow = (() => {
|
|
15047
|
+
try {
|
|
15048
|
+
const fallback = (config.multiMachine?.sessionPool ?? {});
|
|
15049
|
+
const live = liveConfig.get('multiMachine.sessionPool', fallback);
|
|
15050
|
+
return iqcMod.resolveSessionPoolStage(live);
|
|
15051
|
+
}
|
|
15052
|
+
catch {
|
|
15053
|
+
// @silent-fallback-ok: a config-read failure resolves the stage
|
|
15054
|
+
// to 'dark' (the inert default) → the queue simply does not
|
|
15055
|
+
// construct this boot, byte-identical to the ships-dark default.
|
|
15056
|
+
// This is the SAFE direction (fail-closed: no queue), not a
|
|
15057
|
+
// degraded capability worth a DegradationReporter event. Mirrors
|
|
15058
|
+
// the live _sessionPoolStage getter's identical guard below.
|
|
15059
|
+
return 'dark';
|
|
15060
|
+
}
|
|
15061
|
+
})();
|
|
15062
|
+
if (qcfg.enabled && _sessionPoolStageNow !== 'dark') {
|
|
15036
15063
|
const inv = iqcMod.validateInboundQueueInvariants(qcfg, hcfg);
|
|
15037
15064
|
if (!inv.ok) {
|
|
15038
15065
|
for (const v of inv.violations) {
|
|
@@ -15365,11 +15392,12 @@ export async function startServer(options) {
|
|
|
15365
15392
|
const peerPresenceTimer = setInterval(() => { void peerPresencePuller.pullOnce(); }, 30_000);
|
|
15366
15393
|
if (typeof peerPresenceTimer.unref === 'function')
|
|
15367
15394
|
peerPresenceTimer.unref();
|
|
15395
|
+
const { resolveSessionPoolStage: _resolveSessionPoolStage } = await import('../core/inboundQueueConfig.js');
|
|
15368
15396
|
_sessionPoolStage = () => {
|
|
15369
15397
|
try {
|
|
15370
15398
|
const fallback = (config.multiMachine?.sessionPool ?? {});
|
|
15371
15399
|
const live = liveConfig.get('multiMachine.sessionPool', fallback);
|
|
15372
|
-
return
|
|
15400
|
+
return _resolveSessionPoolStage(live);
|
|
15373
15401
|
}
|
|
15374
15402
|
catch {
|
|
15375
15403
|
return 'dark';
|