Skip to content

Conversation

@brainless
Copy link
Owner

Summary

  • Add PDF to text extraction agent with pdftotext support for extracting text from PDF files
  • Agent preserves layout by default and supports page range selection via pdftotext -f/-l flags or qpdf
  • Restricted bash access (only pdftotext and qpdf commands allowed) for security
  • Comprehensive system prompt with usage examples and installation verification
  • Integration with nocodo-api and GUI (vite config port change for compatibility)
  • Support for optional text cleaning and formatting

Features

  • pdftotext executor with layout preservation (-layout flag)
  • qpdf integration for complex page extraction
  • Page range selection via -f/-l flags or qpdf
  • Installation verification for both tools
  • Type-safe configuration and request/response types

Changes

  • New agent: nocodo-agents/src/pdftotext/mod.rs
  • New tool: nocodo-tools/src/pdftotext/mod.rs
  • API handler: nocodo-api/src/handlers/agent_execution/pdftotext_agent.rs
  • Configuration types: shared-types/src/agent.rs (PdfToTextAgentConfig)
  • Minor vite config update: changed dev server port to 9010

brainless and others added 6 commits January 31, 2026 14:48
Previously, the server was hardcoded to bind to 127.0.0.1:8080,
ignoring the configuration file settings. Additionally, config paths
were hardcoded for Linux-style directories.

Changes:
- Use config.server.host and config.server.port for binding
- Add dirs crate for cross-platform config/data directory detection
- Replace hardcoded ~/.config and ~/.local/share paths with dirs::config_dir() and dirs::data_local_dir()
- Generate default database path dynamically in config template

The server now correctly loads configuration from:
- macOS: ~/Library/Application Support/nocodo/api.toml
- Linux: ~/.config/nocodo/api.toml
- Windows: %APPDATA%\nocodo\api.toml

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Implement pdftotext agent with qpdf support for extracting text from PDF files.
The agent preserves layout by default and supports page range selection.

Features:
- pdftotext executor with layout preservation
- qpdf integration for complex page extraction
- Restricted bash access (only pdftotext and qpdf commands)
- Comprehensive system prompt with usage examples
- Page range selection via -f/-l flags or qpdf
- Optional text cleaning and formatting
- Installation verification for both tools

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Use dirs.workspace for consistency across project
- Remove hardcoded path fallbacks in config.rs
- Keep OS-specific config paths using dirs crate only
@github-actions
Copy link

github-actions bot commented Feb 3, 2026

📊 Code Complexity Analysis

  • Lines added: 1046
  • Lines removed: 22
  • Net change: 1024

💡 Suggestion: This is a large PR with 1046 added lines. Consider:

  • Breaking it into smaller, focused PRs
  • Adding comprehensive tests for the new functionality
  • Updating documentation as needed

Automated analysis by GitHub Actions

@github-actions
Copy link

github-actions bot commented Feb 3, 2026

🤖 Automated Code Review Summary

This automated review was generated to help ensure code quality and security standards.

Rust Code Analysis

  • ⚠️ Code formatting: Some Rust files are not formatted according to rustfmt standards.

    • Run cargo fmt to fix formatting issues.
  • ⚠️ Linting: Clippy found potential issues in Rust code.

    • Run cargo clippy --workspace --all-targets -- --deny warnings to see detailed warnings.

TypeScript/JavaScript Code Analysis

Security Analysis

  • ⚠️ Potential secrets: Found references to passwords, secrets, or tokens.

    • Please verify no hardcoded credentials are present.
  • ℹ️ Debug output: Found debug print statements.

    • Consider removing or replacing with proper logging.

Recommendations

  • Run the full CI pipeline to ensure all tests pass
  • Consider adding tests for any new functionality
  • Update documentation if API changes are involved
  • Follow the development workflow described in CLAUDE.md

This review was automatically generated. Please address any issues before merging.

@cloudflare-workers-and-pages
Copy link

Deploying nocodo with  Cloudflare Pages  Cloudflare Pages

Latest commit: 6804258
Status: ✅  Deploy successful!
Preview URL: https://74a9b632.nocodo.pages.dev
Branch Preview URL: https://feature-pdftotext.nocodo.pages.dev

View logs

@brainless brainless merged commit 374fdc7 into main Feb 3, 2026
4 checks passed
@brainless brainless deleted the feature/pdftotext branch February 3, 2026 03:52
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.

1 participant