instar 1.3.914 → 1.3.915
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 +47 -0
- package/dist/commands/server.js.map +1 -1
- package/dist/core/types.d.ts +15 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/monitoring/ProactiveCompactionSentinel.d.ts +46 -0
- package/dist/monitoring/ProactiveCompactionSentinel.d.ts.map +1 -0
- package/dist/monitoring/ProactiveCompactionSentinel.js +61 -0
- package/dist/monitoring/ProactiveCompactionSentinel.js.map +1 -0
- package/dist/monitoring/guardManifest.d.ts.map +1 -1
- package/dist/monitoring/guardManifest.js +12 -0
- package/dist/monitoring/guardManifest.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- package/upgrades/1.3.915.md +18 -0
- package/upgrades/side-effects/proactive-autonomous-compaction.md +8 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA4EH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAU3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AA0BjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AA8H7D,OAAO,KAAK,EAAW,oBAAoB,EAAe,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjG,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;AA+rDD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,oBAAoB,GAAG,IAAI,GACxC;IACD,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,CAqBA;AAED,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,EAQrD,oBAAoB,CAAC,EAAE,MAAM;IAC3B,YAAY,EAAE,OAAO,kBAAkB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrE,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,GACP,IAAI,CAwtBN;AAgmBD,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;AA4EH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAU3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AA0BjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AA8H7D,OAAO,KAAK,EAAW,oBAAoB,EAAe,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjG,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;AA+rDD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,oBAAoB,GAAG,IAAI,GACxC;IACD,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,CAqBA;AAED,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,EAQrD,oBAAoB,CAAC,EAAE,MAAM;IAC3B,YAAY,EAAE,OAAO,kBAAkB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrE,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,GACP,IAAI,CAwtBN;AAgmBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA02pBtE;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
|
@@ -11658,6 +11658,53 @@ export async function startServer(options) {
|
|
|
11658
11658
|
console.log(pc.green(' RateLimitSentinel enabled (server-throttle backoff + check-ins)'));
|
|
11659
11659
|
}
|
|
11660
11660
|
console.log(pc.green(' CompactionSentinel enabled (verified recovery lifecycle)'));
|
|
11661
|
+
// ── Proactive autonomous compaction ───────────────────────────────
|
|
11662
|
+
// Explicit opt-in, dry-run first. Claude already exposes a grounded
|
|
11663
|
+
// percentage in its live pane ("Context left until auto-compact: N%").
|
|
11664
|
+
// At >=85% used, ask for /compact only when the canonical async work-state
|
|
11665
|
+
// probe says IDLE. Working and indeterminate sessions are never touched.
|
|
11666
|
+
const proactiveCompactionCfg = config.monitoring?.proactiveAutonomousCompaction;
|
|
11667
|
+
if (proactiveCompactionCfg?.enabled === true) {
|
|
11668
|
+
const { ProactiveCompactionSentinel } = await import('../monitoring/ProactiveCompactionSentinel.js');
|
|
11669
|
+
const parseContextRemaining = (pane) => {
|
|
11670
|
+
const match = pane?.match(/Context left until auto-compact:\s*([0-9]+)%/i);
|
|
11671
|
+
if (!match)
|
|
11672
|
+
return null;
|
|
11673
|
+
const value = Number(match[1]);
|
|
11674
|
+
return Number.isFinite(value) ? Math.min(100, Math.max(0, value)) : null;
|
|
11675
|
+
};
|
|
11676
|
+
const proactiveCompaction = new ProactiveCompactionSentinel({
|
|
11677
|
+
listCandidates: async () => Promise.all(sessionManager.listRunningSessions().map(async (session) => {
|
|
11678
|
+
const topic = telegram?.getTopicForSession(session.tmuxSession);
|
|
11679
|
+
let autonomous = false;
|
|
11680
|
+
if (topic != null) {
|
|
11681
|
+
try {
|
|
11682
|
+
autonomous = fs.existsSync(path.join(config.stateDir, 'autonomous', `${topic}.local.md`));
|
|
11683
|
+
}
|
|
11684
|
+
catch {
|
|
11685
|
+
// Fail closed: an unreadable registration never grants actuation.
|
|
11686
|
+
autonomous = false;
|
|
11687
|
+
}
|
|
11688
|
+
}
|
|
11689
|
+
return {
|
|
11690
|
+
sessionName: session.tmuxSession,
|
|
11691
|
+
autonomous,
|
|
11692
|
+
framework: session.framework,
|
|
11693
|
+
contextRemainingPercent: parseContextRemaining(sessionManager.captureOutput(session.tmuxSession, 30)),
|
|
11694
|
+
workState: await sessionManager.checkSessionWorkState(session.tmuxSession),
|
|
11695
|
+
};
|
|
11696
|
+
})),
|
|
11697
|
+
triggerCompact: (sessionName) => sessionManager.injectInternalMessage(sessionName, '/compact', 'proactive-autonomous-compaction'),
|
|
11698
|
+
audit: (event) => {
|
|
11699
|
+
console.log(`[ProactiveCompaction] ${event.kind} "${event.sessionName}" ` +
|
|
11700
|
+
`at ${event.usedPercent}% used (threshold ${event.thresholdUsedPercent}%)`);
|
|
11701
|
+
},
|
|
11702
|
+
}, proactiveCompactionCfg);
|
|
11703
|
+
const proactiveCompactionTimer = setInterval(() => { void proactiveCompaction.tick(); }, Math.max(10_000, proactiveCompactionCfg.tickIntervalMs ?? 60_000));
|
|
11704
|
+
proactiveCompactionTimer.unref?.();
|
|
11705
|
+
void proactiveCompaction.tick();
|
|
11706
|
+
console.log(pc.green(` Proactive autonomous compaction enabled (${proactiveCompactionCfg.dryRun === false ? 'live' : 'dry-run'})`));
|
|
11707
|
+
}
|
|
11661
11708
|
// ── Silently-stopped trio: SocketDisconnectSentinel + ActiveWorkSilenceSentinel ──
|
|
11662
11709
|
// Wire-up post-2026-05-22 incident. Every transition (detect/nudge/recover)
|
|
11663
11710
|
// lands in the audit log (server logs + JSONL) — the user never sees it.
|