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.
Files changed (38) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +24 -4
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/core/SleepWakeDetector.d.ts +83 -5
  5. package/dist/core/SleepWakeDetector.d.ts.map +1 -1
  6. package/dist/core/SleepWakeDetector.js +117 -11
  7. package/dist/core/SleepWakeDetector.js.map +1 -1
  8. package/dist/core/UsherActedCorrelator.d.ts +96 -0
  9. package/dist/core/UsherActedCorrelator.d.ts.map +1 -0
  10. package/dist/core/UsherActedCorrelator.js +175 -0
  11. package/dist/core/UsherActedCorrelator.js.map +1 -0
  12. package/dist/core/UsherSignalStore.d.ts +26 -2
  13. package/dist/core/UsherSignalStore.d.ts.map +1 -1
  14. package/dist/core/UsherSignalStore.js +17 -2
  15. package/dist/core/UsherSignalStore.js.map +1 -1
  16. package/dist/core/types.d.ts +17 -0
  17. package/dist/core/types.d.ts.map +1 -1
  18. package/dist/core/types.js.map +1 -1
  19. package/dist/scaffold/templates.d.ts.map +1 -1
  20. package/dist/scaffold/templates.js +6 -0
  21. package/dist/scaffold/templates.js.map +1 -1
  22. package/dist/server/AgentServer.d.ts +3 -0
  23. package/dist/server/AgentServer.d.ts.map +1 -1
  24. package/dist/server/AgentServer.js +2 -0
  25. package/dist/server/AgentServer.js.map +1 -1
  26. package/dist/server/routes.d.ts +8 -0
  27. package/dist/server/routes.d.ts.map +1 -1
  28. package/dist/server/routes.js +26 -0
  29. package/dist/server/routes.js.map +1 -1
  30. package/dist/server/usherRoutes.d.ts.map +1 -1
  31. package/dist/server/usherRoutes.js +7 -1
  32. package/dist/server/usherRoutes.js.map +1 -1
  33. package/package.json +1 -1
  34. package/src/data/builtin-manifest.json +47 -47
  35. package/src/scaffold/templates.ts +6 -0
  36. package/upgrades/1.3.73.md +73 -0
  37. package/upgrades/1.3.74.md +95 -0
  38. 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;AAiSH,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,CA6/NtE;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"}
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"}
@@ -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 sleepWakeDetector = new SleepWakeDetector();
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