instar 1.3.524 → 1.3.526

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 (64) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +77 -5
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/config/ConfigDefaults.d.ts.map +1 -1
  5. package/dist/config/ConfigDefaults.js +23 -0
  6. package/dist/config/ConfigDefaults.js.map +1 -1
  7. package/dist/core/ConflictStore.d.ts +150 -0
  8. package/dist/core/ConflictStore.d.ts.map +1 -0
  9. package/dist/core/ConflictStore.js +247 -0
  10. package/dist/core/ConflictStore.js.map +1 -0
  11. package/dist/core/PostUpdateMigrator.d.ts +1 -0
  12. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  13. package/dist/core/PostUpdateMigrator.js +116 -0
  14. package/dist/core/PostUpdateMigrator.js.map +1 -1
  15. package/dist/core/ReplicatedStoreReader.d.ts +83 -0
  16. package/dist/core/ReplicatedStoreReader.d.ts.map +1 -0
  17. package/dist/core/ReplicatedStoreReader.js +100 -0
  18. package/dist/core/ReplicatedStoreReader.js.map +1 -0
  19. package/dist/core/ReplicationBudget.d.ts +183 -0
  20. package/dist/core/ReplicationBudget.d.ts.map +1 -0
  21. package/dist/core/ReplicationBudget.js +253 -0
  22. package/dist/core/ReplicationBudget.js.map +1 -0
  23. package/dist/core/RollbackUnmerge.d.ts +134 -0
  24. package/dist/core/RollbackUnmerge.d.ts.map +1 -0
  25. package/dist/core/RollbackUnmerge.js +286 -0
  26. package/dist/core/RollbackUnmerge.js.map +1 -0
  27. package/dist/core/UnionReader.d.ts +161 -0
  28. package/dist/core/UnionReader.d.ts.map +1 -0
  29. package/dist/core/UnionReader.js +0 -0
  30. package/dist/core/UnionReader.js.map +1 -0
  31. package/dist/monitoring/ActiveWorkSilenceSentinel.d.ts +56 -2
  32. package/dist/monitoring/ActiveWorkSilenceSentinel.d.ts.map +1 -1
  33. package/dist/monitoring/ActiveWorkSilenceSentinel.js +174 -10
  34. package/dist/monitoring/ActiveWorkSilenceSentinel.js.map +1 -1
  35. package/dist/monitoring/PromiseBeacon.d.ts +48 -0
  36. package/dist/monitoring/PromiseBeacon.d.ts.map +1 -1
  37. package/dist/monitoring/PromiseBeacon.js +186 -41
  38. package/dist/monitoring/PromiseBeacon.js.map +1 -1
  39. package/dist/monitoring/SubagentTracker.d.ts +9 -0
  40. package/dist/monitoring/SubagentTracker.d.ts.map +1 -1
  41. package/dist/monitoring/SubagentTracker.js +11 -0
  42. package/dist/monitoring/SubagentTracker.js.map +1 -1
  43. package/dist/monitoring/sentinelWiring.d.ts +20 -1
  44. package/dist/monitoring/sentinelWiring.d.ts.map +1 -1
  45. package/dist/monitoring/sentinelWiring.js +26 -0
  46. package/dist/monitoring/sentinelWiring.js.map +1 -1
  47. package/dist/scaffold/templates.d.ts.map +1 -1
  48. package/dist/scaffold/templates.js +13 -0
  49. package/dist/scaffold/templates.js.map +1 -1
  50. package/dist/server/AgentServer.d.ts +7 -0
  51. package/dist/server/AgentServer.d.ts.map +1 -1
  52. package/dist/server/AgentServer.js +3 -0
  53. package/dist/server/AgentServer.js.map +1 -1
  54. package/dist/server/routes.d.ts +10 -0
  55. package/dist/server/routes.d.ts.map +1 -1
  56. package/dist/server/routes.js +67 -0
  57. package/dist/server/routes.js.map +1 -1
  58. package/package.json +1 -1
  59. package/src/data/builtin-manifest.json +64 -64
  60. package/src/scaffold/templates.ts +13 -0
  61. package/upgrades/1.3.525.md +32 -0
  62. package/upgrades/1.3.526.md +83 -0
  63. package/upgrades/side-effects/hlc-step4-5-union-rollback-bounds.md +148 -0
  64. package/upgrades/side-effects/honest-progress-messaging.md +150 -0
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgCH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAS3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAuBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AA+G7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAsBtD;;;;;;;;;;;;;;;;;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;AAm1CD,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,GACpD,IAAI,CA8eN;AA2lBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAm5ZtE;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;AAgCH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAS3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAuBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAiH7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAsBtD;;;;;;;;;;;;;;;;;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;AAm1CD,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,GACpD,IAAI,CA8eN;AA2lBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA69ZtE;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"}
@@ -87,6 +87,8 @@ import { wireRegistrySync } from '../core/wireRegistrySync.js';
87
87
  import { assertSeamlessnessInvariants } from '../core/seamlessnessConfig.js';
88
88
  import { assertStateSyncInvariants } from '../core/stateSyncConfig.js';
89
89
  import { ReplicatedKindRegistry, checkPoolFlagCoherence } from '../core/ReplicatedRecordEnvelope.js';
90
+ import { ConflictStore } from '../core/ConflictStore.js';
91
+ import { RollbackUnmerge, DroppedOriginRegistry } from '../core/RollbackUnmerge.js';
90
92
  import { SnapshotCache, SnapshotRebuildBreaker, StoreSnapshotEngine } from '../core/StoreSnapshot.js';
91
93
  import { FencedLease } from '../core/FencedLease.js';
92
94
  import { GitLeaseStore } from '../core/GitLeaseStore.js';
@@ -3335,6 +3337,40 @@ export async function startServer(options) {
3335
3337
  }
3336
3338
  return out;
3337
3339
  };
3340
+ // ── Replicated-store union-reader / conflict / rollback substrate (Component
3341
+ // 6, multi-machine-replicated-store-foundation §7.2/§7.3/§7.4). Constructed
3342
+ // here so the durable conflict ledger + the un-merged-origins registry +
3343
+ // the rollback engine are WIRED + dependency-injectable from this PR
3344
+ // (machinery presence, never a null/no-op). With the registry EMPTY (no
3345
+ // concrete store yet) the routes report "no conflicts / no dropped origins"
3346
+ // and the rollback engine has no kind to drop — the correct single-machine
3347
+ // / no-store-yet behavior (a strict no-op). The first concrete store (WS2.1)
3348
+ // supplies the per-origin record loader onto the union reader; this PR ships
3349
+ // the substrate dark. The conflict ledger + dropped-origins set persist under
3350
+ // .instar/state/state-sync so an un-merge survives restarts (§7.4).
3351
+ const conflictStore = new ConflictStore({
3352
+ stateDir: config.stateDir,
3353
+ now: () => new Date(),
3354
+ });
3355
+ const droppedOriginRegistry = new DroppedOriginRegistry({ stateDir: config.stateDir });
3356
+ const rollbackUnmerge = new RollbackUnmerge(droppedOriginRegistry, {
3357
+ // The peers/ replica directory the journal applier writes (§7.1 layout).
3358
+ peersDir: () => path.join(config.stateDir, 'state', 'coherence-journal', 'peers'),
3359
+ // A store rides the journal kind(s) its registration declared (empty until
3360
+ // WS2.1 registers a concrete kind ⇒ a no-op un-merge today).
3361
+ kindsForStore: (store) => {
3362
+ const reg = replicatedKindRegistry.getByStore(store);
3363
+ return reg ? [reg.kind] : [];
3364
+ },
3365
+ now: () => new Date(),
3366
+ // §7.4 step 2 cache leg: drop the dropped origin's snapshot-cache entries.
3367
+ dropSnapshotCacheForOrigin: (origin) => snapshotCache.dropOrigin(origin),
3368
+ // §7.4 conflict auto-resolution leg.
3369
+ autoResolveConflicts: (origin) => conflictStore.autoResolveForDroppedOrigin(origin),
3370
+ });
3371
+ void rollbackUnmerge;
3372
+ void conflictStore;
3373
+ void droppedOriginRegistry; // consumed by the /state/* routes + the store PRs (WS2.1+)
3338
3374
  // Read local signing key for machine route authentication
3339
3375
  let localSigningKeyPem = '';
3340
3376
  if (coordinator.enabled && coordinator.identity) {
@@ -7724,6 +7760,13 @@ export async function startServer(options) {
7724
7760
  // consolidated message to the existing system topic. No new-topic-per-event.
7725
7761
  // Spec: docs/specs/silently-stopped-trio.md.
7726
7762
  //
7763
+ // Subagent Tracker — monitors subagent lifecycle via hook events. Constructed
7764
+ // BEFORE the silently-stopped trio block so ActiveWorkSilenceSentinel's
7765
+ // corroboration (HONEST-PROGRESS-MESSAGING A2 — "is a sub-agent live?") can be
7766
+ // wired into it (it was previously built after the trio block).
7767
+ const { SubagentTracker } = await import('../monitoring/SubagentTracker.js');
7768
+ const subagentTracker = new SubagentTracker({ stateDir: config.stateDir });
7769
+ console.log(pc.green(' Subagent tracker enabled'));
7727
7770
  // Captured out of the trio block so the SessionReaper's recovery veto can
7728
7771
  // compose socket + silence in too (SESSION-REAPER-SPEC §4 "compose, don't
7729
7772
  // replace"). undefined when the corresponding sentinel is disabled.
@@ -7823,6 +7866,28 @@ export async function startServer(options) {
7823
7866
  return result.ok;
7824
7867
  }
7825
7868
  : undefined,
7869
+ // HONEST-PROGRESS-MESSAGING A1/A2 — corroborate before claiming a
7870
+ // session is stuck: re-capture the live frame, check it isn't still
7871
+ // generating, and check no sub-agent is live. The whole path fails
7872
+ // closed inside the sentinel (FD-6).
7873
+ captureFrame: (name) => sessionSurface.captureOutput(name, 60),
7874
+ frameworkForSession: (name) => sessionManager.frameworkForSession(name),
7875
+ hasActiveSubagents: (name) => {
7876
+ const csid = sessionManager
7877
+ .listRunningSessions()
7878
+ .find((s) => s.tmuxSession === name)?.claudeSessionId;
7879
+ return csid ? subagentTracker.hasActiveSubagents(csid) : false;
7880
+ },
7881
+ // Observability (E) — funnel events to the sentinel-events.jsonl audit
7882
+ // trail via the notifier, mapped onto its kind enum.
7883
+ recordEvent: (event, name, detail) => {
7884
+ const kind = event.startsWith('suppressed')
7885
+ ? 'escalation-suppressed'
7886
+ : event.startsWith('escalated')
7887
+ ? 'escalation-sent'
7888
+ : 'detected';
7889
+ notifier.record(kind, 'active-silence', name, detail ? `${event}: ${detail}` : event);
7890
+ },
7826
7891
  }), silenceCfg);
7827
7892
  silenceSentinel.on('silence', (e) => notifier.record('detected', 'active-silence', e.sessionName, `idleMs=${e.idleMs}`));
7828
7893
  silenceSentinel.on('recovered', (n) => notifier.record('recovered', 'active-silence', n));
@@ -7946,10 +8011,6 @@ export async function startServer(options) {
7946
8011
  compactionSentinel.report(sessionName, triggerLabel || 'recovery-hook');
7947
8012
  return Promise.resolve(true);
7948
8013
  };
7949
- // Subagent Tracker — monitors subagent lifecycle via hook events
7950
- const { SubagentTracker } = await import('../monitoring/SubagentTracker.js');
7951
- const subagentTracker = new SubagentTracker({ stateDir: config.stateDir });
7952
- console.log(pc.green(' Subagent tracker enabled'));
7953
8014
  // Helper Watchdog — detects subagent stalls and rate-limit failures,
7954
8015
  // surfacing them back into the parent session's stdin so the agent
7955
8016
  // can decide whether to retry smaller. Complements SessionWatchdog,
@@ -8805,6 +8866,9 @@ export async function startServer(options) {
8805
8866
  // Spec: docs/specs/PROMISE-BEACON-SPEC.md
8806
8867
  try {
8807
8868
  const { PromiseBeacon } = await import('../monitoring/PromiseBeacon.js');
8869
+ // HONEST-PROGRESS-MESSAGING B2 — strict "generating now" detector for
8870
+ // the beacon's turn-finished close-out (live spinner / esc-to-interrupt).
8871
+ const { looksGeneratingNow: _beaconLooksGeneratingNow } = await import('../monitoring/sentinelWiring.js');
8808
8872
  // ── Escalation deps (PROMISE-BEACON-ESCALATION-SPEC §3–§5) ────────
8809
8873
  // Dark-ship: enabled resolves via the developmentAgent gate; dryRun
8810
8874
  // defaults true so the dark→live promotion is evidence-gated (§5).
@@ -8932,6 +8996,14 @@ export async function startServer(options) {
8932
8996
  sentinelAutoEnable: promiseBeaconCfg.sentinelAutoEnable ?? false,
8933
8997
  quietHours: promiseBeaconCfg.quietHours ?? { start: '22:00', end: '08:00' },
8934
8998
  maxActiveBeacons: promiseBeaconCfg.maxActiveBeacons ?? 20,
8999
+ // HONEST-PROGRESS-MESSAGING B1/B1b/B2 — silent-unless-true defaults.
9000
+ // Each reads from config (operator opt-out / tuning); undefined leaves
9001
+ // the beacon's own defaults (suppress on, 60m liveness, N=3 close-out).
9002
+ suppressUnchangedHeartbeats: promiseBeaconCfg.suppressUnchangedHeartbeats,
9003
+ beaconLivenessIntervalMs: promiseBeaconCfg.beaconLivenessIntervalMs,
9004
+ turnFinishedCloseoutChecks: promiseBeaconCfg.turnFinishedCloseoutChecks,
9005
+ // B2 turn-finished detection — "is the session still generating now?"
9006
+ looksActivelyWorking: (frame, name) => _beaconLooksGeneratingNow(frame, sessionManager.frameworkForSession(name)),
8935
9007
  });
8936
9008
  promiseBeacon.start();
8937
9009
  globalThis.__instarPromiseBeacon = promiseBeacon;
@@ -14635,7 +14707,7 @@ export async function startServer(options) {
14635
14707
  carrier: _topicProfileCarrier,
14636
14708
  }
14637
14709
  : null;
14638
- 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, cartographer: cartographer ?? undefined, coherenceGate: scopeVerifier, contextHierarchy, canonicalState, operationGate, sentinel, adaptiveTrust, memoryMonitor, orphanReaper, coherenceMonitor, commitmentTracker, subscriptionPool, quotaPoller, quotaAwareScheduler: _quotaAwareScheduler ?? undefined, proactiveSwapMonitor: _proactiveSwapMonitor ?? undefined, inUseAccountResolver, enrollmentWizard, 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, localSigningKeyPem, leaseTransport, 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, whatsappBusinessBackend, messageBridge, hookEventReceiver, worktreeMonitor, subagentTracker, instructionsVerifier, handshakeManager: threadlineHandshake, threadlineRouter, conversationStore, threadLog, threadMessageRecorder, warrantsReplyGate, collaborationSurfacer, threadResumeMap, topicLinkageHandler: topicLinkageHandler ?? undefined, threadlineRelayClient, threadlineReplyWaiters, listenerManager: listenerManager ?? undefined, a2aDeliveryTracker: a2aDeliveryTracker ?? undefined, responseReviewGate, messagingToneGate, outboundDedupGate, telemetryHeartbeat, pasteManager, featureRegistry, discoveryEvaluator, completionEvaluator, unifiedTrust, liveConfig, sharedStateLedger, ledgerSessionRegistry, worktreeManager, oidcEnrolledRepos: parallelDevConfig?.oidcEnrolledRepos, initiativeTracker, projectRoundRunner, projectDriftChecker, machineHeartbeat, machinePoolRegistry, getInboundQueue: () => _inboundQueue, meshRpcDispatcher, workingSetPullCoordinator, commitmentReplicaStore, preferenceReplicaStore, forwardCommitmentMutate, sessionOwnershipRegistry, topicPinStore: _topicPinStore ?? 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, poolLink: _poolLink ?? undefined, sessionPoolE2EResultStore, proxyCoordinator, topicIntentStore, topicIntentArcCheck, usherSignalStore, intelligence: sharedIntelligence ?? undefined, telegramBridgeConfig, telegramBridge: telegramBridge ?? undefined, threadlineObservability, briefDeps, workingMemory, taskFlowRegistry, threadlineFlowBridge, sessionReaper, agentWorktreeReaper, orphanedWorkSentinel, mcpProcessReaper, geminiLoopRunner, sleepController, agentActivityState, reapLog, resumeQueue, resumeDrainer, operatorStopRecorder: recordOperatorStop, sleepWakeDetector, unjustifiedStopGate, stopGateDb, stopNotifier }); // Resolve the late-bound topic-operator getter (increment 2e): routing was
14710
+ 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, cartographer: cartographer ?? undefined, coherenceGate: scopeVerifier, contextHierarchy, canonicalState, operationGate, sentinel, adaptiveTrust, memoryMonitor, orphanReaper, coherenceMonitor, commitmentTracker, subscriptionPool, quotaPoller, quotaAwareScheduler: _quotaAwareScheduler ?? undefined, proactiveSwapMonitor: _proactiveSwapMonitor ?? undefined, inUseAccountResolver, enrollmentWizard, 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, localSigningKeyPem, leaseTransport, 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, whatsappBusinessBackend, messageBridge, hookEventReceiver, worktreeMonitor, subagentTracker, instructionsVerifier, handshakeManager: threadlineHandshake, threadlineRouter, conversationStore, threadLog, threadMessageRecorder, warrantsReplyGate, collaborationSurfacer, threadResumeMap, topicLinkageHandler: topicLinkageHandler ?? undefined, threadlineRelayClient, threadlineReplyWaiters, listenerManager: listenerManager ?? undefined, a2aDeliveryTracker: a2aDeliveryTracker ?? undefined, responseReviewGate, messagingToneGate, outboundDedupGate, telemetryHeartbeat, pasteManager, featureRegistry, discoveryEvaluator, completionEvaluator, unifiedTrust, liveConfig, sharedStateLedger, ledgerSessionRegistry, worktreeManager, oidcEnrolledRepos: parallelDevConfig?.oidcEnrolledRepos, initiativeTracker, projectRoundRunner, projectDriftChecker, machineHeartbeat, machinePoolRegistry, getInboundQueue: () => _inboundQueue, meshRpcDispatcher, workingSetPullCoordinator, commitmentReplicaStore, preferenceReplicaStore, conflictStore, rollbackUnmerge, droppedOriginRegistry, forwardCommitmentMutate, sessionOwnershipRegistry, topicPinStore: _topicPinStore ?? 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, poolLink: _poolLink ?? undefined, sessionPoolE2EResultStore, proxyCoordinator, topicIntentStore, topicIntentArcCheck, usherSignalStore, intelligence: sharedIntelligence ?? undefined, telegramBridgeConfig, telegramBridge: telegramBridge ?? undefined, threadlineObservability, briefDeps, workingMemory, taskFlowRegistry, threadlineFlowBridge, sessionReaper, agentWorktreeReaper, orphanedWorkSentinel, mcpProcessReaper, geminiLoopRunner, sleepController, agentActivityState, reapLog, resumeQueue, resumeDrainer, operatorStopRecorder: recordOperatorStop, sleepWakeDetector, unjustifiedStopGate, stopGateDb, stopNotifier }); // Resolve the late-bound topic-operator getter (increment 2e): routing was
14639
14711
  // wired before the server existed; from here on inbound binds use the
14640
14712
  // server's own store instance.
14641
14713
  _agentServerRef = server;