Merge pull request #19 from madhura68/feat/configurable-claude-output-format

feat(worker): configureerbare Claude --output-format, default stream-json (IDEA-064)
This commit is contained in:
Janpeter Visser 2026-05-14 19:32:10 +02:00 committed by GitHub
commit 1a87bee280
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 15 additions and 1 deletions

View file

@ -108,3 +108,9 @@ AGENT_BACKOFF_MAX=300
AGENT_LOG_GZIP_AFTER_HOURS=24
# Hoeveel dagen ge-gzipte logs bewaren voor we ze verwijderen.
AGENT_LOG_DELETE_AFTER_DAYS=30
# Claude CLI --output-format. Default 'stream-json' streamt de volledige
# event-stream (tool-calls, berichten) live naar de run-log; 'text' geeft
# alleen Claude's eind-samenvatting (terser, maar geen live-meekijken).
# stream-json maakt de run-log JSONL — gebruik jq of een viewer.
AGENT_CLAUDE_OUTPUT_FORMAT=stream-json

View file

@ -292,6 +292,13 @@ async function main(): Promise<number> {
// 7. Build CLI args.
const promptText = getKindPromptText(ctx.kind).replace('$PAYLOAD_PATH', payloadPath)
// --output-format is configureerbaar via env. Default 'stream-json' geeft
// de volledige event-stream (elke tool-call, elk bericht) live in de
// run-log, i.p.v. alleen Claude's eind-samenvatting. stream-json vereist
// --verbose in print-mode. Zet AGENT_CLAUDE_OUTPUT_FORMAT=text terug voor
// de oude terse output. TOKEN_EXPIRED-detectie werkt ongewijzigd: de
// auth-error-strings staan ook binnen de JSON-events.
const outputFormat = process.env.AGENT_CLAUDE_OUTPUT_FORMAT ?? 'stream-json'
const args: string[] = [
'-p',
promptText,
@ -306,8 +313,9 @@ async function main(): Promise<number> {
'--add-dir',
'/opt/agent',
'--output-format',
'text',
outputFormat,
]
if (outputFormat === 'stream-json') args.push('--verbose')
if (effort) args.push('--effort', effort)
const cwd = worktreePath ?? '/opt/agent'