hazo_collab_forms 2.0.2 → 2.0.4
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/CHANGE_LOG.md +17 -0
- package/README.md +317 -44
- package/dist/components/_internal_form_set.d.ts +5 -0
- package/dist/components/_internal_form_set.d.ts.map +1 -1
- package/dist/components/_internal_form_set.js +6 -2
- package/dist/components/_internal_form_set.js.map +1 -1
- package/dist/components/clarification/use_clarifications.d.ts +7 -0
- package/dist/components/clarification/use_clarifications.d.ts.map +1 -1
- package/dist/components/clarification/use_clarifications.js +35 -0
- package/dist/components/clarification/use_clarifications.js.map +1 -1
- package/dist/components/hazo_collab_form_group.d.ts +8 -0
- package/dist/components/hazo_collab_form_group.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_group.js +7 -1
- package/dist/components/hazo_collab_form_group.js.map +1 -1
- package/dist/components/hazo_collab_form_view/context.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/context.js +3 -1
- package/dist/components/hazo_collab_form_view/context.js.map +1 -1
- package/dist/components/hazo_collab_form_view/hooks/use_view_callbacks.d.ts +1 -0
- package/dist/components/hazo_collab_form_view/hooks/use_view_callbacks.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/hooks/use_view_callbacks.js +4 -0
- package/dist/components/hazo_collab_form_view/hooks/use_view_callbacks.js.map +1 -1
- package/dist/components/hazo_collab_form_view/types.d.ts +4 -0
- package/dist/components/hazo_collab_form_view/types.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/views/edit_view.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/views/edit_view.js +4 -2
- package/dist/components/hazo_collab_form_view/views/edit_view.js.map +1 -1
- package/dist/components/hazo_collab_form_view/views/summary_view.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/views/summary_view.js +2 -0
- package/dist/components/hazo_collab_form_view/views/summary_view.js.map +1 -1
- package/dist/components/hazo_data_form/ghost_form_panel.d.ts +25 -0
- package/dist/components/hazo_data_form/ghost_form_panel.d.ts.map +1 -0
- package/dist/components/hazo_data_form/ghost_form_panel.js +91 -0
- package/dist/components/hazo_data_form/ghost_form_panel.js.map +1 -0
- package/dist/components/hazo_data_form/hazo_data_form.d.ts +4 -1
- package/dist/components/hazo_data_form/hazo_data_form.d.ts.map +1 -1
- package/dist/components/hazo_data_form/hazo_data_form.js +153 -7
- package/dist/components/hazo_data_form/hazo_data_form.js.map +1 -1
- package/dist/components/hazo_data_form/index.d.ts +2 -0
- package/dist/components/hazo_data_form/index.d.ts.map +1 -1
- package/dist/components/hazo_data_form/index.js +2 -0
- package/dist/components/hazo_data_form/index.js.map +1 -1
- package/dist/components/hazo_data_form/pdf_panel.d.ts +24 -0
- package/dist/components/hazo_data_form/pdf_panel.d.ts.map +1 -0
- package/dist/components/hazo_data_form/pdf_panel.js +29 -0
- package/dist/components/hazo_data_form/pdf_panel.js.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_field_layout.d.ts.map +1 -1
- package/dist/components/hazo_data_form/shared/data_form_field_layout.js +2 -2
- package/dist/components/hazo_data_form/shared/data_form_field_layout.js.map +1 -1
- package/dist/components/hazo_data_form/types.d.ts +18 -0
- package/dist/components/hazo_data_form/types.d.ts.map +1 -1
- package/dist/components/hazo_template_generator/types.d.ts.map +1 -1
- package/dist/components/hazo_template_generator/types.js +2 -0
- package/dist/components/hazo_template_generator/types.js.map +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/shared/role_utils/role_utils.d.ts.map +1 -1
- package/dist/components/shared/role_utils/role_utils.js +6 -0
- package/dist/components/shared/role_utils/role_utils.js.map +1 -1
- package/dist/components/shared/unified_field_controls/constants.d.ts.map +1 -1
- package/dist/components/shared/unified_field_controls/constants.js +3 -0
- package/dist/components/shared/unified_field_controls/constants.js.map +1 -1
- package/dist/components/shared/unified_field_controls/kebab_menu.d.ts.map +1 -1
- package/dist/components/shared/unified_field_controls/kebab_menu.js +13 -3
- package/dist/components/shared/unified_field_controls/kebab_menu.js.map +1 -1
- package/dist/components/shared/unified_field_controls/types.d.ts +5 -0
- package/dist/components/shared/unified_field_controls/types.d.ts.map +1 -1
- package/dist/components/shared/unified_field_controls/unified_field_controls.d.ts.map +1 -1
- package/dist/components/shared/unified_field_controls/unified_field_controls.js +16 -1
- package/dist/components/shared/unified_field_controls/unified_field_controls.js.map +1 -1
- package/dist/components/shared/unified_field_controls/use_control_resolution.d.ts.map +1 -1
- package/dist/components/shared/unified_field_controls/use_control_resolution.js +1 -0
- package/dist/components/shared/unified_field_controls/use_control_resolution.js.map +1 -1
- package/dist/components/shared/unified_field_controls/use_field_control_props.d.ts +3 -0
- package/dist/components/shared/unified_field_controls/use_field_control_props.d.ts.map +1 -1
- package/dist/components/shared/unified_field_controls/use_field_control_props.js +8 -4
- package/dist/components/shared/unified_field_controls/use_field_control_props.js.map +1 -1
- package/dist/lib/autofill_handler.d.ts +14 -1
- package/dist/lib/autofill_handler.d.ts.map +1 -1
- package/dist/lib/autofill_handler.js +5 -1
- package/dist/lib/autofill_handler.js.map +1 -1
- package/dist/lib/create_data_route.d.ts +42 -0
- package/dist/lib/create_data_route.d.ts.map +1 -0
- package/dist/lib/create_data_route.js +280 -0
- package/dist/lib/create_data_route.js.map +1 -0
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +1 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/validation_handler.d.ts.map +1 -1
- package/dist/lib/validation_handler.js +6 -2
- package/dist/lib/validation_handler.js.map +1 -1
- package/dist/types/icons_behaviour.d.ts +1 -1
- package/dist/types/icons_behaviour.d.ts.map +1 -1
- package/dist/types/icons_behaviour.js +2 -0
- package/dist/types/icons_behaviour.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/validation.d.ts +16 -1
- package/dist/types/validation.d.ts.map +1 -1
- package/package.json +10 -2
package/CHANGE_LOG.md
CHANGED
|
@@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [2.0.3] - 2026-03-05
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **Data Route Factory**: `create_data_route` (from `hazo_collab_forms/lib`)
|
|
15
|
+
- Backend-agnostic CRUD route factory. Replaces boilerplate REST endpoints (~200 lines) with a single function call.
|
|
16
|
+
- Supports GET, POST, PATCH, DELETE with the standard hazo_connect request format.
|
|
17
|
+
- Optional `allowed_tables` whitelist for security.
|
|
18
|
+
- Works with any hazo_connect backend (SQLite, PostgREST, Supabase).
|
|
19
|
+
- Types exported: `DataRouteOptions` (from `hazo_collab_forms/lib`), `HazoConnectAdapterLike` (from `hazo_collab_forms` and `hazo_collab_forms/types`).
|
|
20
|
+
- **hazo_connect_adapter option**: `create_validation_route` and `create_autofill_route` now accept `hazo_connect_adapter` for backend-agnostic prompt lookup (`sqlite_path` deprecated).
|
|
21
|
+
- **hazo_connect peer dependency**: Added as optional peer dependency (`>=2.4.0`).
|
|
22
|
+
- **HazoDataForm sidebar PDF panel**: New `file_panel_display_mode="sidebar"` mode embeds a `PdfPanel` alongside the form, aligned vertically with the active field using a ghost form layout. New props: `pdf_panel_default_size`, `pdf_panel_min_size`, `pdf_viewer_props`, `on_panel_open`, `on_panel_close`, `on_panel_pop_out`, `file_access_provider`, `on_panel_upload`, `on_panel_file_delete`.
|
|
23
|
+
- **PdfPanel component**: Exported standalone (`import { PdfPanel } from 'hazo_collab_forms'`). Dynamically loads `PdfViewer` from optional peer `hazo_pdf`.
|
|
24
|
+
- **Clarification click always enabled**: `on_clarification_click` is now always set (not gated on `get_pending_count > 0`) so the click handler fires even before counts load.
|
|
25
|
+
- **hazo_pdf optional peer dependency**: Declared in `peerDependenciesMeta` as optional (required only when using `file_panel_display_mode="sidebar"`).
|
|
26
|
+
|
|
10
27
|
## [2.0.2] - 2026-03-04
|
|
11
28
|
|
|
12
29
|
### Changed
|
package/README.md
CHANGED
|
@@ -28,6 +28,7 @@ React form components with integrated chat collaboration, built for Next.js with
|
|
|
28
28
|
- **Custom File Validators**: Implement custom validation logic before file upload
|
|
29
29
|
- **Form Sets**: JSON-based dynamic form generation with full file upload support
|
|
30
30
|
- **Data Form (Working Paper)**: Structured data form component with style variants, field type definitions, computed fields, formula evaluation, and file management
|
|
31
|
+
- **Sidebar PDF Panel**: Embedded PDF viewer panel that opens alongside form fields in HazoDataForm, with ghost-form alignment, pop-out dialog support, and file upload/delete callbacks
|
|
31
32
|
- **Financial Fields**: Currency, percentage, masked input, and computed field components with locale-aware formatting
|
|
32
33
|
- **Style Variant System**: Configurable style tokens and class definitions for form field styling
|
|
33
34
|
- **Autofill Dropzone**: LLM-powered document extraction with multi-file support, progressive data table population, and overwrite conflict detection
|
|
@@ -35,7 +36,7 @@ React form components with integrated chat collaboration, built for Next.js with
|
|
|
35
36
|
- **Document Clarifications**: Full lifecycle for document validation issues - flag problems, reference documents, collect structured client responses, and track resolution status (pending, responded, resolved, dismissed)
|
|
36
37
|
- **Validation Rule Editor**: LLM-powered document validation with visual rule management UI, prompt editor with slash commands and variable references, and automatic clarification generation
|
|
37
38
|
- **Content Tagging**: LLM-based document classification at upload time via hazo_llm_api integration
|
|
38
|
-
- **Server-side Route Handlers**: Pre-built `create_autofill_route
|
|
39
|
+
- **Server-side Route Handlers**: Pre-built `create_data_route`, `create_autofill_route`, and `create_validation_route` factories for Next.js API routes
|
|
39
40
|
- **File Validation Badges**: Visual indicators on uploaded files showing validation state (validating spinner, pass checkmark, error badge with details popover)
|
|
40
41
|
- **Data OK Workflows**: Checkbox and multi-state validation with auto-hide/auto-lock features
|
|
41
42
|
- **Hidden States**: Restrict available data OK states per field or form (e.g., hide "Pending" for agents)
|
|
@@ -1156,61 +1157,210 @@ function CustomEditor() {
|
|
|
1156
1157
|
|
|
1157
1158
|
Drop source documents onto a form group to automatically extract and populate field values using an LLM. Supports multiple files processed sequentially with progressive data application.
|
|
1158
1159
|
|
|
1159
|
-
|
|
1160
|
+
The dropzone renders as a compact "AI fill from document" bar at the top of any group that has it enabled. Users can drag-and-drop files or click to select. The file is uploaded, sent to your API endpoint for LLM extraction, and the extracted values are applied to the group's fields automatically.
|
|
1160
1161
|
|
|
1161
|
-
|
|
1162
|
+
#### Setup — Two Steps
|
|
1163
|
+
|
|
1164
|
+
**Step 1: Enable on the group** in your form config (JSON or object):
|
|
1165
|
+
|
|
1166
|
+
Set three properties on any group that should have autofill:
|
|
1167
|
+
|
|
1168
|
+
```jsonc
|
|
1169
|
+
{
|
|
1170
|
+
"id": "gross_interest_income",
|
|
1171
|
+
"field_type": "group",
|
|
1172
|
+
"label": "Gross Interest Income",
|
|
1173
|
+
"autofill_dropzone": true, // Enable the dropzone UI
|
|
1174
|
+
"prompt_area": "income", // Domain context for LLM (e.g., "income", "deductions")
|
|
1175
|
+
"prompt_key": "income_10_gross_interest", // Specific context for this group
|
|
1176
|
+
"fields": [
|
|
1177
|
+
{ "id": "bank_name", "label": "Bank/Financial Institution", "component_type": "HazoCollabFormInputbox" },
|
|
1178
|
+
{ "id": "amount", "label": "Amount ($)", "component_type": "HazoCollabFormInputbox", "input_type": "numeric" },
|
|
1179
|
+
{ "id": "withheld", "label": "Withheld Amount ($)", "component_type": "HazoCollabFormInputbox", "input_type": "numeric" }
|
|
1180
|
+
]
|
|
1181
|
+
}
|
|
1182
|
+
```
|
|
1183
|
+
|
|
1184
|
+
| Group Prop | Type | Required | Description |
|
|
1185
|
+
|------------|------|----------|-------------|
|
|
1186
|
+
| `autofill_dropzone` | boolean | Yes | Show the autofill dropzone at top of group |
|
|
1187
|
+
| `prompt_area` | string | Yes | Domain context sent to LLM (e.g., `"income"`, `"deductions"`) |
|
|
1188
|
+
| `prompt_key` | string | Yes | Group-specific context sent to LLM (e.g., `"income_10_gross_interest"`) |
|
|
1189
|
+
|
|
1190
|
+
> **Note**: If `autofill_dropzone` is `true` but `prompt_area` or `prompt_key` are missing, a console warning is logged and the dropzone will not render.
|
|
1191
|
+
|
|
1192
|
+
**Step 2: Provide props on `HazoCollabFormView`:**
|
|
1193
|
+
|
|
1194
|
+
```tsx
|
|
1162
1195
|
<HazoCollabFormView
|
|
1163
1196
|
mode="edit"
|
|
1164
|
-
sections={
|
|
1165
|
-
groups: [{
|
|
1166
|
-
id: 'income_group',
|
|
1167
|
-
field_type: 'group',
|
|
1168
|
-
label: 'Income Details',
|
|
1169
|
-
autofill_dropzone: true, // Enable the dropzone
|
|
1170
|
-
autofill_api_endpoint: '/api/autofill',
|
|
1171
|
-
autofill_prompt_area: 'tax', // Optional: prompt lookup area
|
|
1172
|
-
autofill_prompt_key: 'income', // Optional: prompt lookup key
|
|
1173
|
-
fields: [...]
|
|
1174
|
-
}]
|
|
1175
|
-
}]}
|
|
1176
|
-
file_manager={fileManagerConfig} // Required for file upload
|
|
1197
|
+
sections={sections}
|
|
1177
1198
|
form_data={formData}
|
|
1178
1199
|
on_change={handleChange}
|
|
1200
|
+
// Required for autofill:
|
|
1201
|
+
autofill_api_endpoint="/api/autofill/extract"
|
|
1202
|
+
file_manager={fileManagerConfig}
|
|
1179
1203
|
/>
|
|
1180
1204
|
```
|
|
1181
1205
|
|
|
1182
|
-
|
|
1206
|
+
| View Prop | Type | Required | Description |
|
|
1207
|
+
|-----------|------|----------|-------------|
|
|
1208
|
+
| `autofill_api_endpoint` | string | Yes | Your API endpoint that handles extraction |
|
|
1209
|
+
| `file_manager` | FileManagerConfig | Yes | File upload callbacks (also used for regular file uploads) |
|
|
1210
|
+
|
|
1211
|
+
**All four conditions must be met** for the dropzone to render on a group:
|
|
1212
|
+
1. `autofill_dropzone: true` on the group config
|
|
1213
|
+
2. `prompt_area` set on the group config
|
|
1214
|
+
3. `prompt_key` set on the group config
|
|
1215
|
+
4. `autofill_api_endpoint` and `file_manager` provided on `HazoCollabFormView`
|
|
1216
|
+
|
|
1217
|
+
#### Multi-File Behavior
|
|
1218
|
+
|
|
1183
1219
|
- Multiple files can be dropped or selected at once
|
|
1184
|
-
- Files are processed sequentially through the LLM API
|
|
1220
|
+
- Files are processed **sequentially** through the LLM API
|
|
1185
1221
|
- Array values (data table rows) are **appended** to existing data, not overwritten
|
|
1186
|
-
- Scalar values trigger an overwrite confirmation dialog (only on the first conflicting file)
|
|
1222
|
+
- Scalar values trigger an overwrite confirmation dialog (only on the first conflicting file in a batch)
|
|
1187
1223
|
- Progress indicator shows "Processing file N of M..."
|
|
1224
|
+
- The uploaded source document is automatically attached to the group's files (`__files_{group_id}`)
|
|
1188
1225
|
|
|
1189
|
-
|
|
1226
|
+
#### API Contract
|
|
1227
|
+
|
|
1228
|
+
Your `autofill_api_endpoint` receives a `POST` request with this body:
|
|
1229
|
+
|
|
1230
|
+
**AutofillRequest:**
|
|
1190
1231
|
|
|
1191
1232
|
| Field | Type | Description |
|
|
1192
1233
|
|-------|------|-------------|
|
|
1193
|
-
| `file_id` | string | Uploaded file ID |
|
|
1234
|
+
| `file_id` | string | Uploaded file ID (from file_manager) |
|
|
1194
1235
|
| `file_name` | string | Original file name |
|
|
1195
|
-
| `mime_type` | string | File MIME type |
|
|
1236
|
+
| `mime_type` | string | File MIME type (e.g., `image/jpeg`, `application/pdf`) |
|
|
1196
1237
|
| `download_url` | string | URL to download the file |
|
|
1197
|
-
| `file_b64` | string? | Base64-encoded file content (
|
|
1238
|
+
| `file_b64` | string? | Base64-encoded file content (sent inline to avoid re-download) |
|
|
1198
1239
|
| `group_id` | string | Group identifier |
|
|
1199
1240
|
| `prompt_area` | string? | Prompt area for LLM context |
|
|
1200
1241
|
| `prompt_key` | string? | Prompt key for LLM context |
|
|
1201
|
-
| `fields` | AutofillFieldSchema[] | Field schemas
|
|
1242
|
+
| `fields` | AutofillFieldSchema[] | Field schemas describing what to extract |
|
|
1243
|
+
|
|
1244
|
+
**AutofillFieldSchema:**
|
|
1202
1245
|
|
|
1203
|
-
|
|
1246
|
+
| Field | Type | Description |
|
|
1247
|
+
|-------|------|-------------|
|
|
1248
|
+
| `field_id` | string | Field identifier (used as key in response data) |
|
|
1249
|
+
| `label` | string | Human-readable label |
|
|
1250
|
+
| `component_type` | string | Component type (e.g., `HazoCollabFormInputbox`, `HazoCollabFormDate`) |
|
|
1251
|
+
| `description` | string? | Optional description for LLM context |
|
|
1252
|
+
| `input_type` | string? | Input type hint (`mixed`, `numeric`, `email`, `alpha`) |
|
|
1253
|
+
| `input_options` | Array? | Options for radio/combo fields (`[{ value, label }]`) |
|
|
1254
|
+
| `table_config` | object? | Table configuration for data-table fields |
|
|
1255
|
+
|
|
1256
|
+
**AutofillResponse** (your API must return):
|
|
1204
1257
|
|
|
1205
1258
|
```typescript
|
|
1206
1259
|
{
|
|
1207
|
-
success: boolean;
|
|
1208
|
-
data: Record<string, unknown>; //
|
|
1209
|
-
error?: string;
|
|
1210
|
-
message?: string;
|
|
1260
|
+
success: boolean; // Whether extraction succeeded
|
|
1261
|
+
data: Record<string, unknown>; // Extracted values keyed by field_id
|
|
1262
|
+
error?: string; // Error message if success=false
|
|
1263
|
+
message?: string; // Info message (e.g., "No matching data found")
|
|
1264
|
+
}
|
|
1265
|
+
```
|
|
1266
|
+
|
|
1267
|
+
**Response examples:**
|
|
1268
|
+
|
|
1269
|
+
Scalar fields — values keyed by field_id:
|
|
1270
|
+
```json
|
|
1271
|
+
{
|
|
1272
|
+
"success": true,
|
|
1273
|
+
"data": {
|
|
1274
|
+
"bank_name": "Commonwealth Bank",
|
|
1275
|
+
"amount": "1500.00",
|
|
1276
|
+
"withheld": "0"
|
|
1277
|
+
}
|
|
1278
|
+
}
|
|
1279
|
+
```
|
|
1280
|
+
|
|
1281
|
+
Data table fields — return arrays which are appended as rows:
|
|
1282
|
+
```json
|
|
1283
|
+
{
|
|
1284
|
+
"success": true,
|
|
1285
|
+
"data": {
|
|
1286
|
+
"interest_table": [
|
|
1287
|
+
{ "bank": "CBA", "amount": "1200.00", "withheld": "0" },
|
|
1288
|
+
{ "bank": "ANZ", "amount": "300.50", "withheld": "15.00" }
|
|
1289
|
+
]
|
|
1290
|
+
}
|
|
1291
|
+
}
|
|
1292
|
+
```
|
|
1293
|
+
|
|
1294
|
+
No matching data (file processed successfully but nothing relevant found):
|
|
1295
|
+
```json
|
|
1296
|
+
{
|
|
1297
|
+
"success": true,
|
|
1298
|
+
"data": {},
|
|
1299
|
+
"message": "No matching data found in this document."
|
|
1211
1300
|
}
|
|
1212
1301
|
```
|
|
1213
1302
|
|
|
1303
|
+
#### Pre-Built Server Route (Optional)
|
|
1304
|
+
|
|
1305
|
+
If you use `hazo_llm_api`, a ready-made route handler is provided — see [Server-Side Route Handlers: Autofill Route](#autofill-route) below.
|
|
1306
|
+
|
|
1307
|
+
#### Custom API Endpoint (BYO LLM)
|
|
1308
|
+
|
|
1309
|
+
If you prefer your own LLM integration, implement the endpoint to:
|
|
1310
|
+
|
|
1311
|
+
1. Receive the `AutofillRequest` body
|
|
1312
|
+
2. Use `file_b64` (preferred) or fetch from `download_url` to get the file
|
|
1313
|
+
3. Send the file + field schemas to your LLM with an extraction prompt
|
|
1314
|
+
4. Parse the LLM response into a `Record<string, unknown>` keyed by `field_id`
|
|
1315
|
+
5. Return an `AutofillResponse`
|
|
1316
|
+
|
|
1317
|
+
```typescript
|
|
1318
|
+
// Example: app/api/autofill/extract/route.ts (Next.js App Router)
|
|
1319
|
+
import { NextRequest, NextResponse } from 'next/server';
|
|
1320
|
+
|
|
1321
|
+
export async function POST(request: NextRequest) {
|
|
1322
|
+
const body = await request.json();
|
|
1323
|
+
const { file_b64, mime_type, fields } = body;
|
|
1324
|
+
|
|
1325
|
+
// Build prompt from field schemas
|
|
1326
|
+
const field_descriptions = fields.map(
|
|
1327
|
+
(f: any) => `- "${f.field_id}" (${f.label}): ${f.component_type}`
|
|
1328
|
+
).join('\n');
|
|
1329
|
+
|
|
1330
|
+
const prompt = `Extract the following fields from this document and return ONLY valid JSON.
|
|
1331
|
+
Fields: \n${field_descriptions}`;
|
|
1332
|
+
|
|
1333
|
+
// Call your LLM (e.g., Claude, OpenAI, etc.)
|
|
1334
|
+
const llm_result = await call_your_llm({ prompt, file_b64, mime_type });
|
|
1335
|
+
|
|
1336
|
+
return NextResponse.json({
|
|
1337
|
+
success: true,
|
|
1338
|
+
data: llm_result, // { bank_name: "CBA", amount: "1200.00", ... }
|
|
1339
|
+
});
|
|
1340
|
+
}
|
|
1341
|
+
```
|
|
1342
|
+
|
|
1343
|
+
#### Exports
|
|
1344
|
+
|
|
1345
|
+
```typescript
|
|
1346
|
+
// Client-side component and types
|
|
1347
|
+
import {
|
|
1348
|
+
AutofillDropzone,
|
|
1349
|
+
type AutofillFieldSchema,
|
|
1350
|
+
type AutofillRequest,
|
|
1351
|
+
type AutofillResponse,
|
|
1352
|
+
type AutofillDropzoneProps,
|
|
1353
|
+
type AutofillStatus,
|
|
1354
|
+
type OverwriteConflict,
|
|
1355
|
+
} from 'hazo_collab_forms';
|
|
1356
|
+
|
|
1357
|
+
// Server-side route handler (Node.js only)
|
|
1358
|
+
import {
|
|
1359
|
+
create_autofill_route,
|
|
1360
|
+
type AutofillRouteOptions,
|
|
1361
|
+
} from 'hazo_collab_forms/lib';
|
|
1362
|
+
```
|
|
1363
|
+
|
|
1214
1364
|
### Template Generator (Deprecated)
|
|
1215
1365
|
|
|
1216
1366
|
> **Deprecated**: Use `HazoFieldLibrary` for managing form field definitions. `HazoTemplateGenerator` is still available but will be removed in a future major version.
|
|
@@ -1525,6 +1675,58 @@ The final layout for any field is resolved in this order (first match wins):
|
|
|
1525
1675
|
|
|
1526
1676
|
This renders the address line with label on top and full-width input, while state/postcode use the default inline (label-left) layout.
|
|
1527
1677
|
|
|
1678
|
+
### Sidebar PDF Panel (HazoDataForm)
|
|
1679
|
+
|
|
1680
|
+
When `file_panel_display_mode="sidebar"` is set on `HazoDataForm`, clicking a field's file icon opens an embedded PDF viewer panel alongside the form instead of a modal dialog. A ghost form panel mirrors the form layout to align the PDF panel vertically with the active field.
|
|
1681
|
+
|
|
1682
|
+
**Props:**
|
|
1683
|
+
|
|
1684
|
+
| Prop | Type | Default | Description |
|
|
1685
|
+
|------|------|---------|-------------|
|
|
1686
|
+
| `file_panel_display_mode` | `'dialog' \| 'sidebar'` | `'dialog'` | Display mode for file panels |
|
|
1687
|
+
| `pdf_panel_default_size` | `number` | `50` | Sidebar width as percentage |
|
|
1688
|
+
| `pdf_panel_min_size` | `number` | `25` | Minimum sidebar width as percentage |
|
|
1689
|
+
| `pdf_viewer_props` | `Record<string, unknown>` | – | Pass-through props for the PdfViewer component |
|
|
1690
|
+
| `file_access_provider` | `unknown` | – | hazo_pdf FileAccessProvider for the embedded viewer |
|
|
1691
|
+
| `on_panel_open` | `(field_id: string) => void` | – | Called when the sidebar opens for a field |
|
|
1692
|
+
| `on_panel_close` | `() => void` | – | Called when the sidebar closes |
|
|
1693
|
+
| `on_panel_pop_out` | `(field_id, file_items) => void` | – | Custom pop-out handler (uses built-in PdfViewerDialog if not provided) |
|
|
1694
|
+
| `on_panel_upload` | `(field_id, file, converted_pdf?) => Promise<unknown>` | – | Upload handler receiving the active field_id |
|
|
1695
|
+
| `on_panel_file_delete` | `(field_id, file_id) => void` | – | Delete handler receiving the active field_id |
|
|
1696
|
+
|
|
1697
|
+
**Usage:**
|
|
1698
|
+
|
|
1699
|
+
```tsx
|
|
1700
|
+
import { HazoDataForm } from 'hazo_collab_forms';
|
|
1701
|
+
|
|
1702
|
+
<HazoDataForm
|
|
1703
|
+
sections={sections}
|
|
1704
|
+
form_data={formData}
|
|
1705
|
+
on_field_change={handleChange}
|
|
1706
|
+
enable_file_upload={true}
|
|
1707
|
+
default_accept_files={true}
|
|
1708
|
+
file_panel_display_mode="sidebar"
|
|
1709
|
+
pdf_panel_default_size={50}
|
|
1710
|
+
file_access_provider={fileAccessProvider}
|
|
1711
|
+
on_panel_upload={async (field_id, file) => {
|
|
1712
|
+
// Upload file and update form_data for the given field_id
|
|
1713
|
+
return { success: true };
|
|
1714
|
+
}}
|
|
1715
|
+
on_panel_file_delete={(field_id, file_id) => {
|
|
1716
|
+
// Remove file from form_data for the given field_id
|
|
1717
|
+
}}
|
|
1718
|
+
/>
|
|
1719
|
+
```
|
|
1720
|
+
|
|
1721
|
+
**How it works:**
|
|
1722
|
+
- The form splits into two columns: the real form on the left and a ghost form on the right
|
|
1723
|
+
- The ghost form mirrors the section/group/field hierarchy with invisible fields
|
|
1724
|
+
- The PDF panel renders at the active field's position with `visibility: visible` and `position: sticky`
|
|
1725
|
+
- For horizontal groups, the panel renders at full width below the flex row
|
|
1726
|
+
- The pop-out button opens a `PdfViewerDialog` (requires `hazo_pdf`)
|
|
1727
|
+
|
|
1728
|
+
**Requires:** `hazo_pdf` as an optional peer dependency (dynamically imported).
|
|
1729
|
+
|
|
1528
1730
|
### Reference Data (Comparison Values)
|
|
1529
1731
|
|
|
1530
1732
|
Display reference or comparison values below form fields, such as prior year tax data or baseline values. Reference data supports automatic formatting for currency, booleans, and custom styling.
|
|
@@ -1951,7 +2153,7 @@ const privateFiles = get_field_private_attachments(formData, 'sensitive_field');
|
|
|
1951
2153
|
|-----------|-------------|-----------------|
|
|
1952
2154
|
| `HazoCollabFormView` | **Recommended** - Unified multi-mode view (Edit/Summary/Print/Approval) | all components |
|
|
1953
2155
|
| `HazoCollabFormSet` | ⚠️ *Deprecated* - Use `HazoCollabFormView` with `mode="edit"` | all components |
|
|
1954
|
-
| `HazoDataForm` | Structured data form with style variants, computed fields,
|
|
2156
|
+
| `HazoDataForm` | Structured data form with style variants, computed fields, file management, and sidebar PDF panel | all components |
|
|
1955
2157
|
|
|
1956
2158
|
### Builder & Library Components
|
|
1957
2159
|
|
|
@@ -2207,12 +2409,13 @@ const clarifications = await validate_file(file_b64, file_name, mime_type, conte
|
|
|
2207
2409
|
```typescript
|
|
2208
2410
|
// app/api/validation/route.ts
|
|
2209
2411
|
import { create_validation_route } from 'hazo_collab_forms/lib';
|
|
2412
|
+
import { getHazoConnect } from '@/lib/hazo_connect_setup';
|
|
2210
2413
|
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
});
|
|
2414
|
+
// Preferred: pass hazo_connect adapter (works with SQLite, PostgREST, Supabase)
|
|
2415
|
+
export const POST = create_validation_route({ hazo_connect_adapter: getHazoConnect() });
|
|
2214
2416
|
|
|
2215
|
-
|
|
2417
|
+
// Legacy: pass SQLite path directly (deprecated)
|
|
2418
|
+
// export const POST = create_validation_route({ sqlite_path: './data/prompts.sqlite' });
|
|
2216
2419
|
```
|
|
2217
2420
|
|
|
2218
2421
|
### Validation Rule Types
|
|
@@ -2296,35 +2499,105 @@ const fileManager: FileManagerConfig = {
|
|
|
2296
2499
|
|
|
2297
2500
|
## Server-Side Route Handlers
|
|
2298
2501
|
|
|
2299
|
-
Pre-built route handler factories for common API patterns
|
|
2502
|
+
Pre-built route handler factories for common API patterns. All handlers support `hazo_connect_adapter` for backend-agnostic database access (SQLite, PostgREST, Supabase).
|
|
2503
|
+
|
|
2504
|
+
### Data Route (NEW in v2.0.3)
|
|
2505
|
+
|
|
2506
|
+
Backend-agnostic CRUD route factory. Replaces boilerplate REST endpoints (~200 lines) with a single function call.
|
|
2507
|
+
|
|
2508
|
+
```typescript
|
|
2509
|
+
// app/api/hazo_connect/sqlite/data/route.ts
|
|
2510
|
+
import { create_data_route } from 'hazo_collab_forms/lib';
|
|
2511
|
+
import { getHazoConnect } from '@/lib/hazo_connect_setup';
|
|
2512
|
+
|
|
2513
|
+
export const dynamic = 'force-dynamic';
|
|
2514
|
+
export const { GET, POST, PATCH, DELETE } = create_data_route(getHazoConnect());
|
|
2515
|
+
```
|
|
2516
|
+
|
|
2517
|
+
**With table whitelist** (for security):
|
|
2518
|
+
|
|
2519
|
+
```typescript
|
|
2520
|
+
export const { GET, POST, PATCH, DELETE } = create_data_route(getHazoConnect(), {
|
|
2521
|
+
allowed_tables: ['hazo_collab_form_validations', 'hazo_collab_form_elts'],
|
|
2522
|
+
});
|
|
2523
|
+
```
|
|
2524
|
+
|
|
2525
|
+
**Request format** (matches existing client hooks):
|
|
2526
|
+
- `GET ?table=X&filter[col]=val&orderBy=col&orderDirection=asc` → `{ data, total }`
|
|
2527
|
+
- `POST { table, data }` → `{ data }`
|
|
2528
|
+
- `PATCH { table, criteria, data }` → `{ data, updated }`
|
|
2529
|
+
- `DELETE { table, criteria }` → `{ data, deleted }`
|
|
2530
|
+
|
|
2531
|
+
**Requirements**: `hazo_connect` must be installed (`npm install hazo_connect`).
|
|
2300
2532
|
|
|
2301
2533
|
### Autofill Route
|
|
2302
2534
|
|
|
2535
|
+
Ready-made POST handler for LLM-based document extraction. Wraps `hazo_llm_api` so consumers can set up autofill in ~3 lines.
|
|
2536
|
+
|
|
2303
2537
|
```typescript
|
|
2304
2538
|
// app/api/autofill/route.ts
|
|
2305
2539
|
import { create_autofill_route } from 'hazo_collab_forms/lib';
|
|
2540
|
+
import { getHazoConnect } from '@/lib/hazo_connect_setup';
|
|
2306
2541
|
|
|
2307
|
-
|
|
2308
|
-
|
|
2309
|
-
});
|
|
2542
|
+
// Preferred: pass adapter (works with any hazo_connect backend)
|
|
2543
|
+
export const POST = create_autofill_route({ hazo_connect_adapter: getHazoConnect() });
|
|
2310
2544
|
|
|
2311
|
-
|
|
2545
|
+
// Legacy: pass SQLite path directly (deprecated)
|
|
2546
|
+
// export const POST = create_autofill_route({ sqlite_path: './data/prompts.sqlite' });
|
|
2312
2547
|
```
|
|
2313
2548
|
|
|
2549
|
+
**How it works:**
|
|
2550
|
+
|
|
2551
|
+
1. Receives `AutofillRequest` from the `AutofillDropzone` component
|
|
2552
|
+
2. Validates that `prompt_area`, `prompt_key`, and `fields` are present
|
|
2553
|
+
3. Lazily initializes `hazo_llm_api` (dynamic import — only loaded at runtime)
|
|
2554
|
+
4. Calls `hazo_llm_dynamic_data_extract` with the file + prompt context + field schemas
|
|
2555
|
+
5. Falls back to a direct LLM call with a generated prompt if dynamic extract fails
|
|
2556
|
+
6. Parses the LLM response as JSON and returns `AutofillResponse`
|
|
2557
|
+
|
|
2558
|
+
**Options:**
|
|
2559
|
+
|
|
2560
|
+
| Option | Type | Default | Description |
|
|
2561
|
+
|--------|------|---------|-------------|
|
|
2562
|
+
| `hazo_connect_adapter` | HazoConnectAdapterLike | - | Adapter from hazo_connect (preferred) |
|
|
2563
|
+
| `sqlite_path` | string | `'data/prompt_library.sqlite'` | Path to SQLite DB (deprecated) |
|
|
2564
|
+
| `on_error` | function | `console.error` | Error handler `(error, context) => void` |
|
|
2565
|
+
|
|
2566
|
+
**Requirements:**
|
|
2567
|
+
- `hazo_llm_api` must be installed as a dependency (`npm install hazo_llm_api`)
|
|
2568
|
+
- The database should contain prompts keyed by `(area, key)` with a `prompt_text_full` field
|
|
2569
|
+
- The prompt can include `{{field_list}}` which is auto-substituted with formatted field schemas
|
|
2570
|
+
- Supports image files (JPEG, PNG, etc.) and PDF documents
|
|
2571
|
+
|
|
2572
|
+
**Prompt Lookup Fallback Chain:**
|
|
2573
|
+
1. `hazo_llm_dynamic_data_extract` (prompt DB + multi-step extraction)
|
|
2574
|
+
2. Direct LLM call with prompt from DB (`get_by_area_key(prompt_area, prompt_key)`)
|
|
2575
|
+
3. Auto-generated extraction prompt from field schemas (no DB needed)
|
|
2576
|
+
|
|
2577
|
+
This means the autofill route works even without a prompt database — it will generate a reasonable extraction prompt from the field schemas automatically.
|
|
2578
|
+
|
|
2314
2579
|
### Validation Route
|
|
2315
2580
|
|
|
2316
2581
|
```typescript
|
|
2317
2582
|
// app/api/validation/route.ts
|
|
2318
2583
|
import { create_validation_route } from 'hazo_collab_forms/lib';
|
|
2584
|
+
import { getHazoConnect } from '@/lib/hazo_connect_setup';
|
|
2319
2585
|
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
on_error: (error, context) => console.error(`[Validation] ${context}:`, error),
|
|
2323
|
-
});
|
|
2586
|
+
// Preferred: pass adapter
|
|
2587
|
+
export const POST = create_validation_route({ hazo_connect_adapter: getHazoConnect() });
|
|
2324
2588
|
|
|
2325
|
-
|
|
2589
|
+
// Legacy: pass SQLite path directly (deprecated)
|
|
2590
|
+
// export const POST = create_validation_route({ sqlite_path: './data/prompts.sqlite' });
|
|
2326
2591
|
```
|
|
2327
2592
|
|
|
2593
|
+
**Options:**
|
|
2594
|
+
|
|
2595
|
+
| Option | Type | Default | Description |
|
|
2596
|
+
|--------|------|---------|-------------|
|
|
2597
|
+
| `hazo_connect_adapter` | HazoConnectAdapterLike | - | Adapter from hazo_connect (preferred) |
|
|
2598
|
+
| `sqlite_path` | string | from INI config or `'data/prompt_library.sqlite'` | Path to SQLite DB (deprecated) |
|
|
2599
|
+
| `on_error` | function | `console.error` | Error handler `(error, context) => void` |
|
|
2600
|
+
|
|
2328
2601
|
**Note**: Server-side imports use the `hazo_collab_forms/lib` entry point which includes Node.js-only utilities.
|
|
2329
2602
|
|
|
2330
2603
|
---
|
|
@@ -990,6 +990,11 @@ export interface HazoCollabFormSetProps {
|
|
|
990
990
|
* This is for hard delete (removing from sections), not soft delete (metadata flag)
|
|
991
991
|
*/
|
|
992
992
|
on_delete_field?: (field_id: string) => void;
|
|
993
|
+
/**
|
|
994
|
+
* Callback when the re-validate icon is clicked
|
|
995
|
+
* Called with the field_id and its validation_rule_ids
|
|
996
|
+
*/
|
|
997
|
+
on_revalidate?: (field_id: string, validation_rule_ids: string[]) => void;
|
|
993
998
|
/**
|
|
994
999
|
* Optional shadcn/ui Dialog components
|
|
995
1000
|
* Pass your app's Dialog, DialogContent, DialogHeader, etc. for Add Field dialog
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_internal_form_set.d.ts","sourceRoot":"","sources":["../../src/components/_internal_form_set.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_internal_form_set.d.ts","sourceRoot":"","sources":["../../src/components/_internal_form_set.tsx"],"names":[],"mappings":"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"}
|
|
@@ -190,6 +190,8 @@ export const HazoCollabFormSet = React.forwardRef((props, ref) => {
|
|
|
190
190
|
on_add_field, on_add_field_config, on_add_group_config,
|
|
191
191
|
// Edit/delete field feature
|
|
192
192
|
on_edit_field_config, on_delete_field,
|
|
193
|
+
// Re-validate
|
|
194
|
+
on_revalidate,
|
|
193
195
|
// Dialog components
|
|
194
196
|
dialog_components, combobox_components,
|
|
195
197
|
// Field library
|
|
@@ -1375,7 +1377,7 @@ export const HazoCollabFormSet = React.forwardRef((props, ref) => {
|
|
|
1375
1377
|
// Clarification badge
|
|
1376
1378
|
clarification_count: get_pending_count(field.id) || undefined,
|
|
1377
1379
|
has_clarification: field_metadata_prop?.[field.id]?.has_clarification,
|
|
1378
|
-
on_clarification_click:
|
|
1380
|
+
on_clarification_click: () => set_clarification_dialog_field(field.id),
|
|
1379
1381
|
};
|
|
1380
1382
|
// Component-specific props - use field_data_id for form_data lookup
|
|
1381
1383
|
const current_value = form_data[field_data_id] ?? (is_additional_entry ? '' : field.value);
|
|
@@ -1550,8 +1552,10 @@ export const HazoCollabFormSet = React.forwardRef((props, ref) => {
|
|
|
1550
1552
|
active_role: active_role,
|
|
1551
1553
|
// Edit/delete group structure controls (control_edit_group/control_delete_field)
|
|
1552
1554
|
on_edit_field: show_edit_group && edit_group_enabled ? () => on_edit_field_config?.(field.id, field) : undefined, on_delete_field: show_delete_field && delete_field_enabled ? () => on_delete_field?.(field.id) : undefined,
|
|
1555
|
+
// Re-validate
|
|
1556
|
+
on_revalidate: field.validation_rules?.length ? () => on_revalidate?.(field.id, field.validation_rules) : undefined, validation_rules: field.validation_rules,
|
|
1553
1557
|
// Clarification badge
|
|
1554
|
-
clarification_count: get_pending_count(field.id) || undefined, has_clarification: field_metadata_prop?.[field.id]?.has_clarification, on_clarification_click:
|
|
1558
|
+
clarification_count: get_pending_count(field.id) || undefined, has_clarification: field_metadata_prop?.[field.id]?.has_clarification, on_clarification_click: () => set_clarification_dialog_field(field.id), children: [field.autofill_dropzone && (!field.prompt_area || !field.prompt_key) && (() => {
|
|
1555
1559
|
console.warn(`[hazo_collab_forms] Group "${field.id}": autofill_dropzone=true requires prompt_area and prompt_key`);
|
|
1556
1560
|
return null;
|
|
1557
1561
|
})(), field.autofill_dropzone && field.prompt_area && field.prompt_key && autofill_api_endpoint && file_manager && (_jsx(AutofillDropzone, { group_id: field.id, fields: (field.fields || []).map((f) => ({
|