@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/dist/index.mjs CHANGED
@@ -77,14 +77,59 @@ function sanitizeNulls(obj) {
77
77
  return obj;
78
78
  }
79
79
 
80
+ // src/core/strict-schema.ts
81
+ import { z } from "zod";
82
+ function toStrictSchema(schema) {
83
+ const def = schema._zod?.def;
84
+ const typeName = def?.type ?? schema.type;
85
+ if (typeName === "object") {
86
+ const shape = schema.shape;
87
+ if (!shape) return schema;
88
+ const newShape = {};
89
+ for (const [key, value] of Object.entries(shape)) {
90
+ const field = value;
91
+ const fieldDef = field._zod?.def;
92
+ const fieldType = fieldDef?.type ?? field.type;
93
+ if (fieldType === "optional") {
94
+ const innerType = fieldDef?.innerType;
95
+ if (innerType) {
96
+ const transformed = toStrictSchema(innerType);
97
+ newShape[key] = z.nullable(transformed);
98
+ } else {
99
+ newShape[key] = z.nullable(field);
100
+ }
101
+ } else {
102
+ newShape[key] = toStrictSchema(field);
103
+ }
104
+ }
105
+ return z.object(newShape);
106
+ }
107
+ if (typeName === "array") {
108
+ const element = def?.element ?? schema.element;
109
+ if (element) {
110
+ return z.array(toStrictSchema(element));
111
+ }
112
+ return schema;
113
+ }
114
+ if (typeName === "nullable") {
115
+ const innerType = def?.innerType;
116
+ if (innerType) {
117
+ return z.nullable(toStrictSchema(innerType));
118
+ }
119
+ return schema;
120
+ }
121
+ return schema;
122
+ }
123
+
80
124
  // src/core/safe-generate.ts
81
125
  async function safeGenerateObject(generateObject, params, options) {
82
126
  const maxRetries = options?.maxRetries ?? 1;
83
127
  let lastError;
128
+ const strictParams = { ...params, schema: toStrictSchema(params.schema) };
84
129
  for (let attempt = 0; attempt <= maxRetries; attempt++) {
85
130
  try {
86
131
  const result = await withRetry(
87
- () => generateObject(params),
132
+ () => generateObject(strictParams),
88
133
  options?.log
89
134
  );
90
135
  return result;
@@ -141,8 +186,8 @@ function createPipelineContext(opts) {
141
186
  }
142
187
 
143
188
  // src/schemas/enums.ts
144
- import { z } from "zod";
145
- var PolicyTypeSchema = z.enum([
189
+ import { z as z2 } from "zod";
190
+ var PolicyTypeSchema = z2.enum([
146
191
  // Commercial lines
147
192
  "general_liability",
148
193
  "commercial_property",
@@ -189,7 +234,7 @@ var PolicyTypeSchema = z.enum([
189
234
  "other"
190
235
  ]);
191
236
  var POLICY_TYPES = PolicyTypeSchema.options;
192
- var EndorsementTypeSchema = z.enum([
237
+ var EndorsementTypeSchema = z2.enum([
193
238
  "additional_insured",
194
239
  "waiver_of_subrogation",
195
240
  "primary_noncontributory",
@@ -210,7 +255,7 @@ var EndorsementTypeSchema = z.enum([
210
255
  "other"
211
256
  ]);
212
257
  var ENDORSEMENT_TYPES = EndorsementTypeSchema.options;
213
- var ConditionTypeSchema = z.enum([
258
+ var ConditionTypeSchema = z2.enum([
214
259
  "duties_after_loss",
215
260
  "notice_requirements",
216
261
  "other_insurance",
@@ -230,7 +275,7 @@ var ConditionTypeSchema = z.enum([
230
275
  "other"
231
276
  ]);
232
277
  var CONDITION_TYPES = ConditionTypeSchema.options;
233
- var PolicySectionTypeSchema = z.enum([
278
+ var PolicySectionTypeSchema = z2.enum([
234
279
  "declarations",
235
280
  "insuring_agreement",
236
281
  "policy_form",
@@ -245,7 +290,7 @@ var PolicySectionTypeSchema = z.enum([
245
290
  "other"
246
291
  ]);
247
292
  var POLICY_SECTION_TYPES = PolicySectionTypeSchema.options;
248
- var QuoteSectionTypeSchema = z.enum([
293
+ var QuoteSectionTypeSchema = z2.enum([
249
294
  "terms_summary",
250
295
  "premium_indication",
251
296
  "underwriting_condition",
@@ -255,13 +300,13 @@ var QuoteSectionTypeSchema = z.enum([
255
300
  "other"
256
301
  ]);
257
302
  var QUOTE_SECTION_TYPES = QuoteSectionTypeSchema.options;
258
- var CoverageFormSchema = z.enum(["occurrence", "claims_made", "accident"]);
303
+ var CoverageFormSchema = z2.enum(["occurrence", "claims_made", "accident"]);
259
304
  var COVERAGE_FORMS = CoverageFormSchema.options;
260
- var PolicyTermTypeSchema = z.enum(["fixed", "continuous"]);
305
+ var PolicyTermTypeSchema = z2.enum(["fixed", "continuous"]);
261
306
  var POLICY_TERM_TYPES = PolicyTermTypeSchema.options;
262
- var CoverageTriggerSchema = z.enum(["occurrence", "claims_made", "accident"]);
307
+ var CoverageTriggerSchema = z2.enum(["occurrence", "claims_made", "accident"]);
263
308
  var COVERAGE_TRIGGERS = CoverageTriggerSchema.options;
264
- var LimitTypeSchema = z.enum([
309
+ var LimitTypeSchema = z2.enum([
265
310
  "per_occurrence",
266
311
  "per_claim",
267
312
  "aggregate",
@@ -272,7 +317,7 @@ var LimitTypeSchema = z.enum([
272
317
  "scheduled"
273
318
  ]);
274
319
  var LIMIT_TYPES = LimitTypeSchema.options;
275
- var DeductibleTypeSchema = z.enum([
320
+ var DeductibleTypeSchema = z2.enum([
276
321
  "per_occurrence",
277
322
  "per_claim",
278
323
  "aggregate",
@@ -280,16 +325,16 @@ var DeductibleTypeSchema = z.enum([
280
325
  "waiting_period"
281
326
  ]);
282
327
  var DEDUCTIBLE_TYPES = DeductibleTypeSchema.options;
283
- var ValuationMethodSchema = z.enum([
328
+ var ValuationMethodSchema = z2.enum([
284
329
  "replacement_cost",
285
330
  "actual_cash_value",
286
331
  "agreed_value",
287
332
  "functional_replacement"
288
333
  ]);
289
334
  var VALUATION_METHODS = ValuationMethodSchema.options;
290
- var DefenseCostTreatmentSchema = z.enum(["inside_limits", "outside_limits", "supplementary"]);
335
+ var DefenseCostTreatmentSchema = z2.enum(["inside_limits", "outside_limits", "supplementary"]);
291
336
  var DEFENSE_COST_TREATMENTS = DefenseCostTreatmentSchema.options;
292
- var EntityTypeSchema = z.enum([
337
+ var EntityTypeSchema = z2.enum([
293
338
  "corporation",
294
339
  "llc",
295
340
  "partnership",
@@ -303,9 +348,9 @@ var EntityTypeSchema = z.enum([
303
348
  "other"
304
349
  ]);
305
350
  var ENTITY_TYPES = EntityTypeSchema.options;
306
- var AdmittedStatusSchema = z.enum(["admitted", "non_admitted", "surplus_lines"]);
351
+ var AdmittedStatusSchema = z2.enum(["admitted", "non_admitted", "surplus_lines"]);
307
352
  var ADMITTED_STATUSES = AdmittedStatusSchema.options;
308
- var AuditTypeSchema = z.enum([
353
+ var AuditTypeSchema = z2.enum([
309
354
  "annual",
310
355
  "semi_annual",
311
356
  "quarterly",
@@ -315,7 +360,7 @@ var AuditTypeSchema = z.enum([
315
360
  "none"
316
361
  ]);
317
362
  var AUDIT_TYPES = AuditTypeSchema.options;
318
- var EndorsementPartyRoleSchema = z.enum([
363
+ var EndorsementPartyRoleSchema = z2.enum([
319
364
  "additional_insured",
320
365
  "loss_payee",
321
366
  "mortgage_holder",
@@ -324,13 +369,13 @@ var EndorsementPartyRoleSchema = z.enum([
324
369
  "other"
325
370
  ]);
326
371
  var ENDORSEMENT_PARTY_ROLES = EndorsementPartyRoleSchema.options;
327
- var ClaimStatusSchema = z.enum(["open", "closed", "reopened"]);
372
+ var ClaimStatusSchema = z2.enum(["open", "closed", "reopened"]);
328
373
  var CLAIM_STATUSES = ClaimStatusSchema.options;
329
- var SubjectivityCategorySchema = z.enum(["pre_binding", "post_binding", "information"]);
374
+ var SubjectivityCategorySchema = z2.enum(["pre_binding", "post_binding", "information"]);
330
375
  var SUBJECTIVITY_CATEGORIES = SubjectivityCategorySchema.options;
331
- var DocumentTypeSchema = z.enum(["policy", "quote", "binder", "endorsement", "certificate"]);
376
+ var DocumentTypeSchema = z2.enum(["policy", "quote", "binder", "endorsement", "certificate"]);
332
377
  var DOCUMENT_TYPES = DocumentTypeSchema.options;
333
- var ChunkTypeSchema = z.enum([
378
+ var ChunkTypeSchema = z2.enum([
334
379
  "declarations",
335
380
  "coverage_form",
336
381
  "endorsement",
@@ -339,7 +384,7 @@ var ChunkTypeSchema = z.enum([
339
384
  "mixed"
340
385
  ]);
341
386
  var CHUNK_TYPES = ChunkTypeSchema.options;
342
- var RatingBasisTypeSchema = z.enum([
387
+ var RatingBasisTypeSchema = z2.enum([
343
388
  "payroll",
344
389
  "revenue",
345
390
  "area",
@@ -353,7 +398,7 @@ var RatingBasisTypeSchema = z.enum([
353
398
  "other"
354
399
  ]);
355
400
  var RATING_BASIS_TYPES = RatingBasisTypeSchema.options;
356
- var VehicleCoverageTypeSchema = z.enum([
401
+ var VehicleCoverageTypeSchema = z2.enum([
357
402
  "liability",
358
403
  "collision",
359
404
  "comprehensive",
@@ -366,32 +411,32 @@ var VehicleCoverageTypeSchema = z.enum([
366
411
  "physical_damage"
367
412
  ]);
368
413
  var VEHICLE_COVERAGE_TYPES = VehicleCoverageTypeSchema.options;
369
- var HomeownersFormTypeSchema = z.enum(["HO-3", "HO-5", "HO-4", "HO-6", "HO-7", "HO-8"]);
414
+ var HomeownersFormTypeSchema = z2.enum(["HO-3", "HO-5", "HO-4", "HO-6", "HO-7", "HO-8"]);
370
415
  var HOMEOWNERS_FORM_TYPES = HomeownersFormTypeSchema.options;
371
- var DwellingFireFormTypeSchema = z.enum(["DP-1", "DP-2", "DP-3"]);
416
+ var DwellingFireFormTypeSchema = z2.enum(["DP-1", "DP-2", "DP-3"]);
372
417
  var DWELLING_FIRE_FORM_TYPES = DwellingFireFormTypeSchema.options;
373
- var FloodZoneSchema = z.enum(["A", "AE", "AH", "AO", "AR", "V", "VE", "B", "C", "X", "D"]);
418
+ var FloodZoneSchema = z2.enum(["A", "AE", "AH", "AO", "AR", "V", "VE", "B", "C", "X", "D"]);
374
419
  var FLOOD_ZONES = FloodZoneSchema.options;
375
- var ConstructionTypeSchema = z.enum(["frame", "masonry", "superior", "mixed", "other"]);
420
+ var ConstructionTypeSchema = z2.enum(["frame", "masonry", "superior", "mixed", "other"]);
376
421
  var CONSTRUCTION_TYPES = ConstructionTypeSchema.options;
377
- var RoofTypeSchema = z.enum(["asphalt_shingle", "tile", "metal", "slate", "flat", "wood_shake", "other"]);
422
+ var RoofTypeSchema = z2.enum(["asphalt_shingle", "tile", "metal", "slate", "flat", "wood_shake", "other"]);
378
423
  var ROOF_TYPES = RoofTypeSchema.options;
379
- var FoundationTypeSchema = z.enum(["basement", "crawl_space", "slab", "pier", "other"]);
424
+ var FoundationTypeSchema = z2.enum(["basement", "crawl_space", "slab", "pier", "other"]);
380
425
  var FOUNDATION_TYPES = FoundationTypeSchema.options;
381
- var PersonalAutoUsageSchema = z.enum(["pleasure", "commute", "business", "farm"]);
426
+ var PersonalAutoUsageSchema = z2.enum(["pleasure", "commute", "business", "farm"]);
382
427
  var PERSONAL_AUTO_USAGES = PersonalAutoUsageSchema.options;
383
- var LossSettlementSchema = z.enum([
428
+ var LossSettlementSchema = z2.enum([
384
429
  "replacement_cost",
385
430
  "actual_cash_value",
386
431
  "extended_replacement_cost",
387
432
  "guaranteed_replacement_cost"
388
433
  ]);
389
434
  var LOSS_SETTLEMENTS = LossSettlementSchema.options;
390
- var BoatTypeSchema = z.enum(["sailboat", "powerboat", "pontoon", "jet_ski", "kayak_canoe", "yacht", "other"]);
435
+ var BoatTypeSchema = z2.enum(["sailboat", "powerboat", "pontoon", "jet_ski", "kayak_canoe", "yacht", "other"]);
391
436
  var BOAT_TYPES = BoatTypeSchema.options;
392
- var RVTypeSchema = z.enum(["rv_motorhome", "travel_trailer", "atv", "snowmobile", "golf_cart", "dirt_bike", "other"]);
437
+ var RVTypeSchema = z2.enum(["rv_motorhome", "travel_trailer", "atv", "snowmobile", "golf_cart", "dirt_bike", "other"]);
393
438
  var RV_TYPES = RVTypeSchema.options;
394
- var ScheduledItemCategorySchema = z.enum([
439
+ var ScheduledItemCategorySchema = z2.enum([
395
440
  "jewelry",
396
441
  "fine_art",
397
442
  "musical_instruments",
@@ -404,691 +449,691 @@ var ScheduledItemCategorySchema = z.enum([
404
449
  "other"
405
450
  ]);
406
451
  var SCHEDULED_ITEM_CATEGORIES = ScheduledItemCategorySchema.options;
407
- var TitlePolicyTypeSchema = z.enum(["owners", "lenders"]);
452
+ var TitlePolicyTypeSchema = z2.enum(["owners", "lenders"]);
408
453
  var TITLE_POLICY_TYPES = TitlePolicyTypeSchema.options;
409
- var PetSpeciesSchema = z.enum(["dog", "cat", "other"]);
454
+ var PetSpeciesSchema = z2.enum(["dog", "cat", "other"]);
410
455
  var PET_SPECIES = PetSpeciesSchema.options;
411
456
 
412
457
  // src/schemas/shared.ts
413
- import { z as z2 } from "zod";
414
- var AddressSchema = z2.object({
415
- street1: z2.string(),
416
- street2: z2.string().optional(),
417
- city: z2.string(),
418
- state: z2.string(),
419
- zip: z2.string(),
420
- country: z2.string().optional()
458
+ import { z as z3 } from "zod";
459
+ var AddressSchema = z3.object({
460
+ street1: z3.string(),
461
+ street2: z3.string().optional(),
462
+ city: z3.string(),
463
+ state: z3.string(),
464
+ zip: z3.string(),
465
+ country: z3.string().optional()
421
466
  });
422
- var ContactSchema = z2.object({
423
- name: z2.string().optional(),
424
- title: z2.string().optional(),
425
- type: z2.string().optional(),
426
- phone: z2.string().optional(),
427
- fax: z2.string().optional(),
428
- email: z2.string().optional(),
467
+ var ContactSchema = z3.object({
468
+ name: z3.string().optional(),
469
+ title: z3.string().optional(),
470
+ type: z3.string().optional(),
471
+ phone: z3.string().optional(),
472
+ fax: z3.string().optional(),
473
+ email: z3.string().optional(),
429
474
  address: AddressSchema.optional(),
430
- hours: z2.string().optional()
475
+ hours: z3.string().optional()
431
476
  });
432
- var FormReferenceSchema = z2.object({
433
- formNumber: z2.string(),
434
- editionDate: z2.string().optional(),
435
- title: z2.string().optional(),
436
- formType: z2.enum(["coverage", "endorsement", "declarations", "application", "notice", "other"])
477
+ var FormReferenceSchema = z3.object({
478
+ formNumber: z3.string(),
479
+ editionDate: z3.string().optional(),
480
+ title: z3.string().optional(),
481
+ formType: z3.enum(["coverage", "endorsement", "declarations", "application", "notice", "other"])
437
482
  });
438
- var TaxFeeItemSchema = z2.object({
439
- name: z2.string(),
440
- amount: z2.string(),
441
- type: z2.enum(["tax", "fee", "surcharge", "assessment"]).optional(),
442
- description: z2.string().optional()
483
+ var TaxFeeItemSchema = z3.object({
484
+ name: z3.string(),
485
+ amount: z3.string(),
486
+ type: z3.enum(["tax", "fee", "surcharge", "assessment"]).optional(),
487
+ description: z3.string().optional()
443
488
  });
444
- var RatingBasisSchema = z2.object({
489
+ var RatingBasisSchema = z3.object({
445
490
  type: RatingBasisTypeSchema,
446
- amount: z2.string().optional(),
447
- description: z2.string().optional()
491
+ amount: z3.string().optional(),
492
+ description: z3.string().optional()
448
493
  });
449
- var SublimitSchema = z2.object({
450
- name: z2.string(),
451
- limit: z2.string(),
452
- appliesTo: z2.string().optional(),
453
- deductible: z2.string().optional()
494
+ var SublimitSchema = z3.object({
495
+ name: z3.string(),
496
+ limit: z3.string(),
497
+ appliesTo: z3.string().optional(),
498
+ deductible: z3.string().optional()
454
499
  });
455
- var SharedLimitSchema = z2.object({
456
- description: z2.string(),
457
- limit: z2.string(),
458
- coverageParts: z2.array(z2.string())
500
+ var SharedLimitSchema = z3.object({
501
+ description: z3.string(),
502
+ limit: z3.string(),
503
+ coverageParts: z3.array(z3.string())
459
504
  });
460
- var ExtendedReportingPeriodSchema = z2.object({
461
- basicDays: z2.number().optional(),
462
- supplementalYears: z2.number().optional(),
463
- supplementalPremium: z2.string().optional()
505
+ var ExtendedReportingPeriodSchema = z3.object({
506
+ basicDays: z3.number().optional(),
507
+ supplementalYears: z3.number().optional(),
508
+ supplementalPremium: z3.string().optional()
464
509
  });
465
- var NamedInsuredSchema = z2.object({
466
- name: z2.string(),
467
- relationship: z2.string().optional(),
510
+ var NamedInsuredSchema = z3.object({
511
+ name: z3.string(),
512
+ relationship: z3.string().optional(),
468
513
  address: AddressSchema.optional()
469
514
  });
470
515
 
471
516
  // src/schemas/coverage.ts
472
- import { z as z3 } from "zod";
473
- var CoverageSchema = z3.object({
474
- name: z3.string(),
475
- limit: z3.string(),
476
- deductible: z3.string().optional(),
477
- pageNumber: z3.number().optional(),
478
- sectionRef: z3.string().optional()
517
+ import { z as z4 } from "zod";
518
+ var CoverageSchema = z4.object({
519
+ name: z4.string(),
520
+ limit: z4.string(),
521
+ deductible: z4.string().optional(),
522
+ pageNumber: z4.number().optional(),
523
+ sectionRef: z4.string().optional()
479
524
  });
480
- var EnrichedCoverageSchema = z3.object({
481
- name: z3.string(),
482
- coverageCode: z3.string().optional(),
483
- formNumber: z3.string().optional(),
484
- formEditionDate: z3.string().optional(),
485
- limit: z3.string(),
525
+ var EnrichedCoverageSchema = z4.object({
526
+ name: z4.string(),
527
+ coverageCode: z4.string().optional(),
528
+ formNumber: z4.string().optional(),
529
+ formEditionDate: z4.string().optional(),
530
+ limit: z4.string(),
486
531
  limitType: LimitTypeSchema.optional(),
487
- deductible: z3.string().optional(),
532
+ deductible: z4.string().optional(),
488
533
  deductibleType: DeductibleTypeSchema.optional(),
489
- sir: z3.string().optional(),
490
- sublimit: z3.string().optional(),
491
- coinsurance: z3.string().optional(),
534
+ sir: z4.string().optional(),
535
+ sublimit: z4.string().optional(),
536
+ coinsurance: z4.string().optional(),
492
537
  valuation: ValuationMethodSchema.optional(),
493
- territory: z3.string().optional(),
538
+ territory: z4.string().optional(),
494
539
  trigger: CoverageTriggerSchema.optional(),
495
- retroactiveDate: z3.string().optional(),
496
- included: z3.boolean(),
497
- premium: z3.string().optional(),
498
- pageNumber: z3.number().optional(),
499
- sectionRef: z3.string().optional()
540
+ retroactiveDate: z4.string().optional(),
541
+ included: z4.boolean(),
542
+ premium: z4.string().optional(),
543
+ pageNumber: z4.number().optional(),
544
+ sectionRef: z4.string().optional()
500
545
  });
501
546
 
502
547
  // src/schemas/endorsement.ts
503
- import { z as z4 } from "zod";
504
- var EndorsementPartySchema = z4.object({
505
- name: z4.string(),
548
+ import { z as z5 } from "zod";
549
+ var EndorsementPartySchema = z5.object({
550
+ name: z5.string(),
506
551
  role: EndorsementPartyRoleSchema,
507
552
  address: AddressSchema.optional(),
508
- relationship: z4.string().optional(),
509
- scope: z4.string().optional()
553
+ relationship: z5.string().optional(),
554
+ scope: z5.string().optional()
510
555
  });
511
- var EndorsementSchema = z4.object({
512
- formNumber: z4.string(),
513
- editionDate: z4.string().optional(),
514
- title: z4.string(),
556
+ var EndorsementSchema = z5.object({
557
+ formNumber: z5.string(),
558
+ editionDate: z5.string().optional(),
559
+ title: z5.string(),
515
560
  endorsementType: EndorsementTypeSchema,
516
- effectiveDate: z4.string().optional(),
517
- affectedCoverageParts: z4.array(z4.string()).optional(),
518
- namedParties: z4.array(EndorsementPartySchema).optional(),
519
- keyTerms: z4.array(z4.string()).optional(),
520
- premiumImpact: z4.string().optional(),
521
- content: z4.string(),
522
- pageStart: z4.number(),
523
- pageEnd: z4.number().optional()
561
+ effectiveDate: z5.string().optional(),
562
+ affectedCoverageParts: z5.array(z5.string()).optional(),
563
+ namedParties: z5.array(EndorsementPartySchema).optional(),
564
+ keyTerms: z5.array(z5.string()).optional(),
565
+ premiumImpact: z5.string().optional(),
566
+ content: z5.string(),
567
+ pageStart: z5.number(),
568
+ pageEnd: z5.number().optional()
524
569
  });
525
570
 
526
571
  // src/schemas/exclusion.ts
527
- import { z as z5 } from "zod";
528
- var ExclusionSchema = z5.object({
529
- name: z5.string(),
530
- formNumber: z5.string().optional(),
531
- excludedPerils: z5.array(z5.string()).optional(),
532
- isAbsolute: z5.boolean().optional(),
533
- exceptions: z5.array(z5.string()).optional(),
534
- buybackAvailable: z5.boolean().optional(),
535
- buybackEndorsement: z5.string().optional(),
536
- appliesTo: z5.array(z5.string()).optional(),
537
- content: z5.string(),
538
- pageNumber: z5.number().optional()
572
+ import { z as z6 } from "zod";
573
+ var ExclusionSchema = z6.object({
574
+ name: z6.string(),
575
+ formNumber: z6.string().optional(),
576
+ excludedPerils: z6.array(z6.string()).optional(),
577
+ isAbsolute: z6.boolean().optional(),
578
+ exceptions: z6.array(z6.string()).optional(),
579
+ buybackAvailable: z6.boolean().optional(),
580
+ buybackEndorsement: z6.string().optional(),
581
+ appliesTo: z6.array(z6.string()).optional(),
582
+ content: z6.string(),
583
+ pageNumber: z6.number().optional()
539
584
  });
540
585
 
541
586
  // src/schemas/condition.ts
542
- import { z as z6 } from "zod";
543
- var ConditionKeyValueSchema = z6.object({
544
- key: z6.string(),
545
- value: z6.string()
587
+ import { z as z7 } from "zod";
588
+ var ConditionKeyValueSchema = z7.object({
589
+ key: z7.string(),
590
+ value: z7.string()
546
591
  });
547
- var PolicyConditionSchema = z6.object({
548
- name: z6.string(),
592
+ var PolicyConditionSchema = z7.object({
593
+ name: z7.string(),
549
594
  conditionType: ConditionTypeSchema,
550
- content: z6.string(),
551
- keyValues: z6.array(ConditionKeyValueSchema).optional(),
552
- pageNumber: z6.number().optional()
595
+ content: z7.string(),
596
+ keyValues: z7.array(ConditionKeyValueSchema).optional(),
597
+ pageNumber: z7.number().optional()
553
598
  });
554
599
 
555
600
  // src/schemas/parties.ts
556
- import { z as z7 } from "zod";
557
- var InsurerInfoSchema = z7.object({
558
- legalName: z7.string(),
559
- naicNumber: z7.string().optional(),
560
- amBestRating: z7.string().optional(),
561
- amBestNumber: z7.string().optional(),
601
+ import { z as z8 } from "zod";
602
+ var InsurerInfoSchema = z8.object({
603
+ legalName: z8.string(),
604
+ naicNumber: z8.string().optional(),
605
+ amBestRating: z8.string().optional(),
606
+ amBestNumber: z8.string().optional(),
562
607
  admittedStatus: AdmittedStatusSchema.optional(),
563
- stateOfDomicile: z7.string().optional()
608
+ stateOfDomicile: z8.string().optional()
564
609
  });
565
- var ProducerInfoSchema = z7.object({
566
- agencyName: z7.string(),
567
- contactName: z7.string().optional(),
568
- licenseNumber: z7.string().optional(),
569
- phone: z7.string().optional(),
570
- email: z7.string().optional(),
610
+ var ProducerInfoSchema = z8.object({
611
+ agencyName: z8.string(),
612
+ contactName: z8.string().optional(),
613
+ licenseNumber: z8.string().optional(),
614
+ phone: z8.string().optional(),
615
+ email: z8.string().optional(),
571
616
  address: AddressSchema.optional()
572
617
  });
573
618
 
574
619
  // src/schemas/financial.ts
575
- import { z as z8 } from "zod";
576
- var PaymentInstallmentSchema = z8.object({
577
- dueDate: z8.string(),
578
- amount: z8.string(),
579
- description: z8.string().optional()
620
+ import { z as z9 } from "zod";
621
+ var PaymentInstallmentSchema = z9.object({
622
+ dueDate: z9.string(),
623
+ amount: z9.string(),
624
+ description: z9.string().optional()
580
625
  });
581
- var PaymentPlanSchema = z8.object({
582
- installments: z8.array(PaymentInstallmentSchema),
583
- financeCharge: z8.string().optional()
626
+ var PaymentPlanSchema = z9.object({
627
+ installments: z9.array(PaymentInstallmentSchema),
628
+ financeCharge: z9.string().optional()
584
629
  });
585
- var LocationPremiumSchema = z8.object({
586
- locationNumber: z8.number(),
587
- premium: z8.string(),
588
- description: z8.string().optional()
630
+ var LocationPremiumSchema = z9.object({
631
+ locationNumber: z9.number(),
632
+ premium: z9.string(),
633
+ description: z9.string().optional()
589
634
  });
590
635
 
591
636
  // src/schemas/loss-history.ts
592
- import { z as z9 } from "zod";
593
- var ClaimRecordSchema = z9.object({
594
- dateOfLoss: z9.string(),
595
- claimNumber: z9.string().optional(),
596
- description: z9.string(),
637
+ import { z as z10 } from "zod";
638
+ var ClaimRecordSchema = z10.object({
639
+ dateOfLoss: z10.string(),
640
+ claimNumber: z10.string().optional(),
641
+ description: z10.string(),
597
642
  status: ClaimStatusSchema,
598
- paid: z9.string().optional(),
599
- reserved: z9.string().optional(),
600
- incurred: z9.string().optional(),
601
- claimant: z9.string().optional(),
602
- coverageLine: z9.string().optional()
643
+ paid: z10.string().optional(),
644
+ reserved: z10.string().optional(),
645
+ incurred: z10.string().optional(),
646
+ claimant: z10.string().optional(),
647
+ coverageLine: z10.string().optional()
603
648
  });
604
- var LossSummarySchema = z9.object({
605
- period: z9.string().optional(),
606
- totalClaims: z9.number().optional(),
607
- totalIncurred: z9.string().optional(),
608
- totalPaid: z9.string().optional(),
609
- totalReserved: z9.string().optional(),
610
- lossRatio: z9.string().optional()
649
+ var LossSummarySchema = z10.object({
650
+ period: z10.string().optional(),
651
+ totalClaims: z10.number().optional(),
652
+ totalIncurred: z10.string().optional(),
653
+ totalPaid: z10.string().optional(),
654
+ totalReserved: z10.string().optional(),
655
+ lossRatio: z10.string().optional()
611
656
  });
612
- var ExperienceModSchema = z9.object({
613
- factor: z9.number(),
614
- effectiveDate: z9.string().optional(),
615
- state: z9.string().optional()
657
+ var ExperienceModSchema = z10.object({
658
+ factor: z10.number(),
659
+ effectiveDate: z10.string().optional(),
660
+ state: z10.string().optional()
616
661
  });
617
662
 
618
663
  // src/schemas/underwriting.ts
619
- import { z as z10 } from "zod";
620
- var EnrichedSubjectivitySchema = z10.object({
621
- description: z10.string(),
664
+ import { z as z11 } from "zod";
665
+ var EnrichedSubjectivitySchema = z11.object({
666
+ description: z11.string(),
622
667
  category: SubjectivityCategorySchema.optional(),
623
- dueDate: z10.string().optional(),
624
- status: z10.enum(["open", "satisfied", "waived"]).optional(),
625
- pageNumber: z10.number().optional()
668
+ dueDate: z11.string().optional(),
669
+ status: z11.enum(["open", "satisfied", "waived"]).optional(),
670
+ pageNumber: z11.number().optional()
626
671
  });
627
- var EnrichedUnderwritingConditionSchema = z10.object({
628
- description: z10.string(),
629
- category: z10.string().optional(),
630
- pageNumber: z10.number().optional()
672
+ var EnrichedUnderwritingConditionSchema = z11.object({
673
+ description: z11.string(),
674
+ category: z11.string().optional(),
675
+ pageNumber: z11.number().optional()
631
676
  });
632
- var BindingAuthoritySchema = z10.object({
633
- authorizedBy: z10.string().optional(),
634
- method: z10.string().optional(),
635
- expiration: z10.string().optional(),
636
- conditions: z10.array(z10.string()).optional()
677
+ var BindingAuthoritySchema = z11.object({
678
+ authorizedBy: z11.string().optional(),
679
+ method: z11.string().optional(),
680
+ expiration: z11.string().optional(),
681
+ conditions: z11.array(z11.string()).optional()
637
682
  });
638
683
 
639
684
  // src/schemas/declarations/index.ts
640
- import { z as z14 } from "zod";
685
+ import { z as z15 } from "zod";
641
686
 
642
687
  // src/schemas/declarations/personal.ts
643
- import { z as z12 } from "zod";
688
+ import { z as z13 } from "zod";
644
689
 
645
690
  // src/schemas/declarations/shared.ts
646
- import { z as z11 } from "zod";
647
- var EmployersLiabilityLimitsSchema = z11.object({
648
- eachAccident: z11.string(),
649
- diseasePolicyLimit: z11.string(),
650
- diseaseEachEmployee: z11.string()
691
+ import { z as z12 } from "zod";
692
+ var EmployersLiabilityLimitsSchema = z12.object({
693
+ eachAccident: z12.string(),
694
+ diseasePolicyLimit: z12.string(),
695
+ diseaseEachEmployee: z12.string()
651
696
  });
652
- var LimitScheduleSchema = z11.object({
653
- perOccurrence: z11.string().optional(),
654
- generalAggregate: z11.string().optional(),
655
- productsCompletedOpsAggregate: z11.string().optional(),
656
- personalAdvertisingInjury: z11.string().optional(),
657
- eachEmployee: z11.string().optional(),
658
- fireDamage: z11.string().optional(),
659
- medicalExpense: z11.string().optional(),
660
- combinedSingleLimit: z11.string().optional(),
661
- bodilyInjuryPerPerson: z11.string().optional(),
662
- bodilyInjuryPerAccident: z11.string().optional(),
663
- propertyDamage: z11.string().optional(),
664
- eachOccurrenceUmbrella: z11.string().optional(),
665
- umbrellaAggregate: z11.string().optional(),
666
- umbrellaRetention: z11.string().optional(),
667
- statutory: z11.boolean().optional(),
697
+ var LimitScheduleSchema = z12.object({
698
+ perOccurrence: z12.string().optional(),
699
+ generalAggregate: z12.string().optional(),
700
+ productsCompletedOpsAggregate: z12.string().optional(),
701
+ personalAdvertisingInjury: z12.string().optional(),
702
+ eachEmployee: z12.string().optional(),
703
+ fireDamage: z12.string().optional(),
704
+ medicalExpense: z12.string().optional(),
705
+ combinedSingleLimit: z12.string().optional(),
706
+ bodilyInjuryPerPerson: z12.string().optional(),
707
+ bodilyInjuryPerAccident: z12.string().optional(),
708
+ propertyDamage: z12.string().optional(),
709
+ eachOccurrenceUmbrella: z12.string().optional(),
710
+ umbrellaAggregate: z12.string().optional(),
711
+ umbrellaRetention: z12.string().optional(),
712
+ statutory: z12.boolean().optional(),
668
713
  employersLiability: EmployersLiabilityLimitsSchema.optional(),
669
- sublimits: z11.array(SublimitSchema).optional(),
670
- sharedLimits: z11.array(SharedLimitSchema).optional(),
714
+ sublimits: z12.array(SublimitSchema).optional(),
715
+ sharedLimits: z12.array(SharedLimitSchema).optional(),
671
716
  defenseCostTreatment: DefenseCostTreatmentSchema.optional()
672
717
  });
673
- var DeductibleScheduleSchema = z11.object({
674
- perClaim: z11.string().optional(),
675
- perOccurrence: z11.string().optional(),
676
- aggregateDeductible: z11.string().optional(),
677
- selfInsuredRetention: z11.string().optional(),
678
- corridorDeductible: z11.string().optional(),
679
- waitingPeriod: z11.string().optional(),
680
- appliesTo: z11.enum(["damages_only", "damages_and_defense", "defense_only"]).optional()
718
+ var DeductibleScheduleSchema = z12.object({
719
+ perClaim: z12.string().optional(),
720
+ perOccurrence: z12.string().optional(),
721
+ aggregateDeductible: z12.string().optional(),
722
+ selfInsuredRetention: z12.string().optional(),
723
+ corridorDeductible: z12.string().optional(),
724
+ waitingPeriod: z12.string().optional(),
725
+ appliesTo: z12.enum(["damages_only", "damages_and_defense", "defense_only"]).optional()
681
726
  });
682
- var InsuredLocationSchema = z11.object({
683
- number: z11.number(),
727
+ var InsuredLocationSchema = z12.object({
728
+ number: z12.number(),
684
729
  address: AddressSchema,
685
- description: z11.string().optional(),
686
- buildingValue: z11.string().optional(),
687
- contentsValue: z11.string().optional(),
688
- businessIncomeValue: z11.string().optional(),
689
- constructionType: z11.string().optional(),
690
- yearBuilt: z11.number().optional(),
691
- squareFootage: z11.number().optional(),
692
- protectionClass: z11.string().optional(),
693
- sprinklered: z11.boolean().optional(),
694
- alarmType: z11.string().optional(),
695
- occupancy: z11.string().optional()
730
+ description: z12.string().optional(),
731
+ buildingValue: z12.string().optional(),
732
+ contentsValue: z12.string().optional(),
733
+ businessIncomeValue: z12.string().optional(),
734
+ constructionType: z12.string().optional(),
735
+ yearBuilt: z12.number().optional(),
736
+ squareFootage: z12.number().optional(),
737
+ protectionClass: z12.string().optional(),
738
+ sprinklered: z12.boolean().optional(),
739
+ alarmType: z12.string().optional(),
740
+ occupancy: z12.string().optional()
696
741
  });
697
- var VehicleCoverageSchema = z11.object({
742
+ var VehicleCoverageSchema = z12.object({
698
743
  type: VehicleCoverageTypeSchema,
699
- limit: z11.string().optional(),
700
- deductible: z11.string().optional(),
701
- included: z11.boolean()
744
+ limit: z12.string().optional(),
745
+ deductible: z12.string().optional(),
746
+ included: z12.boolean()
702
747
  });
703
- var InsuredVehicleSchema = z11.object({
704
- number: z11.number(),
705
- year: z11.number(),
706
- make: z11.string(),
707
- model: z11.string(),
708
- vin: z11.string(),
709
- costNew: z11.string().optional(),
710
- statedValue: z11.string().optional(),
711
- garageLocation: z11.number().optional(),
712
- coverages: z11.array(VehicleCoverageSchema).optional(),
713
- radius: z11.string().optional(),
714
- vehicleType: z11.string().optional()
748
+ var InsuredVehicleSchema = z12.object({
749
+ number: z12.number(),
750
+ year: z12.number(),
751
+ make: z12.string(),
752
+ model: z12.string(),
753
+ vin: z12.string(),
754
+ costNew: z12.string().optional(),
755
+ statedValue: z12.string().optional(),
756
+ garageLocation: z12.number().optional(),
757
+ coverages: z12.array(VehicleCoverageSchema).optional(),
758
+ radius: z12.string().optional(),
759
+ vehicleType: z12.string().optional()
715
760
  });
716
- var ClassificationCodeSchema = z11.object({
717
- code: z11.string(),
718
- description: z11.string(),
719
- premiumBasis: z11.string(),
720
- basisAmount: z11.string().optional(),
721
- rate: z11.string().optional(),
722
- premium: z11.string().optional(),
723
- locationNumber: z11.number().optional()
761
+ var ClassificationCodeSchema = z12.object({
762
+ code: z12.string(),
763
+ description: z12.string(),
764
+ premiumBasis: z12.string(),
765
+ basisAmount: z12.string().optional(),
766
+ rate: z12.string().optional(),
767
+ premium: z12.string().optional(),
768
+ locationNumber: z12.number().optional()
724
769
  });
725
- var DwellingDetailsSchema = z11.object({
770
+ var DwellingDetailsSchema = z12.object({
726
771
  constructionType: ConstructionTypeSchema.optional(),
727
- yearBuilt: z11.number().optional(),
728
- squareFootage: z11.number().optional(),
729
- stories: z11.number().optional(),
772
+ yearBuilt: z12.number().optional(),
773
+ squareFootage: z12.number().optional(),
774
+ stories: z12.number().optional(),
730
775
  roofType: RoofTypeSchema.optional(),
731
- roofAge: z11.number().optional(),
732
- heatingType: z11.enum(["central", "baseboard", "radiant", "space_heater", "heat_pump", "other"]).optional(),
776
+ roofAge: z12.number().optional(),
777
+ heatingType: z12.enum(["central", "baseboard", "radiant", "space_heater", "heat_pump", "other"]).optional(),
733
778
  foundationType: FoundationTypeSchema.optional(),
734
- plumbingType: z11.enum(["copper", "pex", "galvanized", "polybutylene", "cpvc", "other"]).optional(),
735
- electricalType: z11.enum(["circuit_breaker", "fuse_box", "knob_and_tube", "other"]).optional(),
736
- electricalAmps: z11.number().optional(),
737
- hasSwimmingPool: z11.boolean().optional(),
738
- poolType: z11.enum(["in_ground", "above_ground"]).optional(),
739
- hasTrampoline: z11.boolean().optional(),
740
- hasDog: z11.boolean().optional(),
741
- dogBreed: z11.string().optional(),
742
- protectiveDevices: z11.array(z11.string()).optional(),
743
- distanceToFireStation: z11.string().optional(),
744
- distanceToHydrant: z11.string().optional(),
745
- fireProtectionClass: z11.string().optional()
779
+ plumbingType: z12.enum(["copper", "pex", "galvanized", "polybutylene", "cpvc", "other"]).optional(),
780
+ electricalType: z12.enum(["circuit_breaker", "fuse_box", "knob_and_tube", "other"]).optional(),
781
+ electricalAmps: z12.number().optional(),
782
+ hasSwimmingPool: z12.boolean().optional(),
783
+ poolType: z12.enum(["in_ground", "above_ground"]).optional(),
784
+ hasTrampoline: z12.boolean().optional(),
785
+ hasDog: z12.boolean().optional(),
786
+ dogBreed: z12.string().optional(),
787
+ protectiveDevices: z12.array(z12.string()).optional(),
788
+ distanceToFireStation: z12.string().optional(),
789
+ distanceToHydrant: z12.string().optional(),
790
+ fireProtectionClass: z12.string().optional()
746
791
  });
747
- var DriverRecordSchema = z11.object({
748
- name: z11.string(),
749
- dateOfBirth: z11.string().optional(),
750
- licenseNumber: z11.string().optional(),
751
- licenseState: z11.string().optional(),
752
- relationship: z11.enum(["named_insured", "spouse", "child", "other_household", "other"]).optional(),
753
- yearsLicensed: z11.number().optional(),
754
- gender: z11.string().optional(),
755
- maritalStatus: z11.string().optional(),
756
- goodStudentDiscount: z11.boolean().optional(),
757
- defensiveDriverDiscount: z11.boolean().optional(),
758
- violations: z11.array(z11.object({
759
- date: z11.string().optional(),
760
- type: z11.string().optional(),
761
- description: z11.string().optional()
792
+ var DriverRecordSchema = z12.object({
793
+ name: z12.string(),
794
+ dateOfBirth: z12.string().optional(),
795
+ licenseNumber: z12.string().optional(),
796
+ licenseState: z12.string().optional(),
797
+ relationship: z12.enum(["named_insured", "spouse", "child", "other_household", "other"]).optional(),
798
+ yearsLicensed: z12.number().optional(),
799
+ gender: z12.string().optional(),
800
+ maritalStatus: z12.string().optional(),
801
+ goodStudentDiscount: z12.boolean().optional(),
802
+ defensiveDriverDiscount: z12.boolean().optional(),
803
+ violations: z12.array(z12.object({
804
+ date: z12.string().optional(),
805
+ type: z12.string().optional(),
806
+ description: z12.string().optional()
762
807
  })).optional(),
763
- accidents: z11.array(z11.object({
764
- date: z11.string().optional(),
765
- atFault: z11.boolean().optional(),
766
- description: z11.string().optional(),
767
- amountPaid: z11.string().optional()
808
+ accidents: z12.array(z12.object({
809
+ date: z12.string().optional(),
810
+ atFault: z12.boolean().optional(),
811
+ description: z12.string().optional(),
812
+ amountPaid: z12.string().optional()
768
813
  })).optional(),
769
- sr22Required: z11.boolean().optional()
814
+ sr22Required: z12.boolean().optional()
770
815
  });
771
- var PersonalVehicleDetailsSchema = z11.object({
772
- number: z11.number().optional(),
773
- year: z11.number().optional(),
774
- make: z11.string().optional(),
775
- model: z11.string().optional(),
776
- vin: z11.string().optional(),
777
- bodyType: z11.string().optional(),
816
+ var PersonalVehicleDetailsSchema = z12.object({
817
+ number: z12.number().optional(),
818
+ year: z12.number().optional(),
819
+ make: z12.string().optional(),
820
+ model: z12.string().optional(),
821
+ vin: z12.string().optional(),
822
+ bodyType: z12.string().optional(),
778
823
  garagingAddress: AddressSchema.optional(),
779
824
  usage: PersonalAutoUsageSchema.optional(),
780
- annualMileage: z11.number().optional(),
781
- odometerReading: z11.number().optional(),
782
- driverAssignment: z11.string().optional(),
825
+ annualMileage: z12.number().optional(),
826
+ odometerReading: z12.number().optional(),
827
+ driverAssignment: z12.string().optional(),
783
828
  lienHolder: EndorsementPartySchema.optional(),
784
- collisionDeductible: z11.string().optional(),
785
- comprehensiveDeductible: z11.string().optional(),
786
- rentalReimbursement: z11.boolean().optional(),
787
- towing: z11.boolean().optional()
829
+ collisionDeductible: z12.string().optional(),
830
+ comprehensiveDeductible: z12.string().optional(),
831
+ rentalReimbursement: z12.boolean().optional(),
832
+ towing: z12.boolean().optional()
788
833
  });
789
834
 
790
835
  // src/schemas/declarations/personal.ts
791
- var HomeownersDeclarationsSchema = z12.object({
792
- line: z12.literal("homeowners"),
836
+ var HomeownersDeclarationsSchema = z13.object({
837
+ line: z13.literal("homeowners"),
793
838
  formType: HomeownersFormTypeSchema,
794
- coverageA: z12.string().optional(),
795
- coverageB: z12.string().optional(),
796
- coverageC: z12.string().optional(),
797
- coverageD: z12.string().optional(),
798
- coverageE: z12.string().optional(),
799
- coverageF: z12.string().optional(),
800
- allPerilDeductible: z12.string().optional(),
801
- windHailDeductible: z12.string().optional(),
802
- hurricaneDeductible: z12.string().optional(),
839
+ coverageA: z13.string().optional(),
840
+ coverageB: z13.string().optional(),
841
+ coverageC: z13.string().optional(),
842
+ coverageD: z13.string().optional(),
843
+ coverageE: z13.string().optional(),
844
+ coverageF: z13.string().optional(),
845
+ allPerilDeductible: z13.string().optional(),
846
+ windHailDeductible: z13.string().optional(),
847
+ hurricaneDeductible: z13.string().optional(),
803
848
  lossSettlement: LossSettlementSchema.optional(),
804
849
  dwelling: DwellingDetailsSchema,
805
850
  mortgagee: EndorsementPartySchema.optional(),
806
- additionalMortgagees: z12.array(EndorsementPartySchema).optional()
851
+ additionalMortgagees: z13.array(EndorsementPartySchema).optional()
807
852
  });
808
- var PersonalAutoDeclarationsSchema = z12.object({
809
- line: z12.literal("personal_auto"),
810
- vehicles: z12.array(PersonalVehicleDetailsSchema),
811
- drivers: z12.array(DriverRecordSchema),
812
- liabilityLimits: z12.object({
813
- bodilyInjuryPerPerson: z12.string().optional(),
814
- bodilyInjuryPerAccident: z12.string().optional(),
815
- propertyDamage: z12.string().optional(),
816
- combinedSingleLimit: z12.string().optional()
853
+ var PersonalAutoDeclarationsSchema = z13.object({
854
+ line: z13.literal("personal_auto"),
855
+ vehicles: z13.array(PersonalVehicleDetailsSchema),
856
+ drivers: z13.array(DriverRecordSchema),
857
+ liabilityLimits: z13.object({
858
+ bodilyInjuryPerPerson: z13.string().optional(),
859
+ bodilyInjuryPerAccident: z13.string().optional(),
860
+ propertyDamage: z13.string().optional(),
861
+ combinedSingleLimit: z13.string().optional()
817
862
  }).optional(),
818
- umLimits: z12.object({
819
- bodilyInjuryPerPerson: z12.string().optional(),
820
- bodilyInjuryPerAccident: z12.string().optional()
863
+ umLimits: z13.object({
864
+ bodilyInjuryPerPerson: z13.string().optional(),
865
+ bodilyInjuryPerAccident: z13.string().optional()
821
866
  }).optional(),
822
- uimLimits: z12.object({
823
- bodilyInjuryPerPerson: z12.string().optional(),
824
- bodilyInjuryPerAccident: z12.string().optional()
867
+ uimLimits: z13.object({
868
+ bodilyInjuryPerPerson: z13.string().optional(),
869
+ bodilyInjuryPerAccident: z13.string().optional()
825
870
  }).optional(),
826
- pipLimit: z12.string().optional(),
827
- medPayLimit: z12.string().optional()
871
+ pipLimit: z13.string().optional(),
872
+ medPayLimit: z13.string().optional()
828
873
  });
829
- var DwellingFireDeclarationsSchema = z12.object({
830
- line: z12.literal("dwelling_fire"),
874
+ var DwellingFireDeclarationsSchema = z13.object({
875
+ line: z13.literal("dwelling_fire"),
831
876
  formType: DwellingFireFormTypeSchema,
832
- dwellingLimit: z12.string().optional(),
833
- otherStructuresLimit: z12.string().optional(),
834
- personalPropertyLimit: z12.string().optional(),
835
- fairRentalValueLimit: z12.string().optional(),
836
- liabilityLimit: z12.string().optional(),
837
- medicalPaymentsLimit: z12.string().optional(),
838
- deductible: z12.string().optional(),
877
+ dwellingLimit: z13.string().optional(),
878
+ otherStructuresLimit: z13.string().optional(),
879
+ personalPropertyLimit: z13.string().optional(),
880
+ fairRentalValueLimit: z13.string().optional(),
881
+ liabilityLimit: z13.string().optional(),
882
+ medicalPaymentsLimit: z13.string().optional(),
883
+ deductible: z13.string().optional(),
839
884
  dwelling: DwellingDetailsSchema
840
885
  });
841
- var FloodDeclarationsSchema = z12.object({
842
- line: z12.literal("flood"),
843
- programType: z12.enum(["nfip", "private"]),
886
+ var FloodDeclarationsSchema = z13.object({
887
+ line: z13.literal("flood"),
888
+ programType: z13.enum(["nfip", "private"]),
844
889
  floodZone: FloodZoneSchema.optional(),
845
- communityNumber: z12.string().optional(),
846
- communityRating: z12.number().optional(),
847
- buildingCoverage: z12.string().optional(),
848
- contentsCoverage: z12.string().optional(),
849
- iccCoverage: z12.string().optional(),
850
- deductible: z12.string().optional(),
851
- waitingPeriodDays: z12.number().optional(),
852
- elevationCertificate: z12.boolean().optional(),
853
- elevationDifference: z12.string().optional(),
854
- buildingDiagramNumber: z12.number().optional(),
855
- basementOrEnclosure: z12.boolean().optional(),
856
- postFirmConstruction: z12.boolean().optional()
890
+ communityNumber: z13.string().optional(),
891
+ communityRating: z13.number().optional(),
892
+ buildingCoverage: z13.string().optional(),
893
+ contentsCoverage: z13.string().optional(),
894
+ iccCoverage: z13.string().optional(),
895
+ deductible: z13.string().optional(),
896
+ waitingPeriodDays: z13.number().optional(),
897
+ elevationCertificate: z13.boolean().optional(),
898
+ elevationDifference: z13.string().optional(),
899
+ buildingDiagramNumber: z13.number().optional(),
900
+ basementOrEnclosure: z13.boolean().optional(),
901
+ postFirmConstruction: z13.boolean().optional()
857
902
  });
858
- var EarthquakeDeclarationsSchema = z12.object({
859
- line: z12.literal("earthquake"),
860
- dwellingCoverage: z12.string().optional(),
861
- contentsCoverage: z12.string().optional(),
862
- lossOfUseCoverage: z12.string().optional(),
863
- deductiblePercent: z12.number().optional(),
864
- retrofitDiscount: z12.boolean().optional(),
865
- masonryVeneerCoverage: z12.boolean().optional()
903
+ var EarthquakeDeclarationsSchema = z13.object({
904
+ line: z13.literal("earthquake"),
905
+ dwellingCoverage: z13.string().optional(),
906
+ contentsCoverage: z13.string().optional(),
907
+ lossOfUseCoverage: z13.string().optional(),
908
+ deductiblePercent: z13.number().optional(),
909
+ retrofitDiscount: z13.boolean().optional(),
910
+ masonryVeneerCoverage: z13.boolean().optional()
866
911
  });
867
- var PersonalUmbrellaDeclarationsSchema = z12.object({
868
- line: z12.literal("personal_umbrella"),
869
- perOccurrenceLimit: z12.string().optional(),
870
- aggregateLimit: z12.string().optional(),
871
- retainedLimit: z12.string().optional(),
872
- underlyingPolicies: z12.array(z12.object({
873
- carrier: z12.string().optional(),
874
- policyNumber: z12.string().optional(),
875
- policyType: z12.string().optional(),
876
- limits: z12.string().optional()
912
+ var PersonalUmbrellaDeclarationsSchema = z13.object({
913
+ line: z13.literal("personal_umbrella"),
914
+ perOccurrenceLimit: z13.string().optional(),
915
+ aggregateLimit: z13.string().optional(),
916
+ retainedLimit: z13.string().optional(),
917
+ underlyingPolicies: z13.array(z13.object({
918
+ carrier: z13.string().optional(),
919
+ policyNumber: z13.string().optional(),
920
+ policyType: z13.string().optional(),
921
+ limits: z13.string().optional()
877
922
  }))
878
923
  });
879
- var PersonalArticlesDeclarationsSchema = z12.object({
880
- line: z12.literal("personal_articles"),
881
- scheduledItems: z12.array(z12.object({
882
- itemNumber: z12.number().optional(),
924
+ var PersonalArticlesDeclarationsSchema = z13.object({
925
+ line: z13.literal("personal_articles"),
926
+ scheduledItems: z13.array(z13.object({
927
+ itemNumber: z13.number().optional(),
883
928
  category: ScheduledItemCategorySchema.optional(),
884
- description: z12.string(),
885
- appraisedValue: z12.string(),
886
- appraisalDate: z12.string().optional()
929
+ description: z13.string(),
930
+ appraisedValue: z13.string(),
931
+ appraisalDate: z13.string().optional()
887
932
  })),
888
- blanketCoverage: z12.string().optional(),
889
- deductible: z12.string().optional(),
890
- worldwideCoverage: z12.boolean().optional(),
891
- breakageCoverage: z12.boolean().optional()
933
+ blanketCoverage: z13.string().optional(),
934
+ deductible: z13.string().optional(),
935
+ worldwideCoverage: z13.boolean().optional(),
936
+ breakageCoverage: z13.boolean().optional()
892
937
  });
893
- var WatercraftDeclarationsSchema = z12.object({
894
- line: z12.literal("watercraft"),
938
+ var WatercraftDeclarationsSchema = z13.object({
939
+ line: z13.literal("watercraft"),
895
940
  boatType: BoatTypeSchema.optional(),
896
- year: z12.number().optional(),
897
- make: z12.string().optional(),
898
- model: z12.string().optional(),
899
- length: z12.string().optional(),
900
- hullMaterial: z12.enum(["fiberglass", "aluminum", "wood", "steel", "inflatable", "other"]).optional(),
901
- hullValue: z12.string().optional(),
902
- motorHorsepower: z12.number().optional(),
903
- motorType: z12.enum(["outboard", "inboard", "inboard_outboard", "jet"]).optional(),
904
- navigationLimits: z12.string().optional(),
905
- layupPeriod: z12.string().optional(),
906
- liabilityLimit: z12.string().optional(),
907
- medicalPaymentsLimit: z12.string().optional(),
908
- physicalDamageDeductible: z12.string().optional(),
909
- uninsuredBoaterLimit: z12.string().optional(),
910
- trailerCovered: z12.boolean().optional(),
911
- trailerValue: z12.string().optional()
941
+ year: z13.number().optional(),
942
+ make: z13.string().optional(),
943
+ model: z13.string().optional(),
944
+ length: z13.string().optional(),
945
+ hullMaterial: z13.enum(["fiberglass", "aluminum", "wood", "steel", "inflatable", "other"]).optional(),
946
+ hullValue: z13.string().optional(),
947
+ motorHorsepower: z13.number().optional(),
948
+ motorType: z13.enum(["outboard", "inboard", "inboard_outboard", "jet"]).optional(),
949
+ navigationLimits: z13.string().optional(),
950
+ layupPeriod: z13.string().optional(),
951
+ liabilityLimit: z13.string().optional(),
952
+ medicalPaymentsLimit: z13.string().optional(),
953
+ physicalDamageDeductible: z13.string().optional(),
954
+ uninsuredBoaterLimit: z13.string().optional(),
955
+ trailerCovered: z13.boolean().optional(),
956
+ trailerValue: z13.string().optional()
912
957
  });
913
- var RecreationalVehicleDeclarationsSchema = z12.object({
914
- line: z12.literal("recreational_vehicle"),
958
+ var RecreationalVehicleDeclarationsSchema = z13.object({
959
+ line: z13.literal("recreational_vehicle"),
915
960
  vehicleType: RVTypeSchema,
916
- year: z12.number().optional(),
917
- make: z12.string().optional(),
918
- model: z12.string().optional(),
919
- vin: z12.string().optional(),
920
- value: z12.string().optional(),
921
- liabilityLimit: z12.string().optional(),
922
- collisionDeductible: z12.string().optional(),
923
- comprehensiveDeductible: z12.string().optional(),
924
- personalEffectsCoverage: z12.string().optional(),
925
- fullTimerCoverage: z12.boolean().optional()
961
+ year: z13.number().optional(),
962
+ make: z13.string().optional(),
963
+ model: z13.string().optional(),
964
+ vin: z13.string().optional(),
965
+ value: z13.string().optional(),
966
+ liabilityLimit: z13.string().optional(),
967
+ collisionDeductible: z13.string().optional(),
968
+ comprehensiveDeductible: z13.string().optional(),
969
+ personalEffectsCoverage: z13.string().optional(),
970
+ fullTimerCoverage: z13.boolean().optional()
926
971
  });
927
- var FarmRanchDeclarationsSchema = z12.object({
928
- line: z12.literal("farm_ranch"),
929
- dwellingCoverage: z12.string().optional(),
930
- farmPersonalPropertyCoverage: z12.string().optional(),
931
- farmLiabilityLimit: z12.string().optional(),
932
- farmAutoIncluded: z12.boolean().optional(),
933
- livestock: z12.array(z12.object({
934
- type: z12.string(),
935
- headCount: z12.number(),
936
- value: z12.string().optional()
972
+ var FarmRanchDeclarationsSchema = z13.object({
973
+ line: z13.literal("farm_ranch"),
974
+ dwellingCoverage: z13.string().optional(),
975
+ farmPersonalPropertyCoverage: z13.string().optional(),
976
+ farmLiabilityLimit: z13.string().optional(),
977
+ farmAutoIncluded: z13.boolean().optional(),
978
+ livestock: z13.array(z13.object({
979
+ type: z13.string(),
980
+ headCount: z13.number(),
981
+ value: z13.string().optional()
937
982
  })).optional(),
938
- equipmentSchedule: z12.array(z12.object({
939
- description: z12.string(),
940
- value: z12.string()
983
+ equipmentSchedule: z13.array(z13.object({
984
+ description: z13.string(),
985
+ value: z13.string()
941
986
  })).optional(),
942
- acreage: z12.number().optional(),
987
+ acreage: z13.number().optional(),
943
988
  dwelling: DwellingDetailsSchema.optional()
944
989
  });
945
- var TitleDeclarationsSchema = z12.object({
946
- line: z12.literal("title"),
990
+ var TitleDeclarationsSchema = z13.object({
991
+ line: z13.literal("title"),
947
992
  policyType: TitlePolicyTypeSchema,
948
- policyAmount: z12.string(),
949
- legalDescription: z12.string().optional(),
993
+ policyAmount: z13.string(),
994
+ legalDescription: z13.string().optional(),
950
995
  propertyAddress: AddressSchema.optional(),
951
- effectiveDate: z12.string().optional(),
952
- exceptions: z12.array(z12.object({
953
- number: z12.number(),
954
- description: z12.string()
996
+ effectiveDate: z13.string().optional(),
997
+ exceptions: z13.array(z13.object({
998
+ number: z13.number(),
999
+ description: z13.string()
955
1000
  })).optional(),
956
- underwriter: z12.string().optional()
1001
+ underwriter: z13.string().optional()
957
1002
  });
958
- var PetDeclarationsSchema = z12.object({
959
- line: z12.literal("pet"),
1003
+ var PetDeclarationsSchema = z13.object({
1004
+ line: z13.literal("pet"),
960
1005
  species: PetSpeciesSchema,
961
- breed: z12.string().optional(),
962
- petName: z12.string().optional(),
963
- age: z12.number().optional(),
964
- annualLimit: z12.string().optional(),
965
- perIncidentLimit: z12.string().optional(),
966
- deductible: z12.string().optional(),
967
- reimbursementPercent: z12.number().optional(),
968
- waitingPeriodDays: z12.number().optional(),
969
- preExistingConditionsExcluded: z12.boolean().optional(),
970
- wellnessCoverage: z12.boolean().optional()
1006
+ breed: z13.string().optional(),
1007
+ petName: z13.string().optional(),
1008
+ age: z13.number().optional(),
1009
+ annualLimit: z13.string().optional(),
1010
+ perIncidentLimit: z13.string().optional(),
1011
+ deductible: z13.string().optional(),
1012
+ reimbursementPercent: z13.number().optional(),
1013
+ waitingPeriodDays: z13.number().optional(),
1014
+ preExistingConditionsExcluded: z13.boolean().optional(),
1015
+ wellnessCoverage: z13.boolean().optional()
971
1016
  });
972
- var TravelDeclarationsSchema = z12.object({
973
- line: z12.literal("travel"),
974
- tripDepartureDate: z12.string().optional(),
975
- tripReturnDate: z12.string().optional(),
976
- destinations: z12.array(z12.string()).optional(),
977
- travelers: z12.array(z12.object({
978
- name: z12.string(),
979
- age: z12.number().optional()
1017
+ var TravelDeclarationsSchema = z13.object({
1018
+ line: z13.literal("travel"),
1019
+ tripDepartureDate: z13.string().optional(),
1020
+ tripReturnDate: z13.string().optional(),
1021
+ destinations: z13.array(z13.string()).optional(),
1022
+ travelers: z13.array(z13.object({
1023
+ name: z13.string(),
1024
+ age: z13.number().optional()
980
1025
  })).optional(),
981
- tripCost: z12.string().optional(),
982
- tripCancellationLimit: z12.string().optional(),
983
- medicalLimit: z12.string().optional(),
984
- evacuationLimit: z12.string().optional(),
985
- baggageLimit: z12.string().optional()
1026
+ tripCost: z13.string().optional(),
1027
+ tripCancellationLimit: z13.string().optional(),
1028
+ medicalLimit: z13.string().optional(),
1029
+ evacuationLimit: z13.string().optional(),
1030
+ baggageLimit: z13.string().optional()
986
1031
  });
987
- var IdentityTheftDeclarationsSchema = z12.object({
988
- line: z12.literal("identity_theft"),
989
- coverageLimit: z12.string().optional(),
990
- expenseReimbursement: z12.string().optional(),
991
- creditMonitoring: z12.boolean().optional(),
992
- restorationServices: z12.boolean().optional(),
993
- lostWagesLimit: z12.string().optional()
1032
+ var IdentityTheftDeclarationsSchema = z13.object({
1033
+ line: z13.literal("identity_theft"),
1034
+ coverageLimit: z13.string().optional(),
1035
+ expenseReimbursement: z13.string().optional(),
1036
+ creditMonitoring: z13.boolean().optional(),
1037
+ restorationServices: z13.boolean().optional(),
1038
+ lostWagesLimit: z13.string().optional()
994
1039
  });
995
1040
 
996
1041
  // src/schemas/declarations/commercial.ts
997
- import { z as z13 } from "zod";
998
- var GLDeclarationsSchema = z13.object({
999
- line: z13.literal("gl"),
1042
+ import { z as z14 } from "zod";
1043
+ var GLDeclarationsSchema = z14.object({
1044
+ line: z14.literal("gl"),
1000
1045
  coverageForm: CoverageFormSchema.optional(),
1001
- perOccurrenceLimit: z13.string().optional(),
1002
- generalAggregate: z13.string().optional(),
1003
- productsCompletedOpsAggregate: z13.string().optional(),
1004
- personalAdvertisingInjury: z13.string().optional(),
1005
- fireDamage: z13.string().optional(),
1006
- medicalExpense: z13.string().optional(),
1046
+ perOccurrenceLimit: z14.string().optional(),
1047
+ generalAggregate: z14.string().optional(),
1048
+ productsCompletedOpsAggregate: z14.string().optional(),
1049
+ personalAdvertisingInjury: z14.string().optional(),
1050
+ fireDamage: z14.string().optional(),
1051
+ medicalExpense: z14.string().optional(),
1007
1052
  defenseCostTreatment: DefenseCostTreatmentSchema.optional(),
1008
- deductible: z13.string().optional(),
1009
- classifications: z13.array(ClassificationCodeSchema).optional(),
1010
- retroactiveDate: z13.string().optional()
1053
+ deductible: z14.string().optional(),
1054
+ classifications: z14.array(ClassificationCodeSchema).optional(),
1055
+ retroactiveDate: z14.string().optional()
1011
1056
  });
1012
- var CommercialPropertyDeclarationsSchema = z13.object({
1013
- line: z13.literal("commercial_property"),
1014
- causesOfLossForm: z13.enum(["basic", "broad", "special"]).optional(),
1015
- coinsurancePercent: z13.number().optional(),
1057
+ var CommercialPropertyDeclarationsSchema = z14.object({
1058
+ line: z14.literal("commercial_property"),
1059
+ causesOfLossForm: z14.enum(["basic", "broad", "special"]).optional(),
1060
+ coinsurancePercent: z14.number().optional(),
1016
1061
  valuationMethod: ValuationMethodSchema.optional(),
1017
- locations: z13.array(InsuredLocationSchema),
1018
- blanketLimit: z13.string().optional(),
1019
- businessIncomeLimit: z13.string().optional(),
1020
- extraExpenseLimit: z13.string().optional()
1062
+ locations: z14.array(InsuredLocationSchema),
1063
+ blanketLimit: z14.string().optional(),
1064
+ businessIncomeLimit: z14.string().optional(),
1065
+ extraExpenseLimit: z14.string().optional()
1021
1066
  });
1022
- var CommercialAutoDeclarationsSchema = z13.object({
1023
- line: z13.literal("commercial_auto"),
1024
- vehicles: z13.array(InsuredVehicleSchema),
1025
- coveredAutoSymbols: z13.array(z13.number()).optional(),
1026
- liabilityLimit: z13.string().optional(),
1027
- umLimit: z13.string().optional(),
1028
- uimLimit: z13.string().optional(),
1029
- hiredAutoLiability: z13.boolean().optional(),
1030
- nonOwnedAutoLiability: z13.boolean().optional()
1067
+ var CommercialAutoDeclarationsSchema = z14.object({
1068
+ line: z14.literal("commercial_auto"),
1069
+ vehicles: z14.array(InsuredVehicleSchema),
1070
+ coveredAutoSymbols: z14.array(z14.number()).optional(),
1071
+ liabilityLimit: z14.string().optional(),
1072
+ umLimit: z14.string().optional(),
1073
+ uimLimit: z14.string().optional(),
1074
+ hiredAutoLiability: z14.boolean().optional(),
1075
+ nonOwnedAutoLiability: z14.boolean().optional()
1031
1076
  });
1032
- var WorkersCompDeclarationsSchema = z13.object({
1033
- line: z13.literal("workers_comp"),
1034
- coveredStates: z13.array(z13.string()).optional(),
1035
- classifications: z13.array(ClassificationCodeSchema),
1077
+ var WorkersCompDeclarationsSchema = z14.object({
1078
+ line: z14.literal("workers_comp"),
1079
+ coveredStates: z14.array(z14.string()).optional(),
1080
+ classifications: z14.array(ClassificationCodeSchema),
1036
1081
  experienceMod: ExperienceModSchema.optional(),
1037
1082
  employersLiability: EmployersLiabilityLimitsSchema.optional()
1038
1083
  });
1039
- var UmbrellaExcessDeclarationsSchema = z13.object({
1040
- line: z13.literal("umbrella_excess"),
1041
- perOccurrenceLimit: z13.string().optional(),
1042
- aggregateLimit: z13.string().optional(),
1043
- retention: z13.string().optional(),
1044
- underlyingPolicies: z13.array(z13.object({
1045
- carrier: z13.string().optional(),
1046
- policyNumber: z13.string().optional(),
1047
- policyType: z13.string().optional(),
1048
- limits: z13.string().optional()
1084
+ var UmbrellaExcessDeclarationsSchema = z14.object({
1085
+ line: z14.literal("umbrella_excess"),
1086
+ perOccurrenceLimit: z14.string().optional(),
1087
+ aggregateLimit: z14.string().optional(),
1088
+ retention: z14.string().optional(),
1089
+ underlyingPolicies: z14.array(z14.object({
1090
+ carrier: z14.string().optional(),
1091
+ policyNumber: z14.string().optional(),
1092
+ policyType: z14.string().optional(),
1093
+ limits: z14.string().optional()
1049
1094
  }))
1050
1095
  });
1051
- var ProfessionalLiabilityDeclarationsSchema = z13.object({
1052
- line: z13.literal("professional_liability"),
1053
- perClaimLimit: z13.string().optional(),
1054
- aggregateLimit: z13.string().optional(),
1055
- retroactiveDate: z13.string().optional(),
1096
+ var ProfessionalLiabilityDeclarationsSchema = z14.object({
1097
+ line: z14.literal("professional_liability"),
1098
+ perClaimLimit: z14.string().optional(),
1099
+ aggregateLimit: z14.string().optional(),
1100
+ retroactiveDate: z14.string().optional(),
1056
1101
  defenseCostTreatment: DefenseCostTreatmentSchema.optional(),
1057
1102
  extendedReportingPeriod: ExtendedReportingPeriodSchema.optional()
1058
1103
  });
1059
- var CyberDeclarationsSchema = z13.object({
1060
- line: z13.literal("cyber"),
1061
- aggregateLimit: z13.string().optional(),
1062
- retroactiveDate: z13.string().optional(),
1063
- waitingPeriodHours: z13.number().optional(),
1064
- sublimits: z13.array(z13.object({
1065
- coverageName: z13.string(),
1066
- limit: z13.string()
1104
+ var CyberDeclarationsSchema = z14.object({
1105
+ line: z14.literal("cyber"),
1106
+ aggregateLimit: z14.string().optional(),
1107
+ retroactiveDate: z14.string().optional(),
1108
+ waitingPeriodHours: z14.number().optional(),
1109
+ sublimits: z14.array(z14.object({
1110
+ coverageName: z14.string(),
1111
+ limit: z14.string()
1067
1112
  })).optional()
1068
1113
  });
1069
- var DODeclarationsSchema = z13.object({
1070
- line: z13.literal("directors_officers"),
1071
- sideALimit: z13.string().optional(),
1072
- sideBLimit: z13.string().optional(),
1073
- sideCLimit: z13.string().optional(),
1074
- sideARetention: z13.string().optional(),
1075
- sideBRetention: z13.string().optional(),
1076
- sideCRetention: z13.string().optional(),
1077
- continuityDate: z13.string().optional()
1114
+ var DODeclarationsSchema = z14.object({
1115
+ line: z14.literal("directors_officers"),
1116
+ sideALimit: z14.string().optional(),
1117
+ sideBLimit: z14.string().optional(),
1118
+ sideCLimit: z14.string().optional(),
1119
+ sideARetention: z14.string().optional(),
1120
+ sideBRetention: z14.string().optional(),
1121
+ sideCRetention: z14.string().optional(),
1122
+ continuityDate: z14.string().optional()
1078
1123
  });
1079
- var CrimeDeclarationsSchema = z13.object({
1080
- line: z13.literal("crime"),
1081
- formType: z13.enum(["discovery", "loss_sustained"]).optional(),
1082
- agreements: z13.array(z13.object({
1083
- agreement: z13.string(),
1084
- coverageName: z13.string(),
1085
- limit: z13.string(),
1086
- deductible: z13.string()
1124
+ var CrimeDeclarationsSchema = z14.object({
1125
+ line: z14.literal("crime"),
1126
+ formType: z14.enum(["discovery", "loss_sustained"]).optional(),
1127
+ agreements: z14.array(z14.object({
1128
+ agreement: z14.string(),
1129
+ coverageName: z14.string(),
1130
+ limit: z14.string(),
1131
+ deductible: z14.string()
1087
1132
  }))
1088
1133
  });
1089
1134
 
1090
1135
  // src/schemas/declarations/index.ts
1091
- var DeclarationsSchema = z14.discriminatedUnion("line", [
1136
+ var DeclarationsSchema = z15.discriminatedUnion("line", [
1092
1137
  // Personal lines
1093
1138
  HomeownersDeclarationsSchema,
1094
1139
  PersonalAutoDeclarationsSchema,
@@ -1117,137 +1162,137 @@ var DeclarationsSchema = z14.discriminatedUnion("line", [
1117
1162
  ]);
1118
1163
 
1119
1164
  // src/schemas/document.ts
1120
- import { z as z15 } from "zod";
1121
- var SubsectionSchema = z15.object({
1122
- title: z15.string(),
1123
- sectionNumber: z15.string().optional(),
1124
- pageNumber: z15.number().optional(),
1125
- content: z15.string()
1165
+ import { z as z16 } from "zod";
1166
+ var SubsectionSchema = z16.object({
1167
+ title: z16.string(),
1168
+ sectionNumber: z16.string().optional(),
1169
+ pageNumber: z16.number().optional(),
1170
+ content: z16.string()
1126
1171
  });
1127
- var SectionSchema = z15.object({
1128
- title: z15.string(),
1129
- sectionNumber: z15.string().optional(),
1130
- pageStart: z15.number(),
1131
- pageEnd: z15.number().optional(),
1132
- type: z15.string(),
1133
- coverageType: z15.string().optional(),
1134
- content: z15.string(),
1135
- subsections: z15.array(SubsectionSchema).optional()
1172
+ var SectionSchema = z16.object({
1173
+ title: z16.string(),
1174
+ sectionNumber: z16.string().optional(),
1175
+ pageStart: z16.number(),
1176
+ pageEnd: z16.number().optional(),
1177
+ type: z16.string(),
1178
+ coverageType: z16.string().optional(),
1179
+ content: z16.string(),
1180
+ subsections: z16.array(SubsectionSchema).optional()
1136
1181
  });
1137
- var SubjectivitySchema = z15.object({
1138
- description: z15.string(),
1139
- category: z15.string().optional()
1182
+ var SubjectivitySchema = z16.object({
1183
+ description: z16.string(),
1184
+ category: z16.string().optional()
1140
1185
  });
1141
- var UnderwritingConditionSchema = z15.object({
1142
- description: z15.string()
1186
+ var UnderwritingConditionSchema = z16.object({
1187
+ description: z16.string()
1143
1188
  });
1144
- var PremiumLineSchema = z15.object({
1145
- line: z15.string(),
1146
- amount: z15.string()
1189
+ var PremiumLineSchema = z16.object({
1190
+ line: z16.string(),
1191
+ amount: z16.string()
1147
1192
  });
1148
1193
  var BaseDocumentFields = {
1149
- id: z15.string(),
1150
- carrier: z15.string(),
1151
- security: z15.string().optional(),
1152
- insuredName: z15.string(),
1153
- premium: z15.string().optional(),
1154
- summary: z15.string().optional(),
1155
- policyTypes: z15.array(z15.string()).optional(),
1156
- coverages: z15.array(CoverageSchema),
1157
- sections: z15.array(SectionSchema).optional(),
1194
+ id: z16.string(),
1195
+ carrier: z16.string(),
1196
+ security: z16.string().optional(),
1197
+ insuredName: z16.string(),
1198
+ premium: z16.string().optional(),
1199
+ summary: z16.string().optional(),
1200
+ policyTypes: z16.array(z16.string()).optional(),
1201
+ coverages: z16.array(CoverageSchema),
1202
+ sections: z16.array(SectionSchema).optional(),
1158
1203
  // Enriched fields (v1.2+)
1159
- carrierLegalName: z15.string().optional(),
1160
- carrierNaicNumber: z15.string().optional(),
1161
- carrierAmBestRating: z15.string().optional(),
1162
- carrierAdmittedStatus: z15.string().optional(),
1163
- mga: z15.string().optional(),
1164
- underwriter: z15.string().optional(),
1165
- brokerAgency: z15.string().optional(),
1166
- brokerContactName: z15.string().optional(),
1167
- brokerLicenseNumber: z15.string().optional(),
1168
- priorPolicyNumber: z15.string().optional(),
1169
- programName: z15.string().optional(),
1170
- isRenewal: z15.boolean().optional(),
1171
- isPackage: z15.boolean().optional(),
1172
- insuredDba: z15.string().optional(),
1204
+ carrierLegalName: z16.string().optional(),
1205
+ carrierNaicNumber: z16.string().optional(),
1206
+ carrierAmBestRating: z16.string().optional(),
1207
+ carrierAdmittedStatus: z16.string().optional(),
1208
+ mga: z16.string().optional(),
1209
+ underwriter: z16.string().optional(),
1210
+ brokerAgency: z16.string().optional(),
1211
+ brokerContactName: z16.string().optional(),
1212
+ brokerLicenseNumber: z16.string().optional(),
1213
+ priorPolicyNumber: z16.string().optional(),
1214
+ programName: z16.string().optional(),
1215
+ isRenewal: z16.boolean().optional(),
1216
+ isPackage: z16.boolean().optional(),
1217
+ insuredDba: z16.string().optional(),
1173
1218
  insuredAddress: AddressSchema.optional(),
1174
1219
  insuredEntityType: EntityTypeSchema.optional(),
1175
- additionalNamedInsureds: z15.array(NamedInsuredSchema).optional(),
1176
- insuredSicCode: z15.string().optional(),
1177
- insuredNaicsCode: z15.string().optional(),
1178
- insuredFein: z15.string().optional(),
1179
- enrichedCoverages: z15.array(EnrichedCoverageSchema).optional(),
1180
- endorsements: z15.array(EndorsementSchema).optional(),
1181
- exclusions: z15.array(ExclusionSchema).optional(),
1182
- conditions: z15.array(PolicyConditionSchema).optional(),
1220
+ additionalNamedInsureds: z16.array(NamedInsuredSchema).optional(),
1221
+ insuredSicCode: z16.string().optional(),
1222
+ insuredNaicsCode: z16.string().optional(),
1223
+ insuredFein: z16.string().optional(),
1224
+ enrichedCoverages: z16.array(EnrichedCoverageSchema).optional(),
1225
+ endorsements: z16.array(EndorsementSchema).optional(),
1226
+ exclusions: z16.array(ExclusionSchema).optional(),
1227
+ conditions: z16.array(PolicyConditionSchema).optional(),
1183
1228
  limits: LimitScheduleSchema.optional(),
1184
1229
  deductibles: DeductibleScheduleSchema.optional(),
1185
- locations: z15.array(InsuredLocationSchema).optional(),
1186
- vehicles: z15.array(InsuredVehicleSchema).optional(),
1187
- classifications: z15.array(ClassificationCodeSchema).optional(),
1188
- formInventory: z15.array(FormReferenceSchema).optional(),
1230
+ locations: z16.array(InsuredLocationSchema).optional(),
1231
+ vehicles: z16.array(InsuredVehicleSchema).optional(),
1232
+ classifications: z16.array(ClassificationCodeSchema).optional(),
1233
+ formInventory: z16.array(FormReferenceSchema).optional(),
1189
1234
  declarations: DeclarationsSchema.optional(),
1190
1235
  coverageForm: CoverageFormSchema.optional(),
1191
- retroactiveDate: z15.string().optional(),
1236
+ retroactiveDate: z16.string().optional(),
1192
1237
  extendedReportingPeriod: ExtendedReportingPeriodSchema.optional(),
1193
1238
  insurer: InsurerInfoSchema.optional(),
1194
1239
  producer: ProducerInfoSchema.optional(),
1195
- claimsContacts: z15.array(ContactSchema).optional(),
1196
- regulatoryContacts: z15.array(ContactSchema).optional(),
1197
- thirdPartyAdministrators: z15.array(ContactSchema).optional(),
1198
- additionalInsureds: z15.array(EndorsementPartySchema).optional(),
1199
- lossPayees: z15.array(EndorsementPartySchema).optional(),
1200
- mortgageHolders: z15.array(EndorsementPartySchema).optional(),
1201
- taxesAndFees: z15.array(TaxFeeItemSchema).optional(),
1202
- totalCost: z15.string().optional(),
1203
- minimumPremium: z15.string().optional(),
1204
- depositPremium: z15.string().optional(),
1240
+ claimsContacts: z16.array(ContactSchema).optional(),
1241
+ regulatoryContacts: z16.array(ContactSchema).optional(),
1242
+ thirdPartyAdministrators: z16.array(ContactSchema).optional(),
1243
+ additionalInsureds: z16.array(EndorsementPartySchema).optional(),
1244
+ lossPayees: z16.array(EndorsementPartySchema).optional(),
1245
+ mortgageHolders: z16.array(EndorsementPartySchema).optional(),
1246
+ taxesAndFees: z16.array(TaxFeeItemSchema).optional(),
1247
+ totalCost: z16.string().optional(),
1248
+ minimumPremium: z16.string().optional(),
1249
+ depositPremium: z16.string().optional(),
1205
1250
  paymentPlan: PaymentPlanSchema.optional(),
1206
1251
  auditType: AuditTypeSchema.optional(),
1207
- ratingBasis: z15.array(RatingBasisSchema).optional(),
1208
- premiumByLocation: z15.array(LocationPremiumSchema).optional(),
1252
+ ratingBasis: z16.array(RatingBasisSchema).optional(),
1253
+ premiumByLocation: z16.array(LocationPremiumSchema).optional(),
1209
1254
  lossSummary: LossSummarySchema.optional(),
1210
- individualClaims: z15.array(ClaimRecordSchema).optional(),
1255
+ individualClaims: z16.array(ClaimRecordSchema).optional(),
1211
1256
  experienceMod: ExperienceModSchema.optional(),
1212
- cancellationNoticeDays: z15.number().optional(),
1213
- nonrenewalNoticeDays: z15.number().optional()
1257
+ cancellationNoticeDays: z16.number().optional(),
1258
+ nonrenewalNoticeDays: z16.number().optional()
1214
1259
  };
1215
- var PolicyDocumentSchema = z15.object({
1260
+ var PolicyDocumentSchema = z16.object({
1216
1261
  ...BaseDocumentFields,
1217
- type: z15.literal("policy"),
1218
- policyNumber: z15.string(),
1219
- effectiveDate: z15.string(),
1220
- expirationDate: z15.string().optional(),
1262
+ type: z16.literal("policy"),
1263
+ policyNumber: z16.string(),
1264
+ effectiveDate: z16.string(),
1265
+ expirationDate: z16.string().optional(),
1221
1266
  policyTermType: PolicyTermTypeSchema.optional(),
1222
- nextReviewDate: z15.string().optional(),
1223
- effectiveTime: z15.string().optional()
1267
+ nextReviewDate: z16.string().optional(),
1268
+ effectiveTime: z16.string().optional()
1224
1269
  });
1225
- var QuoteDocumentSchema = z15.object({
1270
+ var QuoteDocumentSchema = z16.object({
1226
1271
  ...BaseDocumentFields,
1227
- type: z15.literal("quote"),
1228
- quoteNumber: z15.string(),
1229
- proposedEffectiveDate: z15.string().optional(),
1230
- proposedExpirationDate: z15.string().optional(),
1231
- quoteExpirationDate: z15.string().optional(),
1232
- subjectivities: z15.array(SubjectivitySchema).optional(),
1233
- underwritingConditions: z15.array(UnderwritingConditionSchema).optional(),
1234
- premiumBreakdown: z15.array(PremiumLineSchema).optional(),
1272
+ type: z16.literal("quote"),
1273
+ quoteNumber: z16.string(),
1274
+ proposedEffectiveDate: z16.string().optional(),
1275
+ proposedExpirationDate: z16.string().optional(),
1276
+ quoteExpirationDate: z16.string().optional(),
1277
+ subjectivities: z16.array(SubjectivitySchema).optional(),
1278
+ underwritingConditions: z16.array(UnderwritingConditionSchema).optional(),
1279
+ premiumBreakdown: z16.array(PremiumLineSchema).optional(),
1235
1280
  // Enriched quote fields (v1.2+)
1236
- enrichedSubjectivities: z15.array(EnrichedSubjectivitySchema).optional(),
1237
- enrichedUnderwritingConditions: z15.array(EnrichedUnderwritingConditionSchema).optional(),
1238
- warrantyRequirements: z15.array(z15.string()).optional(),
1239
- lossControlRecommendations: z15.array(z15.string()).optional(),
1281
+ enrichedSubjectivities: z16.array(EnrichedSubjectivitySchema).optional(),
1282
+ enrichedUnderwritingConditions: z16.array(EnrichedUnderwritingConditionSchema).optional(),
1283
+ warrantyRequirements: z16.array(z16.string()).optional(),
1284
+ lossControlRecommendations: z16.array(z16.string()).optional(),
1240
1285
  bindingAuthority: BindingAuthoritySchema.optional()
1241
1286
  });
1242
- var InsuranceDocumentSchema = z15.discriminatedUnion("type", [
1287
+ var InsuranceDocumentSchema = z16.discriminatedUnion("type", [
1243
1288
  PolicyDocumentSchema,
1244
1289
  QuoteDocumentSchema
1245
1290
  ]);
1246
1291
 
1247
1292
  // src/schemas/platform.ts
1248
- import { z as z16 } from "zod";
1249
- var PlatformSchema = z16.enum(["email", "chat", "sms", "slack", "discord"]);
1250
- var CommunicationIntentSchema = z16.enum(["direct", "mediated", "observed"]);
1293
+ import { z as z17 } from "zod";
1294
+ var PlatformSchema = z17.enum(["email", "chat", "sms", "slack", "discord"]);
1295
+ var CommunicationIntentSchema = z17.enum(["direct", "mediated", "observed"]);
1251
1296
  var PLATFORM_CONFIGS = {
1252
1297
  email: {
1253
1298
  supportsMarkdown: false,
@@ -1475,10 +1520,11 @@ async function runExtractor(params) {
1475
1520
  [Document pages ${startPage}-${endPage} are provided as images above.]` : `${prompt}
1476
1521
 
1477
1522
  [Document pages ${startPage}-${endPage} are provided as a PDF file above.]`;
1523
+ const strictSchema = toStrictSchema(schema);
1478
1524
  const result = await withRetry(
1479
1525
  () => generateObject({
1480
1526
  prompt: fullPrompt,
1481
- schema,
1527
+ schema: strictSchema,
1482
1528
  maxTokens,
1483
1529
  providerOptions
1484
1530
  })
@@ -2557,11 +2603,11 @@ function getTemplate(policyType) {
2557
2603
  }
2558
2604
 
2559
2605
  // src/prompts/coordinator/classify.ts
2560
- import { z as z17 } from "zod";
2561
- var ClassifyResultSchema = z17.object({
2562
- documentType: z17.enum(["policy", "quote"]),
2563
- policyTypes: z17.array(PolicyTypeSchema),
2564
- confidence: z17.number()
2606
+ import { z as z18 } from "zod";
2607
+ var ClassifyResultSchema = z18.object({
2608
+ documentType: z18.enum(["policy", "quote"]),
2609
+ policyTypes: z18.array(PolicyTypeSchema),
2610
+ confidence: z18.number()
2565
2611
  });
2566
2612
  function buildClassifyPrompt() {
2567
2613
  return `You are classifying an insurance document. Examine the first few pages and determine:
@@ -2585,20 +2631,20 @@ Respond with JSON only.`;
2585
2631
  }
2586
2632
 
2587
2633
  // src/prompts/coordinator/plan.ts
2588
- import { z as z18 } from "zod";
2589
- var ExtractionTaskSchema = z18.object({
2590
- extractorName: z18.string(),
2591
- startPage: z18.number(),
2592
- endPage: z18.number(),
2593
- description: z18.string()
2634
+ import { z as z19 } from "zod";
2635
+ var ExtractionTaskSchema = z19.object({
2636
+ extractorName: z19.string(),
2637
+ startPage: z19.number(),
2638
+ endPage: z19.number(),
2639
+ description: z19.string()
2594
2640
  });
2595
- var PageMapEntrySchema = z18.object({
2596
- section: z18.string(),
2597
- pages: z18.string()
2641
+ var PageMapEntrySchema = z19.object({
2642
+ section: z19.string(),
2643
+ pages: z19.string()
2598
2644
  });
2599
- var ExtractionPlanSchema = z18.object({
2600
- tasks: z18.array(ExtractionTaskSchema),
2601
- pageMap: z18.array(PageMapEntrySchema).optional()
2645
+ var ExtractionPlanSchema = z19.object({
2646
+ tasks: z19.array(ExtractionTaskSchema),
2647
+ pageMap: z19.array(PageMapEntrySchema).optional()
2602
2648
  });
2603
2649
  function buildPlanPrompt(templateHints) {
2604
2650
  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.
@@ -2639,15 +2685,15 @@ Respond with JSON only.`;
2639
2685
  }
2640
2686
 
2641
2687
  // src/prompts/coordinator/review.ts
2642
- import { z as z19 } from "zod";
2643
- var ReviewResultSchema = z19.object({
2644
- complete: z19.boolean(),
2645
- missingFields: z19.array(z19.string()),
2646
- additionalTasks: z19.array(z19.object({
2647
- extractorName: z19.string(),
2648
- startPage: z19.number(),
2649
- endPage: z19.number(),
2650
- description: z19.string()
2688
+ import { z as z20 } from "zod";
2689
+ var ReviewResultSchema = z20.object({
2690
+ complete: z20.boolean(),
2691
+ missingFields: z20.array(z20.string()),
2692
+ additionalTasks: z20.array(z20.object({
2693
+ extractorName: z20.string(),
2694
+ startPage: z20.number(),
2695
+ endPage: z20.number(),
2696
+ description: z20.string()
2651
2697
  }))
2652
2698
  });
2653
2699
  function buildReviewPrompt(templateExpected, extractedKeys) {
@@ -2679,20 +2725,20 @@ Respond with JSON only.`;
2679
2725
  }
2680
2726
 
2681
2727
  // src/prompts/extractors/carrier-info.ts
2682
- import { z as z20 } from "zod";
2683
- var CarrierInfoSchema = z20.object({
2684
- carrierName: z20.string().describe("Primary insurance company name for display"),
2685
- carrierLegalName: z20.string().optional().describe("Legal entity name of insurer"),
2686
- naicNumber: z20.string().optional().describe("NAIC company code"),
2687
- amBestRating: z20.string().optional().describe("AM Best rating, e.g. 'A+ XV'"),
2688
- admittedStatus: z20.enum(["admitted", "non_admitted", "surplus_lines"]).optional().describe("Admitted status of the carrier"),
2689
- mga: z20.string().optional().describe("Managing General Agent or Program Administrator name"),
2690
- underwriter: z20.string().optional().describe("Named individual underwriter"),
2691
- policyNumber: z20.string().optional().describe("Policy or quote reference number"),
2692
- effectiveDate: z20.string().optional().describe("Policy effective date (MM/DD/YYYY)"),
2693
- expirationDate: z20.string().optional().describe("Policy expiration date (MM/DD/YYYY)"),
2694
- quoteNumber: z20.string().optional().describe("Quote or proposal reference number"),
2695
- proposedEffectiveDate: z20.string().optional().describe("Proposed effective date for quotes (MM/DD/YYYY)")
2728
+ import { z as z21 } from "zod";
2729
+ var CarrierInfoSchema = z21.object({
2730
+ carrierName: z21.string().describe("Primary insurance company name for display"),
2731
+ carrierLegalName: z21.string().optional().describe("Legal entity name of insurer"),
2732
+ naicNumber: z21.string().optional().describe("NAIC company code"),
2733
+ amBestRating: z21.string().optional().describe("AM Best rating, e.g. 'A+ XV'"),
2734
+ admittedStatus: z21.enum(["admitted", "non_admitted", "surplus_lines"]).optional().describe("Admitted status of the carrier"),
2735
+ mga: z21.string().optional().describe("Managing General Agent or Program Administrator name"),
2736
+ underwriter: z21.string().optional().describe("Named individual underwriter"),
2737
+ policyNumber: z21.string().optional().describe("Policy or quote reference number"),
2738
+ effectiveDate: z21.string().optional().describe("Policy effective date (MM/DD/YYYY)"),
2739
+ expirationDate: z21.string().optional().describe("Policy expiration date (MM/DD/YYYY)"),
2740
+ quoteNumber: z21.string().optional().describe("Quote or proposal reference number"),
2741
+ proposedEffectiveDate: z21.string().optional().describe("Proposed effective date for quotes (MM/DD/YYYY)")
2696
2742
  });
2697
2743
  function buildCarrierInfoPrompt() {
2698
2744
  return `You are an expert insurance document analyst. Extract carrier and policy identification information from this document.
@@ -2712,18 +2758,18 @@ Return JSON only.`;
2712
2758
  }
2713
2759
 
2714
2760
  // src/prompts/extractors/named-insured.ts
2715
- import { z as z21 } from "zod";
2716
- var AddressSchema2 = z21.object({
2717
- street1: z21.string(),
2718
- city: z21.string(),
2719
- state: z21.string(),
2720
- zip: z21.string()
2761
+ import { z as z22 } from "zod";
2762
+ var AddressSchema2 = z22.object({
2763
+ street1: z22.string(),
2764
+ city: z22.string(),
2765
+ state: z22.string(),
2766
+ zip: z22.string()
2721
2767
  });
2722
- var NamedInsuredSchema2 = z21.object({
2723
- insuredName: z21.string().describe("Name of primary named insured"),
2724
- insuredDba: z21.string().optional().describe("Doing-business-as name"),
2768
+ var NamedInsuredSchema2 = z22.object({
2769
+ insuredName: z22.string().describe("Name of primary named insured"),
2770
+ insuredDba: z22.string().optional().describe("Doing-business-as name"),
2725
2771
  insuredAddress: AddressSchema2.optional().describe("Primary insured mailing address"),
2726
- insuredEntityType: z21.enum([
2772
+ insuredEntityType: z22.enum([
2727
2773
  "corporation",
2728
2774
  "llc",
2729
2775
  "partnership",
@@ -2736,13 +2782,13 @@ var NamedInsuredSchema2 = z21.object({
2736
2782
  "married_couple",
2737
2783
  "other"
2738
2784
  ]).optional().describe("Legal entity type of the insured"),
2739
- insuredFein: z21.string().optional().describe("Federal Employer Identification Number"),
2740
- insuredSicCode: z21.string().optional().describe("SIC code"),
2741
- insuredNaicsCode: z21.string().optional().describe("NAICS code"),
2742
- additionalNamedInsureds: z21.array(
2743
- z21.object({
2744
- name: z21.string(),
2745
- relationship: z21.string().optional().describe("e.g. subsidiary, affiliate"),
2785
+ insuredFein: z22.string().optional().describe("Federal Employer Identification Number"),
2786
+ insuredSicCode: z22.string().optional().describe("SIC code"),
2787
+ insuredNaicsCode: z22.string().optional().describe("NAICS code"),
2788
+ additionalNamedInsureds: z22.array(
2789
+ z22.object({
2790
+ name: z22.string(),
2791
+ relationship: z22.string().optional().describe("e.g. subsidiary, affiliate"),
2746
2792
  address: AddressSchema2.optional()
2747
2793
  })
2748
2794
  ).optional().describe("Additional named insureds listed on the policy")
@@ -2763,19 +2809,19 @@ Return JSON only.`;
2763
2809
  }
2764
2810
 
2765
2811
  // src/prompts/extractors/coverage-limits.ts
2766
- import { z as z22 } from "zod";
2767
- var CoverageLimitsSchema = z22.object({
2768
- coverages: z22.array(
2769
- z22.object({
2770
- name: z22.string().describe("Coverage name"),
2771
- limit: z22.string().describe("Coverage limit, e.g. '$1,000,000'"),
2772
- deductible: z22.string().optional().describe("Deductible amount"),
2773
- coverageCode: z22.string().optional().describe("Coverage code or class code"),
2774
- formNumber: z22.string().optional().describe("Associated form number, e.g. 'CG 00 01'")
2812
+ import { z as z23 } from "zod";
2813
+ var CoverageLimitsSchema = z23.object({
2814
+ coverages: z23.array(
2815
+ z23.object({
2816
+ name: z23.string().describe("Coverage name"),
2817
+ limit: z23.string().describe("Coverage limit, e.g. '$1,000,000'"),
2818
+ deductible: z23.string().optional().describe("Deductible amount"),
2819
+ coverageCode: z23.string().optional().describe("Coverage code or class code"),
2820
+ formNumber: z23.string().optional().describe("Associated form number, e.g. 'CG 00 01'")
2775
2821
  })
2776
2822
  ).describe("All coverages with their limits"),
2777
- coverageForm: z22.enum(["occurrence", "claims_made", "accident"]).optional().describe("Primary coverage trigger type"),
2778
- retroactiveDate: z22.string().optional().describe("Retroactive date for claims-made policies (MM/DD/YYYY)")
2823
+ coverageForm: z23.enum(["occurrence", "claims_made", "accident"]).optional().describe("Primary coverage trigger type"),
2824
+ retroactiveDate: z23.string().optional().describe("Retroactive date for claims-made policies (MM/DD/YYYY)")
2779
2825
  });
2780
2826
  function buildCoverageLimitsPrompt() {
2781
2827
  return `You are an expert insurance document analyst. Extract all coverage limits and deductibles from this document.
@@ -2796,17 +2842,17 @@ Return JSON only.`;
2796
2842
  }
2797
2843
 
2798
2844
  // src/prompts/extractors/endorsements.ts
2799
- import { z as z23 } from "zod";
2800
- var EndorsementsSchema = z23.object({
2801
- endorsements: z23.array(
2802
- z23.object({
2803
- formNumber: z23.string().optional().describe("Form number, e.g. 'CG 21 47'"),
2804
- title: z23.string().optional().describe("Endorsement title"),
2805
- type: z23.enum(["broadening", "restrictive", "informational"]).optional().describe("Effect type: broadening adds coverage, restrictive limits it"),
2806
- content: z23.string().optional().describe("Full verbatim text of the endorsement"),
2807
- effectiveDate: z23.string().optional().describe("Endorsement effective date"),
2808
- premium: z23.string().optional().describe("Additional premium or credit"),
2809
- parties: z23.array(z23.string()).optional().describe("Named parties (additional insureds, loss payees, etc.)")
2845
+ import { z as z24 } from "zod";
2846
+ var EndorsementsSchema = z24.object({
2847
+ endorsements: z24.array(
2848
+ z24.object({
2849
+ formNumber: z24.string().optional().describe("Form number, e.g. 'CG 21 47'"),
2850
+ title: z24.string().optional().describe("Endorsement title"),
2851
+ type: z24.enum(["broadening", "restrictive", "informational"]).optional().describe("Effect type: broadening adds coverage, restrictive limits it"),
2852
+ content: z24.string().optional().describe("Full verbatim text of the endorsement"),
2853
+ effectiveDate: z24.string().optional().describe("Endorsement effective date"),
2854
+ premium: z24.string().optional().describe("Additional premium or credit"),
2855
+ parties: z24.array(z24.string()).optional().describe("Named parties (additional insureds, loss payees, etc.)")
2810
2856
  })
2811
2857
  ).describe("All endorsements found in the document")
2812
2858
  });
@@ -2832,14 +2878,14 @@ Return JSON only.`;
2832
2878
  }
2833
2879
 
2834
2880
  // src/prompts/extractors/exclusions.ts
2835
- import { z as z24 } from "zod";
2836
- var ExclusionsSchema = z24.object({
2837
- exclusions: z24.array(
2838
- z24.object({
2839
- title: z24.string().describe("Exclusion title or short description"),
2840
- content: z24.string().optional().describe("Full verbatim exclusion text"),
2841
- formNumber: z24.string().optional().describe("Form number if part of a named endorsement"),
2842
- appliesTo: z24.string().optional().describe("Coverage type this exclusion applies to")
2881
+ import { z as z25 } from "zod";
2882
+ var ExclusionsSchema = z25.object({
2883
+ exclusions: z25.array(
2884
+ z25.object({
2885
+ title: z25.string().describe("Exclusion title or short description"),
2886
+ content: z25.string().optional().describe("Full verbatim exclusion text"),
2887
+ formNumber: z25.string().optional().describe("Form number if part of a named endorsement"),
2888
+ appliesTo: z25.string().optional().describe("Coverage type this exclusion applies to")
2843
2889
  })
2844
2890
  ).describe("All exclusions found in the document")
2845
2891
  });
@@ -2860,11 +2906,11 @@ Return JSON only.`;
2860
2906
  }
2861
2907
 
2862
2908
  // src/prompts/extractors/conditions.ts
2863
- import { z as z25 } from "zod";
2864
- var ConditionsSchema = z25.object({
2865
- conditions: z25.array(
2866
- z25.object({
2867
- type: z25.enum([
2909
+ import { z as z26 } from "zod";
2910
+ var ConditionsSchema = z26.object({
2911
+ conditions: z26.array(
2912
+ z26.object({
2913
+ type: z26.enum([
2868
2914
  "duties_after_loss",
2869
2915
  "cooperation",
2870
2916
  "cancellation",
@@ -2878,9 +2924,9 @@ var ConditionsSchema = z25.object({
2878
2924
  "liberalization",
2879
2925
  "other"
2880
2926
  ]).optional().describe("Condition category"),
2881
- title: z25.string().describe("Condition title"),
2882
- content: z25.string().optional().describe("Full verbatim condition text"),
2883
- noticeDays: z25.number().optional().describe("Notice period in days if specified (e.g. cancellation notice)")
2927
+ title: z26.string().describe("Condition title"),
2928
+ content: z26.string().optional().describe("Full verbatim condition text"),
2929
+ noticeDays: z26.number().optional().describe("Notice period in days if specified (e.g. cancellation notice)")
2884
2930
  })
2885
2931
  ).describe("All policy conditions found in the document")
2886
2932
  });
@@ -2905,28 +2951,28 @@ Return JSON only.`;
2905
2951
  }
2906
2952
 
2907
2953
  // src/prompts/extractors/premium-breakdown.ts
2908
- import { z as z26 } from "zod";
2909
- var PremiumBreakdownSchema = z26.object({
2910
- premium: z26.string().optional().describe("Total premium amount, e.g. '$5,000'"),
2911
- totalCost: z26.string().optional().describe("Total cost including taxes and fees, e.g. '$5,250'"),
2912
- premiumBreakdown: z26.array(
2913
- z26.object({
2914
- line: z26.string().describe("Coverage line name"),
2915
- amount: z26.string().describe("Premium amount for this line")
2954
+ import { z as z27 } from "zod";
2955
+ var PremiumBreakdownSchema = z27.object({
2956
+ premium: z27.string().optional().describe("Total premium amount, e.g. '$5,000'"),
2957
+ totalCost: z27.string().optional().describe("Total cost including taxes and fees, e.g. '$5,250'"),
2958
+ premiumBreakdown: z27.array(
2959
+ z27.object({
2960
+ line: z27.string().describe("Coverage line name"),
2961
+ amount: z27.string().describe("Premium amount for this line")
2916
2962
  })
2917
2963
  ).optional().describe("Per-coverage-line premium breakdown"),
2918
- taxesAndFees: z26.array(
2919
- z26.object({
2920
- name: z26.string().describe("Fee or tax name"),
2921
- amount: z26.string().describe("Dollar amount"),
2922
- type: z26.enum(["tax", "fee", "surcharge", "assessment"]).optional().describe("Fee category")
2964
+ taxesAndFees: z27.array(
2965
+ z27.object({
2966
+ name: z27.string().describe("Fee or tax name"),
2967
+ amount: z27.string().describe("Dollar amount"),
2968
+ type: z27.enum(["tax", "fee", "surcharge", "assessment"]).optional().describe("Fee category")
2923
2969
  })
2924
2970
  ).optional().describe("Taxes, fees, surcharges, and assessments"),
2925
- minimumPremium: z26.string().optional().describe("Minimum premium if stated"),
2926
- depositPremium: z26.string().optional().describe("Deposit premium if stated"),
2927
- paymentPlan: z26.string().optional().describe("Payment plan description"),
2928
- auditType: z26.enum(["annual", "semi_annual", "quarterly", "monthly", "final", "self"]).optional().describe("Premium audit type"),
2929
- ratingBasis: z26.string().optional().describe("Rating basis, e.g. payroll, revenue, area, units")
2971
+ minimumPremium: z27.string().optional().describe("Minimum premium if stated"),
2972
+ depositPremium: z27.string().optional().describe("Deposit premium if stated"),
2973
+ paymentPlan: z27.string().optional().describe("Payment plan description"),
2974
+ auditType: z27.enum(["annual", "semi_annual", "quarterly", "monthly", "final", "self"]).optional().describe("Premium audit type"),
2975
+ ratingBasis: z27.string().optional().describe("Rating basis, e.g. payroll, revenue, area, units")
2930
2976
  });
2931
2977
  function buildPremiumBreakdownPrompt() {
2932
2978
  return `You are an expert insurance document analyst. Extract all premium and cost information from this document.
@@ -2946,14 +2992,14 @@ Return JSON only.`;
2946
2992
  }
2947
2993
 
2948
2994
  // src/prompts/extractors/declarations.ts
2949
- import { z as z27 } from "zod";
2950
- var DeclarationsFieldSchema = z27.object({
2951
- field: z27.string().describe("Descriptive field name (e.g. 'policyNumber', 'effectiveDate', 'coverageALimit')"),
2952
- value: z27.string().describe("Extracted value exactly as it appears in the document"),
2953
- section: z27.string().optional().describe("Section or grouping this field belongs to (e.g. 'Coverage Limits', 'Vehicle Schedule')")
2995
+ import { z as z28 } from "zod";
2996
+ var DeclarationsFieldSchema = z28.object({
2997
+ field: z28.string().describe("Descriptive field name (e.g. 'policyNumber', 'effectiveDate', 'coverageALimit')"),
2998
+ value: z28.string().describe("Extracted value exactly as it appears in the document"),
2999
+ section: z28.string().optional().describe("Section or grouping this field belongs to (e.g. 'Coverage Limits', 'Vehicle Schedule')")
2954
3000
  });
2955
- var DeclarationsExtractSchema = z27.object({
2956
- fields: z27.array(DeclarationsFieldSchema).describe("All declarations page fields extracted as key-value pairs. Structure varies by line of business.")
3001
+ var DeclarationsExtractSchema = z28.object({
3002
+ fields: z28.array(DeclarationsFieldSchema).describe("All declarations page fields extracted as key-value pairs. Structure varies by line of business.")
2957
3003
  });
2958
3004
  function buildDeclarationsPrompt() {
2959
3005
  return `You are an expert insurance document analyst. Extract all declarations page data from this document into a flexible key-value structure.
@@ -2993,21 +3039,21 @@ Preserve original values exactly as they appear. Return JSON only.`;
2993
3039
  }
2994
3040
 
2995
3041
  // src/prompts/extractors/loss-history.ts
2996
- import { z as z28 } from "zod";
2997
- var LossHistorySchema = z28.object({
2998
- lossSummary: z28.string().optional().describe("Summary of loss history, e.g. '3 claims in past 5 years totaling $125,000'"),
2999
- individualClaims: z28.array(
3000
- z28.object({
3001
- date: z28.string().optional().describe("Date of loss or claim"),
3002
- type: z28.string().optional().describe("Type of claim, e.g. 'property damage', 'bodily injury'"),
3003
- description: z28.string().optional().describe("Brief description of the claim"),
3004
- amountPaid: z28.string().optional().describe("Amount paid"),
3005
- amountReserved: z28.string().optional().describe("Amount reserved"),
3006
- status: z28.enum(["open", "closed", "reopened"]).optional().describe("Claim status"),
3007
- claimNumber: z28.string().optional().describe("Claim reference number")
3042
+ import { z as z29 } from "zod";
3043
+ var LossHistorySchema = z29.object({
3044
+ lossSummary: z29.string().optional().describe("Summary of loss history, e.g. '3 claims in past 5 years totaling $125,000'"),
3045
+ individualClaims: z29.array(
3046
+ z29.object({
3047
+ date: z29.string().optional().describe("Date of loss or claim"),
3048
+ type: z29.string().optional().describe("Type of claim, e.g. 'property damage', 'bodily injury'"),
3049
+ description: z29.string().optional().describe("Brief description of the claim"),
3050
+ amountPaid: z29.string().optional().describe("Amount paid"),
3051
+ amountReserved: z29.string().optional().describe("Amount reserved"),
3052
+ status: z29.enum(["open", "closed", "reopened"]).optional().describe("Claim status"),
3053
+ claimNumber: z29.string().optional().describe("Claim reference number")
3008
3054
  })
3009
3055
  ).optional().describe("Individual claim records"),
3010
- experienceMod: z28.string().optional().describe("Experience modification factor for workers comp, e.g. '0.85'")
3056
+ experienceMod: z29.string().optional().describe("Experience modification factor for workers comp, e.g. '0.85'")
3011
3057
  });
3012
3058
  function buildLossHistoryPrompt() {
3013
3059
  return `You are an expert insurance document analyst. Extract all loss history and claims information from this document.
@@ -3024,18 +3070,18 @@ Return JSON only.`;
3024
3070
  }
3025
3071
 
3026
3072
  // src/prompts/extractors/sections.ts
3027
- import { z as z29 } from "zod";
3028
- var SubsectionSchema2 = z29.object({
3029
- title: z29.string().describe("Subsection title"),
3030
- sectionNumber: z29.string().optional().describe("Subsection number"),
3031
- pageNumber: z29.number().optional().describe("Page number"),
3032
- content: z29.string().describe("Full verbatim text")
3073
+ import { z as z30 } from "zod";
3074
+ var SubsectionSchema2 = z30.object({
3075
+ title: z30.string().describe("Subsection title"),
3076
+ sectionNumber: z30.string().optional().describe("Subsection number"),
3077
+ pageNumber: z30.number().optional().describe("Page number"),
3078
+ content: z30.string().describe("Full verbatim text")
3033
3079
  });
3034
- var SectionsSchema = z29.object({
3035
- sections: z29.array(
3036
- z29.object({
3037
- title: z29.string().describe("Section title"),
3038
- type: z29.enum([
3080
+ var SectionsSchema = z30.object({
3081
+ sections: z30.array(
3082
+ z30.object({
3083
+ title: z30.string().describe("Section title"),
3084
+ type: z30.enum([
3039
3085
  "declarations",
3040
3086
  "insuring_agreement",
3041
3087
  "policy_form",
@@ -3049,10 +3095,10 @@ var SectionsSchema = z29.object({
3049
3095
  "regulatory",
3050
3096
  "other"
3051
3097
  ]).describe("Section type classification"),
3052
- content: z29.string().describe("Full verbatim text of the section"),
3053
- pageStart: z29.number().describe("Starting page number"),
3054
- pageEnd: z29.number().optional().describe("Ending page number"),
3055
- subsections: z29.array(SubsectionSchema2).optional().describe("Subsections within this section")
3098
+ content: z30.string().describe("Full verbatim text of the section"),
3099
+ pageStart: z30.number().describe("Starting page number"),
3100
+ pageEnd: z30.number().optional().describe("Ending page number"),
3101
+ subsections: z30.array(SubsectionSchema2).optional().describe("Subsections within this section")
3056
3102
  })
3057
3103
  ).describe("All document sections")
3058
3104
  });
@@ -3076,20 +3122,20 @@ Return JSON only.`;
3076
3122
  }
3077
3123
 
3078
3124
  // src/prompts/extractors/supplementary.ts
3079
- import { z as z30 } from "zod";
3080
- var ContactSchema2 = z30.object({
3081
- name: z30.string().optional().describe("Organization or person name"),
3082
- phone: z30.string().optional().describe("Phone number"),
3083
- email: z30.string().optional().describe("Email address"),
3084
- address: z30.string().optional().describe("Mailing address"),
3085
- type: z30.string().optional().describe("Contact type, e.g. 'State Department of Insurance'")
3125
+ import { z as z31 } from "zod";
3126
+ var ContactSchema2 = z31.object({
3127
+ name: z31.string().optional().describe("Organization or person name"),
3128
+ phone: z31.string().optional().describe("Phone number"),
3129
+ email: z31.string().optional().describe("Email address"),
3130
+ address: z31.string().optional().describe("Mailing address"),
3131
+ type: z31.string().optional().describe("Contact type, e.g. 'State Department of Insurance'")
3086
3132
  });
3087
- var SupplementarySchema = z30.object({
3088
- regulatoryContacts: z30.array(ContactSchema2).optional().describe("Regulatory body contacts (state department of insurance, ombudsman)"),
3089
- claimsContacts: z30.array(ContactSchema2).optional().describe("Claims reporting contacts and instructions"),
3090
- thirdPartyAdministrators: z30.array(ContactSchema2).optional().describe("Third-party administrators for claims handling"),
3091
- cancellationNoticeDays: z30.number().optional().describe("Required notice period for cancellation in days"),
3092
- nonrenewalNoticeDays: z30.number().optional().describe("Required notice period for nonrenewal in days")
3133
+ var SupplementarySchema = z31.object({
3134
+ regulatoryContacts: z31.array(ContactSchema2).optional().describe("Regulatory body contacts (state department of insurance, ombudsman)"),
3135
+ claimsContacts: z31.array(ContactSchema2).optional().describe("Claims reporting contacts and instructions"),
3136
+ thirdPartyAdministrators: z31.array(ContactSchema2).optional().describe("Third-party administrators for claims handling"),
3137
+ cancellationNoticeDays: z31.number().optional().describe("Required notice period for cancellation in days"),
3138
+ nonrenewalNoticeDays: z31.number().optional().describe("Required notice period for nonrenewal in days")
3093
3139
  });
3094
3140
  function buildSupplementaryPrompt() {
3095
3141
  return `You are an expert insurance document analyst. Extract supplementary and regulatory information from this document.
@@ -3591,8 +3637,8 @@ Respond with JSON only:
3591
3637
  }`;
3592
3638
 
3593
3639
  // src/schemas/application.ts
3594
- import { z as z31 } from "zod";
3595
- var FieldTypeSchema = z31.enum([
3640
+ import { z as z32 } from "zod";
3641
+ var FieldTypeSchema = z32.enum([
3596
3642
  "text",
3597
3643
  "numeric",
3598
3644
  "currency",
@@ -3601,100 +3647,100 @@ var FieldTypeSchema = z31.enum([
3601
3647
  "table",
3602
3648
  "declaration"
3603
3649
  ]);
3604
- var ApplicationFieldSchema = z31.object({
3605
- id: z31.string(),
3606
- label: z31.string(),
3607
- section: z31.string(),
3650
+ var ApplicationFieldSchema = z32.object({
3651
+ id: z32.string(),
3652
+ label: z32.string(),
3653
+ section: z32.string(),
3608
3654
  fieldType: FieldTypeSchema,
3609
- required: z31.boolean(),
3610
- options: z31.array(z31.string()).optional(),
3611
- columns: z31.array(z31.string()).optional(),
3612
- requiresExplanationIfYes: z31.boolean().optional(),
3613
- condition: z31.object({
3614
- dependsOn: z31.string(),
3615
- whenValue: z31.string()
3655
+ required: z32.boolean(),
3656
+ options: z32.array(z32.string()).optional(),
3657
+ columns: z32.array(z32.string()).optional(),
3658
+ requiresExplanationIfYes: z32.boolean().optional(),
3659
+ condition: z32.object({
3660
+ dependsOn: z32.string(),
3661
+ whenValue: z32.string()
3616
3662
  }).optional(),
3617
- value: z31.string().optional(),
3618
- source: z31.string().optional().describe("Where the value came from: auto-fill, user, lookup"),
3619
- confidence: z31.enum(["confirmed", "high", "medium", "low"]).optional()
3663
+ value: z32.string().optional(),
3664
+ source: z32.string().optional().describe("Where the value came from: auto-fill, user, lookup"),
3665
+ confidence: z32.enum(["confirmed", "high", "medium", "low"]).optional()
3620
3666
  });
3621
- var ApplicationClassifyResultSchema = z31.object({
3622
- isApplication: z31.boolean(),
3623
- confidence: z31.number().min(0).max(1),
3624
- applicationType: z31.string().nullable()
3667
+ var ApplicationClassifyResultSchema = z32.object({
3668
+ isApplication: z32.boolean(),
3669
+ confidence: z32.number().min(0).max(1),
3670
+ applicationType: z32.string().nullable()
3625
3671
  });
3626
- var FieldExtractionResultSchema = z31.object({
3627
- fields: z31.array(ApplicationFieldSchema)
3672
+ var FieldExtractionResultSchema = z32.object({
3673
+ fields: z32.array(ApplicationFieldSchema)
3628
3674
  });
3629
- var AutoFillMatchSchema = z31.object({
3630
- fieldId: z31.string(),
3631
- value: z31.string(),
3632
- confidence: z31.enum(["confirmed"]),
3633
- contextKey: z31.string()
3675
+ var AutoFillMatchSchema = z32.object({
3676
+ fieldId: z32.string(),
3677
+ value: z32.string(),
3678
+ confidence: z32.enum(["confirmed"]),
3679
+ contextKey: z32.string()
3634
3680
  });
3635
- var AutoFillResultSchema = z31.object({
3636
- matches: z31.array(AutoFillMatchSchema)
3681
+ var AutoFillResultSchema = z32.object({
3682
+ matches: z32.array(AutoFillMatchSchema)
3637
3683
  });
3638
- var QuestionBatchResultSchema = z31.object({
3639
- batches: z31.array(z31.array(z31.string()).describe("Array of field IDs in this batch"))
3684
+ var QuestionBatchResultSchema = z32.object({
3685
+ batches: z32.array(z32.array(z32.string()).describe("Array of field IDs in this batch"))
3640
3686
  });
3641
- var LookupRequestSchema = z31.object({
3642
- type: z31.string().describe("Type of lookup: 'records', 'website', 'policy'"),
3643
- description: z31.string(),
3644
- url: z31.string().optional(),
3645
- targetFieldIds: z31.array(z31.string())
3687
+ var LookupRequestSchema = z32.object({
3688
+ type: z32.string().describe("Type of lookup: 'records', 'website', 'policy'"),
3689
+ description: z32.string(),
3690
+ url: z32.string().optional(),
3691
+ targetFieldIds: z32.array(z32.string())
3646
3692
  });
3647
- var ReplyIntentSchema = z31.object({
3648
- primaryIntent: z31.enum(["answers_only", "question", "lookup_request", "mixed"]),
3649
- hasAnswers: z31.boolean(),
3650
- questionText: z31.string().optional(),
3651
- questionFieldIds: z31.array(z31.string()).optional(),
3652
- lookupRequests: z31.array(LookupRequestSchema).optional()
3693
+ var ReplyIntentSchema = z32.object({
3694
+ primaryIntent: z32.enum(["answers_only", "question", "lookup_request", "mixed"]),
3695
+ hasAnswers: z32.boolean(),
3696
+ questionText: z32.string().optional(),
3697
+ questionFieldIds: z32.array(z32.string()).optional(),
3698
+ lookupRequests: z32.array(LookupRequestSchema).optional()
3653
3699
  });
3654
- var ParsedAnswerSchema = z31.object({
3655
- fieldId: z31.string(),
3656
- value: z31.string(),
3657
- explanation: z31.string().optional()
3700
+ var ParsedAnswerSchema = z32.object({
3701
+ fieldId: z32.string(),
3702
+ value: z32.string(),
3703
+ explanation: z32.string().optional()
3658
3704
  });
3659
- var AnswerParsingResultSchema = z31.object({
3660
- answers: z31.array(ParsedAnswerSchema),
3661
- unanswered: z31.array(z31.string()).describe("Field IDs that were not answered")
3705
+ var AnswerParsingResultSchema = z32.object({
3706
+ answers: z32.array(ParsedAnswerSchema),
3707
+ unanswered: z32.array(z32.string()).describe("Field IDs that were not answered")
3662
3708
  });
3663
- var LookupFillSchema = z31.object({
3664
- fieldId: z31.string(),
3665
- value: z31.string(),
3666
- source: z31.string().describe("Specific citable reference, e.g. 'GL Policy #POL-12345 (Hartford)'")
3709
+ var LookupFillSchema = z32.object({
3710
+ fieldId: z32.string(),
3711
+ value: z32.string(),
3712
+ source: z32.string().describe("Specific citable reference, e.g. 'GL Policy #POL-12345 (Hartford)'")
3667
3713
  });
3668
- var LookupFillResultSchema = z31.object({
3669
- fills: z31.array(LookupFillSchema),
3670
- unfillable: z31.array(z31.string()),
3671
- explanation: z31.string().optional()
3714
+ var LookupFillResultSchema = z32.object({
3715
+ fills: z32.array(LookupFillSchema),
3716
+ unfillable: z32.array(z32.string()),
3717
+ explanation: z32.string().optional()
3672
3718
  });
3673
- var FlatPdfPlacementSchema = z31.object({
3674
- fieldId: z31.string(),
3675
- page: z31.number(),
3676
- x: z31.number().describe("Percentage from left edge (0-100)"),
3677
- y: z31.number().describe("Percentage from top edge (0-100)"),
3678
- text: z31.string(),
3679
- fontSize: z31.number().optional(),
3680
- isCheckmark: z31.boolean().optional()
3719
+ var FlatPdfPlacementSchema = z32.object({
3720
+ fieldId: z32.string(),
3721
+ page: z32.number(),
3722
+ x: z32.number().describe("Percentage from left edge (0-100)"),
3723
+ y: z32.number().describe("Percentage from top edge (0-100)"),
3724
+ text: z32.string(),
3725
+ fontSize: z32.number().optional(),
3726
+ isCheckmark: z32.boolean().optional()
3681
3727
  });
3682
- var AcroFormMappingSchema = z31.object({
3683
- fieldId: z31.string(),
3684
- acroFormName: z31.string(),
3685
- value: z31.string()
3728
+ var AcroFormMappingSchema = z32.object({
3729
+ fieldId: z32.string(),
3730
+ acroFormName: z32.string(),
3731
+ value: z32.string()
3686
3732
  });
3687
- var ApplicationStateSchema = z31.object({
3688
- id: z31.string(),
3689
- pdfBase64: z31.string().optional().describe("Original PDF, omitted after extraction"),
3690
- title: z31.string().optional(),
3691
- applicationType: z31.string().nullable().optional(),
3692
- fields: z31.array(ApplicationFieldSchema),
3693
- batches: z31.array(z31.array(z31.string())).optional(),
3694
- currentBatchIndex: z31.number().default(0),
3695
- status: z31.enum(["classifying", "extracting", "auto_filling", "batching", "collecting", "confirming", "mapping", "complete"]),
3696
- createdAt: z31.number(),
3697
- updatedAt: z31.number()
3733
+ var ApplicationStateSchema = z32.object({
3734
+ id: z32.string(),
3735
+ pdfBase64: z32.string().optional().describe("Original PDF, omitted after extraction"),
3736
+ title: z32.string().optional(),
3737
+ applicationType: z32.string().nullable().optional(),
3738
+ fields: z32.array(ApplicationFieldSchema),
3739
+ batches: z32.array(z32.array(z32.string())).optional(),
3740
+ currentBatchIndex: z32.number().default(0),
3741
+ status: z32.enum(["classifying", "extracting", "auto_filling", "batching", "collecting", "confirming", "mapping", "complete"]),
3742
+ createdAt: z32.number(),
3743
+ updatedAt: z32.number()
3698
3744
  });
3699
3745
 
3700
3746
  // src/application/agents/classifier.ts
@@ -4722,73 +4768,73 @@ Respond with the final answer, deduplicated citations array, overall confidence
4722
4768
  }
4723
4769
 
4724
4770
  // src/schemas/query.ts
4725
- import { z as z32 } from "zod";
4726
- var QueryIntentSchema = z32.enum([
4771
+ import { z as z33 } from "zod";
4772
+ var QueryIntentSchema = z33.enum([
4727
4773
  "policy_question",
4728
4774
  "coverage_comparison",
4729
4775
  "document_search",
4730
4776
  "claims_inquiry",
4731
4777
  "general_knowledge"
4732
4778
  ]);
4733
- var SubQuestionSchema = z32.object({
4734
- question: z32.string().describe("Atomic sub-question to retrieve and answer independently"),
4779
+ var SubQuestionSchema = z33.object({
4780
+ question: z33.string().describe("Atomic sub-question to retrieve and answer independently"),
4735
4781
  intent: QueryIntentSchema,
4736
- chunkTypes: z32.array(z32.string()).optional().describe("Chunk types to filter retrieval (e.g. coverage, endorsement, declaration)"),
4737
- documentFilters: z32.object({
4738
- type: z32.enum(["policy", "quote"]).optional(),
4739
- carrier: z32.string().optional(),
4740
- insuredName: z32.string().optional(),
4741
- policyNumber: z32.string().optional(),
4742
- quoteNumber: z32.string().optional()
4782
+ chunkTypes: z33.array(z33.string()).optional().describe("Chunk types to filter retrieval (e.g. coverage, endorsement, declaration)"),
4783
+ documentFilters: z33.object({
4784
+ type: z33.enum(["policy", "quote"]).optional(),
4785
+ carrier: z33.string().optional(),
4786
+ insuredName: z33.string().optional(),
4787
+ policyNumber: z33.string().optional(),
4788
+ quoteNumber: z33.string().optional()
4743
4789
  }).optional().describe("Structured filters to narrow document lookup")
4744
4790
  });
4745
- var QueryClassifyResultSchema = z32.object({
4791
+ var QueryClassifyResultSchema = z33.object({
4746
4792
  intent: QueryIntentSchema,
4747
- subQuestions: z32.array(SubQuestionSchema).min(1).describe("Decomposed atomic sub-questions"),
4748
- requiresDocumentLookup: z32.boolean().describe("Whether structured document lookup is needed"),
4749
- requiresChunkSearch: z32.boolean().describe("Whether semantic chunk search is needed"),
4750
- requiresConversationHistory: z32.boolean().describe("Whether conversation history is relevant")
4793
+ subQuestions: z33.array(SubQuestionSchema).min(1).describe("Decomposed atomic sub-questions"),
4794
+ requiresDocumentLookup: z33.boolean().describe("Whether structured document lookup is needed"),
4795
+ requiresChunkSearch: z33.boolean().describe("Whether semantic chunk search is needed"),
4796
+ requiresConversationHistory: z33.boolean().describe("Whether conversation history is relevant")
4751
4797
  });
4752
- var EvidenceItemSchema = z32.object({
4753
- source: z32.enum(["chunk", "document", "conversation"]),
4754
- chunkId: z32.string().optional(),
4755
- documentId: z32.string().optional(),
4756
- turnId: z32.string().optional(),
4757
- text: z32.string().describe("Text excerpt from the source"),
4758
- relevance: z32.number().min(0).max(1),
4759
- metadata: z32.array(z32.object({ key: z32.string(), value: z32.string() })).optional()
4798
+ var EvidenceItemSchema = z33.object({
4799
+ source: z33.enum(["chunk", "document", "conversation"]),
4800
+ chunkId: z33.string().optional(),
4801
+ documentId: z33.string().optional(),
4802
+ turnId: z33.string().optional(),
4803
+ text: z33.string().describe("Text excerpt from the source"),
4804
+ relevance: z33.number().min(0).max(1),
4805
+ metadata: z33.array(z33.object({ key: z33.string(), value: z33.string() })).optional()
4760
4806
  });
4761
- var RetrievalResultSchema = z32.object({
4762
- subQuestion: z32.string(),
4763
- evidence: z32.array(EvidenceItemSchema)
4807
+ var RetrievalResultSchema = z33.object({
4808
+ subQuestion: z33.string(),
4809
+ evidence: z33.array(EvidenceItemSchema)
4764
4810
  });
4765
- var CitationSchema = z32.object({
4766
- index: z32.number().describe("Citation number [1], [2], etc."),
4767
- chunkId: z32.string().describe("Source chunk ID, e.g. doc-123:coverage:2"),
4768
- documentId: z32.string(),
4769
- documentType: z32.enum(["policy", "quote"]).optional(),
4770
- field: z32.string().optional().describe("Specific field path, e.g. coverages[0].deductible"),
4771
- quote: z32.string().describe("Exact text from source that supports the claim"),
4772
- relevance: z32.number().min(0).max(1)
4811
+ var CitationSchema = z33.object({
4812
+ index: z33.number().describe("Citation number [1], [2], etc."),
4813
+ chunkId: z33.string().describe("Source chunk ID, e.g. doc-123:coverage:2"),
4814
+ documentId: z33.string(),
4815
+ documentType: z33.enum(["policy", "quote"]).optional(),
4816
+ field: z33.string().optional().describe("Specific field path, e.g. coverages[0].deductible"),
4817
+ quote: z33.string().describe("Exact text from source that supports the claim"),
4818
+ relevance: z33.number().min(0).max(1)
4773
4819
  });
4774
- var SubAnswerSchema = z32.object({
4775
- subQuestion: z32.string(),
4776
- answer: z32.string(),
4777
- citations: z32.array(CitationSchema),
4778
- confidence: z32.number().min(0).max(1),
4779
- needsMoreContext: z32.boolean().describe("True if evidence was insufficient to answer fully")
4820
+ var SubAnswerSchema = z33.object({
4821
+ subQuestion: z33.string(),
4822
+ answer: z33.string(),
4823
+ citations: z33.array(CitationSchema),
4824
+ confidence: z33.number().min(0).max(1),
4825
+ needsMoreContext: z33.boolean().describe("True if evidence was insufficient to answer fully")
4780
4826
  });
4781
- var VerifyResultSchema = z32.object({
4782
- approved: z32.boolean().describe("Whether all sub-answers are adequately grounded"),
4783
- issues: z32.array(z32.string()).describe("Specific grounding or consistency issues found"),
4784
- retrySubQuestions: z32.array(z32.string()).optional().describe("Sub-questions that need additional retrieval or re-reasoning")
4827
+ var VerifyResultSchema = z33.object({
4828
+ approved: z33.boolean().describe("Whether all sub-answers are adequately grounded"),
4829
+ issues: z33.array(z33.string()).describe("Specific grounding or consistency issues found"),
4830
+ retrySubQuestions: z33.array(z33.string()).optional().describe("Sub-questions that need additional retrieval or re-reasoning")
4785
4831
  });
4786
- var QueryResultSchema = z32.object({
4787
- answer: z32.string(),
4788
- citations: z32.array(CitationSchema),
4832
+ var QueryResultSchema = z33.object({
4833
+ answer: z33.string(),
4834
+ citations: z33.array(CitationSchema),
4789
4835
  intent: QueryIntentSchema,
4790
- confidence: z32.number().min(0).max(1),
4791
- followUp: z32.string().optional().describe("Suggested follow-up question if applicable")
4836
+ confidence: z33.number().min(0).max(1),
4837
+ followUp: z33.string().optional().describe("Suggested follow-up question if applicable")
4792
4838
  });
4793
4839
 
4794
4840
  // src/query/retriever.ts
@@ -5669,6 +5715,7 @@ export {
5669
5715
  safeGenerateObject,
5670
5716
  sanitizeNulls,
5671
5717
  stripFences,
5718
+ toStrictSchema,
5672
5719
  withRetry
5673
5720
  };
5674
5721
  //# sourceMappingURL=index.mjs.map