instar 1.3.598 → 1.3.600

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 (57) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +79 -3
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/core/MachinePoolRegistry.d.ts +4 -0
  5. package/dist/core/MachinePoolRegistry.d.ts.map +1 -1
  6. package/dist/core/MachinePoolRegistry.js +1 -0
  7. package/dist/core/MachinePoolRegistry.js.map +1 -1
  8. package/dist/core/PeerPresencePuller.d.ts +4 -1
  9. package/dist/core/PeerPresencePuller.d.ts.map +1 -1
  10. package/dist/core/PeerPresencePuller.js +3 -1
  11. package/dist/core/PeerPresencePuller.js.map +1 -1
  12. package/dist/core/PlacementExecutor.d.ts +8 -0
  13. package/dist/core/PlacementExecutor.d.ts.map +1 -1
  14. package/dist/core/PlacementExecutor.js +29 -0
  15. package/dist/core/PlacementExecutor.js.map +1 -1
  16. package/dist/core/RebalancePlanner.d.ts.map +1 -1
  17. package/dist/core/RebalancePlanner.js +6 -0
  18. package/dist/core/RebalancePlanner.js.map +1 -1
  19. package/dist/core/SessionRouter.d.ts +8 -0
  20. package/dist/core/SessionRouter.d.ts.map +1 -1
  21. package/dist/core/SessionRouter.js +4 -0
  22. package/dist/core/SessionRouter.js.map +1 -1
  23. package/dist/core/devGatedFeatures.d.ts.map +1 -1
  24. package/dist/core/devGatedFeatures.js +6 -0
  25. package/dist/core/devGatedFeatures.js.map +1 -1
  26. package/dist/core/machineServesChannel.d.ts +42 -0
  27. package/dist/core/machineServesChannel.d.ts.map +1 -0
  28. package/dist/core/machineServesChannel.js +48 -0
  29. package/dist/core/machineServesChannel.js.map +1 -0
  30. package/dist/core/multiMachineCapstoneMatrix.d.ts +49 -0
  31. package/dist/core/multiMachineCapstoneMatrix.d.ts.map +1 -0
  32. package/dist/core/multiMachineCapstoneMatrix.js +131 -0
  33. package/dist/core/multiMachineCapstoneMatrix.js.map +1 -0
  34. package/dist/core/types.d.ts +7 -0
  35. package/dist/core/types.d.ts.map +1 -1
  36. package/dist/core/types.js.map +1 -1
  37. package/dist/messaging/slack/SlackAdapter.d.ts +6 -0
  38. package/dist/messaging/slack/SlackAdapter.d.ts.map +1 -1
  39. package/dist/messaging/slack/SlackAdapter.js +12 -0
  40. package/dist/messaging/slack/SlackAdapter.js.map +1 -1
  41. package/dist/server/AgentServer.d.ts +35 -0
  42. package/dist/server/AgentServer.d.ts.map +1 -1
  43. package/dist/server/AgentServer.js +1 -0
  44. package/dist/server/AgentServer.js.map +1 -1
  45. package/dist/server/CapabilityIndex.d.ts.map +1 -1
  46. package/dist/server/CapabilityIndex.js +1 -0
  47. package/dist/server/CapabilityIndex.js.map +1 -1
  48. package/dist/server/routes.d.ts +3 -0
  49. package/dist/server/routes.d.ts.map +1 -1
  50. package/dist/server/routes.js +195 -0
  51. package/dist/server/routes.js.map +1 -1
  52. package/package.json +1 -1
  53. package/src/data/builtin-manifest.json +47 -47
  54. package/upgrades/1.3.599.md +21 -0
  55. package/upgrades/1.3.600.md +44 -0
  56. package/upgrades/side-effects/live-test-capstone-runner-route.md +89 -0
  57. package/upgrades/side-effects/placement-platform-workspace-aware.md +43 -0
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAmCH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAS3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAwBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAkH7D,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;AAg4CD,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,CAypdtE;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;AAmCH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAS3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAwBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAkH7D,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;AAg4CD,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,CAuudtE;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"}
@@ -5947,6 +5947,10 @@ export async function startServer(options) {
5947
5947
  userId: message.metadata?.slackUserId || undefined,
5948
5948
  firstName: message.metadata?.senderName || undefined,
5949
5949
  },
5950
+ // Thread the Slack channel scope so placement never owns this channel on a
5951
+ // machine not connected to its workspace (the live-test bug, a failover placement).
5952
+ // workspaceId from the live adapter; channelId is the raw Slack channel.
5953
+ channel: { platform: 'slack', workspaceId: _slackAdapter?.getWorkspaceId(), channelId },
5950
5954
  });
5951
5955
  console.log(`[session-pool] slack route key=${routingKey} → action=${outcome.action} owner=${outcome.owner ?? '?'} self=${_meshSelfId ?? '?'} acked=${outcome.acked}`);
5952
5956
  if (isRemotelyHandled(outcome, _meshSelfId)) {
@@ -12223,6 +12227,9 @@ export async function startServer(options) {
12223
12227
  // (resolve a peer's harness pubkey) is a tracked follow-on.
12224
12228
  let liveTestGate;
12225
12229
  let liveTestGateMode = 'dry-run';
12230
+ // Shared between the gate (which VERIFIES artifacts) and the runner (which WRITES
12231
+ // them) so a run's artifact is exactly the artifact the gate later reads.
12232
+ let liveTestArtifactStore;
12226
12233
  try {
12227
12234
  const ltgEnabled = resolveDevAgentGate(config.monitoring?.liveTestGate?.enabled, config);
12228
12235
  const idMgrForLtg = coordinator?.managers?.identityManager;
@@ -12233,7 +12240,7 @@ export async function startServer(options) {
12233
12240
  const signingKeyPem = idMgrForLtg.loadSigningKey();
12234
12241
  const publicKeyPem = nodeCrypto.createPublicKey({ key: signingKeyPem }).export({ type: 'spki', format: 'pem' }).toString();
12235
12242
  const machineId = coordinator.identity.machineId;
12236
- const ltStore = new LiveTestArtifactStore({
12243
+ liveTestArtifactStore = new LiveTestArtifactStore({
12237
12244
  stateDir: config.stateDir,
12238
12245
  machineId,
12239
12246
  signerFingerprint: machineId,
@@ -12241,7 +12248,7 @@ export async function startServer(options) {
12241
12248
  verify: (d, s) => verifyEd25519(d, s, publicKeyPem),
12242
12249
  logger: (m) => console.log(pc.dim(` ${m}`)),
12243
12250
  });
12244
- liveTestGate = new LiveTestGate(ltStore);
12251
+ liveTestGate = new LiveTestGate(liveTestArtifactStore);
12245
12252
  const m = config.monitoring?.liveTestGate?.mode;
12246
12253
  liveTestGateMode = m === 'warn' || m === 'veto' ? m : 'dry-run';
12247
12254
  console.log(pc.dim(` [live-test-gate] active (dev-gate, mode=${liveTestGateMode}) — completion veto §4`));
@@ -12252,6 +12259,49 @@ export async function startServer(options) {
12252
12259
  // behavior). Logged; never blocks server boot.
12253
12260
  console.log(pc.dim(` [live-test-gate] not wired: ${err instanceof Error ? err.message : String(err)}`));
12254
12261
  }
12262
+ // ── LiveTestRunner (live-user-channel-proof spec §6/§7.5) ───────────────
12263
+ // Makes the (already-built, dark) cross-machine transfer CAPSTONE harness
12264
+ // RUNNABLE: per request the route builds a RealChannelDriver from whatever demo
12265
+ // creds exist (fail-closed per surface), wraps it in a LiveTestHarness over the
12266
+ // SHARED artifact store, and runs the runner — which moves the seat FIRST
12267
+ // (POST /pool/transfer), demands the honest seatMoved signal, then drives the §7.5
12268
+ // matrix and records a signed PASS/FAIL artifact (PASS only when the reply came
12269
+ // FROM the target machine). DEV-GATED + DARK (monitoring.liveTestRunner.enabled
12270
+ // omitted from ConfigDefaults → resolveDevAgentGate: live on dev, dark on fleet).
12271
+ // The ctx carries a FACTORY (not a pre-bound runner) because the harness must wrap
12272
+ // the request-built driver; the factory shares the gate's artifact store so a run's
12273
+ // artifact IS the artifact the gate later verifies.
12274
+ let liveTestRunnerCtx;
12275
+ try {
12276
+ const ltrEnabled = resolveDevAgentGate(config.monitoring?.liveTestRunner?.enabled, config);
12277
+ if (ltrEnabled && liveTestArtifactStore && coordinator?.identity?.machineId) {
12278
+ const { LiveTestRunner } = await import('../core/LiveTestRunner.js');
12279
+ const { LiveTestHarness } = await import('../core/LiveTestHarness.js');
12280
+ const sharedStore = liveTestArtifactStore;
12281
+ const machineId = coordinator.identity.machineId;
12282
+ const makeHarness = (driver) => new LiveTestHarness({
12283
+ store: sharedStore,
12284
+ driver,
12285
+ runnerFingerprint: machineId,
12286
+ logger: (m) => console.log(pc.dim(` ${m}`)),
12287
+ });
12288
+ liveTestRunnerCtx = {
12289
+ artifactStore: sharedStore,
12290
+ runnerFingerprint: machineId,
12291
+ makeHarness,
12292
+ makeRunner: (driver) => new LiveTestRunner({
12293
+ harness: makeHarness(driver),
12294
+ logger: (m) => console.log(pc.dim(` ${m}`)),
12295
+ }),
12296
+ };
12297
+ console.log(pc.dim(' [live-test-runner] active (dev-gate, dark) — cross-machine capstone §7.5'));
12298
+ }
12299
+ }
12300
+ catch (err) {
12301
+ // @silent-fallback-ok — runner not wired → /live-test routes 503 (the dark
12302
+ // default; no capstone runs). Logged; never blocks server boot.
12303
+ console.log(pc.dim(` [live-test-runner] not wired: ${err instanceof Error ? err.message : String(err)}`));
12304
+ }
12255
12305
  // ── CollaborationRedriveEngine ────────────────────────────────────
12256
12306
  // Proactively re-engage a COUNTERPART that has gone silent on an open
12257
12307
  // threadline-reply commitment. Bounded peer nudges with a durable,
@@ -13689,6 +13739,31 @@ export async function startServer(options) {
13689
13739
  return undefined; /* unknown ≠ blocked */
13690
13740
  }
13691
13741
  };
13742
+ // Platform/workspace reachability block riding the capacity heartbeat
13743
+ // (spec: placement-platform-workspace-aware). ADAPTER-DERIVED: a slack
13744
+ // workspaceId is reported ONLY while the Socket-Mode adapter is genuinely
13745
+ // connected (cleared on disconnect — recomputed each beat). Telegram is a
13746
+ // SHARED chat (every machine reports the same chatId → placement no-op), so
13747
+ // it's included when its chatId is a concrete value; the FILTER's value is the
13748
+ // slack per-workspace case. Absent block (this returns undefined) = older peer
13749
+ // = placement treats as `unknown`/fail-open.
13750
+ const selfServesChannels = () => {
13751
+ // No try/catch (avoids a silent-fallback catch): these reads don't throw on normal
13752
+ // input, and a wrong-shaped value is guarded inline (typeof / optional chaining), so an
13753
+ // unresolvable field simply omits its block → placement treats it as unknown/fail-open.
13754
+ const out = {};
13755
+ const tg = config.messaging.find((m) => m.type === 'telegram' && m.enabled);
13756
+ const rawChatId = tg ? tg.config.chatId : undefined;
13757
+ if (typeof rawChatId === 'string' || typeof rawChatId === 'number') {
13758
+ out.telegram = { chatIds: [String(rawChatId)] };
13759
+ }
13760
+ if (_slackAdapter && _slackAdapter.isConnected()) {
13761
+ const ws = _slackAdapter.getWorkspaceId();
13762
+ if (ws)
13763
+ out.slack = { workspaceIds: [ws] };
13764
+ }
13765
+ return (out.telegram || out.slack) ? out : undefined;
13766
+ };
13692
13767
  // Self guard-posture block riding the capacity heartbeat (spec §2.3).
13693
13768
  // Computed per beat from the same one-read snapshot GET /guards uses;
13694
13769
  // a failed compute omits the block (older-peer semantics), never throws.
@@ -13737,6 +13812,7 @@ export async function startServer(options) {
13737
13812
  selfReportedLastSeen: new Date().toISOString(),
13738
13813
  loadAvg: osMod.loadavg()[0],
13739
13814
  quotaState: selfQuotaState(),
13815
+ servesChannels: selfServesChannels(),
13740
13816
  guardPosture: selfGuardPosture(),
13741
13817
  // WS1.1 capability advertisement (spec invariant 5): a bounded
13742
13818
  // fixed-size summary, never an inventory. Reported live each
@@ -16306,7 +16382,7 @@ export async function startServer(options) {
16306
16382
  carrier: _topicProfileCarrier,
16307
16383
  }
16308
16384
  : null;
16309
- 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, 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, 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, replicatedRecordEmitter, conflictStore, rollbackUnmerge, droppedOriginRegistry, preferencesUnionReader, 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, poolPollCache: _poolPollCache ?? 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, liveTestGate, liveTestGateMode }); // Resolve the late-bound topic-operator getter (increment 2e): routing was
16385
+ 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, 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, 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, replicatedRecordEmitter, conflictStore, rollbackUnmerge, droppedOriginRegistry, preferencesUnionReader, 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, poolPollCache: _poolPollCache ?? 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, liveTestGate, liveTestGateMode, liveTestRunnerCtx }); // Resolve the late-bound topic-operator getter (increment 2e): routing was
16310
16386
  // wired before the server existed; from here on inbound binds use the
16311
16387
  // server's own store instance.
16312
16388
  _agentServerRef = server;