brewdoc 0.3.1__tar.gz → 0.3.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/distribution.json +2 -6
- brewdoc-0.3.2/.github/npm-diagnostic-public.pem +11 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/workflows/build_npm.py +126 -14
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/workflows/ci.yml +6 -4
- brewdoc-0.3.2/.github/workflows/npm_diagnostic.cjs +50 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/workflows/release.yml +41 -20
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/workflows/release_assets.py +83 -23
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/workflows/release_guide.py +29 -217
- brewdoc-0.3.2/FORMATS.md +293 -0
- brewdoc-0.3.2/INSTALL.md +219 -0
- brewdoc-0.3.2/PKG-INFO +157 -0
- brewdoc-0.3.2/README.md +129 -0
- brewdoc-0.3.2/RELEASING.md +135 -0
- brewdoc-0.3.2/llms.txt +49 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/npm/bin/brewdoc.cjs +4 -1
- {brewdoc-0.3.1 → brewdoc-0.3.2}/npm/test/launcher.test.cjs +107 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/pyproject.toml +4 -2
- {brewdoc-0.3.1 → brewdoc-0.3.2}/src/brewdoc/__init__.py +1 -1
- {brewdoc-0.3.1 → brewdoc-0.3.2}/src/brewdoc/cli.py +2 -14
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_npm_distribution.py +326 -6
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_release_assets.py +287 -24
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_release_guide.py +83 -27
- {brewdoc-0.3.1 → brewdoc-0.3.2}/uv.lock +1 -1
- brewdoc-0.3.1/FORMATS.md +0 -364
- brewdoc-0.3.1/PKG-INFO +0 -411
- brewdoc-0.3.1/README.md +0 -383
- brewdoc-0.3.1/RELEASING.md +0 -203
- brewdoc-0.3.1/llms.txt +0 -58
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.gitattributes +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/dependabot.yml +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/README.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/openssl/3.5.9/README-copyright.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/openssl/4.0.3/README-copyright.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/provenance.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/pyinstaller-6.22.3/COPYING.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/pyinstaller-6.22.3/bootloader/waflib/LICENSE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/pyinstaller-6.22.3/bootloader/zlib/LICENSE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/pyinstaller-6.22.3/doc/license.rst +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/pyinstaller-hooks-contrib-2026.8/LICENSE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-build-standalone-20260929/LICENSE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-build-standalone-20260929/LICENSE.bdb.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-build-standalone-20260929/LICENSE.bzip2.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-build-standalone-20260929/LICENSE.cpython.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-build-standalone-20260929/LICENSE.expat.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-build-standalone-20260929/LICENSE.libX11.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-build-standalone-20260929/LICENSE.libXau.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-build-standalone-20260929/LICENSE.libedit.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-build-standalone-20260929/LICENSE.libffi.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-build-standalone-20260929/LICENSE.liblzma.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-build-standalone-20260929/LICENSE.libuuid.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-build-standalone-20260929/LICENSE.libxcb.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-build-standalone-20260929/LICENSE.mpdecimal.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-build-standalone-20260929/LICENSE.ncurses.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-build-standalone-20260929/LICENSE.openssl-1.1.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-build-standalone-20260929/LICENSE.openssl-3.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-build-standalone-20260929/LICENSE.sqlite.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-build-standalone-20260929/LICENSE.tcl.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-build-standalone-20260929/LICENSE.tix.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-build-standalone-20260929/LICENSE.zlib.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-calamine-0.8.2/LICENSE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-calamine-0.8.2/source-identity/Cargo.lock +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/python-calamine-0.8.2/source-identity/Cargo.toml +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/quickjs-ng-0.17.0.1/LICENSE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/cutils.h.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/dtoa.c.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/dtoa.h.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/libregexp-opcode.h.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/libregexp.c.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/libregexp.h.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/libunicode.c.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/libunicode.h.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/list.h.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/quickjs-atom.h.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/quickjs-opcode.h.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/quickjs.c.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/quickjs-ng-0.17.0.1/engine-headers/upstream-quickjs/quickjs.h.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-adler2-2.0.1/LICENSE-0BSD +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-adler2-2.0.1/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-adler2-2.0.1/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-android_system_properties-0.1.5/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-android_system_properties-0.1.5/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-atoi_simd-0.18.1/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-atoi_simd-0.18.1/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-autocfg-1.5.1/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-autocfg-1.5.1/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-bumpalo-3.20.3/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-bumpalo-3.20.3/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-byteorder-1.5.0/COPYING +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-byteorder-1.5.0/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-calamine-0.36.0/LICENSE-MIT.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-cc-1.2.64/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-cc-1.2.64/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-cfg-if-1.0.4/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-cfg-if-1.0.4/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-chrono-0.4.45/LICENSE.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-codepage-0.1.2/COPYRIGHT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-codepage-0.1.2/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-codepage-0.1.2/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-core-foundation-sys-0.8.7/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-core-foundation-sys-0.8.7/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-crc32fast-1.5.0/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-crc32fast-1.5.0/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-debug_unsafe-0.1.4/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-debug_unsafe-0.1.4/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-encoding_rs-0.8.35/COPYRIGHT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-encoding_rs-0.8.35/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-encoding_rs-0.8.35/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-encoding_rs-0.8.35/LICENSE-WHATWG +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-equivalent-1.0.2/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-equivalent-1.0.2/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-fast-float2-0.2.3/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-fast-float2-0.2.3/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-find-msvc-tools-0.1.9/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-find-msvc-tools-0.1.9/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-flate2-1.1.9/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-flate2-1.1.9/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-futures-core-0.3.32/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-futures-core-0.3.32/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-futures-task-0.3.32/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-futures-task-0.3.32/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-futures-util-0.3.32/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-futures-util-0.3.32/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-hashbrown-0.17.1/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-hashbrown-0.17.1/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-heck-0.5.0/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-heck-0.5.0/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-iana-time-zone-0.1.65/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-iana-time-zone-0.1.65/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-iana-time-zone-haiku-0.1.2/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-iana-time-zone-haiku-0.1.2/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-indexmap-2.14.0/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-indexmap-2.14.0/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-js-sys-0.3.102/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-js-sys-0.3.102/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-libc-0.2.186/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-libc-0.2.186/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-log-0.4.32/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-log-0.4.32/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-memchr-2.8.2/COPYING +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-memchr-2.8.2/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-miniz_oxide-0.8.9/LICENSE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-miniz_oxide-0.8.9/LICENSE-APACHE.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-miniz_oxide-0.8.9/LICENSE-MIT.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-miniz_oxide-0.8.9/LICENSE-ZLIB.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-num-traits-0.2.19/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-num-traits-0.2.19/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-once_cell-1.21.4/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-once_cell-1.21.4/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-pin-project-lite-0.2.17/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-pin-project-lite-0.2.17/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-portable-atomic-1.13.1/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-portable-atomic-1.13.1/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-proc-macro2-1.0.106/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-proc-macro2-1.0.106/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-pyo3-0.29.0/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-pyo3-0.29.0/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-pyo3-0.29.0/pyo3-runtime/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-pyo3-0.29.0/pyo3-runtime/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-pyo3-build-config-0.29.0/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-pyo3-build-config-0.29.0/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-pyo3-ffi-0.29.0/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-pyo3-ffi-0.29.0/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-pyo3-file-0.16.0/Cargo.toml +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-pyo3-file-0.16.0/README.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-pyo3-file-0.16.0/declared-license/Apache-2.0.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-pyo3-macros-0.29.0/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-pyo3-macros-0.29.0/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-pyo3-macros-backend-0.29.0/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-pyo3-macros-backend-0.29.0/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-quick-xml-0.41.0/LICENSE-MIT.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-quote-1.0.45/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-quote-1.0.45/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-rustversion-1.0.22/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-rustversion-1.0.22/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-serde-1.0.228/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-serde-1.0.228/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-serde_core-1.0.228/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-serde_core-1.0.228/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-serde_derive-1.0.228/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-serde_derive-1.0.228/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-shlex-2.0.1/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-shlex-2.0.1/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-simd-adler32-0.3.9/LICENSE.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-slab-0.4.12/LICENSE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-syn-2.0.118/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-syn-2.0.118/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-target-lexicon-0.13.5/LICENSE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-typed-path-0.12.3/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-typed-path-0.12.3/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-unicode-ident-1.0.24/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-unicode-ident-1.0.24/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-unicode-ident-1.0.24/LICENSE-UNICODE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-wasm-bindgen-0.2.125/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-wasm-bindgen-0.2.125/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-wasm-bindgen-macro-0.2.125/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-wasm-bindgen-macro-0.2.125/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-wasm-bindgen-macro-support-0.2.125/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-wasm-bindgen-macro-support-0.2.125/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-wasm-bindgen-shared-0.2.125/LICENSE-APACHE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-wasm-bindgen-shared-0.2.125/LICENSE-MIT +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-windows-core-0.62.2/license-apache-2.0 +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-windows-core-0.62.2/license-mit +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-windows-implement-0.60.2/license-apache-2.0 +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-windows-implement-0.60.2/license-mit +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-windows-interface-0.59.3/license-apache-2.0 +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-windows-interface-0.59.3/license-mit +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-windows-link-0.2.1/license-apache-2.0 +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-windows-link-0.2.1/license-mit +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-windows-result-0.4.1/license-apache-2.0 +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-windows-result-0.4.1/license-mit +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-windows-strings-0.5.1/license-apache-2.0 +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-windows-strings-0.5.1/license-mit +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-zip-8.6.0/LICENSE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-zlib-rs-0.6.3/LICENSE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/rust-zopfli-0.8.3/COPYING +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/selectolax-0.4.13/LICENSE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/selectolax-0.4.13/lexbor/LICENSE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/standalone-licenses/selectolax-0.4.13/lexbor/NOTICE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/workflows/build_standalone.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/workflows/recover_v020.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.github/workflows/verify_install.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.gitignore +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/.python-version +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/LICENSE +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/CATALOG.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/LICENSES/apache-httpd-LICENSE.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/LICENSES/apache-httpd-NOTICE.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/LICENSES/calamine-MIT.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/METHODOLOGY.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/README.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/README.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/docx-libreoffice-negative-cell-margin-twips.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/docx-poi-deep-table-cell.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/docx-poi-table-alignment.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/docx-poi-three-col-head.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/docx-tika-testword-various.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/docx-tika-testword.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/epub-epubcheck-minimal.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/epub-standardebooks-herland.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/html-apache-httpd-allowmethods.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/html-mdn-document-structure.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/html-mdn-first-form-styled.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/html-mdn-items-sold-headers.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/html-mdn-planets-data.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/html-mdn-timetable-caption.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/ods-calamine-any-sheets.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/ods-calamine-date.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/ods-calamine-issues.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/ods-calamine-merged-cells.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/ods-calamine-special-cells.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/pdf-arxiv-2302.13971v1.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/pdf-arxiv-2305.18290v3.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/pdf-arxiv-2402.00838v4.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/pdf-eia-steo-table1.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/pdf-fbi-nics-background-checks-2015-11.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/pdf-federal-register-2020-17221.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/pdf-nist-sp800-145.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/pdf-us-patent-223898-scan.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/pdf-us-senate-expenditures.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/pptx-poi-table-test.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/pptx-poi-testppt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/pptx-python-pptx-test.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/pptx-tika-testppt-various2.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/xls-calamine-any-sheets.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/xls-calamine-date.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/xls-calamine-merge-cells.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/xls-calamine-xls-formula.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/xls-census-st-est00int-01.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/xlsb-calamine-date.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/xlsb-calamine-issue127.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/xlsb-calamine-issues.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/xlsm-calamine-issue221.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/xlsm-calamine-issue3.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/xlsm-calamine-vba.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/xlsx-calamine-any-sheets.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/xlsx-calamine-date.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/xlsx-calamine-inventory-table.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/xlsx-calamine-merge-cells.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/xlsx-calamine-temperature-table.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/annotations/xlsx-census-nst-est2024-pop.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/capture_results.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/compare_latency.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/corpus.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/README.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/ods-calamine-any-sheets.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/ods-calamine-date.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/ods-calamine-issues.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/ods-calamine-merged-cells.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/ods-calamine-special-cells.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/pdf-arxiv-2302.13971v1.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/pdf-arxiv-2305.18290v3.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/pdf-arxiv-2402.00838v4.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/pdf-eia-steo-table1.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/pdf-fbi-nics-background-checks-2015-11.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/pdf-federal-register-2020-17221.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/pdf-nist-sp800-145.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/pdf-us-patent-223898-scan.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/pdf-us-senate-expenditures.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/xls-calamine-any-sheets.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/xls-calamine-date.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/xls-calamine-merge-cells.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/xls-calamine-xls-formula.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/xls-census-st-est00int-01.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/xlsb-calamine-date.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/xlsb-calamine-issue127.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/xlsb-calamine-issues.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/xlsm-calamine-issue221.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/xlsm-calamine-issue3.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/xlsm-calamine-vba.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/xlsx-calamine-any-sheets.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/xlsx-calamine-date.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/xlsx-calamine-inventory-table.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/xlsx-calamine-merge-cells.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/xlsx-calamine-temperature-table.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/annotations/xlsx-census-nst-est2024-pop.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/context.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/corpus-v1.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/corpus.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/markdown-integrity.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/ods-calamine-any-sheets/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/ods-calamine-any-sheets/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/ods-calamine-any-sheets/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/ods-calamine-date/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/ods-calamine-date/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/ods-calamine-date/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/ods-calamine-issues/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/ods-calamine-issues/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/ods-calamine-issues/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/ods-calamine-merged-cells/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/ods-calamine-merged-cells/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/ods-calamine-merged-cells/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/ods-calamine-special-cells/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/ods-calamine-special-cells/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/ods-calamine-special-cells/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-arxiv-2302.13971v1/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-arxiv-2302.13971v1/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-arxiv-2302.13971v1/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-arxiv-2305.18290v3/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-arxiv-2305.18290v3/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-arxiv-2305.18290v3/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-arxiv-2402.00838v4/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-arxiv-2402.00838v4/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-arxiv-2402.00838v4/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-eia-steo-table1/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-eia-steo-table1/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-eia-steo-table1/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-fbi-nics-background-checks-2015-11/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-fbi-nics-background-checks-2015-11/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-fbi-nics-background-checks-2015-11/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-federal-register-2020-17221/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-federal-register-2020-17221/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-federal-register-2020-17221/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-nist-sp800-145/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-nist-sp800-145/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-nist-sp800-145/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-us-patent-223898-scan/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-us-patent-223898-scan/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-us-senate-expenditures/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-us-senate-expenditures/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/pdf-us-senate-expenditures/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xls-calamine-any-sheets/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xls-calamine-any-sheets/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xls-calamine-any-sheets/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xls-calamine-date/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xls-calamine-date/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xls-calamine-date/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xls-calamine-merge-cells/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xls-calamine-merge-cells/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xls-calamine-merge-cells/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xls-calamine-xls-formula/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xls-calamine-xls-formula/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xls-calamine-xls-formula/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xls-census-st-est00int-01/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xls-census-st-est00int-01/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xls-census-st-est00int-01/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsb-calamine-date/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsb-calamine-date/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsb-calamine-date/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsb-calamine-issue127/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsb-calamine-issue127/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsb-calamine-issue127/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsb-calamine-issues/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsb-calamine-issues/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsb-calamine-issues/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsm-calamine-issue221/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsm-calamine-issue221/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsm-calamine-issue221/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsm-calamine-issue3/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsm-calamine-issue3/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsm-calamine-issue3/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsm-calamine-vba/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsm-calamine-vba/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsm-calamine-vba/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsx-calamine-any-sheets/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsx-calamine-any-sheets/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsx-calamine-any-sheets/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsx-calamine-date/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsx-calamine-date/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsx-calamine-date/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsx-calamine-inventory-table/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsx-calamine-inventory-table/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsx-calamine-inventory-table/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsx-calamine-merge-cells/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsx-calamine-merge-cells/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsx-calamine-merge-cells/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsx-calamine-temperature-table/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsx-calamine-temperature-table/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsx-calamine-temperature-table/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsx-census-nst-est2024-pop/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsx-census-nst-est2024-pop/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-1/xlsx-census-nst-est2024-pop/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/ods-calamine-any-sheets/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/ods-calamine-any-sheets/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/ods-calamine-any-sheets/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/ods-calamine-date/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/ods-calamine-date/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/ods-calamine-date/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/ods-calamine-issues/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/ods-calamine-issues/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/ods-calamine-issues/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/ods-calamine-merged-cells/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/ods-calamine-merged-cells/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/ods-calamine-merged-cells/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/ods-calamine-special-cells/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/ods-calamine-special-cells/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/ods-calamine-special-cells/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-arxiv-2302.13971v1/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-arxiv-2302.13971v1/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-arxiv-2302.13971v1/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-arxiv-2305.18290v3/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-arxiv-2305.18290v3/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-arxiv-2305.18290v3/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-arxiv-2402.00838v4/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-arxiv-2402.00838v4/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-arxiv-2402.00838v4/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-eia-steo-table1/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-eia-steo-table1/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-eia-steo-table1/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-fbi-nics-background-checks-2015-11/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-fbi-nics-background-checks-2015-11/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-fbi-nics-background-checks-2015-11/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-federal-register-2020-17221/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-federal-register-2020-17221/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-federal-register-2020-17221/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-nist-sp800-145/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-nist-sp800-145/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-nist-sp800-145/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-us-patent-223898-scan/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-us-patent-223898-scan/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-us-senate-expenditures/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-us-senate-expenditures/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/pdf-us-senate-expenditures/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xls-calamine-any-sheets/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xls-calamine-any-sheets/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xls-calamine-any-sheets/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xls-calamine-date/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xls-calamine-date/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xls-calamine-date/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xls-calamine-merge-cells/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xls-calamine-merge-cells/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xls-calamine-merge-cells/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xls-calamine-xls-formula/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xls-calamine-xls-formula/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xls-calamine-xls-formula/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xls-census-st-est00int-01/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xls-census-st-est00int-01/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xls-census-st-est00int-01/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsb-calamine-date/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsb-calamine-date/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsb-calamine-date/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsb-calamine-issue127/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsb-calamine-issue127/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsb-calamine-issue127/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsb-calamine-issues/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsb-calamine-issues/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsb-calamine-issues/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsm-calamine-issue221/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsm-calamine-issue221/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsm-calamine-issue221/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsm-calamine-issue3/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsm-calamine-issue3/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsm-calamine-issue3/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsm-calamine-vba/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsm-calamine-vba/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsm-calamine-vba/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsx-calamine-any-sheets/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsx-calamine-any-sheets/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsx-calamine-any-sheets/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsx-calamine-date/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsx-calamine-date/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsx-calamine-date/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsx-calamine-inventory-table/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsx-calamine-inventory-table/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsx-calamine-inventory-table/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsx-calamine-merge-cells/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsx-calamine-merge-cells/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsx-calamine-merge-cells/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsx-calamine-temperature-table/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsx-calamine-temperature-table/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsx-calamine-temperature-table/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsx-census-nst-est2024-pop/artifacts/document.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsx-census-nst-est2024-pop/receipt.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/pass-2/xlsx-census-nst-est2024-pop/result.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/quality.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/results.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/ods-calamine-any-sheets.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/ods-calamine-date.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/ods-calamine-issues.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/ods-calamine-merged-cells.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/ods-calamine-special-cells.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/pdf-arxiv-2302.13971v1.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/pdf-arxiv-2305.18290v3.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/pdf-arxiv-2402.00838v4.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/pdf-eia-steo-table1.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/pdf-fbi-nics-background-checks-2015-11.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/pdf-federal-register-2020-17221.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/pdf-nist-sp800-145.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/pdf-us-patent-223898-scan.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/pdf-us-senate-expenditures.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/xls-calamine-any-sheets.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/xls-calamine-date.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/xls-calamine-merge-cells.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/xls-calamine-xls-formula.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/xls-census-st-est00int-01.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/xlsb-calamine-date.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/xlsb-calamine-issue127.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/xlsb-calamine-issues.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/xlsm-calamine-issue221.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/xlsm-calamine-issue3.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/xlsm-calamine-vba.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/xlsx-calamine-any-sheets.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/xlsx-calamine-date.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/xlsx-calamine-inventory-table.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/xlsx-calamine-merge-cells.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/xlsx-calamine-temperature-table.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/reviews/xlsx-census-nst-est2024-pop.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/selection.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/20260913-133006/validation.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/benchmarks/results/README.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/src/brewdoc/_standalone.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/src/brewdoc/_urljs/__init__.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/src/brewdoc/_urljs/glue.js +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/src/brewdoc/_urljs/native.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/src/brewdoc/_vendor/THIRD_PARTY_NOTICES.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/src/brewdoc/_vendor/linkedom-worker.js +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/src/brewdoc/common.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/src/brewdoc/docx.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/src/brewdoc/epub.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/src/brewdoc/htmljs.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/src/brewdoc/htmltext.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/src/brewdoc/htmlurl.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/src/brewdoc/output.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/src/brewdoc/pdf.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/src/brewdoc/pptx.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/src/brewdoc/selfcheck.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/src/brewdoc/service.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/src/brewdoc/sheets.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/SOURCES.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/csv/vega-global-temp.csv +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/csv/vega-iowa-electricity.csv +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/csv/vega-seattle-weather.csv +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/csv/vega-us-employment.csv +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/docx/libreoffice-negative-cell-margin-twips.docx +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/docx/poi-ThreeColHead.docx +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/docx/poi-deep-table-cell.docx +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/docx/poi-table-alignment.docx +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/docx/tika-testWORD.docx +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/docx/tika-testWORD_various.docx +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/eml/tika-testGroupWiseEml.eml +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/eml/tika-testRFC822_dkim.eml +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/eml/tika-testRFC822_multipart_attachments.eml +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/epub/epubcheck-minimal.epub +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/epub/standardebooks-herland.epub +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/html/apache-httpd-allowmethods.html +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/html/mdn-document-structure.html +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/html/mdn-first-form-styled.html +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/html/mdn-items-sold-headers.html +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/html/mdn-planets-data.html +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/html/mdn-timetable-caption.html +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/md/calamine-README.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/md/pdfplumber-README.md +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/odp/tika-testMasterFooter.odp +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/odp/tika-testODPMacro.odp +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/ods/calamine-any_sheets.ods +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/ods/calamine-date.ods +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/ods/calamine-issues.ods +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/ods/calamine-merged_cells.ods +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/ods/calamine-special_cells.ods +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/odt/tika-testODFwithOOo3.odt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/odt/tika-testODTStyles2.odt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/odt/tika-testOpenOffice2.odt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/pdf/arxiv-2302.13971v1.pdf +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/pdf/arxiv-2305.18290v3.pdf +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/pdf/arxiv-2402.00838v4.pdf +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/pdf/eia-steo-table1.pdf +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/pdf/fbi-nics-background-checks-2015-11.pdf +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/pdf/federal-register-2020-17221.pdf +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/pdf/nist-sp800-145.pdf +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/pdf/us-patent-223898-scan.pdf +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/pdf/us-senate-expenditures.pdf +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/pptx/poi-table_test.pptx +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/pptx/poi-testPPT.pptx +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/pptx/python-pptx-test.pptx +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/pptx/tika-testPPT_various2.pptx +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/receipts.json +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/tsv/miller-abixy.tsv +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/tsv/vega-unemployment.tsv +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/txt/nasa-giss-global-temperature-index.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/txt/noaa-ghcn-daily-readme.txt +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/xls/calamine-any_sheets.xls +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/xls/calamine-date.xls +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/xls/calamine-merge_cells.xls +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/xls/calamine-xls_formula.xls +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/xls/census-st-est00int-01.xls +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/xlsb/calamine-date.xlsb +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/xlsb/calamine-issue127.xlsb +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/xlsb/calamine-issues.xlsb +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/xlsm/calamine-issue221.xlsm +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/xlsm/calamine-issue3.xlsm +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/xlsm/calamine-vba.xlsm +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/xlsx/calamine-any_sheets.xlsx +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/xlsx/calamine-date.xlsx +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/xlsx/calamine-inventory-table.xlsx +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/xlsx/calamine-merge_cells.xlsx +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/xlsx/calamine-temperature-table.xlsx +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/fixtures/xlsx/census-NST-EST2024-POP.xlsx +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_benchmark_metadata.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_capture_results.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_compare_latency.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_contract.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_documents.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_epub.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_fixtures.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_html.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_html_js.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_html_js_a10.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_html_js_bootstrap.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_html_js_content.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_html_js_inner_text.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_html_js_promises.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_html_js_viewport.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_html_native.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_html_search_post.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_html_search_post_js.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_html_snapshot_guard.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_html_snapshot_ownership.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_html_timeout.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_html_timeout_guards.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_html_url.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_html_url_cli.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_install_smoke.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_install_verification.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_output.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_pdf_regressions.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_presentations.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_release_recovery.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_spreadsheets.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_standalone.py +0 -0
- {brewdoc-0.3.1 → brewdoc-0.3.2}/tests/test_standalone_build.py +0 -0
|
@@ -40,7 +40,6 @@
|
|
|
40
40
|
"name": "brewdoc",
|
|
41
41
|
"packages": {
|
|
42
42
|
"linux-x64": "brewdoc-linux-x64-glibc",
|
|
43
|
-
"windows-x64": "brewdoc-win32-x64",
|
|
44
43
|
"macos-arm64": "brewdoc-darwin-arm64"
|
|
45
44
|
},
|
|
46
45
|
"node": "24.21.0",
|
|
@@ -52,11 +51,8 @@
|
|
|
52
51
|
"linux": "Archive SHA-256 checksums; no detached publisher signature"
|
|
53
52
|
},
|
|
54
53
|
"release_features": [
|
|
55
|
-
"
|
|
56
|
-
"npm and
|
|
57
|
-
"Offline EPUB 2/3 conversion in declared spine order with Unicode metadata and navigation",
|
|
58
|
-
"Explicit URL acquisition and optional isolated JavaScript capture on admitted platforms",
|
|
59
|
-
"PDF, DOCX, PPTX, workbook and static HTML conversion with deterministic receipts"
|
|
54
|
+
"Dedicated installation guide and concise CLI/API documentation",
|
|
55
|
+
"npm/npx packaging for Linux x64/glibc and macOS ARM64; Windows via GitHub native or Python"
|
|
60
56
|
],
|
|
61
57
|
"releases": {
|
|
62
58
|
"0.2.0": {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
-----BEGIN PUBLIC KEY-----
|
|
2
|
+
MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAy74Md75tburqWJtMECMs
|
|
3
|
+
/5OqcyxQNq1rKJtz17HdfE6GJCj/eczuv4HXpf5muq0+hRnjBNxVZ90yiYr7mRdM
|
|
4
|
+
WF+R594Pv5/lR19bH5+PtEka/skYK3LcsVHO2lrQHG3tWAWiddp+k0H5umwkQ7tN
|
|
5
|
+
CoXM9A088t/uZ8EpbRf6GpDKe4tnFLBMU2cPYTnD1x9yXOesXov89TYRUEP7aqhb
|
|
6
|
+
qfWZpxdLXBy8I3K3d5hIlrbuJQ5Mn36K9BtmXHMj3gjJW6tlDJR0Zd2GN13yvwZC
|
|
7
|
+
9YQ7aDB3oiMP6RdCF3HO8zILP5MnvhIrALHUvjrNLBbGTVnmzXsYyAjoOaW9GOng
|
|
8
|
+
KsYmdr/ypjHHmt8iEndNAKXw0XMq+I+EQ8yAxqKe1mMvjAya1Aaq/np0fOiYwm+l
|
|
9
|
+
UwpybGajeOuF5OhKoMJY97WwSzxOt8MORjjYHRXmgYbWNDQwoBexu1pA+OV54Ygt
|
|
10
|
+
5/z+YXjQT/eMh8NCJljUwdABYJKUFI0LTo1wInZFjV7vAgMBAAE=
|
|
11
|
+
-----END PUBLIC KEY-----
|
|
@@ -31,11 +31,18 @@ ROOT = Path(__file__).resolve().parents[2]
|
|
|
31
31
|
REGISTRY = "https://registry.npmjs.org"
|
|
32
32
|
NODE_VERSION = "24.21.0"
|
|
33
33
|
NPM_VERSION = "12.2.0"
|
|
34
|
-
PACKAGES = {"linux-x64": "brewdoc-linux-x64-glibc", "
|
|
35
|
-
"macos-arm64": "brewdoc-darwin-arm64"}
|
|
34
|
+
PACKAGES = {"linux-x64": "brewdoc-linux-x64-glibc", "macos-arm64": "brewdoc-darwin-arm64"}
|
|
36
35
|
TARGETS = {"linux-x64": {"os": "linux", "cpu": "x64", "libc": "glibc", "executable": "binary/brewdoc"},
|
|
37
|
-
"windows-x64": {"os": "win32", "cpu": "x64", "executable": "binary/brewdoc.exe"},
|
|
38
36
|
"macos-arm64": {"os": "darwin", "cpu": "arm64", "executable": "binary/brewdoc"}}
|
|
37
|
+
PUBLISH_CAUSES = {"E400": "bad-request", "E401": "authentication-rejected", "E403": "registry-forbidden",
|
|
38
|
+
"E404": "registry-not-found", "E409": "version-conflict", "E429": "rate-limit",
|
|
39
|
+
"E413": "payload-too-large", "E422": "registry-unprocessable",
|
|
40
|
+
"EOTP": "one-time-password-required", "ENEEDAUTH": "authentication-required",
|
|
41
|
+
"EPUBLISHCONFLICT": "version-conflict", "EUSAGE": "usage-error",
|
|
42
|
+
"ECONNRESET": "transport-error", "ETIMEDOUT": "transport-error",
|
|
43
|
+
"ENOTFOUND": "transport-error", "EAI_AGAIN": "transport-error",
|
|
44
|
+
"E500": "registry-unavailable", "E502": "registry-unavailable",
|
|
45
|
+
"E503": "registry-unavailable", "E504": "registry-unavailable"}
|
|
39
46
|
|
|
40
47
|
|
|
41
48
|
def digest(payload: bytes) -> str:
|
|
@@ -94,8 +101,10 @@ def release_version() -> str:
|
|
|
94
101
|
|
|
95
102
|
def package_metadata(version: str, target: str | None = None) -> dict:
|
|
96
103
|
"""Generate exact dependency and platform metadata without lifecycle scripts."""
|
|
104
|
+
if target is not None and target not in PACKAGES:
|
|
105
|
+
raise ValueError(f"Unsupported npm target: {target}")
|
|
97
106
|
metadata = {"name": PACKAGES[target] if target else "brewdoc", "version": version,
|
|
98
|
-
"description": "
|
|
107
|
+
"description": "Fast, deterministic document-to-Markdown conversion for agent systems. Easy to install. No model weights, OCR or external services.",
|
|
99
108
|
"license": "MIT", "repository": {"type": "git", "url": "git+https://github.com/kochetkov-ma/brewdoc.git"},
|
|
100
109
|
"homepage": "https://github.com/kochetkov-ma/brewdoc#readme",
|
|
101
110
|
"publishConfig": {"access": "public", "registry": REGISTRY}}
|
|
@@ -230,13 +239,115 @@ def npm_command(arguments: list[str], npx: bool = False) -> list[str]:
|
|
|
230
239
|
return [str(executable), str(npm), *arguments]
|
|
231
240
|
|
|
232
241
|
|
|
242
|
+
def publish_error(payload: bytes) -> dict | None:
|
|
243
|
+
"""Admit one bounded npm error object without exposing its contents."""
|
|
244
|
+
if len(payload) > 64 * 1024:
|
|
245
|
+
return None
|
|
246
|
+
|
|
247
|
+
def unique_object(pairs):
|
|
248
|
+
"""Reject conflicting JSON keys before classification."""
|
|
249
|
+
if len({name for name, _ in pairs}) != len(pairs):
|
|
250
|
+
raise ValueError("Duplicate npm error field")
|
|
251
|
+
return dict(pairs)
|
|
252
|
+
|
|
253
|
+
try:
|
|
254
|
+
value = json.loads(payload.decode("utf-8"), object_pairs_hook=unique_object)
|
|
255
|
+
except (ValueError, UnicodeError, RecursionError):
|
|
256
|
+
return None
|
|
257
|
+
error = value.get("error") if isinstance(value, dict) else None
|
|
258
|
+
if (not isinstance(error, dict) or not isinstance(error.get("code"), str)
|
|
259
|
+
or any(not isinstance(error.get(field, ""), str) for field in ("summary", "detail"))):
|
|
260
|
+
return None
|
|
261
|
+
return error
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
def publish_failure(payload: bytes) -> tuple[str, str]:
|
|
265
|
+
"""Return finite diagnostics without exposing authenticated npm output."""
|
|
266
|
+
unknown = ("UNKNOWN", "unclassified")
|
|
267
|
+
error = publish_error(payload)
|
|
268
|
+
if error is None:
|
|
269
|
+
return unknown
|
|
270
|
+
code = error["code"] if error["code"] in PUBLISH_CAUSES else "UNKNOWN"
|
|
271
|
+
cause = PUBLISH_CAUSES.get(code, "unclassified")
|
|
272
|
+
fields = ("summary",) if code == "E403" else ("summary", "detail")
|
|
273
|
+
message = " ".join(error.get(field, "") for field in fields).lower()
|
|
274
|
+
matches = {label for label, phrases in (
|
|
275
|
+
("provenance-error", ("provenance generation", "generate provenance", "invalid provenance", "provenance statement")),
|
|
276
|
+
("one-time-password-required", ("one-time password", "two-factor authentication")),
|
|
277
|
+
("version-conflict", ("cannot publish over", "previously published versions")),
|
|
278
|
+
) if any(phrase in message for phrase in phrases)}
|
|
279
|
+
if code == "E403":
|
|
280
|
+
matches.update(label for label, phrases in (
|
|
281
|
+
("package-name-refused", ("package name too similar", "package name is reserved")),
|
|
282
|
+
("email-verification-required", ("verify your email", "email address must be verified")),
|
|
283
|
+
("publish-permission-refused", ("do not have permission to publish", "not authorized to publish",
|
|
284
|
+
"you may not perform that action with these credentials")),
|
|
285
|
+
("security-policy-refused", ("blocked by security policy", "blocked by a security policy")),
|
|
286
|
+
("ip-restriction-mentioned", ("not allowed from your ip address", "ip address is not allowed")),
|
|
287
|
+
) if any(phrase in message for phrase in phrases))
|
|
288
|
+
if len(matches) > 1:
|
|
289
|
+
return unknown
|
|
290
|
+
return code, next(iter(matches)) if matches else cause
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
def store_publication_diagnostic(payload: bytes, record: dict | None, environment: dict) -> None:
|
|
294
|
+
"""Keep a bounded error summary only as context-bound public-key ciphertext."""
|
|
295
|
+
output = environment.get("BREWDOC_NPM_DIAGNOSTIC_DIR")
|
|
296
|
+
if not output or not isinstance(record, dict):
|
|
297
|
+
return
|
|
298
|
+
try:
|
|
299
|
+
error = publish_error(payload)
|
|
300
|
+
metadata = record["metadata"]
|
|
301
|
+
package = metadata["name"]
|
|
302
|
+
if (error is None or package not in {*PACKAGES.values(), "brewdoc"}
|
|
303
|
+
or not error.get("summary") or len(error["summary"].encode("utf-8")) > 4096):
|
|
304
|
+
return
|
|
305
|
+
run_id, attempt = environment.get("GITHUB_RUN_ID", ""), environment.get("GITHUB_RUN_ATTEMPT", "")
|
|
306
|
+
if (not isinstance(run_id, str) or not run_id.isdecimal() or int(run_id) <= 0
|
|
307
|
+
or not isinstance(attempt, str) or not attempt.isdecimal() or int(attempt) <= 0):
|
|
308
|
+
return
|
|
309
|
+
code, cause = publish_failure(payload)
|
|
310
|
+
context = {"schema": 1, "package": package, "version": metadata["version"],
|
|
311
|
+
"tarball_sha256": record["sha256"], "source_sha": record["source_sha"],
|
|
312
|
+
"controller_sha": environment.get("GITHUB_SHA", ""), "run_id": int(run_id),
|
|
313
|
+
"run_attempt": int(attempt), "code": code, "cause": cause, "summary": error["summary"]}
|
|
314
|
+
plaintext = json.dumps(context, ensure_ascii=False).encode("utf-8")
|
|
315
|
+
node = shutil.which("node")
|
|
316
|
+
if not node or len(plaintext) > 8192:
|
|
317
|
+
return
|
|
318
|
+
clean = {key: environment[key] for key in ("PATH", "SystemRoot", "SYSTEMROOT") if key in environment}
|
|
319
|
+
result = subprocess.run([node, str(ROOT / ".github/workflows/npm_diagnostic.cjs")],
|
|
320
|
+
input=plaintext, capture_output=True, timeout=10, env=clean)
|
|
321
|
+
if result.returncode or len(result.stdout) > 16 * 1024:
|
|
322
|
+
return
|
|
323
|
+
envelope = json.loads(result.stdout)
|
|
324
|
+
fields = {"schema", "algorithm", "key_sha256", "encrypted_key", "iv", "tag", "ciphertext"}
|
|
325
|
+
if (not isinstance(envelope, dict) or set(envelope) != fields or type(envelope["schema"]) is not int
|
|
326
|
+
or envelope["schema"] != 1 or envelope["algorithm"] != "RSA-OAEP-SHA256+A256GCM"
|
|
327
|
+
or envelope["key_sha256"] != digest((ROOT / ".github/npm-diagnostic-public.pem").read_bytes())):
|
|
328
|
+
return
|
|
329
|
+
lengths = {"encrypted_key": 384, "iv": 12, "tag": 16, "ciphertext": len(plaintext)}
|
|
330
|
+
if any(len(base64.b64decode(envelope[name], validate=True)) != size for name, size in lengths.items()):
|
|
331
|
+
return
|
|
332
|
+
directory = Path(output)
|
|
333
|
+
if directory.is_symlink():
|
|
334
|
+
return
|
|
335
|
+
directory.mkdir(parents=True, exist_ok=True)
|
|
336
|
+
with (directory / f"{package}.json").open("x", encoding="utf-8") as stream:
|
|
337
|
+
stream.write(json.dumps(envelope, sort_keys=True) + "\n")
|
|
338
|
+
except (OSError, ValueError, TypeError, KeyError, UnicodeError, RecursionError, subprocess.SubprocessError):
|
|
339
|
+
return
|
|
340
|
+
|
|
341
|
+
|
|
233
342
|
def run_npm(arguments: list[str], cwd: Path, environment: dict, timeout: int = 180,
|
|
234
|
-
npx: bool = False) -> subprocess.CompletedProcess:
|
|
343
|
+
npx: bool = False, publication: dict | None = None) -> subprocess.CompletedProcess:
|
|
235
344
|
"""Bound npm tool calls and keep failure output separate from receipt stdout."""
|
|
236
345
|
result = subprocess.run(npm_command(arguments, npx), cwd=cwd, env=environment, capture_output=True, timeout=timeout)
|
|
237
346
|
if result.returncode:
|
|
238
347
|
if arguments[0] == "publish":
|
|
239
|
-
|
|
348
|
+
code, cause = publish_failure(result.stdout)
|
|
349
|
+
store_publication_diagnostic(result.stdout, publication, environment)
|
|
350
|
+
raise RuntimeError(f"npm publish failed ({result.returncode}); code={code}; cause={cause}; authenticated output was suppressed")
|
|
240
351
|
raise RuntimeError(f"npm command failed ({result.returncode}): {arguments[0]}\n"
|
|
241
352
|
+ (result.stdout + result.stderr).decode("utf-8", errors="replace"))
|
|
242
353
|
return result
|
|
@@ -365,8 +476,8 @@ def aggregate(input_dir: Path, output: Path) -> None:
|
|
|
365
476
|
"""Admit the complete platform set before creating the main CLI package."""
|
|
366
477
|
paths = sorted(input_dir.rglob("platform-record.json"))
|
|
367
478
|
records = {read_json(path)["target"]: (path, read_json(path)) for path in paths}
|
|
368
|
-
if len(paths) !=
|
|
369
|
-
raise ValueError("npm aggregation requires exactly
|
|
479
|
+
if len(paths) != 2 or set(records) != set(PACKAGES):
|
|
480
|
+
raise ValueError("npm aggregation requires exactly two platform records")
|
|
370
481
|
version = release_version()
|
|
371
482
|
identities = {(record["version"], record["source_sha"]) for _, record in records.values()}
|
|
372
483
|
if len(identities) != 1 or next(iter(identities))[0] != version:
|
|
@@ -398,7 +509,7 @@ def aggregate(input_dir: Path, output: Path) -> None:
|
|
|
398
509
|
|
|
399
510
|
|
|
400
511
|
def verify_release(input_dir: Path) -> dict:
|
|
401
|
-
"""Admit exactly
|
|
512
|
+
"""Admit exactly three npm package archives with one version and source identity."""
|
|
402
513
|
manifest = read_json(input_dir / "npm-manifest.json")
|
|
403
514
|
version = manifest["version"]
|
|
404
515
|
expected_names = [*PACKAGES.values(), "brewdoc"]
|
|
@@ -453,8 +564,8 @@ def publish(input_dir: Path) -> None:
|
|
|
453
564
|
existing = [public_record(record) for record in manifest["packages"]]
|
|
454
565
|
for record, admitted in zip(manifest["packages"], existing, strict=True):
|
|
455
566
|
if not admitted:
|
|
456
|
-
run_npm(["publish", str((input_dir / record["filename"]).resolve()), "--ignore-scripts", "--access", "public", "--provenance"],
|
|
457
|
-
input_dir, os.environ.copy())
|
|
567
|
+
run_npm(["publish", str((input_dir / record["filename"]).resolve()), "--ignore-scripts", "--access", "public", "--provenance", "--json"],
|
|
568
|
+
input_dir, os.environ.copy(), publication=record)
|
|
458
569
|
if not public_record(record):
|
|
459
570
|
raise ValueError("Published npm version is absent from the registry")
|
|
460
571
|
|
|
@@ -472,7 +583,7 @@ def check_public(input_dir: Path, output: Path | None = None) -> None:
|
|
|
472
583
|
|
|
473
584
|
|
|
474
585
|
def local_registry(input_dir: Path, manifest: dict) -> ThreadingHTTPServer:
|
|
475
|
-
"""Serve only the
|
|
586
|
+
"""Serve only the three admitted packages for real offline npm resolution."""
|
|
476
587
|
records = {record["metadata"]["name"]: record for record in manifest["packages"]}
|
|
477
588
|
|
|
478
589
|
class Handler(BaseHTTPRequestHandler):
|
|
@@ -741,14 +852,15 @@ def cancellation_probe(launcher: Path, work: Path, environment: dict, javascript
|
|
|
741
852
|
def probe(input_dir: Path, target: str, mode: str, output: Path, smoke: bool = False,
|
|
742
853
|
public_evidence: Path | None = None) -> None:
|
|
743
854
|
"""Prove npm global/local and actual npx consumers outside the checkout."""
|
|
855
|
+
if target not in PACKAGES:
|
|
856
|
+
raise ValueError(f"Unsupported npm target: {target}")
|
|
744
857
|
manifest = verify_release(input_dir)
|
|
745
858
|
scope = "smoke" if smoke else "full"
|
|
746
859
|
if verification_scope(manifest) != scope:
|
|
747
860
|
raise ValueError("npm consumer verification scope differs")
|
|
748
861
|
selected = next(record for record in manifest["packages"] if record.get("target") == target)
|
|
749
862
|
system, machine = platform.system(), platform.machine().lower()
|
|
750
|
-
expected = {"linux-x64": ("Linux", "x86_64"), "
|
|
751
|
-
"macos-arm64": ("Darwin", "arm64")}
|
|
863
|
+
expected = {"linux-x64": ("Linux", "x86_64"), "macos-arm64": ("Darwin", "arm64")}
|
|
752
864
|
if (system, machine) != expected[target]:
|
|
753
865
|
raise ValueError("npm consumer must run on its matching native target")
|
|
754
866
|
if mode == "public":
|
|
@@ -75,14 +75,17 @@ jobs:
|
|
|
75
75
|
- name: Verify native CLI and accepted outputs outside the checkout
|
|
76
76
|
run: uv run --no-project --python 3.12.14 python .github/workflows/build_standalone.py verify --checkout "${{ github.workspace }}" --bundle "${{ runner.temp }}/ci-dist" --output "${{ runner.temp }}/ci-native-${{ matrix.target }}" --target "${{ matrix.target }}" --smoke
|
|
77
77
|
- uses: actions/setup-node@v7.1.0
|
|
78
|
+
if: matrix.target != 'windows-x64'
|
|
78
79
|
with:
|
|
79
80
|
node-version: "24.21.0"
|
|
80
81
|
package-manager-cache: false
|
|
81
82
|
- uses: actions/cache@v6.1.0
|
|
83
|
+
if: matrix.target != 'windows-x64'
|
|
82
84
|
with:
|
|
83
85
|
path: ${{ runner.temp }}/npm-downloads/_cacache
|
|
84
86
|
key: ${{ runner.os }}-${{ runner.arch }}-node24.21.0-npm12.2.0-${{ hashFiles('uv.lock', 'npm/**', '.github/workflows/build_npm.py') }}
|
|
85
87
|
- name: Install pinned npm beside the selected Node runtime
|
|
88
|
+
if: matrix.target != 'windows-x64'
|
|
86
89
|
shell: bash
|
|
87
90
|
run: |
|
|
88
91
|
BREWDOC_NPM_PREFIX=$(node -p 'const path = require("node:path"); path.resolve(path.dirname(process.execPath), process.platform === "win32" ? "." : "..")')
|
|
@@ -90,6 +93,7 @@ jobs:
|
|
|
90
93
|
env:
|
|
91
94
|
NPM_CONFIG_CACHE: ${{ runner.temp }}/npm-downloads
|
|
92
95
|
- name: Pack the verified platform before native file attributes leave this runner
|
|
96
|
+
if: matrix.target != 'windows-x64'
|
|
93
97
|
run: uv run --no-project --python 3.12.14 python .github/workflows/build_npm.py pack --native-dir "${{ runner.temp }}/ci-native-${{ matrix.target }}" --output "${{ runner.temp }}/ci-npm-${{ matrix.target }}"
|
|
94
98
|
- name: Preserve native bundle and runtime evidence
|
|
95
99
|
if: always()
|
|
@@ -105,7 +109,7 @@ jobs:
|
|
|
105
109
|
if-no-files-found: warn
|
|
106
110
|
retention-days: 7
|
|
107
111
|
- name: Preserve sealed npm platform tarball and admission record
|
|
108
|
-
if: always()
|
|
112
|
+
if: always() && matrix.target != 'windows-x64'
|
|
109
113
|
uses: actions/upload-artifact@v7.0.2
|
|
110
114
|
with:
|
|
111
115
|
overwrite: true
|
|
@@ -168,7 +172,7 @@ jobs:
|
|
|
168
172
|
digest-mismatch: error
|
|
169
173
|
- name: Assemble the main package only after every native platform passes
|
|
170
174
|
run: uv run --no-project --python 3.12.14 python .github/workflows/build_npm.py aggregate --input "${{ runner.temp }}/ci-npm-targets" --output "${{ runner.temp }}/ci-npm-release"
|
|
171
|
-
- name: Admit the complete
|
|
175
|
+
- name: Admit the complete three-package npm set
|
|
172
176
|
run: uv run --no-project --python 3.12.14 python .github/workflows/build_npm.py verify --input "${{ runner.temp }}/ci-npm-release"
|
|
173
177
|
- uses: actions/upload-artifact@v7.0.2
|
|
174
178
|
with:
|
|
@@ -195,8 +199,6 @@ jobs:
|
|
|
195
199
|
os: ubuntu-22.04
|
|
196
200
|
- target: macos-arm64
|
|
197
201
|
os: macos-15
|
|
198
|
-
- target: windows-x64
|
|
199
|
-
os: windows-2025
|
|
200
202
|
steps:
|
|
201
203
|
- uses: actions/checkout@v7.0.1
|
|
202
204
|
with:
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const { createCipheriv, createHash, publicEncrypt, randomBytes, constants } = require('node:crypto');
|
|
4
|
+
const { readFileSync } = require('node:fs');
|
|
5
|
+
const { join } = require('node:path');
|
|
6
|
+
|
|
7
|
+
/** Encrypt one bounded publication summary without producing plaintext output. */
|
|
8
|
+
function encrypt(payload) {
|
|
9
|
+
if (payload.length > 8192) throw new Error('Invalid diagnostic');
|
|
10
|
+
const value = JSON.parse(new TextDecoder('utf-8', { fatal: true }).decode(payload));
|
|
11
|
+
const fields = ['schema', 'package', 'version', 'tarball_sha256', 'source_sha', 'controller_sha',
|
|
12
|
+
'run_id', 'run_attempt', 'code', 'cause', 'summary'];
|
|
13
|
+
if (!value || Array.isArray(value) || Object.keys(value).length !== fields.length
|
|
14
|
+
|| fields.some(field => !Object.hasOwn(value, field)) || value.schema !== 1
|
|
15
|
+
|| !['brewdoc-linux-x64-glibc', 'brewdoc-darwin-arm64', 'brewdoc'].includes(value.package)
|
|
16
|
+
|| typeof value.version !== 'string' || !/^\d+\.\d+\.\d+$/.test(value.version)
|
|
17
|
+
|| typeof value.tarball_sha256 !== 'string' || !/^[a-f0-9]{64}$/.test(value.tarball_sha256)
|
|
18
|
+
|| ['source_sha', 'controller_sha'].some(field => typeof value[field] !== 'string' || !/^[a-f0-9]{40}$/.test(value[field]))
|
|
19
|
+
|| ['run_id', 'run_attempt'].some(field => !Number.isSafeInteger(value[field]) || value[field] <= 0)
|
|
20
|
+
|| ['code', 'cause'].some(field => typeof value[field] !== 'string' || value[field].length > 64)
|
|
21
|
+
|| typeof value.summary !== 'string' || !value.summary || Buffer.byteLength(value.summary) > 4096) {
|
|
22
|
+
throw new Error('Invalid diagnostic');
|
|
23
|
+
}
|
|
24
|
+
const publicKey = readFileSync(join(__dirname, '..', 'npm-diagnostic-public.pem'));
|
|
25
|
+
const key = randomBytes(32);
|
|
26
|
+
const iv = randomBytes(12);
|
|
27
|
+
const cipher = createCipheriv('aes-256-gcm', key, iv, { authTagLength: 16 });
|
|
28
|
+
cipher.setAAD(Buffer.from('brewdoc-npm-diagnostic-v1'));
|
|
29
|
+
const ciphertext = Buffer.concat([cipher.update(payload), cipher.final()]);
|
|
30
|
+
return { schema: 1, algorithm: 'RSA-OAEP-SHA256+A256GCM',
|
|
31
|
+
key_sha256: createHash('sha256').update(publicKey).digest('hex'),
|
|
32
|
+
encrypted_key: publicEncrypt({ key: publicKey, padding: constants.RSA_PKCS1_OAEP_PADDING,
|
|
33
|
+
oaepHash: 'sha256' }, key).toString('base64'),
|
|
34
|
+
iv: iv.toString('base64'), tag: cipher.getAuthTag().toString('base64'), ciphertext: ciphertext.toString('base64') };
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** Bound stdin before encrypting with the fixed tracked public key. */
|
|
38
|
+
async function main() {
|
|
39
|
+
const chunks = [];
|
|
40
|
+
let bytes = 0;
|
|
41
|
+
for await (const chunk of process.stdin) {
|
|
42
|
+
bytes += chunk.length;
|
|
43
|
+
if (bytes > 8192) throw new Error('Invalid diagnostic');
|
|
44
|
+
chunks.push(chunk);
|
|
45
|
+
}
|
|
46
|
+
process.stdout.write(JSON.stringify(encrypt(Buffer.concat(chunks))) + '\n');
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
module.exports = { encrypt };
|
|
50
|
+
if (require.main === module) main().catch(() => { process.exitCode = 1; });
|
|
@@ -38,6 +38,7 @@ jobs:
|
|
|
38
38
|
GH_TOKEN: ${{ github.token }}
|
|
39
39
|
BREWDOC_RELEASE_TAG: ${{ github.ref_name }}
|
|
40
40
|
BREWDOC_SOURCE_SHA: ${{ github.sha }}
|
|
41
|
+
BREWDOC_PACKAGE_CHECKOUT: ${{ github.workspace }}
|
|
41
42
|
steps:
|
|
42
43
|
- uses: actions/checkout@v7.0.1
|
|
43
44
|
with:
|
|
@@ -48,12 +49,12 @@ jobs:
|
|
|
48
49
|
python-version: "3.12.14"
|
|
49
50
|
cache-suffix: ${{ runner.os }}-${{ runner.arch }}-uv0.12.21-py3.12.14-${{ hashFiles('uv.lock') }}
|
|
50
51
|
- name: Admit and download one exact-source successful main CI producer
|
|
51
|
-
run: uv run --no-project --python 3.12.14 python .github/workflows/release_assets.py reuse-ci --checkout "$
|
|
52
|
+
run: uv run --no-project --python 3.12.14 python .github/workflows/release_assets.py reuse-ci --checkout "$BREWDOC_PACKAGE_CHECKOUT" --tag "$BREWDOC_RELEASE_TAG" --source-sha "$BREWDOC_SOURCE_SHA" --output "${{ runner.temp }}/producer"
|
|
52
53
|
- name: Generate staged instructions from unchanged admitted bytes
|
|
53
|
-
run: uv run --no-project --python 3.12.14 python .github/workflows/release_guide.py render --checkout "$
|
|
54
|
+
run: uv run --no-project --python 3.12.14 python .github/workflows/release_guide.py render --checkout "$BREWDOC_PACKAGE_CHECKOUT" --phase staged --native-manifest "${{ runner.temp }}/producer/ci-native-assets/binaries.json" --npm-manifest "${{ runner.temp }}/producer/ci-npm-release/npm-manifest.json" --output "${{ runner.temp }}/staged-body.md"
|
|
54
55
|
- name: Seal the release inventory and producer provenance
|
|
55
56
|
id: identity
|
|
56
|
-
run: uv run --no-project --python 3.12.14 python .github/workflows/release_assets.py prepare --checkout "$
|
|
57
|
+
run: uv run --no-project --python 3.12.14 python .github/workflows/release_assets.py prepare --checkout "$BREWDOC_PACKAGE_CHECKOUT" --bundle "${{ runner.temp }}/producer/ci-dist" --native "${{ runner.temp }}/producer/ci-native-assets" --npm "${{ runner.temp }}/producer/ci-npm-release" --producer "${{ runner.temp }}/producer/producer.json" --body "${{ runner.temp }}/staged-body.md" --output "${{ runner.temp }}/release-assets" --github-output "$GITHUB_OUTPUT"
|
|
57
58
|
- uses: actions/upload-artifact@v7.0.2
|
|
58
59
|
with:
|
|
59
60
|
name: dist
|
|
@@ -92,8 +93,8 @@ jobs:
|
|
|
92
93
|
- uses: pypa/gh-action-pypi-publish@v1.14.2
|
|
93
94
|
|
|
94
95
|
npm-publish:
|
|
95
|
-
if: github.event_name == 'push'
|
|
96
|
-
needs:
|
|
96
|
+
if: "!cancelled() && github.event_name == 'push' && needs.distribution-admit.result == 'success' && needs.pypi-consumer.result == 'success'"
|
|
97
|
+
needs: [distribution-admit, pypi-consumer]
|
|
97
98
|
runs-on: ubuntu-22.04
|
|
98
99
|
timeout-minutes: 15
|
|
99
100
|
permissions:
|
|
@@ -130,10 +131,21 @@ jobs:
|
|
|
130
131
|
path: ${{ runner.temp }}/release-npm
|
|
131
132
|
digest-mismatch: error
|
|
132
133
|
- name: Publish matching platform packages before the main package
|
|
134
|
+
id: npm_publish
|
|
133
135
|
env:
|
|
134
136
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
137
|
+
BREWDOC_NPM_DIAGNOSTIC_DIR: ${{ runner.temp }}/npm-diagnostics
|
|
135
138
|
run: uv run --no-project --python 3.12.14 python .github/workflows/build_npm.py publish --input "${{ runner.temp }}/release-npm"
|
|
136
|
-
- name:
|
|
139
|
+
- name: Preserve encrypted publication diagnostics after a failed publish
|
|
140
|
+
if: failure() && steps.npm_publish.outcome == 'failure'
|
|
141
|
+
uses: actions/upload-artifact@v7.0.2
|
|
142
|
+
with:
|
|
143
|
+
name: npm-publish-diagnostic
|
|
144
|
+
overwrite: true
|
|
145
|
+
path: ${{ runner.temp }}/npm-diagnostics/*.json
|
|
146
|
+
if-no-files-found: warn
|
|
147
|
+
retention-days: 1
|
|
148
|
+
- name: Verify all three public npm package bytes and integrity values
|
|
137
149
|
run: uv run --no-project --python 3.12.14 python .github/workflows/build_npm.py check-public --input "${{ runner.temp }}/release-npm" --output "${{ runner.temp }}/npm-public-registry.json"
|
|
138
150
|
- uses: actions/upload-artifact@v7.0.2
|
|
139
151
|
with:
|
|
@@ -142,8 +154,8 @@ jobs:
|
|
|
142
154
|
if-no-files-found: error
|
|
143
155
|
|
|
144
156
|
github-release:
|
|
145
|
-
if: github.event_name == 'push'
|
|
146
|
-
needs: npm-publish
|
|
157
|
+
if: "!cancelled() && github.event_name == 'push' && needs.distribution-admit.result == 'success' && needs.npm-publish.result == 'success' && needs.pypi-consumer.result == 'success'"
|
|
158
|
+
needs: [npm-publish, distribution-admit, pypi-consumer]
|
|
147
159
|
runs-on: ubuntu-26.04
|
|
148
160
|
permissions:
|
|
149
161
|
contents: write
|
|
@@ -164,15 +176,15 @@ jobs:
|
|
|
164
176
|
- name: Complete and admit the draft before making it public
|
|
165
177
|
env:
|
|
166
178
|
GH_TOKEN: ${{ github.token }}
|
|
167
|
-
BREWDOC_RELEASE_TAG: ${{
|
|
168
|
-
BREWDOC_SOURCE_SHA: ${{
|
|
179
|
+
BREWDOC_RELEASE_TAG: ${{ needs.distribution-admit.outputs.tag }}
|
|
180
|
+
BREWDOC_SOURCE_SHA: ${{ needs.distribution-admit.outputs.source_sha }}
|
|
169
181
|
run: |
|
|
170
182
|
uv run --no-project --python 3.12.14 python .github/workflows/release_assets.py stage --input "${{ runner.temp }}/release-assets" --tag "$BREWDOC_RELEASE_TAG" --source-sha "$BREWDOC_SOURCE_SHA"
|
|
171
183
|
uv run --no-project --python 3.12.14 python .github/workflows/release_assets.py publish --input "${{ runner.temp }}/release-assets" --tag "$BREWDOC_RELEASE_TAG" --source-sha "$BREWDOC_SOURCE_SHA"
|
|
172
184
|
uv run --no-project --python 3.12.14 python .github/workflows/release_assets.py verify-public --input "${{ runner.temp }}/release-assets" --tag "$BREWDOC_RELEASE_TAG" --source-sha "$BREWDOC_SOURCE_SHA"
|
|
173
185
|
|
|
174
186
|
pypi-consumer:
|
|
175
|
-
if: github.event_name == 'push'
|
|
187
|
+
if: "!cancelled() && github.event_name == 'push' && needs.distribution-admit.result == 'success' && needs.publish.result == 'success'"
|
|
176
188
|
needs: [publish, distribution-admit]
|
|
177
189
|
runs-on: ubuntu-22.04
|
|
178
190
|
timeout-minutes: 15
|
|
@@ -200,7 +212,7 @@ jobs:
|
|
|
200
212
|
done
|
|
201
213
|
|
|
202
214
|
public-consumer:
|
|
203
|
-
if: github.event_name == 'push'
|
|
215
|
+
if: "!cancelled() && github.event_name == 'push' && needs.github-release.result == 'success' && needs.pypi-consumer.result == 'success' && needs.distribution-admit.result == 'success'"
|
|
204
216
|
needs: [github-release, pypi-consumer, distribution-admit]
|
|
205
217
|
runs-on: ${{ matrix.os }}
|
|
206
218
|
timeout-minutes: 20
|
|
@@ -223,8 +235,9 @@ jobs:
|
|
|
223
235
|
archive: zip
|
|
224
236
|
env:
|
|
225
237
|
GH_TOKEN: ${{ github.token }}
|
|
226
|
-
BREWDOC_RELEASE_TAG: ${{
|
|
227
|
-
BREWDOC_SOURCE_SHA: ${{
|
|
238
|
+
BREWDOC_RELEASE_TAG: ${{ needs.distribution-admit.outputs.tag }}
|
|
239
|
+
BREWDOC_SOURCE_SHA: ${{ needs.distribution-admit.outputs.source_sha }}
|
|
240
|
+
BREWDOC_PACKAGE_CHECKOUT: ${{ github.workspace }}
|
|
228
241
|
BREWDOC_ARCHIVE: brewdoc-${{ needs.distribution-admit.outputs.version }}-${{ matrix.target }}.${{ matrix.archive }}
|
|
229
242
|
steps:
|
|
230
243
|
- uses: actions/checkout@v7.0.1
|
|
@@ -236,14 +249,17 @@ jobs:
|
|
|
236
249
|
python-version: "3.12.14"
|
|
237
250
|
cache-suffix: ${{ runner.os }}-${{ runner.arch }}-uv0.12.21-py3.12.14-${{ hashFiles('uv.lock') }}
|
|
238
251
|
- uses: actions/setup-node@v7.1.0
|
|
252
|
+
if: matrix.target != 'windows-x64'
|
|
239
253
|
with:
|
|
240
254
|
node-version: "24.21.0"
|
|
241
255
|
package-manager-cache: false
|
|
242
256
|
- uses: actions/cache@v6.1.0
|
|
257
|
+
if: matrix.target != 'windows-x64'
|
|
243
258
|
with:
|
|
244
259
|
path: ${{ runner.temp }}/npm-downloads/_cacache
|
|
245
260
|
key: ${{ runner.os }}-${{ runner.arch }}-node24.21.0-npm12.2.0-${{ hashFiles('uv.lock', 'npm/**', '.github/workflows/build_npm.py') }}
|
|
246
261
|
- name: Install pinned npm beside the selected Node runtime
|
|
262
|
+
if: matrix.target != 'windows-x64'
|
|
247
263
|
shell: bash
|
|
248
264
|
run: |
|
|
249
265
|
BREWDOC_NPM_PREFIX=$(node -p 'const path = require("node:path"); path.resolve(path.dirname(process.execPath), process.platform === "win32" ? "." : "..")')
|
|
@@ -261,6 +277,7 @@ jobs:
|
|
|
261
277
|
path: ${{ runner.temp }}/release-assets
|
|
262
278
|
digest-mismatch: error
|
|
263
279
|
- uses: actions/download-artifact@v8.0.2
|
|
280
|
+
if: matrix.target != 'windows-x64'
|
|
264
281
|
with:
|
|
265
282
|
name: release-npm
|
|
266
283
|
path: ${{ runner.temp }}/release-npm
|
|
@@ -277,14 +294,16 @@ jobs:
|
|
|
277
294
|
run: |
|
|
278
295
|
mkdir -p "${{ runner.temp }}/public-downloads/${{ matrix.target }}"
|
|
279
296
|
uv run --no-project --python 3.12.14 python .github/workflows/release_assets.py download-target --input "${{ runner.temp }}/release-assets" --tag "$BREWDOC_RELEASE_TAG" --source-sha "$BREWDOC_SOURCE_SHA" --target "${{ matrix.target }}" --output "${{ runner.temp }}/public-downloads/${{ matrix.target }}/$BREWDOC_ARCHIVE"
|
|
280
|
-
uv run --no-project --python 3.12.14 python .github/workflows/build_standalone.py verify --checkout "$
|
|
297
|
+
uv run --no-project --python 3.12.14 python .github/workflows/build_standalone.py verify --checkout "$BREWDOC_PACKAGE_CHECKOUT" --bundle "${{ runner.temp }}/release-package" --output "${{ runner.temp }}/public-evidence/${{ matrix.target }}" --target "${{ matrix.target }}" --archive "${{ runner.temp }}/public-downloads/${{ matrix.target }}/$BREWDOC_ARCHIVE" --smoke
|
|
281
298
|
cp "${{ runner.temp }}/public-downloads/${{ matrix.target }}/$BREWDOC_ARCHIVE.download.json" "${{ runner.temp }}/public-evidence/${{ matrix.target }}/"
|
|
282
299
|
- uses: actions/download-artifact@v8.0.2
|
|
300
|
+
if: matrix.target != 'windows-x64'
|
|
283
301
|
with:
|
|
284
302
|
name: npm-public-registry
|
|
285
303
|
path: ${{ runner.temp }}
|
|
286
304
|
digest-mismatch: error
|
|
287
305
|
- name: Verify normal public npm installation and npx execution
|
|
306
|
+
if: matrix.target != 'windows-x64'
|
|
288
307
|
run: uv run --no-project --python 3.12.14 python .github/workflows/build_npm.py probe --input "${{ runner.temp }}/release-npm" --target "${{ matrix.target }}" --mode public --smoke --public-evidence "${{ runner.temp }}/npm-public-registry.json" --output "${{ runner.temp }}/public-evidence/${{ matrix.target }}/npm-public.json"
|
|
289
308
|
- name: Preserve public download and consumer evidence
|
|
290
309
|
if: always()
|
|
@@ -298,7 +317,7 @@ jobs:
|
|
|
298
317
|
if-no-files-found: warn
|
|
299
318
|
|
|
300
319
|
release-complete:
|
|
301
|
-
if: github.event_name == 'push'
|
|
320
|
+
if: "!cancelled() && github.event_name == 'push' && needs.public-consumer.result == 'success' && needs.pypi-consumer.result == 'success' && needs.distribution-admit.result == 'success'"
|
|
302
321
|
needs: [public-consumer, pypi-consumer, distribution-admit]
|
|
303
322
|
runs-on: ubuntu-22.04
|
|
304
323
|
timeout-minutes: 15
|
|
@@ -306,8 +325,9 @@ jobs:
|
|
|
306
325
|
contents: write
|
|
307
326
|
env:
|
|
308
327
|
GH_TOKEN: ${{ github.token }}
|
|
309
|
-
BREWDOC_RELEASE_TAG: ${{
|
|
310
|
-
BREWDOC_SOURCE_SHA: ${{
|
|
328
|
+
BREWDOC_RELEASE_TAG: ${{ needs.distribution-admit.outputs.tag }}
|
|
329
|
+
BREWDOC_SOURCE_SHA: ${{ needs.distribution-admit.outputs.source_sha }}
|
|
330
|
+
BREWDOC_PACKAGE_CHECKOUT: ${{ github.workspace }}
|
|
311
331
|
steps:
|
|
312
332
|
- uses: actions/checkout@v7.0.1
|
|
313
333
|
with:
|
|
@@ -345,8 +365,9 @@ jobs:
|
|
|
345
365
|
- name: Admit public channels before generating final installation instructions
|
|
346
366
|
run: |
|
|
347
367
|
uv run --no-project --python 3.12.14 python .github/workflows/release_assets.py admit-public --input "${{ runner.temp }}/release-assets" --tag "$BREWDOC_RELEASE_TAG" --source-sha "$BREWDOC_SOURCE_SHA" --evidence "${{ runner.temp }}/public-evidence" --output "${{ runner.temp }}/public-acceptance.json"
|
|
348
|
-
uv run --no-project --python 3.12.14 python .github/workflows/release_guide.py render --checkout "$
|
|
349
|
-
|
|
368
|
+
uv run --no-project --python 3.12.14 python .github/workflows/release_guide.py render --checkout "$BREWDOC_PACKAGE_CHECKOUT" --phase public --native-manifest "${{ runner.temp }}/release-assets/binaries.json" --npm-manifest "${{ runner.temp }}/release-assets/npm-manifest.json" --availability "${{ runner.temp }}/public-acceptance.json" --output "${{ runner.temp }}/public-body.md"
|
|
369
|
+
- name: Finalize normal tag-release instructions after public admission
|
|
370
|
+
run: uv run --no-project --python 3.12.14 python .github/workflows/release_assets.py finalize --input "${{ runner.temp }}/release-assets" --tag "$BREWDOC_RELEASE_TAG" --source-sha "$BREWDOC_SOURCE_SHA" --evidence "${{ runner.temp }}/public-evidence" --body "${{ runner.temp }}/public-body.md"
|
|
350
371
|
- uses: actions/upload-artifact@v7.0.2
|
|
351
372
|
with:
|
|
352
373
|
name: release-public-acceptance
|