instar 1.3.72 → 1.3.74
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 +24 -4
- package/dist/commands/server.js.map +1 -1
- package/dist/core/SleepWakeDetector.d.ts +83 -5
- package/dist/core/SleepWakeDetector.d.ts.map +1 -1
- package/dist/core/SleepWakeDetector.js +117 -11
- package/dist/core/SleepWakeDetector.js.map +1 -1
- package/dist/core/UsherActedCorrelator.d.ts +96 -0
- package/dist/core/UsherActedCorrelator.d.ts.map +1 -0
- package/dist/core/UsherActedCorrelator.js +175 -0
- package/dist/core/UsherActedCorrelator.js.map +1 -0
- package/dist/core/UsherSignalStore.d.ts +26 -2
- package/dist/core/UsherSignalStore.d.ts.map +1 -1
- package/dist/core/UsherSignalStore.js +17 -2
- package/dist/core/UsherSignalStore.js.map +1 -1
- package/dist/core/types.d.ts +17 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +6 -0
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/AgentServer.d.ts +3 -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/routes.d.ts +8 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +26 -0
- package/dist/server/routes.js.map +1 -1
- package/dist/server/usherRoutes.d.ts.map +1 -1
- package/dist/server/usherRoutes.js +7 -1
- package/dist/server/usherRoutes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +47 -47
- package/src/scaffold/templates.ts +6 -0
- package/upgrades/1.3.73.md +73 -0
- package/upgrades/1.3.74.md +95 -0
- package/upgrades/side-effects/usher-precision-loop.md +131 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkSH,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAksDD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAghOtE;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
|
@@ -94,6 +94,7 @@ import { DispatchScopeEnforcer } from '../core/DispatchScopeEnforcer.js';
|
|
|
94
94
|
import { TrustRecovery } from '../core/TrustRecovery.js';
|
|
95
95
|
import { DegradationReporter } from '../monitoring/DegradationReporter.js';
|
|
96
96
|
import { HumanAsDetectorLog, observeInboundMessage } from '../monitoring/HumanAsDetectorLog.js';
|
|
97
|
+
import { creditUsherOnMiss } from '../core/UsherActedCorrelator.js';
|
|
97
98
|
import { resolveStableNodeBinary } from '../utils/resolveNodeBinary.js';
|
|
98
99
|
import { SelfKnowledgeTree } from '../knowledge/SelfKnowledgeTree.js';
|
|
99
100
|
import { CoverageAuditor } from '../knowledge/CoverageAuditor.js';
|
|
@@ -5864,7 +5865,18 @@ export async function startServer(options) {
|
|
|
5864
5865
|
telegram.onMessageLogged = (entry) => {
|
|
5865
5866
|
if (beforeHadCallback)
|
|
5866
5867
|
beforeHadCallback(entry);
|
|
5867
|
-
observeInboundMessage(humanAsDetectorLog, entry);
|
|
5868
|
+
const missSignal = observeInboundMessage(humanAsDetectorLog, entry);
|
|
5869
|
+
// ── Usher precision, path (b): the user just had to correct me (a
|
|
5870
|
+
// human-as-detector miss). If a recent faded-context nudge on this
|
|
5871
|
+
// topic covers what they're correcting, that nudge was a REAL catch I
|
|
5872
|
+
// ignored → mark it acted. This is the miss-map → precision-numerator
|
|
5873
|
+
// correlation that pairs with path (a). Best-effort (never throws).
|
|
5874
|
+
if (missSignal && usherSignalStore) {
|
|
5875
|
+
const credited = creditUsherOnMiss(usherSignalStore, missSignal, entry);
|
|
5876
|
+
if (credited.length) {
|
|
5877
|
+
console.log(`[Usher] ${credited.length} signal(s) marked acted (miss) on topic ${entry.topicId}`);
|
|
5878
|
+
}
|
|
5879
|
+
}
|
|
5868
5880
|
};
|
|
5869
5881
|
// ── Topic-Intent ArcCheck (rung 3 / Layer 3) ────────────────────
|
|
5870
5882
|
// Pre-send classifier that scans agent drafts against the topic's
|
|
@@ -6168,9 +6180,17 @@ export async function startServer(options) {
|
|
|
6168
6180
|
const { CaffeinateManager } = await import('../core/CaffeinateManager.js');
|
|
6169
6181
|
const caffeinateManager = new CaffeinateManager({ stateDir: config.stateDir });
|
|
6170
6182
|
caffeinateManager.start();
|
|
6171
|
-
// Start SleepWakeDetector (re-validate sessions on wake)
|
|
6183
|
+
// Start SleepWakeDetector (re-validate sessions on wake). The CPU-starvation
|
|
6184
|
+
// guard (load-ratio + long-sleep floor + emit cooldown) defaults live in the
|
|
6185
|
+
// class so every agent gets the fix on update; config.monitoring.sleepWake
|
|
6186
|
+
// can tune them without a migration.
|
|
6172
6187
|
const { SleepWakeDetector } = await import('../core/SleepWakeDetector.js');
|
|
6173
|
-
const
|
|
6188
|
+
const sleepWakeCfg = config.monitoring?.sleepWake;
|
|
6189
|
+
const sleepWakeDetector = new SleepWakeDetector({
|
|
6190
|
+
maxLoadRatio: sleepWakeCfg?.maxLoadRatio,
|
|
6191
|
+
longSleepFloorSeconds: sleepWakeCfg?.longSleepFloorSeconds,
|
|
6192
|
+
minWakeIntervalMs: sleepWakeCfg?.minWakeIntervalMs,
|
|
6193
|
+
});
|
|
6174
6194
|
// §P0 #9 (SE-8): give the scheduler's wake-reaper a cumulative-sleep view
|
|
6175
6195
|
// (not the single last sleep event) so a job that spanned multiple sleeps
|
|
6176
6196
|
// isn't reaped early.
|
|
@@ -8140,7 +8160,7 @@ export async function startServer(options) {
|
|
|
8140
8160
|
}
|
|
8141
8161
|
}
|
|
8142
8162
|
}
|
|
8143
|
-
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, proxyCoordinator, topicIntentStore, topicIntentArcCheck, usherSignalStore, intelligence: sharedIntelligence ?? undefined, telegramBridgeConfig, telegramBridge: telegramBridge ?? undefined, threadlineObservability, briefDeps, workingMemory, taskFlowRegistry, threadlineFlowBridge, sessionReaper, reapLog, unjustifiedStopGate, stopGateDb, stopNotifier });
|
|
8163
|
+
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, proxyCoordinator, topicIntentStore, topicIntentArcCheck, usherSignalStore, intelligence: sharedIntelligence ?? undefined, telegramBridgeConfig, telegramBridge: telegramBridge ?? undefined, threadlineObservability, briefDeps, workingMemory, taskFlowRegistry, threadlineFlowBridge, sessionReaper, reapLog, sleepWakeDetector, unjustifiedStopGate, stopGateDb, stopNotifier });
|
|
8144
8164
|
// Boot-recovery (tunnel-failure-resilience spec Part 6): if the agent
|
|
8145
8165
|
// died mid-relay-episode, the persisted tunnel.json carries
|
|
8146
8166
|
// rotationPending=true. Rotate the dashboard PIN + authToken BEFORE
|