Compare commits
1 Commits
main
...
39b758f13a
| Author | SHA1 | Date | |
|---|---|---|---|
| 39b758f13a |
11
dist/whispergate/index.ts
vendored
11
dist/whispergate/index.ts
vendored
@@ -960,6 +960,17 @@ export default {
|
|||||||
|
|
||||||
if (!key || !channelId || !accountId) return;
|
if (!key || !channelId || !accountId) return;
|
||||||
|
|
||||||
|
// Only the current speaker should advance the turn.
|
||||||
|
// Other agents also trigger before_message_write (for incoming messages or forced no-reply),
|
||||||
|
// but they must not affect turn state.
|
||||||
|
const currentTurn = getTurnDebugInfo(channelId);
|
||||||
|
if (currentTurn.currentSpeaker !== accountId) {
|
||||||
|
api.logger.info(
|
||||||
|
`whispergate: before_message_write skipping non-current-speaker session=${key} accountId=${accountId} currentSpeaker=${currentTurn.currentSpeaker}`,
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const live = getLivePluginConfig(api, baseConfig as WhisperGateConfig) as WhisperGateConfig & DebugConfig;
|
const live = getLivePluginConfig(api, baseConfig as WhisperGateConfig) as WhisperGateConfig & DebugConfig;
|
||||||
ensurePolicyStateLoaded(api, live);
|
ensurePolicyStateLoaded(api, live);
|
||||||
const policy = resolvePolicy(live, channelId, policyState.channelPolicies);
|
const policy = resolvePolicy(live, channelId, policyState.channelPolicies);
|
||||||
|
|||||||
@@ -960,6 +960,17 @@ export default {
|
|||||||
|
|
||||||
if (!key || !channelId || !accountId) return;
|
if (!key || !channelId || !accountId) return;
|
||||||
|
|
||||||
|
// Only the current speaker should advance the turn.
|
||||||
|
// Other agents also trigger before_message_write (for incoming messages or forced no-reply),
|
||||||
|
// but they must not affect turn state.
|
||||||
|
const currentTurn = getTurnDebugInfo(channelId);
|
||||||
|
if (currentTurn.currentSpeaker !== accountId) {
|
||||||
|
api.logger.info(
|
||||||
|
`whispergate: before_message_write skipping non-current-speaker session=${key} accountId=${accountId} currentSpeaker=${currentTurn.currentSpeaker}`,
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const live = getLivePluginConfig(api, baseConfig as WhisperGateConfig) as WhisperGateConfig & DebugConfig;
|
const live = getLivePluginConfig(api, baseConfig as WhisperGateConfig) as WhisperGateConfig & DebugConfig;
|
||||||
ensurePolicyStateLoaded(api, live);
|
ensurePolicyStateLoaded(api, live);
|
||||||
const policy = resolvePolicy(live, channelId, policyState.channelPolicies);
|
const policy = resolvePolicy(live, channelId, policyState.channelPolicies);
|
||||||
|
|||||||
Reference in New Issue
Block a user