hazo_collab_forms 2.0.2 → 2.0.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 (77) hide show
  1. package/CHANGE_LOG.md +11 -0
  2. package/README.md +263 -43
  3. package/dist/components/_internal_form_set.d.ts +5 -0
  4. package/dist/components/_internal_form_set.d.ts.map +1 -1
  5. package/dist/components/_internal_form_set.js +4 -0
  6. package/dist/components/_internal_form_set.js.map +1 -1
  7. package/dist/components/clarification/use_clarifications.d.ts +7 -0
  8. package/dist/components/clarification/use_clarifications.d.ts.map +1 -1
  9. package/dist/components/clarification/use_clarifications.js +35 -0
  10. package/dist/components/clarification/use_clarifications.js.map +1 -1
  11. package/dist/components/hazo_collab_form_group.d.ts +8 -0
  12. package/dist/components/hazo_collab_form_group.d.ts.map +1 -1
  13. package/dist/components/hazo_collab_form_group.js +7 -1
  14. package/dist/components/hazo_collab_form_group.js.map +1 -1
  15. package/dist/components/hazo_collab_form_view/context.d.ts.map +1 -1
  16. package/dist/components/hazo_collab_form_view/context.js +3 -1
  17. package/dist/components/hazo_collab_form_view/context.js.map +1 -1
  18. package/dist/components/hazo_collab_form_view/hooks/use_view_callbacks.d.ts +1 -0
  19. package/dist/components/hazo_collab_form_view/hooks/use_view_callbacks.d.ts.map +1 -1
  20. package/dist/components/hazo_collab_form_view/hooks/use_view_callbacks.js +4 -0
  21. package/dist/components/hazo_collab_form_view/hooks/use_view_callbacks.js.map +1 -1
  22. package/dist/components/hazo_collab_form_view/types.d.ts +4 -0
  23. package/dist/components/hazo_collab_form_view/types.d.ts.map +1 -1
  24. package/dist/components/hazo_collab_form_view/views/edit_view.d.ts.map +1 -1
  25. package/dist/components/hazo_collab_form_view/views/edit_view.js +4 -2
  26. package/dist/components/hazo_collab_form_view/views/edit_view.js.map +1 -1
  27. package/dist/components/hazo_collab_form_view/views/summary_view.d.ts.map +1 -1
  28. package/dist/components/hazo_collab_form_view/views/summary_view.js +2 -0
  29. package/dist/components/hazo_collab_form_view/views/summary_view.js.map +1 -1
  30. package/dist/components/hazo_template_generator/types.d.ts.map +1 -1
  31. package/dist/components/hazo_template_generator/types.js +2 -0
  32. package/dist/components/hazo_template_generator/types.js.map +1 -1
  33. package/dist/components/shared/role_utils/role_utils.d.ts.map +1 -1
  34. package/dist/components/shared/role_utils/role_utils.js +6 -0
  35. package/dist/components/shared/role_utils/role_utils.js.map +1 -1
  36. package/dist/components/shared/unified_field_controls/constants.d.ts.map +1 -1
  37. package/dist/components/shared/unified_field_controls/constants.js +3 -0
  38. package/dist/components/shared/unified_field_controls/constants.js.map +1 -1
  39. package/dist/components/shared/unified_field_controls/kebab_menu.d.ts.map +1 -1
  40. package/dist/components/shared/unified_field_controls/kebab_menu.js +13 -3
  41. package/dist/components/shared/unified_field_controls/kebab_menu.js.map +1 -1
  42. package/dist/components/shared/unified_field_controls/types.d.ts +5 -0
  43. package/dist/components/shared/unified_field_controls/types.d.ts.map +1 -1
  44. package/dist/components/shared/unified_field_controls/unified_field_controls.d.ts.map +1 -1
  45. package/dist/components/shared/unified_field_controls/unified_field_controls.js +16 -1
  46. package/dist/components/shared/unified_field_controls/unified_field_controls.js.map +1 -1
  47. package/dist/components/shared/unified_field_controls/use_control_resolution.d.ts.map +1 -1
  48. package/dist/components/shared/unified_field_controls/use_control_resolution.js +1 -0
  49. package/dist/components/shared/unified_field_controls/use_control_resolution.js.map +1 -1
  50. package/dist/components/shared/unified_field_controls/use_field_control_props.d.ts +3 -0
  51. package/dist/components/shared/unified_field_controls/use_field_control_props.d.ts.map +1 -1
  52. package/dist/components/shared/unified_field_controls/use_field_control_props.js +8 -4
  53. package/dist/components/shared/unified_field_controls/use_field_control_props.js.map +1 -1
  54. package/dist/lib/autofill_handler.d.ts +14 -1
  55. package/dist/lib/autofill_handler.d.ts.map +1 -1
  56. package/dist/lib/autofill_handler.js +5 -1
  57. package/dist/lib/autofill_handler.js.map +1 -1
  58. package/dist/lib/create_data_route.d.ts +42 -0
  59. package/dist/lib/create_data_route.d.ts.map +1 -0
  60. package/dist/lib/create_data_route.js +280 -0
  61. package/dist/lib/create_data_route.js.map +1 -0
  62. package/dist/lib/index.d.ts +2 -0
  63. package/dist/lib/index.d.ts.map +1 -1
  64. package/dist/lib/index.js +1 -0
  65. package/dist/lib/index.js.map +1 -1
  66. package/dist/lib/validation_handler.d.ts.map +1 -1
  67. package/dist/lib/validation_handler.js +6 -2
  68. package/dist/lib/validation_handler.js.map +1 -1
  69. package/dist/types/icons_behaviour.d.ts +1 -1
  70. package/dist/types/icons_behaviour.d.ts.map +1 -1
  71. package/dist/types/icons_behaviour.js +2 -0
  72. package/dist/types/icons_behaviour.js.map +1 -1
  73. package/dist/types/index.d.ts +1 -1
  74. package/dist/types/index.d.ts.map +1 -1
  75. package/dist/types/validation.d.ts +16 -1
  76. package/dist/types/validation.d.ts.map +1 -1
  77. package/package.json +6 -2
package/CHANGE_LOG.md CHANGED
@@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Added
11
+
12
+ - **Data Route Factory**: `create_data_route` (from `hazo_collab_forms/lib`)
13
+ - Backend-agnostic CRUD route factory. Replaces boilerplate REST endpoints (~200 lines) with a single function call.
14
+ - Supports GET, POST, PATCH, DELETE with the standard hazo_connect request format.
15
+ - Optional `allowed_tables` whitelist for security.
16
+ - Works with any hazo_connect backend (SQLite, PostgREST, Supabase).
17
+ - Types exported: `DataRouteOptions` (from `hazo_collab_forms/lib`), `HazoConnectAdapterLike` (from `hazo_collab_forms` and `hazo_collab_forms/types`).
18
+ - **hazo_connect_adapter option**: `create_validation_route` and `create_autofill_route` now accept `hazo_connect_adapter` for backend-agnostic prompt lookup (`sqlite_path` deprecated).
19
+ - **hazo_connect peer dependency**: Added as optional peer dependency (`>=2.4.0`).
20
+
10
21
  ## [2.0.2] - 2026-03-04
11
22
 
12
23
  ### Changed
package/README.md CHANGED
@@ -35,7 +35,7 @@ React form components with integrated chat collaboration, built for Next.js with
35
35
  - **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
36
  - **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
37
  - **Content Tagging**: LLM-based document classification at upload time via hazo_llm_api integration
38
- - **Server-side Route Handlers**: Pre-built `create_autofill_route` and `create_validation_route` factories for Next.js API routes
38
+ - **Server-side Route Handlers**: Pre-built `create_data_route`, `create_autofill_route`, and `create_validation_route` factories for Next.js API routes
39
39
  - **File Validation Badges**: Visual indicators on uploaded files showing validation state (validating spinner, pass checkmark, error badge with details popover)
40
40
  - **Data OK Workflows**: Checkbox and multi-state validation with auto-hide/auto-lock features
41
41
  - **Hidden States**: Restrict available data OK states per field or form (e.g., hide "Pending" for agents)
@@ -1156,61 +1156,210 @@ function CustomEditor() {
1156
1156
 
1157
1157
  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
1158
 
1159
- **Basic Usage:**
1159
+ 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
1160
 
1161
- ```typescript
1161
+ #### Setup — Two Steps
1162
+
1163
+ **Step 1: Enable on the group** in your form config (JSON or object):
1164
+
1165
+ Set three properties on any group that should have autofill:
1166
+
1167
+ ```jsonc
1168
+ {
1169
+ "id": "gross_interest_income",
1170
+ "field_type": "group",
1171
+ "label": "Gross Interest Income",
1172
+ "autofill_dropzone": true, // Enable the dropzone UI
1173
+ "prompt_area": "income", // Domain context for LLM (e.g., "income", "deductions")
1174
+ "prompt_key": "income_10_gross_interest", // Specific context for this group
1175
+ "fields": [
1176
+ { "id": "bank_name", "label": "Bank/Financial Institution", "component_type": "HazoCollabFormInputbox" },
1177
+ { "id": "amount", "label": "Amount ($)", "component_type": "HazoCollabFormInputbox", "input_type": "numeric" },
1178
+ { "id": "withheld", "label": "Withheld Amount ($)", "component_type": "HazoCollabFormInputbox", "input_type": "numeric" }
1179
+ ]
1180
+ }
1181
+ ```
1182
+
1183
+ | Group Prop | Type | Required | Description |
1184
+ |------------|------|----------|-------------|
1185
+ | `autofill_dropzone` | boolean | Yes | Show the autofill dropzone at top of group |
1186
+ | `prompt_area` | string | Yes | Domain context sent to LLM (e.g., `"income"`, `"deductions"`) |
1187
+ | `prompt_key` | string | Yes | Group-specific context sent to LLM (e.g., `"income_10_gross_interest"`) |
1188
+
1189
+ > **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.
1190
+
1191
+ **Step 2: Provide props on `HazoCollabFormView`:**
1192
+
1193
+ ```tsx
1162
1194
  <HazoCollabFormView
1163
1195
  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
1196
+ sections={sections}
1177
1197
  form_data={formData}
1178
1198
  on_change={handleChange}
1199
+ // Required for autofill:
1200
+ autofill_api_endpoint="/api/autofill/extract"
1201
+ file_manager={fileManagerConfig}
1179
1202
  />
1180
1203
  ```
1181
1204
 
1182
- **Multi-file behavior:**
1205
+ | View Prop | Type | Required | Description |
1206
+ |-----------|------|----------|-------------|
1207
+ | `autofill_api_endpoint` | string | Yes | Your API endpoint that handles extraction |
1208
+ | `file_manager` | FileManagerConfig | Yes | File upload callbacks (also used for regular file uploads) |
1209
+
1210
+ **All four conditions must be met** for the dropzone to render on a group:
1211
+ 1. `autofill_dropzone: true` on the group config
1212
+ 2. `prompt_area` set on the group config
1213
+ 3. `prompt_key` set on the group config
1214
+ 4. `autofill_api_endpoint` and `file_manager` provided on `HazoCollabFormView`
1215
+
1216
+ #### Multi-File Behavior
1217
+
1183
1218
  - Multiple files can be dropped or selected at once
1184
- - Files are processed sequentially through the LLM API
1219
+ - Files are processed **sequentially** through the LLM API
1185
1220
  - 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)
1221
+ - Scalar values trigger an overwrite confirmation dialog (only on the first conflicting file in a batch)
1187
1222
  - Progress indicator shows "Processing file N of M..."
1223
+ - The uploaded source document is automatically attached to the group's files (`__files_{group_id}`)
1188
1224
 
1189
- **AutofillRequest sent to API:**
1225
+ #### API Contract
1226
+
1227
+ Your `autofill_api_endpoint` receives a `POST` request with this body:
1228
+
1229
+ **AutofillRequest:**
1190
1230
 
1191
1231
  | Field | Type | Description |
1192
1232
  |-------|------|-------------|
1193
- | `file_id` | string | Uploaded file ID |
1233
+ | `file_id` | string | Uploaded file ID (from file_manager) |
1194
1234
  | `file_name` | string | Original file name |
1195
- | `mime_type` | string | File MIME type |
1235
+ | `mime_type` | string | File MIME type (e.g., `image/jpeg`, `application/pdf`) |
1196
1236
  | `download_url` | string | URL to download the file |
1197
- | `file_b64` | string? | Base64-encoded file content (avoids re-download) |
1237
+ | `file_b64` | string? | Base64-encoded file content (sent inline to avoid re-download) |
1198
1238
  | `group_id` | string | Group identifier |
1199
1239
  | `prompt_area` | string? | Prompt area for LLM context |
1200
1240
  | `prompt_key` | string? | Prompt key for LLM context |
1201
- | `fields` | AutofillFieldSchema[] | Field schemas for extraction |
1241
+ | `fields` | AutofillFieldSchema[] | Field schemas describing what to extract |
1242
+
1243
+ **AutofillFieldSchema:**
1244
+
1245
+ | Field | Type | Description |
1246
+ |-------|------|-------------|
1247
+ | `field_id` | string | Field identifier (used as key in response data) |
1248
+ | `label` | string | Human-readable label |
1249
+ | `component_type` | string | Component type (e.g., `HazoCollabFormInputbox`, `HazoCollabFormDate`) |
1250
+ | `description` | string? | Optional description for LLM context |
1251
+ | `input_type` | string? | Input type hint (`mixed`, `numeric`, `email`, `alpha`) |
1252
+ | `input_options` | Array? | Options for radio/combo fields (`[{ value, label }]`) |
1253
+ | `table_config` | object? | Table configuration for data-table fields |
1202
1254
 
1203
- **AutofillResponse from API:**
1255
+ **AutofillResponse** (your API must return):
1204
1256
 
1205
1257
  ```typescript
1206
1258
  {
1207
- success: boolean;
1208
- data: Record<string, unknown>; // Keyed by field_id
1209
- error?: string; // Error message if failed
1210
- message?: string; // Info message (e.g., "No matching data found")
1259
+ success: boolean; // Whether extraction succeeded
1260
+ data: Record<string, unknown>; // Extracted values keyed by field_id
1261
+ error?: string; // Error message if success=false
1262
+ message?: string; // Info message (e.g., "No matching data found")
1263
+ }
1264
+ ```
1265
+
1266
+ **Response examples:**
1267
+
1268
+ Scalar fields — values keyed by field_id:
1269
+ ```json
1270
+ {
1271
+ "success": true,
1272
+ "data": {
1273
+ "bank_name": "Commonwealth Bank",
1274
+ "amount": "1500.00",
1275
+ "withheld": "0"
1276
+ }
1277
+ }
1278
+ ```
1279
+
1280
+ Data table fields — return arrays which are appended as rows:
1281
+ ```json
1282
+ {
1283
+ "success": true,
1284
+ "data": {
1285
+ "interest_table": [
1286
+ { "bank": "CBA", "amount": "1200.00", "withheld": "0" },
1287
+ { "bank": "ANZ", "amount": "300.50", "withheld": "15.00" }
1288
+ ]
1289
+ }
1290
+ }
1291
+ ```
1292
+
1293
+ No matching data (file processed successfully but nothing relevant found):
1294
+ ```json
1295
+ {
1296
+ "success": true,
1297
+ "data": {},
1298
+ "message": "No matching data found in this document."
1299
+ }
1300
+ ```
1301
+
1302
+ #### Pre-Built Server Route (Optional)
1303
+
1304
+ If you use `hazo_llm_api`, a ready-made route handler is provided — see [Server-Side Route Handlers: Autofill Route](#autofill-route) below.
1305
+
1306
+ #### Custom API Endpoint (BYO LLM)
1307
+
1308
+ If you prefer your own LLM integration, implement the endpoint to:
1309
+
1310
+ 1. Receive the `AutofillRequest` body
1311
+ 2. Use `file_b64` (preferred) or fetch from `download_url` to get the file
1312
+ 3. Send the file + field schemas to your LLM with an extraction prompt
1313
+ 4. Parse the LLM response into a `Record<string, unknown>` keyed by `field_id`
1314
+ 5. Return an `AutofillResponse`
1315
+
1316
+ ```typescript
1317
+ // Example: app/api/autofill/extract/route.ts (Next.js App Router)
1318
+ import { NextRequest, NextResponse } from 'next/server';
1319
+
1320
+ export async function POST(request: NextRequest) {
1321
+ const body = await request.json();
1322
+ const { file_b64, mime_type, fields } = body;
1323
+
1324
+ // Build prompt from field schemas
1325
+ const field_descriptions = fields.map(
1326
+ (f: any) => `- "${f.field_id}" (${f.label}): ${f.component_type}`
1327
+ ).join('\n');
1328
+
1329
+ const prompt = `Extract the following fields from this document and return ONLY valid JSON.
1330
+ Fields: \n${field_descriptions}`;
1331
+
1332
+ // Call your LLM (e.g., Claude, OpenAI, etc.)
1333
+ const llm_result = await call_your_llm({ prompt, file_b64, mime_type });
1334
+
1335
+ return NextResponse.json({
1336
+ success: true,
1337
+ data: llm_result, // { bank_name: "CBA", amount: "1200.00", ... }
1338
+ });
1211
1339
  }
1212
1340
  ```
1213
1341
 
1342
+ #### Exports
1343
+
1344
+ ```typescript
1345
+ // Client-side component and types
1346
+ import {
1347
+ AutofillDropzone,
1348
+ type AutofillFieldSchema,
1349
+ type AutofillRequest,
1350
+ type AutofillResponse,
1351
+ type AutofillDropzoneProps,
1352
+ type AutofillStatus,
1353
+ type OverwriteConflict,
1354
+ } from 'hazo_collab_forms';
1355
+
1356
+ // Server-side route handler (Node.js only)
1357
+ import {
1358
+ create_autofill_route,
1359
+ type AutofillRouteOptions,
1360
+ } from 'hazo_collab_forms/lib';
1361
+ ```
1362
+
1214
1363
  ### Template Generator (Deprecated)
1215
1364
 
1216
1365
  > **Deprecated**: Use `HazoFieldLibrary` for managing form field definitions. `HazoTemplateGenerator` is still available but will be removed in a future major version.
@@ -2207,12 +2356,13 @@ const clarifications = await validate_file(file_b64, file_name, mime_type, conte
2207
2356
  ```typescript
2208
2357
  // app/api/validation/route.ts
2209
2358
  import { create_validation_route } from 'hazo_collab_forms/lib';
2359
+ import { getHazoConnect } from '@/lib/hazo_connect_setup';
2210
2360
 
2211
- const handler = create_validation_route({
2212
- sqlite_path: './data/prompts.sqlite',
2213
- });
2361
+ // Preferred: pass hazo_connect adapter (works with SQLite, PostgREST, Supabase)
2362
+ export const POST = create_validation_route({ hazo_connect_adapter: getHazoConnect() });
2214
2363
 
2215
- export const POST = handler;
2364
+ // Legacy: pass SQLite path directly (deprecated)
2365
+ // export const POST = create_validation_route({ sqlite_path: './data/prompts.sqlite' });
2216
2366
  ```
2217
2367
 
2218
2368
  ### Validation Rule Types
@@ -2296,35 +2446,105 @@ const fileManager: FileManagerConfig = {
2296
2446
 
2297
2447
  ## Server-Side Route Handlers
2298
2448
 
2299
- Pre-built route handler factories for common API patterns:
2449
+ Pre-built route handler factories for common API patterns. All handlers support `hazo_connect_adapter` for backend-agnostic database access (SQLite, PostgREST, Supabase).
2450
+
2451
+ ### Data Route (NEW in v2.0.3)
2452
+
2453
+ Backend-agnostic CRUD route factory. Replaces boilerplate REST endpoints (~200 lines) with a single function call.
2454
+
2455
+ ```typescript
2456
+ // app/api/hazo_connect/sqlite/data/route.ts
2457
+ import { create_data_route } from 'hazo_collab_forms/lib';
2458
+ import { getHazoConnect } from '@/lib/hazo_connect_setup';
2459
+
2460
+ export const dynamic = 'force-dynamic';
2461
+ export const { GET, POST, PATCH, DELETE } = create_data_route(getHazoConnect());
2462
+ ```
2463
+
2464
+ **With table whitelist** (for security):
2465
+
2466
+ ```typescript
2467
+ export const { GET, POST, PATCH, DELETE } = create_data_route(getHazoConnect(), {
2468
+ allowed_tables: ['hazo_collab_form_validations', 'hazo_collab_form_elts'],
2469
+ });
2470
+ ```
2471
+
2472
+ **Request format** (matches existing client hooks):
2473
+ - `GET ?table=X&filter[col]=val&orderBy=col&orderDirection=asc` → `{ data, total }`
2474
+ - `POST { table, data }` → `{ data }`
2475
+ - `PATCH { table, criteria, data }` → `{ data, updated }`
2476
+ - `DELETE { table, criteria }` → `{ data, deleted }`
2477
+
2478
+ **Requirements**: `hazo_connect` must be installed (`npm install hazo_connect`).
2300
2479
 
2301
2480
  ### Autofill Route
2302
2481
 
2482
+ Ready-made POST handler for LLM-based document extraction. Wraps `hazo_llm_api` so consumers can set up autofill in ~3 lines.
2483
+
2303
2484
  ```typescript
2304
2485
  // app/api/autofill/route.ts
2305
2486
  import { create_autofill_route } from 'hazo_collab_forms/lib';
2487
+ import { getHazoConnect } from '@/lib/hazo_connect_setup';
2306
2488
 
2307
- const handler = create_autofill_route({
2308
- sqlite_path: './data/prompts.sqlite',
2309
- });
2489
+ // Preferred: pass adapter (works with any hazo_connect backend)
2490
+ export const POST = create_autofill_route({ hazo_connect_adapter: getHazoConnect() });
2310
2491
 
2311
- export const POST = handler;
2492
+ // Legacy: pass SQLite path directly (deprecated)
2493
+ // export const POST = create_autofill_route({ sqlite_path: './data/prompts.sqlite' });
2312
2494
  ```
2313
2495
 
2496
+ **How it works:**
2497
+
2498
+ 1. Receives `AutofillRequest` from the `AutofillDropzone` component
2499
+ 2. Validates that `prompt_area`, `prompt_key`, and `fields` are present
2500
+ 3. Lazily initializes `hazo_llm_api` (dynamic import — only loaded at runtime)
2501
+ 4. Calls `hazo_llm_dynamic_data_extract` with the file + prompt context + field schemas
2502
+ 5. Falls back to a direct LLM call with a generated prompt if dynamic extract fails
2503
+ 6. Parses the LLM response as JSON and returns `AutofillResponse`
2504
+
2505
+ **Options:**
2506
+
2507
+ | Option | Type | Default | Description |
2508
+ |--------|------|---------|-------------|
2509
+ | `hazo_connect_adapter` | HazoConnectAdapterLike | - | Adapter from hazo_connect (preferred) |
2510
+ | `sqlite_path` | string | `'data/prompt_library.sqlite'` | Path to SQLite DB (deprecated) |
2511
+ | `on_error` | function | `console.error` | Error handler `(error, context) => void` |
2512
+
2513
+ **Requirements:**
2514
+ - `hazo_llm_api` must be installed as a dependency (`npm install hazo_llm_api`)
2515
+ - The database should contain prompts keyed by `(area, key)` with a `prompt_text_full` field
2516
+ - The prompt can include `{{field_list}}` which is auto-substituted with formatted field schemas
2517
+ - Supports image files (JPEG, PNG, etc.) and PDF documents
2518
+
2519
+ **Prompt Lookup Fallback Chain:**
2520
+ 1. `hazo_llm_dynamic_data_extract` (prompt DB + multi-step extraction)
2521
+ 2. Direct LLM call with prompt from DB (`get_by_area_key(prompt_area, prompt_key)`)
2522
+ 3. Auto-generated extraction prompt from field schemas (no DB needed)
2523
+
2524
+ This means the autofill route works even without a prompt database — it will generate a reasonable extraction prompt from the field schemas automatically.
2525
+
2314
2526
  ### Validation Route
2315
2527
 
2316
2528
  ```typescript
2317
2529
  // app/api/validation/route.ts
2318
2530
  import { create_validation_route } from 'hazo_collab_forms/lib';
2531
+ import { getHazoConnect } from '@/lib/hazo_connect_setup';
2319
2532
 
2320
- const handler = create_validation_route({
2321
- sqlite_path: './data/prompts.sqlite',
2322
- on_error: (error, context) => console.error(`[Validation] ${context}:`, error),
2323
- });
2533
+ // Preferred: pass adapter
2534
+ export const POST = create_validation_route({ hazo_connect_adapter: getHazoConnect() });
2324
2535
 
2325
- export const POST = handler;
2536
+ // Legacy: pass SQLite path directly (deprecated)
2537
+ // export const POST = create_validation_route({ sqlite_path: './data/prompts.sqlite' });
2326
2538
  ```
2327
2539
 
2540
+ **Options:**
2541
+
2542
+ | Option | Type | Default | Description |
2543
+ |--------|------|---------|-------------|
2544
+ | `hazo_connect_adapter` | HazoConnectAdapterLike | - | Adapter from hazo_connect (preferred) |
2545
+ | `sqlite_path` | string | from INI config or `'data/prompt_library.sqlite'` | Path to SQLite DB (deprecated) |
2546
+ | `on_error` | function | `console.error` | Error handler `(error, context) => void` |
2547
+
2328
2548
  **Note**: Server-side imports use the `hazo_collab_forms/lib` entry point which includes Node.js-only utilities.
2329
2549
 
2330
2550
  ---
@@ -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
@@ -1550,6 +1552,8 @@ 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
1558
  clarification_count: get_pending_count(field.id) || undefined, has_clarification: field_metadata_prop?.[field.id]?.has_clarification, on_clarification_click: get_pending_count(field.id) > 0 ? () => set_clarification_dialog_field(field.id) : undefined, 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`);