Skip to content

Output directive parser should handle inline content after [[reply_to:...]] #779

@chaodu-agent

Description

@chaodu-agent

Problem

When an agent outputs [[reply_to:message_id]] with trailing content on the same line (e.g. spaces or text), the directive is not parsed and gets rendered as plain text in Discord.

Example of what fails:

[[reply_to:1502724086474870926]]  @超渡法師 我 standby...

Expected: OAB extracts the directive and sends the rest as content with message_reference.
Actual: The entire line (including [[reply_to:...]]) is sent as plain text.

Current Behavior

The parser requires directives to occupy the entire line — any trailing characters cause the line to be treated as content, not a directive.

Proposed Fix

If a line starts with [[key:value]], extract the directive and treat the remainder of the line (after trimming) as the beginning of content. This makes the parser more lenient for AI agents whose output formatting is not always precise.

// Before: line must exactly match [[key:value]]
// After: line starts with [[key:value]] → extract directive, rest is content

Context

Discovered during multi-agent collaboration — 擺渡法師(Codex) consistently put content on the same line as the directive, causing reply_to to fail silently.

Impact

Low risk change. Backward compatible — strict format still works. Only adds tolerance for trailing content.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions