instar 1.3.562 → 1.3.564
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 +37 -2
- package/dist/commands/server.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +18 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/WorkEvidence.d.ts +18 -0
- package/dist/core/WorkEvidence.d.ts.map +1 -1
- package/dist/core/WorkEvidence.js +22 -0
- package/dist/core/WorkEvidence.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/dist/core/types.d.ts +14 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/monitoring/ResumeQueue.d.ts +12 -1
- package/dist/monitoring/ResumeQueue.d.ts.map +1 -1
- package/dist/monitoring/ResumeQueue.js +26 -3
- package/dist/monitoring/ResumeQueue.js.map +1 -1
- package/dist/monitoring/ResumeQueueDrainer.d.ts +49 -0
- package/dist/monitoring/ResumeQueueDrainer.d.ts.map +1 -1
- package/dist/monitoring/ResumeQueueDrainer.js +112 -3
- package/dist/monitoring/ResumeQueueDrainer.js.map +1 -1
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +1 -0
- package/dist/scaffold/templates.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +19 -19
- package/src/scaffold/templates.ts +1 -0
- package/upgrades/1.3.563.md +32 -0
- package/upgrades/1.3.564.md +40 -0
- package/upgrades/side-effects/inbound-queue-boot-order-fix.md +72 -0
- package/upgrades/side-effects/resume-queue-stale-emergency-pause.md +212 -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,CAk7btE;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
|
@@ -6396,6 +6396,13 @@ export async function startServer(options) {
|
|
|
6396
6396
|
breakerThreshold: rqCfg.breakerThreshold ?? 3,
|
|
6397
6397
|
breakerCooldownMin: rqCfg.breakerCooldownMin ?? 30,
|
|
6398
6398
|
tier1Check: rqCfg.tier1Check ?? true,
|
|
6399
|
+
// Stale-emergency-pause auto-recovery (spec:
|
|
6400
|
+
// resume-queue-stale-emergency-pause.md). CODE-defaulted like the
|
|
6401
|
+
// other resumeQueue.* keys (never frozen into ConfigDefaults — the
|
|
6402
|
+
// fleet flip stays in code). Layer 1 (paused-with-waiting alert) is
|
|
6403
|
+
// always on; autoResumeStalePause gates only Layer 2.
|
|
6404
|
+
staleEmergencyPauseAutoResumeMin: rqCfg.staleEmergencyPauseAutoResumeMin ?? 60,
|
|
6405
|
+
autoResumeStalePause: rqCfg.autoResumeStalePause ?? true,
|
|
6399
6406
|
});
|
|
6400
6407
|
resumeDrainer.start();
|
|
6401
6408
|
console.log(pc.green(` ResumeQueue started (${(rqCfg.dryRun ?? !resolveDevAgentGate(undefined, config)) ? 'dry-run observe-only' : 'LIVE'}; drainer ${rqCfg.drainIntervalSec ?? 60}s tick)`));
|
|
@@ -15032,7 +15039,34 @@ export async function startServer(options) {
|
|
|
15032
15039
|
// wouldEnqueue/wouldHold/wouldRefuse counters ARE the promotion
|
|
15033
15040
|
// evidence and /pool/queue must serve them. The boot sweep already
|
|
15034
15041
|
// gate-expired any live→dry-run residual rows.
|
|
15035
|
-
|
|
15042
|
+
//
|
|
15043
|
+
// BOOT-ORDER FIX: do NOT consult `_sessionPoolStage()` here — at this
|
|
15044
|
+
// point in the synchronous boot flow it is still the line-~443 stub
|
|
15045
|
+
// (`() => 'dark'`); the real impl is only assigned ~350 lines BELOW
|
|
15046
|
+
// (the `_sessionPoolStage = () => { ... }` reassignment after the
|
|
15047
|
+
// peer-presence puller is wired). Reading the stub made the gate
|
|
15048
|
+
// ALWAYS false, so the inbound-queue engine never constructed even
|
|
15049
|
+
// when correctly configured, and `/pool/queue` 503'd forever. Resolve
|
|
15050
|
+
// the stage INLINE from config here — mirroring the line-~16045 impl
|
|
15051
|
+
// exactly (liveConfig override with the static config block as the
|
|
15052
|
+
// fallback) — instead of depending on the not-yet-wired ref.
|
|
15053
|
+
const _sessionPoolStageNow = (() => {
|
|
15054
|
+
try {
|
|
15055
|
+
const fallback = (config.multiMachine?.sessionPool ?? {});
|
|
15056
|
+
const live = liveConfig.get('multiMachine.sessionPool', fallback);
|
|
15057
|
+
return iqcMod.resolveSessionPoolStage(live);
|
|
15058
|
+
}
|
|
15059
|
+
catch {
|
|
15060
|
+
// @silent-fallback-ok: a config-read failure resolves the stage
|
|
15061
|
+
// to 'dark' (the inert default) → the queue simply does not
|
|
15062
|
+
// construct this boot, byte-identical to the ships-dark default.
|
|
15063
|
+
// This is the SAFE direction (fail-closed: no queue), not a
|
|
15064
|
+
// degraded capability worth a DegradationReporter event. Mirrors
|
|
15065
|
+
// the live _sessionPoolStage getter's identical guard below.
|
|
15066
|
+
return 'dark';
|
|
15067
|
+
}
|
|
15068
|
+
})();
|
|
15069
|
+
if (qcfg.enabled && _sessionPoolStageNow !== 'dark') {
|
|
15036
15070
|
const inv = iqcMod.validateInboundQueueInvariants(qcfg, hcfg);
|
|
15037
15071
|
if (!inv.ok) {
|
|
15038
15072
|
for (const v of inv.violations) {
|
|
@@ -15365,11 +15399,12 @@ export async function startServer(options) {
|
|
|
15365
15399
|
const peerPresenceTimer = setInterval(() => { void peerPresencePuller.pullOnce(); }, 30_000);
|
|
15366
15400
|
if (typeof peerPresenceTimer.unref === 'function')
|
|
15367
15401
|
peerPresenceTimer.unref();
|
|
15402
|
+
const { resolveSessionPoolStage: _resolveSessionPoolStage } = await import('../core/inboundQueueConfig.js');
|
|
15368
15403
|
_sessionPoolStage = () => {
|
|
15369
15404
|
try {
|
|
15370
15405
|
const fallback = (config.multiMachine?.sessionPool ?? {});
|
|
15371
15406
|
const live = liveConfig.get('multiMachine.sessionPool', fallback);
|
|
15372
|
-
return
|
|
15407
|
+
return _resolveSessionPoolStage(live);
|
|
15373
15408
|
}
|
|
15374
15409
|
catch {
|
|
15375
15410
|
return 'dark';
|