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.
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +79 -3
- package/dist/commands/server.js.map +1 -1
- package/dist/core/MachinePoolRegistry.d.ts +4 -0
- package/dist/core/MachinePoolRegistry.d.ts.map +1 -1
- package/dist/core/MachinePoolRegistry.js +1 -0
- package/dist/core/MachinePoolRegistry.js.map +1 -1
- package/dist/core/PeerPresencePuller.d.ts +4 -1
- package/dist/core/PeerPresencePuller.d.ts.map +1 -1
- package/dist/core/PeerPresencePuller.js +3 -1
- package/dist/core/PeerPresencePuller.js.map +1 -1
- package/dist/core/PlacementExecutor.d.ts +8 -0
- package/dist/core/PlacementExecutor.d.ts.map +1 -1
- package/dist/core/PlacementExecutor.js +29 -0
- package/dist/core/PlacementExecutor.js.map +1 -1
- package/dist/core/RebalancePlanner.d.ts.map +1 -1
- package/dist/core/RebalancePlanner.js +6 -0
- package/dist/core/RebalancePlanner.js.map +1 -1
- package/dist/core/SessionRouter.d.ts +8 -0
- package/dist/core/SessionRouter.d.ts.map +1 -1
- package/dist/core/SessionRouter.js +4 -0
- package/dist/core/SessionRouter.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/machineServesChannel.d.ts +42 -0
- package/dist/core/machineServesChannel.d.ts.map +1 -0
- package/dist/core/machineServesChannel.js +48 -0
- package/dist/core/machineServesChannel.js.map +1 -0
- package/dist/core/multiMachineCapstoneMatrix.d.ts +49 -0
- package/dist/core/multiMachineCapstoneMatrix.d.ts.map +1 -0
- package/dist/core/multiMachineCapstoneMatrix.js +131 -0
- package/dist/core/multiMachineCapstoneMatrix.js.map +1 -0
- package/dist/core/types.d.ts +7 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/messaging/slack/SlackAdapter.d.ts +6 -0
- package/dist/messaging/slack/SlackAdapter.d.ts.map +1 -1
- package/dist/messaging/slack/SlackAdapter.js +12 -0
- package/dist/messaging/slack/SlackAdapter.js.map +1 -1
- package/dist/server/AgentServer.d.ts +35 -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/CapabilityIndex.d.ts.map +1 -1
- package/dist/server/CapabilityIndex.js +1 -0
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/routes.d.ts +3 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +195 -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.599.md +21 -0
- package/upgrades/1.3.600.md +44 -0
- package/upgrades/side-effects/live-test-capstone-runner-route.md +89 -0
- 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,
|
|
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"}
|
package/dist/commands/server.js
CHANGED
|
@@ -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
|
-
|
|
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(
|
|
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;
|