Skip to content

Latest commit

 

History

110 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mill

Mill is Celladore's alpha conversion workspace for documents, images, audio, and video. Deterministic local tools handle supported document and image formats; the deployed API provides authenticated media conversion and transcription.

HTTP availability, dependency readiness, deployment, and an authenticated user conversion are separate evidence. /api/health is process liveness; /api/ready checks the configured database dependency. /api/status is a persisted status-check collection and is not a health endpoint.

Mill CLI alpha

The temporary npm identity is @celladore/mill. The bare mill package belongs to somebody else, so npx mill is not supported and must not be documented as a Mill command.

Registry publication is pending npm authentication and Celladore scope-control verification. Until that gate passes, the commands below describe the approved alpha surface but will not resolve from the public registry.

npx @celladore/mill init
npx @celladore/mill inspect "voice notes/input.ogg"
npx @celladore/mill convert "voice notes/input.ogg" --format mp3

npm install --global @celladore/mill
mill doctor

Audio conversion requires an operator-provided MYSTIRA_ACCESS_TOKEN. Web login does not currently hand a token to the CLI through a supported user flow. The CLI therefore fails closed when this external token boundary is absent; it does not fabricate a native OAuth client, scrape the browser session, or store a credential.

Commands:

  • mill init writes a non-secret .millrc.json in the current directory.
  • mill login reports whether the external token boundary is satisfied and points to the web login. It is not native CLI OIDC acceptance.
  • mill inspect INPUT reports the selected local/API boundary before work.
  • mill convert INPUT delegates documents/images to xtotext and supported audio to the authenticated Mill API, then retrieves the output.
  • mill doctor checks Node, configuration, identity input, and the compatible local Python executable. --api checks /docs availability and explicitly does not claim readiness.

The package requires Node 20 or newer. Paths are passed as argument arrays, not shell strings, so spaces are preserved and no interactive terminal is required.

Python compatibility

The Python distribution remains xtotext, its import remains xtox, and its legacy executable remains xtotext. Those are compatibility APIs, not current product branding, and this alpha does not perform a breaking namespace migration.

python -m pip install -e ".[dev,azure,api]"
xtotext --help

Example:

from xtox.core import DocumentConverter

converter = DocumentConverter(output_dir="./output")
result = converter.markdown_to_pdf("document.md", refinement_level=2)

The local Python engine currently supports Markdown, HTML, LaTeX, and common image conversions. Audio is deliberately delegated to the authenticated API; the Node package does not duplicate FFmpeg or backend conversion logic.

Development

python -m pytest
pnpm --dir frontend install --frozen-lockfile
pnpm --dir frontend test
pnpm --dir frontend build
npm test
npm pack --dry-run

Production publication, deployment, DNS, secrets, and OIDC registration changes are separately authorized operations. See the Mill identity inventory before renaming any remaining xtox or xtotext identifier.

About

AI-powered document converter — transform any file format to clean text output

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages