instar 1.3.588 → 1.3.590
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 +105 -2
- package/dist/commands/server.js.map +1 -1
- package/dist/core/LiveTestArtifactStore.d.ts +129 -0
- package/dist/core/LiveTestArtifactStore.d.ts.map +1 -0
- package/dist/core/LiveTestArtifactStore.js +184 -0
- package/dist/core/LiveTestArtifactStore.js.map +1 -0
- package/dist/core/LiveTestGate.d.ts +54 -0
- package/dist/core/LiveTestGate.d.ts.map +1 -0
- package/dist/core/LiveTestGate.js +124 -0
- package/dist/core/LiveTestGate.js.map +1 -0
- package/dist/core/LiveTestHarness.d.ts +99 -0
- package/dist/core/LiveTestHarness.d.ts.map +1 -0
- package/dist/core/LiveTestHarness.js +102 -0
- package/dist/core/LiveTestHarness.js.map +1 -0
- package/dist/core/LocalSessionOwnershipStore.d.ts +56 -0
- package/dist/core/LocalSessionOwnershipStore.d.ts.map +1 -0
- package/dist/core/LocalSessionOwnershipStore.js +130 -0
- package/dist/core/LocalSessionOwnershipStore.js.map +1 -0
- package/dist/core/OwnershipApplier.d.ts +78 -0
- package/dist/core/OwnershipApplier.d.ts.map +1 -0
- package/dist/core/OwnershipApplier.js +101 -0
- package/dist/core/OwnershipApplier.js.map +1 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +9 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/devGatedFeatures.d.ts.map +1 -1
- package/dist/core/devGatedFeatures.js +12 -0
- package/dist/core/devGatedFeatures.js.map +1 -1
- package/dist/core/durableOwnershipActivation.d.ts +29 -0
- package/dist/core/durableOwnershipActivation.d.ts.map +1 -0
- package/dist/core/durableOwnershipActivation.js +41 -0
- package/dist/core/durableOwnershipActivation.js.map +1 -0
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +2 -0
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/AgentServer.d.ts +3 -0
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +2 -0
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/routes.d.ts +4 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +58 -0
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +64 -64
- package/src/scaffold/templates.ts +2 -0
- package/upgrades/1.3.589.md +68 -0
- package/upgrades/1.3.590.md +21 -0
- package/upgrades/side-effects/live-user-channel-proof-standard.md +54 -0
- package/upgrades/side-effects/pool-consistent-multimachine-activation.md +39 -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;AAuBjG,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,
|
|
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;AAuBjG,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,CA2ndtE;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
|
@@ -12196,6 +12196,43 @@ export async function startServer(options) {
|
|
|
12196
12196
|
completionEvaluator = new CompletionEvaluator({ intelligence: sharedIntelligence });
|
|
12197
12197
|
console.log(pc.green(' Completion evaluator: active (independent /goal-style judge)'));
|
|
12198
12198
|
}
|
|
12199
|
+
// ── LiveTestGate (live-user-channel-proof spec §4) ──────────────────────
|
|
12200
|
+
// The completion-gate teeth: refuse a "done" verdict for a USER-FACING feature
|
|
12201
|
+
// without a verified live-test artifact. DEV-GATED + dry-run default — the gate
|
|
12202
|
+
// COMPUTES the veto and logs it but never overrides a verdict until promoted to
|
|
12203
|
+
// warn/veto. Same machine signs + verifies (dev dogfood); cross-machine verify
|
|
12204
|
+
// (resolve a peer's harness pubkey) is a tracked follow-on.
|
|
12205
|
+
let liveTestGate;
|
|
12206
|
+
let liveTestGateMode = 'dry-run';
|
|
12207
|
+
try {
|
|
12208
|
+
const ltgEnabled = resolveDevAgentGate(config.monitoring?.liveTestGate?.enabled, config);
|
|
12209
|
+
const idMgrForLtg = coordinator?.managers?.identityManager;
|
|
12210
|
+
if (ltgEnabled && idMgrForLtg && coordinator?.identity?.machineId) {
|
|
12211
|
+
const { LiveTestArtifactStore } = await import('../core/LiveTestArtifactStore.js');
|
|
12212
|
+
const { LiveTestGate } = await import('../core/LiveTestGate.js');
|
|
12213
|
+
const nodeCrypto = await import('node:crypto');
|
|
12214
|
+
const signingKeyPem = idMgrForLtg.loadSigningKey();
|
|
12215
|
+
const publicKeyPem = nodeCrypto.createPublicKey({ key: signingKeyPem }).export({ type: 'spki', format: 'pem' }).toString();
|
|
12216
|
+
const machineId = coordinator.identity.machineId;
|
|
12217
|
+
const ltStore = new LiveTestArtifactStore({
|
|
12218
|
+
stateDir: config.stateDir,
|
|
12219
|
+
machineId,
|
|
12220
|
+
signerFingerprint: machineId,
|
|
12221
|
+
sign: (d) => signEd25519(d, signingKeyPem),
|
|
12222
|
+
verify: (d, s) => verifyEd25519(d, s, publicKeyPem),
|
|
12223
|
+
logger: (m) => console.log(pc.dim(` ${m}`)),
|
|
12224
|
+
});
|
|
12225
|
+
liveTestGate = new LiveTestGate(ltStore);
|
|
12226
|
+
const m = config.monitoring?.liveTestGate?.mode;
|
|
12227
|
+
liveTestGateMode = m === 'warn' || m === 'veto' ? m : 'dry-run';
|
|
12228
|
+
console.log(pc.dim(` [live-test-gate] active (dev-gate, mode=${liveTestGateMode}) — completion veto §4`));
|
|
12229
|
+
}
|
|
12230
|
+
}
|
|
12231
|
+
catch (err) {
|
|
12232
|
+
// @silent-fallback-ok — gate not wired → no veto (today's exact completion
|
|
12233
|
+
// behavior). Logged; never blocks server boot.
|
|
12234
|
+
console.log(pc.dim(` [live-test-gate] not wired: ${err instanceof Error ? err.message : String(err)}`));
|
|
12235
|
+
}
|
|
12199
12236
|
// ── CollaborationRedriveEngine ────────────────────────────────────
|
|
12200
12237
|
// Proactively re-engage a COUNTERPART that has gone silent on an open
|
|
12201
12238
|
// threadline-reply commitment. Bounded peer nudges with a durable,
|
|
@@ -13938,8 +13975,42 @@ export async function startServer(options) {
|
|
|
13938
13975
|
// is constructed further down (working-set wiring); until then the floor
|
|
13939
13976
|
// reads 0, which preserves pre-fix behavior for the boot window.
|
|
13940
13977
|
let ownershipEpochFloor = null;
|
|
13978
|
+
// ── Transfer fix (spec docs/specs/live-user-channel-proof-standard.md §7.2) ──
|
|
13979
|
+
// The in-memory store was the bug: a transfer wrote the target's ownership
|
|
13980
|
+
// into the SOURCE's process Map → vanished on restart, never crossed machines.
|
|
13981
|
+
// Behind the DEV-AGENT DARK GATE (live on a dev agent / dark on the fleet),
|
|
13982
|
+
// swap in the DURABLE per-session store; the OwnershipApplier (wired below)
|
|
13983
|
+
// materializes ownership on the target from the REPLICATED placement journal,
|
|
13984
|
+
// so a seat genuinely moves. Off → InMemory (today's exact behavior).
|
|
13985
|
+
// Pool-consistent activation (docs/specs/pool-consistent-multimachine-activation.md):
|
|
13986
|
+
// gating PURELY on the per-machine dev flag left the durable store DARK on a non-dev
|
|
13987
|
+
// pool machine (the Mini), so a transferred seat's ownership was never materialized
|
|
13988
|
+
// there → the seat died on arrival (caught by the live Laptop↔Mini proof, 2026-06-16).
|
|
13989
|
+
// The durable store MUST run on every machine that CONSUMES replicated placement
|
|
13990
|
+
// journals. So activate ALSO on the explicit, pool-consistent
|
|
13991
|
+
// `coherenceJournal.replication.enabled === true` signal — the SAME one that gates the
|
|
13992
|
+
// journalSyncApplier (~server.ts:16588). Invariant: a machine running the placement-
|
|
13993
|
+
// replication applier runs the ownership applier + durable store too (same placements).
|
|
13994
|
+
// Single-machine agents (no replication) stay on InMemory — strict no-op.
|
|
13995
|
+
const { shouldActivateDurableOwnership, isPlacementReplicationEnabled } = await import('../core/durableOwnershipActivation.js');
|
|
13996
|
+
const _replicationOn = isPlacementReplicationEnabled(config);
|
|
13997
|
+
const durableOwnershipOn = shouldActivateDurableOwnership(config, resolveDevAgentGate);
|
|
13998
|
+
let durableOwnershipStore = null;
|
|
13999
|
+
let ownershipStore;
|
|
14000
|
+
if (durableOwnershipOn) {
|
|
14001
|
+
const { LocalSessionOwnershipStore } = await import('../core/LocalSessionOwnershipStore.js');
|
|
14002
|
+
durableOwnershipStore = new LocalSessionOwnershipStore({
|
|
14003
|
+
dir: path.join(config.stateDir, 'ownership', 'local'),
|
|
14004
|
+
logger: (m) => console.log(pc.dim(` ${m}`)),
|
|
14005
|
+
});
|
|
14006
|
+
ownershipStore = durableOwnershipStore;
|
|
14007
|
+
console.log(pc.dim(` [ownership] durable LocalSessionOwnershipStore active (${_replicationOn ? 'pool: replication-on' : 'dev-gate'}) — transfer-fix §7.2`));
|
|
14008
|
+
}
|
|
14009
|
+
else {
|
|
14010
|
+
ownershipStore = new ownMod.InMemorySessionOwnershipStore();
|
|
14011
|
+
}
|
|
13941
14012
|
sessionOwnershipRegistry = new ownMod.SessionOwnershipRegistry({
|
|
13942
|
-
store:
|
|
14013
|
+
store: ownershipStore,
|
|
13943
14014
|
seenNonce: (k) => seenOwnNonces.has(k),
|
|
13944
14015
|
recordNonce: (k) => seenOwnNonces.add(k),
|
|
13945
14016
|
epochFloorOf: (sk) => ownershipEpochFloor?.(sk) ?? 0,
|
|
@@ -14050,6 +14121,38 @@ export async function startServer(options) {
|
|
|
14050
14121
|
}, tickMs);
|
|
14051
14122
|
ws13Timer.unref?.();
|
|
14052
14123
|
}
|
|
14124
|
+
// ── Transfer fix §7.2: OwnershipApplier ─────────────────────────────────
|
|
14125
|
+
// Materialize durable local ownership from the REPLICATED placement journal
|
|
14126
|
+
// (peers/<machineId>.topic-placement.jsonl) so the machine a topic moved TO
|
|
14127
|
+
// resolves the right owner on the next message — the step the in-memory store
|
|
14128
|
+
// never had. Off the hot path: ticked on an interval + once at boot (to adopt
|
|
14129
|
+
// a transfer that landed while we were down). Only when the durable store is
|
|
14130
|
+
// active (dev-gate); InMemory has no cross-machine replication to apply.
|
|
14131
|
+
if (durableOwnershipStore && _meshSelfId) {
|
|
14132
|
+
const { OwnershipApplier } = await import('../core/OwnershipApplier.js');
|
|
14133
|
+
const { CoherenceJournalReader } = await import('../core/CoherenceJournalReader.js');
|
|
14134
|
+
const applier = new OwnershipApplier({
|
|
14135
|
+
reader: new CoherenceJournalReader({ stateDir: config.stateDir }),
|
|
14136
|
+
store: durableOwnershipStore,
|
|
14137
|
+
selfMachineId: _meshSelfId,
|
|
14138
|
+
logger: (m) => console.log(pc.dim(` ${m}`)),
|
|
14139
|
+
});
|
|
14140
|
+
try {
|
|
14141
|
+
applier.tick();
|
|
14142
|
+
}
|
|
14143
|
+
catch { /* @silent-fallback-ok — boot tick best-effort; the interval converges */ }
|
|
14144
|
+
const applierTimer = setInterval(() => {
|
|
14145
|
+
try {
|
|
14146
|
+
const r = applier.tick();
|
|
14147
|
+
if (r.materialized)
|
|
14148
|
+
console.log(pc.dim(` [OwnershipApplier] materialized ${r.materialized}/${r.examined} topic(s) from replicated placements`));
|
|
14149
|
+
}
|
|
14150
|
+
catch (err) {
|
|
14151
|
+
console.error('[OwnershipApplier] tick failed:', err instanceof Error ? err.message : String(err));
|
|
14152
|
+
}
|
|
14153
|
+
}, 15000);
|
|
14154
|
+
applierTimer.unref?.();
|
|
14155
|
+
}
|
|
14053
14156
|
// Coherence journal §3.3: the emit is a thin wrapper at every CAS call
|
|
14054
14157
|
// site — `reason` is caller knowledge (cas() is a storage primitive and
|
|
14055
14158
|
// cannot know WHY). A mesh-applied action records the coarse reason;
|
|
@@ -16175,7 +16278,7 @@ export async function startServer(options) {
|
|
|
16175
16278
|
carrier: _topicProfileCarrier,
|
|
16176
16279
|
}
|
|
16177
16280
|
: null;
|
|
16178
|
-
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 }); // Resolve the late-bound topic-operator getter (increment 2e): routing was
|
|
16281
|
+
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
|
|
16179
16282
|
// wired before the server existed; from here on inbound binds use the
|
|
16180
16283
|
// server's own store instance.
|
|
16181
16284
|
_agentServerRef = server;
|