instar 1.3.385 → 1.3.387
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/README.md +1 -0
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +92 -1
- package/dist/commands/server.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +16 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/types.d.ts +10 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/monitoring/A2ARedeliverySentinel.d.ts +82 -0
- package/dist/monitoring/A2ARedeliverySentinel.d.ts.map +1 -0
- package/dist/monitoring/A2ARedeliverySentinel.js +143 -0
- package/dist/monitoring/A2ARedeliverySentinel.js.map +1 -0
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +7 -0
- package/dist/scaffold/templates.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 +20 -0
- package/dist/server/AgentServer.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 +81 -0
- package/dist/server/routes.js.map +1 -1
- package/dist/threadline/A2ADeliveryTracker.d.ts +151 -0
- package/dist/threadline/A2ADeliveryTracker.d.ts.map +1 -0
- package/dist/threadline/A2ADeliveryTracker.js +315 -0
- package/dist/threadline/A2ADeliveryTracker.js.map +1 -0
- package/dist/threadline/ListenerSessionManager.d.ts +15 -0
- package/dist/threadline/ListenerSessionManager.d.ts.map +1 -1
- package/dist/threadline/ListenerSessionManager.js +41 -0
- package/dist/threadline/ListenerSessionManager.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +64 -64
- package/src/scaffold/templates.ts +7 -0
- package/upgrades/1.3.386.md +58 -0
- package/upgrades/1.3.387.md +25 -0
- package/upgrades/side-effects/a2a-durable-delivery.md +165 -0
- package/upgrades/side-effects/a2a-redelivery-escalation.md +112 -0
- package/upgrades/1.3.385.md +0 -43
package/README.md
CHANGED
|
@@ -136,6 +136,7 @@ An agent that forgets what you discussed yesterday, doesn't recognize someone it
|
|
|
136
136
|
| **Multi-Machine** | Ed25519/X25519 crypto identity, encrypted sync, automatic failover | [→](https://instar.sh/features/multi-machine/) |
|
|
137
137
|
| **Serendipity Protocol** | Sub-agents capture out-of-scope discoveries without breaking focus. HMAC-signed, secret-scanned | [→](https://instar.sh/features/serendipity/) |
|
|
138
138
|
| **Threadline Protocol** | Agent-to-agent conversations with canonical identity, three-layer trust model, authorization policy, Ed25519 invitations, Sybil protection, MoltBridge network discovery, rich agent profiles (auto-compiled from agent data with human review gate), discovery waterfall, message security, tamper-proof audit logging, framework-agnostic interop, persistent listener daemon (always-on relay connection, pipe-mode sessions, sub-30s cross-machine failover), eleven MCP tools (seven core + four registry-conditional). 80 modules, roughly 3,800 test cases across 74 dedicated test files plus 125 cross-cutting | [→](https://instar.sh/features/threadline/) |
|
|
139
|
+
| **A2A Delivery Health** | Durable agent-to-agent delivery tracking (`threadline/A2ADeliveryTracker`) so a message between agents never silently dies out — a reply on the thread is the acknowledgement, and `GET /threadline/peers/health` answers "is my channel to this peer alive?" as a lookup, not a guess. The `monitoring/A2ARedeliverySentinel` adds active recovery: re-send unacknowledged messages with backoff, then one aggregated escalation per dark peer. Recording-only; never gates a send | [→](https://instar.sh/features/a2a-delivery-health/) |
|
|
139
140
|
| **Self-Healing** | LLM-powered stall detection, session recovery, promise tracking | [→](https://instar.sh/features/self-healing/) |
|
|
140
141
|
| **AutoUpdater** | Built-in update engine. Checks npm, auto-applies, self-restarts | [→](https://instar.sh/features/autoupdater/) |
|
|
141
142
|
| **Build Pipeline** | `/build` skill with worktree isolation, 6-phase pipeline, quality gates, stop-hook enforcement | |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAQ3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAuBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAiG7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA6JtD,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAs4BD,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,GAC/F,IAAI,CAyUN;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;AAaH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAQ3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAuBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAiG7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA6JtD,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAs4BD,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,GAC/F,IAAI,CAyUN;AA2lBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAuzTtE;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
|
@@ -8057,6 +8057,21 @@ export async function startServer(options) {
|
|
|
8057
8057
|
const listenerManager = config.threadline?.relayEnabled
|
|
8058
8058
|
? new ListenerSessionManager(config.stateDir, config.authToken ?? '', config.threadline)
|
|
8059
8059
|
: null;
|
|
8060
|
+
// A2A Delivery Tracker — durable per-peer delivery lifecycle + peer-health
|
|
8061
|
+
// ("communications never just die out", A2A-DURABLE-DELIVERY-SPEC.md / #939).
|
|
8062
|
+
// Recording-only: it never gates a send. Always constructed (cheap SQLite,
|
|
8063
|
+
// self-initializing schema) so the peer-health routes answer even when the
|
|
8064
|
+
// relay is off.
|
|
8065
|
+
let a2aDeliveryTracker = null;
|
|
8066
|
+
try {
|
|
8067
|
+
const { A2ADeliveryTracker } = await import('../threadline/A2ADeliveryTracker.js');
|
|
8068
|
+
a2aDeliveryTracker = A2ADeliveryTracker.open(config.projectName, config.stateDir);
|
|
8069
|
+
}
|
|
8070
|
+
catch (err) {
|
|
8071
|
+
// @silent-fallback-ok: cascade-isolation — a tracker open failure must never block
|
|
8072
|
+
// server boot; the peer-health routes 503 cleanly and delivery is unaffected. Logged.
|
|
8073
|
+
console.warn(pc.yellow(` A2A delivery tracker: unavailable — ${err instanceof Error ? err.message : String(err)}`));
|
|
8074
|
+
}
|
|
8060
8075
|
// Wake Socket Server — receives signals from the standalone listener daemon (Phase 1)
|
|
8061
8076
|
let wakeSocketServer;
|
|
8062
8077
|
try {
|
|
@@ -8375,6 +8390,25 @@ export async function startServer(options) {
|
|
|
8375
8390
|
console.warn(`[relay] Canonical inbox append failed (non-fatal): ${err instanceof Error ? err.message : err}`);
|
|
8376
8391
|
}
|
|
8377
8392
|
}
|
|
8393
|
+
// Durable A2A delivery (A2A-DURABLE-DELIVERY-SPEC.md): this is the
|
|
8394
|
+
// relay-ingest accept point for CROSS-MACHINE peers (the primary
|
|
8395
|
+
// Echo↔Dawn case) — here `senderFingerprint` is the peer's real
|
|
8396
|
+
// routing fingerprint, so liveness keys correctly and the implicit
|
|
8397
|
+
// ack (a reply on the thread = processed-ack of our prior send) fires.
|
|
8398
|
+
// Same-machine local delivery is recorded separately in the
|
|
8399
|
+
// /messages/relay-agent route. Recording-only — never gates routing.
|
|
8400
|
+
if (a2aDeliveryTracker) {
|
|
8401
|
+
try {
|
|
8402
|
+
a2aDeliveryTracker.recordInboundFrom(senderFingerprint, senderName ?? null);
|
|
8403
|
+
if (msg.threadId)
|
|
8404
|
+
a2aDeliveryTracker.recordAckByThread(msg.threadId);
|
|
8405
|
+
}
|
|
8406
|
+
catch (err) {
|
|
8407
|
+
// @silent-fallback-ok: recording-only — A2A delivery/liveness tracking must
|
|
8408
|
+
// never break inbound routing (the message was already accepted above). Logged.
|
|
8409
|
+
console.warn(`[relay] A2A inbound record failed (non-fatal): ${err instanceof Error ? err.message : err}`);
|
|
8410
|
+
}
|
|
8411
|
+
}
|
|
8378
8412
|
// Threadline → Telegram bridge: mirror inbound message into a per-thread
|
|
8379
8413
|
// Telegram topic so the user has visibility into agent-to-agent
|
|
8380
8414
|
// conversations. Relay-only — TelegramBridgeConfig owns the gate
|
|
@@ -8785,6 +8819,63 @@ export async function startServer(options) {
|
|
|
8785
8819
|
catch (err) {
|
|
8786
8820
|
console.warn('[CollaborationRedrive] init failed:', err.message);
|
|
8787
8821
|
}
|
|
8822
|
+
// ── A2ARedeliverySentinel ─────────────────────────────────────────
|
|
8823
|
+
// The active-recovery layer of "communications never just die out"
|
|
8824
|
+
// (A2A-DURABLE-DELIVERY-SPEC §4, #939, CMT-1143, PR2). Sweeps the delivery
|
|
8825
|
+
// tracker's overdue work-list: re-sends unacknowledged A2A messages with
|
|
8826
|
+
// backoff (body recovered from the canonical outbox), and after the attempt
|
|
8827
|
+
// cap raises ONE aggregated attention item per dark peer. Recording/sending
|
|
8828
|
+
// only — no blocking authority. Ships OFF (it re-sends + escalates).
|
|
8829
|
+
try {
|
|
8830
|
+
const a2aDelivCfg = config.monitoring?.a2aRedelivery ?? {};
|
|
8831
|
+
if (a2aDelivCfg.enabled && a2aDeliveryTracker) {
|
|
8832
|
+
const { A2ARedeliverySentinel, DEFAULT_A2A_REDELIVERY_CONFIG } = await import('../monitoring/A2ARedeliverySentinel.js');
|
|
8833
|
+
const a2aRedeliverySentinel = new A2ARedeliverySentinel({
|
|
8834
|
+
tracker: a2aDeliveryTracker,
|
|
8835
|
+
// Re-send: recover the body from the canonical outbox by messageId,
|
|
8836
|
+
// then re-emit via the relay. Body missing → return false (the
|
|
8837
|
+
// sentinel leaves it awaiting-ack and escalates at the cap, never
|
|
8838
|
+
// fabricating a send).
|
|
8839
|
+
redeliver: (threadlineRelayClient && listenerManager)
|
|
8840
|
+
? (entry) => {
|
|
8841
|
+
const stored = listenerManager.readCanonicalOutboxEntry(entry.messageId);
|
|
8842
|
+
if (!stored)
|
|
8843
|
+
return false;
|
|
8844
|
+
threadlineRelayClient.sendAuto(entry.peerFp, stored.text, entry.threadId ?? stored.threadId);
|
|
8845
|
+
return true;
|
|
8846
|
+
}
|
|
8847
|
+
: undefined,
|
|
8848
|
+
raiseAttention: telegram
|
|
8849
|
+
? async (item) => {
|
|
8850
|
+
const priorityMap = {
|
|
8851
|
+
high: 'HIGH', medium: 'NORMAL', low: 'LOW',
|
|
8852
|
+
};
|
|
8853
|
+
return telegram.createAttentionItem({
|
|
8854
|
+
id: `a2a-redelivery-${Date.now()}`,
|
|
8855
|
+
title: item.title,
|
|
8856
|
+
summary: item.body.slice(0, 160),
|
|
8857
|
+
description: item.body,
|
|
8858
|
+
category: 'a2a-redelivery',
|
|
8859
|
+
priority: priorityMap[item.priority ?? 'medium'] ?? 'NORMAL',
|
|
8860
|
+
sourceContext: item.source ?? 'a2a-redelivery',
|
|
8861
|
+
});
|
|
8862
|
+
}
|
|
8863
|
+
: undefined,
|
|
8864
|
+
}, { ...DEFAULT_A2A_REDELIVERY_CONFIG, ...a2aDelivCfg, enabled: true });
|
|
8865
|
+
a2aRedeliverySentinel.start();
|
|
8866
|
+
globalThis.__instarA2ARedeliverySentinel = a2aRedeliverySentinel;
|
|
8867
|
+
console.log(pc.green(' A2ARedeliverySentinel: armed (A2A redelivery + dark-peer escalation)'));
|
|
8868
|
+
}
|
|
8869
|
+
else {
|
|
8870
|
+
console.log(pc.dim(' A2ARedeliverySentinel: disabled (monitoring.a2aRedelivery.enabled=false; the ship-OFF default)'));
|
|
8871
|
+
}
|
|
8872
|
+
}
|
|
8873
|
+
catch (err) {
|
|
8874
|
+
// @silent-fallback-ok: cascade-isolation — a sentinel init failure must never
|
|
8875
|
+
// crash server boot (mirrors the CollaborationRedrive init block above). Logged;
|
|
8876
|
+
// the feature simply stays inert.
|
|
8877
|
+
console.warn('[A2ARedelivery] init failed:', err.message);
|
|
8878
|
+
}
|
|
8788
8879
|
// Register feature-discovery probe for self-knowledge tree (Phase 4: Agent Integration)
|
|
8789
8880
|
if (selfKnowledgeTree && featureRegistry) {
|
|
8790
8881
|
selfKnowledgeTree.probes.register('feature-discovery', async () => {
|
|
@@ -10997,7 +11088,7 @@ export async function startServer(options) {
|
|
|
10997
11088
|
catch (err) {
|
|
10998
11089
|
console.log(pc.dim(` [session-pool] rollout gate not wired: ${err instanceof Error ? err.message : String(err)}`));
|
|
10999
11090
|
}
|
|
11000
|
-
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, coherenceGate: scopeVerifier, contextHierarchy, canonicalState, operationGate, sentinel, adaptiveTrust, memoryMonitor, orphanReaper, coherenceMonitor, commitmentTracker, semanticMemory, activitySentinel, rateLimitSentinel, releaseReadinessSentinel: releaseReadinessSentinel ?? undefined, messageRouter, summarySentinel, spawnManager, systemReviewer, capabilityMapper, selfKnowledgeTree, coverageAuditor, topicResumeMap: _topicResumeMap ?? 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, warrantsReplyGate, collaborationSurfacer, threadResumeMap, topicLinkageHandler: topicLinkageHandler ?? undefined, threadlineRelayClient, threadlineReplyWaiters, listenerManager: listenerManager ?? undefined, responseReviewGate, messagingToneGate, outboundDedupGate, telemetryHeartbeat, pasteManager, featureRegistry, discoveryEvaluator, completionEvaluator, unifiedTrust, liveConfig, sharedStateLedger, ledgerSessionRegistry, worktreeManager, oidcEnrolledRepos: parallelDevConfig?.oidcEnrolledRepos, initiativeTracker, projectRoundRunner, projectDriftChecker, machineHeartbeat, machinePoolRegistry, meshRpcDispatcher, workingSetPullCoordinator, commitmentReplicaStore, forwardCommitmentMutate, sessionOwnershipRegistry, topicPinStore: _topicPinStore ?? undefined, secretSync: _secretSyncHandle ?? undefined, meshSelfId: _meshSelfId ?? undefined, resolveRouterUrl: _resolveRouterUrl ?? undefined, resolvePeerUrls: _resolvePeerUrls ?? undefined, sessionPoolE2EResultStore, proxyCoordinator, topicIntentStore, topicIntentArcCheck, usherSignalStore, intelligence: sharedIntelligence ?? undefined, telegramBridgeConfig, telegramBridge: telegramBridge ?? undefined, threadlineObservability, briefDeps, workingMemory, taskFlowRegistry, threadlineFlowBridge, sessionReaper, agentWorktreeReaper, mcpProcessReaper, geminiLoopRunner, sleepController, agentActivityState, reapLog, sleepWakeDetector, unjustifiedStopGate, stopGateDb, stopNotifier });
|
|
11091
|
+
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, coherenceGate: scopeVerifier, contextHierarchy, canonicalState, operationGate, sentinel, adaptiveTrust, memoryMonitor, orphanReaper, coherenceMonitor, commitmentTracker, semanticMemory, activitySentinel, rateLimitSentinel, releaseReadinessSentinel: releaseReadinessSentinel ?? undefined, messageRouter, summarySentinel, spawnManager, systemReviewer, capabilityMapper, selfKnowledgeTree, coverageAuditor, topicResumeMap: _topicResumeMap ?? 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, 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, meshRpcDispatcher, workingSetPullCoordinator, commitmentReplicaStore, forwardCommitmentMutate, sessionOwnershipRegistry, topicPinStore: _topicPinStore ?? undefined, secretSync: _secretSyncHandle ?? undefined, meshSelfId: _meshSelfId ?? undefined, resolveRouterUrl: _resolveRouterUrl ?? undefined, resolvePeerUrls: _resolvePeerUrls ?? undefined, sessionPoolE2EResultStore, proxyCoordinator, topicIntentStore, topicIntentArcCheck, usherSignalStore, intelligence: sharedIntelligence ?? undefined, telegramBridgeConfig, telegramBridge: telegramBridge ?? undefined, threadlineObservability, briefDeps, workingMemory, taskFlowRegistry, threadlineFlowBridge, sessionReaper, agentWorktreeReaper, mcpProcessReaper, geminiLoopRunner, sleepController, agentActivityState, reapLog, sleepWakeDetector, unjustifiedStopGate, stopGateDb, stopNotifier });
|
|
11001
11092
|
// Resolve the late-bound topic-operator getter (increment 2e): routing was
|
|
11002
11093
|
// wired before the server existed; from here on inbound binds use the
|
|
11003
11094
|
// server's own store instance.
|