instar 1.3.749 → 1.3.750
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 +40 -0
- package/dist/commands/server.js.map +1 -1
- package/dist/core/AgeKillBackoff.d.ts +9 -48
- package/dist/core/AgeKillBackoff.d.ts.map +1 -1
- package/dist/core/AgeKillBackoff.js +8 -84
- package/dist/core/AgeKillBackoff.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts +20 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +43 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/SessionManager.d.ts +68 -32
- package/dist/core/SessionManager.d.ts.map +1 -1
- package/dist/core/SessionManager.js +159 -7
- package/dist/core/SessionManager.js.map +1 -1
- package/dist/core/VetoedKillBackoff.d.ts +130 -0
- package/dist/core/VetoedKillBackoff.d.ts.map +1 -0
- package/dist/core/VetoedKillBackoff.js +221 -0
- package/dist/core/VetoedKillBackoff.js.map +1 -0
- package/dist/core/types.d.ts +18 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/monitoring/IncidentDedupe.d.ts +36 -0
- package/dist/monitoring/IncidentDedupe.d.ts.map +1 -0
- package/dist/monitoring/IncidentDedupe.js +38 -0
- package/dist/monitoring/IncidentDedupe.js.map +1 -0
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +20 -20
- package/upgrades/1.3.750.md +30 -0
- package/upgrades/side-effects/session-respawn-thrash-elimination.md +75 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAiDH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAU3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAyBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AA8H7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAgFtD;;;;;;;;;;;;;;;;;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;AA2/CD,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,CAijBN;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;AAiDH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAU3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAyBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AA8H7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAgFtD;;;;;;;;;;;;;;;;;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;AA2/CD,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,CAijBN;AA2lBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAqulBtE;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
|
@@ -5039,6 +5039,23 @@ export async function startServer(options) {
|
|
|
5039
5039
|
// idle-monitor's rateLimitedAtIdle hand-off. `enabled` OMITTED from defaults ⇒
|
|
5040
5040
|
// dev-agent live / dark-fleet.
|
|
5041
5041
|
idleThrottleSettleGate: resolveDevAgentGate(config.monitoring?.idleThrottleSettleGate?.enabled, config),
|
|
5042
|
+
// Idle-zombie veto-backoff (session-respawn-thrash Fix A). `enabled` OMITTED
|
|
5043
|
+
// from ConfigDefaults ⇒ dev-agent live / dark-fleet (mirrors idleThrottleSettleGate).
|
|
5044
|
+
// cooldownMs default 30m; escalateAfterEpisodes default 6. `cooldownMs: 0` is
|
|
5045
|
+
// enabled-but-no-cooldown (R4-5), never a disable — only enabled:false darks it.
|
|
5046
|
+
idleKillVetoBackoff: (() => {
|
|
5047
|
+
const cfg = config.monitoring?.idleKillVetoBackoff;
|
|
5048
|
+
const enabled = resolveDevAgentGate(cfg?.enabled, config);
|
|
5049
|
+
const rawCooldown = cfg?.cooldownMs;
|
|
5050
|
+
const cooldownMs = typeof rawCooldown === 'number' && Number.isFinite(rawCooldown) && rawCooldown >= 0
|
|
5051
|
+
? Math.floor(rawCooldown)
|
|
5052
|
+
: 1_800_000;
|
|
5053
|
+
const rawEsc = cfg?.escalateAfterEpisodes;
|
|
5054
|
+
const escalateAfterEpisodes = typeof rawEsc === 'number' && Number.isFinite(rawEsc) && rawEsc > 0
|
|
5055
|
+
? Math.floor(rawEsc)
|
|
5056
|
+
: 6;
|
|
5057
|
+
return { enabled, cooldownMs, escalateAfterEpisodes };
|
|
5058
|
+
})(),
|
|
5042
5059
|
// Standby-write reconciliation §3.3 (round-2 L3): per-machine
|
|
5043
5060
|
// SessionBuildContextStore re-key. The id comes from the coordinator/
|
|
5044
5061
|
// mesh identity via this LATE-RESOLVING getter (the mesh id is assigned
|
|
@@ -9071,6 +9088,29 @@ export async function startServer(options) {
|
|
|
9071
9088
|
});
|
|
9072
9089
|
});
|
|
9073
9090
|
}
|
|
9091
|
+
// Idle-zombie veto P19 breaker (session-respawn-thrash Fix A′). Inject the
|
|
9092
|
+
// best-effort "one per incident" dedupe seam (in-process coalescing + TTL) and
|
|
9093
|
+
// route the breaker's ONE attention item through the existing attention queue
|
|
9094
|
+
// (flood-guarded — never a spawned topic). Signal-only: an idle-zombie kill that
|
|
9095
|
+
// stays permanently vetoed for `escalateAfterEpisodes` cooldowns surfaces once.
|
|
9096
|
+
{
|
|
9097
|
+
const { InProcessIncidentDedupe } = await import('../monitoring/IncidentDedupe.js');
|
|
9098
|
+
sessionManager.setIncidentDedupe(new InProcessIncidentDedupe());
|
|
9099
|
+
}
|
|
9100
|
+
sessionManager.on('idleZombieVetoEscalation', (e) => {
|
|
9101
|
+
if (!telegram)
|
|
9102
|
+
return;
|
|
9103
|
+
void telegram.createAttentionItem({
|
|
9104
|
+
id: `idle-zombie-veto-${e.topicId ?? 'none'}-${e.reasonKey}`,
|
|
9105
|
+
title: 'Session permanently vetoed from idle-zombie cleanup',
|
|
9106
|
+
summary: e.message,
|
|
9107
|
+
category: 'session-lifecycle',
|
|
9108
|
+
priority: 'HIGH',
|
|
9109
|
+
sourceContext: `idle-zombie-veto:${e.topicId ?? 'none'}:${e.reasonKey}`,
|
|
9110
|
+
}).catch((err) => {
|
|
9111
|
+
console.error('[idleZombieVetoEscalation] attention-item failed:', err.message);
|
|
9112
|
+
});
|
|
9113
|
+
});
|
|
9074
9114
|
// G3.4 — Single-writer binding lifecycle: clear a killed session's stale
|
|
9075
9115
|
// topic→session binding so a dead session can't silently resurrect (the
|
|
9076
9116
|
// invariant "a binding exists IFF a live session exists for it"). Registered
|