instar 1.3.698 → 1.3.700

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 (48) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +90 -9
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/core/CoherenceJournal.d.ts +10 -1
  5. package/dist/core/CoherenceJournal.d.ts.map +1 -1
  6. package/dist/core/CoherenceJournal.js +31 -3
  7. package/dist/core/CoherenceJournal.js.map +1 -1
  8. package/dist/core/MachinePoolRegistry.d.ts +13 -0
  9. package/dist/core/MachinePoolRegistry.d.ts.map +1 -1
  10. package/dist/core/MachinePoolRegistry.js +22 -3
  11. package/dist/core/MachinePoolRegistry.js.map +1 -1
  12. package/dist/core/OwnershipApplier.d.ts +21 -0
  13. package/dist/core/OwnershipApplier.d.ts.map +1 -1
  14. package/dist/core/OwnershipApplier.js +60 -5
  15. package/dist/core/OwnershipApplier.js.map +1 -1
  16. package/dist/core/OwnershipReconciler.d.ts +80 -3
  17. package/dist/core/OwnershipReconciler.d.ts.map +1 -1
  18. package/dist/core/OwnershipReconciler.js +187 -10
  19. package/dist/core/OwnershipReconciler.js.map +1 -1
  20. package/dist/core/TopicPinReplicatedStore.d.ts +68 -0
  21. package/dist/core/TopicPinReplicatedStore.d.ts.map +1 -0
  22. package/dist/core/TopicPinReplicatedStore.js +148 -0
  23. package/dist/core/TopicPinReplicatedStore.js.map +1 -0
  24. package/dist/core/TopicPlacementPinStore.d.ts +20 -2
  25. package/dist/core/TopicPlacementPinStore.d.ts.map +1 -1
  26. package/dist/core/TopicPlacementPinStore.js +5 -3
  27. package/dist/core/TopicPlacementPinStore.js.map +1 -1
  28. package/dist/core/devGatedFeatures.d.ts.map +1 -1
  29. package/dist/core/devGatedFeatures.js +6 -0
  30. package/dist/core/devGatedFeatures.js.map +1 -1
  31. package/dist/core/ownershipApplierWiring.d.ts +5 -0
  32. package/dist/core/ownershipApplierWiring.d.ts.map +1 -1
  33. package/dist/core/ownershipApplierWiring.js +3 -0
  34. package/dist/core/ownershipApplierWiring.js.map +1 -1
  35. package/dist/server/AgentServer.d.ts +2 -0
  36. package/dist/server/AgentServer.d.ts.map +1 -1
  37. package/dist/server/AgentServer.js +1 -0
  38. package/dist/server/AgentServer.js.map +1 -1
  39. package/dist/server/routes.d.ts +2 -0
  40. package/dist/server/routes.d.ts.map +1 -1
  41. package/dist/server/routes.js +33 -0
  42. package/dist/server/routes.js.map +1 -1
  43. package/package.json +1 -1
  44. package/src/data/builtin-manifest.json +47 -47
  45. package/upgrades/1.3.699.md +31 -0
  46. package/upgrades/1.3.700.md +39 -0
  47. package/upgrades/side-effects/cross-machine-reconciler-convergence.md +56 -0
  48. package/upgrades/side-effects/reconciler-meshself-ordering-fix.md +93 -0
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA8CH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAU3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAyBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAyH7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA+EtD;;;;;;;;;;;;;;;;;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;AAi7CD,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,CAihBN;AA2lBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAuwhBtE;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;AA8CH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAU3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAyBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAyH7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA+EtD;;;;;;;;;;;;;;;;;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;AAq7CD,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,CAihBN;AA2lBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAm1hBtE;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"}
@@ -691,6 +691,10 @@ let _slackInboundDispatch = null;
691
691
  // Null until startServer constructs it; the Telegram /restart handler falls
692
692
  // back to the inline kill+respawn path when null (e.g. early in boot).
693
693
  let _sessionRefresh = null;
694
+ // Cross-machine convergence (Fix #3 observability): the WS1.3 OwnershipReconciler, hoisted so
695
+ // the `/pool/reconciler` readout (status + per-topic explain) can reach it. Null until the
696
+ // pool block constructs it (single-machine / dark → stays null → the route 503s).
697
+ let _ownershipReconciler = null;
694
698
  // Subscription & Auth Standard P1.3 — quota-aware account-swap scheduler. Null
695
699
  // until wired (requires SessionRefresh + the subscription pool).
696
700
  let _quotaAwareScheduler = null;
@@ -3677,6 +3681,13 @@ export async function startServer(options) {
3677
3681
  // re-mint-per-machine default (Mechanism B); see ws52-account-follow-me-security.md.
3678
3682
  const { SUBSCRIPTION_ACCOUNT_META_KIND_REGISTRATION } = await import('../core/SubscriptionAccountMetaReplicatedStore.js');
3679
3683
  replicatedKindRegistry.register(SUBSCRIPTION_ACCOUNT_META_KIND_REGISTRATION);
3684
+ // Cross-machine ownership-reconciler convergence Fix #2 (docs/specs/cross-machine-
3685
+ // reconciler-convergence.md): register `topic-pin-record` so the user's PIN (move-intent)
3686
+ // replicates to the OWNING machine — the reconciler there reads it (HLC-ordered, advisory)
3687
+ // and starts the cooperative transfer. Registration is INERT; emission stays gated behind
3688
+ // the store-enable flag (ws13PinReplicate), so a single-machine / dark agent is a no-op.
3689
+ const { TOPIC_PIN_KIND_REGISTRATION } = await import('../core/TopicPinReplicatedStore.js');
3690
+ replicatedKindRegistry.register(TOPIC_PIN_KIND_REGISTRATION);
3680
3691
  // ── WS2 SEND-SIDE wiring (docs/specs/WS2-SEND-SIDE-EMISSION-SPEC.md). The
3681
3692
  // substrate above ships the registry + receive/serve machinery + advert; THIS
3682
3693
  // wires the SEND half that was deferred ("the journal-backed emitter is attached
@@ -3787,9 +3798,19 @@ export async function startServer(options) {
3787
3798
  // gate resolves OFF the entry is absent ⇒ the emitter's `enabled===true` check fails ⇒ strict
3788
3799
  // no-op (no account metadata ever crosses), exactly like the dark stateSync stores.
3789
3800
  const _accountFollowMeEnabled = resolveDevAgentGate(config.multiMachine?.accountFollowMe?.enabled, config);
3790
- const _stateSyncStoresResolved = _accountFollowMeEnabled
3791
- ? { ...(_stateSyncStoresBase ?? {}), subscriptionAccountMeta: { enabled: true } }
3792
- : _stateSyncStoresBase;
3801
+ // Cross-machine convergence Fix #2 — the `topicPins` store gates on
3802
+ // `multiMachine.seamlessness.ws13PinReplicate` (dev-live / fleet-dark, same ladder as the
3803
+ // rest of WS1.3). When OFF the entry is absent ⇒ the emitter's enabled-check fails ⇒ no pin
3804
+ // record ever crosses (a dark/single-machine agent is a strict no-op).
3805
+ const _pinReplicateEnabled = resolveDevAgentGate(config.multiMachine?.seamlessness?.ws13PinReplicate, config);
3806
+ const _stateSyncStoresResolved = (() => {
3807
+ let s = _stateSyncStoresBase ?? {};
3808
+ if (_accountFollowMeEnabled)
3809
+ s = { ...s, subscriptionAccountMeta: { enabled: true } };
3810
+ if (_pinReplicateEnabled)
3811
+ s = { ...s, topicPins: { enabled: true } };
3812
+ return _accountFollowMeEnabled || _pinReplicateEnabled || _stateSyncStoresBase ? s : _stateSyncStoresBase;
3813
+ })();
3793
3814
  // WS2 send-side: the generic journal-backed record emitter (the concrete emitter
3794
3815
  // the per-store managers' emit hooks call). Needs the journal sink, the HLC clock,
3795
3816
  // the registry (store → kind), this machine's origin id, the resolved stateSync
@@ -15617,7 +15638,11 @@ export async function startServer(options) {
15617
15638
  if (hbApi) {
15618
15639
  for (const r of hbApi.listAll()) {
15619
15640
  if (r.machineId !== poolSelfId) {
15620
- machinePoolRegistry.recordHeartbeat({ machineId: r.machineId, selfReportedLastSeen: r.lastHeartbeatAt });
15641
+ // COARSE: the file-based MachineHeartbeat is git-synced + written every
15642
+ // ~30min, so its lastHeartbeatAt is NOT a live clock reading. Mark it coarse
15643
+ // so it refreshes liveness but never drives the 5-min clock-skew quarantine
15644
+ // FSM (the permanent false-positive Laptop↔Mini quarantine, 2026-06-30).
15645
+ machinePoolRegistry.recordHeartbeat({ machineId: r.machineId, selfReportedLastSeen: r.lastHeartbeatAt, coarseHeartbeat: true });
15621
15646
  }
15622
15647
  }
15623
15648
  }
@@ -15941,9 +15966,21 @@ export async function startServer(options) {
15941
15966
  // inbound message that delivery may never route" (the 2026-06-12 stuck
15942
15967
  // transfer-back). Dark + dry-run defaults; strict single-machine no-op
15943
15968
  // inside the module. Phase C: quorum logic is N-machine from day one.
15944
- if (_topicPinStore && _meshSelfId) {
15969
+ // Construction gated on the pin store ALONE — NOT on `_meshSelfId` (Finding
15970
+ // 2026-06-30, caught by the live proof): this block runs ~950 lines BEFORE
15971
+ // `_meshSelfId` is assigned in the boot sequence, so the old `&& _meshSelfId` guard
15972
+ // was ALWAYS null here → the reconciler was never built and never ticked (0 ticks in
15973
+ // logs, /pool/reconciler 503 even with both machines online). `selfMachineId` is now a
15974
+ // late-bound getter (read at tick time, no-op while null) — the SAME proven fix the
15975
+ // sibling OwnershipApplier already uses (ownership-applier-meshself-ordering-fix).
15976
+ if (_topicPinStore) {
15945
15977
  const ws13Cfg = () => (config.multiMachine?.seamlessness ?? {});
15946
15978
  const { OwnershipReconciler } = await import('../core/OwnershipReconciler.js');
15979
+ // Fix #2 advisory-pin read: the merged replicated `topic-pin-record` view (HLC-ordered)
15980
+ // the reconciler consults so the OWNING machine sees a pin set on another machine.
15981
+ const { mergeUnionToPins, compareHlc, TOPIC_PIN_RECORD_KIND } = await import('../core/TopicPinReplicatedStore.js');
15982
+ const { CoherenceJournalReader: PinAdvReader } = await import('../core/CoherenceJournalReader.js');
15983
+ const pinAdvisoryReader = new PinAdvReader({ stateDir: config.stateDir });
15947
15984
  const reconciler = new OwnershipReconciler({
15948
15985
  // DEV-AGENT DARK GATE (operator directive 2026-06-13, topic 13481):
15949
15986
  // read ws13Reconcile through resolveDevAgentGate so the reconcile loop
@@ -15954,8 +15991,26 @@ export async function startServer(options) {
15954
15991
  // ladder intends. Strict single-machine no-op inside the module.
15955
15992
  enabled: () => resolveDevAgentGate(ws13Cfg().ws13Reconcile, config),
15956
15993
  dryRun: () => ws13Cfg().ws13DryRun !== false,
15957
- selfMachineId: _meshSelfId,
15994
+ selfMachineId: () => _meshSelfId, // late-bound (assigned ~950 lines below) — read at tick time
15958
15995
  pinStore: _topicPinStore,
15996
+ // Fix #2: the merged ADVISORY replicated pins (HLC-ordered). Gated by
15997
+ // ws13PinReplicate (resolves LIVE on a dev agent / DARK on the fleet) so a
15998
+ // dark/single-machine agent reads no advisory pins (today's behavior).
15999
+ advisoryPins: () => {
16000
+ try {
16001
+ if (!resolveDevAgentGate(ws13Cfg().ws13PinReplicate, config))
16002
+ return new Map();
16003
+ const res = pinAdvisoryReader.query({ kind: TOPIC_PIN_RECORD_KIND, limit: 2000 });
16004
+ const merged = mergeUnionToPins(res.entries.map((e) => ({ data: e.data, origin: typeof e.data.origin === 'string' ? e.data.origin : '' })), compareHlc);
16005
+ const out = new Map();
16006
+ for (const [topic, p] of merged)
16007
+ out.set(topic, { preferredMachine: p.preferredMachine, hlc: p.hlc });
16008
+ return out;
16009
+ }
16010
+ catch {
16011
+ return new Map(); /* @silent-fallback-ok — advisory read fault → no advisory pins this tick; the next tick retries, never blocks the reconciler */
16012
+ }
16013
+ },
15959
16014
  ownership: ownReg,
15960
16015
  machines: () => {
15961
16016
  try {
@@ -15984,10 +16039,21 @@ export async function startServer(options) {
15984
16039
  try {
15985
16040
  const topicNum = Number(sessionKey);
15986
16041
  if (Number.isFinite(topicNum)) {
16042
+ const rr = r.record;
15987
16043
  state.getCoherenceJournal()?.emitPlacement(topicNum, {
15988
- owner: r.record.ownerMachineId ?? '',
15989
- epoch: r.record.ownershipEpoch,
16044
+ owner: rr.ownerMachineId ?? '',
16045
+ epoch: rr.ownershipEpoch,
15990
16046
  reason: 'reconcile',
16047
+ // Fix #3 (Finding INT2): a reconciler cooperative transfer emits the
16048
+ // `transferring` intermediate so the target machine claims cross-machine.
16049
+ ...(rr.status === 'transferring'
16050
+ ? {
16051
+ status: 'transferring',
16052
+ ...(rr.transferTo ? { transferTo: rr.transferTo } : {}),
16053
+ ...(typeof rr.timestamp === 'number' ? { timestamp: rr.timestamp } : {}),
16054
+ ...(rr.drainInFlight ? { drainInFlight: true } : {}),
16055
+ }
16056
+ : {}),
15991
16057
  });
15992
16058
  }
15993
16059
  }
@@ -15995,6 +16061,7 @@ export async function startServer(options) {
15995
16061
  },
15996
16062
  logger: (m) => console.log(pc.dim(` ${m}`)),
15997
16063
  });
16064
+ _ownershipReconciler = reconciler; // hoist for the /pool/reconciler readout
15998
16065
  const tickMs = Math.max(5000, ws13Cfg().ws13TickMs ?? 30000);
15999
16066
  const ws13Timer = setInterval(() => {
16000
16067
  try {
@@ -16031,6 +16098,9 @@ export async function startServer(options) {
16031
16098
  durableOwnershipStore,
16032
16099
  reader: new CoherenceJournalReader({ stateDir: config.stateDir }),
16033
16100
  getSelfMachineId: () => _meshSelfId,
16101
+ // Fix #3: validate a replicated `transferring` entry's `transferTo` against the
16102
+ // live known-machine set before materializing (else downgrade to active(owner)).
16103
+ knownMachines: () => new Set((machinePoolRegistry?.getCapacities() ?? []).map((c) => c.machineId)),
16034
16104
  logger: (m) => console.log(pc.dim(` ${m}`)),
16035
16105
  });
16036
16106
  if (ownershipApplier) {
@@ -16078,6 +16148,17 @@ export async function startServer(options) {
16078
16148
  ...(prevOwner ? { prevOwner } : {}),
16079
16149
  epoch: rec.ownershipEpoch,
16080
16150
  reason,
16151
+ // Cross-machine convergence (Fix #3 / Finding INT2): carry the `transferring`
16152
+ // intermediate so the target's OwnershipApplier materializes it and the target's
16153
+ // reconciler claims (completing the handoff cross-machine). Absent for `active`.
16154
+ ...(rec.status === 'transferring'
16155
+ ? {
16156
+ status: 'transferring',
16157
+ ...(rec.transferTo ? { transferTo: rec.transferTo } : {}),
16158
+ ...(typeof rec.timestamp === 'number' ? { timestamp: rec.timestamp } : {}),
16159
+ ...(rec.drainInFlight ? { drainInFlight: true } : {}),
16160
+ }
16161
+ : {}),
16081
16162
  });
16082
16163
  }
16083
16164
  catch { /* observability never endangers the observed */ }
@@ -18497,7 +18578,7 @@ export async function startServer(options) {
18497
18578
  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, 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) {
18498
18579
  peers = (_listPoolMachines?.() ?? []).filter((m) => m.machineId !== _meshSelfId && !!m.lastKnownUrl).map((m) => ({ machineId: m.machineId, nickname: m.nickname ?? m.machineId, url: m.lastKnownUrl }));
18499
18580
  } if (peers.length === 0)
18500
- 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, 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, deliverMandateToMachine: _deliverMandateToMachine ?? 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, autonomousLivenessReconciler, enforcedTerminationStatus: () => enforcedTerminationWatchdog?.guardStatus() ?? null, prHandLease: prHandLease ?? undefined, operatorStopRecorder: recordOperatorStop, sleepWakeDetector, unjustifiedStopGate, stopGateDb, stopNotifier, liveTestGate, liveTestGateMode, liveTestRunnerCtx }); // Resolve the late-bound topic-operator getter (increment 2e): routing was
18581
+ 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, 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, ownershipReconciler: _ownershipReconciler ?? 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, 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, autonomousLivenessReconciler, enforcedTerminationStatus: () => enforcedTerminationWatchdog?.guardStatus() ?? null, prHandLease: prHandLease ?? undefined, operatorStopRecorder: recordOperatorStop, sleepWakeDetector, unjustifiedStopGate, stopGateDb, stopNotifier, liveTestGate, liveTestGateMode, liveTestRunnerCtx }); // Resolve the late-bound topic-operator getter (increment 2e): routing was
18501
18582
  // wired before the server existed; from here on inbound binds use the
18502
18583
  // server's own store instance.
18503
18584
  _agentServerRef = server;