Skip to content

fix(tools): accept slide_deck_source in task outputs - #286

Merged
marcelklehr merged 1 commit into
mainfrom
fix/accepted-output-keys
Oct 22, 2026
Merged

marcelklehr merged 1 commit into
mainfrom
fix/accepted-output-keys

Conversation

@WSHAPER

@WSHAPER WSHAPER commented Oct 22, 2026

Copy link
Copy Markdown
Contributor

Problem

A deck-generation task type can emit its Markdown source as slide_deck_source alongside the deck itself, enabling a small-edits-instead-of-recompute flow. run_task validates task outputs against ACCEPTED_OUTPUT_KEYS, which still lacks that key, so the chat agent cannot see or hand back the second output file. The provider reports {"slide_deck": id, "slide_deck_source": md_id}, and an output that carries only the source key is rejected outright.

Change

ACCEPTED_OUTPUT_KEYS in ex_app/lib/all_tools/lib/task_processing.py gains slide_deck_source. Outputs carrying the source key now pass validation, so tooling can surface the source link next to the deck link, or a follow-up edit flow can consume it with the original prompt. Unknown keys are still rejected as before.

Testing

Adds tests/test_task_processing_keys.py with a stubbed Nextcloud app: every accepted key passes, slide_deck_source passes alone and alongside slide_deck, and an unknown key still raises.

Alternatives considered

No issue or PR found for ACCEPTED_OUTPUT_KEYS whitelisting of new output keys, multiple output files per task, or consuming a task's own output for iterative editing.

Cross-references

Assisted by opencode with zai/glm-5.3, reviewed by WSHAPER

A provider may emit the deck's Markdown source alongside the deck as a
second output file; run_task currently rejects it, so the chat agent
drops the source. Add slide_deck_source to ACCEPTED_OUTPUT_KEYS so such
outputs pass the whitelist.

Signed-off-by: WSHAPER <42714629+WSHAPER@users.noreply.github.com>

Assisted-by: opencode (zai/glm-5.3)
@marcelklehr
marcelklehr merged commit 321e094 into main Oct 22, 2026
7 checks passed
@marcelklehr
marcelklehr deleted the fix/accepted-output-keys branch October 22, 2026 12:57
WSHAPER added a commit that referenced this pull request Oct 25, 2026
Add a chat tool that schedules the marp_slides ExApp's deck generation
task through the shared run_task helper. The tool takes a deck brief
(the provider's own AI authors the full Marp Markdown from it), not
slide contents, and returns the assistant download link for the
generated PPTX. Availability is gated on the task type being registered
server-side. The link correctly extracts absolute_url from the app_api
OCS response dict rather than f-stringing the whole response.

Depends on: #286

Assisted-by: opencode (zai/glm-5.3)
Signed-off-by: WSHAPER <42714629+WSHAPER@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants