instar 1.3.599 → 1.3.601
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 +77 -3
- package/dist/commands/server.js.map +1 -1
- package/dist/core/BackupManager.d.ts.map +1 -1
- package/dist/core/BackupManager.js +5 -0
- package/dist/core/BackupManager.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts +1 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +104 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/PrHandLease.d.ts +151 -0
- package/dist/core/PrHandLease.d.ts.map +1 -0
- package/dist/core/PrHandLease.js +448 -0
- package/dist/core/PrHandLease.js.map +1 -0
- 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/instarSettingsHooks.d.ts.map +1 -1
- package/dist/core/instarSettingsHooks.js +10 -0
- package/dist/core/instarSettingsHooks.js.map +1 -1
- 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/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 +36 -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/CapabilityIndex.d.ts.map +1 -1
- package/dist/server/CapabilityIndex.js +2 -0
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/routes.d.ts +7 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +251 -0
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +65 -65
- package/src/scaffold/templates.ts +2 -0
- package/upgrades/1.3.600.md +44 -0
- package/upgrades/1.3.601.md +38 -0
- package/upgrades/side-effects/live-test-capstone-runner-route.md +89 -0
- package/upgrades/side-effects/parallel-hand-pr-lease.md +153 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAoCH,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,CA6vdtE;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
|
@@ -17,6 +17,7 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
|
17
17
|
import { loadConfig, ensureStateDir, detectTmuxPath, detectGeminiPath } from '../core/Config.js';
|
|
18
18
|
import { handleProcessLevelError } from '../core/uncaughtExceptionPolicy.js';
|
|
19
19
|
import { resolveDevAgentGate, resolveStateSyncStores } from '../core/devAgentGate.js';
|
|
20
|
+
import { PrHandLease } from '../core/PrHandLease.js';
|
|
20
21
|
import { parseProfileTrigger, platformMessageIdFrom } from '../core/topicProfileIngress.js';
|
|
21
22
|
import { slugifyChannelName } from '../messaging/slack/sanitize.js';
|
|
22
23
|
import { TopicProfileOrchestrator, resolvedToApplied, } from '../core/TopicProfileOrchestrator.js';
|
|
@@ -6383,6 +6384,7 @@ export async function startServer(options) {
|
|
|
6383
6384
|
const rqCfg = config.monitoring?.resumeQueue ?? {};
|
|
6384
6385
|
let resumeQueue = null;
|
|
6385
6386
|
let resumeDrainer = null;
|
|
6387
|
+
let prHandLease = null;
|
|
6386
6388
|
// GAP-B Part A surface (spec: autonomous-registration-guarantee.md) — the
|
|
6387
6389
|
// aggregated-attention chokepoint reference, hoisted to the handler's scope.
|
|
6388
6390
|
// Assigned inside the `if (rqCfg.enabled)` block (where raiseResumeAggregated
|
|
@@ -6490,6 +6492,32 @@ export async function startServer(options) {
|
|
|
6490
6492
|
// aggregated chokepoint (P17 — the bound lives at the creation chokepoint so
|
|
6491
6493
|
// a unique key can't dodge it). Hoist the reference to the handler's scope.
|
|
6492
6494
|
gapBRaiseAggregated = raiseResumeAggregated;
|
|
6495
|
+
// Parallel-Hand PR Lease (spec: parallel-hand-pr-lease.md) — dev-gated dark.
|
|
6496
|
+
// Coordinates the agent's OWN concurrent sessions so they can't push competing
|
|
6497
|
+
// commits to the same branch. machine-local v1 (os.hostname() machineId); the
|
|
6498
|
+
// route reads monitoring.prHandLease.dryRun (default true) so the canary holds.
|
|
6499
|
+
if (resolveDevAgentGate(config.monitoring?.prHandLease?.enabled, config)) {
|
|
6500
|
+
const prLeaseAuditPath = path.join(_projectDir, '.instar', 'logs', 'pr-lease-decisions.jsonl');
|
|
6501
|
+
prHandLease = new PrHandLease({
|
|
6502
|
+
stateDir: path.join(_projectDir, '.instar'),
|
|
6503
|
+
machineId: os.hostname(),
|
|
6504
|
+
runningSessionNames: () => {
|
|
6505
|
+
try {
|
|
6506
|
+
return state.listSessions({ status: 'running' }).map((s) => s.tmuxSession).filter((n) => !!n);
|
|
6507
|
+
}
|
|
6508
|
+
catch {
|
|
6509
|
+
return [];
|
|
6510
|
+
}
|
|
6511
|
+
},
|
|
6512
|
+
onAudit: (row) => {
|
|
6513
|
+
try {
|
|
6514
|
+
fs.appendFileSync(prLeaseAuditPath, JSON.stringify(row) + '\n');
|
|
6515
|
+
}
|
|
6516
|
+
catch { /* audit never endangers the push path */ }
|
|
6517
|
+
},
|
|
6518
|
+
onAttention: (item) => { raiseResumeAggregated('pr-lease', `${item.kind}: ${item.detail}`); },
|
|
6519
|
+
});
|
|
6520
|
+
}
|
|
6493
6521
|
resumeQueue = new ResumeQueue({
|
|
6494
6522
|
stateDir: path.join(_projectDir, '.instar'),
|
|
6495
6523
|
audit: auditResumeQueue,
|
|
@@ -12227,6 +12255,9 @@ export async function startServer(options) {
|
|
|
12227
12255
|
// (resolve a peer's harness pubkey) is a tracked follow-on.
|
|
12228
12256
|
let liveTestGate;
|
|
12229
12257
|
let liveTestGateMode = 'dry-run';
|
|
12258
|
+
// Shared between the gate (which VERIFIES artifacts) and the runner (which WRITES
|
|
12259
|
+
// them) so a run's artifact is exactly the artifact the gate later reads.
|
|
12260
|
+
let liveTestArtifactStore;
|
|
12230
12261
|
try {
|
|
12231
12262
|
const ltgEnabled = resolveDevAgentGate(config.monitoring?.liveTestGate?.enabled, config);
|
|
12232
12263
|
const idMgrForLtg = coordinator?.managers?.identityManager;
|
|
@@ -12237,7 +12268,7 @@ export async function startServer(options) {
|
|
|
12237
12268
|
const signingKeyPem = idMgrForLtg.loadSigningKey();
|
|
12238
12269
|
const publicKeyPem = nodeCrypto.createPublicKey({ key: signingKeyPem }).export({ type: 'spki', format: 'pem' }).toString();
|
|
12239
12270
|
const machineId = coordinator.identity.machineId;
|
|
12240
|
-
|
|
12271
|
+
liveTestArtifactStore = new LiveTestArtifactStore({
|
|
12241
12272
|
stateDir: config.stateDir,
|
|
12242
12273
|
machineId,
|
|
12243
12274
|
signerFingerprint: machineId,
|
|
@@ -12245,7 +12276,7 @@ export async function startServer(options) {
|
|
|
12245
12276
|
verify: (d, s) => verifyEd25519(d, s, publicKeyPem),
|
|
12246
12277
|
logger: (m) => console.log(pc.dim(` ${m}`)),
|
|
12247
12278
|
});
|
|
12248
|
-
liveTestGate = new LiveTestGate(
|
|
12279
|
+
liveTestGate = new LiveTestGate(liveTestArtifactStore);
|
|
12249
12280
|
const m = config.monitoring?.liveTestGate?.mode;
|
|
12250
12281
|
liveTestGateMode = m === 'warn' || m === 'veto' ? m : 'dry-run';
|
|
12251
12282
|
console.log(pc.dim(` [live-test-gate] active (dev-gate, mode=${liveTestGateMode}) — completion veto §4`));
|
|
@@ -12256,6 +12287,49 @@ export async function startServer(options) {
|
|
|
12256
12287
|
// behavior). Logged; never blocks server boot.
|
|
12257
12288
|
console.log(pc.dim(` [live-test-gate] not wired: ${err instanceof Error ? err.message : String(err)}`));
|
|
12258
12289
|
}
|
|
12290
|
+
// ── LiveTestRunner (live-user-channel-proof spec §6/§7.5) ───────────────
|
|
12291
|
+
// Makes the (already-built, dark) cross-machine transfer CAPSTONE harness
|
|
12292
|
+
// RUNNABLE: per request the route builds a RealChannelDriver from whatever demo
|
|
12293
|
+
// creds exist (fail-closed per surface), wraps it in a LiveTestHarness over the
|
|
12294
|
+
// SHARED artifact store, and runs the runner — which moves the seat FIRST
|
|
12295
|
+
// (POST /pool/transfer), demands the honest seatMoved signal, then drives the §7.5
|
|
12296
|
+
// matrix and records a signed PASS/FAIL artifact (PASS only when the reply came
|
|
12297
|
+
// FROM the target machine). DEV-GATED + DARK (monitoring.liveTestRunner.enabled
|
|
12298
|
+
// omitted from ConfigDefaults → resolveDevAgentGate: live on dev, dark on fleet).
|
|
12299
|
+
// The ctx carries a FACTORY (not a pre-bound runner) because the harness must wrap
|
|
12300
|
+
// the request-built driver; the factory shares the gate's artifact store so a run's
|
|
12301
|
+
// artifact IS the artifact the gate later verifies.
|
|
12302
|
+
let liveTestRunnerCtx;
|
|
12303
|
+
try {
|
|
12304
|
+
const ltrEnabled = resolveDevAgentGate(config.monitoring?.liveTestRunner?.enabled, config);
|
|
12305
|
+
if (ltrEnabled && liveTestArtifactStore && coordinator?.identity?.machineId) {
|
|
12306
|
+
const { LiveTestRunner } = await import('../core/LiveTestRunner.js');
|
|
12307
|
+
const { LiveTestHarness } = await import('../core/LiveTestHarness.js');
|
|
12308
|
+
const sharedStore = liveTestArtifactStore;
|
|
12309
|
+
const machineId = coordinator.identity.machineId;
|
|
12310
|
+
const makeHarness = (driver) => new LiveTestHarness({
|
|
12311
|
+
store: sharedStore,
|
|
12312
|
+
driver,
|
|
12313
|
+
runnerFingerprint: machineId,
|
|
12314
|
+
logger: (m) => console.log(pc.dim(` ${m}`)),
|
|
12315
|
+
});
|
|
12316
|
+
liveTestRunnerCtx = {
|
|
12317
|
+
artifactStore: sharedStore,
|
|
12318
|
+
runnerFingerprint: machineId,
|
|
12319
|
+
makeHarness,
|
|
12320
|
+
makeRunner: (driver) => new LiveTestRunner({
|
|
12321
|
+
harness: makeHarness(driver),
|
|
12322
|
+
logger: (m) => console.log(pc.dim(` ${m}`)),
|
|
12323
|
+
}),
|
|
12324
|
+
};
|
|
12325
|
+
console.log(pc.dim(' [live-test-runner] active (dev-gate, dark) — cross-machine capstone §7.5'));
|
|
12326
|
+
}
|
|
12327
|
+
}
|
|
12328
|
+
catch (err) {
|
|
12329
|
+
// @silent-fallback-ok — runner not wired → /live-test routes 503 (the dark
|
|
12330
|
+
// default; no capstone runs). Logged; never blocks server boot.
|
|
12331
|
+
console.log(pc.dim(` [live-test-runner] not wired: ${err instanceof Error ? err.message : String(err)}`));
|
|
12332
|
+
}
|
|
12259
12333
|
// ── CollaborationRedriveEngine ────────────────────────────────────
|
|
12260
12334
|
// Proactively re-engage a COUNTERPART that has gone silent on an open
|
|
12261
12335
|
// threadline-reply commitment. Bounded peer nudges with a durable,
|
|
@@ -16336,7 +16410,7 @@ export async function startServer(options) {
|
|
|
16336
16410
|
carrier: _topicProfileCarrier,
|
|
16337
16411
|
}
|
|
16338
16412
|
: null;
|
|
16339
|
-
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
|
|
16413
|
+
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, prHandLease: prHandLease ?? undefined, operatorStopRecorder: recordOperatorStop, sleepWakeDetector, unjustifiedStopGate, stopGateDb, stopNotifier, liveTestGate, liveTestGateMode, liveTestRunnerCtx }); // Resolve the late-bound topic-operator getter (increment 2e): routing was
|
|
16340
16414
|
// wired before the server existed; from here on inbound binds use the
|
|
16341
16415
|
// server's own store instance.
|
|
16342
16416
|
_agentServerRef = server;
|