feat: paired review system overhaul — unified service, configurable agents, silent output removal
- Remove UNIFIED_MODE legacy: single service manages all 3 Discord bots - Add OWNER_AGENT_TYPE / REVIEWER_AGENT_TYPE env vars for configurable agent selection - Fix Discord channel routing: reviewer output goes through correct bot (discord/discord-review) - Fix channel name assignment: explicit names prevent agentTypeFilter collision - Remove silent output suppression system: harness-level protections replace prompt workarounds - Add reviewer approval detection: DONE marker on first line stops ping-pong - Include user's original message in reviewer prompt for context - Fix round_trip_count auto-reset on new user message - Fix session ID conflict: reviewer doesn't reuse owner's session - Fix pending progress text flush in runner on close sentinel - Promote buffered intermediate text to final result when result event has no text - Remove legacy files: .env.codex.example, .env.codex-review.example, migrate-unify.cjs - Update CLAUDE.md: server-side build deployment, unified architecture docs
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
import { parseStructuredOutputEnvelope } from './output-suppression.js';
|
||||
import type { StructuredAgentOutput } from './types.js';
|
||||
|
||||
export function stringifyLegacyAgentResult(
|
||||
@@ -21,10 +20,7 @@ export function getStructuredAgentOutput(output: {
|
||||
if (output.output) {
|
||||
return output.output;
|
||||
}
|
||||
if (typeof output.result !== 'string') {
|
||||
return null;
|
||||
}
|
||||
return parseStructuredOutputEnvelope(output.result.trim());
|
||||
return null;
|
||||
}
|
||||
|
||||
export function getAgentOutputText(output: {
|
||||
@@ -32,9 +28,6 @@ export function getAgentOutputText(output: {
|
||||
result?: string | object | null;
|
||||
}): string | null {
|
||||
const structured = getStructuredAgentOutput(output);
|
||||
if (structured?.visibility === 'silent') {
|
||||
return null;
|
||||
}
|
||||
if (structured?.visibility === 'public') {
|
||||
return structured.text;
|
||||
}
|
||||
@@ -51,9 +44,9 @@ export function hasAgentOutputPayload(output: {
|
||||
return output.result !== null && output.result !== undefined;
|
||||
}
|
||||
|
||||
export function isSilentAgentOutput(output: {
|
||||
export function isSilentAgentOutput(_output: {
|
||||
output?: StructuredAgentOutput;
|
||||
result?: string | object | null;
|
||||
}): boolean {
|
||||
return getStructuredAgentOutput(output)?.visibility === 'silent';
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user