chore: remove slide_creator agent and slide generation#493
Merged
Conversation
added 2 commits
June 18, 2026 16:48
Remove the slide-creator agent and all slide-specific code across the backend services, web app, tests, and tooling. The other agents (deep_research, doc_generator, pdf_generator, spreadsheet_generator) and generic .pptx file upload are unaffected. response-api: - Extract the shared generic artifact executor into a new planners/artifactexec package. The slide executor was the de-facto handler for all ArtifactCreate steps (doc/pdf/spreadsheet/deep_research depend on store_artifact), so the generic path is preserved while the slide-specific code is deleted. - Delete the slide_creator planner/steps, slide_creator + slide_renderer assets, the slides skill template, and the dead RoutingExecutor. - Drop slide wiring; register deepResearchExecutor for tool/LLM calls and the generic artifact executor for artifact creation. - Remove ContentTypeSlides, AgentTypeSlideCreator, SkillTypeSlides, SlideCreator* metadata/schemas/examples, SlidesMetadata, MediaArtifact.SlidesImages, RenderSlidesPPTX, and the SLIDE_RENDERER_* / SKILL_SLIDES_ENABLED config + generate_slide casing. mcp-tools: - Remove the slide_creator agent-proxy handling and the slide-only generation package. llm-api: - Drop the slide_generate MCP tool key. web: - Remove the slide viewer, the "Presentations" artifact filter, slide rendering in the gallery/card/sidebar, and slide metadata parsing. Presentation file upload is kept. tests/docs/seeds/postman/Makefile updated; slide assertions repointed to doc_generator, and the orphaned test-agent-slide target removed.
…althcheck) Pre-existing issues that prevented the local docker stack from starting healthy, unrelated to the slide removal: - media-api: with the default local storage backend it registered a path-based static mount at /v1/files/*filepath, which conflicts with the /v1/files/:id route and panics gin at startup. Local files are served by ID through the Proxy handler, so the redundant static mount is removed. - web: the container healthcheck used http://localhost:3001, which resolves to IPv6 ::1 where nginx (listening on 0.0.0.0:3001) does not answer, marking the container unhealthy. Use 127.0.0.1.
Minh141120
approved these changes
Jun 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Removes the slide-creator agent and all slide-specific code across the backend services, web app, tests, and tooling. The other agents (
deep_research,doc_generator,pdf_generator,spreadsheet_generator) and generic.pptxfile upload are intentionally preserved.The slide executor was the de-facto handler for all
ArtifactCreatesteps (doc/pdf/spreadsheet/deep_research all emitstore_artifact), so the shared generic path was first extracted into a newplanners/artifactexecpackage before the slide-specific code was deleted.Changes
response-api
internal/domain/agent/planners/artifactexecpackage — genericArtifactCreateexecutor extracted from the slide package.slide_creatorplanner/steps,assets/slide_creator+assets/slide_renderer, the slides skill template, and the now-deadRoutingExecutor.deepResearchExecutorfor tool/LLM calls,GenericArtifactExecutorfor artifact creation.ContentTypeSlides,AgentTypeSlideCreator,SkillTypeSlides,SlideCreator*metadata/schemas/examples,SlidesMetadata,MediaArtifact.SlidesImages,RenderSlidesPPTX, theSLIDE_RENDERER_*/SKILL_SLIDES_ENABLEDconfig, and thegenerate_sliderequest special-casing.mcp-tools
slide_creatoragent-proxy handling and the slide-onlygenerationpackage.llm-api
slide_generateMCP tool key.web
tests / docs / tooling
.env.template, and the Makefile updated; slide assertions repointed todoc_generator; orphanedtest-agent-slidetarget removed.Local-docker fixes (separate commit — pre-existing, unrelated to slides)
While verifying the stack in Docker, two pre-existing issues blocked a healthy bring-up and are fixed in
d944305:localstorage backend registered a path-based static mount at/v1/files/*filepaththat conflicts with/v1/files/:idand panics gin at startup. Files are served by ID via the Proxy handler, so the redundant static mount is removed.http://localhost:3001(resolves to IPv6::1, where nginx on0.0.0.0:3001doesn't answer) → switched to127.0.0.1.Verification
go build ./...(+-tags wireinject) passes for response-api, llm-api, mcp-tools; web builds (tsc -b && vite build).deep_research/doc_generator, noslide_creator)./v1/agentsroute wired, guest-login intact.slide_creator/ slide-agent references (animation classes and pptx-upload MIME types intentionally retained).