hazo_collab_forms 6.30.1 → 6.30.3

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.
Files changed (3) hide show
  1. package/CHANGE_LOG.md +2 -0
  2. package/README.md +16 -0
  3. package/package.json +12 -12
package/CHANGE_LOG.md CHANGED
@@ -19,6 +19,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
19
19
  - **`KeyInfoGridEditor`** (new export): a reusable 3-column drag-drop grid editor for Key Info fields, factored out of `KeyInfoFieldManagerDialog`'s internals so it can be embedded directly in app-side editors (not just inside the dialog). Supports inline label editing on filled cells, dashed "Add field" spacer slots that open a caller-supplied `library_slot` picker, and cascade reordering via `arrayMove` when a field is dropped onto an occupied cell (the displaced field shifts forward, matching the dialog's existing knock-on behavior).
20
20
  - **`on_delete_row` prop on `KeyInfoGridEditor`** (6.28.0): optional callback that renders a hover-revealed trash affordance in a right-hand gutter on each grid row. Clicking it fires `on_delete_row(field_ids)` with the ids of every cell in that row (filled fields and spacers), left-to-right, so a consumer can delete a whole row at once. Omitted → no per-row delete control renders (unchanged for existing consumers).
21
21
 
22
+ ## 6.30.3 — 2026-07-05
23
+
22
24
  ### Fixed
23
25
  - **`use_file_pipeline` no longer silently strands a file when classification fails.** When the classify API kept failing (LLM overload / network error / bad API key), the pipeline swallowed the error, returned `null`, and marked the file `'done'` — leaving no durable trace, so the office (which renders the persisted thread) never saw the uploaded file. Now `process_file` surfaces a `classification_error` string and emits an **error `doc_check`** message (`status: 'error'`, persisted and agent-visible), sets the file's pipeline status to `'error'` (not `'done'`, so the misleading spinner stops), and `thread_form` persists `classification_error` onto the content-item so the failure survives refresh and can be re-classified/healed.
24
26
  - **`post_classification` fails fast on permanent auth errors.** A `401`/`403` (e.g. an expired/invalid API key) now returns immediately instead of burning through retries, and the error propagates instead of masquerading as a transient overload.
package/README.md CHANGED
@@ -3207,6 +3207,22 @@ const fileManager: FileManagerConfig = {
3207
3207
 
3208
3208
  **Requires**: `hazo_llm_api` optional peer dependency for LLM integration.
3209
3209
 
3210
+ ### Classification failure handling (v6.30.3)
3211
+
3212
+ When the classify API keeps failing (LLM overload, network error, invalid API
3213
+ key), the file is **not** silently marked done. Instead the pipeline:
3214
+
3215
+ - surfaces a `classification_error` string and emits an **error `doc_check`**
3216
+ (`status: 'error'`) that is persisted and agent-visible,
3217
+ - sets the file's pipeline status to `'error'` (the spinner stops),
3218
+ - persists `classification_error` onto the `ContentItem` so the failure
3219
+ survives a refresh and can be re-classified/healed.
3220
+
3221
+ A `401`/`403` from the classify route (bad/expired API key) fails fast instead
3222
+ of burning through retries. A legitimate *skip* (no classify URL configured, or
3223
+ an undeterminable mime type) leaves `classification_error` null and is not
3224
+ treated as a failure.
3225
+
3210
3226
  ---
3211
3227
 
3212
3228
  ## Inline extracted fields (Collected Data tab)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hazo_collab_forms",
3
- "version": "6.30.1",
3
+ "version": "6.30.3",
4
4
  "description": "Collaboration form elements",
5
5
  "type": "module",
6
6
  "main": "./dist/index.client.js",
@@ -125,20 +125,20 @@
125
125
  "@radix-ui/react-dialog": "^1.0.0",
126
126
  "@radix-ui/react-label": "^2.0.0",
127
127
  "@radix-ui/react-popover": "^1.0.0",
128
- "hazo_api": "^2.3.1",
129
- "hazo_audit": "^2.1.1",
130
- "hazo_auth": "^10.4.1",
128
+ "hazo_api": "^2.5.1",
129
+ "hazo_audit": "^2.1.2",
130
+ "hazo_auth": "^10.5.0",
131
131
  "hazo_chat": "^6.0.0",
132
- "hazo_config": "^2.3.0",
133
- "hazo_connect": "^3.7.0",
134
- "hazo_core": "^1.2.0",
135
- "hazo_files": "^3.0.0",
136
- "hazo_ihelp": "^2.1.1",
132
+ "hazo_config": "^2.4.1",
133
+ "hazo_connect": "^3.9.0",
134
+ "hazo_core": "^1.2.1",
135
+ "hazo_files": "^3.1.1",
136
+ "hazo_ihelp": "^2.4.0",
137
137
  "hazo_llm_api": "^2.1.0",
138
- "hazo_logs": "^2.0.3",
138
+ "hazo_logs": "^2.1.1",
139
139
  "hazo_notes": "^2.0.0",
140
- "hazo_pdf": "^2.0.0",
141
- "hazo_ui": "^4.4.0",
140
+ "hazo_pdf": "^2.1.0",
141
+ "hazo_ui": "^4.8.0",
142
142
  "lucide-react": "^0.553.0",
143
143
  "react": "^18.0.0 || ^19.0.0",
144
144
  "react-dom": "^18.0.0 || ^19.0.0",