Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
2d58123
feat(artifacts): add create/finalize/fail helpers + error field (#2778)
oxoxDev May 29, 2026
82e8fa9
feat(runtime_python): add run + venv helpers for Python-backed tools …
oxoxDev May 29, 2026
026fe48
feat(tools): add generate_presentation tool backed by python-pptx (#2…
oxoxDev May 29, 2026
63310f5
test(presentation): end-to-end integration + CI python-pptx provision…
oxoxDev May 29, 2026
aa1469c
feat(agent/orchestrator): add generate_presentation to named tool lis…
oxoxDev May 29, 2026
471d181
fix(presentation): validate theme length with MAX_TEXT_CHARS cap (#2778)
oxoxDev May 30, 2026
2f51f8c
fix(presentation): redact title from logs + fail artifact on setup er…
oxoxDev May 30, 2026
bec8888
fix(presentation): harden temp script write against symlink/clobber (…
oxoxDev May 30, 2026
4511a74
fix(presentation): enforce absolute --output path at runtime (#2778)
oxoxDev May 30, 2026
d81b59f
fix(runtime_python): bound stdin write+shutdown by the deadline (#2778)
oxoxDev May 30, 2026
17c57b6
fix(runtime_python): redact requirements + bound venv creation (#2778)
oxoxDev May 30, 2026
69c5e5a
test(presentation): pin preflight to one resolved python binary (#2778)
oxoxDev May 30, 2026
f577c9c
test(playwright): force-remove lingering joyride portal in dismiss he…
oxoxDev May 30, 2026
f03565e
fix(runtime_python): drain stdout/stderr concurrently with stdin writ…
oxoxDev May 30, 2026
4a3c1ae
test(playwright): install MutationObserver to scrub re-mounted joyrid…
oxoxDev May 30, 2026
c5866e4
fix(runtime_python): reject pre-release Python versions in selector (…
oxoxDev May 30, 2026
687940f
chore(fmt): apply pre-push auto-fixes (#2778)
oxoxDev May 30, 2026
e0e2a2e
refactor(presentation): swap python-pptx subprocess for native rust e…
oxoxDev May 30, 2026
b1eae8d
fix(presentation): flip artifact to Failed on finalize error; engine …
oxoxDev May 30, 2026
c835d14
fix(presentation): thread real deadline into join-cancel timeout (#2778)
oxoxDev May 30, 2026
88875e2
fix(presentation/engine): map cancelled JoinError to GenerationFailed…
oxoxDev Jun 1, 2026
c9d6c55
Merge remote-tracking branch 'upstream/main' into feat/2778-presentat…
oxoxDev Jun 1, 2026
9c5a217
chore(#2778): scrub stale python-pptx references after engine swap
oxoxDev Jun 1, 2026
2ce9acb
Merge remote-tracking branch 'upstream/main' into feat/2778-presentat…
oxoxDev Jun 1, 2026
10f1a19
Merge remote-tracking branch 'upstream/main' into pr/3016
senamakel Jun 1, 2026
067bb1b
fix(tools/ops): use root_config.workspace_dir for PresentationTool
oxoxDev Jun 2, 2026
45ba517
Merge remote-tracking branch 'upstream/main' into feat/2778-presentat…
oxoxDev Jun 2, 2026
ed698e6
fix(presentation): redact path PII in write-error log + reject whites…
oxoxDev Jun 2, 2026
f64a439
docs(runtime_python): clarify why module ships unused post-engine-swa…
oxoxDev Jun 2, 2026
a0459fb
chore(presentation): purge python-pptx scaffolding now that engine is…
oxoxDev Jun 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
206 changes: 200 additions & 6 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,7 @@ whatsapp-rust = { version = "0.5", optional = true, default-features = false, fe
whatsapp-rust-tokio-transport = { version = "0.5", optional = true, default-features = false }
whatsapp-rust-ureq-http-client = { version = "0.5", optional = true }
wacore = { version = "0.5", optional = true, default-features = false }
ppt-rs = "0.2.14"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ppt-rs links pulldown-cmark + syntect unconditionally (for its markdown/code-highlight paths, which this tool never exercises), so we pay ~10-15MB of binary bloat for code we don't call. The PR body already notes this. Could be worth filing the upstream issue to gate clap/pulldown-cmark/syntect behind a non-default feature, and tracking it so we can shrink the binary later. Not blocking — just flagging so it doesn't get lost.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not blocking, confirmed. Tracking the upstream ppt-rs feature-gating ask as a follow-up — the unused clap/pulldown-cmark/syntect paths cost ~10-15MB and a default-features-off + opt-in markdown/highlight features would let us shrink the binary later. Will open an issue against the ppt-rs repo before this PR lands and link the tracking URL here.


[target.'cfg(windows)'.dependencies]
# Windows: tokio-tungstenite uses native-tls (schannel) so wss://
Expand Down
10 changes: 10 additions & 0 deletions src/openhuman/agent_registry/agents/orchestrator/agent.toml
Original file line number Diff line number Diff line change
Expand Up @@ -160,4 +160,14 @@ named = [
# Both are routed through the same security/approval gate as `shell`.
"workflow_load",
"workflow_phase",
# Presentation generation (#2778). Synthesises a .pptx from a
# structured slide spec via a native Rust engine (`ppt-rs`) running
# in-process — no Python subprocess, no managed venv. Output lands
# in the workspace artifacts directory and the tool returns the
# artifact id + absolute path so the orchestrator can quote it in
# the reply. Full agent-definition wiring + per-tier tool_filter
# policy lands in #2780; this entry exists so the orchestrator can
# drive the tool today (matches the user-facing "create slides"
# routing case the parent issue #1535 asks for).
"generate_presentation",
Comment thread
coderabbitai[bot] marked this conversation as resolved.
]
1 change: 1 addition & 0 deletions src/openhuman/artifacts/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ pub use schemas::{
all_controller_schemas as all_artifacts_controller_schemas,
all_registered_controllers as all_artifacts_registered_controllers,
};
pub use store::{create_artifact, fail_artifact, finalize_artifact};
pub use types::{ArtifactKind, ArtifactMeta, ArtifactStatus};
Loading
Loading