instar 1.3.140 → 1.3.141
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 -1
- package/dist/commands/server.js.map +1 -1
- package/dist/config/ConfigDefaults.d.ts.map +1 -1
- package/dist/config/ConfigDefaults.js +14 -0
- package/dist/config/ConfigDefaults.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/AgentActivityState.d.ts +25 -0
- package/dist/monitoring/AgentActivityState.d.ts.map +1 -0
- package/dist/monitoring/AgentActivityState.js +17 -0
- package/dist/monitoring/AgentActivityState.js.map +1 -0
- package/dist/monitoring/SleepController.d.ts +103 -0
- package/dist/monitoring/SleepController.d.ts.map +1 -0
- package/dist/monitoring/SleepController.js +178 -0
- package/dist/monitoring/SleepController.js.map +1 -0
- package/dist/server/AgentServer.d.ts +4 -0
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +2 -0
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/CapabilityIndex.d.ts.map +1 -1
- package/dist/server/CapabilityIndex.js +1 -0
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/routes.d.ts +4 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +17 -0
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +47 -47
- package/upgrades/1.3.141.md +52 -0
- package/upgrades/side-effects/agent-hard-sleep-controller.md +101 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAoSH,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAwvDD,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;AAoSH,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAwvDD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAqvPtE;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
|
@@ -8276,6 +8276,52 @@ export async function startServer(options) {
|
|
|
8276
8276
|
? ' AgentWorktreeReaper enabled (stale-worktree reclaim — LIVE)'
|
|
8277
8277
|
: ' AgentWorktreeReaper enabled (stale-worktree reclaim — dry-run, report only)'));
|
|
8278
8278
|
}
|
|
8279
|
+
// ── Agent hard-sleep — SleepController (RESPONSIBLE-RESOURCE-USAGE, Stage B) ──
|
|
8280
|
+
// Decides "is it safe for this idle agent to drop to near-zero footprint?" with
|
|
8281
|
+
// every safety guard. Ships OFF + dry-run: observes + audits to
|
|
8282
|
+
// logs/agent-sleep-events.jsonl, never stops a server. The mechanism
|
|
8283
|
+
// (supervisor stop + lifeline respawn) is a later slice. GET /sleep exposes the
|
|
8284
|
+
// live verdict. The shared idle signal (AgentActivityState) is bumped at the
|
|
8285
|
+
// inbound-message chokepoint (/internal/telegram-forward).
|
|
8286
|
+
const { AgentActivityState } = await import('../monitoring/AgentActivityState.js');
|
|
8287
|
+
const agentActivityState = new AgentActivityState();
|
|
8288
|
+
const { SleepController, sleepAuditSink } = await import('../monitoring/SleepController.js');
|
|
8289
|
+
const _sleepCfg = config.monitoring?.agentSleep;
|
|
8290
|
+
const sleepController = new SleepController({
|
|
8291
|
+
sample: () => {
|
|
8292
|
+
const act = agentActivityState.snapshot();
|
|
8293
|
+
return {
|
|
8294
|
+
now: Date.now(),
|
|
8295
|
+
runningSessions: sessionManager.listRunningSessions().length,
|
|
8296
|
+
lastInboundAt: act.lastInboundAt,
|
|
8297
|
+
lastActivityAt: act.lastActivityAt,
|
|
8298
|
+
// Lease guard: only relevant when multi-machine coordination is active.
|
|
8299
|
+
leaseActive: coordinator.enabled,
|
|
8300
|
+
holdsLease: coordinator.enabled ? coordinator.holdsLease() : false,
|
|
8301
|
+
// In-flight: an inbound message currently being handled. (The relay/forward
|
|
8302
|
+
// in-flight + scheduler-wake signals are wired with the stop mechanism in
|
|
8303
|
+
// the next slice — this slice is dry-run, so it never acts on them.)
|
|
8304
|
+
inflightWork: (currentInboundByTopic?.size ?? 0) > 0,
|
|
8305
|
+
nextScheduledJobAt: null,
|
|
8306
|
+
};
|
|
8307
|
+
},
|
|
8308
|
+
audit: sleepAuditSink(config.stateDir),
|
|
8309
|
+
}, {
|
|
8310
|
+
enabled: _sleepCfg?.enabled ?? false,
|
|
8311
|
+
dryRun: _sleepCfg?.dryRun ?? true,
|
|
8312
|
+
tickIntervalMs: (_sleepCfg?.tickIntervalSec ?? 60) * 1000,
|
|
8313
|
+
thresholds: {
|
|
8314
|
+
idleGraceMs: _sleepCfg?.idleGraceMs ?? 120_000,
|
|
8315
|
+
deepIdleMs: _sleepCfg?.deepIdleMs ?? 900_000,
|
|
8316
|
+
wakeLeadMs: _sleepCfg?.wakeLeadMs ?? 120_000,
|
|
8317
|
+
},
|
|
8318
|
+
});
|
|
8319
|
+
sleepController.start();
|
|
8320
|
+
if (_sleepCfg?.enabled) {
|
|
8321
|
+
console.log(pc.green(_sleepCfg.dryRun === false
|
|
8322
|
+
? ' SleepController enabled (agent hard-sleep — LIVE decision)'
|
|
8323
|
+
: ' SleepController enabled (agent hard-sleep — dry-run, observe only)'));
|
|
8324
|
+
}
|
|
8279
8325
|
// ── Unkillability backstop (UNIFIED-SESSION-LIFECYCLE §P5) ───────────────
|
|
8280
8326
|
// Signal-only: raises ONE deduped Attention item (never auto-kills) when a
|
|
8281
8327
|
// session is KEPT forever despite faking work, or is stuck indeterminate.
|
|
@@ -8881,7 +8927,7 @@ export async function startServer(options) {
|
|
|
8881
8927
|
catch (err) {
|
|
8882
8928
|
console.log(pc.dim(` [session-pool] rollout gate not wired: ${err instanceof Error ? err.message : String(err)}`));
|
|
8883
8929
|
}
|
|
8884
|
-
const server = new AgentServer({ config, sessionManager, state, scheduler, telegram, relationships, feedback, feedbackAnomalyDetector, dispatches, updateChecker, autoUpdater, autoDispatcher, quotaTracker, quotaManager, publisher, viewer, tunnel, evolution, watchdog, topicMemory, triageNurse, projectMapper, coherenceGate: scopeVerifier, contextHierarchy, canonicalState, operationGate, sentinel, adaptiveTrust, memoryMonitor, orphanReaper, coherenceMonitor, commitmentTracker, semanticMemory, activitySentinel, rateLimitSentinel, releaseReadinessSentinel: releaseReadinessSentinel ?? undefined, messageRouter, summarySentinel, spawnManager, systemReviewer, capabilityMapper, selfKnowledgeTree, coverageAuditor, topicResumeMap: _topicResumeMap ?? undefined, sessionRefresh: _sessionRefresh ?? undefined, autonomyManager, trustElevationTracker, autonomousEvolution, coordinator: coordinator.enabled ? coordinator : undefined, localSigningKeyPem, leaseTransport, liveTailReceiver, handoffWireTransport, onHandoffBegin, onHandoffInitiate: handoffInitiate, handoffInProgress: handoffSentinelInProgress, messageLedger, currentInboundByTopic, replyMarkerTransport, onReplyMarker: messageLedger ? (marker) => { const m = marker; messageLedger.applyRemoteReplyMarker(m.dedupeKey, { platform: m.platform, replyIdempotencyKey: m.replyIdempotencyKey, epoch: m.epoch, topic: m.topic ?? null }); } : undefined, whatsapp: whatsappAdapter, slack: slackAdapter, imessage: imessageAdapter, whatsappBusinessBackend, messageBridge, hookEventReceiver, worktreeMonitor, subagentTracker, instructionsVerifier, handshakeManager: threadlineHandshake, threadlineRouter, conversationStore, warrantsReplyGate, collaborationSurfacer, threadResumeMap, topicLinkageHandler: topicLinkageHandler ?? undefined, threadlineRelayClient, threadlineReplyWaiters, listenerManager: listenerManager ?? undefined, responseReviewGate, messagingToneGate, outboundDedupGate, telemetryHeartbeat, pasteManager, featureRegistry, discoveryEvaluator, completionEvaluator, unifiedTrust, liveConfig, sharedStateLedger, ledgerSessionRegistry, worktreeManager, oidcEnrolledRepos: parallelDevConfig?.oidcEnrolledRepos, initiativeTracker, projectRoundRunner, projectDriftChecker, machineHeartbeat, machinePoolRegistry, meshRpcDispatcher, sessionOwnershipRegistry, sessionPoolE2EResultStore, proxyCoordinator, topicIntentStore, topicIntentArcCheck, usherSignalStore, intelligence: sharedIntelligence ?? undefined, telegramBridgeConfig, telegramBridge: telegramBridge ?? undefined, threadlineObservability, briefDeps, workingMemory, taskFlowRegistry, threadlineFlowBridge, sessionReaper, agentWorktreeReaper, reapLog, sleepWakeDetector, unjustifiedStopGate, stopGateDb, stopNotifier });
|
|
8930
|
+
const server = new AgentServer({ config, sessionManager, state, scheduler, telegram, relationships, feedback, feedbackAnomalyDetector, dispatches, updateChecker, autoUpdater, autoDispatcher, quotaTracker, quotaManager, publisher, viewer, tunnel, evolution, watchdog, topicMemory, triageNurse, projectMapper, coherenceGate: scopeVerifier, contextHierarchy, canonicalState, operationGate, sentinel, adaptiveTrust, memoryMonitor, orphanReaper, coherenceMonitor, commitmentTracker, semanticMemory, activitySentinel, rateLimitSentinel, releaseReadinessSentinel: releaseReadinessSentinel ?? undefined, messageRouter, summarySentinel, spawnManager, systemReviewer, capabilityMapper, selfKnowledgeTree, coverageAuditor, topicResumeMap: _topicResumeMap ?? undefined, sessionRefresh: _sessionRefresh ?? undefined, autonomyManager, trustElevationTracker, autonomousEvolution, coordinator: coordinator.enabled ? coordinator : undefined, localSigningKeyPem, leaseTransport, liveTailReceiver, handoffWireTransport, onHandoffBegin, onHandoffInitiate: handoffInitiate, handoffInProgress: handoffSentinelInProgress, messageLedger, currentInboundByTopic, replyMarkerTransport, onReplyMarker: messageLedger ? (marker) => { const m = marker; messageLedger.applyRemoteReplyMarker(m.dedupeKey, { platform: m.platform, replyIdempotencyKey: m.replyIdempotencyKey, epoch: m.epoch, topic: m.topic ?? null }); } : undefined, whatsapp: whatsappAdapter, slack: slackAdapter, imessage: imessageAdapter, whatsappBusinessBackend, messageBridge, hookEventReceiver, worktreeMonitor, subagentTracker, instructionsVerifier, handshakeManager: threadlineHandshake, threadlineRouter, conversationStore, warrantsReplyGate, collaborationSurfacer, threadResumeMap, topicLinkageHandler: topicLinkageHandler ?? undefined, threadlineRelayClient, threadlineReplyWaiters, listenerManager: listenerManager ?? undefined, responseReviewGate, messagingToneGate, outboundDedupGate, telemetryHeartbeat, pasteManager, featureRegistry, discoveryEvaluator, completionEvaluator, unifiedTrust, liveConfig, sharedStateLedger, ledgerSessionRegistry, worktreeManager, oidcEnrolledRepos: parallelDevConfig?.oidcEnrolledRepos, initiativeTracker, projectRoundRunner, projectDriftChecker, machineHeartbeat, machinePoolRegistry, meshRpcDispatcher, sessionOwnershipRegistry, sessionPoolE2EResultStore, proxyCoordinator, topicIntentStore, topicIntentArcCheck, usherSignalStore, intelligence: sharedIntelligence ?? undefined, telegramBridgeConfig, telegramBridge: telegramBridge ?? undefined, threadlineObservability, briefDeps, workingMemory, taskFlowRegistry, threadlineFlowBridge, sessionReaper, agentWorktreeReaper, sleepController, agentActivityState, reapLog, sleepWakeDetector, unjustifiedStopGate, stopGateDb, stopNotifier });
|
|
8885
8931
|
// Boot-recovery (tunnel-failure-resilience spec Part 6): if the agent
|
|
8886
8932
|
// died mid-relay-episode, the persisted tunnel.json carries
|
|
8887
8933
|
// rotationPending=true. Rotate the dashboard PIN + authToken BEFORE
|