@claritylabs/cl-sdk 0.7.2 → 0.7.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.
- package/README.md +33 -4
- package/dist/index.d.mts +179 -168
- package/dist/index.d.ts +179 -168
- package/dist/index.js +1006 -958
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1005 -958
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -234,6 +234,7 @@ __export(index_exports, {
|
|
|
234
234
|
safeGenerateObject: () => safeGenerateObject,
|
|
235
235
|
sanitizeNulls: () => sanitizeNulls,
|
|
236
236
|
stripFences: () => stripFences,
|
|
237
|
+
toStrictSchema: () => toStrictSchema,
|
|
237
238
|
withRetry: () => withRetry
|
|
238
239
|
});
|
|
239
240
|
module.exports = __toCommonJS(index_exports);
|
|
@@ -317,14 +318,59 @@ function sanitizeNulls(obj) {
|
|
|
317
318
|
return obj;
|
|
318
319
|
}
|
|
319
320
|
|
|
321
|
+
// src/core/strict-schema.ts
|
|
322
|
+
var import_zod = require("zod");
|
|
323
|
+
function toStrictSchema(schema) {
|
|
324
|
+
const def = schema._zod?.def;
|
|
325
|
+
const typeName = def?.type ?? schema.type;
|
|
326
|
+
if (typeName === "object") {
|
|
327
|
+
const shape = schema.shape;
|
|
328
|
+
if (!shape) return schema;
|
|
329
|
+
const newShape = {};
|
|
330
|
+
for (const [key, value] of Object.entries(shape)) {
|
|
331
|
+
const field = value;
|
|
332
|
+
const fieldDef = field._zod?.def;
|
|
333
|
+
const fieldType = fieldDef?.type ?? field.type;
|
|
334
|
+
if (fieldType === "optional") {
|
|
335
|
+
const innerType = fieldDef?.innerType;
|
|
336
|
+
if (innerType) {
|
|
337
|
+
const transformed = toStrictSchema(innerType);
|
|
338
|
+
newShape[key] = import_zod.z.nullable(transformed);
|
|
339
|
+
} else {
|
|
340
|
+
newShape[key] = import_zod.z.nullable(field);
|
|
341
|
+
}
|
|
342
|
+
} else {
|
|
343
|
+
newShape[key] = toStrictSchema(field);
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
return import_zod.z.object(newShape);
|
|
347
|
+
}
|
|
348
|
+
if (typeName === "array") {
|
|
349
|
+
const element = def?.element ?? schema.element;
|
|
350
|
+
if (element) {
|
|
351
|
+
return import_zod.z.array(toStrictSchema(element));
|
|
352
|
+
}
|
|
353
|
+
return schema;
|
|
354
|
+
}
|
|
355
|
+
if (typeName === "nullable") {
|
|
356
|
+
const innerType = def?.innerType;
|
|
357
|
+
if (innerType) {
|
|
358
|
+
return import_zod.z.nullable(toStrictSchema(innerType));
|
|
359
|
+
}
|
|
360
|
+
return schema;
|
|
361
|
+
}
|
|
362
|
+
return schema;
|
|
363
|
+
}
|
|
364
|
+
|
|
320
365
|
// src/core/safe-generate.ts
|
|
321
366
|
async function safeGenerateObject(generateObject, params, options) {
|
|
322
367
|
const maxRetries = options?.maxRetries ?? 1;
|
|
323
368
|
let lastError;
|
|
369
|
+
const strictParams = { ...params, schema: toStrictSchema(params.schema) };
|
|
324
370
|
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
325
371
|
try {
|
|
326
372
|
const result = await withRetry(
|
|
327
|
-
() => generateObject(
|
|
373
|
+
() => generateObject(strictParams),
|
|
328
374
|
options?.log
|
|
329
375
|
);
|
|
330
376
|
return result;
|
|
@@ -381,8 +427,8 @@ function createPipelineContext(opts) {
|
|
|
381
427
|
}
|
|
382
428
|
|
|
383
429
|
// src/schemas/enums.ts
|
|
384
|
-
var
|
|
385
|
-
var PolicyTypeSchema =
|
|
430
|
+
var import_zod2 = require("zod");
|
|
431
|
+
var PolicyTypeSchema = import_zod2.z.enum([
|
|
386
432
|
// Commercial lines
|
|
387
433
|
"general_liability",
|
|
388
434
|
"commercial_property",
|
|
@@ -429,7 +475,7 @@ var PolicyTypeSchema = import_zod.z.enum([
|
|
|
429
475
|
"other"
|
|
430
476
|
]);
|
|
431
477
|
var POLICY_TYPES = PolicyTypeSchema.options;
|
|
432
|
-
var EndorsementTypeSchema =
|
|
478
|
+
var EndorsementTypeSchema = import_zod2.z.enum([
|
|
433
479
|
"additional_insured",
|
|
434
480
|
"waiver_of_subrogation",
|
|
435
481
|
"primary_noncontributory",
|
|
@@ -450,7 +496,7 @@ var EndorsementTypeSchema = import_zod.z.enum([
|
|
|
450
496
|
"other"
|
|
451
497
|
]);
|
|
452
498
|
var ENDORSEMENT_TYPES = EndorsementTypeSchema.options;
|
|
453
|
-
var ConditionTypeSchema =
|
|
499
|
+
var ConditionTypeSchema = import_zod2.z.enum([
|
|
454
500
|
"duties_after_loss",
|
|
455
501
|
"notice_requirements",
|
|
456
502
|
"other_insurance",
|
|
@@ -470,7 +516,7 @@ var ConditionTypeSchema = import_zod.z.enum([
|
|
|
470
516
|
"other"
|
|
471
517
|
]);
|
|
472
518
|
var CONDITION_TYPES = ConditionTypeSchema.options;
|
|
473
|
-
var PolicySectionTypeSchema =
|
|
519
|
+
var PolicySectionTypeSchema = import_zod2.z.enum([
|
|
474
520
|
"declarations",
|
|
475
521
|
"insuring_agreement",
|
|
476
522
|
"policy_form",
|
|
@@ -485,7 +531,7 @@ var PolicySectionTypeSchema = import_zod.z.enum([
|
|
|
485
531
|
"other"
|
|
486
532
|
]);
|
|
487
533
|
var POLICY_SECTION_TYPES = PolicySectionTypeSchema.options;
|
|
488
|
-
var QuoteSectionTypeSchema =
|
|
534
|
+
var QuoteSectionTypeSchema = import_zod2.z.enum([
|
|
489
535
|
"terms_summary",
|
|
490
536
|
"premium_indication",
|
|
491
537
|
"underwriting_condition",
|
|
@@ -495,13 +541,13 @@ var QuoteSectionTypeSchema = import_zod.z.enum([
|
|
|
495
541
|
"other"
|
|
496
542
|
]);
|
|
497
543
|
var QUOTE_SECTION_TYPES = QuoteSectionTypeSchema.options;
|
|
498
|
-
var CoverageFormSchema =
|
|
544
|
+
var CoverageFormSchema = import_zod2.z.enum(["occurrence", "claims_made", "accident"]);
|
|
499
545
|
var COVERAGE_FORMS = CoverageFormSchema.options;
|
|
500
|
-
var PolicyTermTypeSchema =
|
|
546
|
+
var PolicyTermTypeSchema = import_zod2.z.enum(["fixed", "continuous"]);
|
|
501
547
|
var POLICY_TERM_TYPES = PolicyTermTypeSchema.options;
|
|
502
|
-
var CoverageTriggerSchema =
|
|
548
|
+
var CoverageTriggerSchema = import_zod2.z.enum(["occurrence", "claims_made", "accident"]);
|
|
503
549
|
var COVERAGE_TRIGGERS = CoverageTriggerSchema.options;
|
|
504
|
-
var LimitTypeSchema =
|
|
550
|
+
var LimitTypeSchema = import_zod2.z.enum([
|
|
505
551
|
"per_occurrence",
|
|
506
552
|
"per_claim",
|
|
507
553
|
"aggregate",
|
|
@@ -512,7 +558,7 @@ var LimitTypeSchema = import_zod.z.enum([
|
|
|
512
558
|
"scheduled"
|
|
513
559
|
]);
|
|
514
560
|
var LIMIT_TYPES = LimitTypeSchema.options;
|
|
515
|
-
var DeductibleTypeSchema =
|
|
561
|
+
var DeductibleTypeSchema = import_zod2.z.enum([
|
|
516
562
|
"per_occurrence",
|
|
517
563
|
"per_claim",
|
|
518
564
|
"aggregate",
|
|
@@ -520,16 +566,16 @@ var DeductibleTypeSchema = import_zod.z.enum([
|
|
|
520
566
|
"waiting_period"
|
|
521
567
|
]);
|
|
522
568
|
var DEDUCTIBLE_TYPES = DeductibleTypeSchema.options;
|
|
523
|
-
var ValuationMethodSchema =
|
|
569
|
+
var ValuationMethodSchema = import_zod2.z.enum([
|
|
524
570
|
"replacement_cost",
|
|
525
571
|
"actual_cash_value",
|
|
526
572
|
"agreed_value",
|
|
527
573
|
"functional_replacement"
|
|
528
574
|
]);
|
|
529
575
|
var VALUATION_METHODS = ValuationMethodSchema.options;
|
|
530
|
-
var DefenseCostTreatmentSchema =
|
|
576
|
+
var DefenseCostTreatmentSchema = import_zod2.z.enum(["inside_limits", "outside_limits", "supplementary"]);
|
|
531
577
|
var DEFENSE_COST_TREATMENTS = DefenseCostTreatmentSchema.options;
|
|
532
|
-
var EntityTypeSchema =
|
|
578
|
+
var EntityTypeSchema = import_zod2.z.enum([
|
|
533
579
|
"corporation",
|
|
534
580
|
"llc",
|
|
535
581
|
"partnership",
|
|
@@ -543,9 +589,9 @@ var EntityTypeSchema = import_zod.z.enum([
|
|
|
543
589
|
"other"
|
|
544
590
|
]);
|
|
545
591
|
var ENTITY_TYPES = EntityTypeSchema.options;
|
|
546
|
-
var AdmittedStatusSchema =
|
|
592
|
+
var AdmittedStatusSchema = import_zod2.z.enum(["admitted", "non_admitted", "surplus_lines"]);
|
|
547
593
|
var ADMITTED_STATUSES = AdmittedStatusSchema.options;
|
|
548
|
-
var AuditTypeSchema =
|
|
594
|
+
var AuditTypeSchema = import_zod2.z.enum([
|
|
549
595
|
"annual",
|
|
550
596
|
"semi_annual",
|
|
551
597
|
"quarterly",
|
|
@@ -555,7 +601,7 @@ var AuditTypeSchema = import_zod.z.enum([
|
|
|
555
601
|
"none"
|
|
556
602
|
]);
|
|
557
603
|
var AUDIT_TYPES = AuditTypeSchema.options;
|
|
558
|
-
var EndorsementPartyRoleSchema =
|
|
604
|
+
var EndorsementPartyRoleSchema = import_zod2.z.enum([
|
|
559
605
|
"additional_insured",
|
|
560
606
|
"loss_payee",
|
|
561
607
|
"mortgage_holder",
|
|
@@ -564,13 +610,13 @@ var EndorsementPartyRoleSchema = import_zod.z.enum([
|
|
|
564
610
|
"other"
|
|
565
611
|
]);
|
|
566
612
|
var ENDORSEMENT_PARTY_ROLES = EndorsementPartyRoleSchema.options;
|
|
567
|
-
var ClaimStatusSchema =
|
|
613
|
+
var ClaimStatusSchema = import_zod2.z.enum(["open", "closed", "reopened"]);
|
|
568
614
|
var CLAIM_STATUSES = ClaimStatusSchema.options;
|
|
569
|
-
var SubjectivityCategorySchema =
|
|
615
|
+
var SubjectivityCategorySchema = import_zod2.z.enum(["pre_binding", "post_binding", "information"]);
|
|
570
616
|
var SUBJECTIVITY_CATEGORIES = SubjectivityCategorySchema.options;
|
|
571
|
-
var DocumentTypeSchema =
|
|
617
|
+
var DocumentTypeSchema = import_zod2.z.enum(["policy", "quote", "binder", "endorsement", "certificate"]);
|
|
572
618
|
var DOCUMENT_TYPES = DocumentTypeSchema.options;
|
|
573
|
-
var ChunkTypeSchema =
|
|
619
|
+
var ChunkTypeSchema = import_zod2.z.enum([
|
|
574
620
|
"declarations",
|
|
575
621
|
"coverage_form",
|
|
576
622
|
"endorsement",
|
|
@@ -579,7 +625,7 @@ var ChunkTypeSchema = import_zod.z.enum([
|
|
|
579
625
|
"mixed"
|
|
580
626
|
]);
|
|
581
627
|
var CHUNK_TYPES = ChunkTypeSchema.options;
|
|
582
|
-
var RatingBasisTypeSchema =
|
|
628
|
+
var RatingBasisTypeSchema = import_zod2.z.enum([
|
|
583
629
|
"payroll",
|
|
584
630
|
"revenue",
|
|
585
631
|
"area",
|
|
@@ -593,7 +639,7 @@ var RatingBasisTypeSchema = import_zod.z.enum([
|
|
|
593
639
|
"other"
|
|
594
640
|
]);
|
|
595
641
|
var RATING_BASIS_TYPES = RatingBasisTypeSchema.options;
|
|
596
|
-
var VehicleCoverageTypeSchema =
|
|
642
|
+
var VehicleCoverageTypeSchema = import_zod2.z.enum([
|
|
597
643
|
"liability",
|
|
598
644
|
"collision",
|
|
599
645
|
"comprehensive",
|
|
@@ -606,32 +652,32 @@ var VehicleCoverageTypeSchema = import_zod.z.enum([
|
|
|
606
652
|
"physical_damage"
|
|
607
653
|
]);
|
|
608
654
|
var VEHICLE_COVERAGE_TYPES = VehicleCoverageTypeSchema.options;
|
|
609
|
-
var HomeownersFormTypeSchema =
|
|
655
|
+
var HomeownersFormTypeSchema = import_zod2.z.enum(["HO-3", "HO-5", "HO-4", "HO-6", "HO-7", "HO-8"]);
|
|
610
656
|
var HOMEOWNERS_FORM_TYPES = HomeownersFormTypeSchema.options;
|
|
611
|
-
var DwellingFireFormTypeSchema =
|
|
657
|
+
var DwellingFireFormTypeSchema = import_zod2.z.enum(["DP-1", "DP-2", "DP-3"]);
|
|
612
658
|
var DWELLING_FIRE_FORM_TYPES = DwellingFireFormTypeSchema.options;
|
|
613
|
-
var FloodZoneSchema =
|
|
659
|
+
var FloodZoneSchema = import_zod2.z.enum(["A", "AE", "AH", "AO", "AR", "V", "VE", "B", "C", "X", "D"]);
|
|
614
660
|
var FLOOD_ZONES = FloodZoneSchema.options;
|
|
615
|
-
var ConstructionTypeSchema =
|
|
661
|
+
var ConstructionTypeSchema = import_zod2.z.enum(["frame", "masonry", "superior", "mixed", "other"]);
|
|
616
662
|
var CONSTRUCTION_TYPES = ConstructionTypeSchema.options;
|
|
617
|
-
var RoofTypeSchema =
|
|
663
|
+
var RoofTypeSchema = import_zod2.z.enum(["asphalt_shingle", "tile", "metal", "slate", "flat", "wood_shake", "other"]);
|
|
618
664
|
var ROOF_TYPES = RoofTypeSchema.options;
|
|
619
|
-
var FoundationTypeSchema =
|
|
665
|
+
var FoundationTypeSchema = import_zod2.z.enum(["basement", "crawl_space", "slab", "pier", "other"]);
|
|
620
666
|
var FOUNDATION_TYPES = FoundationTypeSchema.options;
|
|
621
|
-
var PersonalAutoUsageSchema =
|
|
667
|
+
var PersonalAutoUsageSchema = import_zod2.z.enum(["pleasure", "commute", "business", "farm"]);
|
|
622
668
|
var PERSONAL_AUTO_USAGES = PersonalAutoUsageSchema.options;
|
|
623
|
-
var LossSettlementSchema =
|
|
669
|
+
var LossSettlementSchema = import_zod2.z.enum([
|
|
624
670
|
"replacement_cost",
|
|
625
671
|
"actual_cash_value",
|
|
626
672
|
"extended_replacement_cost",
|
|
627
673
|
"guaranteed_replacement_cost"
|
|
628
674
|
]);
|
|
629
675
|
var LOSS_SETTLEMENTS = LossSettlementSchema.options;
|
|
630
|
-
var BoatTypeSchema =
|
|
676
|
+
var BoatTypeSchema = import_zod2.z.enum(["sailboat", "powerboat", "pontoon", "jet_ski", "kayak_canoe", "yacht", "other"]);
|
|
631
677
|
var BOAT_TYPES = BoatTypeSchema.options;
|
|
632
|
-
var RVTypeSchema =
|
|
678
|
+
var RVTypeSchema = import_zod2.z.enum(["rv_motorhome", "travel_trailer", "atv", "snowmobile", "golf_cart", "dirt_bike", "other"]);
|
|
633
679
|
var RV_TYPES = RVTypeSchema.options;
|
|
634
|
-
var ScheduledItemCategorySchema =
|
|
680
|
+
var ScheduledItemCategorySchema = import_zod2.z.enum([
|
|
635
681
|
"jewelry",
|
|
636
682
|
"fine_art",
|
|
637
683
|
"musical_instruments",
|
|
@@ -644,691 +690,691 @@ var ScheduledItemCategorySchema = import_zod.z.enum([
|
|
|
644
690
|
"other"
|
|
645
691
|
]);
|
|
646
692
|
var SCHEDULED_ITEM_CATEGORIES = ScheduledItemCategorySchema.options;
|
|
647
|
-
var TitlePolicyTypeSchema =
|
|
693
|
+
var TitlePolicyTypeSchema = import_zod2.z.enum(["owners", "lenders"]);
|
|
648
694
|
var TITLE_POLICY_TYPES = TitlePolicyTypeSchema.options;
|
|
649
|
-
var PetSpeciesSchema =
|
|
695
|
+
var PetSpeciesSchema = import_zod2.z.enum(["dog", "cat", "other"]);
|
|
650
696
|
var PET_SPECIES = PetSpeciesSchema.options;
|
|
651
697
|
|
|
652
698
|
// src/schemas/shared.ts
|
|
653
|
-
var
|
|
654
|
-
var AddressSchema =
|
|
655
|
-
street1:
|
|
656
|
-
street2:
|
|
657
|
-
city:
|
|
658
|
-
state:
|
|
659
|
-
zip:
|
|
660
|
-
country:
|
|
699
|
+
var import_zod3 = require("zod");
|
|
700
|
+
var AddressSchema = import_zod3.z.object({
|
|
701
|
+
street1: import_zod3.z.string(),
|
|
702
|
+
street2: import_zod3.z.string().optional(),
|
|
703
|
+
city: import_zod3.z.string(),
|
|
704
|
+
state: import_zod3.z.string(),
|
|
705
|
+
zip: import_zod3.z.string(),
|
|
706
|
+
country: import_zod3.z.string().optional()
|
|
661
707
|
});
|
|
662
|
-
var ContactSchema =
|
|
663
|
-
name:
|
|
664
|
-
title:
|
|
665
|
-
type:
|
|
666
|
-
phone:
|
|
667
|
-
fax:
|
|
668
|
-
email:
|
|
708
|
+
var ContactSchema = import_zod3.z.object({
|
|
709
|
+
name: import_zod3.z.string().optional(),
|
|
710
|
+
title: import_zod3.z.string().optional(),
|
|
711
|
+
type: import_zod3.z.string().optional(),
|
|
712
|
+
phone: import_zod3.z.string().optional(),
|
|
713
|
+
fax: import_zod3.z.string().optional(),
|
|
714
|
+
email: import_zod3.z.string().optional(),
|
|
669
715
|
address: AddressSchema.optional(),
|
|
670
|
-
hours:
|
|
716
|
+
hours: import_zod3.z.string().optional()
|
|
671
717
|
});
|
|
672
|
-
var FormReferenceSchema =
|
|
673
|
-
formNumber:
|
|
674
|
-
editionDate:
|
|
675
|
-
title:
|
|
676
|
-
formType:
|
|
718
|
+
var FormReferenceSchema = import_zod3.z.object({
|
|
719
|
+
formNumber: import_zod3.z.string(),
|
|
720
|
+
editionDate: import_zod3.z.string().optional(),
|
|
721
|
+
title: import_zod3.z.string().optional(),
|
|
722
|
+
formType: import_zod3.z.enum(["coverage", "endorsement", "declarations", "application", "notice", "other"])
|
|
677
723
|
});
|
|
678
|
-
var TaxFeeItemSchema =
|
|
679
|
-
name:
|
|
680
|
-
amount:
|
|
681
|
-
type:
|
|
682
|
-
description:
|
|
724
|
+
var TaxFeeItemSchema = import_zod3.z.object({
|
|
725
|
+
name: import_zod3.z.string(),
|
|
726
|
+
amount: import_zod3.z.string(),
|
|
727
|
+
type: import_zod3.z.enum(["tax", "fee", "surcharge", "assessment"]).optional(),
|
|
728
|
+
description: import_zod3.z.string().optional()
|
|
683
729
|
});
|
|
684
|
-
var RatingBasisSchema =
|
|
730
|
+
var RatingBasisSchema = import_zod3.z.object({
|
|
685
731
|
type: RatingBasisTypeSchema,
|
|
686
|
-
amount:
|
|
687
|
-
description:
|
|
732
|
+
amount: import_zod3.z.string().optional(),
|
|
733
|
+
description: import_zod3.z.string().optional()
|
|
688
734
|
});
|
|
689
|
-
var SublimitSchema =
|
|
690
|
-
name:
|
|
691
|
-
limit:
|
|
692
|
-
appliesTo:
|
|
693
|
-
deductible:
|
|
735
|
+
var SublimitSchema = import_zod3.z.object({
|
|
736
|
+
name: import_zod3.z.string(),
|
|
737
|
+
limit: import_zod3.z.string(),
|
|
738
|
+
appliesTo: import_zod3.z.string().optional(),
|
|
739
|
+
deductible: import_zod3.z.string().optional()
|
|
694
740
|
});
|
|
695
|
-
var SharedLimitSchema =
|
|
696
|
-
description:
|
|
697
|
-
limit:
|
|
698
|
-
coverageParts:
|
|
741
|
+
var SharedLimitSchema = import_zod3.z.object({
|
|
742
|
+
description: import_zod3.z.string(),
|
|
743
|
+
limit: import_zod3.z.string(),
|
|
744
|
+
coverageParts: import_zod3.z.array(import_zod3.z.string())
|
|
699
745
|
});
|
|
700
|
-
var ExtendedReportingPeriodSchema =
|
|
701
|
-
basicDays:
|
|
702
|
-
supplementalYears:
|
|
703
|
-
supplementalPremium:
|
|
746
|
+
var ExtendedReportingPeriodSchema = import_zod3.z.object({
|
|
747
|
+
basicDays: import_zod3.z.number().optional(),
|
|
748
|
+
supplementalYears: import_zod3.z.number().optional(),
|
|
749
|
+
supplementalPremium: import_zod3.z.string().optional()
|
|
704
750
|
});
|
|
705
|
-
var NamedInsuredSchema =
|
|
706
|
-
name:
|
|
707
|
-
relationship:
|
|
751
|
+
var NamedInsuredSchema = import_zod3.z.object({
|
|
752
|
+
name: import_zod3.z.string(),
|
|
753
|
+
relationship: import_zod3.z.string().optional(),
|
|
708
754
|
address: AddressSchema.optional()
|
|
709
755
|
});
|
|
710
756
|
|
|
711
757
|
// src/schemas/coverage.ts
|
|
712
|
-
var
|
|
713
|
-
var CoverageSchema =
|
|
714
|
-
name:
|
|
715
|
-
limit:
|
|
716
|
-
deductible:
|
|
717
|
-
pageNumber:
|
|
718
|
-
sectionRef:
|
|
758
|
+
var import_zod4 = require("zod");
|
|
759
|
+
var CoverageSchema = import_zod4.z.object({
|
|
760
|
+
name: import_zod4.z.string(),
|
|
761
|
+
limit: import_zod4.z.string(),
|
|
762
|
+
deductible: import_zod4.z.string().optional(),
|
|
763
|
+
pageNumber: import_zod4.z.number().optional(),
|
|
764
|
+
sectionRef: import_zod4.z.string().optional()
|
|
719
765
|
});
|
|
720
|
-
var EnrichedCoverageSchema =
|
|
721
|
-
name:
|
|
722
|
-
coverageCode:
|
|
723
|
-
formNumber:
|
|
724
|
-
formEditionDate:
|
|
725
|
-
limit:
|
|
766
|
+
var EnrichedCoverageSchema = import_zod4.z.object({
|
|
767
|
+
name: import_zod4.z.string(),
|
|
768
|
+
coverageCode: import_zod4.z.string().optional(),
|
|
769
|
+
formNumber: import_zod4.z.string().optional(),
|
|
770
|
+
formEditionDate: import_zod4.z.string().optional(),
|
|
771
|
+
limit: import_zod4.z.string(),
|
|
726
772
|
limitType: LimitTypeSchema.optional(),
|
|
727
|
-
deductible:
|
|
773
|
+
deductible: import_zod4.z.string().optional(),
|
|
728
774
|
deductibleType: DeductibleTypeSchema.optional(),
|
|
729
|
-
sir:
|
|
730
|
-
sublimit:
|
|
731
|
-
coinsurance:
|
|
775
|
+
sir: import_zod4.z.string().optional(),
|
|
776
|
+
sublimit: import_zod4.z.string().optional(),
|
|
777
|
+
coinsurance: import_zod4.z.string().optional(),
|
|
732
778
|
valuation: ValuationMethodSchema.optional(),
|
|
733
|
-
territory:
|
|
779
|
+
territory: import_zod4.z.string().optional(),
|
|
734
780
|
trigger: CoverageTriggerSchema.optional(),
|
|
735
|
-
retroactiveDate:
|
|
736
|
-
included:
|
|
737
|
-
premium:
|
|
738
|
-
pageNumber:
|
|
739
|
-
sectionRef:
|
|
781
|
+
retroactiveDate: import_zod4.z.string().optional(),
|
|
782
|
+
included: import_zod4.z.boolean(),
|
|
783
|
+
premium: import_zod4.z.string().optional(),
|
|
784
|
+
pageNumber: import_zod4.z.number().optional(),
|
|
785
|
+
sectionRef: import_zod4.z.string().optional()
|
|
740
786
|
});
|
|
741
787
|
|
|
742
788
|
// src/schemas/endorsement.ts
|
|
743
|
-
var
|
|
744
|
-
var EndorsementPartySchema =
|
|
745
|
-
name:
|
|
789
|
+
var import_zod5 = require("zod");
|
|
790
|
+
var EndorsementPartySchema = import_zod5.z.object({
|
|
791
|
+
name: import_zod5.z.string(),
|
|
746
792
|
role: EndorsementPartyRoleSchema,
|
|
747
793
|
address: AddressSchema.optional(),
|
|
748
|
-
relationship:
|
|
749
|
-
scope:
|
|
794
|
+
relationship: import_zod5.z.string().optional(),
|
|
795
|
+
scope: import_zod5.z.string().optional()
|
|
750
796
|
});
|
|
751
|
-
var EndorsementSchema =
|
|
752
|
-
formNumber:
|
|
753
|
-
editionDate:
|
|
754
|
-
title:
|
|
797
|
+
var EndorsementSchema = import_zod5.z.object({
|
|
798
|
+
formNumber: import_zod5.z.string(),
|
|
799
|
+
editionDate: import_zod5.z.string().optional(),
|
|
800
|
+
title: import_zod5.z.string(),
|
|
755
801
|
endorsementType: EndorsementTypeSchema,
|
|
756
|
-
effectiveDate:
|
|
757
|
-
affectedCoverageParts:
|
|
758
|
-
namedParties:
|
|
759
|
-
keyTerms:
|
|
760
|
-
premiumImpact:
|
|
761
|
-
content:
|
|
762
|
-
pageStart:
|
|
763
|
-
pageEnd:
|
|
802
|
+
effectiveDate: import_zod5.z.string().optional(),
|
|
803
|
+
affectedCoverageParts: import_zod5.z.array(import_zod5.z.string()).optional(),
|
|
804
|
+
namedParties: import_zod5.z.array(EndorsementPartySchema).optional(),
|
|
805
|
+
keyTerms: import_zod5.z.array(import_zod5.z.string()).optional(),
|
|
806
|
+
premiumImpact: import_zod5.z.string().optional(),
|
|
807
|
+
content: import_zod5.z.string(),
|
|
808
|
+
pageStart: import_zod5.z.number(),
|
|
809
|
+
pageEnd: import_zod5.z.number().optional()
|
|
764
810
|
});
|
|
765
811
|
|
|
766
812
|
// src/schemas/exclusion.ts
|
|
767
|
-
var
|
|
768
|
-
var ExclusionSchema =
|
|
769
|
-
name:
|
|
770
|
-
formNumber:
|
|
771
|
-
excludedPerils:
|
|
772
|
-
isAbsolute:
|
|
773
|
-
exceptions:
|
|
774
|
-
buybackAvailable:
|
|
775
|
-
buybackEndorsement:
|
|
776
|
-
appliesTo:
|
|
777
|
-
content:
|
|
778
|
-
pageNumber:
|
|
813
|
+
var import_zod6 = require("zod");
|
|
814
|
+
var ExclusionSchema = import_zod6.z.object({
|
|
815
|
+
name: import_zod6.z.string(),
|
|
816
|
+
formNumber: import_zod6.z.string().optional(),
|
|
817
|
+
excludedPerils: import_zod6.z.array(import_zod6.z.string()).optional(),
|
|
818
|
+
isAbsolute: import_zod6.z.boolean().optional(),
|
|
819
|
+
exceptions: import_zod6.z.array(import_zod6.z.string()).optional(),
|
|
820
|
+
buybackAvailable: import_zod6.z.boolean().optional(),
|
|
821
|
+
buybackEndorsement: import_zod6.z.string().optional(),
|
|
822
|
+
appliesTo: import_zod6.z.array(import_zod6.z.string()).optional(),
|
|
823
|
+
content: import_zod6.z.string(),
|
|
824
|
+
pageNumber: import_zod6.z.number().optional()
|
|
779
825
|
});
|
|
780
826
|
|
|
781
827
|
// src/schemas/condition.ts
|
|
782
|
-
var
|
|
783
|
-
var ConditionKeyValueSchema =
|
|
784
|
-
key:
|
|
785
|
-
value:
|
|
828
|
+
var import_zod7 = require("zod");
|
|
829
|
+
var ConditionKeyValueSchema = import_zod7.z.object({
|
|
830
|
+
key: import_zod7.z.string(),
|
|
831
|
+
value: import_zod7.z.string()
|
|
786
832
|
});
|
|
787
|
-
var PolicyConditionSchema =
|
|
788
|
-
name:
|
|
833
|
+
var PolicyConditionSchema = import_zod7.z.object({
|
|
834
|
+
name: import_zod7.z.string(),
|
|
789
835
|
conditionType: ConditionTypeSchema,
|
|
790
|
-
content:
|
|
791
|
-
keyValues:
|
|
792
|
-
pageNumber:
|
|
836
|
+
content: import_zod7.z.string(),
|
|
837
|
+
keyValues: import_zod7.z.array(ConditionKeyValueSchema).optional(),
|
|
838
|
+
pageNumber: import_zod7.z.number().optional()
|
|
793
839
|
});
|
|
794
840
|
|
|
795
841
|
// src/schemas/parties.ts
|
|
796
|
-
var
|
|
797
|
-
var InsurerInfoSchema =
|
|
798
|
-
legalName:
|
|
799
|
-
naicNumber:
|
|
800
|
-
amBestRating:
|
|
801
|
-
amBestNumber:
|
|
842
|
+
var import_zod8 = require("zod");
|
|
843
|
+
var InsurerInfoSchema = import_zod8.z.object({
|
|
844
|
+
legalName: import_zod8.z.string(),
|
|
845
|
+
naicNumber: import_zod8.z.string().optional(),
|
|
846
|
+
amBestRating: import_zod8.z.string().optional(),
|
|
847
|
+
amBestNumber: import_zod8.z.string().optional(),
|
|
802
848
|
admittedStatus: AdmittedStatusSchema.optional(),
|
|
803
|
-
stateOfDomicile:
|
|
849
|
+
stateOfDomicile: import_zod8.z.string().optional()
|
|
804
850
|
});
|
|
805
|
-
var ProducerInfoSchema =
|
|
806
|
-
agencyName:
|
|
807
|
-
contactName:
|
|
808
|
-
licenseNumber:
|
|
809
|
-
phone:
|
|
810
|
-
email:
|
|
851
|
+
var ProducerInfoSchema = import_zod8.z.object({
|
|
852
|
+
agencyName: import_zod8.z.string(),
|
|
853
|
+
contactName: import_zod8.z.string().optional(),
|
|
854
|
+
licenseNumber: import_zod8.z.string().optional(),
|
|
855
|
+
phone: import_zod8.z.string().optional(),
|
|
856
|
+
email: import_zod8.z.string().optional(),
|
|
811
857
|
address: AddressSchema.optional()
|
|
812
858
|
});
|
|
813
859
|
|
|
814
860
|
// src/schemas/financial.ts
|
|
815
|
-
var
|
|
816
|
-
var PaymentInstallmentSchema =
|
|
817
|
-
dueDate:
|
|
818
|
-
amount:
|
|
819
|
-
description:
|
|
861
|
+
var import_zod9 = require("zod");
|
|
862
|
+
var PaymentInstallmentSchema = import_zod9.z.object({
|
|
863
|
+
dueDate: import_zod9.z.string(),
|
|
864
|
+
amount: import_zod9.z.string(),
|
|
865
|
+
description: import_zod9.z.string().optional()
|
|
820
866
|
});
|
|
821
|
-
var PaymentPlanSchema =
|
|
822
|
-
installments:
|
|
823
|
-
financeCharge:
|
|
867
|
+
var PaymentPlanSchema = import_zod9.z.object({
|
|
868
|
+
installments: import_zod9.z.array(PaymentInstallmentSchema),
|
|
869
|
+
financeCharge: import_zod9.z.string().optional()
|
|
824
870
|
});
|
|
825
|
-
var LocationPremiumSchema =
|
|
826
|
-
locationNumber:
|
|
827
|
-
premium:
|
|
828
|
-
description:
|
|
871
|
+
var LocationPremiumSchema = import_zod9.z.object({
|
|
872
|
+
locationNumber: import_zod9.z.number(),
|
|
873
|
+
premium: import_zod9.z.string(),
|
|
874
|
+
description: import_zod9.z.string().optional()
|
|
829
875
|
});
|
|
830
876
|
|
|
831
877
|
// src/schemas/loss-history.ts
|
|
832
|
-
var
|
|
833
|
-
var ClaimRecordSchema =
|
|
834
|
-
dateOfLoss:
|
|
835
|
-
claimNumber:
|
|
836
|
-
description:
|
|
878
|
+
var import_zod10 = require("zod");
|
|
879
|
+
var ClaimRecordSchema = import_zod10.z.object({
|
|
880
|
+
dateOfLoss: import_zod10.z.string(),
|
|
881
|
+
claimNumber: import_zod10.z.string().optional(),
|
|
882
|
+
description: import_zod10.z.string(),
|
|
837
883
|
status: ClaimStatusSchema,
|
|
838
|
-
paid:
|
|
839
|
-
reserved:
|
|
840
|
-
incurred:
|
|
841
|
-
claimant:
|
|
842
|
-
coverageLine:
|
|
884
|
+
paid: import_zod10.z.string().optional(),
|
|
885
|
+
reserved: import_zod10.z.string().optional(),
|
|
886
|
+
incurred: import_zod10.z.string().optional(),
|
|
887
|
+
claimant: import_zod10.z.string().optional(),
|
|
888
|
+
coverageLine: import_zod10.z.string().optional()
|
|
843
889
|
});
|
|
844
|
-
var LossSummarySchema =
|
|
845
|
-
period:
|
|
846
|
-
totalClaims:
|
|
847
|
-
totalIncurred:
|
|
848
|
-
totalPaid:
|
|
849
|
-
totalReserved:
|
|
850
|
-
lossRatio:
|
|
890
|
+
var LossSummarySchema = import_zod10.z.object({
|
|
891
|
+
period: import_zod10.z.string().optional(),
|
|
892
|
+
totalClaims: import_zod10.z.number().optional(),
|
|
893
|
+
totalIncurred: import_zod10.z.string().optional(),
|
|
894
|
+
totalPaid: import_zod10.z.string().optional(),
|
|
895
|
+
totalReserved: import_zod10.z.string().optional(),
|
|
896
|
+
lossRatio: import_zod10.z.string().optional()
|
|
851
897
|
});
|
|
852
|
-
var ExperienceModSchema =
|
|
853
|
-
factor:
|
|
854
|
-
effectiveDate:
|
|
855
|
-
state:
|
|
898
|
+
var ExperienceModSchema = import_zod10.z.object({
|
|
899
|
+
factor: import_zod10.z.number(),
|
|
900
|
+
effectiveDate: import_zod10.z.string().optional(),
|
|
901
|
+
state: import_zod10.z.string().optional()
|
|
856
902
|
});
|
|
857
903
|
|
|
858
904
|
// src/schemas/underwriting.ts
|
|
859
|
-
var
|
|
860
|
-
var EnrichedSubjectivitySchema =
|
|
861
|
-
description:
|
|
905
|
+
var import_zod11 = require("zod");
|
|
906
|
+
var EnrichedSubjectivitySchema = import_zod11.z.object({
|
|
907
|
+
description: import_zod11.z.string(),
|
|
862
908
|
category: SubjectivityCategorySchema.optional(),
|
|
863
|
-
dueDate:
|
|
864
|
-
status:
|
|
865
|
-
pageNumber:
|
|
909
|
+
dueDate: import_zod11.z.string().optional(),
|
|
910
|
+
status: import_zod11.z.enum(["open", "satisfied", "waived"]).optional(),
|
|
911
|
+
pageNumber: import_zod11.z.number().optional()
|
|
866
912
|
});
|
|
867
|
-
var EnrichedUnderwritingConditionSchema =
|
|
868
|
-
description:
|
|
869
|
-
category:
|
|
870
|
-
pageNumber:
|
|
913
|
+
var EnrichedUnderwritingConditionSchema = import_zod11.z.object({
|
|
914
|
+
description: import_zod11.z.string(),
|
|
915
|
+
category: import_zod11.z.string().optional(),
|
|
916
|
+
pageNumber: import_zod11.z.number().optional()
|
|
871
917
|
});
|
|
872
|
-
var BindingAuthoritySchema =
|
|
873
|
-
authorizedBy:
|
|
874
|
-
method:
|
|
875
|
-
expiration:
|
|
876
|
-
conditions:
|
|
918
|
+
var BindingAuthoritySchema = import_zod11.z.object({
|
|
919
|
+
authorizedBy: import_zod11.z.string().optional(),
|
|
920
|
+
method: import_zod11.z.string().optional(),
|
|
921
|
+
expiration: import_zod11.z.string().optional(),
|
|
922
|
+
conditions: import_zod11.z.array(import_zod11.z.string()).optional()
|
|
877
923
|
});
|
|
878
924
|
|
|
879
925
|
// src/schemas/declarations/index.ts
|
|
880
|
-
var
|
|
926
|
+
var import_zod15 = require("zod");
|
|
881
927
|
|
|
882
928
|
// src/schemas/declarations/personal.ts
|
|
883
|
-
var
|
|
929
|
+
var import_zod13 = require("zod");
|
|
884
930
|
|
|
885
931
|
// src/schemas/declarations/shared.ts
|
|
886
|
-
var
|
|
887
|
-
var EmployersLiabilityLimitsSchema =
|
|
888
|
-
eachAccident:
|
|
889
|
-
diseasePolicyLimit:
|
|
890
|
-
diseaseEachEmployee:
|
|
932
|
+
var import_zod12 = require("zod");
|
|
933
|
+
var EmployersLiabilityLimitsSchema = import_zod12.z.object({
|
|
934
|
+
eachAccident: import_zod12.z.string(),
|
|
935
|
+
diseasePolicyLimit: import_zod12.z.string(),
|
|
936
|
+
diseaseEachEmployee: import_zod12.z.string()
|
|
891
937
|
});
|
|
892
|
-
var LimitScheduleSchema =
|
|
893
|
-
perOccurrence:
|
|
894
|
-
generalAggregate:
|
|
895
|
-
productsCompletedOpsAggregate:
|
|
896
|
-
personalAdvertisingInjury:
|
|
897
|
-
eachEmployee:
|
|
898
|
-
fireDamage:
|
|
899
|
-
medicalExpense:
|
|
900
|
-
combinedSingleLimit:
|
|
901
|
-
bodilyInjuryPerPerson:
|
|
902
|
-
bodilyInjuryPerAccident:
|
|
903
|
-
propertyDamage:
|
|
904
|
-
eachOccurrenceUmbrella:
|
|
905
|
-
umbrellaAggregate:
|
|
906
|
-
umbrellaRetention:
|
|
907
|
-
statutory:
|
|
938
|
+
var LimitScheduleSchema = import_zod12.z.object({
|
|
939
|
+
perOccurrence: import_zod12.z.string().optional(),
|
|
940
|
+
generalAggregate: import_zod12.z.string().optional(),
|
|
941
|
+
productsCompletedOpsAggregate: import_zod12.z.string().optional(),
|
|
942
|
+
personalAdvertisingInjury: import_zod12.z.string().optional(),
|
|
943
|
+
eachEmployee: import_zod12.z.string().optional(),
|
|
944
|
+
fireDamage: import_zod12.z.string().optional(),
|
|
945
|
+
medicalExpense: import_zod12.z.string().optional(),
|
|
946
|
+
combinedSingleLimit: import_zod12.z.string().optional(),
|
|
947
|
+
bodilyInjuryPerPerson: import_zod12.z.string().optional(),
|
|
948
|
+
bodilyInjuryPerAccident: import_zod12.z.string().optional(),
|
|
949
|
+
propertyDamage: import_zod12.z.string().optional(),
|
|
950
|
+
eachOccurrenceUmbrella: import_zod12.z.string().optional(),
|
|
951
|
+
umbrellaAggregate: import_zod12.z.string().optional(),
|
|
952
|
+
umbrellaRetention: import_zod12.z.string().optional(),
|
|
953
|
+
statutory: import_zod12.z.boolean().optional(),
|
|
908
954
|
employersLiability: EmployersLiabilityLimitsSchema.optional(),
|
|
909
|
-
sublimits:
|
|
910
|
-
sharedLimits:
|
|
955
|
+
sublimits: import_zod12.z.array(SublimitSchema).optional(),
|
|
956
|
+
sharedLimits: import_zod12.z.array(SharedLimitSchema).optional(),
|
|
911
957
|
defenseCostTreatment: DefenseCostTreatmentSchema.optional()
|
|
912
958
|
});
|
|
913
|
-
var DeductibleScheduleSchema =
|
|
914
|
-
perClaim:
|
|
915
|
-
perOccurrence:
|
|
916
|
-
aggregateDeductible:
|
|
917
|
-
selfInsuredRetention:
|
|
918
|
-
corridorDeductible:
|
|
919
|
-
waitingPeriod:
|
|
920
|
-
appliesTo:
|
|
959
|
+
var DeductibleScheduleSchema = import_zod12.z.object({
|
|
960
|
+
perClaim: import_zod12.z.string().optional(),
|
|
961
|
+
perOccurrence: import_zod12.z.string().optional(),
|
|
962
|
+
aggregateDeductible: import_zod12.z.string().optional(),
|
|
963
|
+
selfInsuredRetention: import_zod12.z.string().optional(),
|
|
964
|
+
corridorDeductible: import_zod12.z.string().optional(),
|
|
965
|
+
waitingPeriod: import_zod12.z.string().optional(),
|
|
966
|
+
appliesTo: import_zod12.z.enum(["damages_only", "damages_and_defense", "defense_only"]).optional()
|
|
921
967
|
});
|
|
922
|
-
var InsuredLocationSchema =
|
|
923
|
-
number:
|
|
968
|
+
var InsuredLocationSchema = import_zod12.z.object({
|
|
969
|
+
number: import_zod12.z.number(),
|
|
924
970
|
address: AddressSchema,
|
|
925
|
-
description:
|
|
926
|
-
buildingValue:
|
|
927
|
-
contentsValue:
|
|
928
|
-
businessIncomeValue:
|
|
929
|
-
constructionType:
|
|
930
|
-
yearBuilt:
|
|
931
|
-
squareFootage:
|
|
932
|
-
protectionClass:
|
|
933
|
-
sprinklered:
|
|
934
|
-
alarmType:
|
|
935
|
-
occupancy:
|
|
971
|
+
description: import_zod12.z.string().optional(),
|
|
972
|
+
buildingValue: import_zod12.z.string().optional(),
|
|
973
|
+
contentsValue: import_zod12.z.string().optional(),
|
|
974
|
+
businessIncomeValue: import_zod12.z.string().optional(),
|
|
975
|
+
constructionType: import_zod12.z.string().optional(),
|
|
976
|
+
yearBuilt: import_zod12.z.number().optional(),
|
|
977
|
+
squareFootage: import_zod12.z.number().optional(),
|
|
978
|
+
protectionClass: import_zod12.z.string().optional(),
|
|
979
|
+
sprinklered: import_zod12.z.boolean().optional(),
|
|
980
|
+
alarmType: import_zod12.z.string().optional(),
|
|
981
|
+
occupancy: import_zod12.z.string().optional()
|
|
936
982
|
});
|
|
937
|
-
var VehicleCoverageSchema =
|
|
983
|
+
var VehicleCoverageSchema = import_zod12.z.object({
|
|
938
984
|
type: VehicleCoverageTypeSchema,
|
|
939
|
-
limit:
|
|
940
|
-
deductible:
|
|
941
|
-
included:
|
|
985
|
+
limit: import_zod12.z.string().optional(),
|
|
986
|
+
deductible: import_zod12.z.string().optional(),
|
|
987
|
+
included: import_zod12.z.boolean()
|
|
942
988
|
});
|
|
943
|
-
var InsuredVehicleSchema =
|
|
944
|
-
number:
|
|
945
|
-
year:
|
|
946
|
-
make:
|
|
947
|
-
model:
|
|
948
|
-
vin:
|
|
949
|
-
costNew:
|
|
950
|
-
statedValue:
|
|
951
|
-
garageLocation:
|
|
952
|
-
coverages:
|
|
953
|
-
radius:
|
|
954
|
-
vehicleType:
|
|
989
|
+
var InsuredVehicleSchema = import_zod12.z.object({
|
|
990
|
+
number: import_zod12.z.number(),
|
|
991
|
+
year: import_zod12.z.number(),
|
|
992
|
+
make: import_zod12.z.string(),
|
|
993
|
+
model: import_zod12.z.string(),
|
|
994
|
+
vin: import_zod12.z.string(),
|
|
995
|
+
costNew: import_zod12.z.string().optional(),
|
|
996
|
+
statedValue: import_zod12.z.string().optional(),
|
|
997
|
+
garageLocation: import_zod12.z.number().optional(),
|
|
998
|
+
coverages: import_zod12.z.array(VehicleCoverageSchema).optional(),
|
|
999
|
+
radius: import_zod12.z.string().optional(),
|
|
1000
|
+
vehicleType: import_zod12.z.string().optional()
|
|
955
1001
|
});
|
|
956
|
-
var ClassificationCodeSchema =
|
|
957
|
-
code:
|
|
958
|
-
description:
|
|
959
|
-
premiumBasis:
|
|
960
|
-
basisAmount:
|
|
961
|
-
rate:
|
|
962
|
-
premium:
|
|
963
|
-
locationNumber:
|
|
1002
|
+
var ClassificationCodeSchema = import_zod12.z.object({
|
|
1003
|
+
code: import_zod12.z.string(),
|
|
1004
|
+
description: import_zod12.z.string(),
|
|
1005
|
+
premiumBasis: import_zod12.z.string(),
|
|
1006
|
+
basisAmount: import_zod12.z.string().optional(),
|
|
1007
|
+
rate: import_zod12.z.string().optional(),
|
|
1008
|
+
premium: import_zod12.z.string().optional(),
|
|
1009
|
+
locationNumber: import_zod12.z.number().optional()
|
|
964
1010
|
});
|
|
965
|
-
var DwellingDetailsSchema =
|
|
1011
|
+
var DwellingDetailsSchema = import_zod12.z.object({
|
|
966
1012
|
constructionType: ConstructionTypeSchema.optional(),
|
|
967
|
-
yearBuilt:
|
|
968
|
-
squareFootage:
|
|
969
|
-
stories:
|
|
1013
|
+
yearBuilt: import_zod12.z.number().optional(),
|
|
1014
|
+
squareFootage: import_zod12.z.number().optional(),
|
|
1015
|
+
stories: import_zod12.z.number().optional(),
|
|
970
1016
|
roofType: RoofTypeSchema.optional(),
|
|
971
|
-
roofAge:
|
|
972
|
-
heatingType:
|
|
1017
|
+
roofAge: import_zod12.z.number().optional(),
|
|
1018
|
+
heatingType: import_zod12.z.enum(["central", "baseboard", "radiant", "space_heater", "heat_pump", "other"]).optional(),
|
|
973
1019
|
foundationType: FoundationTypeSchema.optional(),
|
|
974
|
-
plumbingType:
|
|
975
|
-
electricalType:
|
|
976
|
-
electricalAmps:
|
|
977
|
-
hasSwimmingPool:
|
|
978
|
-
poolType:
|
|
979
|
-
hasTrampoline:
|
|
980
|
-
hasDog:
|
|
981
|
-
dogBreed:
|
|
982
|
-
protectiveDevices:
|
|
983
|
-
distanceToFireStation:
|
|
984
|
-
distanceToHydrant:
|
|
985
|
-
fireProtectionClass:
|
|
1020
|
+
plumbingType: import_zod12.z.enum(["copper", "pex", "galvanized", "polybutylene", "cpvc", "other"]).optional(),
|
|
1021
|
+
electricalType: import_zod12.z.enum(["circuit_breaker", "fuse_box", "knob_and_tube", "other"]).optional(),
|
|
1022
|
+
electricalAmps: import_zod12.z.number().optional(),
|
|
1023
|
+
hasSwimmingPool: import_zod12.z.boolean().optional(),
|
|
1024
|
+
poolType: import_zod12.z.enum(["in_ground", "above_ground"]).optional(),
|
|
1025
|
+
hasTrampoline: import_zod12.z.boolean().optional(),
|
|
1026
|
+
hasDog: import_zod12.z.boolean().optional(),
|
|
1027
|
+
dogBreed: import_zod12.z.string().optional(),
|
|
1028
|
+
protectiveDevices: import_zod12.z.array(import_zod12.z.string()).optional(),
|
|
1029
|
+
distanceToFireStation: import_zod12.z.string().optional(),
|
|
1030
|
+
distanceToHydrant: import_zod12.z.string().optional(),
|
|
1031
|
+
fireProtectionClass: import_zod12.z.string().optional()
|
|
986
1032
|
});
|
|
987
|
-
var DriverRecordSchema =
|
|
988
|
-
name:
|
|
989
|
-
dateOfBirth:
|
|
990
|
-
licenseNumber:
|
|
991
|
-
licenseState:
|
|
992
|
-
relationship:
|
|
993
|
-
yearsLicensed:
|
|
994
|
-
gender:
|
|
995
|
-
maritalStatus:
|
|
996
|
-
goodStudentDiscount:
|
|
997
|
-
defensiveDriverDiscount:
|
|
998
|
-
violations:
|
|
999
|
-
date:
|
|
1000
|
-
type:
|
|
1001
|
-
description:
|
|
1033
|
+
var DriverRecordSchema = import_zod12.z.object({
|
|
1034
|
+
name: import_zod12.z.string(),
|
|
1035
|
+
dateOfBirth: import_zod12.z.string().optional(),
|
|
1036
|
+
licenseNumber: import_zod12.z.string().optional(),
|
|
1037
|
+
licenseState: import_zod12.z.string().optional(),
|
|
1038
|
+
relationship: import_zod12.z.enum(["named_insured", "spouse", "child", "other_household", "other"]).optional(),
|
|
1039
|
+
yearsLicensed: import_zod12.z.number().optional(),
|
|
1040
|
+
gender: import_zod12.z.string().optional(),
|
|
1041
|
+
maritalStatus: import_zod12.z.string().optional(),
|
|
1042
|
+
goodStudentDiscount: import_zod12.z.boolean().optional(),
|
|
1043
|
+
defensiveDriverDiscount: import_zod12.z.boolean().optional(),
|
|
1044
|
+
violations: import_zod12.z.array(import_zod12.z.object({
|
|
1045
|
+
date: import_zod12.z.string().optional(),
|
|
1046
|
+
type: import_zod12.z.string().optional(),
|
|
1047
|
+
description: import_zod12.z.string().optional()
|
|
1002
1048
|
})).optional(),
|
|
1003
|
-
accidents:
|
|
1004
|
-
date:
|
|
1005
|
-
atFault:
|
|
1006
|
-
description:
|
|
1007
|
-
amountPaid:
|
|
1049
|
+
accidents: import_zod12.z.array(import_zod12.z.object({
|
|
1050
|
+
date: import_zod12.z.string().optional(),
|
|
1051
|
+
atFault: import_zod12.z.boolean().optional(),
|
|
1052
|
+
description: import_zod12.z.string().optional(),
|
|
1053
|
+
amountPaid: import_zod12.z.string().optional()
|
|
1008
1054
|
})).optional(),
|
|
1009
|
-
sr22Required:
|
|
1055
|
+
sr22Required: import_zod12.z.boolean().optional()
|
|
1010
1056
|
});
|
|
1011
|
-
var PersonalVehicleDetailsSchema =
|
|
1012
|
-
number:
|
|
1013
|
-
year:
|
|
1014
|
-
make:
|
|
1015
|
-
model:
|
|
1016
|
-
vin:
|
|
1017
|
-
bodyType:
|
|
1057
|
+
var PersonalVehicleDetailsSchema = import_zod12.z.object({
|
|
1058
|
+
number: import_zod12.z.number().optional(),
|
|
1059
|
+
year: import_zod12.z.number().optional(),
|
|
1060
|
+
make: import_zod12.z.string().optional(),
|
|
1061
|
+
model: import_zod12.z.string().optional(),
|
|
1062
|
+
vin: import_zod12.z.string().optional(),
|
|
1063
|
+
bodyType: import_zod12.z.string().optional(),
|
|
1018
1064
|
garagingAddress: AddressSchema.optional(),
|
|
1019
1065
|
usage: PersonalAutoUsageSchema.optional(),
|
|
1020
|
-
annualMileage:
|
|
1021
|
-
odometerReading:
|
|
1022
|
-
driverAssignment:
|
|
1066
|
+
annualMileage: import_zod12.z.number().optional(),
|
|
1067
|
+
odometerReading: import_zod12.z.number().optional(),
|
|
1068
|
+
driverAssignment: import_zod12.z.string().optional(),
|
|
1023
1069
|
lienHolder: EndorsementPartySchema.optional(),
|
|
1024
|
-
collisionDeductible:
|
|
1025
|
-
comprehensiveDeductible:
|
|
1026
|
-
rentalReimbursement:
|
|
1027
|
-
towing:
|
|
1070
|
+
collisionDeductible: import_zod12.z.string().optional(),
|
|
1071
|
+
comprehensiveDeductible: import_zod12.z.string().optional(),
|
|
1072
|
+
rentalReimbursement: import_zod12.z.boolean().optional(),
|
|
1073
|
+
towing: import_zod12.z.boolean().optional()
|
|
1028
1074
|
});
|
|
1029
1075
|
|
|
1030
1076
|
// src/schemas/declarations/personal.ts
|
|
1031
|
-
var HomeownersDeclarationsSchema =
|
|
1032
|
-
line:
|
|
1077
|
+
var HomeownersDeclarationsSchema = import_zod13.z.object({
|
|
1078
|
+
line: import_zod13.z.literal("homeowners"),
|
|
1033
1079
|
formType: HomeownersFormTypeSchema,
|
|
1034
|
-
coverageA:
|
|
1035
|
-
coverageB:
|
|
1036
|
-
coverageC:
|
|
1037
|
-
coverageD:
|
|
1038
|
-
coverageE:
|
|
1039
|
-
coverageF:
|
|
1040
|
-
allPerilDeductible:
|
|
1041
|
-
windHailDeductible:
|
|
1042
|
-
hurricaneDeductible:
|
|
1080
|
+
coverageA: import_zod13.z.string().optional(),
|
|
1081
|
+
coverageB: import_zod13.z.string().optional(),
|
|
1082
|
+
coverageC: import_zod13.z.string().optional(),
|
|
1083
|
+
coverageD: import_zod13.z.string().optional(),
|
|
1084
|
+
coverageE: import_zod13.z.string().optional(),
|
|
1085
|
+
coverageF: import_zod13.z.string().optional(),
|
|
1086
|
+
allPerilDeductible: import_zod13.z.string().optional(),
|
|
1087
|
+
windHailDeductible: import_zod13.z.string().optional(),
|
|
1088
|
+
hurricaneDeductible: import_zod13.z.string().optional(),
|
|
1043
1089
|
lossSettlement: LossSettlementSchema.optional(),
|
|
1044
1090
|
dwelling: DwellingDetailsSchema,
|
|
1045
1091
|
mortgagee: EndorsementPartySchema.optional(),
|
|
1046
|
-
additionalMortgagees:
|
|
1092
|
+
additionalMortgagees: import_zod13.z.array(EndorsementPartySchema).optional()
|
|
1047
1093
|
});
|
|
1048
|
-
var PersonalAutoDeclarationsSchema =
|
|
1049
|
-
line:
|
|
1050
|
-
vehicles:
|
|
1051
|
-
drivers:
|
|
1052
|
-
liabilityLimits:
|
|
1053
|
-
bodilyInjuryPerPerson:
|
|
1054
|
-
bodilyInjuryPerAccident:
|
|
1055
|
-
propertyDamage:
|
|
1056
|
-
combinedSingleLimit:
|
|
1094
|
+
var PersonalAutoDeclarationsSchema = import_zod13.z.object({
|
|
1095
|
+
line: import_zod13.z.literal("personal_auto"),
|
|
1096
|
+
vehicles: import_zod13.z.array(PersonalVehicleDetailsSchema),
|
|
1097
|
+
drivers: import_zod13.z.array(DriverRecordSchema),
|
|
1098
|
+
liabilityLimits: import_zod13.z.object({
|
|
1099
|
+
bodilyInjuryPerPerson: import_zod13.z.string().optional(),
|
|
1100
|
+
bodilyInjuryPerAccident: import_zod13.z.string().optional(),
|
|
1101
|
+
propertyDamage: import_zod13.z.string().optional(),
|
|
1102
|
+
combinedSingleLimit: import_zod13.z.string().optional()
|
|
1057
1103
|
}).optional(),
|
|
1058
|
-
umLimits:
|
|
1059
|
-
bodilyInjuryPerPerson:
|
|
1060
|
-
bodilyInjuryPerAccident:
|
|
1104
|
+
umLimits: import_zod13.z.object({
|
|
1105
|
+
bodilyInjuryPerPerson: import_zod13.z.string().optional(),
|
|
1106
|
+
bodilyInjuryPerAccident: import_zod13.z.string().optional()
|
|
1061
1107
|
}).optional(),
|
|
1062
|
-
uimLimits:
|
|
1063
|
-
bodilyInjuryPerPerson:
|
|
1064
|
-
bodilyInjuryPerAccident:
|
|
1108
|
+
uimLimits: import_zod13.z.object({
|
|
1109
|
+
bodilyInjuryPerPerson: import_zod13.z.string().optional(),
|
|
1110
|
+
bodilyInjuryPerAccident: import_zod13.z.string().optional()
|
|
1065
1111
|
}).optional(),
|
|
1066
|
-
pipLimit:
|
|
1067
|
-
medPayLimit:
|
|
1112
|
+
pipLimit: import_zod13.z.string().optional(),
|
|
1113
|
+
medPayLimit: import_zod13.z.string().optional()
|
|
1068
1114
|
});
|
|
1069
|
-
var DwellingFireDeclarationsSchema =
|
|
1070
|
-
line:
|
|
1115
|
+
var DwellingFireDeclarationsSchema = import_zod13.z.object({
|
|
1116
|
+
line: import_zod13.z.literal("dwelling_fire"),
|
|
1071
1117
|
formType: DwellingFireFormTypeSchema,
|
|
1072
|
-
dwellingLimit:
|
|
1073
|
-
otherStructuresLimit:
|
|
1074
|
-
personalPropertyLimit:
|
|
1075
|
-
fairRentalValueLimit:
|
|
1076
|
-
liabilityLimit:
|
|
1077
|
-
medicalPaymentsLimit:
|
|
1078
|
-
deductible:
|
|
1118
|
+
dwellingLimit: import_zod13.z.string().optional(),
|
|
1119
|
+
otherStructuresLimit: import_zod13.z.string().optional(),
|
|
1120
|
+
personalPropertyLimit: import_zod13.z.string().optional(),
|
|
1121
|
+
fairRentalValueLimit: import_zod13.z.string().optional(),
|
|
1122
|
+
liabilityLimit: import_zod13.z.string().optional(),
|
|
1123
|
+
medicalPaymentsLimit: import_zod13.z.string().optional(),
|
|
1124
|
+
deductible: import_zod13.z.string().optional(),
|
|
1079
1125
|
dwelling: DwellingDetailsSchema
|
|
1080
1126
|
});
|
|
1081
|
-
var FloodDeclarationsSchema =
|
|
1082
|
-
line:
|
|
1083
|
-
programType:
|
|
1127
|
+
var FloodDeclarationsSchema = import_zod13.z.object({
|
|
1128
|
+
line: import_zod13.z.literal("flood"),
|
|
1129
|
+
programType: import_zod13.z.enum(["nfip", "private"]),
|
|
1084
1130
|
floodZone: FloodZoneSchema.optional(),
|
|
1085
|
-
communityNumber:
|
|
1086
|
-
communityRating:
|
|
1087
|
-
buildingCoverage:
|
|
1088
|
-
contentsCoverage:
|
|
1089
|
-
iccCoverage:
|
|
1090
|
-
deductible:
|
|
1091
|
-
waitingPeriodDays:
|
|
1092
|
-
elevationCertificate:
|
|
1093
|
-
elevationDifference:
|
|
1094
|
-
buildingDiagramNumber:
|
|
1095
|
-
basementOrEnclosure:
|
|
1096
|
-
postFirmConstruction:
|
|
1131
|
+
communityNumber: import_zod13.z.string().optional(),
|
|
1132
|
+
communityRating: import_zod13.z.number().optional(),
|
|
1133
|
+
buildingCoverage: import_zod13.z.string().optional(),
|
|
1134
|
+
contentsCoverage: import_zod13.z.string().optional(),
|
|
1135
|
+
iccCoverage: import_zod13.z.string().optional(),
|
|
1136
|
+
deductible: import_zod13.z.string().optional(),
|
|
1137
|
+
waitingPeriodDays: import_zod13.z.number().optional(),
|
|
1138
|
+
elevationCertificate: import_zod13.z.boolean().optional(),
|
|
1139
|
+
elevationDifference: import_zod13.z.string().optional(),
|
|
1140
|
+
buildingDiagramNumber: import_zod13.z.number().optional(),
|
|
1141
|
+
basementOrEnclosure: import_zod13.z.boolean().optional(),
|
|
1142
|
+
postFirmConstruction: import_zod13.z.boolean().optional()
|
|
1097
1143
|
});
|
|
1098
|
-
var EarthquakeDeclarationsSchema =
|
|
1099
|
-
line:
|
|
1100
|
-
dwellingCoverage:
|
|
1101
|
-
contentsCoverage:
|
|
1102
|
-
lossOfUseCoverage:
|
|
1103
|
-
deductiblePercent:
|
|
1104
|
-
retrofitDiscount:
|
|
1105
|
-
masonryVeneerCoverage:
|
|
1144
|
+
var EarthquakeDeclarationsSchema = import_zod13.z.object({
|
|
1145
|
+
line: import_zod13.z.literal("earthquake"),
|
|
1146
|
+
dwellingCoverage: import_zod13.z.string().optional(),
|
|
1147
|
+
contentsCoverage: import_zod13.z.string().optional(),
|
|
1148
|
+
lossOfUseCoverage: import_zod13.z.string().optional(),
|
|
1149
|
+
deductiblePercent: import_zod13.z.number().optional(),
|
|
1150
|
+
retrofitDiscount: import_zod13.z.boolean().optional(),
|
|
1151
|
+
masonryVeneerCoverage: import_zod13.z.boolean().optional()
|
|
1106
1152
|
});
|
|
1107
|
-
var PersonalUmbrellaDeclarationsSchema =
|
|
1108
|
-
line:
|
|
1109
|
-
perOccurrenceLimit:
|
|
1110
|
-
aggregateLimit:
|
|
1111
|
-
retainedLimit:
|
|
1112
|
-
underlyingPolicies:
|
|
1113
|
-
carrier:
|
|
1114
|
-
policyNumber:
|
|
1115
|
-
policyType:
|
|
1116
|
-
limits:
|
|
1153
|
+
var PersonalUmbrellaDeclarationsSchema = import_zod13.z.object({
|
|
1154
|
+
line: import_zod13.z.literal("personal_umbrella"),
|
|
1155
|
+
perOccurrenceLimit: import_zod13.z.string().optional(),
|
|
1156
|
+
aggregateLimit: import_zod13.z.string().optional(),
|
|
1157
|
+
retainedLimit: import_zod13.z.string().optional(),
|
|
1158
|
+
underlyingPolicies: import_zod13.z.array(import_zod13.z.object({
|
|
1159
|
+
carrier: import_zod13.z.string().optional(),
|
|
1160
|
+
policyNumber: import_zod13.z.string().optional(),
|
|
1161
|
+
policyType: import_zod13.z.string().optional(),
|
|
1162
|
+
limits: import_zod13.z.string().optional()
|
|
1117
1163
|
}))
|
|
1118
1164
|
});
|
|
1119
|
-
var PersonalArticlesDeclarationsSchema =
|
|
1120
|
-
line:
|
|
1121
|
-
scheduledItems:
|
|
1122
|
-
itemNumber:
|
|
1165
|
+
var PersonalArticlesDeclarationsSchema = import_zod13.z.object({
|
|
1166
|
+
line: import_zod13.z.literal("personal_articles"),
|
|
1167
|
+
scheduledItems: import_zod13.z.array(import_zod13.z.object({
|
|
1168
|
+
itemNumber: import_zod13.z.number().optional(),
|
|
1123
1169
|
category: ScheduledItemCategorySchema.optional(),
|
|
1124
|
-
description:
|
|
1125
|
-
appraisedValue:
|
|
1126
|
-
appraisalDate:
|
|
1170
|
+
description: import_zod13.z.string(),
|
|
1171
|
+
appraisedValue: import_zod13.z.string(),
|
|
1172
|
+
appraisalDate: import_zod13.z.string().optional()
|
|
1127
1173
|
})),
|
|
1128
|
-
blanketCoverage:
|
|
1129
|
-
deductible:
|
|
1130
|
-
worldwideCoverage:
|
|
1131
|
-
breakageCoverage:
|
|
1174
|
+
blanketCoverage: import_zod13.z.string().optional(),
|
|
1175
|
+
deductible: import_zod13.z.string().optional(),
|
|
1176
|
+
worldwideCoverage: import_zod13.z.boolean().optional(),
|
|
1177
|
+
breakageCoverage: import_zod13.z.boolean().optional()
|
|
1132
1178
|
});
|
|
1133
|
-
var WatercraftDeclarationsSchema =
|
|
1134
|
-
line:
|
|
1179
|
+
var WatercraftDeclarationsSchema = import_zod13.z.object({
|
|
1180
|
+
line: import_zod13.z.literal("watercraft"),
|
|
1135
1181
|
boatType: BoatTypeSchema.optional(),
|
|
1136
|
-
year:
|
|
1137
|
-
make:
|
|
1138
|
-
model:
|
|
1139
|
-
length:
|
|
1140
|
-
hullMaterial:
|
|
1141
|
-
hullValue:
|
|
1142
|
-
motorHorsepower:
|
|
1143
|
-
motorType:
|
|
1144
|
-
navigationLimits:
|
|
1145
|
-
layupPeriod:
|
|
1146
|
-
liabilityLimit:
|
|
1147
|
-
medicalPaymentsLimit:
|
|
1148
|
-
physicalDamageDeductible:
|
|
1149
|
-
uninsuredBoaterLimit:
|
|
1150
|
-
trailerCovered:
|
|
1151
|
-
trailerValue:
|
|
1182
|
+
year: import_zod13.z.number().optional(),
|
|
1183
|
+
make: import_zod13.z.string().optional(),
|
|
1184
|
+
model: import_zod13.z.string().optional(),
|
|
1185
|
+
length: import_zod13.z.string().optional(),
|
|
1186
|
+
hullMaterial: import_zod13.z.enum(["fiberglass", "aluminum", "wood", "steel", "inflatable", "other"]).optional(),
|
|
1187
|
+
hullValue: import_zod13.z.string().optional(),
|
|
1188
|
+
motorHorsepower: import_zod13.z.number().optional(),
|
|
1189
|
+
motorType: import_zod13.z.enum(["outboard", "inboard", "inboard_outboard", "jet"]).optional(),
|
|
1190
|
+
navigationLimits: import_zod13.z.string().optional(),
|
|
1191
|
+
layupPeriod: import_zod13.z.string().optional(),
|
|
1192
|
+
liabilityLimit: import_zod13.z.string().optional(),
|
|
1193
|
+
medicalPaymentsLimit: import_zod13.z.string().optional(),
|
|
1194
|
+
physicalDamageDeductible: import_zod13.z.string().optional(),
|
|
1195
|
+
uninsuredBoaterLimit: import_zod13.z.string().optional(),
|
|
1196
|
+
trailerCovered: import_zod13.z.boolean().optional(),
|
|
1197
|
+
trailerValue: import_zod13.z.string().optional()
|
|
1152
1198
|
});
|
|
1153
|
-
var RecreationalVehicleDeclarationsSchema =
|
|
1154
|
-
line:
|
|
1199
|
+
var RecreationalVehicleDeclarationsSchema = import_zod13.z.object({
|
|
1200
|
+
line: import_zod13.z.literal("recreational_vehicle"),
|
|
1155
1201
|
vehicleType: RVTypeSchema,
|
|
1156
|
-
year:
|
|
1157
|
-
make:
|
|
1158
|
-
model:
|
|
1159
|
-
vin:
|
|
1160
|
-
value:
|
|
1161
|
-
liabilityLimit:
|
|
1162
|
-
collisionDeductible:
|
|
1163
|
-
comprehensiveDeductible:
|
|
1164
|
-
personalEffectsCoverage:
|
|
1165
|
-
fullTimerCoverage:
|
|
1202
|
+
year: import_zod13.z.number().optional(),
|
|
1203
|
+
make: import_zod13.z.string().optional(),
|
|
1204
|
+
model: import_zod13.z.string().optional(),
|
|
1205
|
+
vin: import_zod13.z.string().optional(),
|
|
1206
|
+
value: import_zod13.z.string().optional(),
|
|
1207
|
+
liabilityLimit: import_zod13.z.string().optional(),
|
|
1208
|
+
collisionDeductible: import_zod13.z.string().optional(),
|
|
1209
|
+
comprehensiveDeductible: import_zod13.z.string().optional(),
|
|
1210
|
+
personalEffectsCoverage: import_zod13.z.string().optional(),
|
|
1211
|
+
fullTimerCoverage: import_zod13.z.boolean().optional()
|
|
1166
1212
|
});
|
|
1167
|
-
var FarmRanchDeclarationsSchema =
|
|
1168
|
-
line:
|
|
1169
|
-
dwellingCoverage:
|
|
1170
|
-
farmPersonalPropertyCoverage:
|
|
1171
|
-
farmLiabilityLimit:
|
|
1172
|
-
farmAutoIncluded:
|
|
1173
|
-
livestock:
|
|
1174
|
-
type:
|
|
1175
|
-
headCount:
|
|
1176
|
-
value:
|
|
1213
|
+
var FarmRanchDeclarationsSchema = import_zod13.z.object({
|
|
1214
|
+
line: import_zod13.z.literal("farm_ranch"),
|
|
1215
|
+
dwellingCoverage: import_zod13.z.string().optional(),
|
|
1216
|
+
farmPersonalPropertyCoverage: import_zod13.z.string().optional(),
|
|
1217
|
+
farmLiabilityLimit: import_zod13.z.string().optional(),
|
|
1218
|
+
farmAutoIncluded: import_zod13.z.boolean().optional(),
|
|
1219
|
+
livestock: import_zod13.z.array(import_zod13.z.object({
|
|
1220
|
+
type: import_zod13.z.string(),
|
|
1221
|
+
headCount: import_zod13.z.number(),
|
|
1222
|
+
value: import_zod13.z.string().optional()
|
|
1177
1223
|
})).optional(),
|
|
1178
|
-
equipmentSchedule:
|
|
1179
|
-
description:
|
|
1180
|
-
value:
|
|
1224
|
+
equipmentSchedule: import_zod13.z.array(import_zod13.z.object({
|
|
1225
|
+
description: import_zod13.z.string(),
|
|
1226
|
+
value: import_zod13.z.string()
|
|
1181
1227
|
})).optional(),
|
|
1182
|
-
acreage:
|
|
1228
|
+
acreage: import_zod13.z.number().optional(),
|
|
1183
1229
|
dwelling: DwellingDetailsSchema.optional()
|
|
1184
1230
|
});
|
|
1185
|
-
var TitleDeclarationsSchema =
|
|
1186
|
-
line:
|
|
1231
|
+
var TitleDeclarationsSchema = import_zod13.z.object({
|
|
1232
|
+
line: import_zod13.z.literal("title"),
|
|
1187
1233
|
policyType: TitlePolicyTypeSchema,
|
|
1188
|
-
policyAmount:
|
|
1189
|
-
legalDescription:
|
|
1234
|
+
policyAmount: import_zod13.z.string(),
|
|
1235
|
+
legalDescription: import_zod13.z.string().optional(),
|
|
1190
1236
|
propertyAddress: AddressSchema.optional(),
|
|
1191
|
-
effectiveDate:
|
|
1192
|
-
exceptions:
|
|
1193
|
-
number:
|
|
1194
|
-
description:
|
|
1237
|
+
effectiveDate: import_zod13.z.string().optional(),
|
|
1238
|
+
exceptions: import_zod13.z.array(import_zod13.z.object({
|
|
1239
|
+
number: import_zod13.z.number(),
|
|
1240
|
+
description: import_zod13.z.string()
|
|
1195
1241
|
})).optional(),
|
|
1196
|
-
underwriter:
|
|
1242
|
+
underwriter: import_zod13.z.string().optional()
|
|
1197
1243
|
});
|
|
1198
|
-
var PetDeclarationsSchema =
|
|
1199
|
-
line:
|
|
1244
|
+
var PetDeclarationsSchema = import_zod13.z.object({
|
|
1245
|
+
line: import_zod13.z.literal("pet"),
|
|
1200
1246
|
species: PetSpeciesSchema,
|
|
1201
|
-
breed:
|
|
1202
|
-
petName:
|
|
1203
|
-
age:
|
|
1204
|
-
annualLimit:
|
|
1205
|
-
perIncidentLimit:
|
|
1206
|
-
deductible:
|
|
1207
|
-
reimbursementPercent:
|
|
1208
|
-
waitingPeriodDays:
|
|
1209
|
-
preExistingConditionsExcluded:
|
|
1210
|
-
wellnessCoverage:
|
|
1247
|
+
breed: import_zod13.z.string().optional(),
|
|
1248
|
+
petName: import_zod13.z.string().optional(),
|
|
1249
|
+
age: import_zod13.z.number().optional(),
|
|
1250
|
+
annualLimit: import_zod13.z.string().optional(),
|
|
1251
|
+
perIncidentLimit: import_zod13.z.string().optional(),
|
|
1252
|
+
deductible: import_zod13.z.string().optional(),
|
|
1253
|
+
reimbursementPercent: import_zod13.z.number().optional(),
|
|
1254
|
+
waitingPeriodDays: import_zod13.z.number().optional(),
|
|
1255
|
+
preExistingConditionsExcluded: import_zod13.z.boolean().optional(),
|
|
1256
|
+
wellnessCoverage: import_zod13.z.boolean().optional()
|
|
1211
1257
|
});
|
|
1212
|
-
var TravelDeclarationsSchema =
|
|
1213
|
-
line:
|
|
1214
|
-
tripDepartureDate:
|
|
1215
|
-
tripReturnDate:
|
|
1216
|
-
destinations:
|
|
1217
|
-
travelers:
|
|
1218
|
-
name:
|
|
1219
|
-
age:
|
|
1258
|
+
var TravelDeclarationsSchema = import_zod13.z.object({
|
|
1259
|
+
line: import_zod13.z.literal("travel"),
|
|
1260
|
+
tripDepartureDate: import_zod13.z.string().optional(),
|
|
1261
|
+
tripReturnDate: import_zod13.z.string().optional(),
|
|
1262
|
+
destinations: import_zod13.z.array(import_zod13.z.string()).optional(),
|
|
1263
|
+
travelers: import_zod13.z.array(import_zod13.z.object({
|
|
1264
|
+
name: import_zod13.z.string(),
|
|
1265
|
+
age: import_zod13.z.number().optional()
|
|
1220
1266
|
})).optional(),
|
|
1221
|
-
tripCost:
|
|
1222
|
-
tripCancellationLimit:
|
|
1223
|
-
medicalLimit:
|
|
1224
|
-
evacuationLimit:
|
|
1225
|
-
baggageLimit:
|
|
1267
|
+
tripCost: import_zod13.z.string().optional(),
|
|
1268
|
+
tripCancellationLimit: import_zod13.z.string().optional(),
|
|
1269
|
+
medicalLimit: import_zod13.z.string().optional(),
|
|
1270
|
+
evacuationLimit: import_zod13.z.string().optional(),
|
|
1271
|
+
baggageLimit: import_zod13.z.string().optional()
|
|
1226
1272
|
});
|
|
1227
|
-
var IdentityTheftDeclarationsSchema =
|
|
1228
|
-
line:
|
|
1229
|
-
coverageLimit:
|
|
1230
|
-
expenseReimbursement:
|
|
1231
|
-
creditMonitoring:
|
|
1232
|
-
restorationServices:
|
|
1233
|
-
lostWagesLimit:
|
|
1273
|
+
var IdentityTheftDeclarationsSchema = import_zod13.z.object({
|
|
1274
|
+
line: import_zod13.z.literal("identity_theft"),
|
|
1275
|
+
coverageLimit: import_zod13.z.string().optional(),
|
|
1276
|
+
expenseReimbursement: import_zod13.z.string().optional(),
|
|
1277
|
+
creditMonitoring: import_zod13.z.boolean().optional(),
|
|
1278
|
+
restorationServices: import_zod13.z.boolean().optional(),
|
|
1279
|
+
lostWagesLimit: import_zod13.z.string().optional()
|
|
1234
1280
|
});
|
|
1235
1281
|
|
|
1236
1282
|
// src/schemas/declarations/commercial.ts
|
|
1237
|
-
var
|
|
1238
|
-
var GLDeclarationsSchema =
|
|
1239
|
-
line:
|
|
1283
|
+
var import_zod14 = require("zod");
|
|
1284
|
+
var GLDeclarationsSchema = import_zod14.z.object({
|
|
1285
|
+
line: import_zod14.z.literal("gl"),
|
|
1240
1286
|
coverageForm: CoverageFormSchema.optional(),
|
|
1241
|
-
perOccurrenceLimit:
|
|
1242
|
-
generalAggregate:
|
|
1243
|
-
productsCompletedOpsAggregate:
|
|
1244
|
-
personalAdvertisingInjury:
|
|
1245
|
-
fireDamage:
|
|
1246
|
-
medicalExpense:
|
|
1287
|
+
perOccurrenceLimit: import_zod14.z.string().optional(),
|
|
1288
|
+
generalAggregate: import_zod14.z.string().optional(),
|
|
1289
|
+
productsCompletedOpsAggregate: import_zod14.z.string().optional(),
|
|
1290
|
+
personalAdvertisingInjury: import_zod14.z.string().optional(),
|
|
1291
|
+
fireDamage: import_zod14.z.string().optional(),
|
|
1292
|
+
medicalExpense: import_zod14.z.string().optional(),
|
|
1247
1293
|
defenseCostTreatment: DefenseCostTreatmentSchema.optional(),
|
|
1248
|
-
deductible:
|
|
1249
|
-
classifications:
|
|
1250
|
-
retroactiveDate:
|
|
1294
|
+
deductible: import_zod14.z.string().optional(),
|
|
1295
|
+
classifications: import_zod14.z.array(ClassificationCodeSchema).optional(),
|
|
1296
|
+
retroactiveDate: import_zod14.z.string().optional()
|
|
1251
1297
|
});
|
|
1252
|
-
var CommercialPropertyDeclarationsSchema =
|
|
1253
|
-
line:
|
|
1254
|
-
causesOfLossForm:
|
|
1255
|
-
coinsurancePercent:
|
|
1298
|
+
var CommercialPropertyDeclarationsSchema = import_zod14.z.object({
|
|
1299
|
+
line: import_zod14.z.literal("commercial_property"),
|
|
1300
|
+
causesOfLossForm: import_zod14.z.enum(["basic", "broad", "special"]).optional(),
|
|
1301
|
+
coinsurancePercent: import_zod14.z.number().optional(),
|
|
1256
1302
|
valuationMethod: ValuationMethodSchema.optional(),
|
|
1257
|
-
locations:
|
|
1258
|
-
blanketLimit:
|
|
1259
|
-
businessIncomeLimit:
|
|
1260
|
-
extraExpenseLimit:
|
|
1303
|
+
locations: import_zod14.z.array(InsuredLocationSchema),
|
|
1304
|
+
blanketLimit: import_zod14.z.string().optional(),
|
|
1305
|
+
businessIncomeLimit: import_zod14.z.string().optional(),
|
|
1306
|
+
extraExpenseLimit: import_zod14.z.string().optional()
|
|
1261
1307
|
});
|
|
1262
|
-
var CommercialAutoDeclarationsSchema =
|
|
1263
|
-
line:
|
|
1264
|
-
vehicles:
|
|
1265
|
-
coveredAutoSymbols:
|
|
1266
|
-
liabilityLimit:
|
|
1267
|
-
umLimit:
|
|
1268
|
-
uimLimit:
|
|
1269
|
-
hiredAutoLiability:
|
|
1270
|
-
nonOwnedAutoLiability:
|
|
1308
|
+
var CommercialAutoDeclarationsSchema = import_zod14.z.object({
|
|
1309
|
+
line: import_zod14.z.literal("commercial_auto"),
|
|
1310
|
+
vehicles: import_zod14.z.array(InsuredVehicleSchema),
|
|
1311
|
+
coveredAutoSymbols: import_zod14.z.array(import_zod14.z.number()).optional(),
|
|
1312
|
+
liabilityLimit: import_zod14.z.string().optional(),
|
|
1313
|
+
umLimit: import_zod14.z.string().optional(),
|
|
1314
|
+
uimLimit: import_zod14.z.string().optional(),
|
|
1315
|
+
hiredAutoLiability: import_zod14.z.boolean().optional(),
|
|
1316
|
+
nonOwnedAutoLiability: import_zod14.z.boolean().optional()
|
|
1271
1317
|
});
|
|
1272
|
-
var WorkersCompDeclarationsSchema =
|
|
1273
|
-
line:
|
|
1274
|
-
coveredStates:
|
|
1275
|
-
classifications:
|
|
1318
|
+
var WorkersCompDeclarationsSchema = import_zod14.z.object({
|
|
1319
|
+
line: import_zod14.z.literal("workers_comp"),
|
|
1320
|
+
coveredStates: import_zod14.z.array(import_zod14.z.string()).optional(),
|
|
1321
|
+
classifications: import_zod14.z.array(ClassificationCodeSchema),
|
|
1276
1322
|
experienceMod: ExperienceModSchema.optional(),
|
|
1277
1323
|
employersLiability: EmployersLiabilityLimitsSchema.optional()
|
|
1278
1324
|
});
|
|
1279
|
-
var UmbrellaExcessDeclarationsSchema =
|
|
1280
|
-
line:
|
|
1281
|
-
perOccurrenceLimit:
|
|
1282
|
-
aggregateLimit:
|
|
1283
|
-
retention:
|
|
1284
|
-
underlyingPolicies:
|
|
1285
|
-
carrier:
|
|
1286
|
-
policyNumber:
|
|
1287
|
-
policyType:
|
|
1288
|
-
limits:
|
|
1325
|
+
var UmbrellaExcessDeclarationsSchema = import_zod14.z.object({
|
|
1326
|
+
line: import_zod14.z.literal("umbrella_excess"),
|
|
1327
|
+
perOccurrenceLimit: import_zod14.z.string().optional(),
|
|
1328
|
+
aggregateLimit: import_zod14.z.string().optional(),
|
|
1329
|
+
retention: import_zod14.z.string().optional(),
|
|
1330
|
+
underlyingPolicies: import_zod14.z.array(import_zod14.z.object({
|
|
1331
|
+
carrier: import_zod14.z.string().optional(),
|
|
1332
|
+
policyNumber: import_zod14.z.string().optional(),
|
|
1333
|
+
policyType: import_zod14.z.string().optional(),
|
|
1334
|
+
limits: import_zod14.z.string().optional()
|
|
1289
1335
|
}))
|
|
1290
1336
|
});
|
|
1291
|
-
var ProfessionalLiabilityDeclarationsSchema =
|
|
1292
|
-
line:
|
|
1293
|
-
perClaimLimit:
|
|
1294
|
-
aggregateLimit:
|
|
1295
|
-
retroactiveDate:
|
|
1337
|
+
var ProfessionalLiabilityDeclarationsSchema = import_zod14.z.object({
|
|
1338
|
+
line: import_zod14.z.literal("professional_liability"),
|
|
1339
|
+
perClaimLimit: import_zod14.z.string().optional(),
|
|
1340
|
+
aggregateLimit: import_zod14.z.string().optional(),
|
|
1341
|
+
retroactiveDate: import_zod14.z.string().optional(),
|
|
1296
1342
|
defenseCostTreatment: DefenseCostTreatmentSchema.optional(),
|
|
1297
1343
|
extendedReportingPeriod: ExtendedReportingPeriodSchema.optional()
|
|
1298
1344
|
});
|
|
1299
|
-
var CyberDeclarationsSchema =
|
|
1300
|
-
line:
|
|
1301
|
-
aggregateLimit:
|
|
1302
|
-
retroactiveDate:
|
|
1303
|
-
waitingPeriodHours:
|
|
1304
|
-
sublimits:
|
|
1305
|
-
coverageName:
|
|
1306
|
-
limit:
|
|
1345
|
+
var CyberDeclarationsSchema = import_zod14.z.object({
|
|
1346
|
+
line: import_zod14.z.literal("cyber"),
|
|
1347
|
+
aggregateLimit: import_zod14.z.string().optional(),
|
|
1348
|
+
retroactiveDate: import_zod14.z.string().optional(),
|
|
1349
|
+
waitingPeriodHours: import_zod14.z.number().optional(),
|
|
1350
|
+
sublimits: import_zod14.z.array(import_zod14.z.object({
|
|
1351
|
+
coverageName: import_zod14.z.string(),
|
|
1352
|
+
limit: import_zod14.z.string()
|
|
1307
1353
|
})).optional()
|
|
1308
1354
|
});
|
|
1309
|
-
var DODeclarationsSchema =
|
|
1310
|
-
line:
|
|
1311
|
-
sideALimit:
|
|
1312
|
-
sideBLimit:
|
|
1313
|
-
sideCLimit:
|
|
1314
|
-
sideARetention:
|
|
1315
|
-
sideBRetention:
|
|
1316
|
-
sideCRetention:
|
|
1317
|
-
continuityDate:
|
|
1355
|
+
var DODeclarationsSchema = import_zod14.z.object({
|
|
1356
|
+
line: import_zod14.z.literal("directors_officers"),
|
|
1357
|
+
sideALimit: import_zod14.z.string().optional(),
|
|
1358
|
+
sideBLimit: import_zod14.z.string().optional(),
|
|
1359
|
+
sideCLimit: import_zod14.z.string().optional(),
|
|
1360
|
+
sideARetention: import_zod14.z.string().optional(),
|
|
1361
|
+
sideBRetention: import_zod14.z.string().optional(),
|
|
1362
|
+
sideCRetention: import_zod14.z.string().optional(),
|
|
1363
|
+
continuityDate: import_zod14.z.string().optional()
|
|
1318
1364
|
});
|
|
1319
|
-
var CrimeDeclarationsSchema =
|
|
1320
|
-
line:
|
|
1321
|
-
formType:
|
|
1322
|
-
agreements:
|
|
1323
|
-
agreement:
|
|
1324
|
-
coverageName:
|
|
1325
|
-
limit:
|
|
1326
|
-
deductible:
|
|
1365
|
+
var CrimeDeclarationsSchema = import_zod14.z.object({
|
|
1366
|
+
line: import_zod14.z.literal("crime"),
|
|
1367
|
+
formType: import_zod14.z.enum(["discovery", "loss_sustained"]).optional(),
|
|
1368
|
+
agreements: import_zod14.z.array(import_zod14.z.object({
|
|
1369
|
+
agreement: import_zod14.z.string(),
|
|
1370
|
+
coverageName: import_zod14.z.string(),
|
|
1371
|
+
limit: import_zod14.z.string(),
|
|
1372
|
+
deductible: import_zod14.z.string()
|
|
1327
1373
|
}))
|
|
1328
1374
|
});
|
|
1329
1375
|
|
|
1330
1376
|
// src/schemas/declarations/index.ts
|
|
1331
|
-
var DeclarationsSchema =
|
|
1377
|
+
var DeclarationsSchema = import_zod15.z.discriminatedUnion("line", [
|
|
1332
1378
|
// Personal lines
|
|
1333
1379
|
HomeownersDeclarationsSchema,
|
|
1334
1380
|
PersonalAutoDeclarationsSchema,
|
|
@@ -1357,137 +1403,137 @@ var DeclarationsSchema = import_zod14.z.discriminatedUnion("line", [
|
|
|
1357
1403
|
]);
|
|
1358
1404
|
|
|
1359
1405
|
// src/schemas/document.ts
|
|
1360
|
-
var
|
|
1361
|
-
var SubsectionSchema =
|
|
1362
|
-
title:
|
|
1363
|
-
sectionNumber:
|
|
1364
|
-
pageNumber:
|
|
1365
|
-
content:
|
|
1406
|
+
var import_zod16 = require("zod");
|
|
1407
|
+
var SubsectionSchema = import_zod16.z.object({
|
|
1408
|
+
title: import_zod16.z.string(),
|
|
1409
|
+
sectionNumber: import_zod16.z.string().optional(),
|
|
1410
|
+
pageNumber: import_zod16.z.number().optional(),
|
|
1411
|
+
content: import_zod16.z.string()
|
|
1366
1412
|
});
|
|
1367
|
-
var SectionSchema =
|
|
1368
|
-
title:
|
|
1369
|
-
sectionNumber:
|
|
1370
|
-
pageStart:
|
|
1371
|
-
pageEnd:
|
|
1372
|
-
type:
|
|
1373
|
-
coverageType:
|
|
1374
|
-
content:
|
|
1375
|
-
subsections:
|
|
1413
|
+
var SectionSchema = import_zod16.z.object({
|
|
1414
|
+
title: import_zod16.z.string(),
|
|
1415
|
+
sectionNumber: import_zod16.z.string().optional(),
|
|
1416
|
+
pageStart: import_zod16.z.number(),
|
|
1417
|
+
pageEnd: import_zod16.z.number().optional(),
|
|
1418
|
+
type: import_zod16.z.string(),
|
|
1419
|
+
coverageType: import_zod16.z.string().optional(),
|
|
1420
|
+
content: import_zod16.z.string(),
|
|
1421
|
+
subsections: import_zod16.z.array(SubsectionSchema).optional()
|
|
1376
1422
|
});
|
|
1377
|
-
var SubjectivitySchema =
|
|
1378
|
-
description:
|
|
1379
|
-
category:
|
|
1423
|
+
var SubjectivitySchema = import_zod16.z.object({
|
|
1424
|
+
description: import_zod16.z.string(),
|
|
1425
|
+
category: import_zod16.z.string().optional()
|
|
1380
1426
|
});
|
|
1381
|
-
var UnderwritingConditionSchema =
|
|
1382
|
-
description:
|
|
1427
|
+
var UnderwritingConditionSchema = import_zod16.z.object({
|
|
1428
|
+
description: import_zod16.z.string()
|
|
1383
1429
|
});
|
|
1384
|
-
var PremiumLineSchema =
|
|
1385
|
-
line:
|
|
1386
|
-
amount:
|
|
1430
|
+
var PremiumLineSchema = import_zod16.z.object({
|
|
1431
|
+
line: import_zod16.z.string(),
|
|
1432
|
+
amount: import_zod16.z.string()
|
|
1387
1433
|
});
|
|
1388
1434
|
var BaseDocumentFields = {
|
|
1389
|
-
id:
|
|
1390
|
-
carrier:
|
|
1391
|
-
security:
|
|
1392
|
-
insuredName:
|
|
1393
|
-
premium:
|
|
1394
|
-
summary:
|
|
1395
|
-
policyTypes:
|
|
1396
|
-
coverages:
|
|
1397
|
-
sections:
|
|
1435
|
+
id: import_zod16.z.string(),
|
|
1436
|
+
carrier: import_zod16.z.string(),
|
|
1437
|
+
security: import_zod16.z.string().optional(),
|
|
1438
|
+
insuredName: import_zod16.z.string(),
|
|
1439
|
+
premium: import_zod16.z.string().optional(),
|
|
1440
|
+
summary: import_zod16.z.string().optional(),
|
|
1441
|
+
policyTypes: import_zod16.z.array(import_zod16.z.string()).optional(),
|
|
1442
|
+
coverages: import_zod16.z.array(CoverageSchema),
|
|
1443
|
+
sections: import_zod16.z.array(SectionSchema).optional(),
|
|
1398
1444
|
// Enriched fields (v1.2+)
|
|
1399
|
-
carrierLegalName:
|
|
1400
|
-
carrierNaicNumber:
|
|
1401
|
-
carrierAmBestRating:
|
|
1402
|
-
carrierAdmittedStatus:
|
|
1403
|
-
mga:
|
|
1404
|
-
underwriter:
|
|
1405
|
-
brokerAgency:
|
|
1406
|
-
brokerContactName:
|
|
1407
|
-
brokerLicenseNumber:
|
|
1408
|
-
priorPolicyNumber:
|
|
1409
|
-
programName:
|
|
1410
|
-
isRenewal:
|
|
1411
|
-
isPackage:
|
|
1412
|
-
insuredDba:
|
|
1445
|
+
carrierLegalName: import_zod16.z.string().optional(),
|
|
1446
|
+
carrierNaicNumber: import_zod16.z.string().optional(),
|
|
1447
|
+
carrierAmBestRating: import_zod16.z.string().optional(),
|
|
1448
|
+
carrierAdmittedStatus: import_zod16.z.string().optional(),
|
|
1449
|
+
mga: import_zod16.z.string().optional(),
|
|
1450
|
+
underwriter: import_zod16.z.string().optional(),
|
|
1451
|
+
brokerAgency: import_zod16.z.string().optional(),
|
|
1452
|
+
brokerContactName: import_zod16.z.string().optional(),
|
|
1453
|
+
brokerLicenseNumber: import_zod16.z.string().optional(),
|
|
1454
|
+
priorPolicyNumber: import_zod16.z.string().optional(),
|
|
1455
|
+
programName: import_zod16.z.string().optional(),
|
|
1456
|
+
isRenewal: import_zod16.z.boolean().optional(),
|
|
1457
|
+
isPackage: import_zod16.z.boolean().optional(),
|
|
1458
|
+
insuredDba: import_zod16.z.string().optional(),
|
|
1413
1459
|
insuredAddress: AddressSchema.optional(),
|
|
1414
1460
|
insuredEntityType: EntityTypeSchema.optional(),
|
|
1415
|
-
additionalNamedInsureds:
|
|
1416
|
-
insuredSicCode:
|
|
1417
|
-
insuredNaicsCode:
|
|
1418
|
-
insuredFein:
|
|
1419
|
-
enrichedCoverages:
|
|
1420
|
-
endorsements:
|
|
1421
|
-
exclusions:
|
|
1422
|
-
conditions:
|
|
1461
|
+
additionalNamedInsureds: import_zod16.z.array(NamedInsuredSchema).optional(),
|
|
1462
|
+
insuredSicCode: import_zod16.z.string().optional(),
|
|
1463
|
+
insuredNaicsCode: import_zod16.z.string().optional(),
|
|
1464
|
+
insuredFein: import_zod16.z.string().optional(),
|
|
1465
|
+
enrichedCoverages: import_zod16.z.array(EnrichedCoverageSchema).optional(),
|
|
1466
|
+
endorsements: import_zod16.z.array(EndorsementSchema).optional(),
|
|
1467
|
+
exclusions: import_zod16.z.array(ExclusionSchema).optional(),
|
|
1468
|
+
conditions: import_zod16.z.array(PolicyConditionSchema).optional(),
|
|
1423
1469
|
limits: LimitScheduleSchema.optional(),
|
|
1424
1470
|
deductibles: DeductibleScheduleSchema.optional(),
|
|
1425
|
-
locations:
|
|
1426
|
-
vehicles:
|
|
1427
|
-
classifications:
|
|
1428
|
-
formInventory:
|
|
1471
|
+
locations: import_zod16.z.array(InsuredLocationSchema).optional(),
|
|
1472
|
+
vehicles: import_zod16.z.array(InsuredVehicleSchema).optional(),
|
|
1473
|
+
classifications: import_zod16.z.array(ClassificationCodeSchema).optional(),
|
|
1474
|
+
formInventory: import_zod16.z.array(FormReferenceSchema).optional(),
|
|
1429
1475
|
declarations: DeclarationsSchema.optional(),
|
|
1430
1476
|
coverageForm: CoverageFormSchema.optional(),
|
|
1431
|
-
retroactiveDate:
|
|
1477
|
+
retroactiveDate: import_zod16.z.string().optional(),
|
|
1432
1478
|
extendedReportingPeriod: ExtendedReportingPeriodSchema.optional(),
|
|
1433
1479
|
insurer: InsurerInfoSchema.optional(),
|
|
1434
1480
|
producer: ProducerInfoSchema.optional(),
|
|
1435
|
-
claimsContacts:
|
|
1436
|
-
regulatoryContacts:
|
|
1437
|
-
thirdPartyAdministrators:
|
|
1438
|
-
additionalInsureds:
|
|
1439
|
-
lossPayees:
|
|
1440
|
-
mortgageHolders:
|
|
1441
|
-
taxesAndFees:
|
|
1442
|
-
totalCost:
|
|
1443
|
-
minimumPremium:
|
|
1444
|
-
depositPremium:
|
|
1481
|
+
claimsContacts: import_zod16.z.array(ContactSchema).optional(),
|
|
1482
|
+
regulatoryContacts: import_zod16.z.array(ContactSchema).optional(),
|
|
1483
|
+
thirdPartyAdministrators: import_zod16.z.array(ContactSchema).optional(),
|
|
1484
|
+
additionalInsureds: import_zod16.z.array(EndorsementPartySchema).optional(),
|
|
1485
|
+
lossPayees: import_zod16.z.array(EndorsementPartySchema).optional(),
|
|
1486
|
+
mortgageHolders: import_zod16.z.array(EndorsementPartySchema).optional(),
|
|
1487
|
+
taxesAndFees: import_zod16.z.array(TaxFeeItemSchema).optional(),
|
|
1488
|
+
totalCost: import_zod16.z.string().optional(),
|
|
1489
|
+
minimumPremium: import_zod16.z.string().optional(),
|
|
1490
|
+
depositPremium: import_zod16.z.string().optional(),
|
|
1445
1491
|
paymentPlan: PaymentPlanSchema.optional(),
|
|
1446
1492
|
auditType: AuditTypeSchema.optional(),
|
|
1447
|
-
ratingBasis:
|
|
1448
|
-
premiumByLocation:
|
|
1493
|
+
ratingBasis: import_zod16.z.array(RatingBasisSchema).optional(),
|
|
1494
|
+
premiumByLocation: import_zod16.z.array(LocationPremiumSchema).optional(),
|
|
1449
1495
|
lossSummary: LossSummarySchema.optional(),
|
|
1450
|
-
individualClaims:
|
|
1496
|
+
individualClaims: import_zod16.z.array(ClaimRecordSchema).optional(),
|
|
1451
1497
|
experienceMod: ExperienceModSchema.optional(),
|
|
1452
|
-
cancellationNoticeDays:
|
|
1453
|
-
nonrenewalNoticeDays:
|
|
1498
|
+
cancellationNoticeDays: import_zod16.z.number().optional(),
|
|
1499
|
+
nonrenewalNoticeDays: import_zod16.z.number().optional()
|
|
1454
1500
|
};
|
|
1455
|
-
var PolicyDocumentSchema =
|
|
1501
|
+
var PolicyDocumentSchema = import_zod16.z.object({
|
|
1456
1502
|
...BaseDocumentFields,
|
|
1457
|
-
type:
|
|
1458
|
-
policyNumber:
|
|
1459
|
-
effectiveDate:
|
|
1460
|
-
expirationDate:
|
|
1503
|
+
type: import_zod16.z.literal("policy"),
|
|
1504
|
+
policyNumber: import_zod16.z.string(),
|
|
1505
|
+
effectiveDate: import_zod16.z.string(),
|
|
1506
|
+
expirationDate: import_zod16.z.string().optional(),
|
|
1461
1507
|
policyTermType: PolicyTermTypeSchema.optional(),
|
|
1462
|
-
nextReviewDate:
|
|
1463
|
-
effectiveTime:
|
|
1508
|
+
nextReviewDate: import_zod16.z.string().optional(),
|
|
1509
|
+
effectiveTime: import_zod16.z.string().optional()
|
|
1464
1510
|
});
|
|
1465
|
-
var QuoteDocumentSchema =
|
|
1511
|
+
var QuoteDocumentSchema = import_zod16.z.object({
|
|
1466
1512
|
...BaseDocumentFields,
|
|
1467
|
-
type:
|
|
1468
|
-
quoteNumber:
|
|
1469
|
-
proposedEffectiveDate:
|
|
1470
|
-
proposedExpirationDate:
|
|
1471
|
-
quoteExpirationDate:
|
|
1472
|
-
subjectivities:
|
|
1473
|
-
underwritingConditions:
|
|
1474
|
-
premiumBreakdown:
|
|
1513
|
+
type: import_zod16.z.literal("quote"),
|
|
1514
|
+
quoteNumber: import_zod16.z.string(),
|
|
1515
|
+
proposedEffectiveDate: import_zod16.z.string().optional(),
|
|
1516
|
+
proposedExpirationDate: import_zod16.z.string().optional(),
|
|
1517
|
+
quoteExpirationDate: import_zod16.z.string().optional(),
|
|
1518
|
+
subjectivities: import_zod16.z.array(SubjectivitySchema).optional(),
|
|
1519
|
+
underwritingConditions: import_zod16.z.array(UnderwritingConditionSchema).optional(),
|
|
1520
|
+
premiumBreakdown: import_zod16.z.array(PremiumLineSchema).optional(),
|
|
1475
1521
|
// Enriched quote fields (v1.2+)
|
|
1476
|
-
enrichedSubjectivities:
|
|
1477
|
-
enrichedUnderwritingConditions:
|
|
1478
|
-
warrantyRequirements:
|
|
1479
|
-
lossControlRecommendations:
|
|
1522
|
+
enrichedSubjectivities: import_zod16.z.array(EnrichedSubjectivitySchema).optional(),
|
|
1523
|
+
enrichedUnderwritingConditions: import_zod16.z.array(EnrichedUnderwritingConditionSchema).optional(),
|
|
1524
|
+
warrantyRequirements: import_zod16.z.array(import_zod16.z.string()).optional(),
|
|
1525
|
+
lossControlRecommendations: import_zod16.z.array(import_zod16.z.string()).optional(),
|
|
1480
1526
|
bindingAuthority: BindingAuthoritySchema.optional()
|
|
1481
1527
|
});
|
|
1482
|
-
var InsuranceDocumentSchema =
|
|
1528
|
+
var InsuranceDocumentSchema = import_zod16.z.discriminatedUnion("type", [
|
|
1483
1529
|
PolicyDocumentSchema,
|
|
1484
1530
|
QuoteDocumentSchema
|
|
1485
1531
|
]);
|
|
1486
1532
|
|
|
1487
1533
|
// src/schemas/platform.ts
|
|
1488
|
-
var
|
|
1489
|
-
var PlatformSchema =
|
|
1490
|
-
var CommunicationIntentSchema =
|
|
1534
|
+
var import_zod17 = require("zod");
|
|
1535
|
+
var PlatformSchema = import_zod17.z.enum(["email", "chat", "sms", "slack", "discord"]);
|
|
1536
|
+
var CommunicationIntentSchema = import_zod17.z.enum(["direct", "mediated", "observed"]);
|
|
1491
1537
|
var PLATFORM_CONFIGS = {
|
|
1492
1538
|
email: {
|
|
1493
1539
|
supportsMarkdown: false,
|
|
@@ -1707,10 +1753,11 @@ async function runExtractor(params) {
|
|
|
1707
1753
|
[Document pages ${startPage}-${endPage} are provided as images above.]` : `${prompt}
|
|
1708
1754
|
|
|
1709
1755
|
[Document pages ${startPage}-${endPage} are provided as a PDF file above.]`;
|
|
1756
|
+
const strictSchema = toStrictSchema(schema);
|
|
1710
1757
|
const result = await withRetry(
|
|
1711
1758
|
() => generateObject({
|
|
1712
1759
|
prompt: fullPrompt,
|
|
1713
|
-
schema,
|
|
1760
|
+
schema: strictSchema,
|
|
1714
1761
|
maxTokens,
|
|
1715
1762
|
providerOptions
|
|
1716
1763
|
})
|
|
@@ -2789,11 +2836,11 @@ function getTemplate(policyType) {
|
|
|
2789
2836
|
}
|
|
2790
2837
|
|
|
2791
2838
|
// src/prompts/coordinator/classify.ts
|
|
2792
|
-
var
|
|
2793
|
-
var ClassifyResultSchema =
|
|
2794
|
-
documentType:
|
|
2795
|
-
policyTypes:
|
|
2796
|
-
confidence:
|
|
2839
|
+
var import_zod18 = require("zod");
|
|
2840
|
+
var ClassifyResultSchema = import_zod18.z.object({
|
|
2841
|
+
documentType: import_zod18.z.enum(["policy", "quote"]),
|
|
2842
|
+
policyTypes: import_zod18.z.array(PolicyTypeSchema),
|
|
2843
|
+
confidence: import_zod18.z.number()
|
|
2797
2844
|
});
|
|
2798
2845
|
function buildClassifyPrompt() {
|
|
2799
2846
|
return `You are classifying an insurance document. Examine the first few pages and determine:
|
|
@@ -2817,20 +2864,20 @@ Respond with JSON only.`;
|
|
|
2817
2864
|
}
|
|
2818
2865
|
|
|
2819
2866
|
// src/prompts/coordinator/plan.ts
|
|
2820
|
-
var
|
|
2821
|
-
var ExtractionTaskSchema =
|
|
2822
|
-
extractorName:
|
|
2823
|
-
startPage:
|
|
2824
|
-
endPage:
|
|
2825
|
-
description:
|
|
2867
|
+
var import_zod19 = require("zod");
|
|
2868
|
+
var ExtractionTaskSchema = import_zod19.z.object({
|
|
2869
|
+
extractorName: import_zod19.z.string(),
|
|
2870
|
+
startPage: import_zod19.z.number(),
|
|
2871
|
+
endPage: import_zod19.z.number(),
|
|
2872
|
+
description: import_zod19.z.string()
|
|
2826
2873
|
});
|
|
2827
|
-
var PageMapEntrySchema =
|
|
2828
|
-
section:
|
|
2829
|
-
pages:
|
|
2874
|
+
var PageMapEntrySchema = import_zod19.z.object({
|
|
2875
|
+
section: import_zod19.z.string(),
|
|
2876
|
+
pages: import_zod19.z.string()
|
|
2830
2877
|
});
|
|
2831
|
-
var ExtractionPlanSchema =
|
|
2832
|
-
tasks:
|
|
2833
|
-
pageMap:
|
|
2878
|
+
var ExtractionPlanSchema = import_zod19.z.object({
|
|
2879
|
+
tasks: import_zod19.z.array(ExtractionTaskSchema),
|
|
2880
|
+
pageMap: import_zod19.z.array(PageMapEntrySchema).optional()
|
|
2834
2881
|
});
|
|
2835
2882
|
function buildPlanPrompt(templateHints) {
|
|
2836
2883
|
return `You are planning the extraction of an insurance document. You have already classified this document. Now scan the full document and create a page map + extraction plan.
|
|
@@ -2871,15 +2918,15 @@ Respond with JSON only.`;
|
|
|
2871
2918
|
}
|
|
2872
2919
|
|
|
2873
2920
|
// src/prompts/coordinator/review.ts
|
|
2874
|
-
var
|
|
2875
|
-
var ReviewResultSchema =
|
|
2876
|
-
complete:
|
|
2877
|
-
missingFields:
|
|
2878
|
-
additionalTasks:
|
|
2879
|
-
extractorName:
|
|
2880
|
-
startPage:
|
|
2881
|
-
endPage:
|
|
2882
|
-
description:
|
|
2921
|
+
var import_zod20 = require("zod");
|
|
2922
|
+
var ReviewResultSchema = import_zod20.z.object({
|
|
2923
|
+
complete: import_zod20.z.boolean(),
|
|
2924
|
+
missingFields: import_zod20.z.array(import_zod20.z.string()),
|
|
2925
|
+
additionalTasks: import_zod20.z.array(import_zod20.z.object({
|
|
2926
|
+
extractorName: import_zod20.z.string(),
|
|
2927
|
+
startPage: import_zod20.z.number(),
|
|
2928
|
+
endPage: import_zod20.z.number(),
|
|
2929
|
+
description: import_zod20.z.string()
|
|
2883
2930
|
}))
|
|
2884
2931
|
});
|
|
2885
2932
|
function buildReviewPrompt(templateExpected, extractedKeys) {
|
|
@@ -2911,20 +2958,20 @@ Respond with JSON only.`;
|
|
|
2911
2958
|
}
|
|
2912
2959
|
|
|
2913
2960
|
// src/prompts/extractors/carrier-info.ts
|
|
2914
|
-
var
|
|
2915
|
-
var CarrierInfoSchema =
|
|
2916
|
-
carrierName:
|
|
2917
|
-
carrierLegalName:
|
|
2918
|
-
naicNumber:
|
|
2919
|
-
amBestRating:
|
|
2920
|
-
admittedStatus:
|
|
2921
|
-
mga:
|
|
2922
|
-
underwriter:
|
|
2923
|
-
policyNumber:
|
|
2924
|
-
effectiveDate:
|
|
2925
|
-
expirationDate:
|
|
2926
|
-
quoteNumber:
|
|
2927
|
-
proposedEffectiveDate:
|
|
2961
|
+
var import_zod21 = require("zod");
|
|
2962
|
+
var CarrierInfoSchema = import_zod21.z.object({
|
|
2963
|
+
carrierName: import_zod21.z.string().describe("Primary insurance company name for display"),
|
|
2964
|
+
carrierLegalName: import_zod21.z.string().optional().describe("Legal entity name of insurer"),
|
|
2965
|
+
naicNumber: import_zod21.z.string().optional().describe("NAIC company code"),
|
|
2966
|
+
amBestRating: import_zod21.z.string().optional().describe("AM Best rating, e.g. 'A+ XV'"),
|
|
2967
|
+
admittedStatus: import_zod21.z.enum(["admitted", "non_admitted", "surplus_lines"]).optional().describe("Admitted status of the carrier"),
|
|
2968
|
+
mga: import_zod21.z.string().optional().describe("Managing General Agent or Program Administrator name"),
|
|
2969
|
+
underwriter: import_zod21.z.string().optional().describe("Named individual underwriter"),
|
|
2970
|
+
policyNumber: import_zod21.z.string().optional().describe("Policy or quote reference number"),
|
|
2971
|
+
effectiveDate: import_zod21.z.string().optional().describe("Policy effective date (MM/DD/YYYY)"),
|
|
2972
|
+
expirationDate: import_zod21.z.string().optional().describe("Policy expiration date (MM/DD/YYYY)"),
|
|
2973
|
+
quoteNumber: import_zod21.z.string().optional().describe("Quote or proposal reference number"),
|
|
2974
|
+
proposedEffectiveDate: import_zod21.z.string().optional().describe("Proposed effective date for quotes (MM/DD/YYYY)")
|
|
2928
2975
|
});
|
|
2929
2976
|
function buildCarrierInfoPrompt() {
|
|
2930
2977
|
return `You are an expert insurance document analyst. Extract carrier and policy identification information from this document.
|
|
@@ -2944,18 +2991,18 @@ Return JSON only.`;
|
|
|
2944
2991
|
}
|
|
2945
2992
|
|
|
2946
2993
|
// src/prompts/extractors/named-insured.ts
|
|
2947
|
-
var
|
|
2948
|
-
var AddressSchema2 =
|
|
2949
|
-
street1:
|
|
2950
|
-
city:
|
|
2951
|
-
state:
|
|
2952
|
-
zip:
|
|
2994
|
+
var import_zod22 = require("zod");
|
|
2995
|
+
var AddressSchema2 = import_zod22.z.object({
|
|
2996
|
+
street1: import_zod22.z.string(),
|
|
2997
|
+
city: import_zod22.z.string(),
|
|
2998
|
+
state: import_zod22.z.string(),
|
|
2999
|
+
zip: import_zod22.z.string()
|
|
2953
3000
|
});
|
|
2954
|
-
var NamedInsuredSchema2 =
|
|
2955
|
-
insuredName:
|
|
2956
|
-
insuredDba:
|
|
3001
|
+
var NamedInsuredSchema2 = import_zod22.z.object({
|
|
3002
|
+
insuredName: import_zod22.z.string().describe("Name of primary named insured"),
|
|
3003
|
+
insuredDba: import_zod22.z.string().optional().describe("Doing-business-as name"),
|
|
2957
3004
|
insuredAddress: AddressSchema2.optional().describe("Primary insured mailing address"),
|
|
2958
|
-
insuredEntityType:
|
|
3005
|
+
insuredEntityType: import_zod22.z.enum([
|
|
2959
3006
|
"corporation",
|
|
2960
3007
|
"llc",
|
|
2961
3008
|
"partnership",
|
|
@@ -2968,13 +3015,13 @@ var NamedInsuredSchema2 = import_zod21.z.object({
|
|
|
2968
3015
|
"married_couple",
|
|
2969
3016
|
"other"
|
|
2970
3017
|
]).optional().describe("Legal entity type of the insured"),
|
|
2971
|
-
insuredFein:
|
|
2972
|
-
insuredSicCode:
|
|
2973
|
-
insuredNaicsCode:
|
|
2974
|
-
additionalNamedInsureds:
|
|
2975
|
-
|
|
2976
|
-
name:
|
|
2977
|
-
relationship:
|
|
3018
|
+
insuredFein: import_zod22.z.string().optional().describe("Federal Employer Identification Number"),
|
|
3019
|
+
insuredSicCode: import_zod22.z.string().optional().describe("SIC code"),
|
|
3020
|
+
insuredNaicsCode: import_zod22.z.string().optional().describe("NAICS code"),
|
|
3021
|
+
additionalNamedInsureds: import_zod22.z.array(
|
|
3022
|
+
import_zod22.z.object({
|
|
3023
|
+
name: import_zod22.z.string(),
|
|
3024
|
+
relationship: import_zod22.z.string().optional().describe("e.g. subsidiary, affiliate"),
|
|
2978
3025
|
address: AddressSchema2.optional()
|
|
2979
3026
|
})
|
|
2980
3027
|
).optional().describe("Additional named insureds listed on the policy")
|
|
@@ -2995,19 +3042,19 @@ Return JSON only.`;
|
|
|
2995
3042
|
}
|
|
2996
3043
|
|
|
2997
3044
|
// src/prompts/extractors/coverage-limits.ts
|
|
2998
|
-
var
|
|
2999
|
-
var CoverageLimitsSchema =
|
|
3000
|
-
coverages:
|
|
3001
|
-
|
|
3002
|
-
name:
|
|
3003
|
-
limit:
|
|
3004
|
-
deductible:
|
|
3005
|
-
coverageCode:
|
|
3006
|
-
formNumber:
|
|
3045
|
+
var import_zod23 = require("zod");
|
|
3046
|
+
var CoverageLimitsSchema = import_zod23.z.object({
|
|
3047
|
+
coverages: import_zod23.z.array(
|
|
3048
|
+
import_zod23.z.object({
|
|
3049
|
+
name: import_zod23.z.string().describe("Coverage name"),
|
|
3050
|
+
limit: import_zod23.z.string().describe("Coverage limit, e.g. '$1,000,000'"),
|
|
3051
|
+
deductible: import_zod23.z.string().optional().describe("Deductible amount"),
|
|
3052
|
+
coverageCode: import_zod23.z.string().optional().describe("Coverage code or class code"),
|
|
3053
|
+
formNumber: import_zod23.z.string().optional().describe("Associated form number, e.g. 'CG 00 01'")
|
|
3007
3054
|
})
|
|
3008
3055
|
).describe("All coverages with their limits"),
|
|
3009
|
-
coverageForm:
|
|
3010
|
-
retroactiveDate:
|
|
3056
|
+
coverageForm: import_zod23.z.enum(["occurrence", "claims_made", "accident"]).optional().describe("Primary coverage trigger type"),
|
|
3057
|
+
retroactiveDate: import_zod23.z.string().optional().describe("Retroactive date for claims-made policies (MM/DD/YYYY)")
|
|
3011
3058
|
});
|
|
3012
3059
|
function buildCoverageLimitsPrompt() {
|
|
3013
3060
|
return `You are an expert insurance document analyst. Extract all coverage limits and deductibles from this document.
|
|
@@ -3028,17 +3075,17 @@ Return JSON only.`;
|
|
|
3028
3075
|
}
|
|
3029
3076
|
|
|
3030
3077
|
// src/prompts/extractors/endorsements.ts
|
|
3031
|
-
var
|
|
3032
|
-
var EndorsementsSchema =
|
|
3033
|
-
endorsements:
|
|
3034
|
-
|
|
3035
|
-
formNumber:
|
|
3036
|
-
title:
|
|
3037
|
-
type:
|
|
3038
|
-
content:
|
|
3039
|
-
effectiveDate:
|
|
3040
|
-
premium:
|
|
3041
|
-
parties:
|
|
3078
|
+
var import_zod24 = require("zod");
|
|
3079
|
+
var EndorsementsSchema = import_zod24.z.object({
|
|
3080
|
+
endorsements: import_zod24.z.array(
|
|
3081
|
+
import_zod24.z.object({
|
|
3082
|
+
formNumber: import_zod24.z.string().optional().describe("Form number, e.g. 'CG 21 47'"),
|
|
3083
|
+
title: import_zod24.z.string().optional().describe("Endorsement title"),
|
|
3084
|
+
type: import_zod24.z.enum(["broadening", "restrictive", "informational"]).optional().describe("Effect type: broadening adds coverage, restrictive limits it"),
|
|
3085
|
+
content: import_zod24.z.string().optional().describe("Full verbatim text of the endorsement"),
|
|
3086
|
+
effectiveDate: import_zod24.z.string().optional().describe("Endorsement effective date"),
|
|
3087
|
+
premium: import_zod24.z.string().optional().describe("Additional premium or credit"),
|
|
3088
|
+
parties: import_zod24.z.array(import_zod24.z.string()).optional().describe("Named parties (additional insureds, loss payees, etc.)")
|
|
3042
3089
|
})
|
|
3043
3090
|
).describe("All endorsements found in the document")
|
|
3044
3091
|
});
|
|
@@ -3064,14 +3111,14 @@ Return JSON only.`;
|
|
|
3064
3111
|
}
|
|
3065
3112
|
|
|
3066
3113
|
// src/prompts/extractors/exclusions.ts
|
|
3067
|
-
var
|
|
3068
|
-
var ExclusionsSchema =
|
|
3069
|
-
exclusions:
|
|
3070
|
-
|
|
3071
|
-
title:
|
|
3072
|
-
content:
|
|
3073
|
-
formNumber:
|
|
3074
|
-
appliesTo:
|
|
3114
|
+
var import_zod25 = require("zod");
|
|
3115
|
+
var ExclusionsSchema = import_zod25.z.object({
|
|
3116
|
+
exclusions: import_zod25.z.array(
|
|
3117
|
+
import_zod25.z.object({
|
|
3118
|
+
title: import_zod25.z.string().describe("Exclusion title or short description"),
|
|
3119
|
+
content: import_zod25.z.string().optional().describe("Full verbatim exclusion text"),
|
|
3120
|
+
formNumber: import_zod25.z.string().optional().describe("Form number if part of a named endorsement"),
|
|
3121
|
+
appliesTo: import_zod25.z.string().optional().describe("Coverage type this exclusion applies to")
|
|
3075
3122
|
})
|
|
3076
3123
|
).describe("All exclusions found in the document")
|
|
3077
3124
|
});
|
|
@@ -3092,11 +3139,11 @@ Return JSON only.`;
|
|
|
3092
3139
|
}
|
|
3093
3140
|
|
|
3094
3141
|
// src/prompts/extractors/conditions.ts
|
|
3095
|
-
var
|
|
3096
|
-
var ConditionsSchema =
|
|
3097
|
-
conditions:
|
|
3098
|
-
|
|
3099
|
-
type:
|
|
3142
|
+
var import_zod26 = require("zod");
|
|
3143
|
+
var ConditionsSchema = import_zod26.z.object({
|
|
3144
|
+
conditions: import_zod26.z.array(
|
|
3145
|
+
import_zod26.z.object({
|
|
3146
|
+
type: import_zod26.z.enum([
|
|
3100
3147
|
"duties_after_loss",
|
|
3101
3148
|
"cooperation",
|
|
3102
3149
|
"cancellation",
|
|
@@ -3110,9 +3157,9 @@ var ConditionsSchema = import_zod25.z.object({
|
|
|
3110
3157
|
"liberalization",
|
|
3111
3158
|
"other"
|
|
3112
3159
|
]).optional().describe("Condition category"),
|
|
3113
|
-
title:
|
|
3114
|
-
content:
|
|
3115
|
-
noticeDays:
|
|
3160
|
+
title: import_zod26.z.string().describe("Condition title"),
|
|
3161
|
+
content: import_zod26.z.string().optional().describe("Full verbatim condition text"),
|
|
3162
|
+
noticeDays: import_zod26.z.number().optional().describe("Notice period in days if specified (e.g. cancellation notice)")
|
|
3116
3163
|
})
|
|
3117
3164
|
).describe("All policy conditions found in the document")
|
|
3118
3165
|
});
|
|
@@ -3137,28 +3184,28 @@ Return JSON only.`;
|
|
|
3137
3184
|
}
|
|
3138
3185
|
|
|
3139
3186
|
// src/prompts/extractors/premium-breakdown.ts
|
|
3140
|
-
var
|
|
3141
|
-
var PremiumBreakdownSchema =
|
|
3142
|
-
premium:
|
|
3143
|
-
totalCost:
|
|
3144
|
-
premiumBreakdown:
|
|
3145
|
-
|
|
3146
|
-
line:
|
|
3147
|
-
amount:
|
|
3187
|
+
var import_zod27 = require("zod");
|
|
3188
|
+
var PremiumBreakdownSchema = import_zod27.z.object({
|
|
3189
|
+
premium: import_zod27.z.string().optional().describe("Total premium amount, e.g. '$5,000'"),
|
|
3190
|
+
totalCost: import_zod27.z.string().optional().describe("Total cost including taxes and fees, e.g. '$5,250'"),
|
|
3191
|
+
premiumBreakdown: import_zod27.z.array(
|
|
3192
|
+
import_zod27.z.object({
|
|
3193
|
+
line: import_zod27.z.string().describe("Coverage line name"),
|
|
3194
|
+
amount: import_zod27.z.string().describe("Premium amount for this line")
|
|
3148
3195
|
})
|
|
3149
3196
|
).optional().describe("Per-coverage-line premium breakdown"),
|
|
3150
|
-
taxesAndFees:
|
|
3151
|
-
|
|
3152
|
-
name:
|
|
3153
|
-
amount:
|
|
3154
|
-
type:
|
|
3197
|
+
taxesAndFees: import_zod27.z.array(
|
|
3198
|
+
import_zod27.z.object({
|
|
3199
|
+
name: import_zod27.z.string().describe("Fee or tax name"),
|
|
3200
|
+
amount: import_zod27.z.string().describe("Dollar amount"),
|
|
3201
|
+
type: import_zod27.z.enum(["tax", "fee", "surcharge", "assessment"]).optional().describe("Fee category")
|
|
3155
3202
|
})
|
|
3156
3203
|
).optional().describe("Taxes, fees, surcharges, and assessments"),
|
|
3157
|
-
minimumPremium:
|
|
3158
|
-
depositPremium:
|
|
3159
|
-
paymentPlan:
|
|
3160
|
-
auditType:
|
|
3161
|
-
ratingBasis:
|
|
3204
|
+
minimumPremium: import_zod27.z.string().optional().describe("Minimum premium if stated"),
|
|
3205
|
+
depositPremium: import_zod27.z.string().optional().describe("Deposit premium if stated"),
|
|
3206
|
+
paymentPlan: import_zod27.z.string().optional().describe("Payment plan description"),
|
|
3207
|
+
auditType: import_zod27.z.enum(["annual", "semi_annual", "quarterly", "monthly", "final", "self"]).optional().describe("Premium audit type"),
|
|
3208
|
+
ratingBasis: import_zod27.z.string().optional().describe("Rating basis, e.g. payroll, revenue, area, units")
|
|
3162
3209
|
});
|
|
3163
3210
|
function buildPremiumBreakdownPrompt() {
|
|
3164
3211
|
return `You are an expert insurance document analyst. Extract all premium and cost information from this document.
|
|
@@ -3178,14 +3225,14 @@ Return JSON only.`;
|
|
|
3178
3225
|
}
|
|
3179
3226
|
|
|
3180
3227
|
// src/prompts/extractors/declarations.ts
|
|
3181
|
-
var
|
|
3182
|
-
var DeclarationsFieldSchema =
|
|
3183
|
-
field:
|
|
3184
|
-
value:
|
|
3185
|
-
section:
|
|
3228
|
+
var import_zod28 = require("zod");
|
|
3229
|
+
var DeclarationsFieldSchema = import_zod28.z.object({
|
|
3230
|
+
field: import_zod28.z.string().describe("Descriptive field name (e.g. 'policyNumber', 'effectiveDate', 'coverageALimit')"),
|
|
3231
|
+
value: import_zod28.z.string().describe("Extracted value exactly as it appears in the document"),
|
|
3232
|
+
section: import_zod28.z.string().optional().describe("Section or grouping this field belongs to (e.g. 'Coverage Limits', 'Vehicle Schedule')")
|
|
3186
3233
|
});
|
|
3187
|
-
var DeclarationsExtractSchema =
|
|
3188
|
-
fields:
|
|
3234
|
+
var DeclarationsExtractSchema = import_zod28.z.object({
|
|
3235
|
+
fields: import_zod28.z.array(DeclarationsFieldSchema).describe("All declarations page fields extracted as key-value pairs. Structure varies by line of business.")
|
|
3189
3236
|
});
|
|
3190
3237
|
function buildDeclarationsPrompt() {
|
|
3191
3238
|
return `You are an expert insurance document analyst. Extract all declarations page data from this document into a flexible key-value structure.
|
|
@@ -3225,21 +3272,21 @@ Preserve original values exactly as they appear. Return JSON only.`;
|
|
|
3225
3272
|
}
|
|
3226
3273
|
|
|
3227
3274
|
// src/prompts/extractors/loss-history.ts
|
|
3228
|
-
var
|
|
3229
|
-
var LossHistorySchema =
|
|
3230
|
-
lossSummary:
|
|
3231
|
-
individualClaims:
|
|
3232
|
-
|
|
3233
|
-
date:
|
|
3234
|
-
type:
|
|
3235
|
-
description:
|
|
3236
|
-
amountPaid:
|
|
3237
|
-
amountReserved:
|
|
3238
|
-
status:
|
|
3239
|
-
claimNumber:
|
|
3275
|
+
var import_zod29 = require("zod");
|
|
3276
|
+
var LossHistorySchema = import_zod29.z.object({
|
|
3277
|
+
lossSummary: import_zod29.z.string().optional().describe("Summary of loss history, e.g. '3 claims in past 5 years totaling $125,000'"),
|
|
3278
|
+
individualClaims: import_zod29.z.array(
|
|
3279
|
+
import_zod29.z.object({
|
|
3280
|
+
date: import_zod29.z.string().optional().describe("Date of loss or claim"),
|
|
3281
|
+
type: import_zod29.z.string().optional().describe("Type of claim, e.g. 'property damage', 'bodily injury'"),
|
|
3282
|
+
description: import_zod29.z.string().optional().describe("Brief description of the claim"),
|
|
3283
|
+
amountPaid: import_zod29.z.string().optional().describe("Amount paid"),
|
|
3284
|
+
amountReserved: import_zod29.z.string().optional().describe("Amount reserved"),
|
|
3285
|
+
status: import_zod29.z.enum(["open", "closed", "reopened"]).optional().describe("Claim status"),
|
|
3286
|
+
claimNumber: import_zod29.z.string().optional().describe("Claim reference number")
|
|
3240
3287
|
})
|
|
3241
3288
|
).optional().describe("Individual claim records"),
|
|
3242
|
-
experienceMod:
|
|
3289
|
+
experienceMod: import_zod29.z.string().optional().describe("Experience modification factor for workers comp, e.g. '0.85'")
|
|
3243
3290
|
});
|
|
3244
3291
|
function buildLossHistoryPrompt() {
|
|
3245
3292
|
return `You are an expert insurance document analyst. Extract all loss history and claims information from this document.
|
|
@@ -3256,18 +3303,18 @@ Return JSON only.`;
|
|
|
3256
3303
|
}
|
|
3257
3304
|
|
|
3258
3305
|
// src/prompts/extractors/sections.ts
|
|
3259
|
-
var
|
|
3260
|
-
var SubsectionSchema2 =
|
|
3261
|
-
title:
|
|
3262
|
-
sectionNumber:
|
|
3263
|
-
pageNumber:
|
|
3264
|
-
content:
|
|
3306
|
+
var import_zod30 = require("zod");
|
|
3307
|
+
var SubsectionSchema2 = import_zod30.z.object({
|
|
3308
|
+
title: import_zod30.z.string().describe("Subsection title"),
|
|
3309
|
+
sectionNumber: import_zod30.z.string().optional().describe("Subsection number"),
|
|
3310
|
+
pageNumber: import_zod30.z.number().optional().describe("Page number"),
|
|
3311
|
+
content: import_zod30.z.string().describe("Full verbatim text")
|
|
3265
3312
|
});
|
|
3266
|
-
var SectionsSchema =
|
|
3267
|
-
sections:
|
|
3268
|
-
|
|
3269
|
-
title:
|
|
3270
|
-
type:
|
|
3313
|
+
var SectionsSchema = import_zod30.z.object({
|
|
3314
|
+
sections: import_zod30.z.array(
|
|
3315
|
+
import_zod30.z.object({
|
|
3316
|
+
title: import_zod30.z.string().describe("Section title"),
|
|
3317
|
+
type: import_zod30.z.enum([
|
|
3271
3318
|
"declarations",
|
|
3272
3319
|
"insuring_agreement",
|
|
3273
3320
|
"policy_form",
|
|
@@ -3281,10 +3328,10 @@ var SectionsSchema = import_zod29.z.object({
|
|
|
3281
3328
|
"regulatory",
|
|
3282
3329
|
"other"
|
|
3283
3330
|
]).describe("Section type classification"),
|
|
3284
|
-
content:
|
|
3285
|
-
pageStart:
|
|
3286
|
-
pageEnd:
|
|
3287
|
-
subsections:
|
|
3331
|
+
content: import_zod30.z.string().describe("Full verbatim text of the section"),
|
|
3332
|
+
pageStart: import_zod30.z.number().describe("Starting page number"),
|
|
3333
|
+
pageEnd: import_zod30.z.number().optional().describe("Ending page number"),
|
|
3334
|
+
subsections: import_zod30.z.array(SubsectionSchema2).optional().describe("Subsections within this section")
|
|
3288
3335
|
})
|
|
3289
3336
|
).describe("All document sections")
|
|
3290
3337
|
});
|
|
@@ -3308,20 +3355,20 @@ Return JSON only.`;
|
|
|
3308
3355
|
}
|
|
3309
3356
|
|
|
3310
3357
|
// src/prompts/extractors/supplementary.ts
|
|
3311
|
-
var
|
|
3312
|
-
var ContactSchema2 =
|
|
3313
|
-
name:
|
|
3314
|
-
phone:
|
|
3315
|
-
email:
|
|
3316
|
-
address:
|
|
3317
|
-
type:
|
|
3358
|
+
var import_zod31 = require("zod");
|
|
3359
|
+
var ContactSchema2 = import_zod31.z.object({
|
|
3360
|
+
name: import_zod31.z.string().optional().describe("Organization or person name"),
|
|
3361
|
+
phone: import_zod31.z.string().optional().describe("Phone number"),
|
|
3362
|
+
email: import_zod31.z.string().optional().describe("Email address"),
|
|
3363
|
+
address: import_zod31.z.string().optional().describe("Mailing address"),
|
|
3364
|
+
type: import_zod31.z.string().optional().describe("Contact type, e.g. 'State Department of Insurance'")
|
|
3318
3365
|
});
|
|
3319
|
-
var SupplementarySchema =
|
|
3320
|
-
regulatoryContacts:
|
|
3321
|
-
claimsContacts:
|
|
3322
|
-
thirdPartyAdministrators:
|
|
3323
|
-
cancellationNoticeDays:
|
|
3324
|
-
nonrenewalNoticeDays:
|
|
3366
|
+
var SupplementarySchema = import_zod31.z.object({
|
|
3367
|
+
regulatoryContacts: import_zod31.z.array(ContactSchema2).optional().describe("Regulatory body contacts (state department of insurance, ombudsman)"),
|
|
3368
|
+
claimsContacts: import_zod31.z.array(ContactSchema2).optional().describe("Claims reporting contacts and instructions"),
|
|
3369
|
+
thirdPartyAdministrators: import_zod31.z.array(ContactSchema2).optional().describe("Third-party administrators for claims handling"),
|
|
3370
|
+
cancellationNoticeDays: import_zod31.z.number().optional().describe("Required notice period for cancellation in days"),
|
|
3371
|
+
nonrenewalNoticeDays: import_zod31.z.number().optional().describe("Required notice period for nonrenewal in days")
|
|
3325
3372
|
});
|
|
3326
3373
|
function buildSupplementaryPrompt() {
|
|
3327
3374
|
return `You are an expert insurance document analyst. Extract supplementary and regulatory information from this document.
|
|
@@ -3823,8 +3870,8 @@ Respond with JSON only:
|
|
|
3823
3870
|
}`;
|
|
3824
3871
|
|
|
3825
3872
|
// src/schemas/application.ts
|
|
3826
|
-
var
|
|
3827
|
-
var FieldTypeSchema =
|
|
3873
|
+
var import_zod32 = require("zod");
|
|
3874
|
+
var FieldTypeSchema = import_zod32.z.enum([
|
|
3828
3875
|
"text",
|
|
3829
3876
|
"numeric",
|
|
3830
3877
|
"currency",
|
|
@@ -3833,100 +3880,100 @@ var FieldTypeSchema = import_zod31.z.enum([
|
|
|
3833
3880
|
"table",
|
|
3834
3881
|
"declaration"
|
|
3835
3882
|
]);
|
|
3836
|
-
var ApplicationFieldSchema =
|
|
3837
|
-
id:
|
|
3838
|
-
label:
|
|
3839
|
-
section:
|
|
3883
|
+
var ApplicationFieldSchema = import_zod32.z.object({
|
|
3884
|
+
id: import_zod32.z.string(),
|
|
3885
|
+
label: import_zod32.z.string(),
|
|
3886
|
+
section: import_zod32.z.string(),
|
|
3840
3887
|
fieldType: FieldTypeSchema,
|
|
3841
|
-
required:
|
|
3842
|
-
options:
|
|
3843
|
-
columns:
|
|
3844
|
-
requiresExplanationIfYes:
|
|
3845
|
-
condition:
|
|
3846
|
-
dependsOn:
|
|
3847
|
-
whenValue:
|
|
3888
|
+
required: import_zod32.z.boolean(),
|
|
3889
|
+
options: import_zod32.z.array(import_zod32.z.string()).optional(),
|
|
3890
|
+
columns: import_zod32.z.array(import_zod32.z.string()).optional(),
|
|
3891
|
+
requiresExplanationIfYes: import_zod32.z.boolean().optional(),
|
|
3892
|
+
condition: import_zod32.z.object({
|
|
3893
|
+
dependsOn: import_zod32.z.string(),
|
|
3894
|
+
whenValue: import_zod32.z.string()
|
|
3848
3895
|
}).optional(),
|
|
3849
|
-
value:
|
|
3850
|
-
source:
|
|
3851
|
-
confidence:
|
|
3896
|
+
value: import_zod32.z.string().optional(),
|
|
3897
|
+
source: import_zod32.z.string().optional().describe("Where the value came from: auto-fill, user, lookup"),
|
|
3898
|
+
confidence: import_zod32.z.enum(["confirmed", "high", "medium", "low"]).optional()
|
|
3852
3899
|
});
|
|
3853
|
-
var ApplicationClassifyResultSchema =
|
|
3854
|
-
isApplication:
|
|
3855
|
-
confidence:
|
|
3856
|
-
applicationType:
|
|
3900
|
+
var ApplicationClassifyResultSchema = import_zod32.z.object({
|
|
3901
|
+
isApplication: import_zod32.z.boolean(),
|
|
3902
|
+
confidence: import_zod32.z.number().min(0).max(1),
|
|
3903
|
+
applicationType: import_zod32.z.string().nullable()
|
|
3857
3904
|
});
|
|
3858
|
-
var FieldExtractionResultSchema =
|
|
3859
|
-
fields:
|
|
3905
|
+
var FieldExtractionResultSchema = import_zod32.z.object({
|
|
3906
|
+
fields: import_zod32.z.array(ApplicationFieldSchema)
|
|
3860
3907
|
});
|
|
3861
|
-
var AutoFillMatchSchema =
|
|
3862
|
-
fieldId:
|
|
3863
|
-
value:
|
|
3864
|
-
confidence:
|
|
3865
|
-
contextKey:
|
|
3908
|
+
var AutoFillMatchSchema = import_zod32.z.object({
|
|
3909
|
+
fieldId: import_zod32.z.string(),
|
|
3910
|
+
value: import_zod32.z.string(),
|
|
3911
|
+
confidence: import_zod32.z.enum(["confirmed"]),
|
|
3912
|
+
contextKey: import_zod32.z.string()
|
|
3866
3913
|
});
|
|
3867
|
-
var AutoFillResultSchema =
|
|
3868
|
-
matches:
|
|
3914
|
+
var AutoFillResultSchema = import_zod32.z.object({
|
|
3915
|
+
matches: import_zod32.z.array(AutoFillMatchSchema)
|
|
3869
3916
|
});
|
|
3870
|
-
var QuestionBatchResultSchema =
|
|
3871
|
-
batches:
|
|
3917
|
+
var QuestionBatchResultSchema = import_zod32.z.object({
|
|
3918
|
+
batches: import_zod32.z.array(import_zod32.z.array(import_zod32.z.string()).describe("Array of field IDs in this batch"))
|
|
3872
3919
|
});
|
|
3873
|
-
var LookupRequestSchema =
|
|
3874
|
-
type:
|
|
3875
|
-
description:
|
|
3876
|
-
url:
|
|
3877
|
-
targetFieldIds:
|
|
3920
|
+
var LookupRequestSchema = import_zod32.z.object({
|
|
3921
|
+
type: import_zod32.z.string().describe("Type of lookup: 'records', 'website', 'policy'"),
|
|
3922
|
+
description: import_zod32.z.string(),
|
|
3923
|
+
url: import_zod32.z.string().optional(),
|
|
3924
|
+
targetFieldIds: import_zod32.z.array(import_zod32.z.string())
|
|
3878
3925
|
});
|
|
3879
|
-
var ReplyIntentSchema =
|
|
3880
|
-
primaryIntent:
|
|
3881
|
-
hasAnswers:
|
|
3882
|
-
questionText:
|
|
3883
|
-
questionFieldIds:
|
|
3884
|
-
lookupRequests:
|
|
3926
|
+
var ReplyIntentSchema = import_zod32.z.object({
|
|
3927
|
+
primaryIntent: import_zod32.z.enum(["answers_only", "question", "lookup_request", "mixed"]),
|
|
3928
|
+
hasAnswers: import_zod32.z.boolean(),
|
|
3929
|
+
questionText: import_zod32.z.string().optional(),
|
|
3930
|
+
questionFieldIds: import_zod32.z.array(import_zod32.z.string()).optional(),
|
|
3931
|
+
lookupRequests: import_zod32.z.array(LookupRequestSchema).optional()
|
|
3885
3932
|
});
|
|
3886
|
-
var ParsedAnswerSchema =
|
|
3887
|
-
fieldId:
|
|
3888
|
-
value:
|
|
3889
|
-
explanation:
|
|
3933
|
+
var ParsedAnswerSchema = import_zod32.z.object({
|
|
3934
|
+
fieldId: import_zod32.z.string(),
|
|
3935
|
+
value: import_zod32.z.string(),
|
|
3936
|
+
explanation: import_zod32.z.string().optional()
|
|
3890
3937
|
});
|
|
3891
|
-
var AnswerParsingResultSchema =
|
|
3892
|
-
answers:
|
|
3893
|
-
unanswered:
|
|
3938
|
+
var AnswerParsingResultSchema = import_zod32.z.object({
|
|
3939
|
+
answers: import_zod32.z.array(ParsedAnswerSchema),
|
|
3940
|
+
unanswered: import_zod32.z.array(import_zod32.z.string()).describe("Field IDs that were not answered")
|
|
3894
3941
|
});
|
|
3895
|
-
var LookupFillSchema =
|
|
3896
|
-
fieldId:
|
|
3897
|
-
value:
|
|
3898
|
-
source:
|
|
3942
|
+
var LookupFillSchema = import_zod32.z.object({
|
|
3943
|
+
fieldId: import_zod32.z.string(),
|
|
3944
|
+
value: import_zod32.z.string(),
|
|
3945
|
+
source: import_zod32.z.string().describe("Specific citable reference, e.g. 'GL Policy #POL-12345 (Hartford)'")
|
|
3899
3946
|
});
|
|
3900
|
-
var LookupFillResultSchema =
|
|
3901
|
-
fills:
|
|
3902
|
-
unfillable:
|
|
3903
|
-
explanation:
|
|
3947
|
+
var LookupFillResultSchema = import_zod32.z.object({
|
|
3948
|
+
fills: import_zod32.z.array(LookupFillSchema),
|
|
3949
|
+
unfillable: import_zod32.z.array(import_zod32.z.string()),
|
|
3950
|
+
explanation: import_zod32.z.string().optional()
|
|
3904
3951
|
});
|
|
3905
|
-
var FlatPdfPlacementSchema =
|
|
3906
|
-
fieldId:
|
|
3907
|
-
page:
|
|
3908
|
-
x:
|
|
3909
|
-
y:
|
|
3910
|
-
text:
|
|
3911
|
-
fontSize:
|
|
3912
|
-
isCheckmark:
|
|
3952
|
+
var FlatPdfPlacementSchema = import_zod32.z.object({
|
|
3953
|
+
fieldId: import_zod32.z.string(),
|
|
3954
|
+
page: import_zod32.z.number(),
|
|
3955
|
+
x: import_zod32.z.number().describe("Percentage from left edge (0-100)"),
|
|
3956
|
+
y: import_zod32.z.number().describe("Percentage from top edge (0-100)"),
|
|
3957
|
+
text: import_zod32.z.string(),
|
|
3958
|
+
fontSize: import_zod32.z.number().optional(),
|
|
3959
|
+
isCheckmark: import_zod32.z.boolean().optional()
|
|
3913
3960
|
});
|
|
3914
|
-
var AcroFormMappingSchema =
|
|
3915
|
-
fieldId:
|
|
3916
|
-
acroFormName:
|
|
3917
|
-
value:
|
|
3961
|
+
var AcroFormMappingSchema = import_zod32.z.object({
|
|
3962
|
+
fieldId: import_zod32.z.string(),
|
|
3963
|
+
acroFormName: import_zod32.z.string(),
|
|
3964
|
+
value: import_zod32.z.string()
|
|
3918
3965
|
});
|
|
3919
|
-
var ApplicationStateSchema =
|
|
3920
|
-
id:
|
|
3921
|
-
pdfBase64:
|
|
3922
|
-
title:
|
|
3923
|
-
applicationType:
|
|
3924
|
-
fields:
|
|
3925
|
-
batches:
|
|
3926
|
-
currentBatchIndex:
|
|
3927
|
-
status:
|
|
3928
|
-
createdAt:
|
|
3929
|
-
updatedAt:
|
|
3966
|
+
var ApplicationStateSchema = import_zod32.z.object({
|
|
3967
|
+
id: import_zod32.z.string(),
|
|
3968
|
+
pdfBase64: import_zod32.z.string().optional().describe("Original PDF, omitted after extraction"),
|
|
3969
|
+
title: import_zod32.z.string().optional(),
|
|
3970
|
+
applicationType: import_zod32.z.string().nullable().optional(),
|
|
3971
|
+
fields: import_zod32.z.array(ApplicationFieldSchema),
|
|
3972
|
+
batches: import_zod32.z.array(import_zod32.z.array(import_zod32.z.string())).optional(),
|
|
3973
|
+
currentBatchIndex: import_zod32.z.number().default(0),
|
|
3974
|
+
status: import_zod32.z.enum(["classifying", "extracting", "auto_filling", "batching", "collecting", "confirming", "mapping", "complete"]),
|
|
3975
|
+
createdAt: import_zod32.z.number(),
|
|
3976
|
+
updatedAt: import_zod32.z.number()
|
|
3930
3977
|
});
|
|
3931
3978
|
|
|
3932
3979
|
// src/application/agents/classifier.ts
|
|
@@ -4954,73 +5001,73 @@ Respond with the final answer, deduplicated citations array, overall confidence
|
|
|
4954
5001
|
}
|
|
4955
5002
|
|
|
4956
5003
|
// src/schemas/query.ts
|
|
4957
|
-
var
|
|
4958
|
-
var QueryIntentSchema =
|
|
5004
|
+
var import_zod33 = require("zod");
|
|
5005
|
+
var QueryIntentSchema = import_zod33.z.enum([
|
|
4959
5006
|
"policy_question",
|
|
4960
5007
|
"coverage_comparison",
|
|
4961
5008
|
"document_search",
|
|
4962
5009
|
"claims_inquiry",
|
|
4963
5010
|
"general_knowledge"
|
|
4964
5011
|
]);
|
|
4965
|
-
var SubQuestionSchema =
|
|
4966
|
-
question:
|
|
5012
|
+
var SubQuestionSchema = import_zod33.z.object({
|
|
5013
|
+
question: import_zod33.z.string().describe("Atomic sub-question to retrieve and answer independently"),
|
|
4967
5014
|
intent: QueryIntentSchema,
|
|
4968
|
-
chunkTypes:
|
|
4969
|
-
documentFilters:
|
|
4970
|
-
type:
|
|
4971
|
-
carrier:
|
|
4972
|
-
insuredName:
|
|
4973
|
-
policyNumber:
|
|
4974
|
-
quoteNumber:
|
|
5015
|
+
chunkTypes: import_zod33.z.array(import_zod33.z.string()).optional().describe("Chunk types to filter retrieval (e.g. coverage, endorsement, declaration)"),
|
|
5016
|
+
documentFilters: import_zod33.z.object({
|
|
5017
|
+
type: import_zod33.z.enum(["policy", "quote"]).optional(),
|
|
5018
|
+
carrier: import_zod33.z.string().optional(),
|
|
5019
|
+
insuredName: import_zod33.z.string().optional(),
|
|
5020
|
+
policyNumber: import_zod33.z.string().optional(),
|
|
5021
|
+
quoteNumber: import_zod33.z.string().optional()
|
|
4975
5022
|
}).optional().describe("Structured filters to narrow document lookup")
|
|
4976
5023
|
});
|
|
4977
|
-
var QueryClassifyResultSchema =
|
|
5024
|
+
var QueryClassifyResultSchema = import_zod33.z.object({
|
|
4978
5025
|
intent: QueryIntentSchema,
|
|
4979
|
-
subQuestions:
|
|
4980
|
-
requiresDocumentLookup:
|
|
4981
|
-
requiresChunkSearch:
|
|
4982
|
-
requiresConversationHistory:
|
|
5026
|
+
subQuestions: import_zod33.z.array(SubQuestionSchema).min(1).describe("Decomposed atomic sub-questions"),
|
|
5027
|
+
requiresDocumentLookup: import_zod33.z.boolean().describe("Whether structured document lookup is needed"),
|
|
5028
|
+
requiresChunkSearch: import_zod33.z.boolean().describe("Whether semantic chunk search is needed"),
|
|
5029
|
+
requiresConversationHistory: import_zod33.z.boolean().describe("Whether conversation history is relevant")
|
|
4983
5030
|
});
|
|
4984
|
-
var EvidenceItemSchema =
|
|
4985
|
-
source:
|
|
4986
|
-
chunkId:
|
|
4987
|
-
documentId:
|
|
4988
|
-
turnId:
|
|
4989
|
-
text:
|
|
4990
|
-
relevance:
|
|
4991
|
-
metadata:
|
|
5031
|
+
var EvidenceItemSchema = import_zod33.z.object({
|
|
5032
|
+
source: import_zod33.z.enum(["chunk", "document", "conversation"]),
|
|
5033
|
+
chunkId: import_zod33.z.string().optional(),
|
|
5034
|
+
documentId: import_zod33.z.string().optional(),
|
|
5035
|
+
turnId: import_zod33.z.string().optional(),
|
|
5036
|
+
text: import_zod33.z.string().describe("Text excerpt from the source"),
|
|
5037
|
+
relevance: import_zod33.z.number().min(0).max(1),
|
|
5038
|
+
metadata: import_zod33.z.array(import_zod33.z.object({ key: import_zod33.z.string(), value: import_zod33.z.string() })).optional()
|
|
4992
5039
|
});
|
|
4993
|
-
var RetrievalResultSchema =
|
|
4994
|
-
subQuestion:
|
|
4995
|
-
evidence:
|
|
5040
|
+
var RetrievalResultSchema = import_zod33.z.object({
|
|
5041
|
+
subQuestion: import_zod33.z.string(),
|
|
5042
|
+
evidence: import_zod33.z.array(EvidenceItemSchema)
|
|
4996
5043
|
});
|
|
4997
|
-
var CitationSchema =
|
|
4998
|
-
index:
|
|
4999
|
-
chunkId:
|
|
5000
|
-
documentId:
|
|
5001
|
-
documentType:
|
|
5002
|
-
field:
|
|
5003
|
-
quote:
|
|
5004
|
-
relevance:
|
|
5044
|
+
var CitationSchema = import_zod33.z.object({
|
|
5045
|
+
index: import_zod33.z.number().describe("Citation number [1], [2], etc."),
|
|
5046
|
+
chunkId: import_zod33.z.string().describe("Source chunk ID, e.g. doc-123:coverage:2"),
|
|
5047
|
+
documentId: import_zod33.z.string(),
|
|
5048
|
+
documentType: import_zod33.z.enum(["policy", "quote"]).optional(),
|
|
5049
|
+
field: import_zod33.z.string().optional().describe("Specific field path, e.g. coverages[0].deductible"),
|
|
5050
|
+
quote: import_zod33.z.string().describe("Exact text from source that supports the claim"),
|
|
5051
|
+
relevance: import_zod33.z.number().min(0).max(1)
|
|
5005
5052
|
});
|
|
5006
|
-
var SubAnswerSchema =
|
|
5007
|
-
subQuestion:
|
|
5008
|
-
answer:
|
|
5009
|
-
citations:
|
|
5010
|
-
confidence:
|
|
5011
|
-
needsMoreContext:
|
|
5053
|
+
var SubAnswerSchema = import_zod33.z.object({
|
|
5054
|
+
subQuestion: import_zod33.z.string(),
|
|
5055
|
+
answer: import_zod33.z.string(),
|
|
5056
|
+
citations: import_zod33.z.array(CitationSchema),
|
|
5057
|
+
confidence: import_zod33.z.number().min(0).max(1),
|
|
5058
|
+
needsMoreContext: import_zod33.z.boolean().describe("True if evidence was insufficient to answer fully")
|
|
5012
5059
|
});
|
|
5013
|
-
var VerifyResultSchema =
|
|
5014
|
-
approved:
|
|
5015
|
-
issues:
|
|
5016
|
-
retrySubQuestions:
|
|
5060
|
+
var VerifyResultSchema = import_zod33.z.object({
|
|
5061
|
+
approved: import_zod33.z.boolean().describe("Whether all sub-answers are adequately grounded"),
|
|
5062
|
+
issues: import_zod33.z.array(import_zod33.z.string()).describe("Specific grounding or consistency issues found"),
|
|
5063
|
+
retrySubQuestions: import_zod33.z.array(import_zod33.z.string()).optional().describe("Sub-questions that need additional retrieval or re-reasoning")
|
|
5017
5064
|
});
|
|
5018
|
-
var QueryResultSchema =
|
|
5019
|
-
answer:
|
|
5020
|
-
citations:
|
|
5065
|
+
var QueryResultSchema = import_zod33.z.object({
|
|
5066
|
+
answer: import_zod33.z.string(),
|
|
5067
|
+
citations: import_zod33.z.array(CitationSchema),
|
|
5021
5068
|
intent: QueryIntentSchema,
|
|
5022
|
-
confidence:
|
|
5023
|
-
followUp:
|
|
5069
|
+
confidence: import_zod33.z.number().min(0).max(1),
|
|
5070
|
+
followUp: import_zod33.z.string().optional().describe("Suggested follow-up question if applicable")
|
|
5024
5071
|
});
|
|
5025
5072
|
|
|
5026
5073
|
// src/query/retriever.ts
|
|
@@ -5902,6 +5949,7 @@ var AGENT_TOOLS = [
|
|
|
5902
5949
|
safeGenerateObject,
|
|
5903
5950
|
sanitizeNulls,
|
|
5904
5951
|
stripFences,
|
|
5952
|
+
toStrictSchema,
|
|
5905
5953
|
withRetry
|
|
5906
5954
|
});
|
|
5907
5955
|
//# sourceMappingURL=index.js.map
|