instar 1.3.525 → 1.3.527
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 +87 -5
- package/dist/commands/server.js.map +1 -1
- package/dist/config/ConfigDefaults.d.ts.map +1 -1
- package/dist/config/ConfigDefaults.js +36 -0
- package/dist/config/ConfigDefaults.js.map +1 -1
- package/dist/core/CoherenceJournal.d.ts +1 -1
- package/dist/core/CoherenceJournal.d.ts.map +1 -1
- package/dist/core/CoherenceJournal.js +12 -2
- package/dist/core/CoherenceJournal.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 +107 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/PreferencesReplicatedStore.d.ts +212 -0
- package/dist/core/PreferencesReplicatedStore.d.ts.map +1 -0
- package/dist/core/PreferencesReplicatedStore.js +330 -0
- package/dist/core/PreferencesReplicatedStore.js.map +1 -0
- package/dist/core/PreferencesSync.d.ts +8 -0
- package/dist/core/PreferencesSync.d.ts.map +1 -1
- package/dist/core/PreferencesSync.js +8 -0
- package/dist/core/PreferencesSync.js.map +1 -1
- package/dist/core/devGatedFeatures.d.ts.map +1 -1
- package/dist/core/devGatedFeatures.js +5 -0
- package/dist/core/devGatedFeatures.js.map +1 -1
- package/dist/monitoring/ActiveWorkSilenceSentinel.d.ts +56 -2
- package/dist/monitoring/ActiveWorkSilenceSentinel.d.ts.map +1 -1
- package/dist/monitoring/ActiveWorkSilenceSentinel.js +174 -10
- package/dist/monitoring/ActiveWorkSilenceSentinel.js.map +1 -1
- package/dist/monitoring/PromiseBeacon.d.ts +48 -0
- package/dist/monitoring/PromiseBeacon.d.ts.map +1 -1
- package/dist/monitoring/PromiseBeacon.js +186 -41
- package/dist/monitoring/PromiseBeacon.js.map +1 -1
- package/dist/monitoring/SubagentTracker.d.ts +9 -0
- package/dist/monitoring/SubagentTracker.d.ts.map +1 -1
- package/dist/monitoring/SubagentTracker.js +11 -0
- package/dist/monitoring/SubagentTracker.js.map +1 -1
- package/dist/monitoring/sentinelWiring.d.ts +20 -1
- package/dist/monitoring/sentinelWiring.d.ts.map +1 -1
- package/dist/monitoring/sentinelWiring.js +26 -0
- package/dist/monitoring/sentinelWiring.js.map +1 -1
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +8 -0
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/AgentServer.d.ts +4 -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 +7 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +19 -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 +8 -0
- package/upgrades/1.3.526.md +83 -0
- package/upgrades/1.3.527.md +31 -0
- package/upgrades/side-effects/honest-progress-messaging.md +150 -0
- package/upgrades/side-effects/ws21-preferences-replicated-store.md +91 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgCH,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;AAiH7D,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;AAm1CD,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;AAgCH,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;AAiH7D,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;AAm1CD,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,CA2gatE;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
|
@@ -3296,6 +3296,17 @@ export async function startServer(options) {
|
|
|
3296
3296
|
// registry the advert is `{}` (non-participant for every store): the correct
|
|
3297
3297
|
// single-machine / no-store-yet behavior (a strict no-op).
|
|
3298
3298
|
const replicatedKindRegistry = new ReplicatedKindRegistry();
|
|
3299
|
+
// WS2.1 (multi-machine-replicated-store-foundation §4/§13) — register the FIRST
|
|
3300
|
+
// concrete replicated kind, `pref-record`, onto the registry. This is the
|
|
3301
|
+
// DUAL-REGISTRY's dynamic half (the static half is CoherenceJournal.JOURNAL_KINDS,
|
|
3302
|
+
// which now lists 'pref-record'). With the registry no longer empty, the
|
|
3303
|
+
// stateSyncReceive advert self-reports `preferences:true` IFF the store is
|
|
3304
|
+
// enabled (selfStateSyncReceive below), the rollback-unmerge resolves the store's
|
|
3305
|
+
// contributing kind via getByStore, and the /state/* routes have a real store to
|
|
3306
|
+
// serve. Registration itself is INERT — emission/serve/pull stay gated behind
|
|
3307
|
+
// `multiMachine.stateSync.preferences.enabled` (default false ⇒ strict no-op).
|
|
3308
|
+
const { PREF_KIND_REGISTRATION } = await import('../core/PreferencesReplicatedStore.js');
|
|
3309
|
+
replicatedKindRegistry.register(PREF_KIND_REGISTRATION);
|
|
3299
3310
|
// Snapshot-then-tail engine (Component 4 / build-order step 3,
|
|
3300
3311
|
// multi-machine-replicated-store-foundation §6). The cache (FIXED ceiling,
|
|
3301
3312
|
// §8.2 — NOT pool-scaled), the per-peer rebuild breaker (§6.3), and the engine
|
|
@@ -3371,6 +3382,41 @@ export async function startServer(options) {
|
|
|
3371
3382
|
void rollbackUnmerge;
|
|
3372
3383
|
void conflictStore;
|
|
3373
3384
|
void droppedOriginRegistry; // consumed by the /state/* routes + the store PRs (WS2.1+)
|
|
3385
|
+
// WS2.1 — the bypass-proof union reader for the `preferences` store. The single
|
|
3386
|
+
// funnel every replicated preference read routes through (§7.2), so no caller
|
|
3387
|
+
// can read the raw store around the no-clobber rule. `loadOriginRecords` reads
|
|
3388
|
+
// the OWN preference store as the single origin today; when the journal apply
|
|
3389
|
+
// path lands peer `pref-record` replicas (a later rollout stage), the seam
|
|
3390
|
+
// extends to read those peer namespaces too. With only the own origin the union
|
|
3391
|
+
// is a strict no-op (= that one local record), so a single-machine / pre-apply
|
|
3392
|
+
// agent is byte-identical to the legacy read. tierOf returns HIGH (append-both-
|
|
3393
|
+
// and-flag never silently clobbers). The reader is consulted by
|
|
3394
|
+
// /preferences/session-context ONLY when stateSync.preferences.enabled is true.
|
|
3395
|
+
const { ReplicatedStoreReader } = await import('../core/ReplicatedStoreReader.js');
|
|
3396
|
+
const { PreferencesManager: _PMForUnion } = await import('../core/PreferencesManager.js');
|
|
3397
|
+
const { prefEntryToOriginRecord, prefTierOf, PREF_STORE_KEY } = await import('../core/PreferencesReplicatedStore.js');
|
|
3398
|
+
const preferencesUnionReader = new ReplicatedStoreReader({
|
|
3399
|
+
registry: replicatedKindRegistry,
|
|
3400
|
+
stores: config.multiMachine?.stateSync,
|
|
3401
|
+
tierOf: prefTierOf,
|
|
3402
|
+
loadOriginRecords: (store, recordKey) => {
|
|
3403
|
+
if (store !== PREF_STORE_KEY || _meshSelfId === null)
|
|
3404
|
+
return [];
|
|
3405
|
+
const mgr = new _PMForUnion(config.stateDir);
|
|
3406
|
+
const own = mgr.getAllForSync().find((p) => p.dedupeKey === recordKey);
|
|
3407
|
+
return own ? [prefEntryToOriginRecord(own, _meshSelfId)] : [];
|
|
3408
|
+
},
|
|
3409
|
+
listRecordKeys: (store) => {
|
|
3410
|
+
if (store !== PREF_STORE_KEY)
|
|
3411
|
+
return [];
|
|
3412
|
+
const mgr = new _PMForUnion(config.stateDir);
|
|
3413
|
+
return mgr.getAllForSync().map((p) => p.dedupeKey);
|
|
3414
|
+
},
|
|
3415
|
+
droppedOrigins: droppedOriginRegistry,
|
|
3416
|
+
conflictStore,
|
|
3417
|
+
});
|
|
3418
|
+
// preferencesUnionReader is passed into AgentServer below (consumed by
|
|
3419
|
+
// /preferences/session-context's foundation path).
|
|
3374
3420
|
// Read local signing key for machine route authentication
|
|
3375
3421
|
let localSigningKeyPem = '';
|
|
3376
3422
|
if (coordinator.enabled && coordinator.identity) {
|
|
@@ -7760,6 +7806,13 @@ export async function startServer(options) {
|
|
|
7760
7806
|
// consolidated message to the existing system topic. No new-topic-per-event.
|
|
7761
7807
|
// Spec: docs/specs/silently-stopped-trio.md.
|
|
7762
7808
|
//
|
|
7809
|
+
// Subagent Tracker — monitors subagent lifecycle via hook events. Constructed
|
|
7810
|
+
// BEFORE the silently-stopped trio block so ActiveWorkSilenceSentinel's
|
|
7811
|
+
// corroboration (HONEST-PROGRESS-MESSAGING A2 — "is a sub-agent live?") can be
|
|
7812
|
+
// wired into it (it was previously built after the trio block).
|
|
7813
|
+
const { SubagentTracker } = await import('../monitoring/SubagentTracker.js');
|
|
7814
|
+
const subagentTracker = new SubagentTracker({ stateDir: config.stateDir });
|
|
7815
|
+
console.log(pc.green(' Subagent tracker enabled'));
|
|
7763
7816
|
// Captured out of the trio block so the SessionReaper's recovery veto can
|
|
7764
7817
|
// compose socket + silence in too (SESSION-REAPER-SPEC §4 "compose, don't
|
|
7765
7818
|
// replace"). undefined when the corresponding sentinel is disabled.
|
|
@@ -7859,6 +7912,28 @@ export async function startServer(options) {
|
|
|
7859
7912
|
return result.ok;
|
|
7860
7913
|
}
|
|
7861
7914
|
: undefined,
|
|
7915
|
+
// HONEST-PROGRESS-MESSAGING A1/A2 — corroborate before claiming a
|
|
7916
|
+
// session is stuck: re-capture the live frame, check it isn't still
|
|
7917
|
+
// generating, and check no sub-agent is live. The whole path fails
|
|
7918
|
+
// closed inside the sentinel (FD-6).
|
|
7919
|
+
captureFrame: (name) => sessionSurface.captureOutput(name, 60),
|
|
7920
|
+
frameworkForSession: (name) => sessionManager.frameworkForSession(name),
|
|
7921
|
+
hasActiveSubagents: (name) => {
|
|
7922
|
+
const csid = sessionManager
|
|
7923
|
+
.listRunningSessions()
|
|
7924
|
+
.find((s) => s.tmuxSession === name)?.claudeSessionId;
|
|
7925
|
+
return csid ? subagentTracker.hasActiveSubagents(csid) : false;
|
|
7926
|
+
},
|
|
7927
|
+
// Observability (E) — funnel events to the sentinel-events.jsonl audit
|
|
7928
|
+
// trail via the notifier, mapped onto its kind enum.
|
|
7929
|
+
recordEvent: (event, name, detail) => {
|
|
7930
|
+
const kind = event.startsWith('suppressed')
|
|
7931
|
+
? 'escalation-suppressed'
|
|
7932
|
+
: event.startsWith('escalated')
|
|
7933
|
+
? 'escalation-sent'
|
|
7934
|
+
: 'detected';
|
|
7935
|
+
notifier.record(kind, 'active-silence', name, detail ? `${event}: ${detail}` : event);
|
|
7936
|
+
},
|
|
7862
7937
|
}), silenceCfg);
|
|
7863
7938
|
silenceSentinel.on('silence', (e) => notifier.record('detected', 'active-silence', e.sessionName, `idleMs=${e.idleMs}`));
|
|
7864
7939
|
silenceSentinel.on('recovered', (n) => notifier.record('recovered', 'active-silence', n));
|
|
@@ -7982,10 +8057,6 @@ export async function startServer(options) {
|
|
|
7982
8057
|
compactionSentinel.report(sessionName, triggerLabel || 'recovery-hook');
|
|
7983
8058
|
return Promise.resolve(true);
|
|
7984
8059
|
};
|
|
7985
|
-
// Subagent Tracker — monitors subagent lifecycle via hook events
|
|
7986
|
-
const { SubagentTracker } = await import('../monitoring/SubagentTracker.js');
|
|
7987
|
-
const subagentTracker = new SubagentTracker({ stateDir: config.stateDir });
|
|
7988
|
-
console.log(pc.green(' Subagent tracker enabled'));
|
|
7989
8060
|
// Helper Watchdog — detects subagent stalls and rate-limit failures,
|
|
7990
8061
|
// surfacing them back into the parent session's stdin so the agent
|
|
7991
8062
|
// can decide whether to retry smaller. Complements SessionWatchdog,
|
|
@@ -8841,6 +8912,9 @@ export async function startServer(options) {
|
|
|
8841
8912
|
// Spec: docs/specs/PROMISE-BEACON-SPEC.md
|
|
8842
8913
|
try {
|
|
8843
8914
|
const { PromiseBeacon } = await import('../monitoring/PromiseBeacon.js');
|
|
8915
|
+
// HONEST-PROGRESS-MESSAGING B2 — strict "generating now" detector for
|
|
8916
|
+
// the beacon's turn-finished close-out (live spinner / esc-to-interrupt).
|
|
8917
|
+
const { looksGeneratingNow: _beaconLooksGeneratingNow } = await import('../monitoring/sentinelWiring.js');
|
|
8844
8918
|
// ── Escalation deps (PROMISE-BEACON-ESCALATION-SPEC §3–§5) ────────
|
|
8845
8919
|
// Dark-ship: enabled resolves via the developmentAgent gate; dryRun
|
|
8846
8920
|
// defaults true so the dark→live promotion is evidence-gated (§5).
|
|
@@ -8968,6 +9042,14 @@ export async function startServer(options) {
|
|
|
8968
9042
|
sentinelAutoEnable: promiseBeaconCfg.sentinelAutoEnable ?? false,
|
|
8969
9043
|
quietHours: promiseBeaconCfg.quietHours ?? { start: '22:00', end: '08:00' },
|
|
8970
9044
|
maxActiveBeacons: promiseBeaconCfg.maxActiveBeacons ?? 20,
|
|
9045
|
+
// HONEST-PROGRESS-MESSAGING B1/B1b/B2 — silent-unless-true defaults.
|
|
9046
|
+
// Each reads from config (operator opt-out / tuning); undefined leaves
|
|
9047
|
+
// the beacon's own defaults (suppress on, 60m liveness, N=3 close-out).
|
|
9048
|
+
suppressUnchangedHeartbeats: promiseBeaconCfg.suppressUnchangedHeartbeats,
|
|
9049
|
+
beaconLivenessIntervalMs: promiseBeaconCfg.beaconLivenessIntervalMs,
|
|
9050
|
+
turnFinishedCloseoutChecks: promiseBeaconCfg.turnFinishedCloseoutChecks,
|
|
9051
|
+
// B2 turn-finished detection — "is the session still generating now?"
|
|
9052
|
+
looksActivelyWorking: (frame, name) => _beaconLooksGeneratingNow(frame, sessionManager.frameworkForSession(name)),
|
|
8971
9053
|
});
|
|
8972
9054
|
promiseBeacon.start();
|
|
8973
9055
|
globalThis.__instarPromiseBeacon = promiseBeacon;
|
|
@@ -14671,7 +14753,7 @@ export async function startServer(options) {
|
|
|
14671
14753
|
carrier: _topicProfileCarrier,
|
|
14672
14754
|
}
|
|
14673
14755
|
: null;
|
|
14674
|
-
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, 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, conflictStore, rollbackUnmerge, droppedOriginRegistry, 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, 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
|
|
14756
|
+
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, 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, 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, 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
|
|
14675
14757
|
// wired before the server existed; from here on inbound binds use the
|
|
14676
14758
|
// server's own store instance.
|
|
14677
14759
|
_agentServerRef = server;
|