-
Notifications
You must be signed in to change notification settings - Fork 2
Build tinydocs from the OpenHuman document engine #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
b2dbd3c
1dc5eb4
743ebb5
f51e0a7
fe9d731
984fe41
ba19c56
440bb5e
84b272b
ce0e96f
a1cad06
1a7019e
bec77c8
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,15 +1,15 @@ | ||
| [package] | ||
| name = "rust-template" | ||
| name = "tinydocs" | ||
| version = "0.1.0" | ||
| edition = "2024" | ||
| rust-version = "1.85" | ||
| rust-version = "1.88" | ||
| license = "GPL-3.0-only" | ||
| description = "A production-ready Rust library template." | ||
| repository = "https://github.com/tinyhumansai/rust-template" | ||
| documentation = "https://docs.rs/rust-template" | ||
| description = "Agent-friendly document synthesis and text extraction (DOCX, PPTX, PDF) in Rust." | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Description claims PPTX, PDF, and text extraction with no dependency for them The package description claims capabilities the dependencies cannot back.
The only document-format dependency added is [RULE] Package metadata must reflect actual capabilities · There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Package metadata claims PPTX, PDF, and text extraction not implemented here The package description claims description = "Agent-friendly document synthesis and text extraction (DOCX, PPTX, PDF) in Rust."keywords = ["docx", "ooxml", "pdf", "document", "agent"]Drop PPTX/PDF/extraction from the description and [RULE] Prefer small, typed APIs over stringly-typed ones; accept |
||
| repository = "https://github.com/tinyhumansai/tinydocs" | ||
| documentation = "https://docs.rs/tinydocs" | ||
| readme = "README.md" | ||
| keywords = ["template"] | ||
| categories = ["development-tools"] | ||
| keywords = ["docx", "ooxml", "pdf", "document", "agent"] | ||
| categories = ["text-processing"] | ||
| # Keep the published package to what a consumer actually needs. | ||
| exclude = [ | ||
| ".github/", | ||
|
|
@@ -25,11 +25,33 @@ exclude = [ | |
| # Derive macros for the crate-wide error type in `src/error/mod.rs`. Every | ||
| # dependency entry should carry a comment like this one saying why it is here. | ||
| thiserror = "2" | ||
| # The document spec types are the wire contract a host exposes to an LLM as a | ||
| # JSON tool schema, so they derive Serialize/Deserialize here rather than | ||
| # forcing every host to re-declare them. | ||
| serde = { version = "1", features = ["derive"] } | ||
| # OOXML `.docx` synthesis. Optional: exclusive to the `docx` feature so a host | ||
| # that only needs extraction does not pull the writer stack. | ||
| docx-rs = { version = "0.4.20", optional = true } | ||
|
|
||
| [dev-dependencies] | ||
| # `.docx` output is a zip container; the tests re-open the produced bytes and | ||
| # assert on the OOXML parts inside. | ||
| zip = { version = "2", default-features = false, features = ["deflate"] } | ||
| # The spec types are a JSON wire contract; the tests assert they round-trip and | ||
| # that unknown keys are rejected. | ||
| serde_json = "1" | ||
|
|
||
| # The example generates a `.docx`, so it only builds when that gate is on. | ||
| # Without this, `--no-default-features` fails on the example rather than | ||
| # reporting the (correct) fact that the crate itself compiles fine. | ||
| [[example]] | ||
| name = "basic" | ||
| required-features = ["docx"] | ||
|
|
||
| [features] | ||
| default = [] | ||
| default = ["docx"] | ||
| # `.docx` generation via `docx-rs`. | ||
| docx = ["dep:docx-rs"] | ||
|
|
||
| # Lints apply to the whole crate and to every target. CI runs clippy with | ||
| # `-D warnings`, so anything set to "warn" here fails the build in CI. | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Package description and keywords claim PPTX/PDF support this PR does not add
The package metadata advertises PPTX, PDF, and text extraction, but this PR adds only
docx-rs(DOCX synthesis) andserde(JSON spec types). No PPTX or PDF dependency is introduced, and the only feature gate isdocx. Thepdfkeyword compounds the mismatch. A consumer or docs.rs reader would be misled into believing capabilities that this crate does not provide. Either narrow the description/keywords to what is actually shipped (DOCX synthesis + spec types), or add the PPTX/PDF/extraction dependencies and features in this same PR.existing_code:
description = "Agent-friendly document synthesis and text extraction (DOCX, PPTX, PDF) in Rust."[RULE] Package metadata must accurately reflect shipped capabilities ·