@claritylabs/cl-sdk 3.2.13 → 4.0.1

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.
@@ -284,8 +284,291 @@ function createSqliteMemoryStore(db, embed) {
284
284
  }
285
285
 
286
286
  // src/source/schemas.ts
287
+ var import_zod2 = require("zod");
288
+
289
+ // src/schemas/lines-of-business.ts
287
290
  var import_zod = require("zod");
288
- var SourceSpanKindSchema = import_zod.z.enum([
291
+ var ACORD_LOB_CODES = [
292
+ "AAPPL",
293
+ "AGLIA",
294
+ "AGPP",
295
+ "AGPR",
296
+ "AIRC",
297
+ "AIRPFB",
298
+ "APKG",
299
+ "APKGE",
300
+ "APROD",
301
+ "ARVP",
302
+ "AUTO",
303
+ "AUTOB",
304
+ "AUTOP",
305
+ "AVPKG",
306
+ "BANDM",
307
+ "BLANK",
308
+ "BMISC",
309
+ "BOAT",
310
+ "BOP",
311
+ "BOPGL",
312
+ "BOPPR",
313
+ "CAVN",
314
+ "CEQFL",
315
+ "CFIRE",
316
+ "CFRM",
317
+ "CGL",
318
+ "COMAR",
319
+ "COMR",
320
+ "CONTR",
321
+ "CPKGE",
322
+ "CPMP",
323
+ "CRIME",
324
+ "DFIRE",
325
+ "DISAB",
326
+ "DO",
327
+ "EDP",
328
+ "EL",
329
+ "EO",
330
+ "EPLI",
331
+ "EQ",
332
+ "EQPFL",
333
+ "EXLIA",
334
+ "FIDTY",
335
+ "FIDUC",
336
+ "FINEA",
337
+ "FLOOD",
338
+ "GARAG",
339
+ "GL",
340
+ "GLASS",
341
+ "HANG",
342
+ "HBB",
343
+ "HOME",
344
+ "INBR",
345
+ "INMAR",
346
+ "INMRC",
347
+ "INMRP",
348
+ "JUDCL",
349
+ "KIDRA",
350
+ "LL",
351
+ "MHOME",
352
+ "MMAL",
353
+ "Motorcycle",
354
+ "MTRTK",
355
+ "OLIB",
356
+ "PHYS",
357
+ "PKG",
358
+ "PL",
359
+ "PLMSC",
360
+ "PPKGE",
361
+ "PROP",
362
+ "PROPC",
363
+ "PUBOF",
364
+ "RECV",
365
+ "SCHPR",
366
+ "SIGNS",
367
+ "SMP",
368
+ "SURE",
369
+ "TRANS",
370
+ "TRUCK",
371
+ "UMBRC",
372
+ "UMBRL",
373
+ "UMBRP",
374
+ "UN",
375
+ "WCMA",
376
+ "WIND",
377
+ "WORK",
378
+ "WORKP",
379
+ "WORKV"
380
+ ];
381
+ var AcordLobCodeSchema = import_zod.z.enum(ACORD_LOB_CODES);
382
+ var ACORD_LOB_LABELS = {
383
+ AAPPL: "Aircraft / Aerial Applicator",
384
+ AGLIA: "Agricultural Liability",
385
+ AGPP: "Agricultural Personal Property",
386
+ AGPR: "Agricultural Property",
387
+ AIRC: "Aircraft",
388
+ AIRPFB: "Airport / Fixed Base Operator",
389
+ APKG: "Agricultural Package",
390
+ APKGE: "Agricultural Package (Extended)",
391
+ APROD: "Agricultural Products",
392
+ ARVP: "Recreational Vehicle Package",
393
+ AUTO: "Automobile",
394
+ AUTOB: "Business Auto",
395
+ AUTOP: "Personal Auto",
396
+ AVPKG: "Aviation Package",
397
+ BANDM: "Boiler & Machinery",
398
+ BLANK: "Blanket",
399
+ BMISC: "Business Miscellaneous",
400
+ BOAT: "Boat",
401
+ BOP: "Businessowners Policy",
402
+ BOPGL: "BOP - General Liability",
403
+ BOPPR: "BOP - Property",
404
+ CAVN: "Commercial Aviation",
405
+ CEQFL: "Contractors Equipment Floater",
406
+ CFIRE: "Commercial Fire",
407
+ CFRM: "Commercial Farm",
408
+ CGL: "Commercial General Liability",
409
+ COMAR: "Commercial Marine / Ocean Marine",
410
+ COMR: "Commercial (misc.)",
411
+ CONTR: "Contractors",
412
+ CPKGE: "Commercial Package",
413
+ CPMP: "Commercial Package (multi-peril)",
414
+ CRIME: "Crime",
415
+ DFIRE: "Dwelling Fire",
416
+ DISAB: "Disability",
417
+ DO: "Directors & Officers Liability",
418
+ EDP: "Electronic Data Processing",
419
+ EL: "Employers Liability",
420
+ EO: "Errors & Omissions",
421
+ EPLI: "Employment Practices Liability",
422
+ EQ: "Earthquake",
423
+ EQPFL: "Equipment Floater",
424
+ EXLIA: "Excess Liability",
425
+ FIDTY: "Fidelity",
426
+ FIDUC: "Fiduciary Liability",
427
+ FINEA: "Fine Arts",
428
+ FLOOD: "Flood",
429
+ GARAG: "Garage",
430
+ GL: "General Liability",
431
+ GLASS: "Glass",
432
+ HANG: "Hangar (Aviation)",
433
+ HBB: "Home-Based Business",
434
+ HOME: "Homeowners",
435
+ INBR: "Inland Marine - Brokers",
436
+ INMAR: "Inland Marine",
437
+ INMRC: "Inland Marine - Commercial",
438
+ INMRP: "Inland Marine - Personal",
439
+ JUDCL: "Judicial Bonds",
440
+ KIDRA: "Kidnap & Ransom",
441
+ LL: "Liquor Liability",
442
+ MHOME: "Mobile Home",
443
+ MMAL: "Medical Malpractice",
444
+ Motorcycle: "Motorcycle",
445
+ MTRTK: "Motor Truck Cargo",
446
+ OLIB: "Other Liability",
447
+ PHYS: "Physical Damage",
448
+ PKG: "Package",
449
+ PL: "Professional Liability",
450
+ PLMSC: "Personal Lines Miscellaneous",
451
+ PPKGE: "Personal Package",
452
+ PROP: "Property",
453
+ PROPC: "Property - Commercial",
454
+ PUBOF: "Public Officials Liability",
455
+ RECV: "Recreational Vehicle",
456
+ SCHPR: "Scheduled Property",
457
+ SIGNS: "Signs",
458
+ SMP: "Special Multi-Peril",
459
+ SURE: "Surety",
460
+ TRANS: "Transportation",
461
+ TRUCK: "Trucking",
462
+ UMBRC: "Umbrella - Commercial",
463
+ UMBRL: "Umbrella",
464
+ UMBRP: "Umbrella - Personal",
465
+ UN: "Unspecified / Unknown",
466
+ WCMA: "Workers Comp - Monopolistic/State",
467
+ WIND: "Wind",
468
+ WORK: "Workers Compensation",
469
+ WORKP: "Workers Compensation (Personal/Package)",
470
+ WORKV: "Workers Compensation (Voluntary)"
471
+ };
472
+ var LEGACY_POLICY_TYPE_TO_LOB = {
473
+ general_liability: ["CGL"],
474
+ commercial_property: ["PROPC"],
475
+ commercial_auto: ["AUTOB"],
476
+ non_owned_auto: ["AUTOB"],
477
+ workers_comp: ["WORK"],
478
+ umbrella: ["UMBRC"],
479
+ excess_liability: ["EXLIA"],
480
+ professional_liability: ["EO"],
481
+ cyber: ["OLIB"],
482
+ epli: ["EPLI"],
483
+ directors_officers: ["DO"],
484
+ fiduciary_liability: ["FIDUC"],
485
+ crime_fidelity: ["CRIME"],
486
+ inland_marine: ["INMRC"],
487
+ builders_risk: ["INMRC"],
488
+ environmental: ["OLIB"],
489
+ ocean_marine: ["COMAR"],
490
+ surety: ["SURE"],
491
+ product_liability: ["OLIB"],
492
+ bop: ["BOP"],
493
+ management_liability_package: ["DO", "EPLI", "FIDUC"],
494
+ property: ["PROP"],
495
+ homeowners_ho3: ["HOME"],
496
+ homeowners_ho5: ["HOME"],
497
+ renters_ho4: ["HOME"],
498
+ condo_ho6: ["HOME"],
499
+ dwelling_fire: ["DFIRE"],
500
+ mobile_home: ["MHOME"],
501
+ personal_auto: ["AUTOP"],
502
+ personal_umbrella: ["UMBRP"],
503
+ flood_nfip: ["FLOOD"],
504
+ flood_private: ["FLOOD"],
505
+ earthquake: ["EQ"],
506
+ personal_inland_marine: ["INMRP"],
507
+ watercraft: ["BOAT"],
508
+ recreational_vehicle: ["RECV"],
509
+ farm_ranch: ["CFRM"],
510
+ life: ["UN"],
511
+ critical_illness: ["DISAB"],
512
+ disability: ["DISAB"],
513
+ long_term_care: ["UN"],
514
+ pet: ["UN"],
515
+ travel: ["UN"],
516
+ identity_theft: ["UN"],
517
+ title: ["UN"],
518
+ other: ["UN"],
519
+ unknown: ["UN"],
520
+ auto: ["AUTOB"],
521
+ crime: ["CRIME"],
522
+ crim: ["CRIME"],
523
+ fiduciary: ["FIDUC"],
524
+ d_and_o: ["DO"],
525
+ d_o: ["DO"],
526
+ homeowners: ["HOME"],
527
+ renters: ["HOME"],
528
+ flood: ["FLOOD"],
529
+ boat: ["BOAT"],
530
+ motorcycle: ["Motorcycle"]
531
+ };
532
+ function hasOwn(object, key) {
533
+ return Object.prototype.hasOwnProperty.call(object, key);
534
+ }
535
+ function canonicalLegacyKey(value) {
536
+ return value.trim().toLowerCase().replace(/&/g, " and ").replace(/[^a-z0-9]+/g, "_").replace(/^_+|_+$/g, "").replace(/_+/g, "_");
537
+ }
538
+ function isLobCode(value) {
539
+ return typeof value === "string" && hasOwn(ACORD_LOB_LABELS, value);
540
+ }
541
+ function toLobCodes(values) {
542
+ const source = values?.filter((value) => typeof value === "string" && value.trim()) ?? [];
543
+ if (source.length === 0) return ["UN"];
544
+ const codes = [];
545
+ for (const value of source) {
546
+ const trimmed = value.trim();
547
+ if (isLobCode(trimmed)) {
548
+ codes.push(trimmed);
549
+ continue;
550
+ }
551
+ if (trimmed.toUpperCase() === "CRIM") {
552
+ codes.push("CRIME");
553
+ continue;
554
+ }
555
+ const mapped = LEGACY_POLICY_TYPE_TO_LOB[canonicalLegacyKey(trimmed)];
556
+ if (mapped) {
557
+ codes.push(...mapped);
558
+ continue;
559
+ }
560
+ const upper = trimmed.toUpperCase();
561
+ if (isLobCode(upper)) {
562
+ codes.push(upper);
563
+ continue;
564
+ }
565
+ codes.push("UN");
566
+ }
567
+ return Array.from(new Set(codes));
568
+ }
569
+
570
+ // src/source/schemas.ts
571
+ var SourceSpanKindSchema = import_zod2.z.enum([
289
572
  "pdf_text",
290
573
  "pdf_image",
291
574
  "html",
@@ -293,7 +576,7 @@ var SourceSpanKindSchema = import_zod.z.enum([
293
576
  "plain_text",
294
577
  "structured_field"
295
578
  ]);
296
- var SourceSpanUnitSchema = import_zod.z.enum([
579
+ var SourceSpanUnitSchema = import_zod2.z.enum([
297
580
  "page",
298
581
  "section",
299
582
  "table",
@@ -302,78 +585,78 @@ var SourceSpanUnitSchema = import_zod.z.enum([
302
585
  "key_value",
303
586
  "text"
304
587
  ]);
305
- var SourceKindSchema = import_zod.z.enum([
588
+ var SourceKindSchema = import_zod2.z.enum([
306
589
  "policy_pdf",
307
590
  "application_pdf",
308
591
  "email",
309
592
  "attachment",
310
593
  "manual_note"
311
594
  ]);
312
- var SourceSpanBBoxSchema = import_zod.z.object({
313
- page: import_zod.z.number().int().positive(),
314
- x: import_zod.z.number(),
315
- y: import_zod.z.number(),
316
- width: import_zod.z.number(),
317
- height: import_zod.z.number()
595
+ var SourceSpanBBoxSchema = import_zod2.z.object({
596
+ page: import_zod2.z.number().int().positive(),
597
+ x: import_zod2.z.number(),
598
+ y: import_zod2.z.number(),
599
+ width: import_zod2.z.number(),
600
+ height: import_zod2.z.number()
318
601
  });
319
- var SourceSpanLocationSchema = import_zod.z.object({
320
- page: import_zod.z.number().int().positive().optional(),
321
- startPage: import_zod.z.number().int().positive().optional(),
322
- endPage: import_zod.z.number().int().positive().optional(),
323
- charStart: import_zod.z.number().int().nonnegative().optional(),
324
- charEnd: import_zod.z.number().int().nonnegative().optional(),
325
- lineStart: import_zod.z.number().int().positive().optional(),
326
- lineEnd: import_zod.z.number().int().positive().optional(),
327
- fieldPath: import_zod.z.string().optional()
602
+ var SourceSpanLocationSchema = import_zod2.z.object({
603
+ page: import_zod2.z.number().int().positive().optional(),
604
+ startPage: import_zod2.z.number().int().positive().optional(),
605
+ endPage: import_zod2.z.number().int().positive().optional(),
606
+ charStart: import_zod2.z.number().int().nonnegative().optional(),
607
+ charEnd: import_zod2.z.number().int().nonnegative().optional(),
608
+ lineStart: import_zod2.z.number().int().positive().optional(),
609
+ lineEnd: import_zod2.z.number().int().positive().optional(),
610
+ fieldPath: import_zod2.z.string().optional()
328
611
  });
329
- var SourceSpanTableLocationSchema = import_zod.z.object({
330
- tableId: import_zod.z.string().optional(),
331
- rowIndex: import_zod.z.number().int().nonnegative().optional(),
332
- columnIndex: import_zod.z.number().int().nonnegative().optional(),
333
- columnName: import_zod.z.string().optional(),
334
- rowSpanId: import_zod.z.string().optional(),
335
- tableSpanId: import_zod.z.string().optional(),
336
- isHeader: import_zod.z.boolean().optional()
612
+ var SourceSpanTableLocationSchema = import_zod2.z.object({
613
+ tableId: import_zod2.z.string().optional(),
614
+ rowIndex: import_zod2.z.number().int().nonnegative().optional(),
615
+ columnIndex: import_zod2.z.number().int().nonnegative().optional(),
616
+ columnName: import_zod2.z.string().optional(),
617
+ rowSpanId: import_zod2.z.string().optional(),
618
+ tableSpanId: import_zod2.z.string().optional(),
619
+ isHeader: import_zod2.z.boolean().optional()
337
620
  });
338
- var SourceSpanSchema = import_zod.z.object({
339
- id: import_zod.z.string().min(1),
340
- documentId: import_zod.z.string().min(1),
621
+ var SourceSpanSchema = import_zod2.z.object({
622
+ id: import_zod2.z.string().min(1),
623
+ documentId: import_zod2.z.string().min(1),
341
624
  sourceKind: SourceKindSchema.optional(),
342
- chunkId: import_zod.z.string().optional(),
625
+ chunkId: import_zod2.z.string().optional(),
343
626
  kind: SourceSpanKindSchema,
344
- text: import_zod.z.string(),
345
- hash: import_zod.z.string().min(1),
346
- textHash: import_zod.z.string().optional(),
347
- pageStart: import_zod.z.number().int().positive().optional(),
348
- pageEnd: import_zod.z.number().int().positive().optional(),
349
- sectionId: import_zod.z.string().optional(),
350
- formNumber: import_zod.z.string().optional(),
627
+ text: import_zod2.z.string(),
628
+ hash: import_zod2.z.string().min(1),
629
+ textHash: import_zod2.z.string().optional(),
630
+ pageStart: import_zod2.z.number().int().positive().optional(),
631
+ pageEnd: import_zod2.z.number().int().positive().optional(),
632
+ sectionId: import_zod2.z.string().optional(),
633
+ formNumber: import_zod2.z.string().optional(),
351
634
  sourceUnit: SourceSpanUnitSchema.optional(),
352
- parentSpanId: import_zod.z.string().optional(),
635
+ parentSpanId: import_zod2.z.string().optional(),
353
636
  table: SourceSpanTableLocationSchema.optional(),
354
- bbox: import_zod.z.array(SourceSpanBBoxSchema).optional(),
637
+ bbox: import_zod2.z.array(SourceSpanBBoxSchema).optional(),
355
638
  location: SourceSpanLocationSchema.optional(),
356
- metadata: import_zod.z.record(import_zod.z.string(), import_zod.z.string()).optional()
639
+ metadata: import_zod2.z.record(import_zod2.z.string(), import_zod2.z.string()).optional()
357
640
  });
358
- var SourceSpanRefSchema = import_zod.z.object({
359
- sourceSpanId: import_zod.z.string().min(1),
360
- documentId: import_zod.z.string().min(1).optional(),
361
- chunkId: import_zod.z.string().optional(),
362
- quote: import_zod.z.string().optional(),
363
- hash: import_zod.z.string().optional(),
641
+ var SourceSpanRefSchema = import_zod2.z.object({
642
+ sourceSpanId: import_zod2.z.string().min(1),
643
+ documentId: import_zod2.z.string().min(1).optional(),
644
+ chunkId: import_zod2.z.string().optional(),
645
+ quote: import_zod2.z.string().optional(),
646
+ hash: import_zod2.z.string().optional(),
364
647
  location: SourceSpanLocationSchema.optional()
365
648
  });
366
- var SourceChunkSchema = import_zod.z.object({
367
- id: import_zod.z.string().min(1),
368
- documentId: import_zod.z.string().min(1),
369
- sourceSpanIds: import_zod.z.array(import_zod.z.string().min(1)),
370
- text: import_zod.z.string(),
371
- textHash: import_zod.z.string().min(1),
372
- pageStart: import_zod.z.number().int().positive().optional(),
373
- pageEnd: import_zod.z.number().int().positive().optional(),
374
- metadata: import_zod.z.record(import_zod.z.string(), import_zod.z.string()).default({})
649
+ var SourceChunkSchema = import_zod2.z.object({
650
+ id: import_zod2.z.string().min(1),
651
+ documentId: import_zod2.z.string().min(1),
652
+ sourceSpanIds: import_zod2.z.array(import_zod2.z.string().min(1)),
653
+ text: import_zod2.z.string(),
654
+ textHash: import_zod2.z.string().min(1),
655
+ pageStart: import_zod2.z.number().int().positive().optional(),
656
+ pageEnd: import_zod2.z.number().int().positive().optional(),
657
+ metadata: import_zod2.z.record(import_zod2.z.string(), import_zod2.z.string()).default({})
375
658
  });
376
- var DocumentSourceNodeKindSchema = import_zod.z.enum([
659
+ var DocumentSourceNodeKindSchema = import_zod2.z.enum([
377
660
  "document",
378
661
  "page_group",
379
662
  "page",
@@ -387,31 +670,31 @@ var DocumentSourceNodeKindSchema = import_zod.z.enum([
387
670
  "table_cell",
388
671
  "text"
389
672
  ]);
390
- var DocumentSourceNodeSchema = import_zod.z.object({
391
- id: import_zod.z.string().min(1),
392
- documentId: import_zod.z.string().min(1),
393
- parentId: import_zod.z.string().optional(),
673
+ var DocumentSourceNodeSchema = import_zod2.z.object({
674
+ id: import_zod2.z.string().min(1),
675
+ documentId: import_zod2.z.string().min(1),
676
+ parentId: import_zod2.z.string().optional(),
394
677
  kind: DocumentSourceNodeKindSchema,
395
- title: import_zod.z.string(),
396
- description: import_zod.z.string(),
397
- textExcerpt: import_zod.z.string().optional(),
398
- sourceSpanIds: import_zod.z.array(import_zod.z.string().min(1)),
399
- pageStart: import_zod.z.number().int().positive().optional(),
400
- pageEnd: import_zod.z.number().int().positive().optional(),
401
- bbox: import_zod.z.array(SourceSpanBBoxSchema).optional(),
402
- order: import_zod.z.number().int().nonnegative(),
403
- path: import_zod.z.string(),
404
- metadata: import_zod.z.record(import_zod.z.string(), import_zod.z.unknown()).optional()
678
+ title: import_zod2.z.string(),
679
+ description: import_zod2.z.string(),
680
+ textExcerpt: import_zod2.z.string().optional(),
681
+ sourceSpanIds: import_zod2.z.array(import_zod2.z.string().min(1)),
682
+ pageStart: import_zod2.z.number().int().positive().optional(),
683
+ pageEnd: import_zod2.z.number().int().positive().optional(),
684
+ bbox: import_zod2.z.array(SourceSpanBBoxSchema).optional(),
685
+ order: import_zod2.z.number().int().nonnegative(),
686
+ path: import_zod2.z.string(),
687
+ metadata: import_zod2.z.record(import_zod2.z.string(), import_zod2.z.unknown()).optional()
405
688
  });
406
- var SourceBackedValueSchema = import_zod.z.object({
407
- value: import_zod.z.string(),
408
- normalizedValue: import_zod.z.string().optional(),
409
- confidence: import_zod.z.enum(["low", "medium", "high"]).default("medium"),
410
- sourceNodeIds: import_zod.z.array(import_zod.z.string().min(1)).default([]),
411
- sourceSpanIds: import_zod.z.array(import_zod.z.string().min(1)).default([])
689
+ var SourceBackedValueSchema = import_zod2.z.object({
690
+ value: import_zod2.z.string(),
691
+ normalizedValue: import_zod2.z.string().optional(),
692
+ confidence: import_zod2.z.enum(["low", "medium", "high"]).default("medium"),
693
+ sourceNodeIds: import_zod2.z.array(import_zod2.z.string().min(1)).default([]),
694
+ sourceSpanIds: import_zod2.z.array(import_zod2.z.string().min(1)).default([])
412
695
  });
413
- var OperationalCoverageTermSchema = import_zod.z.object({
414
- kind: import_zod.z.enum([
696
+ var OperationalCoverageTermSchema = import_zod2.z.object({
697
+ kind: import_zod2.z.enum([
415
698
  "each_claim_limit",
416
699
  "each_occurrence_limit",
417
700
  "each_loss_limit",
@@ -423,334 +706,75 @@ var OperationalCoverageTermSchema = import_zod.z.object({
423
706
  "premium",
424
707
  "other"
425
708
  ]).default("other"),
426
- label: import_zod.z.string(),
427
- value: import_zod.z.string(),
428
- amount: import_zod.z.number().optional(),
429
- appliesTo: import_zod.z.string().optional(),
430
- sourceNodeIds: import_zod.z.array(import_zod.z.string().min(1)).default([]),
431
- sourceSpanIds: import_zod.z.array(import_zod.z.string().min(1)).default([])
432
- });
433
- var OperationalCoverageLineSchema = import_zod.z.object({
434
- name: import_zod.z.string(),
435
- coverageCode: import_zod.z.string().optional(),
436
- limit: import_zod.z.string().optional(),
437
- deductible: import_zod.z.string().optional(),
438
- premium: import_zod.z.string().optional(),
439
- retroactiveDate: import_zod.z.string().optional(),
440
- formNumber: import_zod.z.string().optional(),
441
- sectionRef: import_zod.z.string().optional(),
442
- endorsementNumber: import_zod.z.string().optional(),
443
- limits: import_zod.z.array(OperationalCoverageTermSchema).default([]),
444
- sourceNodeIds: import_zod.z.array(import_zod.z.string().min(1)).default([]),
445
- sourceSpanIds: import_zod.z.array(import_zod.z.string().min(1)).default([])
709
+ label: import_zod2.z.string(),
710
+ value: import_zod2.z.string(),
711
+ amount: import_zod2.z.number().optional(),
712
+ appliesTo: import_zod2.z.string().optional(),
713
+ sourceNodeIds: import_zod2.z.array(import_zod2.z.string().min(1)).default([]),
714
+ sourceSpanIds: import_zod2.z.array(import_zod2.z.string().min(1)).default([])
446
715
  });
447
- var OperationalPartySchema = import_zod.z.object({
448
- role: import_zod.z.string(),
449
- name: import_zod.z.string(),
450
- sourceNodeIds: import_zod.z.array(import_zod.z.string().min(1)).default([]),
451
- sourceSpanIds: import_zod.z.array(import_zod.z.string().min(1)).default([])
716
+ var OperationalCoverageLineSchema = import_zod2.z.object({
717
+ name: import_zod2.z.string(),
718
+ coverageCode: import_zod2.z.string().optional(),
719
+ limit: import_zod2.z.string().optional(),
720
+ deductible: import_zod2.z.string().optional(),
721
+ premium: import_zod2.z.string().optional(),
722
+ retroactiveDate: import_zod2.z.string().optional(),
723
+ formNumber: import_zod2.z.string().optional(),
724
+ sectionRef: import_zod2.z.string().optional(),
725
+ endorsementNumber: import_zod2.z.string().optional(),
726
+ limits: import_zod2.z.array(OperationalCoverageTermSchema).default([]),
727
+ sourceNodeIds: import_zod2.z.array(import_zod2.z.string().min(1)).default([]),
728
+ sourceSpanIds: import_zod2.z.array(import_zod2.z.string().min(1)).default([])
452
729
  });
453
- var OperationalEndorsementSupportSchema = import_zod.z.object({
454
- kind: import_zod.z.string(),
455
- status: import_zod.z.enum(["supported", "excluded", "requires_review"]),
456
- summary: import_zod.z.string(),
457
- sourceNodeIds: import_zod.z.array(import_zod.z.string().min(1)).default([]),
458
- sourceSpanIds: import_zod.z.array(import_zod.z.string().min(1)).default([])
730
+ var OperationalPartySchema = import_zod2.z.object({
731
+ role: import_zod2.z.string(),
732
+ name: import_zod2.z.string(),
733
+ sourceNodeIds: import_zod2.z.array(import_zod2.z.string().min(1)).default([]),
734
+ sourceSpanIds: import_zod2.z.array(import_zod2.z.string().min(1)).default([])
459
735
  });
460
- var PolicyOperationalProfileSchema = import_zod.z.object({
461
- documentType: import_zod.z.enum(["policy", "quote"]).default("policy"),
462
- policyTypes: import_zod.z.array(import_zod.z.string()).default(["other"]),
463
- policyNumber: SourceBackedValueSchema.optional(),
464
- namedInsured: SourceBackedValueSchema.optional(),
465
- insurer: SourceBackedValueSchema.optional(),
466
- broker: SourceBackedValueSchema.optional(),
467
- effectiveDate: SourceBackedValueSchema.optional(),
468
- expirationDate: SourceBackedValueSchema.optional(),
469
- retroactiveDate: SourceBackedValueSchema.optional(),
470
- premium: SourceBackedValueSchema.optional(),
471
- coverages: import_zod.z.array(OperationalCoverageLineSchema).default([]),
472
- parties: import_zod.z.array(OperationalPartySchema).default([]),
473
- endorsementSupport: import_zod.z.array(OperationalEndorsementSupportSchema).default([]),
474
- sourceNodeIds: import_zod.z.array(import_zod.z.string().min(1)).default([]),
475
- sourceSpanIds: import_zod.z.array(import_zod.z.string().min(1)).default([]),
476
- warnings: import_zod.z.array(import_zod.z.string()).default([])
736
+ var OperationalEndorsementSupportSchema = import_zod2.z.object({
737
+ kind: import_zod2.z.string(),
738
+ status: import_zod2.z.enum(["supported", "excluded", "requires_review"]),
739
+ summary: import_zod2.z.string(),
740
+ sourceNodeIds: import_zod2.z.array(import_zod2.z.string().min(1)).default([]),
741
+ sourceSpanIds: import_zod2.z.array(import_zod2.z.string().min(1)).default([])
477
742
  });
478
-
479
- // src/schemas/enums.ts
480
- var import_zod2 = require("zod");
481
- var PolicyTypeSchema = import_zod2.z.enum([
482
- // Commercial lines
483
- "general_liability",
484
- "commercial_property",
485
- "commercial_auto",
486
- "non_owned_auto",
487
- "workers_comp",
488
- "umbrella",
489
- "excess_liability",
490
- "professional_liability",
491
- "cyber",
492
- "epli",
493
- "directors_officers",
494
- "fiduciary_liability",
495
- "crime_fidelity",
496
- "inland_marine",
497
- "builders_risk",
498
- "environmental",
499
- "ocean_marine",
500
- "surety",
501
- "product_liability",
502
- "bop",
503
- "management_liability_package",
504
- "property",
505
- // Personal lines
506
- "homeowners_ho3",
507
- "homeowners_ho5",
508
- "renters_ho4",
509
- "condo_ho6",
510
- "dwelling_fire",
511
- "mobile_home",
512
- "personal_auto",
513
- "personal_umbrella",
514
- "flood_nfip",
515
- "flood_private",
516
- "earthquake",
517
- "personal_inland_marine",
518
- "watercraft",
519
- "recreational_vehicle",
520
- "farm_ranch",
521
- "life",
522
- "critical_illness",
523
- "disability",
524
- "long_term_care",
525
- "pet",
526
- "travel",
527
- "identity_theft",
528
- "title",
529
- "other"
530
- ]);
531
- var POLICY_TYPES = PolicyTypeSchema.options;
532
- var EndorsementTypeSchema = import_zod2.z.enum([
533
- "additional_insured",
534
- "waiver_of_subrogation",
535
- "primary_noncontributory",
536
- "blanket_additional_insured",
537
- "loss_payee",
538
- "mortgage_holder",
539
- "broadening",
540
- "restriction",
541
- "exclusion",
542
- "amendatory",
543
- "notice_of_cancellation",
544
- "designated_premises",
545
- "classification_change",
546
- "schedule_update",
547
- "deductible_change",
548
- "limit_change",
549
- "territorial_extension",
550
- "other"
551
- ]);
552
- var ENDORSEMENT_TYPES = EndorsementTypeSchema.options;
553
- var ConditionTypeSchema = import_zod2.z.enum([
554
- "duties_after_loss",
555
- "notice_requirements",
556
- "other_insurance",
557
- "cancellation",
558
- "nonrenewal",
559
- "transfer_of_rights",
560
- "liberalization",
561
- "arbitration",
562
- "concealment_fraud",
563
- "examination_under_oath",
564
- "legal_action",
565
- "loss_payment",
566
- "appraisal",
567
- "mortgage_holders",
568
- "policy_territory",
569
- "separation_of_insureds",
570
- "other"
571
- ]);
572
- var CONDITION_TYPES = ConditionTypeSchema.options;
573
- var PolicySectionTypeSchema = import_zod2.z.enum([
574
- "declarations",
575
- "insuring_agreement",
576
- "policy_form",
577
- "endorsement",
578
- "application",
579
- "exclusion",
580
- "condition",
581
- "definition",
582
- "schedule",
583
- "notice",
584
- "regulatory",
585
- "other"
586
- ]);
587
- var POLICY_SECTION_TYPES = PolicySectionTypeSchema.options;
588
- var QuoteSectionTypeSchema = import_zod2.z.enum([
589
- "terms_summary",
590
- "premium_indication",
591
- "underwriting_condition",
592
- "subjectivity",
593
- "coverage_summary",
594
- "exclusion",
595
- "other"
596
- ]);
597
- var QUOTE_SECTION_TYPES = QuoteSectionTypeSchema.options;
598
- var CoverageFormSchema = import_zod2.z.enum(["occurrence", "claims_made", "accident"]);
599
- var COVERAGE_FORMS = CoverageFormSchema.options;
600
- var PolicyTermTypeSchema = import_zod2.z.enum(["fixed", "continuous"]);
601
- var POLICY_TERM_TYPES = PolicyTermTypeSchema.options;
602
- var CoverageTriggerSchema = import_zod2.z.enum(["occurrence", "claims_made", "accident"]);
603
- var COVERAGE_TRIGGERS = CoverageTriggerSchema.options;
604
- var LimitTypeSchema = import_zod2.z.enum([
605
- "per_occurrence",
606
- "per_claim",
607
- "aggregate",
608
- "per_person",
609
- "per_accident",
610
- "statutory",
611
- "blanket",
612
- "scheduled"
613
- ]);
614
- var LIMIT_TYPES = LimitTypeSchema.options;
615
- var DeductibleTypeSchema = import_zod2.z.enum([
616
- "per_occurrence",
617
- "per_claim",
618
- "aggregate",
619
- "percentage",
620
- "waiting_period"
621
- ]);
622
- var DEDUCTIBLE_TYPES = DeductibleTypeSchema.options;
623
- var ValuationMethodSchema = import_zod2.z.enum([
624
- "replacement_cost",
625
- "actual_cash_value",
626
- "agreed_value",
627
- "functional_replacement"
628
- ]);
629
- var VALUATION_METHODS = ValuationMethodSchema.options;
630
- var DefenseCostTreatmentSchema = import_zod2.z.enum(["inside_limits", "outside_limits", "supplementary"]);
631
- var DEFENSE_COST_TREATMENTS = DefenseCostTreatmentSchema.options;
632
- var EntityTypeSchema = import_zod2.z.enum([
633
- "corporation",
634
- "llc",
635
- "partnership",
636
- "sole_proprietor",
637
- "joint_venture",
638
- "trust",
639
- "nonprofit",
640
- "municipality",
641
- "individual",
642
- "married_couple",
643
- "other"
644
- ]);
645
- var ENTITY_TYPES = EntityTypeSchema.options;
646
- var AdmittedStatusSchema = import_zod2.z.enum(["admitted", "non_admitted", "surplus_lines"]);
647
- var ADMITTED_STATUSES = AdmittedStatusSchema.options;
648
- var AuditTypeSchema = import_zod2.z.enum([
649
- "annual",
650
- "semi_annual",
651
- "quarterly",
652
- "monthly",
653
- "self",
654
- "physical",
655
- "none"
656
- ]);
657
- var AUDIT_TYPES = AuditTypeSchema.options;
658
- var EndorsementPartyRoleSchema = import_zod2.z.enum([
659
- "additional_insured",
660
- "loss_payee",
661
- "mortgage_holder",
662
- "certificate_holder",
663
- "notice_recipient",
664
- "other"
665
- ]);
666
- var ENDORSEMENT_PARTY_ROLES = EndorsementPartyRoleSchema.options;
667
- var ClaimStatusSchema = import_zod2.z.enum(["open", "closed", "reopened"]);
668
- var CLAIM_STATUSES = ClaimStatusSchema.options;
669
- var SubjectivityCategorySchema = import_zod2.z.enum(["pre_binding", "post_binding", "information"]);
670
- var SUBJECTIVITY_CATEGORIES = SubjectivityCategorySchema.options;
671
- var DocumentTypeSchema = import_zod2.z.enum(["policy", "quote", "binder", "endorsement", "certificate"]);
672
- var DOCUMENT_TYPES = DocumentTypeSchema.options;
673
- var ChunkTypeSchema = import_zod2.z.enum([
674
- "declarations",
675
- "coverage_form",
676
- "endorsement",
677
- "schedule",
678
- "conditions",
679
- "mixed"
680
- ]);
681
- var CHUNK_TYPES = ChunkTypeSchema.options;
682
- var RatingBasisTypeSchema = import_zod2.z.enum([
683
- "payroll",
684
- "revenue",
685
- "area",
686
- "units",
687
- "vehicle_count",
688
- "employee_count",
689
- "per_capita",
690
- "dwelling_value",
691
- "vehicle_value",
692
- "contents_value",
693
- "other"
694
- ]);
695
- var RATING_BASIS_TYPES = RatingBasisTypeSchema.options;
696
- var VehicleCoverageTypeSchema = import_zod2.z.enum([
697
- "liability",
698
- "collision",
699
- "comprehensive",
700
- "uninsured_motorist",
701
- "underinsured_motorist",
702
- "medical_payments",
703
- "hired_auto",
704
- "non_owned_auto",
705
- "cargo",
706
- "physical_damage"
707
- ]);
708
- var VEHICLE_COVERAGE_TYPES = VehicleCoverageTypeSchema.options;
709
- var HomeownersFormTypeSchema = import_zod2.z.enum(["HO-3", "HO-5", "HO-4", "HO-6", "HO-7", "HO-8"]);
710
- var HOMEOWNERS_FORM_TYPES = HomeownersFormTypeSchema.options;
711
- var DwellingFireFormTypeSchema = import_zod2.z.enum(["DP-1", "DP-2", "DP-3"]);
712
- var DWELLING_FIRE_FORM_TYPES = DwellingFireFormTypeSchema.options;
713
- var FloodZoneSchema = import_zod2.z.enum(["A", "AE", "AH", "AO", "AR", "V", "VE", "B", "C", "X", "D"]);
714
- var FLOOD_ZONES = FloodZoneSchema.options;
715
- var ConstructionTypeSchema = import_zod2.z.enum(["frame", "masonry", "superior", "mixed", "other"]);
716
- var CONSTRUCTION_TYPES = ConstructionTypeSchema.options;
717
- var RoofTypeSchema = import_zod2.z.enum(["asphalt_shingle", "tile", "metal", "slate", "flat", "wood_shake", "other"]);
718
- var ROOF_TYPES = RoofTypeSchema.options;
719
- var FoundationTypeSchema = import_zod2.z.enum(["basement", "crawl_space", "slab", "pier", "other"]);
720
- var FOUNDATION_TYPES = FoundationTypeSchema.options;
721
- var PersonalAutoUsageSchema = import_zod2.z.enum(["pleasure", "commute", "business", "farm"]);
722
- var PERSONAL_AUTO_USAGES = PersonalAutoUsageSchema.options;
723
- var LossSettlementSchema = import_zod2.z.enum([
724
- "replacement_cost",
725
- "actual_cash_value",
726
- "extended_replacement_cost",
727
- "guaranteed_replacement_cost"
728
- ]);
729
- var LOSS_SETTLEMENTS = LossSettlementSchema.options;
730
- var BoatTypeSchema = import_zod2.z.enum(["sailboat", "powerboat", "pontoon", "jet_ski", "kayak_canoe", "yacht", "other"]);
731
- var BOAT_TYPES = BoatTypeSchema.options;
732
- var RVTypeSchema = import_zod2.z.enum(["rv_motorhome", "travel_trailer", "atv", "snowmobile", "golf_cart", "dirt_bike", "other"]);
733
- var RV_TYPES = RVTypeSchema.options;
734
- var ScheduledItemCategorySchema = import_zod2.z.enum([
735
- "jewelry",
736
- "fine_art",
737
- "musical_instruments",
738
- "silverware",
739
- "furs",
740
- "cameras",
741
- "collectibles",
742
- "firearms",
743
- "golf_equipment",
744
- "other"
745
- ]);
746
- var SCHEDULED_ITEM_CATEGORIES = ScheduledItemCategorySchema.options;
747
- var TitlePolicyTypeSchema = import_zod2.z.enum(["owners", "lenders"]);
748
- var TITLE_POLICY_TYPES = TitlePolicyTypeSchema.options;
749
- var PetSpeciesSchema = import_zod2.z.enum(["dog", "cat", "other"]);
750
- var PET_SPECIES = PetSpeciesSchema.options;
751
-
752
- // src/source/policy-types.ts
753
- var POLICY_TYPE_KEYS = new Set(POLICY_TYPES);
743
+ function legacyOperationalProfileInput(value) {
744
+ if (!value || typeof value !== "object" || Array.isArray(value)) return value;
745
+ const record = value;
746
+ if ("linesOfBusiness" in record) return value;
747
+ if (!("policyTypes" in record)) return value;
748
+ return {
749
+ ...record,
750
+ linesOfBusiness: record.policyTypes
751
+ };
752
+ }
753
+ var OperationalLinesOfBusinessSchema = import_zod2.z.preprocess(
754
+ (value) => Array.isArray(value) ? toLobCodes(value.filter((item) => typeof item === "string")) : void 0,
755
+ import_zod2.z.array(AcordLobCodeSchema).default(["UN"])
756
+ );
757
+ var PolicyOperationalProfileSchema = import_zod2.z.preprocess(
758
+ legacyOperationalProfileInput,
759
+ import_zod2.z.object({
760
+ documentType: import_zod2.z.enum(["policy", "quote"]).default("policy"),
761
+ linesOfBusiness: OperationalLinesOfBusinessSchema,
762
+ policyNumber: SourceBackedValueSchema.optional(),
763
+ namedInsured: SourceBackedValueSchema.optional(),
764
+ insurer: SourceBackedValueSchema.optional(),
765
+ broker: SourceBackedValueSchema.optional(),
766
+ effectiveDate: SourceBackedValueSchema.optional(),
767
+ expirationDate: SourceBackedValueSchema.optional(),
768
+ retroactiveDate: SourceBackedValueSchema.optional(),
769
+ premium: SourceBackedValueSchema.optional(),
770
+ coverages: import_zod2.z.array(OperationalCoverageLineSchema).default([]),
771
+ parties: import_zod2.z.array(OperationalPartySchema).default([]),
772
+ endorsementSupport: import_zod2.z.array(OperationalEndorsementSupportSchema).default([]),
773
+ sourceNodeIds: import_zod2.z.array(import_zod2.z.string().min(1)).default([]),
774
+ sourceSpanIds: import_zod2.z.array(import_zod2.z.string().min(1)).default([]),
775
+ warnings: import_zod2.z.array(import_zod2.z.string()).default([])
776
+ })
777
+ );
754
778
 
755
779
  // src/source/retrieval.ts
756
780
  function evidenceTieBreakId(evidence) {