instar 1.2.77 → 1.2.79
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 +23 -1
- package/dist/commands/server.js.map +1 -1
- package/dist/providers/adapters/openai-codex/canary/codexHookContractCanary.d.ts +20 -0
- package/dist/providers/adapters/openai-codex/canary/codexHookContractCanary.d.ts.map +1 -1
- package/dist/providers/adapters/openai-codex/canary/codexHookContractCanary.js +46 -0
- package/dist/providers/adapters/openai-codex/canary/codexHookContractCanary.js.map +1 -1
- package/dist/server/AgentServer.d.ts +1 -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 +2 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +14 -0
- package/dist/server/routes.js.map +1 -1
- package/dist/threadline/CollaborationSurfacer.d.ts +72 -0
- package/dist/threadline/CollaborationSurfacer.d.ts.map +1 -0
- package/dist/threadline/CollaborationSurfacer.js +122 -0
- package/dist/threadline/CollaborationSurfacer.js.map +1 -0
- package/dist/threadline/TopicLinkageHandler.d.ts.map +1 -1
- package/dist/threadline/TopicLinkageHandler.js +16 -11
- package/dist/threadline/TopicLinkageHandler.js.map +1 -1
- package/package.json +1 -1
- package/scripts/pre-push-e2e-scope.mjs +83 -0
- package/scripts/safe-merge.mjs +87 -0
- package/src/data/builtin-manifest.json +47 -47
- package/upgrades/1.2.78.md +49 -0
- package/upgrades/1.2.79.md +68 -0
- package/upgrades/side-effects/codex-parity-c4-canary-drift.md +33 -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;AA0QH,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAiqDD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA0iMtE;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
|
@@ -96,6 +96,7 @@ import { resolveThreadlineMcpEntry } from '../threadline/mcpEntry.js';
|
|
|
96
96
|
import { ThreadResumeMap } from '../threadline/ThreadResumeMap.js';
|
|
97
97
|
import { ConversationStore } from '../threadline/ConversationStore.js';
|
|
98
98
|
import { WarrantsReplyGate, evaluateAndRecordInbound } from '../threadline/WarrantsReplyGate.js';
|
|
99
|
+
import { CollaborationSurfacer } from '../threadline/CollaborationSurfacer.js';
|
|
99
100
|
import { ListenerSessionManager } from '../threadline/ListenerSessionManager.js';
|
|
100
101
|
import { SystemReviewer } from '../monitoring/SystemReviewer.js';
|
|
101
102
|
import { createSessionProbes } from '../monitoring/probes/SessionProbe.js';
|
|
@@ -5999,6 +6000,12 @@ export async function startServer(options) {
|
|
|
5999
6000
|
// living on the Conversation (the one-shot worker can't self-police a loop).
|
|
6000
6001
|
const conversationStore = new ConversationStore(config.stateDir);
|
|
6001
6002
|
const warrantsReplyGate = new WarrantsReplyGate({ intelligence: sharedIntelligence });
|
|
6003
|
+
// CMT-509 §2: surface PARENTLESS Threadline conversations into a single
|
|
6004
|
+
// dedicated topic so a peer reaching out cold is visible (not an invisible
|
|
6005
|
+
// side channel). Topic-bound conversations surface via TopicLinkageHandler.
|
|
6006
|
+
const collaborationSurfacer = telegram
|
|
6007
|
+
? new CollaborationSurfacer({ telegram, stateDir: config.stateDir })
|
|
6008
|
+
: undefined;
|
|
6002
6009
|
const messageFormatter = new MessageFormatter();
|
|
6003
6010
|
const tmuxBin = config.sessions.tmuxPath;
|
|
6004
6011
|
const tmuxOps = {
|
|
@@ -6626,6 +6633,21 @@ export async function startServer(options) {
|
|
|
6626
6633
|
}
|
|
6627
6634
|
return; // short-circuit ALL three routing branches
|
|
6628
6635
|
}
|
|
6636
|
+
// CMT-509 §2: warranted + PARENTLESS conversation (no bound topic)
|
|
6637
|
+
// → surface to the dedicated Threadline topic so the operator sees
|
|
6638
|
+
// a peer reaching out cold. Topic-bound conversations are surfaced by
|
|
6639
|
+
// TopicLinkageHandler instead, so we skip them here. Best-effort,
|
|
6640
|
+
// non-blocking; never breaks the inbound path.
|
|
6641
|
+
if (collaborationSurfacer) {
|
|
6642
|
+
const hasParentTopic = conversationStore.get(gateThreadId)?.boundTopicId != null;
|
|
6643
|
+
void collaborationSurfacer.surface({
|
|
6644
|
+
threadId: gateThreadId,
|
|
6645
|
+
senderName,
|
|
6646
|
+
text: textContent,
|
|
6647
|
+
hasParentTopic,
|
|
6648
|
+
warrants: !decision.suppress,
|
|
6649
|
+
});
|
|
6650
|
+
}
|
|
6629
6651
|
}
|
|
6630
6652
|
catch (gateErr) {
|
|
6631
6653
|
// Gate failure → fail toward responsive (never silently drop a message).
|
|
@@ -7149,7 +7171,7 @@ export async function startServer(options) {
|
|
|
7149
7171
|
},
|
|
7150
7172
|
});
|
|
7151
7173
|
}
|
|
7152
|
-
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, messageRouter, summarySentinel, spawnManager, systemReviewer, capabilityMapper, selfKnowledgeTree, coverageAuditor, topicResumeMap: _topicResumeMap ?? undefined, sessionRefresh: _sessionRefresh ?? undefined, autonomyManager, trustElevationTracker, autonomousEvolution, coordinator: coordinator.enabled ? coordinator : undefined, localSigningKeyPem, whatsapp: whatsappAdapter, slack: slackAdapter, imessage: imessageAdapter, whatsappBusinessBackend, messageBridge, hookEventReceiver, worktreeMonitor, subagentTracker, instructionsVerifier, handshakeManager: threadlineHandshake, threadlineRouter, conversationStore, warrantsReplyGate, 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, proxyCoordinator, topicIntentStore, usherSignalStore, intelligence: sharedIntelligence ?? undefined, telegramBridgeConfig, telegramBridge: telegramBridge ?? undefined, threadlineObservability, workingMemory, taskFlowRegistry, threadlineFlowBridge });
|
|
7174
|
+
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, messageRouter, summarySentinel, spawnManager, systemReviewer, capabilityMapper, selfKnowledgeTree, coverageAuditor, topicResumeMap: _topicResumeMap ?? undefined, sessionRefresh: _sessionRefresh ?? undefined, autonomyManager, trustElevationTracker, autonomousEvolution, coordinator: coordinator.enabled ? coordinator : undefined, localSigningKeyPem, 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, proxyCoordinator, topicIntentStore, usherSignalStore, intelligence: sharedIntelligence ?? undefined, telegramBridgeConfig, telegramBridge: telegramBridge ?? undefined, threadlineObservability, workingMemory, taskFlowRegistry, threadlineFlowBridge });
|
|
7153
7175
|
// Boot-recovery (tunnel-failure-resilience spec Part 6): if the agent
|
|
7154
7176
|
// died mid-relay-episode, the persisted tunnel.json carries
|
|
7155
7177
|
// rotationPending=true. Rotate the dashboard PIN + authToken BEFORE
|