bunnyquery 1.8.18 → 1.9.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bunnyquery",
3
- "version": "1.8.18",
3
+ "version": "1.9.0",
4
4
  "description": "Embeddable BunnyQuery AI chat widget + its framework-agnostic chat engine",
5
5
  "main": "bunnyquery.js",
6
6
  "exports": {
@@ -117,13 +117,31 @@ export const isOfficeFile = isServerExtractable;
117
117
  // CSV/TSV specifically must be here rather than in the inline path: the layer now gives
118
118
  // them ROW-bounded windows with absolute row numbers, where the character windower used
119
119
  // to split rows across boundaries and emit no row numbers at all.
120
+ // Only extensions the LAYER can actually extract belong here (_OFFICE_EXTRACTORS in
121
+ // office_extraction.py). Listing one it cannot read would page a file the reader answers
122
+ // with UNSUPPORTED_FORMAT on every window.
123
+ //
124
+ // The document formats below were extractable all along and simply were not listed, so
125
+ // every one of them took the 200k one-shot path and was silently truncated - .hwp most
126
+ // painfully, since the layer carries a full OLE/CFB + AES-128 parser for it.
127
+ //
128
+ // Deliberately NOT here: the ~40 source/config extensions the layer also decodes (.py,
129
+ // .sql, .css, .toml ...). They are windowable, but adding them moves every small code
130
+ // upload from one pass to multi-pass worker indexing, which is a cost change that wants
131
+ // measuring on its own rather than riding along with this one.
120
132
  const PAGED_READ_EXTENSIONS = new Set([
121
133
  // grids
122
134
  'xls', 'xlsx', 'xlsm', 'ods',
123
135
  // delimited text (row-windowed by the layer)
124
136
  'csv', 'tsv', 'tab',
125
137
  // documents
126
- 'pdf', 'docx', 'pptx',
138
+ 'pdf', 'docx', 'docm', 'pptx', 'pptm', 'doc', 'ppt',
139
+ // Korean word processor (OLE/CFB and OOXML-style variants)
140
+ 'hwp', 'hwpx',
141
+ // opendocument text/presentation (ods is a grid, listed above)
142
+ 'odt', 'odp',
143
+ // other long-form documents
144
+ 'epub', 'rtf', 'html', 'htm',
127
145
  // plain text / data / markup
128
146
  'txt', 'md', 'markdown', 'log', 'json', 'jsonl', 'ndjson', 'xml', 'yaml', 'yml',
129
147
  ]);