@mailwoman/api 9.2.0 → 9.3.0

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/out/schema.d.ts CHANGED
@@ -16,10 +16,16 @@
16
16
  * and error alike, from this one file.
17
17
  */
18
18
  import { z } from "@hono/zod-openapi";
19
+ import type { AddressNode } from "@mailwoman/core/decoder";
19
20
  export { APIErrorSchema } from "@mailwoman/api-kit";
20
21
  /**
21
22
  * `POST /v1/parse` request body.
22
23
  */
24
+ /**
25
+ * One node of the decoded address tree. The decoder's `AddressNode` is a recursive union the OpenAPI generator cannot
26
+ * derive a schema for on its own, so it is registered as an open object; the shape is documented by the type.
27
+ */
28
+ export declare const AddressNodeSchema: z.ZodCustom<AddressNode, AddressNode>;
23
29
  /**
24
30
  * The input register (Decision A / GTM B10): `fragmented` = the map-search register (evidence-bundle channels feed);
25
31
  * `formatted` = the validation/record register (channels off). Unset → the engine derives it from the input's shape.
@@ -73,7 +79,8 @@ export declare const ParseOutcomeSchema: z.ZodObject<{
73
79
  value: z.ZodString;
74
80
  }, z.core.$strip>>;
75
81
  tree: z.ZodObject<{
76
- roots: z.ZodArray<z.ZodUnknown>;
82
+ raw: z.ZodString;
83
+ roots: z.ZodArray<z.ZodCustom<AddressNode, AddressNode>>;
77
84
  }, z.core.$loose>;
78
85
  debug: z.ZodOptional<z.ZodString>;
79
86
  }, z.core.$strip>;
@@ -87,6 +94,59 @@ export declare const GeocodeRequestSchema: z.ZodObject<{
87
94
  formatted: "formatted";
88
95
  }>>;
89
96
  }, z.core.$strip>;
97
+ /**
98
+ * The derivation behind a geocode answer, present only when the engine was asked to trace — `@mailwoman/evidence`'s
99
+ * `DerivationProjection` on the wire.
100
+ */
101
+ export declare const DerivationProjectionSchema: z.ZodObject<{
102
+ status: z.ZodEnum<{
103
+ designated: "designated";
104
+ observed: "observed";
105
+ derived: "derived";
106
+ inferred: "inferred";
107
+ unresolved: "unresolved";
108
+ }>;
109
+ constraints: z.ZodReadonly<z.ZodArray<z.ZodObject<{
110
+ label: z.ZodString;
111
+ evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
112
+ kind: z.ZodLiteral<"observation">;
113
+ source: z.ZodString;
114
+ vintage: z.ZodNullable<z.ZodString>;
115
+ value: z.ZodUnknown;
116
+ }, z.core.$strip>, z.ZodObject<{
117
+ kind: z.ZodLiteral<"exclusion">;
118
+ source: z.ZodString;
119
+ vintage: z.ZodString;
120
+ scope: z.ZodObject<{
121
+ layer: z.ZodString;
122
+ h3Cell: z.ZodNumber;
123
+ basis: z.ZodEnum<{
124
+ designated: "designated";
125
+ surveyed: "surveyed";
126
+ source_present: "source_present";
127
+ }>;
128
+ fold: z.ZodString;
129
+ }, z.core.$strip>;
130
+ }, z.core.$strip>, z.ZodObject<{
131
+ kind: z.ZodLiteral<"relation">;
132
+ source: z.ZodString;
133
+ vintage: z.ZodString;
134
+ relationship: z.ZodString;
135
+ assertion: z.ZodEnum<{
136
+ inferred: "inferred";
137
+ authoritative: "authoritative";
138
+ }>;
139
+ score: z.ZodOptional<z.ZodNumber>;
140
+ }, z.core.$strip>, z.ZodObject<{
141
+ kind: z.ZodLiteral<"prior">;
142
+ source: z.ZodString;
143
+ label: z.ZodString;
144
+ weight: z.ZodNumber;
145
+ }, z.core.$strip>], "kind">;
146
+ contribution: z.ZodString;
147
+ }, z.core.$strip>>>;
148
+ uncertaintyM: z.ZodNullable<z.ZodNumber>;
149
+ }, z.core.$strip>;
90
150
  /**
91
151
  * `POST /v1/geocode` response — a hand-modeled mirror of `GeocodeResult`'s wire shape (`mailwoman/geocode-core.ts`),
92
152
  * `.loose()` so a field the engine adds that this schema doesn't yet know about still rides through undocumented rather
@@ -94,8 +154,8 @@ export declare const GeocodeRequestSchema: z.ZodObject<{
94
154
  * (`GeocodeOutcome = Record<string, unknown>`, `api/engine.ts`) — nothing here validates a real response, so a
95
155
  * schema/engine mismatch can never reject or mutate a result at runtime. Deliberately carries NO import from
96
156
  * `mailwoman` (the engine-agnosticism boundary — `mailwoman` is the one workspace allowed to depend on
97
- * `@mailwoman/api`, never the reverse). `mailwoman/test/api-schema-drift.test.ts` is the compile-time tripwire that
98
- * catches this shape drifting from the real `GeocodeResult` interface.
157
+ * `@mailwoman/api`, never the reverse). `mailwoman/test/api-schema-drift.test.ts` is the compile-time regression check
158
+ * that catches this shape drifting from the real `GeocodeResult` interface.
99
159
  */
100
160
  export declare const GeocodeOutcomeLikeSchema: z.ZodObject<{
101
161
  input: z.ZodString;
@@ -125,6 +185,7 @@ export declare const GeocodeOutcomeLikeSchema: z.ZodObject<{
125
185
  sub_block: "sub_block";
126
186
  building_number: "building_number";
127
187
  building_name: "building_name";
188
+ locality_unit: "locality_unit";
128
189
  }> & z.core.$partial, z.ZodString>;
129
190
  lat: z.ZodNullable<z.ZodNumber>;
130
191
  lon: z.ZodNullable<z.ZodNumber>;
@@ -136,6 +197,62 @@ export declare const GeocodeOutcomeLikeSchema: z.ZodObject<{
136
197
  admin: "admin";
137
198
  plus_code: "plus_code";
138
199
  }>;
200
+ epistemic_status: z.ZodEnum<{
201
+ designated: "designated";
202
+ observed: "observed";
203
+ derived: "derived";
204
+ inferred: "inferred";
205
+ unresolved: "unresolved";
206
+ }>;
207
+ derivation: z.ZodOptional<z.ZodObject<{
208
+ status: z.ZodEnum<{
209
+ designated: "designated";
210
+ observed: "observed";
211
+ derived: "derived";
212
+ inferred: "inferred";
213
+ unresolved: "unresolved";
214
+ }>;
215
+ constraints: z.ZodReadonly<z.ZodArray<z.ZodObject<{
216
+ label: z.ZodString;
217
+ evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
218
+ kind: z.ZodLiteral<"observation">;
219
+ source: z.ZodString;
220
+ vintage: z.ZodNullable<z.ZodString>;
221
+ value: z.ZodUnknown;
222
+ }, z.core.$strip>, z.ZodObject<{
223
+ kind: z.ZodLiteral<"exclusion">;
224
+ source: z.ZodString;
225
+ vintage: z.ZodString;
226
+ scope: z.ZodObject<{
227
+ layer: z.ZodString;
228
+ h3Cell: z.ZodNumber;
229
+ basis: z.ZodEnum<{
230
+ designated: "designated";
231
+ surveyed: "surveyed";
232
+ source_present: "source_present";
233
+ }>;
234
+ fold: z.ZodString;
235
+ }, z.core.$strip>;
236
+ }, z.core.$strip>, z.ZodObject<{
237
+ kind: z.ZodLiteral<"relation">;
238
+ source: z.ZodString;
239
+ vintage: z.ZodString;
240
+ relationship: z.ZodString;
241
+ assertion: z.ZodEnum<{
242
+ inferred: "inferred";
243
+ authoritative: "authoritative";
244
+ }>;
245
+ score: z.ZodOptional<z.ZodNumber>;
246
+ }, z.core.$strip>, z.ZodObject<{
247
+ kind: z.ZodLiteral<"prior">;
248
+ source: z.ZodString;
249
+ label: z.ZodString;
250
+ weight: z.ZodNumber;
251
+ }, z.core.$strip>], "kind">;
252
+ contribution: z.ZodString;
253
+ }, z.core.$strip>>>;
254
+ uncertaintyM: z.ZodNullable<z.ZodNumber>;
255
+ }, z.core.$strip>>;
139
256
  entity: z.ZodOptional<z.ZodObject<{
140
257
  name: z.ZodString;
141
258
  categoryID: z.ZodNullable<z.ZodString>;
@@ -174,6 +291,8 @@ export declare const GeocodeOutcomeLikeSchema: z.ZodObject<{
174
291
  postcode: z.ZodOptional<z.ZodString>;
175
292
  }, z.core.$strip>>;
176
293
  postcode_country_scope: z.ZodNullable<z.ZodString>;
294
+ capital_promotion: z.ZodOptional<z.ZodString>;
295
+ variant_alias_exemption: z.ZodOptional<z.ZodLiteral<true>>;
177
296
  intent_markers: z.ZodArray<z.ZodObject<{
178
297
  kind: z.ZodEnum<{
179
298
  intersection: "intersection";
@@ -194,6 +313,8 @@ export declare const GeocodeOutcomeLikeSchema: z.ZodObject<{
194
313
  declared_ambiguity: "declared_ambiguity";
195
314
  declared_fork: "declared_fork";
196
315
  focus_point_required: "focus_point_required";
316
+ coverage_qualified_absence: "coverage_qualified_absence";
317
+ authority_designation: "authority_designation";
197
318
  }>;
198
319
  mechanism: z.ZodString;
199
320
  message: z.ZodString;
@@ -213,6 +334,33 @@ export declare const GeocodeOutcomeLikeSchema: z.ZodObject<{
213
334
  unverifiable: "unverifiable";
214
335
  }>;
215
336
  }, z.core.$strip>>;
337
+ authoritative: z.ZodOptional<z.ZodObject<{
338
+ provider: z.ZodString;
339
+ status: z.ZodEnum<{
340
+ matched: "matched";
341
+ ambiguous: "ambiguous";
342
+ refused: "refused";
343
+ transport_error: "transport_error";
344
+ }>;
345
+ matches: z.ZodOptional<z.ZodArray<z.ZodObject<{
346
+ provider_place_id: z.ZodString;
347
+ object_ids: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
348
+ canonical_fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
349
+ lat: z.ZodOptional<z.ZodNumber>;
350
+ lon: z.ZodOptional<z.ZodNumber>;
351
+ precision: z.ZodOptional<z.ZodString>;
352
+ match_status: z.ZodEnum<{
353
+ exact: "exact";
354
+ approximate: "approximate";
355
+ }>;
356
+ provider_score: z.ZodOptional<z.ZodNumber>;
357
+ }, z.core.$strip>>>;
358
+ attribution: z.ZodOptional<z.ZodString>;
359
+ license: z.ZodOptional<z.ZodString>;
360
+ retrieved_at: z.ZodOptional<z.ZodString>;
361
+ dataset_version: z.ZodOptional<z.ZodString>;
362
+ error: z.ZodOptional<z.ZodString>;
363
+ }, z.core.$strip>>;
216
364
  dropped_components: z.ZodOptional<z.ZodArray<z.ZodObject<{
217
365
  tag: z.ZodEnum<{
218
366
  country: "country";
@@ -240,6 +388,7 @@ export declare const GeocodeOutcomeLikeSchema: z.ZodObject<{
240
388
  sub_block: "sub_block";
241
389
  building_number: "building_number";
242
390
  building_name: "building_name";
391
+ locality_unit: "locality_unit";
243
392
  }>;
244
393
  value: z.ZodString;
245
394
  kept: z.ZodString;
@@ -253,8 +402,8 @@ export type GeocodeOutcomeLike = z.infer<typeof GeocodeOutcomeLikeSchema>;
253
402
  * (`GeocodeOutcome = Record<string, unknown>`, `api/engine.ts`) — nothing here validates a real response, so a
254
403
  * schema/engine mismatch can never reject or mutate a result at runtime. Deliberately carries NO import from
255
404
  * `mailwoman` (the engine-agnosticism boundary — `mailwoman` is the one workspace allowed to depend on
256
- * `@mailwoman/api`, never the reverse). `mailwoman/test/api-schema-drift.test.ts` is the compile-time tripwire that
257
- * catches this shape drifting from the real `GeocodeResult` interface.
405
+ * `@mailwoman/api`, never the reverse). `mailwoman/test/api-schema-drift.test.ts` is the compile-time regression check
406
+ * that catches this shape drifting from the real `GeocodeResult` interface.
258
407
  */
259
408
  export declare const GeocodeOutcomeSchema: z.ZodObject<{
260
409
  input: z.ZodString;
@@ -284,6 +433,7 @@ export declare const GeocodeOutcomeSchema: z.ZodObject<{
284
433
  sub_block: "sub_block";
285
434
  building_number: "building_number";
286
435
  building_name: "building_name";
436
+ locality_unit: "locality_unit";
287
437
  }> & z.core.$partial, z.ZodString>;
288
438
  lat: z.ZodNullable<z.ZodNumber>;
289
439
  lon: z.ZodNullable<z.ZodNumber>;
@@ -295,6 +445,62 @@ export declare const GeocodeOutcomeSchema: z.ZodObject<{
295
445
  admin: "admin";
296
446
  plus_code: "plus_code";
297
447
  }>;
448
+ epistemic_status: z.ZodEnum<{
449
+ designated: "designated";
450
+ observed: "observed";
451
+ derived: "derived";
452
+ inferred: "inferred";
453
+ unresolved: "unresolved";
454
+ }>;
455
+ derivation: z.ZodOptional<z.ZodObject<{
456
+ status: z.ZodEnum<{
457
+ designated: "designated";
458
+ observed: "observed";
459
+ derived: "derived";
460
+ inferred: "inferred";
461
+ unresolved: "unresolved";
462
+ }>;
463
+ constraints: z.ZodReadonly<z.ZodArray<z.ZodObject<{
464
+ label: z.ZodString;
465
+ evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
466
+ kind: z.ZodLiteral<"observation">;
467
+ source: z.ZodString;
468
+ vintage: z.ZodNullable<z.ZodString>;
469
+ value: z.ZodUnknown;
470
+ }, z.core.$strip>, z.ZodObject<{
471
+ kind: z.ZodLiteral<"exclusion">;
472
+ source: z.ZodString;
473
+ vintage: z.ZodString;
474
+ scope: z.ZodObject<{
475
+ layer: z.ZodString;
476
+ h3Cell: z.ZodNumber;
477
+ basis: z.ZodEnum<{
478
+ designated: "designated";
479
+ surveyed: "surveyed";
480
+ source_present: "source_present";
481
+ }>;
482
+ fold: z.ZodString;
483
+ }, z.core.$strip>;
484
+ }, z.core.$strip>, z.ZodObject<{
485
+ kind: z.ZodLiteral<"relation">;
486
+ source: z.ZodString;
487
+ vintage: z.ZodString;
488
+ relationship: z.ZodString;
489
+ assertion: z.ZodEnum<{
490
+ inferred: "inferred";
491
+ authoritative: "authoritative";
492
+ }>;
493
+ score: z.ZodOptional<z.ZodNumber>;
494
+ }, z.core.$strip>, z.ZodObject<{
495
+ kind: z.ZodLiteral<"prior">;
496
+ source: z.ZodString;
497
+ label: z.ZodString;
498
+ weight: z.ZodNumber;
499
+ }, z.core.$strip>], "kind">;
500
+ contribution: z.ZodString;
501
+ }, z.core.$strip>>>;
502
+ uncertaintyM: z.ZodNullable<z.ZodNumber>;
503
+ }, z.core.$strip>>;
298
504
  entity: z.ZodOptional<z.ZodObject<{
299
505
  name: z.ZodString;
300
506
  categoryID: z.ZodNullable<z.ZodString>;
@@ -333,6 +539,8 @@ export declare const GeocodeOutcomeSchema: z.ZodObject<{
333
539
  postcode: z.ZodOptional<z.ZodString>;
334
540
  }, z.core.$strip>>;
335
541
  postcode_country_scope: z.ZodNullable<z.ZodString>;
542
+ capital_promotion: z.ZodOptional<z.ZodString>;
543
+ variant_alias_exemption: z.ZodOptional<z.ZodLiteral<true>>;
336
544
  intent_markers: z.ZodArray<z.ZodObject<{
337
545
  kind: z.ZodEnum<{
338
546
  intersection: "intersection";
@@ -353,6 +561,8 @@ export declare const GeocodeOutcomeSchema: z.ZodObject<{
353
561
  declared_ambiguity: "declared_ambiguity";
354
562
  declared_fork: "declared_fork";
355
563
  focus_point_required: "focus_point_required";
564
+ coverage_qualified_absence: "coverage_qualified_absence";
565
+ authority_designation: "authority_designation";
356
566
  }>;
357
567
  mechanism: z.ZodString;
358
568
  message: z.ZodString;
@@ -372,6 +582,33 @@ export declare const GeocodeOutcomeSchema: z.ZodObject<{
372
582
  unverifiable: "unverifiable";
373
583
  }>;
374
584
  }, z.core.$strip>>;
585
+ authoritative: z.ZodOptional<z.ZodObject<{
586
+ provider: z.ZodString;
587
+ status: z.ZodEnum<{
588
+ matched: "matched";
589
+ ambiguous: "ambiguous";
590
+ refused: "refused";
591
+ transport_error: "transport_error";
592
+ }>;
593
+ matches: z.ZodOptional<z.ZodArray<z.ZodObject<{
594
+ provider_place_id: z.ZodString;
595
+ object_ids: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
596
+ canonical_fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
597
+ lat: z.ZodOptional<z.ZodNumber>;
598
+ lon: z.ZodOptional<z.ZodNumber>;
599
+ precision: z.ZodOptional<z.ZodString>;
600
+ match_status: z.ZodEnum<{
601
+ exact: "exact";
602
+ approximate: "approximate";
603
+ }>;
604
+ provider_score: z.ZodOptional<z.ZodNumber>;
605
+ }, z.core.$strip>>>;
606
+ attribution: z.ZodOptional<z.ZodString>;
607
+ license: z.ZodOptional<z.ZodString>;
608
+ retrieved_at: z.ZodOptional<z.ZodString>;
609
+ dataset_version: z.ZodOptional<z.ZodString>;
610
+ error: z.ZodOptional<z.ZodString>;
611
+ }, z.core.$strip>>;
375
612
  dropped_components: z.ZodOptional<z.ZodArray<z.ZodObject<{
376
613
  tag: z.ZodEnum<{
377
614
  country: "country";
@@ -399,6 +636,7 @@ export declare const GeocodeOutcomeSchema: z.ZodObject<{
399
636
  sub_block: "sub_block";
400
637
  building_number: "building_number";
401
638
  building_name: "building_name";
639
+ locality_unit: "locality_unit";
402
640
  }>;
403
641
  value: z.ZodString;
404
642
  kept: z.ZodString;
@@ -447,6 +685,7 @@ export declare const BatchResponseSchema: z.ZodObject<{
447
685
  sub_block: "sub_block";
448
686
  building_number: "building_number";
449
687
  building_name: "building_name";
688
+ locality_unit: "locality_unit";
450
689
  }> & z.core.$partial, z.ZodString>;
451
690
  lat: z.ZodNullable<z.ZodNumber>;
452
691
  lon: z.ZodNullable<z.ZodNumber>;
@@ -458,6 +697,62 @@ export declare const BatchResponseSchema: z.ZodObject<{
458
697
  admin: "admin";
459
698
  plus_code: "plus_code";
460
699
  }>;
700
+ epistemic_status: z.ZodEnum<{
701
+ designated: "designated";
702
+ observed: "observed";
703
+ derived: "derived";
704
+ inferred: "inferred";
705
+ unresolved: "unresolved";
706
+ }>;
707
+ derivation: z.ZodOptional<z.ZodObject<{
708
+ status: z.ZodEnum<{
709
+ designated: "designated";
710
+ observed: "observed";
711
+ derived: "derived";
712
+ inferred: "inferred";
713
+ unresolved: "unresolved";
714
+ }>;
715
+ constraints: z.ZodReadonly<z.ZodArray<z.ZodObject<{
716
+ label: z.ZodString;
717
+ evidence: z.ZodDiscriminatedUnion<[z.ZodObject<{
718
+ kind: z.ZodLiteral<"observation">;
719
+ source: z.ZodString;
720
+ vintage: z.ZodNullable<z.ZodString>;
721
+ value: z.ZodUnknown;
722
+ }, z.core.$strip>, z.ZodObject<{
723
+ kind: z.ZodLiteral<"exclusion">;
724
+ source: z.ZodString;
725
+ vintage: z.ZodString;
726
+ scope: z.ZodObject<{
727
+ layer: z.ZodString;
728
+ h3Cell: z.ZodNumber;
729
+ basis: z.ZodEnum<{
730
+ designated: "designated";
731
+ surveyed: "surveyed";
732
+ source_present: "source_present";
733
+ }>;
734
+ fold: z.ZodString;
735
+ }, z.core.$strip>;
736
+ }, z.core.$strip>, z.ZodObject<{
737
+ kind: z.ZodLiteral<"relation">;
738
+ source: z.ZodString;
739
+ vintage: z.ZodString;
740
+ relationship: z.ZodString;
741
+ assertion: z.ZodEnum<{
742
+ inferred: "inferred";
743
+ authoritative: "authoritative";
744
+ }>;
745
+ score: z.ZodOptional<z.ZodNumber>;
746
+ }, z.core.$strip>, z.ZodObject<{
747
+ kind: z.ZodLiteral<"prior">;
748
+ source: z.ZodString;
749
+ label: z.ZodString;
750
+ weight: z.ZodNumber;
751
+ }, z.core.$strip>], "kind">;
752
+ contribution: z.ZodString;
753
+ }, z.core.$strip>>>;
754
+ uncertaintyM: z.ZodNullable<z.ZodNumber>;
755
+ }, z.core.$strip>>;
461
756
  entity: z.ZodOptional<z.ZodObject<{
462
757
  name: z.ZodString;
463
758
  categoryID: z.ZodNullable<z.ZodString>;
@@ -496,6 +791,8 @@ export declare const BatchResponseSchema: z.ZodObject<{
496
791
  postcode: z.ZodOptional<z.ZodString>;
497
792
  }, z.core.$strip>>;
498
793
  postcode_country_scope: z.ZodNullable<z.ZodString>;
794
+ capital_promotion: z.ZodOptional<z.ZodString>;
795
+ variant_alias_exemption: z.ZodOptional<z.ZodLiteral<true>>;
499
796
  intent_markers: z.ZodArray<z.ZodObject<{
500
797
  kind: z.ZodEnum<{
501
798
  intersection: "intersection";
@@ -516,6 +813,8 @@ export declare const BatchResponseSchema: z.ZodObject<{
516
813
  declared_ambiguity: "declared_ambiguity";
517
814
  declared_fork: "declared_fork";
518
815
  focus_point_required: "focus_point_required";
816
+ coverage_qualified_absence: "coverage_qualified_absence";
817
+ authority_designation: "authority_designation";
519
818
  }>;
520
819
  mechanism: z.ZodString;
521
820
  message: z.ZodString;
@@ -535,6 +834,33 @@ export declare const BatchResponseSchema: z.ZodObject<{
535
834
  unverifiable: "unverifiable";
536
835
  }>;
537
836
  }, z.core.$strip>>;
837
+ authoritative: z.ZodOptional<z.ZodObject<{
838
+ provider: z.ZodString;
839
+ status: z.ZodEnum<{
840
+ matched: "matched";
841
+ ambiguous: "ambiguous";
842
+ refused: "refused";
843
+ transport_error: "transport_error";
844
+ }>;
845
+ matches: z.ZodOptional<z.ZodArray<z.ZodObject<{
846
+ provider_place_id: z.ZodString;
847
+ object_ids: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
848
+ canonical_fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
849
+ lat: z.ZodOptional<z.ZodNumber>;
850
+ lon: z.ZodOptional<z.ZodNumber>;
851
+ precision: z.ZodOptional<z.ZodString>;
852
+ match_status: z.ZodEnum<{
853
+ exact: "exact";
854
+ approximate: "approximate";
855
+ }>;
856
+ provider_score: z.ZodOptional<z.ZodNumber>;
857
+ }, z.core.$strip>>>;
858
+ attribution: z.ZodOptional<z.ZodString>;
859
+ license: z.ZodOptional<z.ZodString>;
860
+ retrieved_at: z.ZodOptional<z.ZodString>;
861
+ dataset_version: z.ZodOptional<z.ZodString>;
862
+ error: z.ZodOptional<z.ZodString>;
863
+ }, z.core.$strip>>;
538
864
  dropped_components: z.ZodOptional<z.ZodArray<z.ZodObject<{
539
865
  tag: z.ZodEnum<{
540
866
  country: "country";
@@ -562,6 +888,7 @@ export declare const BatchResponseSchema: z.ZodObject<{
562
888
  sub_block: "sub_block";
563
889
  building_number: "building_number";
564
890
  building_name: "building_name";
891
+ locality_unit: "locality_unit";
565
892
  }>;
566
893
  value: z.ZodString;
567
894
  kept: z.ZodString;
@@ -577,7 +904,8 @@ export declare const BatchResponseSchema: z.ZodObject<{
577
904
  */
578
905
  export declare const ResolveRequestSchema: z.ZodObject<{
579
906
  tree: z.ZodObject<{
580
- roots: z.ZodArray<z.ZodUnknown>;
907
+ raw: z.ZodString;
908
+ roots: z.ZodArray<z.ZodCustom<AddressNode, AddressNode>>;
581
909
  }, z.core.$loose>;
582
910
  opts: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
583
911
  }, z.core.$strip>;
@@ -586,7 +914,8 @@ export declare const ResolveRequestSchema: z.ZodObject<{
586
914
  */
587
915
  export declare const ResolveResponseSchema: z.ZodObject<{
588
916
  tree: z.ZodObject<{
589
- roots: z.ZodArray<z.ZodUnknown>;
917
+ raw: z.ZodString;
918
+ roots: z.ZodArray<z.ZodCustom<AddressNode, AddressNode>>;
590
919
  }, z.core.$loose>;
591
920
  }, z.core.$strip>;
592
921
  /**
@@ -609,9 +938,11 @@ export declare const FormatResponseSchema: z.ZodObject<{
609
938
  }, z.core.$strip>;
610
939
  /**
611
940
  * `GET /health` response — `status`/`uptime_s` are stamped by the ROUTE itself, unconditionally, regardless of engine
612
- * (`api/routes.ts`'s `healthRoute` handler: `{ status: "ok", uptime_s, ...engine.health?.() }`), so those two are cheap
613
- * + accurate to pin. Everything else is `HealthData` (`api/engine.ts`) — an engine-defined block (model card, data-root
614
- * inventory for `mailwoman serve`; something else entirely for another engine) — stays loose.
941
+ * (`api/routes.ts`'s `healthRoute` handler: `{ status: "ok", uptime_s, ...engine.health?.() }`), so those two are
942
+ * cheap
943
+ *
944
+ * - Accurate to pin. Everything else is `HealthData` (`api/engine.ts`) — an engine-defined block (model card, data-root
945
+ * inventory for `mailwoman serve`; something else entirely for another engine) — stays loose.
615
946
  */
616
947
  export declare const HealthResponseSchema: z.ZodObject<{
617
948
  status: z.ZodLiteral<"ok">;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAA;AAErC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD;;GAEG;AACH;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;EAA2D,CAAA;AAEvF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,OAAO,CAAA;AAEtC;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;iBAMN,CAAA;AAEzB;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;iBAA6E,CAAA;AAE9G;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;iBAON,CAAA;AAEzB;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;iBAKN,CAAA;AA8G3B;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsEnC,CAAA;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEzE;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA6D,CAAA;AAE9F,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEjE;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;iBAUN,CAAA;AAYzB;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIN,CAAA;AAE1B;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;iBAKN,CAAA;AAE3B;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;iBAIN,CAAA;AAQ5B;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;iBAMN,CAAA;AAE1B;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;iBAKN,CAAA;AAE3B;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;;iBAMN,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../lib/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAA;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAG1D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD;;GAEG;AACH;;;GAGG;AACH,eAAO,MAAM,iBAAiB,uCAK5B,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;EAA2D,CAAA;AAEvF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,OAAO,CAAA;AAEtC;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;iBAMN,CAAA;AAEzB;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;iBAA6E,CAAA;AAE9G;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;iBAON,CAAA;AAEzB;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;iBAKN,CAAA;AAgK3B;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIrC,CAAA;AAUF;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmGnC,CAAA;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEzE;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA6D,CAAA;AAE9F,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEjE;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;iBAUN,CAAA;AAYzB;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIN,CAAA;AAE1B;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;iBAKN,CAAA;AAE3B;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;iBAIN,CAAA;AAQ5B;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;iBAMN,CAAA;AAE1B;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;iBAKN,CAAA;AAE3B;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB;;;iBAMN,CAAA"}