brewdoc-darwin-arm64 0.4.0 → 0.5.0

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.
package/README.md CHANGED
@@ -3,37 +3,46 @@
3
3
  [![PyPI](https://img.shields.io/pypi/v/brewdoc)](https://pypi.org/project/brewdoc/)
4
4
  [![CI](https://github.com/kochetkov-ma/brewdoc/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/kochetkov-ma/brewdoc/actions/workflows/ci.yml)
5
5
  [![Release](https://img.shields.io/github/v/release/kochetkov-ma/brewdoc)](https://github.com/kochetkov-ma/brewdoc/releases/latest)
6
- [![MIT](https://img.shields.io/github/license/kochetkov-ma/brewdoc)](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/LICENSE)
6
+ [![MIT](https://img.shields.io/github/license/kochetkov-ma/brewdoc)](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/LICENSE)
7
7
 
8
8
  Fast, deterministic document-to-Markdown conversion for agent systems. Easy to install. No model weights, OCR or external services.
9
9
 
10
10
  Local conversion runs offline after installation, with no runtime component downloads.
11
11
  Supported documents become one Markdown file and a JSON receipt describing omissions.
12
- See [formats and limits](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/FORMATS.md).
12
+ See [formats and limits](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/FORMATS.md).
13
+ Version 0.4.1 added [selected ZIP/XML reader budgets](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/FORMATS.md#zipxml-reader-limits)
14
+ for DOCX/PPTX and workbook metadata/artifacts. Excessive work refuses before output
15
+ writes; native workbook values and total process memory remain outside those bounds.
16
+
17
+ Version 0.5.0 adds ODT/ODP text and tables, selected MIME email bodies and exact UTF-8
18
+ Markdown/text pass-through. It preserves workbook Unicode and exposed datetime precision,
19
+ and selects one DOCX compatibility fallback.
20
+ It also adds textless PDF page facts and selected caption, table and math-spacing fixes.
21
+ See the [format contracts](FORMATS.md).
13
22
 
14
23
  ## Install
15
24
 
16
- These examples select 0.4.0. Use a channel listed as available in [that release](https://github.com/kochetkov-ma/brewdoc/releases/tag/v0.4.0). Choose one method:
25
+ These examples select 0.5.0. Use a channel listed as available in [that release](https://github.com/kochetkov-ma/brewdoc/releases/tag/v0.5.0). Choose one method:
17
26
 
18
27
  Article mode is introduced in 0.4.0. Channel availability is listed in the release.
19
28
 
20
29
  ```sh
21
- python -m pip install "brewdoc==0.4.0"
22
- uv tool install --python 3.12 "brewdoc==0.4.0"
23
- pipx install --python 3.12 "brewdoc==0.4.0"
30
+ python -m pip install "brewdoc==0.5.0"
31
+ uv tool install --python 3.12 "brewdoc==0.5.0"
32
+ pipx install --python 3.12 "brewdoc==0.5.0"
24
33
  ```
25
34
 
26
35
  Use a virtual environment for pip. Python 3.12+ is required; HTML/URL need CPython 3.12-3.14.
27
- [INSTALL.md](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/INSTALL.md) covers prerequisites, Windows, uvx, PATH, update and removal.
36
+ [INSTALL.md](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/INSTALL.md) covers prerequisites, Windows, uvx, PATH, update and removal.
28
37
  [Latest release](https://github.com/kochetkov-ma/brewdoc/releases/latest) lists actual assets and channel availability.
29
38
 
30
39
  ### Standalone downloads
31
40
 
32
- Use downloads listed as available in the release. Python and dependencies are bundled. Verify [SHA256SUMS](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.4.0/SHA256SUMS) and keep the entire extracted directory.
41
+ Use downloads listed as available in the release. Python and dependencies are bundled. Verify [SHA256SUMS](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.5.0/SHA256SUMS) and keep the entire extracted directory.
33
42
 
34
- [![Linux x64 download](https://img.shields.io/badge/Linux_x64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.4.0/brewdoc-0.4.0-linux-x64.tar.gz)
35
- [![Windows x64 download](https://img.shields.io/badge/Windows_x64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.4.0/brewdoc-0.4.0-windows-x64.zip)
36
- [![macOS ARM64 download](https://img.shields.io/badge/macOS_ARM64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.4.0/brewdoc-0.4.0-macos-arm64.tar.gz)
43
+ [![Linux x64 download](https://img.shields.io/badge/Linux_x64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.5.0/brewdoc-0.5.0-linux-x64.tar.gz)
44
+ [![Windows x64 download](https://img.shields.io/badge/Windows_x64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.5.0/brewdoc-0.5.0-windows-x64.zip)
45
+ [![macOS ARM64 download](https://img.shields.io/badge/macOS_ARM64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.5.0/brewdoc-0.5.0-macos-arm64.tar.gz)
37
46
 
38
47
  | Native target | Verification environment | JavaScript |
39
48
  |---|---|---|
@@ -43,15 +52,21 @@ Use downloads listed as available in the release. Python and dependencies are bu
43
52
 
44
53
  Older OSes, Linux musl/ARM64 and macOS Intel are outside this binary set.
45
54
  Windows is unsigned; macOS has an ad hoc signature without Developer ID/notarization.
46
- Linux archives have checksums, without a detached publisher signature. [Download and launch](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/INSTALL.md#standalone).
55
+ Linux archives have checksums, without a detached publisher signature. [Download and launch](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/INSTALL.md#standalone).
47
56
 
48
57
  ### npm
49
58
 
50
59
  [![npm](https://img.shields.io/npm/v/brewdoc)](https://www.npmjs.com/package/brewdoc)
51
60
 
52
61
  npm targets Linux x64/glibc and macOS ARM64. Windows uses the GitHub native download or Python package.
53
- Use npm/npx only when listed as available in [the release](https://github.com/kochetkov-ma/brewdoc/releases/tag/v0.4.0).
54
- [INSTALL.md](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/INSTALL.md#npm-and-npx) contains exact-version installation, update and removal instructions.
62
+ Use npm/npx only when listed as available in [the release](https://github.com/kochetkov-ma/brewdoc/releases/tag/v0.5.0).
63
+ [INSTALL.md](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/INSTALL.md#npm-and-npx) contains exact-version installation, update and removal instructions.
64
+
65
+ ### Homebrew
66
+
67
+ Use `kochetkov-ma/brew/brewdoc` only when the release lists it as available.
68
+ It installs the complete native bundle on macOS 15+ ARM64 or Linux x64 with system
69
+ glibc 2.35+. See [installation and lifecycle](INSTALL.md#homebrew).
55
70
 
56
71
  ## Usage
57
72
 
@@ -71,12 +86,18 @@ Requests and output collisions are validated before writes. Paths resolve agains
71
86
 
72
87
  ## Markdown and receipts
73
88
 
74
- Successful output uses `brewdoc.markdown/2`: quoted source title, Metadata, Artifacts,
89
+ Parsed document output uses `brewdoc.markdown/2`: quoted source title, Metadata, Artifacts,
75
90
  Known omissions, Contents, then anchored units. PDF uses `page/000001`, workbooks `sheet/000001`,
76
- PPTX `slide/000001`, and DOCX/EPUB/HTML `chapter/000001`. Empty declared units remain navigable.
91
+ PPTX/ODP `slide/000001`, and DOCX/EPUB/HTML/ODT/EML `chapter/000001`.
92
+ Empty declared units remain navigable.
77
93
  Metadata holds source/selection/content hashes, conversion tallies and artifact capabilities;
78
94
  it excludes paths, timestamps, permissions and host data. EPUB retains declared publication metadata.
79
95
 
96
+ UTF-8 `.md` and `.txt` use `brewdoc.markdown/passthrough/1`: exact source bytes with
97
+ no generated envelope, contents or anchors. BOM, whitespace, newline variants and absent
98
+ final newline survive; empty input succeeds. The receipt reports route `text`, kind `none`
99
+ and zero units. Without `--out`, the JSON receipt precedes the unchanged body bytes.
100
+
80
101
  Conversion prints one JSON receipt line first. With `--out`, Markdown goes to the file;
81
102
  without it, Markdown follows on stdout. Local receipts use `brewdoc.receipt/1`; URL receipts use `brewdoc.receipt/2`.
82
103
 
@@ -94,7 +115,8 @@ without it, Markdown follows on stdout. Local receipts use `brewdoc.receipt/1`;
94
115
  | `acquisition` | URL provenance, frozen snapshot and capture status |
95
116
 
96
117
  Exit 0 means conversion, 1 refusal and 2 invalid usage. Success does not prove content fidelity or complete JavaScript.
97
- PDF/DOCX/PPTX/workbooks emit ASCII; HTML/EPUB emit UTF-8 without BOM, with LF newlines. JSON keeps ASCII escaping.
118
+ PDF/DOCX/PPTX emit ASCII; workbooks/HTML/EPUB/ODT/ODP/EML emit UTF-8 without BOM, with LF newlines.
119
+ Text pass-through retains the source UTF-8 encoding and newlines. JSON keeps ASCII escaping.
98
120
  The same local file or frozen snapshot produces identical bytes; live pages can change.
99
121
 
100
122
  ## Python API
@@ -125,12 +147,12 @@ brewdoc --url https://example.com/article --render-js --timeout 30 --out article
125
147
  Public destinations, DNS, redirects, TLS, requests and bytes are validated. Ordinary requests use GET;
126
148
  JS admits only the narrow credential-free HN Algolia XHR POST exception. Local HTML never fetches or runs scripts.
127
149
  Optional JS needs installed/bundled prerequisites, refuses unsupported runtimes before HTTP and downloads no engine.
128
- Timing-only expiry can preserve valid partial content; hard failures refuse output. [Full URL/JS limits](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/FORMATS.md#url-acquisition).
150
+ Timing-only expiry can preserve valid partial content; hard failures refuse output. [Full URL/JS limits](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/FORMATS.md#url-acquisition).
129
151
 
130
152
  ## Article mode
131
153
 
132
154
  Introduced in 0.4.0; use a channel listed as available in the release. For Python JS capture, install
133
- `brewdoc[render-js]==0.4.0`; supported standalone bundles include its prerequisites.
155
+ `brewdoc[render-js]==0.5.0`; supported standalone bundles include its prerequisites.
134
156
 
135
157
  ```sh
136
158
  brewdoc page.html --article --out article.md
@@ -152,21 +174,21 @@ without layout or inferred author/date metadata. The source title is unchanged.
152
174
 
153
175
  The receipt's `not_carried` and successful Markdown's Known omissions declare:
154
176
  `body content outside the selected article or main subtree; complete page coverage is not claimed`.
155
- The [article contract](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/FORMATS.md#article-selection)
177
+ The [article contract](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/FORMATS.md#article-selection)
156
178
  defines selection, refusals and limits.
157
179
 
158
- [Source-package CI](https://github.com/kochetkov-ma/brewdoc/actions/runs/38431645006) passed on
180
+ [Earlier source-package CI](https://github.com/kochetkov-ma/brewdoc/actions/runs/38431645006) passed on
159
181
  Ubuntu 22.04 x64/glibc with CPython 3.13.15, and macOS 15 ARM64/Windows Server 2025 x64
160
182
  with CPython 3.14.7. Each passed four independent wheel/sdist base/optional installs;
161
183
  optional JS executed on Unix and refused before requests on Windows. These are selected
162
- tested patches, not a claim about newer versions. CPython 3.12.14 retains the local macOS
163
- full-suite baseline and existing CI smoke checks. Package evidence is separate from the
164
- standalone binaries; other OS/minor combinations, free-threaded CPython and other
184
+ tested patches, not a claim about newer versions. These results predate the 0.5.0 changes.
185
+ CPython 3.12.14 retains the local macOS full-suite baseline and existing CI smoke checks.
186
+ Package evidence is separate from standalone binaries; other OS/minor combinations, free-threaded CPython and other
165
187
  architectures remain untested here.
166
- See [package compatibility](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/FORMATS.md#python-package-compatibility).
188
+ See [package compatibility](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/FORMATS.md#python-package-compatibility).
167
189
 
168
- [Format contracts](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/FORMATS.md) | [Corpus](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/benchmarks/CATALOG.md) | [Measurements](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/benchmarks/METHODOLOGY.md) | [Results](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/benchmarks/results/README.md)
169
- [Releasing](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/RELEASING.md) | [Agent entry point](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/llms.txt) | [MIT license](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/LICENSE)
190
+ [Format contracts](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/FORMATS.md) | [Corpus](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/benchmarks/CATALOG.md) | [Measurements](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/benchmarks/METHODOLOGY.md) | [Results](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/benchmarks/results/README.md)
191
+ [Releasing](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/RELEASING.md) | [Agent entry point](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/llms.txt) | [MIT license](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/LICENSE)
170
192
 
171
193
  ## Related projects
172
194
 
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: brewdoc
3
- Version: 0.4.0
3
+ Version: 0.5.0
4
4
  Summary: Fast, deterministic document-to-Markdown conversion for agent systems. Easy to install. No model weights, OCR or external services.
5
5
  Project-URL: Homepage, https://github.com/kochetkov-ma/brewdoc
6
6
  Project-URL: Repository, https://github.com/kochetkov-ma/brewdoc
@@ -31,37 +31,46 @@ Description-Content-Type: text/markdown
31
31
  [![PyPI](https://img.shields.io/pypi/v/brewdoc)](https://pypi.org/project/brewdoc/)
32
32
  [![CI](https://github.com/kochetkov-ma/brewdoc/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/kochetkov-ma/brewdoc/actions/workflows/ci.yml)
33
33
  [![Release](https://img.shields.io/github/v/release/kochetkov-ma/brewdoc)](https://github.com/kochetkov-ma/brewdoc/releases/latest)
34
- [![MIT](https://img.shields.io/github/license/kochetkov-ma/brewdoc)](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/LICENSE)
34
+ [![MIT](https://img.shields.io/github/license/kochetkov-ma/brewdoc)](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/LICENSE)
35
35
 
36
36
  Fast, deterministic document-to-Markdown conversion for agent systems. Easy to install. No model weights, OCR or external services.
37
37
 
38
38
  Local conversion runs offline after installation, with no runtime component downloads.
39
39
  Supported documents become one Markdown file and a JSON receipt describing omissions.
40
- See [formats and limits](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/FORMATS.md).
40
+ See [formats and limits](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/FORMATS.md).
41
+ Version 0.4.1 added [selected ZIP/XML reader budgets](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/FORMATS.md#zipxml-reader-limits)
42
+ for DOCX/PPTX and workbook metadata/artifacts. Excessive work refuses before output
43
+ writes; native workbook values and total process memory remain outside those bounds.
44
+
45
+ Version 0.5.0 adds ODT/ODP text and tables, selected MIME email bodies and exact UTF-8
46
+ Markdown/text pass-through. It preserves workbook Unicode and exposed datetime precision,
47
+ and selects one DOCX compatibility fallback.
48
+ It also adds textless PDF page facts and selected caption, table and math-spacing fixes.
49
+ See the [format contracts](FORMATS.md).
41
50
 
42
51
  ## Install
43
52
 
44
- These examples select 0.4.0. Use a channel listed as available in [that release](https://github.com/kochetkov-ma/brewdoc/releases/tag/v0.4.0). Choose one method:
53
+ These examples select 0.5.0. Use a channel listed as available in [that release](https://github.com/kochetkov-ma/brewdoc/releases/tag/v0.5.0). Choose one method:
45
54
 
46
55
  Article mode is introduced in 0.4.0. Channel availability is listed in the release.
47
56
 
48
57
  ```sh
49
- python -m pip install "brewdoc==0.4.0"
50
- uv tool install --python 3.12 "brewdoc==0.4.0"
51
- pipx install --python 3.12 "brewdoc==0.4.0"
58
+ python -m pip install "brewdoc==0.5.0"
59
+ uv tool install --python 3.12 "brewdoc==0.5.0"
60
+ pipx install --python 3.12 "brewdoc==0.5.0"
52
61
  ```
53
62
 
54
63
  Use a virtual environment for pip. Python 3.12+ is required; HTML/URL need CPython 3.12-3.14.
55
- [INSTALL.md](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/INSTALL.md) covers prerequisites, Windows, uvx, PATH, update and removal.
64
+ [INSTALL.md](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/INSTALL.md) covers prerequisites, Windows, uvx, PATH, update and removal.
56
65
  [Latest release](https://github.com/kochetkov-ma/brewdoc/releases/latest) lists actual assets and channel availability.
57
66
 
58
67
  ### Standalone downloads
59
68
 
60
- Use downloads listed as available in the release. Python and dependencies are bundled. Verify [SHA256SUMS](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.4.0/SHA256SUMS) and keep the entire extracted directory.
69
+ Use downloads listed as available in the release. Python and dependencies are bundled. Verify [SHA256SUMS](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.5.0/SHA256SUMS) and keep the entire extracted directory.
61
70
 
62
- [![Linux x64 download](https://img.shields.io/badge/Linux_x64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.4.0/brewdoc-0.4.0-linux-x64.tar.gz)
63
- [![Windows x64 download](https://img.shields.io/badge/Windows_x64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.4.0/brewdoc-0.4.0-windows-x64.zip)
64
- [![macOS ARM64 download](https://img.shields.io/badge/macOS_ARM64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.4.0/brewdoc-0.4.0-macos-arm64.tar.gz)
71
+ [![Linux x64 download](https://img.shields.io/badge/Linux_x64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.5.0/brewdoc-0.5.0-linux-x64.tar.gz)
72
+ [![Windows x64 download](https://img.shields.io/badge/Windows_x64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.5.0/brewdoc-0.5.0-windows-x64.zip)
73
+ [![macOS ARM64 download](https://img.shields.io/badge/macOS_ARM64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.5.0/brewdoc-0.5.0-macos-arm64.tar.gz)
65
74
 
66
75
  | Native target | Verification environment | JavaScript |
67
76
  |---|---|---|
@@ -71,15 +80,21 @@ Use downloads listed as available in the release. Python and dependencies are bu
71
80
 
72
81
  Older OSes, Linux musl/ARM64 and macOS Intel are outside this binary set.
73
82
  Windows is unsigned; macOS has an ad hoc signature without Developer ID/notarization.
74
- Linux archives have checksums, without a detached publisher signature. [Download and launch](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/INSTALL.md#standalone).
83
+ Linux archives have checksums, without a detached publisher signature. [Download and launch](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/INSTALL.md#standalone).
75
84
 
76
85
  ### npm
77
86
 
78
87
  [![npm](https://img.shields.io/npm/v/brewdoc)](https://www.npmjs.com/package/brewdoc)
79
88
 
80
89
  npm targets Linux x64/glibc and macOS ARM64. Windows uses the GitHub native download or Python package.
81
- Use npm/npx only when listed as available in [the release](https://github.com/kochetkov-ma/brewdoc/releases/tag/v0.4.0).
82
- [INSTALL.md](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/INSTALL.md#npm-and-npx) contains exact-version installation, update and removal instructions.
90
+ Use npm/npx only when listed as available in [the release](https://github.com/kochetkov-ma/brewdoc/releases/tag/v0.5.0).
91
+ [INSTALL.md](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/INSTALL.md#npm-and-npx) contains exact-version installation, update and removal instructions.
92
+
93
+ ### Homebrew
94
+
95
+ Use `kochetkov-ma/brew/brewdoc` only when the release lists it as available.
96
+ It installs the complete native bundle on macOS 15+ ARM64 or Linux x64 with system
97
+ glibc 2.35+. See [installation and lifecycle](INSTALL.md#homebrew).
83
98
 
84
99
  ## Usage
85
100
 
@@ -99,12 +114,18 @@ Requests and output collisions are validated before writes. Paths resolve agains
99
114
 
100
115
  ## Markdown and receipts
101
116
 
102
- Successful output uses `brewdoc.markdown/2`: quoted source title, Metadata, Artifacts,
117
+ Parsed document output uses `brewdoc.markdown/2`: quoted source title, Metadata, Artifacts,
103
118
  Known omissions, Contents, then anchored units. PDF uses `page/000001`, workbooks `sheet/000001`,
104
- PPTX `slide/000001`, and DOCX/EPUB/HTML `chapter/000001`. Empty declared units remain navigable.
119
+ PPTX/ODP `slide/000001`, and DOCX/EPUB/HTML/ODT/EML `chapter/000001`.
120
+ Empty declared units remain navigable.
105
121
  Metadata holds source/selection/content hashes, conversion tallies and artifact capabilities;
106
122
  it excludes paths, timestamps, permissions and host data. EPUB retains declared publication metadata.
107
123
 
124
+ UTF-8 `.md` and `.txt` use `brewdoc.markdown/passthrough/1`: exact source bytes with
125
+ no generated envelope, contents or anchors. BOM, whitespace, newline variants and absent
126
+ final newline survive; empty input succeeds. The receipt reports route `text`, kind `none`
127
+ and zero units. Without `--out`, the JSON receipt precedes the unchanged body bytes.
128
+
108
129
  Conversion prints one JSON receipt line first. With `--out`, Markdown goes to the file;
109
130
  without it, Markdown follows on stdout. Local receipts use `brewdoc.receipt/1`; URL receipts use `brewdoc.receipt/2`.
110
131
 
@@ -122,7 +143,8 @@ without it, Markdown follows on stdout. Local receipts use `brewdoc.receipt/1`;
122
143
  | `acquisition` | URL provenance, frozen snapshot and capture status |
123
144
 
124
145
  Exit 0 means conversion, 1 refusal and 2 invalid usage. Success does not prove content fidelity or complete JavaScript.
125
- PDF/DOCX/PPTX/workbooks emit ASCII; HTML/EPUB emit UTF-8 without BOM, with LF newlines. JSON keeps ASCII escaping.
146
+ PDF/DOCX/PPTX emit ASCII; workbooks/HTML/EPUB/ODT/ODP/EML emit UTF-8 without BOM, with LF newlines.
147
+ Text pass-through retains the source UTF-8 encoding and newlines. JSON keeps ASCII escaping.
126
148
  The same local file or frozen snapshot produces identical bytes; live pages can change.
127
149
 
128
150
  ## Python API
@@ -153,12 +175,12 @@ brewdoc --url https://example.com/article --render-js --timeout 30 --out article
153
175
  Public destinations, DNS, redirects, TLS, requests and bytes are validated. Ordinary requests use GET;
154
176
  JS admits only the narrow credential-free HN Algolia XHR POST exception. Local HTML never fetches or runs scripts.
155
177
  Optional JS needs installed/bundled prerequisites, refuses unsupported runtimes before HTTP and downloads no engine.
156
- Timing-only expiry can preserve valid partial content; hard failures refuse output. [Full URL/JS limits](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/FORMATS.md#url-acquisition).
178
+ Timing-only expiry can preserve valid partial content; hard failures refuse output. [Full URL/JS limits](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/FORMATS.md#url-acquisition).
157
179
 
158
180
  ## Article mode
159
181
 
160
182
  Introduced in 0.4.0; use a channel listed as available in the release. For Python JS capture, install
161
- `brewdoc[render-js]==0.4.0`; supported standalone bundles include its prerequisites.
183
+ `brewdoc[render-js]==0.5.0`; supported standalone bundles include its prerequisites.
162
184
 
163
185
  ```sh
164
186
  brewdoc page.html --article --out article.md
@@ -180,21 +202,21 @@ without layout or inferred author/date metadata. The source title is unchanged.
180
202
 
181
203
  The receipt's `not_carried` and successful Markdown's Known omissions declare:
182
204
  `body content outside the selected article or main subtree; complete page coverage is not claimed`.
183
- The [article contract](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/FORMATS.md#article-selection)
205
+ The [article contract](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/FORMATS.md#article-selection)
184
206
  defines selection, refusals and limits.
185
207
 
186
- [Source-package CI](https://github.com/kochetkov-ma/brewdoc/actions/runs/38431645006) passed on
208
+ [Earlier source-package CI](https://github.com/kochetkov-ma/brewdoc/actions/runs/38431645006) passed on
187
209
  Ubuntu 22.04 x64/glibc with CPython 3.13.15, and macOS 15 ARM64/Windows Server 2025 x64
188
210
  with CPython 3.14.7. Each passed four independent wheel/sdist base/optional installs;
189
211
  optional JS executed on Unix and refused before requests on Windows. These are selected
190
- tested patches, not a claim about newer versions. CPython 3.12.14 retains the local macOS
191
- full-suite baseline and existing CI smoke checks. Package evidence is separate from the
192
- standalone binaries; other OS/minor combinations, free-threaded CPython and other
212
+ tested patches, not a claim about newer versions. These results predate the 0.5.0 changes.
213
+ CPython 3.12.14 retains the local macOS full-suite baseline and existing CI smoke checks.
214
+ Package evidence is separate from standalone binaries; other OS/minor combinations, free-threaded CPython and other
193
215
  architectures remain untested here.
194
- See [package compatibility](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/FORMATS.md#python-package-compatibility).
216
+ See [package compatibility](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/FORMATS.md#python-package-compatibility).
195
217
 
196
- [Format contracts](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/FORMATS.md) | [Corpus](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/benchmarks/CATALOG.md) | [Measurements](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/benchmarks/METHODOLOGY.md) | [Results](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/benchmarks/results/README.md)
197
- [Releasing](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/RELEASING.md) | [Agent entry point](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/llms.txt) | [MIT license](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.0/LICENSE)
218
+ [Format contracts](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/FORMATS.md) | [Corpus](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/benchmarks/CATALOG.md) | [Measurements](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/benchmarks/METHODOLOGY.md) | [Results](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/benchmarks/results/README.md)
219
+ [Releasing](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/RELEASING.md) | [Agent entry point](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/llms.txt) | [MIT license](https://github.com/kochetkov-ma/brewdoc/blob/v0.5.0/LICENSE)
198
220
 
199
221
  ## Related projects
200
222
 
@@ -0,0 +1,33 @@
1
+ ../../../bin/brewdoc,sha256=EBcDAz0fm_7gb81W-eoCcf0v2BLUMB1QEU85SQT2Xc0,344
2
+ brewdoc-0.5.0.dist-info/INSTALLER,sha256=5hhM4Q4mYTT9z6QB6PGpUAW81PGNFrYrdXMj4oM_6ak,2
3
+ brewdoc-0.5.0.dist-info/METADATA,sha256=a5P0q7b55iXVxI6K2hmOTwFmXyg6U9k73zeRYS_4Exg,13777
4
+ brewdoc-0.5.0.dist-info/RECORD,,
5
+ brewdoc-0.5.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ brewdoc-0.5.0.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
7
+ brewdoc-0.5.0.dist-info/direct_url.json,sha256=Rq-4-rSxL0MUj0c1LqzuZOZLM3zBi7Af8dIzfV5kAvQ,103
8
+ brewdoc-0.5.0.dist-info/entry_points.txt,sha256=avLrj5Y-MJ1yq0XFkjH5dbZW9QwYQkpn_hz6sNydbA4,45
9
+ brewdoc-0.5.0.dist-info/licenses/LICENSE,sha256=DNUrRveB3NXcyWxUr8csAHYmvrOmAzFDDAKv3iXNYKk,1073
10
+ brewdoc-0.5.0.dist-info/uv_cache.json,sha256=i3SDYrvSPS9_NXr37Q5C7WvV3H8xm42fcd7kKOO0j7U,127
11
+ brewdoc/__init__.py,sha256=V7ghtuv05Ryzvy5R9aOzShJQ1AH-HYTN6NMR1i3jiW8,867
12
+ brewdoc/_standalone.py,sha256=-zfCo75E8YlQexHuPoTu1tl1SJGMNftH1JXSt6qilxo,4705
13
+ brewdoc/_urljs/__init__.py,sha256=SrVyNMaD02iahY2zp3kggkW7KGJ1xv-C5d4DK1-JYWw,51
14
+ brewdoc/_urljs/glue.js,sha256=aU6lhMMxZcPxZSNctfUd-X91gkV6mgElWFFV_SnUWqM,41449
15
+ brewdoc/_urljs/native.py,sha256=ggTisaUThjXp6RN973T06krxCDglvzytF05_2NEraWs,44168
16
+ brewdoc/_vendor/THIRD_PARTY_NOTICES.txt,sha256=Mg3dxJ1SNPASEu4_ruk2j-7WM0lZmrfulGCUpNoOZak,26003
17
+ brewdoc/_vendor/linkedom-worker.js,sha256=6p8d5psAnSEJaN2PTT9OzxCVvt-A04nsgyRMFxNXgog,411521
18
+ brewdoc/cli.py,sha256=bbTho44BdJKvjDVzpBjhGWNLx5A7lXfL810lKWb2Xio,6120
19
+ brewdoc/common.py,sha256=nnKgr7E9AAIQoYYETHFDq3hbu-CzJavUjzX4g5dik58,33507
20
+ brewdoc/docx.py,sha256=w5fzxManQw7E34p70-YOT3-hfE0E4Z9SBHaiIqY3ke0,6154
21
+ brewdoc/eml.py,sha256=2R6V4Er-6rWcs25FyU8vyy0GgjREU-CA4RF6yMQk_w4,7393
22
+ brewdoc/epub.py,sha256=g97-YQhmTr3ufzDxxwsIuB6eRzPiDc_VhvgHBk-mCYk,50502
23
+ brewdoc/htmljs.py,sha256=lTfAN1ycDiRh0d7kB1bLX6Cd33sGcnPVrYnmj61P_AY,41410
24
+ brewdoc/htmltext.py,sha256=MJ30p0oANDOcHUTxBk3NNvE7j4E1B_2TfjOw2HuR7xc,41168
25
+ brewdoc/htmlurl.py,sha256=RV8Cvp3Qle_y_6m--FMdeeJ19YWCOX6B--w27sJ8Z38,36862
26
+ brewdoc/odf.py,sha256=M5OZwNmZKQx68zpQRf158MUXMTHmnnKmtBam6sPi0YI,15467
27
+ brewdoc/output.py,sha256=aMgDoB5UDbRWYr9pBxlH402jEiUl8OSEqhox31O0ljk,4123
28
+ brewdoc/pdf.py,sha256=AoYeJWHCrDxspkA5bMPRkeCowkhjokxUP5XrYb6HQdk,65954
29
+ brewdoc/pptx.py,sha256=OYE42ZMgifyhWW8uj0M7JHsasaxXkcfLfSKVsp77is0,17844
30
+ brewdoc/selfcheck.py,sha256=lMP4xkHLJJZXmoO5QYuXhOEfgJwm0iGxkFjvNEKLDPw,28033
31
+ brewdoc/service.py,sha256=csiG2OE2ztUkIc3QUAeXu4IOkCdu7U8wnud7pl-m73Q,7232
32
+ brewdoc/sheets.py,sha256=qgvSxj4MnwPELvwzb3oSmffIOO5LIaAcTzC65TkYp6c,17411
33
+ brewdoc/text.py,sha256=OCrVnR3t4_FSn5rpxmQhItKg2oagKNhFhyp8XcJYHNw,602
@@ -0,0 +1 @@
1
+ {"url":"file:///Users/runner/work/_temp/ci-dist/dist/brewdoc-0.5.0-py3-none-any.whl","archive_info":{}}
@@ -0,0 +1 @@
1
+ {"timestamp":{"secs_since_epoch":1791987716,"nanos_since_epoch":711865333},"commit":null,"tags":null,"env":{},"directories":{}}
package/binary/brewdoc CHANGED
Binary file
@@ -1,6 +1,6 @@
1
1
  [
2
2
  {
3
- "path": "licenses/installed/brewdoc/brewdoc-0.4.0.dist-info/licenses/LICENSE",
3
+ "path": "licenses/installed/brewdoc/brewdoc-0.5.0.dist-info/licenses/LICENSE",
4
4
  "bytes": 1073,
5
5
  "sha256": "0cd52b46f781dcd5dcc96c54afc72c007626beb3a60331430c02afde25cd60a9"
6
6
  },
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "0.4.0",
3
- "source_sha": "212ea560d6aea4cad66364c129346356820fd850",
2
+ "version": "0.5.0",
3
+ "source_sha": "1471975a6fbd8a17766278fd5a0738c095f2ec57",
4
4
  "python": "3.12.14",
5
5
  "target": "macos-arm64"
6
6
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "archive": {
3
- "bytes": 32889502,
4
- "filename": "brewdoc-0.4.0-macos-arm64.tar.gz",
5
- "sha256": "b15d6a40f9dc9c253d2a978873bc12473e76a1586431d3636a735f5dd12e0bff"
3
+ "bytes": 32919814,
4
+ "filename": "brewdoc-0.5.0-macos-arm64.tar.gz",
5
+ "sha256": "4ad6b07de2af9a89912a6682c133528a49fab5eb72c5c2dca98d8e099abc9aaf"
6
6
  },
7
7
  "executable": "brewdoc/brewdoc",
8
8
  "inventory": {
@@ -188,73 +188,73 @@
188
188
  "bytes": 1333490,
189
189
  "kind": "file",
190
190
  "mode": 420,
191
- "sha256": "9656660ae028c180c2ab7222cfd807ebed48327fa81c1f460b0bfd3375b8d466"
191
+ "sha256": "c01c42f52bea6b2727867ccc7c97910610e6ab72a2adda44d53c1cf875215491"
192
192
  },
193
193
  "brewdoc/_internal/brewdoc": {
194
194
  "kind": "directory",
195
195
  "mode": 493
196
196
  },
197
- "brewdoc/_internal/brewdoc-0.4.0.dist-info": {
197
+ "brewdoc/_internal/brewdoc-0.5.0.dist-info": {
198
198
  "kind": "directory",
199
199
  "mode": 493
200
200
  },
201
- "brewdoc/_internal/brewdoc-0.4.0.dist-info/INSTALLER": {
201
+ "brewdoc/_internal/brewdoc-0.5.0.dist-info/INSTALLER": {
202
202
  "bytes": 2,
203
203
  "kind": "file",
204
204
  "mode": 420,
205
205
  "sha256": "e6184ce10e266134fdcfa401e8f1a95005bcd4f18d16b62b757323e2833fe9a9"
206
206
  },
207
- "brewdoc/_internal/brewdoc-0.4.0.dist-info/METADATA": {
208
- "bytes": 12383,
207
+ "brewdoc/_internal/brewdoc-0.5.0.dist-info/METADATA": {
208
+ "bytes": 13777,
209
209
  "kind": "file",
210
210
  "mode": 420,
211
- "sha256": "783b44d4f6d1d6794ba8f04f2e37c3a054750aa7df1312aea3938e18370b2658"
211
+ "sha256": "6b93f4abb6f9e625d5c48e8ada198e4f01665f283a53d93bdf3791612ff81318"
212
212
  },
213
- "brewdoc/_internal/brewdoc-0.4.0.dist-info/RECORD": {
214
- "bytes": 2390,
213
+ "brewdoc/_internal/brewdoc-0.5.0.dist-info/RECORD": {
214
+ "bytes": 2604,
215
215
  "kind": "file",
216
216
  "mode": 420,
217
- "sha256": "6f2f080e612255de403a0b50a69acc218c403c6f7c808eeb41ffc0d8de8bde5b"
217
+ "sha256": "cadfd56423a31625f6cce1ca085cf095e944ceefb100761c4ac975176ad01c34"
218
218
  },
219
- "brewdoc/_internal/brewdoc-0.4.0.dist-info/REQUESTED": {
219
+ "brewdoc/_internal/brewdoc-0.5.0.dist-info/REQUESTED": {
220
220
  "bytes": 0,
221
221
  "kind": "file",
222
222
  "mode": 420,
223
223
  "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
224
224
  },
225
- "brewdoc/_internal/brewdoc-0.4.0.dist-info/WHEEL": {
225
+ "brewdoc/_internal/brewdoc-0.5.0.dist-info/WHEEL": {
226
226
  "bytes": 87,
227
227
  "kind": "file",
228
228
  "mode": 420,
229
229
  "sha256": "5b77e4a649bbfb07fdbc123967eeecd1e5a478cfaca6eefc23c35e6fdf037848"
230
230
  },
231
- "brewdoc/_internal/brewdoc-0.4.0.dist-info/direct_url.json": {
231
+ "brewdoc/_internal/brewdoc-0.5.0.dist-info/direct_url.json": {
232
232
  "bytes": 103,
233
233
  "kind": "file",
234
234
  "mode": 420,
235
- "sha256": "4dc2f345685c305b5688247911a5c34d6c983846d9e59d2f8ae8ac7e9777c3fa"
235
+ "sha256": "46afb8fab4b12f43148f47352eacee64e64b337cc18bb01ff1d2337d5e6402f4"
236
236
  },
237
- "brewdoc/_internal/brewdoc-0.4.0.dist-info/entry_points.txt": {
237
+ "brewdoc/_internal/brewdoc-0.5.0.dist-info/entry_points.txt": {
238
238
  "bytes": 45,
239
239
  "kind": "file",
240
240
  "mode": 420,
241
241
  "sha256": "6af2eb8f963e309d72ab45c59231f975b656f50c18424a67fe1cfab0dc9d6c0e"
242
242
  },
243
- "brewdoc/_internal/brewdoc-0.4.0.dist-info/licenses": {
243
+ "brewdoc/_internal/brewdoc-0.5.0.dist-info/licenses": {
244
244
  "kind": "directory",
245
245
  "mode": 493
246
246
  },
247
- "brewdoc/_internal/brewdoc-0.4.0.dist-info/licenses/LICENSE": {
247
+ "brewdoc/_internal/brewdoc-0.5.0.dist-info/licenses/LICENSE": {
248
248
  "bytes": 1073,
249
249
  "kind": "file",
250
250
  "mode": 420,
251
251
  "sha256": "0cd52b46f781dcd5dcc96c54afc72c007626beb3a60331430c02afde25cd60a9"
252
252
  },
253
- "brewdoc/_internal/brewdoc-0.4.0.dist-info/uv_cache.json": {
253
+ "brewdoc/_internal/brewdoc-0.5.0.dist-info/uv_cache.json": {
254
254
  "bytes": 127,
255
255
  "kind": "file",
256
256
  "mode": 420,
257
- "sha256": "bc2dd7057646e569df6cdb0eba60a47209f736e082b7fecf6fb351131568d7e6"
257
+ "sha256": "8b748362bbd23d2f7f357af7ed0e42ed6bd5dc7f319b8d9f71dee428e3b48fb5"
258
258
  },
259
259
  "brewdoc/_internal/brewdoc/_urljs": {
260
260
  "kind": "directory",
@@ -2211,10 +2211,10 @@
2211
2211
  "sha256": "fe0f992e9acf81baafec12ecf9611ef0885b0ddfd04dc7e2af3fcd132475630c"
2212
2212
  },
2213
2213
  "brewdoc/brewdoc": {
2214
- "bytes": 3972032,
2214
+ "bytes": 4003600,
2215
2215
  "kind": "file",
2216
2216
  "mode": 493,
2217
- "sha256": "9c5bf9dece60e74647cd2981f6a31a5cf2c04e9168df38a775028e61eaef74ab"
2217
+ "sha256": "22315b1e9fc7e332cb3b7c420b02b532e4730f4966a910f201d36cfcbff13309"
2218
2218
  },
2219
2219
  "brewdoc/licenses": {
2220
2220
  "kind": "directory",
@@ -2228,7 +2228,7 @@
2228
2228
  "bytes": 8106,
2229
2229
  "kind": "file",
2230
2230
  "mode": 420,
2231
- "sha256": "38851f6c5be13589a1d96bced82e857de88dbf5b249758e1510e29b26c03784f"
2231
+ "sha256": "49096296dd76381faf1206679169699c5485ecd4d751e084a909852b4f5688ce"
2232
2232
  },
2233
2233
  "brewdoc/licenses/installed/brewdoc": {
2234
2234
  "kind": "directory",
@@ -2238,15 +2238,15 @@
2238
2238
  "kind": "directory",
2239
2239
  "mode": 493
2240
2240
  },
2241
- "brewdoc/licenses/installed/brewdoc/brewdoc-0.4.0.dist-info": {
2241
+ "brewdoc/licenses/installed/brewdoc/brewdoc-0.5.0.dist-info": {
2242
2242
  "kind": "directory",
2243
2243
  "mode": 493
2244
2244
  },
2245
- "brewdoc/licenses/installed/brewdoc/brewdoc-0.4.0.dist-info/licenses": {
2245
+ "brewdoc/licenses/installed/brewdoc/brewdoc-0.5.0.dist-info/licenses": {
2246
2246
  "kind": "directory",
2247
2247
  "mode": 493
2248
2248
  },
2249
- "brewdoc/licenses/installed/brewdoc/brewdoc-0.4.0.dist-info/licenses/LICENSE": {
2249
+ "brewdoc/licenses/installed/brewdoc/brewdoc-0.5.0.dist-info/licenses/LICENSE": {
2250
2250
  "bytes": 1073,
2251
2251
  "kind": "file",
2252
2252
  "mode": 420,
@@ -4116,10 +4116,10 @@
4116
4116
  "bytes": 135,
4117
4117
  "kind": "file",
4118
4118
  "mode": 420,
4119
- "sha256": "e3e7f334cbd488556390ffd0574387b65fd8a27de78a429522b4edb9fbeac13f"
4119
+ "sha256": "7b8e5b6edee63032516930f554e7cb32ec455a05d88ab8c441026d347967f392"
4120
4120
  }
4121
4121
  },
4122
- "lock_sha256": "a54b418eff466e81a327b846b3acff17c53652d68e016e8ee7880089a872ea6a",
4122
+ "lock_sha256": "afcbd72d09ef67b0f9e118a4e85d75d1f6e8a46315e4927c3bc8a23ce226171c",
4123
4123
  "minimum_tested": "macOS 15 on Apple Silicon",
4124
4124
  "oracle": [],
4125
4125
  "probes": [
@@ -4127,6 +4127,7 @@
4127
4127
  "bytes_base64": "UEsDBBQAAAAAAAAAIVBvYassFAAAABQAAAAIAAAAbWltZXR5cGVhcHBsaWNhdGlvbi9lcHViK3ppcFBLAwQUAAAAAAAAACFQZsMSuMMAAADDAAAAFgAAAE1FVEEtSU5GL2NvbnRhaW5lci54bWw8Y29udGFpbmVyIHhtbG5zPSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmNvbnRhaW5lciIgdmVyc2lvbj0iMS4wIj48cm9vdGZpbGVzPjxyb290ZmlsZSBmdWxsLXBhdGg9Ik9QUy9ib29rLm9wZiIgbWVkaWEtdHlwZT0iYXBwbGljYXRpb24vb2VicHMtcGFja2FnZSt4bWwiLz48L3Jvb3RmaWxlcz48L2NvbnRhaW5lcj5QSwMEFAAAAAAAAAAhUFm2frB9AgAAfQIAAAwAAABPUFMvYm9vay5vcGY8cGFja2FnZSB4bWxucz0iaHR0cDovL3d3dy5pZHBmLm9yZy8yMDA3L29wZiIgdmVyc2lvbj0iMi4wIiB1bmlxdWUtaWRlbnRpZmllcj0iYm9vay1pZCI+PG1ldGFkYXRhIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+PGRjOnRpdGxlPmNhZsOpIOadseS6rDwvZGM6dGl0bGU+PGRjOmNyZWF0b3I+Rmlyc3Q8L2RjOmNyZWF0b3I+PGRjOmNyZWF0b3I+Rmlyc3Q8L2RjOmNyZWF0b3I+PGRjOmxhbmd1YWdlPmZyPC9kYzpsYW5ndWFnZT48ZGM6aWRlbnRpZmllciBpZD0iYm9vay1pZCI+dXJuOnN5bnRoZXRpYzwvZGM6aWRlbnRpZmllcj48L21ldGFkYXRhPjxtYW5pZmVzdD48aXRlbSBpZD0iYSIgaHJlZj0iYS54aHRtbCIgbWVkaWEtdHlwZT0iYXBwbGljYXRpb24veGh0bWwreG1sIi8+PGl0ZW0gaWQ9ImIiIGhyZWY9ImIueGh0bWwiIG1lZGlhLXR5cGU9ImFwcGxpY2F0aW9uL3hodG1sK3htbCIvPjxpdGVtIGlkPSJ0b2MiIGhyZWY9InRvYy5uY3giIG1lZGlhLXR5cGU9ImFwcGxpY2F0aW9uL3gtZHRibmN4K3htbCIvPjwvbWFuaWZlc3Q+PHNwaW5lIHRvYz0idG9jIj48aXRlbXJlZiBpZHJlZj0iYiIvPjxpdGVtcmVmIGlkcmVmPSJhIiBsaW5lYXI9Im5vIi8+PC9zcGluZT48L3BhY2thZ2U+UEsDBBQAAAAAAAAAIVBwt4eVgQAAAIEAAAALAAAAT1BTL2EueGh0bWw8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PHRpdGxlPkZhbGxiYWNrPC90aXRsZT48L2hlYWQ+PGJvZHk+PHA+Rmlyc3QgZSYjeDMwMTvCoHdvcmTCrS48L3A+PC9ib2R5PjwvaHRtbD5QSwMEFAAAAAAAAAAhUOMm2fN2AAAAdgAAAAsAAABPUFMvYi54aHRtbDxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48dGl0bGU+RmFsbGJhY2s8L3RpdGxlPjwvaGVhZD48Ym9keT48cD5jYWbDqSDmnbHkuqw8L3A+PC9ib2R5PjwvaHRtbD5QSwMEFAAAAAAAAAAhUP4OjIloAQAAaAEAAAsAAABPUFMvdG9jLm5jeDxuY3ggeG1sbnM9Imh0dHA6Ly93d3cuZGFpc3kub3JnL3ozOTg2LzIwMDUvbmN4LyIgdmVyc2lvbj0iMjAwNS0xIj48aGVhZC8+PGRvY1RpdGxlPjx0ZXh0PlB1YmxpY2F0aW9uPC90ZXh0PjwvZG9jVGl0bGU+PG5hdk1hcD48bmF2UG9pbnQgaWQ9Im5hdi1hIiBwbGF5T3JkZXI9IjkiPjxuYXZMYWJlbD48dGV4dD5BbHBoYTwvdGV4dD48L25hdkxhYmVsPjxjb250ZW50IHNyYz0iYS54aHRtbCIvPjwvbmF2UG9pbnQ+PG5hdlBvaW50IGlkPSJuYXYtYiIgcGxheU9yZGVyPSIxIj48bmF2TGFiZWw+PHRleHQ+zrJldGE8L3RleHQ+PC9uYXZMYWJlbD48Y29udGVudCBzcmM9ImIueGh0bWwiLz48L25hdlBvaW50PjwvbmF2TWFwPjwvbmN4PlBLAQIUAxQAAAAAAAAAIVBvYassFAAAABQAAAAIAAAAAAAAAAAAAACAAQAAAABtaW1ldHlwZVBLAQIUAxQAAAAAAAAAIVBmwxK4wwAAAMMAAAAWAAAAAAAAAAAAAACAAToAAABNRVRBLUlORi9jb250YWluZXIueG1sUEsBAhQDFAAAAAAAAAAhUFm2frB9AgAAfQIAAAwAAAAAAAAAAAAAAIABMQEAAE9QUy9ib29rLm9wZlBLAQIUAxQAAAAAAAAAIVBwt4eVgQAAAIEAAAALAAAAAAAAAAAAAACAAdgDAABPUFMvYS54aHRtbFBLAQIUAxQAAAAAAAAAIVDjJtnzdgAAAHYAAAALAAAAAAAAAAAAAACAAYIEAABPUFMvYi54aHRtbFBLAQIUAxQAAAAAAAAAIVD+DoyJaAEAAGgBAAALAAAAAAAAAAAAAACAASEFAABPUFMvdG9jLm5jeFBLBQYAAAAABgAGAF8BAACyBgAAAAA=",
4128
4128
  "code": 0,
4129
4129
  "markdown_bytes": 2130,
4130
+ "markdown_encoding": "utf-8",
4130
4131
  "markdown_sha256": "4beea667419922013009835a826395558e270bf5a05446f9ec8d79390f25c7ec",
4131
4132
  "path": "sample.epub",
4132
4133
  "probe": "epub2",
@@ -4174,12 +4175,13 @@
4174
4175
  "artifact": {
4175
4176
  "bytes": 664,
4176
4177
  "key": "formula/sheet/000002",
4177
- "sha256": "92d6045ec8191ce818c35e6b0aa32977b2a3e759f88b9b1ef3e6e1dc946bfc5d"
4178
+ "sha256": "872f37eb37da8b3efe6aeb0e71dc18d806b957dabf5664cb8d03b7bf228e41b9"
4178
4179
  },
4179
- "bytes_base64": "UEsDBBQAAAAAAKKbTV3ZAU4y4wIAAOMCAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbDw/eG1sIHZlcnNpb249IjEuMCI/PjxUeXBlcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9jb250ZW50LXR5cGVzIj48RGVmYXVsdCBFeHRlbnNpb249InJlbHMiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtcGFja2FnZS5yZWxhdGlvbnNoaXBzK3htbCIvPjxPdmVycmlkZSBQYXJ0TmFtZT0iL3hsL3dvcmtib29rLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0Lm1haW4reG1sIi8+PE92ZXJyaWRlIFBhcnROYW1lPSIveGwvd29ya3NoZWV0cy9zaGVldDEueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwud29ya3NoZWV0K3htbCIvPjxPdmVycmlkZSBQYXJ0TmFtZT0iL3hsL3dvcmtzaGVldHMvc2hlZXQyLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLndvcmtzaGVldCt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii94bC93b3Jrc2hlZXRzL3NoZWV0My54bWwiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC53b3Jrc2hlZXQreG1sIi8+PC9UeXBlcz5QSwMEFAAAAAAAoptNXUuDozoFAQAABQEAAAsAAABfcmVscy8ucmVsczw/eG1sIHZlcnNpb249IjEuMCI/PjxSZWxhdGlvbnNoaXBzIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L3JlbGF0aW9uc2hpcHMiPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDEiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvb2ZmaWNlRG9jdW1lbnQiIFRhcmdldD0ieGwvd29ya2Jvb2sueG1sIi8+PC9SZWxhdGlvbnNoaXBzPlBLAwQUAAAAAACim01dImE/o1IBAABSAQAADwAAAHhsL3dvcmtib29rLnhtbDw/eG1sIHZlcnNpb249IjEuMCI/Pjx3b3JrYm9vayB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIiB4bWxuczpyPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzIj48c2hlZXRzPjxzaGVldCBuYW1lPSJJbnB1dHMiIHNoZWV0SWQ9IjEiIHI6aWQ9InJJZDEiLz48c2hlZXQgbmFtZT0iQ2FsYyIgc2hlZXRJZD0iMiIgcjppZD0icklkMiIvPjxzaGVldCBuYW1lPSJFbXB0eSIgc2hlZXRJZD0iMyIgcjppZD0icklkMyIvPjwvc2hlZXRzPjwvd29ya2Jvb2s+UEsDBBQAAAAAAKKbTV3JpmJ5IAIAACACAAAaAAAAeGwvX3JlbHMvd29ya2Jvb2sueG1sLnJlbHM8P3htbCB2ZXJzaW9uPSIxLjAiPz48UmVsYXRpb25zaGlwcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9yZWxhdGlvbnNoaXBzIj48UmVsYXRpb25zaGlwIElkPSJySWQxIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3dvcmtzaGVldCIgVGFyZ2V0PSJ3b3Jrc2hlZXRzL3NoZWV0MS54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQyIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3dvcmtzaGVldCIgVGFyZ2V0PSJ3b3Jrc2hlZXRzL3NoZWV0Mi54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQzIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3dvcmtzaGVldCIgVGFyZ2V0PSJ3b3Jrc2hlZXRzL3NoZWV0My54bWwiLz48L1JlbGF0aW9uc2hpcHM+UEsDBBQAAAAAAKKbTV3hQA/x9gAAAPYAAAAYAAAAeGwvd29ya3NoZWV0cy9zaGVldDEueG1sPHdvcmtzaGVldCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIj48c2hlZXREYXRhPjxyb3cgcj0iMSI+PGMgcj0iQTEiPjx2PjE8L3Y+PC9jPjwvcm93Pjxyb3cgcj0iMiI+PGMgcj0iQTIiPjx2PjI8L3Y+PC9jPjwvcm93Pjxyb3cgcj0iMyI+PGMgcj0iQTMiPjxmPlNVTShBMTpBMik8L2Y+PHY+Mzwvdj48L2M+PC9yb3c+PC9zaGVldERhdGE+PC93b3Jrc2hlZXQ+UEsDBBQAAAAAAKKbTV3R4blYmQEAAJkBAAAYAAAAeGwvd29ya3NoZWV0cy9zaGVldDIueG1sPHdvcmtzaGVldCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIj48c2hlZXREYXRhPjxyb3cgcj0iMSI+PGMgcj0iQTEiPjxmPlNVTShJbnB1dHMhQTE6QTIpPC9mPjx2PjM8L3Y+PC9jPjxjIHI9IkIxIj48ZiB0PSJzaGFyZWQiIHJlZj0iQjE6QjIiIHNpPSI3Ij5JbnB1dHMhQTEqMjwvZj48dj4yPC92PjwvYz48L3Jvdz48cm93IHI9IjIiPjxjIHI9IkIyIj48ZiBzaT0iNyIgdD0ic2hhcmVkIi8+PHY+NDwvdj48L2M+PC9yb3c+PHJvdyByPSIzIj48YyByPSJDMyI+PGYgYng9IjAiIGFjYT0iMSI+SUYoQTEmbHQ7NCwmcXVvdDtjYWbDqSZxdW90OywmcXVvdDsmcXVvdDspPC9mPjx2PjE8L3Y+PC9jPjwvcm93Pjwvc2hlZXREYXRhPjwvd29ya3NoZWV0PlBLAwQUAAAAAACim01dCntq/2UAAABlAAAAGAAAAHhsL3dvcmtzaGVldHMvc2hlZXQzLnhtbDx3b3Jrc2hlZXQgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9zcHJlYWRzaGVldG1sLzIwMDYvbWFpbiI+PHNoZWV0RGF0YS8+PC93b3Jrc2hlZXQ+UEsBAhQDFAAAAAAAoptNXdkBTjLjAgAA4wIAABMAAAAAAAAAAAAAAIABAAAAAFtDb250ZW50X1R5cGVzXS54bWxQSwECFAMUAAAAAACim01dS4OjOgUBAAAFAQAACwAAAAAAAAAAAAAAgAEUAwAAX3JlbHMvLnJlbHNQSwECFAMUAAAAAACim01dImE/o1IBAABSAQAADwAAAAAAAAAAAAAAgAFCBAAAeGwvd29ya2Jvb2sueG1sUEsBAhQDFAAAAAAAoptNXcmmYnkgAgAAIAIAABoAAAAAAAAAAAAAAIABwQUAAHhsL19yZWxzL3dvcmtib29rLnhtbC5yZWxzUEsBAhQDFAAAAAAAoptNXeFAD/H2AAAA9gAAABgAAAAAAAAAAAAAAIABGQgAAHhsL3dvcmtzaGVldHMvc2hlZXQxLnhtbFBLAQIUAxQAAAAAAKKbTV3R4blYmQEAAJkBAAAYAAAAAAAAAAAAAACAAUUJAAB4bC93b3Jrc2hlZXRzL3NoZWV0Mi54bWxQSwECFAMUAAAAAACim01dCntq/2UAAABlAAAAGAAAAAAAAAAAAAAAgAEUCwAAeGwvd29ya3NoZWV0cy9zaGVldDMueG1sUEsFBgAAAAAHAAcA0QEAAK8LAAAAAA==",
4180
+ "bytes_base64": "UEsDBBQAAAAAAMJyTl3ZAU4y4wIAAOMCAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbDw/eG1sIHZlcnNpb249IjEuMCI/PjxUeXBlcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9jb250ZW50LXR5cGVzIj48RGVmYXVsdCBFeHRlbnNpb249InJlbHMiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtcGFja2FnZS5yZWxhdGlvbnNoaXBzK3htbCIvPjxPdmVycmlkZSBQYXJ0TmFtZT0iL3hsL3dvcmtib29rLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0Lm1haW4reG1sIi8+PE92ZXJyaWRlIFBhcnROYW1lPSIveGwvd29ya3NoZWV0cy9zaGVldDEueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwud29ya3NoZWV0K3htbCIvPjxPdmVycmlkZSBQYXJ0TmFtZT0iL3hsL3dvcmtzaGVldHMvc2hlZXQyLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLndvcmtzaGVldCt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii94bC93b3Jrc2hlZXRzL3NoZWV0My54bWwiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC53b3Jrc2hlZXQreG1sIi8+PC9UeXBlcz5QSwMEFAAAAAAAwnJOXUuDozoFAQAABQEAAAsAAABfcmVscy8ucmVsczw/eG1sIHZlcnNpb249IjEuMCI/PjxSZWxhdGlvbnNoaXBzIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L3JlbGF0aW9uc2hpcHMiPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDEiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvb2ZmaWNlRG9jdW1lbnQiIFRhcmdldD0ieGwvd29ya2Jvb2sueG1sIi8+PC9SZWxhdGlvbnNoaXBzPlBLAwQUAAAAAADCck5dImE/o1IBAABSAQAADwAAAHhsL3dvcmtib29rLnhtbDw/eG1sIHZlcnNpb249IjEuMCI/Pjx3b3JrYm9vayB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIiB4bWxuczpyPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzIj48c2hlZXRzPjxzaGVldCBuYW1lPSJJbnB1dHMiIHNoZWV0SWQ9IjEiIHI6aWQ9InJJZDEiLz48c2hlZXQgbmFtZT0iQ2FsYyIgc2hlZXRJZD0iMiIgcjppZD0icklkMiIvPjxzaGVldCBuYW1lPSJFbXB0eSIgc2hlZXRJZD0iMyIgcjppZD0icklkMyIvPjwvc2hlZXRzPjwvd29ya2Jvb2s+UEsDBBQAAAAAAMJyTl3JpmJ5IAIAACACAAAaAAAAeGwvX3JlbHMvd29ya2Jvb2sueG1sLnJlbHM8P3htbCB2ZXJzaW9uPSIxLjAiPz48UmVsYXRpb25zaGlwcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9yZWxhdGlvbnNoaXBzIj48UmVsYXRpb25zaGlwIElkPSJySWQxIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3dvcmtzaGVldCIgVGFyZ2V0PSJ3b3Jrc2hlZXRzL3NoZWV0MS54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQyIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3dvcmtzaGVldCIgVGFyZ2V0PSJ3b3Jrc2hlZXRzL3NoZWV0Mi54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQzIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3dvcmtzaGVldCIgVGFyZ2V0PSJ3b3Jrc2hlZXRzL3NoZWV0My54bWwiLz48L1JlbGF0aW9uc2hpcHM+UEsDBBQAAAAAAMJyTl3hQA/x9gAAAPYAAAAYAAAAeGwvd29ya3NoZWV0cy9zaGVldDEueG1sPHdvcmtzaGVldCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIj48c2hlZXREYXRhPjxyb3cgcj0iMSI+PGMgcj0iQTEiPjx2PjE8L3Y+PC9jPjwvcm93Pjxyb3cgcj0iMiI+PGMgcj0iQTIiPjx2PjI8L3Y+PC9jPjwvcm93Pjxyb3cgcj0iMyI+PGMgcj0iQTMiPjxmPlNVTShBMTpBMik8L2Y+PHY+Mzwvdj48L2M+PC9yb3c+PC9zaGVldERhdGE+PC93b3Jrc2hlZXQ+UEsDBBQAAAAAAMJyTl3R4blYmQEAAJkBAAAYAAAAeGwvd29ya3NoZWV0cy9zaGVldDIueG1sPHdvcmtzaGVldCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIj48c2hlZXREYXRhPjxyb3cgcj0iMSI+PGMgcj0iQTEiPjxmPlNVTShJbnB1dHMhQTE6QTIpPC9mPjx2PjM8L3Y+PC9jPjxjIHI9IkIxIj48ZiB0PSJzaGFyZWQiIHJlZj0iQjE6QjIiIHNpPSI3Ij5JbnB1dHMhQTEqMjwvZj48dj4yPC92PjwvYz48L3Jvdz48cm93IHI9IjIiPjxjIHI9IkIyIj48ZiBzaT0iNyIgdD0ic2hhcmVkIi8+PHY+NDwvdj48L2M+PC9yb3c+PHJvdyByPSIzIj48YyByPSJDMyI+PGYgYng9IjAiIGFjYT0iMSI+SUYoQTEmbHQ7NCwmcXVvdDtjYWbDqSZxdW90OywmcXVvdDsmcXVvdDspPC9mPjx2PjE8L3Y+PC9jPjwvcm93Pjwvc2hlZXREYXRhPjwvd29ya3NoZWV0PlBLAwQUAAAAAADCck5dCntq/2UAAABlAAAAGAAAAHhsL3dvcmtzaGVldHMvc2hlZXQzLnhtbDx3b3Jrc2hlZXQgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9zcHJlYWRzaGVldG1sLzIwMDYvbWFpbiI+PHNoZWV0RGF0YS8+PC93b3Jrc2hlZXQ+UEsBAhQDFAAAAAAAwnJOXdkBTjLjAgAA4wIAABMAAAAAAAAAAAAAAIABAAAAAFtDb250ZW50X1R5cGVzXS54bWxQSwECFAMUAAAAAADCck5dS4OjOgUBAAAFAQAACwAAAAAAAAAAAAAAgAEUAwAAX3JlbHMvLnJlbHNQSwECFAMUAAAAAADCck5dImE/o1IBAABSAQAADwAAAAAAAAAAAAAAgAFCBAAAeGwvd29ya2Jvb2sueG1sUEsBAhQDFAAAAAAAwnJOXcmmYnkgAgAAIAIAABoAAAAAAAAAAAAAAIABwQUAAHhsL19yZWxzL3dvcmtib29rLnhtbC5yZWxzUEsBAhQDFAAAAAAAwnJOXeFAD/H2AAAA9gAAABgAAAAAAAAAAAAAAIABGQgAAHhsL3dvcmtzaGVldHMvc2hlZXQxLnhtbFBLAQIUAxQAAAAAAMJyTl3R4blYmQEAAJkBAAAYAAAAAAAAAAAAAACAAUUJAAB4bC93b3Jrc2hlZXRzL3NoZWV0Mi54bWxQSwECFAMUAAAAAADCck5dCntq/2UAAABlAAAAGAAAAAAAAAAAAAAAgAEUCwAAeGwvd29ya3NoZWV0cy9zaGVldDMueG1sUEsFBgAAAAAHAAcA0QEAAK8LAAAAAA==",
4180
4181
  "code": 0,
4181
4182
  "markdown_bytes": 2285,
4182
- "markdown_sha256": "bd0dad22998742a83d1aba2d728e30e2ebdd2030d7023edcec37f1d71c21dd3d",
4183
+ "markdown_encoding": "utf-8",
4184
+ "markdown_sha256": "7415d7e09e1a788f87a27f10b38cf50e239c8b127a9a1436b4bce1f392f27b1a",
4183
4185
  "path": "formulas.xlsx",
4184
4186
  "probe": "formula",
4185
4187
  "receipt": {
@@ -4243,7 +4245,7 @@
4243
4245
  "unit_kind": "sheet",
4244
4246
  "units": 3
4245
4247
  },
4246
- "source_sha256": "3042b7b05e61af15c0cadaf9ee917a0651c8f1c115054ef104fc5c3060b06016"
4248
+ "source_sha256": "a917f82562151f4e129d0d59e2c08ee0c26b6766992a93364fd380e3a32090ce"
4247
4249
  }
4248
4250
  ],
4249
4251
  "python": "3.12.14",
@@ -4299,10 +4301,6 @@
4299
4301
  }
4300
4302
  ],
4301
4303
  "packages": [
4302
- {
4303
- "name": "brewdoc",
4304
- "version": "0.4.0"
4305
- },
4306
4304
  {
4307
4305
  "name": "quickjs-ng",
4308
4306
  "version": "0.17.0.1"
@@ -4331,6 +4329,10 @@
4331
4329
  "name": "cffi",
4332
4330
  "version": "2.1.1"
4333
4331
  },
4332
+ {
4333
+ "name": "brewdoc",
4334
+ "version": "0.5.0"
4335
+ },
4334
4336
  {
4335
4337
  "name": "pdfplumber",
4336
4338
  "version": "0.11.10"
@@ -4356,9 +4358,9 @@
4356
4358
  "macos": "Ad hoc build signature; no Developer ID signing or notarization",
4357
4359
  "windows": "Unsigned; publisher signing has not been configured"
4358
4360
  },
4359
- "source_sha": "212ea560d6aea4cad66364c129346356820fd850",
4361
+ "source_sha": "1471975a6fbd8a17766278fd5a0738c095f2ec57",
4360
4362
  "target": "macos-arm64",
4361
4363
  "verification_scope": "smoke",
4362
- "version": "0.4.0",
4363
- "wheel_sha256": "806866a0adcfe7fb3f1e500243a678f4a566ed3d8ab5b3cf844ae6dd8480b1d0"
4364
+ "version": "0.5.0",
4365
+ "wheel_sha256": "e4feada9966b0affc54833b7df428a6a3d2072ccf102a8b2125b1fed7d061832"
4364
4366
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "archive_sha256": "b15d6a40f9dc9c253d2a978873bc12473e76a1586431d3636a735f5dd12e0bff",
2
+ "archive_sha256": "4ad6b07de2af9a89912a6682c133528a49fab5eb72c5c2dca98d8e099abc9aaf",
3
3
  "children": {
4
4
  "dns": [
5
5
  "::1",
@@ -330,9 +330,9 @@
330
330
  ],
331
331
  "schema": 1,
332
332
  "self_check": 38,
333
- "source_sha": "212ea560d6aea4cad66364c129346356820fd850",
333
+ "source_sha": "1471975a6fbd8a17766278fd5a0738c095f2ec57",
334
334
  "target": "macos-arm64",
335
335
  "verdict": "PASS",
336
336
  "verification_scope": "smoke",
337
- "version": "0.4.0"
337
+ "version": "0.5.0"
338
338
  }
package/package.json CHANGED
@@ -22,5 +22,5 @@
22
22
  "type": "git",
23
23
  "url": "git+https://github.com/kochetkov-ma/brewdoc.git"
24
24
  },
25
- "version": "0.4.0"
25
+ "version": "0.5.0"
26
26
  }
@@ -1,30 +0,0 @@
1
- ../../../bin/brewdoc,sha256=EBcDAz0fm_7gb81W-eoCcf0v2BLUMB1QEU85SQT2Xc0,344
2
- brewdoc-0.4.0.dist-info/INSTALLER,sha256=5hhM4Q4mYTT9z6QB6PGpUAW81PGNFrYrdXMj4oM_6ak,2
3
- brewdoc-0.4.0.dist-info/METADATA,sha256=eDtE1PbR1nlLqPBPLjfDoFR1CqffExKuo5OOGDcLJlg,12383
4
- brewdoc-0.4.0.dist-info/RECORD,,
5
- brewdoc-0.4.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
- brewdoc-0.4.0.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
7
- brewdoc-0.4.0.dist-info/direct_url.json,sha256=TcLzRWhcMFtWiCR5EaXDTWyYOEbZ5Z0viuisfpd3w_o,103
8
- brewdoc-0.4.0.dist-info/entry_points.txt,sha256=avLrj5Y-MJ1yq0XFkjH5dbZW9QwYQkpn_hz6sNydbA4,45
9
- brewdoc-0.4.0.dist-info/licenses/LICENSE,sha256=DNUrRveB3NXcyWxUr8csAHYmvrOmAzFDDAKv3iXNYKk,1073
10
- brewdoc-0.4.0.dist-info/uv_cache.json,sha256=vC3XBXZG5WnfbNsOumCkcgn3NuCCt_7Pb7NRExVo1-Y,127
11
- brewdoc/__init__.py,sha256=57a_rT3kUOOrRQKTJ8WJ1tXp8ZC9-UIPeE67amLaUIM,867
12
- brewdoc/_standalone.py,sha256=-zfCo75E8YlQexHuPoTu1tl1SJGMNftH1JXSt6qilxo,4705
13
- brewdoc/_urljs/__init__.py,sha256=SrVyNMaD02iahY2zp3kggkW7KGJ1xv-C5d4DK1-JYWw,51
14
- brewdoc/_urljs/glue.js,sha256=aU6lhMMxZcPxZSNctfUd-X91gkV6mgElWFFV_SnUWqM,41449
15
- brewdoc/_urljs/native.py,sha256=ggTisaUThjXp6RN973T06krxCDglvzytF05_2NEraWs,44168
16
- brewdoc/_vendor/THIRD_PARTY_NOTICES.txt,sha256=Mg3dxJ1SNPASEu4_ruk2j-7WM0lZmrfulGCUpNoOZak,26003
17
- brewdoc/_vendor/linkedom-worker.js,sha256=6p8d5psAnSEJaN2PTT9OzxCVvt-A04nsgyRMFxNXgog,411521
18
- brewdoc/cli.py,sha256=Gq_SNSzmGB7uCwjxVbT27G9PHeb7aTIx1-3qqgLZApw,5995
19
- brewdoc/common.py,sha256=dsRSYS45CbIBphhLS_Amb_8ftmChSRrP_Dh21ZxfkXQ,27833
20
- brewdoc/docx.py,sha256=0rW0l0yao0yg511Fx0iYRaaS6i31Mr_djleajH9FWKA,5355
21
- brewdoc/epub.py,sha256=g97-YQhmTr3ufzDxxwsIuB6eRzPiDc_VhvgHBk-mCYk,50502
22
- brewdoc/htmljs.py,sha256=lTfAN1ycDiRh0d7kB1bLX6Cd33sGcnPVrYnmj61P_AY,41410
23
- brewdoc/htmltext.py,sha256=F0IjoF0zPcsSKQRsEJrtZTjFKKYTPNzJ2fPLuHWhRxQ,40566
24
- brewdoc/htmlurl.py,sha256=RV8Cvp3Qle_y_6m--FMdeeJ19YWCOX6B--w27sJ8Z38,36862
25
- brewdoc/output.py,sha256=aMgDoB5UDbRWYr9pBxlH402jEiUl8OSEqhox31O0ljk,4123
26
- brewdoc/pdf.py,sha256=FVpRvH81yDTaUuPDIl8VoeXvnYeCMaipunbjtygKrMY,59185
27
- brewdoc/pptx.py,sha256=t6-0o7okV5hWVtnbFLJ9xrzbYjMFbxT3kvOgyUIgqvY,17167
28
- brewdoc/selfcheck.py,sha256=2jAYsCiL4G38Jt5Z_YLkJN1d8EYGpPE17zIBUDLOavM,24858
29
- brewdoc/service.py,sha256=8HfvaJtCEztvnnAGOzwtIYz2VhSfXg1VTVEmYtb_ubg,6576
30
- brewdoc/sheets.py,sha256=yZLPoTB2Q78mmfBglDTGzBDezJY-rlvQw5kA9JGcU9U,15807
@@ -1 +0,0 @@
1
- {"url":"file:///Users/runner/work/_temp/ci-dist/dist/brewdoc-0.4.0-py3-none-any.whl","archive_info":{}}
@@ -1 +0,0 @@
1
- {"timestamp":{"secs_since_epoch":1791919736,"nanos_since_epoch":726109709},"commit":null,"tags":null,"env":{},"directories":{}}