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.
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +90 -9
- package/dist/commands/server.js.map +1 -1
- package/dist/core/CoherenceJournal.d.ts +10 -1
- package/dist/core/CoherenceJournal.d.ts.map +1 -1
- package/dist/core/CoherenceJournal.js +31 -3
- package/dist/core/CoherenceJournal.js.map +1 -1
- package/dist/core/MachinePoolRegistry.d.ts +13 -0
- package/dist/core/MachinePoolRegistry.d.ts.map +1 -1
- package/dist/core/MachinePoolRegistry.js +22 -3
- package/dist/core/MachinePoolRegistry.js.map +1 -1
- package/dist/core/OwnershipApplier.d.ts +21 -0
- package/dist/core/OwnershipApplier.d.ts.map +1 -1
- package/dist/core/OwnershipApplier.js +60 -5
- package/dist/core/OwnershipApplier.js.map +1 -1
- package/dist/core/OwnershipReconciler.d.ts +80 -3
- package/dist/core/OwnershipReconciler.d.ts.map +1 -1
- package/dist/core/OwnershipReconciler.js +187 -10
- package/dist/core/OwnershipReconciler.js.map +1 -1
- package/dist/core/TopicPinReplicatedStore.d.ts +68 -0
- package/dist/core/TopicPinReplicatedStore.d.ts.map +1 -0
- package/dist/core/TopicPinReplicatedStore.js +148 -0
- package/dist/core/TopicPinReplicatedStore.js.map +1 -0
- package/dist/core/TopicPlacementPinStore.d.ts +20 -2
- package/dist/core/TopicPlacementPinStore.d.ts.map +1 -1
- package/dist/core/TopicPlacementPinStore.js +5 -3
- package/dist/core/TopicPlacementPinStore.js.map +1 -1
- package/dist/core/devGatedFeatures.d.ts.map +1 -1
- package/dist/core/devGatedFeatures.js +6 -0
- package/dist/core/devGatedFeatures.js.map +1 -1
- package/dist/core/ownershipApplierWiring.d.ts +5 -0
- package/dist/core/ownershipApplierWiring.d.ts.map +1 -1
- package/dist/core/ownershipApplierWiring.js +3 -0
- package/dist/core/ownershipApplierWiring.js.map +1 -1
- package/dist/server/AgentServer.d.ts +2 -0
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +1 -0
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/routes.d.ts +2 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +33 -0
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +47 -47
- package/upgrades/1.3.699.md +31 -0
- package/upgrades/1.3.700.md +39 -0
- package/upgrades/side-effects/cross-machine-reconciler-convergence.md +56 -0
- 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;
|
|
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"}
|
package/dist/commands/server.js
CHANGED
|
@@ -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
|
-
|
|
3791
|
-
|
|
3792
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
15989
|
-
epoch:
|
|
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;
|