instar 1.3.1350 → 1.3.1352

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 (101) hide show
  1. package/dashboard/index.html +62 -16
  2. package/dashboard/pairing.js +229 -109
  3. package/dist/commands/server.d.ts.map +1 -1
  4. package/dist/commands/server.js +5 -1
  5. package/dist/commands/server.js.map +1 -1
  6. package/dist/core/ClaudeBinaryRetainer.d.ts +186 -0
  7. package/dist/core/ClaudeBinaryRetainer.d.ts.map +1 -0
  8. package/dist/core/ClaudeBinaryRetainer.js +585 -0
  9. package/dist/core/ClaudeBinaryRetainer.js.map +1 -0
  10. package/dist/core/Config.d.ts.map +1 -1
  11. package/dist/core/Config.js +5 -0
  12. package/dist/core/Config.js.map +1 -1
  13. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  14. package/dist/core/PostUpdateMigrator.js +53 -17
  15. package/dist/core/PostUpdateMigrator.js.map +1 -1
  16. package/dist/core/SessionManager.d.ts +26 -0
  17. package/dist/core/SessionManager.d.ts.map +1 -1
  18. package/dist/core/SessionManager.js +61 -5
  19. package/dist/core/SessionManager.js.map +1 -1
  20. package/dist/core/WriteDomainRegistry.d.ts.map +1 -1
  21. package/dist/core/WriteDomainRegistry.js +26 -0
  22. package/dist/core/WriteDomainRegistry.js.map +1 -1
  23. package/dist/core/types.d.ts +14 -0
  24. package/dist/core/types.d.ts.map +1 -1
  25. package/dist/core/types.js.map +1 -1
  26. package/dist/data/standards-guard-index.json +1 -1
  27. package/dist/data/standards-guard-index.meta.json +2 -2
  28. package/dist/data/standards-registry.meta.json +1 -1
  29. package/dist/lifeline/MessageQueue.d.ts.map +1 -1
  30. package/dist/lifeline/MessageQueue.js +5 -0
  31. package/dist/lifeline/MessageQueue.js.map +1 -1
  32. package/dist/lifeline/TelegramLifeline.d.ts.map +1 -1
  33. package/dist/lifeline/TelegramLifeline.js +8 -0
  34. package/dist/lifeline/TelegramLifeline.js.map +1 -1
  35. package/dist/messaging/TelegramAdapter.d.ts +13 -0
  36. package/dist/messaging/TelegramAdapter.d.ts.map +1 -1
  37. package/dist/messaging/TelegramAdapter.js +51 -0
  38. package/dist/messaging/TelegramAdapter.js.map +1 -1
  39. package/dist/scaffold/templates.d.ts.map +1 -1
  40. package/dist/scaffold/templates.js +9 -5
  41. package/dist/scaffold/templates.js.map +1 -1
  42. package/dist/server/AgentServer.d.ts +2 -0
  43. package/dist/server/AgentServer.d.ts.map +1 -1
  44. package/dist/server/AgentServer.js +1 -0
  45. package/dist/server/AgentServer.js.map +1 -1
  46. package/dist/server/routes.d.ts +2 -0
  47. package/dist/server/routes.d.ts.map +1 -1
  48. package/dist/server/routes.js +236 -0
  49. package/dist/server/routes.js.map +1 -1
  50. package/dist/threadline/AgentTrustManager.d.ts +36 -1
  51. package/dist/threadline/AgentTrustManager.d.ts.map +1 -1
  52. package/dist/threadline/AgentTrustManager.js +111 -0
  53. package/dist/threadline/AgentTrustManager.js.map +1 -1
  54. package/dist/threadline/InboundMessageGate.d.ts +10 -0
  55. package/dist/threadline/InboundMessageGate.d.ts.map +1 -1
  56. package/dist/threadline/InboundMessageGate.js +39 -1
  57. package/dist/threadline/InboundMessageGate.js.map +1 -1
  58. package/dist/threadline/PairingInvite.d.ts +92 -0
  59. package/dist/threadline/PairingInvite.d.ts.map +1 -0
  60. package/dist/threadline/PairingInvite.js +174 -0
  61. package/dist/threadline/PairingInvite.js.map +1 -0
  62. package/dist/threadline/PairingInviteFlow.d.ts +141 -0
  63. package/dist/threadline/PairingInviteFlow.d.ts.map +1 -0
  64. package/dist/threadline/PairingInviteFlow.js +345 -0
  65. package/dist/threadline/PairingInviteFlow.js.map +1 -0
  66. package/dist/threadline/PairingInviteStore.d.ts +92 -0
  67. package/dist/threadline/PairingInviteStore.d.ts.map +1 -0
  68. package/dist/threadline/PairingInviteStore.js +163 -0
  69. package/dist/threadline/PairingInviteStore.js.map +1 -0
  70. package/dist/threadline/PairingInviteTelegram.d.ts +76 -0
  71. package/dist/threadline/PairingInviteTelegram.d.ts.map +1 -0
  72. package/dist/threadline/PairingInviteTelegram.js +141 -0
  73. package/dist/threadline/PairingInviteTelegram.js.map +1 -0
  74. package/dist/threadline/ThreadlineBootstrap.d.ts +14 -0
  75. package/dist/threadline/ThreadlineBootstrap.d.ts.map +1 -1
  76. package/dist/threadline/ThreadlineBootstrap.js +51 -1
  77. package/dist/threadline/ThreadlineBootstrap.js.map +1 -1
  78. package/dist/threadline/ThreadlineMCPServer.d.ts +13 -0
  79. package/dist/threadline/ThreadlineMCPServer.d.ts.map +1 -1
  80. package/dist/threadline/ThreadlineMCPServer.js +22 -7
  81. package/dist/threadline/ThreadlineMCPServer.js.map +1 -1
  82. package/dist/threadline/client/ThreadlineClient.d.ts +11 -0
  83. package/dist/threadline/client/ThreadlineClient.d.ts.map +1 -1
  84. package/dist/threadline/client/ThreadlineClient.js +24 -1
  85. package/dist/threadline/client/ThreadlineClient.js.map +1 -1
  86. package/dist/threadline/mcp-http-client.d.ts +14 -0
  87. package/dist/threadline/mcp-http-client.d.ts.map +1 -1
  88. package/dist/threadline/mcp-http-client.js +29 -0
  89. package/dist/threadline/mcp-http-client.js.map +1 -1
  90. package/dist/threadline/mcp-stdio-entry.js +3 -1
  91. package/dist/threadline/mcp-stdio-entry.js.map +1 -1
  92. package/package.json +1 -1
  93. package/src/data/builtin-manifest.json +66 -66
  94. package/src/data/standards-guard-index.json +1 -1
  95. package/src/data/standards-guard-index.meta.json +2 -2
  96. package/src/data/standards-registry.meta.json +1 -1
  97. package/src/scaffold/templates.ts +9 -5
  98. package/upgrades/1.3.1351.md +28 -0
  99. package/upgrades/1.3.1352.md +41 -0
  100. package/upgrades/side-effects/retained-claude-executable.md +116 -0
  101. package/upgrades/side-effects/threadline-pairing-invite-link.md +184 -0
@@ -17252,6 +17252,7 @@ export async function startServer(options) {
17252
17252
  let threadlineHandshake;
17253
17253
  let threadlineShutdown;
17254
17254
  let threadlineRelayClient;
17255
+ let threadlinePairingInvites;
17255
17256
  // Relay connection-LOSS reader, captured so /threadline/health can report WHY
17256
17257
  // the relay is down. The bootstrap has exposed this since the observer landed,
17257
17258
  // but nothing captured it — so the health route kept answering a literal 'ok'
@@ -17263,6 +17264,8 @@ export async function startServer(options) {
17263
17264
  try {
17264
17265
  const threadline = await bootstrapThreadline({
17265
17266
  agentName: config.projectName,
17267
+ // Self-described, shown to the other side as "claimed" (invite pairing §7).
17268
+ ownerName: (config.users ?? []).find((u) => u.permissions?.includes('admin'))?.name ?? config.users?.[0]?.name,
17266
17269
  stateDir: config.stateDir,
17267
17270
  projectDir: config.projectDir,
17268
17271
  port: config.port,
@@ -17310,6 +17313,7 @@ export async function startServer(options) {
17310
17313
  threadlineHandshake = threadline.handshakeManager;
17311
17314
  threadlineShutdown = threadline.shutdown;
17312
17315
  threadlineRelayClient = threadline.relayClient;
17316
+ threadlinePairingInvites = threadline.pairingInvites;
17313
17317
  threadlineGetLastRelayEvent = threadline.getLastRelayEvent;
17314
17318
  _threadlineBoot = threadline;
17315
17319
  // A2A cross-machine route §1: the boot-time standby fact, threaded from
@@ -27231,7 +27235,7 @@ export async function startServer(options) {
27231
27235
  const server = new AgentServer({ config, singleInstanceLock, agentIdentity: _agentIdentityDeps, terminateSessionAuthority: terminateWithAuthority, subscriptionEmailBinding: credentialLocationLedger, subscriptionEmailBarrier, subscriptionIdentityOracle, sessionManager, llmQueue: sharedLlmQueue, state, scheduler, telegram, telegramOrigin: telegramOriginBoot?.runtime, relationships, feedback, feedbackAnomalyDetector, dispatches, updateChecker, autoUpdater, autoDispatcher, quotaTracker, quotaManager, publisher, viewer, tunnel, evolution, watchdog, topicMemory, triageNurse, projectMapper, cartographerRoots: cartographerRoots ?? undefined, coherenceGate: scopeVerifier, contextHierarchy, canonicalState, operationGate, sentinel, adaptiveTrust, memoryMonitor, orphanReaper, coherenceMonitor, commitmentTracker, subscriptionPool, accountFollowMePeerViews: async () => { const nickById = new Map((_listPoolMachines?.() ?? []).map((m) => [m.machineId, m.nickname ?? m.machineId])); let peers = (_resolvePeerUrls?.() ?? []).map((p) => ({ machineId: p.machineId, nickname: nickById.get(p.machineId) ?? p.machineId, url: p.url })); if (peers.length === 0) {
27232
27236
  peers = (_listPoolMachines?.() ?? []).filter((m) => m.machineId !== _meshSelfId && !!m.lastKnownUrl).map((m) => ({ machineId: m.machineId, nickname: m.nickname ?? m.machineId, url: m.lastKnownUrl }));
27233
27237
  } if (peers.length === 0)
27234
- return []; const { fetchPeerSubscriptionViews } = await import('../core/fetchPeerSubscriptionViews.js'); return fetchPeerSubscriptionViews({ peers: () => peers, fetchImpl: fetch, authToken: config.authToken ?? '' }); }, quotaPoller, quotaAwareScheduler: _quotaAwareScheduler ?? undefined, proactiveSwapMonitor: _proactiveSwapMonitor ?? undefined, inUseAccountResolver, enrollmentWizard, accountFollowMeRevocation, credentialRepointing, semanticMemory, activitySentinel, rateLimitSentinel, releaseReadinessSentinel: releaseReadinessSentinel ?? undefined, greenPrAutoMerger: greenPrAutoMerger ?? undefined, guardLatchStore: guardLatchStore ?? undefined, messageRouter, summarySentinel, spawnManager, systemReviewer, capabilityMapper, selfKnowledgeTree, coverageAuditor, topicResumeMap: _topicResumeMap ?? undefined, topicProfile: _topicProfileCtx ?? undefined, sessionRefresh: _sessionRefresh ?? undefined, autonomyManager, trustElevationTracker, autonomousEvolution, coordinator: coordinator.enabled ? coordinator : undefined, meshBindActive: coordinator.managers.identityManager.hasIdentity() && config.multiMachine?.meshTransport?.enabled !== false, localSigningKeyPem, leaseTransport, peerEndpointRecorder, getSelfMeshEndpoints, onLeasePullRequest: () => leaseCoordinatorRef?.currentLease() ?? null, 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, conversationRegistry, conversationBindAuth, conversationFollowThrough, whatsappBusinessBackend, messageBridge, hookEventReceiver, worktreeMonitor, subagentTracker, instructionsVerifier, handshakeManager: threadlineHandshake, threadlineRouter, conversationStore, threadLog, threadMessageRecorder, warrantsReplyGate, collaborationSurfacer, threadResumeMap, topicLinkageHandler: topicLinkageHandler ?? undefined, threadlineRelayClient, getLastRelayEvent: threadlineGetLastRelayEvent, a2aRelayForward: _a2aRelayForwardCtx ?? undefined, threadlineReplyWaiters, listenerManager: listenerManager ?? undefined, a2aDeliveryTracker: a2aDeliveryTracker ?? undefined, relayVerdictCounters: threadlineRelayClient ? (() => ({ ...threadlineRelayClient.relayVerdictCounters, expiredMismatchIgnored: a2aDeliveryTracker?.expiredMismatchIgnored ?? 0 })) : undefined, inboundIdLedger: _inboundIdLedger ?? undefined, inboundIdLedgerDaemonDeferred: () => _inboundIdLedgerDaemonDeferred, responseReviewGate, reviewCanaryBattery, messagingToneGate, outboundDedupGate, telemetryHeartbeat, pasteManager, featureRegistry, discoveryEvaluator, completionEvaluator, unifiedTrust, liveConfig, sharedStateLedger, ledgerSessionRegistry, worktreeManager, oidcEnrolledRepos: parallelDevConfig?.oidcEnrolledRepos, initiativeTracker, projectRoundRunner, projectDriftChecker, machineHeartbeat, machinePoolRegistry, ropeHealthMonitor, writeAdmission: writeAdmission ?? undefined, getInboundQueue: () => _inboundQueue, getMachineCoherence: () => _machineCoherenceSentinel, getSingleMachineFailoverGap: () => _singleMachineFailoverGap, getMissingLoginSession: () => _missingLoginSession, getSessionPoolFailoverRunner: () => _sessionPoolFailoverRunnerDriver?.status() ?? null, sessionPoolPromotionActivation: _sessionPoolPromotionActivation, meshRpcDispatcher, deliverA2aToMachine: _deliverA2aToMachine ?? undefined, workingSetPullCoordinator, workingSetArtifactManager, orchestratorPoller, commitmentReplicaStore, preferenceReplicaStore, replicatedRecordEmitter, conflictStore, rollbackUnmerge, droppedOriginRegistry, preferencesUnionReader, jevMemoryPicker, forwardCommitmentMutate, sessionOwnershipRegistry, sendDrain: _sendDrain ?? undefined, topicPinStore: _topicPinStore ?? undefined, topicPinSkewQuarantine: _topicPinSkewQuarantine ?? undefined, topicPinFoldView: _topicPinFoldView ?? undefined, ownershipReconciler: _ownershipReconciler ?? undefined, staleOwnerEngine: _staleOwnerEngine ?? undefined, duplicateReconciler: _duplicateReconciler ?? undefined, ownerDarkLadder: _ownerDarkLadder ?? undefined, spawnAdmission: _spawnAdmission ?? undefined, judgmentProvenance: _judgmentProvenance ?? undefined, leaseHandback: _leaseHandbackCtx ?? undefined, streamTicketStore: _streamTicketStore ?? undefined, poolStreamAllowRemoteInput: config.dashboard?.poolStream?.allowRemoteInput ?? false, poolStreamConnector: _poolStreamConnector ?? undefined, secretSync: _secretSyncHandle ?? undefined, meshSelfId: _meshSelfId ?? undefined, resolveRouterUrl: _resolveRouterUrl ?? undefined, resolvePeerUrls: _resolvePeerUrls ?? undefined, guardRegistry, listPoolMachines: _listPoolMachines ?? undefined, deliverMandateToMachine: _deliverMandateToMachine ?? undefined, passkeyRevokeOutbox: _passkeyRevokeOutbox ? () => _passkeyRevokeOutbox : undefined, passkeyPeerOnline: _passkeyPeerOnline, passkeyPoolReader: _passkeyPoolReader ? () => _passkeyPoolReader : undefined, passkeyProofBrowser: async (profileDir) => { const { ChromeCdpReloginBrowser } = await import('../core/ChromeCdpReloginBrowser.js'); return new ChromeCdpReloginBrowser({ userDataDir: profileDir, passkeyMode: true, headless: true, launchTimeoutMs: 30_000, operationTimeoutMs: 20_000 }); }, poolLink: _poolLink ?? undefined, poolPollCache: _poolPollCache ?? undefined, sessionPoolE2EResultStore, proxyCoordinator, topicIntentStore, topicIntentArcCheck, usherSignalStore, intelligence: sharedIntelligence ?? undefined, telegramBridgeConfig, telegramBridge: telegramBridge ?? undefined, threadlineObservability, briefDeps, workingMemory, taskFlowRegistry, threadlineFlowBridge, sessionReaper, agentWorktreeReaper, externalHogSentinel, orphanedWorkSentinel, mcpProcessReaper, geminiLoopRunner, sleepController, agentActivityState, reapLog, resumeQueue, resumeDrainer, autonomousLivenessReconciler, enforcedTerminationStatus: () => enforcedTerminationWatchdog?.guardStatus() ?? null, prHandLease: prHandLease ?? undefined, standDownRegistry: _standDownRegistry ?? undefined, standDownAudit: _standDownAudit ?? undefined, operatorStopRecorder: recordOperatorStop, sleepWakeDetector, unjustifiedStopGate, stopGateDb, stopNotifier, liveTestGate, liveTestGateMode, liveTestRunnerCtx }); // Resolve the late-bound topic-operator getter (increment 2e): routing was
27238
+ return []; const { fetchPeerSubscriptionViews } = await import('../core/fetchPeerSubscriptionViews.js'); return fetchPeerSubscriptionViews({ peers: () => peers, fetchImpl: fetch, authToken: config.authToken ?? '' }); }, quotaPoller, quotaAwareScheduler: _quotaAwareScheduler ?? undefined, proactiveSwapMonitor: _proactiveSwapMonitor ?? undefined, inUseAccountResolver, enrollmentWizard, accountFollowMeRevocation, credentialRepointing, semanticMemory, activitySentinel, rateLimitSentinel, releaseReadinessSentinel: releaseReadinessSentinel ?? undefined, greenPrAutoMerger: greenPrAutoMerger ?? undefined, guardLatchStore: guardLatchStore ?? undefined, messageRouter, summarySentinel, spawnManager, systemReviewer, capabilityMapper, selfKnowledgeTree, coverageAuditor, topicResumeMap: _topicResumeMap ?? undefined, topicProfile: _topicProfileCtx ?? undefined, sessionRefresh: _sessionRefresh ?? undefined, autonomyManager, trustElevationTracker, autonomousEvolution, coordinator: coordinator.enabled ? coordinator : undefined, meshBindActive: coordinator.managers.identityManager.hasIdentity() && config.multiMachine?.meshTransport?.enabled !== false, localSigningKeyPem, leaseTransport, peerEndpointRecorder, getSelfMeshEndpoints, onLeasePullRequest: () => leaseCoordinatorRef?.currentLease() ?? null, 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, conversationRegistry, conversationBindAuth, conversationFollowThrough, whatsappBusinessBackend, messageBridge, hookEventReceiver, worktreeMonitor, subagentTracker, instructionsVerifier, handshakeManager: threadlineHandshake, threadlineRouter, conversationStore, threadLog, threadMessageRecorder, warrantsReplyGate, collaborationSurfacer, threadResumeMap, topicLinkageHandler: topicLinkageHandler ?? undefined, threadlineRelayClient, pairingInvites: threadlinePairingInvites, getLastRelayEvent: threadlineGetLastRelayEvent, a2aRelayForward: _a2aRelayForwardCtx ?? undefined, threadlineReplyWaiters, listenerManager: listenerManager ?? undefined, a2aDeliveryTracker: a2aDeliveryTracker ?? undefined, relayVerdictCounters: threadlineRelayClient ? (() => ({ ...threadlineRelayClient.relayVerdictCounters, expiredMismatchIgnored: a2aDeliveryTracker?.expiredMismatchIgnored ?? 0 })) : undefined, inboundIdLedger: _inboundIdLedger ?? undefined, inboundIdLedgerDaemonDeferred: () => _inboundIdLedgerDaemonDeferred, responseReviewGate, reviewCanaryBattery, messagingToneGate, outboundDedupGate, telemetryHeartbeat, pasteManager, featureRegistry, discoveryEvaluator, completionEvaluator, unifiedTrust, liveConfig, sharedStateLedger, ledgerSessionRegistry, worktreeManager, oidcEnrolledRepos: parallelDevConfig?.oidcEnrolledRepos, initiativeTracker, projectRoundRunner, projectDriftChecker, machineHeartbeat, machinePoolRegistry, ropeHealthMonitor, writeAdmission: writeAdmission ?? undefined, getInboundQueue: () => _inboundQueue, getMachineCoherence: () => _machineCoherenceSentinel, getSingleMachineFailoverGap: () => _singleMachineFailoverGap, getMissingLoginSession: () => _missingLoginSession, getSessionPoolFailoverRunner: () => _sessionPoolFailoverRunnerDriver?.status() ?? null, sessionPoolPromotionActivation: _sessionPoolPromotionActivation, meshRpcDispatcher, deliverA2aToMachine: _deliverA2aToMachine ?? undefined, workingSetPullCoordinator, workingSetArtifactManager, orchestratorPoller, commitmentReplicaStore, preferenceReplicaStore, replicatedRecordEmitter, conflictStore, rollbackUnmerge, droppedOriginRegistry, preferencesUnionReader, jevMemoryPicker, forwardCommitmentMutate, sessionOwnershipRegistry, sendDrain: _sendDrain ?? undefined, topicPinStore: _topicPinStore ?? undefined, topicPinSkewQuarantine: _topicPinSkewQuarantine ?? undefined, topicPinFoldView: _topicPinFoldView ?? undefined, ownershipReconciler: _ownershipReconciler ?? undefined, staleOwnerEngine: _staleOwnerEngine ?? undefined, duplicateReconciler: _duplicateReconciler ?? undefined, ownerDarkLadder: _ownerDarkLadder ?? undefined, spawnAdmission: _spawnAdmission ?? undefined, judgmentProvenance: _judgmentProvenance ?? undefined, leaseHandback: _leaseHandbackCtx ?? undefined, streamTicketStore: _streamTicketStore ?? undefined, poolStreamAllowRemoteInput: config.dashboard?.poolStream?.allowRemoteInput ?? false, poolStreamConnector: _poolStreamConnector ?? undefined, secretSync: _secretSyncHandle ?? undefined, meshSelfId: _meshSelfId ?? undefined, resolveRouterUrl: _resolveRouterUrl ?? undefined, resolvePeerUrls: _resolvePeerUrls ?? undefined, guardRegistry, listPoolMachines: _listPoolMachines ?? undefined, deliverMandateToMachine: _deliverMandateToMachine ?? undefined, passkeyRevokeOutbox: _passkeyRevokeOutbox ? () => _passkeyRevokeOutbox : undefined, passkeyPeerOnline: _passkeyPeerOnline, passkeyPoolReader: _passkeyPoolReader ? () => _passkeyPoolReader : undefined, passkeyProofBrowser: async (profileDir) => { const { ChromeCdpReloginBrowser } = await import('../core/ChromeCdpReloginBrowser.js'); return new ChromeCdpReloginBrowser({ userDataDir: profileDir, passkeyMode: true, headless: true, launchTimeoutMs: 30_000, operationTimeoutMs: 20_000 }); }, poolLink: _poolLink ?? undefined, poolPollCache: _poolPollCache ?? undefined, sessionPoolE2EResultStore, proxyCoordinator, topicIntentStore, topicIntentArcCheck, usherSignalStore, intelligence: sharedIntelligence ?? undefined, telegramBridgeConfig, telegramBridge: telegramBridge ?? undefined, threadlineObservability, briefDeps, workingMemory, taskFlowRegistry, threadlineFlowBridge, sessionReaper, agentWorktreeReaper, externalHogSentinel, orphanedWorkSentinel, mcpProcessReaper, geminiLoopRunner, sleepController, agentActivityState, reapLog, resumeQueue, resumeDrainer, autonomousLivenessReconciler, enforcedTerminationStatus: () => enforcedTerminationWatchdog?.guardStatus() ?? null, prHandLease: prHandLease ?? undefined, standDownRegistry: _standDownRegistry ?? undefined, standDownAudit: _standDownAudit ?? undefined, operatorStopRecorder: recordOperatorStop, sleepWakeDetector, unjustifiedStopGate, stopGateDb, stopNotifier, liveTestGate, liveTestGateMode, liveTestRunnerCtx }); // Resolve the late-bound topic-operator getter (increment 2e): routing was
27235
27239
  const readIdentityProjectionPeerRows = async () => {
27236
27240
  const peers = _resolvePeerUrls?.() ?? [];
27237
27241
  const extra = config.multiMachine?.peerUrlAllowlist;