[codex] Add slide deck MCP tool#18
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9990b83c8e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| await fsp.mkdir(parent, { recursive: true }); | ||
|
|
||
| const [realRoot, realParent] = await Promise.all([ | ||
| fsp.realpath(root), |
There was a problem hiding this comment.
Reject symlinked deck output roots
When outputs/judgmentkit-slide-decks (or a parent directory) already exists as a symlink, resolving root here makes the symlink target the trusted base, so create_slide_deck with artifact export can pass the parent check and rename the PPTX outside the workspace while returning an outputs/... path. Since this tool explicitly promises writes only under the guarded output directory, the guard should reject symlinked output roots/components or validate against the intended workspace path before writing.
Useful? React with 👍 / 👎.
| { | ||
| code: "artifact_runtime_unavailable", | ||
| details: { | ||
| checked_candidates: candidates, |
There was a problem hiding this comment.
Redact runtime paths from artifact errors
When a caller requests artifact creation (dry_run:false or an output.path) on an installation without a usable artifact runtime, the structured error now returns every checked candidate path, including paths derived from HOME and CODEX_* environment variables. On the public MCP endpoint this leaks server filesystem layout despite diagnostics being opt-in/redacted by default, so these candidates should be omitted or gated to explicit local diagnostics.
Useful? React with 👍 / 👎.
Summary
create_slide_deckto the JudgmentKit MCP surface for dry-run deck planning and guarded local PPTX export.Validation
node tests/mcp.test.mjsnode tests/mcp-stdio.test.mjsnode tests/mcp-http.test.mjsnpm run mcp:smokenode tests/install-mcp.test.mjsnode tests/codex-plugin.test.mjsnpm run codex-plugin:checknode tests/skills.test.mjsnode tests/site.test.mjsnode tests/site-local-server.test.mjsnpm run test:presentation-themegit diff --checkFull
npm testwas not run.