@mailwoman/api 9.0.0 → 9.2.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/README.md +1 -1
- package/app.ts +13 -8
- package/engine.ts +23 -11
- package/out/app.d.ts +2 -1
- package/out/app.d.ts.map +1 -1
- package/out/app.js +7 -7
- package/out/app.js.map +1 -1
- package/out/engine.d.ts +18 -22
- package/out/engine.d.ts.map +1 -1
- package/out/routes.d.ts +2 -1
- package/out/routes.d.ts.map +1 -1
- package/out/routes.js +28 -32
- package/out/routes.js.map +1 -1
- package/out/schema.d.ts +383 -3
- package/out/schema.d.ts.map +1 -1
- package/out/schema.js +133 -7
- package/out/schema.js.map +1 -1
- package/package.json +22 -7
- package/routes.ts +46 -35
- package/schema.ts +165 -29
package/out/schema.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* libpostal), nothing here is a vendor contract — this surface is ours to design, so request
|
|
8
8
|
* bodies are REQUIRED and validator-enforced (no legacy tolerance to preserve). A `defaultHook`
|
|
9
9
|
* on the app maps validation failures through the shared `APIErrorSchema` envelope
|
|
10
|
-
* (`
|
|
10
|
+
* (`errorResponse(c, 400, "invalid request body", <zod summary>)`) — the pattern boundary every
|
|
11
11
|
* surface holds to: where no legacy contract exists, the validator MAY speak, but only in
|
|
12
12
|
* our envelope.
|
|
13
13
|
*
|
|
@@ -97,16 +97,210 @@ export declare const GeocodeRequestSchema: z.ZodObject<{
|
|
|
97
97
|
* `@mailwoman/api`, never the reverse). `mailwoman/test/api-schema-drift.test.ts` is the compile-time tripwire that
|
|
98
98
|
* catches this shape drifting from the real `GeocodeResult` interface.
|
|
99
99
|
*/
|
|
100
|
-
export declare const
|
|
100
|
+
export declare const GeocodeOutcomeLikeSchema: z.ZodObject<{
|
|
101
101
|
input: z.ZodString;
|
|
102
|
+
components: z.ZodRecord<z.ZodEnum<{
|
|
103
|
+
country: "country";
|
|
104
|
+
region: "region";
|
|
105
|
+
locality: "locality";
|
|
106
|
+
dependent_locality: "dependent_locality";
|
|
107
|
+
postcode: "postcode";
|
|
108
|
+
subregion: "subregion";
|
|
109
|
+
house_number: "house_number";
|
|
110
|
+
street: "street";
|
|
111
|
+
street_prefix: "street_prefix";
|
|
112
|
+
street_prefix_particle: "street_prefix_particle";
|
|
113
|
+
street_suffix: "street_suffix";
|
|
114
|
+
intersection_a: "intersection_a";
|
|
115
|
+
intersection_b: "intersection_b";
|
|
116
|
+
unit: "unit";
|
|
117
|
+
venue: "venue";
|
|
118
|
+
attention: "attention";
|
|
119
|
+
po_box: "po_box";
|
|
120
|
+
cedex: "cedex";
|
|
121
|
+
prefecture: "prefecture";
|
|
122
|
+
municipality: "municipality";
|
|
123
|
+
district: "district";
|
|
124
|
+
block: "block";
|
|
125
|
+
sub_block: "sub_block";
|
|
126
|
+
building_number: "building_number";
|
|
127
|
+
building_name: "building_name";
|
|
128
|
+
}> & z.core.$partial, z.ZodString>;
|
|
102
129
|
lat: z.ZodNullable<z.ZodNumber>;
|
|
103
130
|
lon: z.ZodNullable<z.ZodNumber>;
|
|
104
131
|
resolution_tier: z.ZodEnum<{
|
|
132
|
+
street: "street";
|
|
133
|
+
venue: "venue";
|
|
105
134
|
address_point: "address_point";
|
|
106
135
|
interpolated: "interpolated";
|
|
136
|
+
admin: "admin";
|
|
137
|
+
plus_code: "plus_code";
|
|
138
|
+
}>;
|
|
139
|
+
entity: z.ZodOptional<z.ZodObject<{
|
|
140
|
+
name: z.ZodString;
|
|
141
|
+
categoryID: z.ZodNullable<z.ZodString>;
|
|
142
|
+
confidence: z.ZodNumber;
|
|
143
|
+
country: z.ZodString;
|
|
144
|
+
}, z.core.$strip>>;
|
|
145
|
+
uncertainty_m: z.ZodNullable<z.ZodNumber>;
|
|
146
|
+
locality: z.ZodNullable<z.ZodString>;
|
|
147
|
+
region: z.ZodNullable<z.ZodString>;
|
|
148
|
+
postcode: z.ZodNullable<z.ZodString>;
|
|
149
|
+
house_number: z.ZodNullable<z.ZodString>;
|
|
150
|
+
street: z.ZodNullable<z.ZodString>;
|
|
151
|
+
venue: z.ZodNullable<z.ZodString>;
|
|
152
|
+
dependent_locality: z.ZodNullable<z.ZodString>;
|
|
153
|
+
unit: z.ZodNullable<z.ZodString>;
|
|
154
|
+
countryCode: z.ZodNullable<z.ZodString>;
|
|
155
|
+
hierarchy: z.ZodArray<z.ZodObject<{
|
|
156
|
+
tag: z.ZodString;
|
|
157
|
+
value: z.ZodString;
|
|
158
|
+
name: z.ZodString;
|
|
159
|
+
lat: z.ZodOptional<z.ZodNumber>;
|
|
160
|
+
lon: z.ZodOptional<z.ZodNumber>;
|
|
161
|
+
placeID: z.ZodOptional<z.ZodString>;
|
|
162
|
+
in_winner_lineage: z.ZodOptional<z.ZodBoolean>;
|
|
163
|
+
}, z.core.$strip>>;
|
|
164
|
+
candidates: z.ZodArray<z.ZodObject<{
|
|
165
|
+
name: z.ZodString;
|
|
166
|
+
tag: z.ZodString;
|
|
167
|
+
lat: z.ZodNumber;
|
|
168
|
+
lon: z.ZodNumber;
|
|
169
|
+
countryCode: z.ZodNullable<z.ZodString>;
|
|
170
|
+
placeID: z.ZodOptional<z.ZodString>;
|
|
171
|
+
}, z.core.$strip>>;
|
|
172
|
+
rooftop: z.ZodOptional<z.ZodObject<{
|
|
173
|
+
localityNorm: z.ZodOptional<z.ZodString>;
|
|
174
|
+
postcode: z.ZodOptional<z.ZodString>;
|
|
175
|
+
}, z.core.$strip>>;
|
|
176
|
+
postcode_country_scope: z.ZodNullable<z.ZodString>;
|
|
177
|
+
intent_markers: z.ZodArray<z.ZodObject<{
|
|
178
|
+
kind: z.ZodEnum<{
|
|
179
|
+
intersection: "intersection";
|
|
180
|
+
po_box: "po_box";
|
|
181
|
+
postcode_only: "postcode_only";
|
|
182
|
+
locality_only: "locality_only";
|
|
183
|
+
structured_address: "structured_address";
|
|
184
|
+
landmark: "landmark";
|
|
185
|
+
poi_query: "poi_query";
|
|
186
|
+
vague: "vague";
|
|
187
|
+
bare_toponym: "bare_toponym";
|
|
188
|
+
route_pair: "route_pair";
|
|
189
|
+
near_me: "near_me";
|
|
190
|
+
poi_category: "poi_category";
|
|
191
|
+
}>;
|
|
192
|
+
code: z.ZodEnum<{
|
|
193
|
+
poi_category: "poi_category";
|
|
194
|
+
declared_ambiguity: "declared_ambiguity";
|
|
195
|
+
declared_fork: "declared_fork";
|
|
196
|
+
focus_point_required: "focus_point_required";
|
|
197
|
+
}>;
|
|
198
|
+
mechanism: z.ZodString;
|
|
199
|
+
message: z.ZodString;
|
|
200
|
+
evidence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
201
|
+
}, z.core.$strip>>;
|
|
202
|
+
admin_coherence: z.ZodOptional<z.ZodObject<{
|
|
203
|
+
region: z.ZodEnum<{
|
|
204
|
+
confirmed: "confirmed";
|
|
205
|
+
contradicted: "contradicted";
|
|
206
|
+
unstated: "unstated";
|
|
207
|
+
unverifiable: "unverifiable";
|
|
208
|
+
}>;
|
|
209
|
+
country: z.ZodEnum<{
|
|
210
|
+
confirmed: "confirmed";
|
|
211
|
+
contradicted: "contradicted";
|
|
212
|
+
unstated: "unstated";
|
|
213
|
+
unverifiable: "unverifiable";
|
|
214
|
+
}>;
|
|
215
|
+
}, z.core.$strip>>;
|
|
216
|
+
dropped_components: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
217
|
+
tag: z.ZodEnum<{
|
|
218
|
+
country: "country";
|
|
219
|
+
region: "region";
|
|
220
|
+
locality: "locality";
|
|
221
|
+
dependent_locality: "dependent_locality";
|
|
222
|
+
postcode: "postcode";
|
|
223
|
+
subregion: "subregion";
|
|
224
|
+
house_number: "house_number";
|
|
225
|
+
street: "street";
|
|
226
|
+
street_prefix: "street_prefix";
|
|
227
|
+
street_prefix_particle: "street_prefix_particle";
|
|
228
|
+
street_suffix: "street_suffix";
|
|
229
|
+
intersection_a: "intersection_a";
|
|
230
|
+
intersection_b: "intersection_b";
|
|
231
|
+
unit: "unit";
|
|
232
|
+
venue: "venue";
|
|
233
|
+
attention: "attention";
|
|
234
|
+
po_box: "po_box";
|
|
235
|
+
cedex: "cedex";
|
|
236
|
+
prefecture: "prefecture";
|
|
237
|
+
municipality: "municipality";
|
|
238
|
+
district: "district";
|
|
239
|
+
block: "block";
|
|
240
|
+
sub_block: "sub_block";
|
|
241
|
+
building_number: "building_number";
|
|
242
|
+
building_name: "building_name";
|
|
243
|
+
}>;
|
|
244
|
+
value: z.ZodString;
|
|
245
|
+
kept: z.ZodString;
|
|
246
|
+
}, z.core.$strip>>>;
|
|
247
|
+
}, z.core.$strip>;
|
|
248
|
+
export type GeocodeOutcomeLike = z.infer<typeof GeocodeOutcomeLikeSchema>;
|
|
249
|
+
/**
|
|
250
|
+
* `POST /v1/geocode` response — a hand-modeled mirror of `GeocodeResult`'s wire shape (`mailwoman/geocode-core.ts`),
|
|
251
|
+
* `.loose()` so a field the engine adds that this schema doesn't yet know about still rides through undocumented rather
|
|
252
|
+
* than being stripped or rejected. DOC-ACCURACY ONLY: the route passes `engine.geocode()`'s outcome through verbatim
|
|
253
|
+
* (`GeocodeOutcome = Record<string, unknown>`, `api/engine.ts`) — nothing here validates a real response, so a
|
|
254
|
+
* schema/engine mismatch can never reject or mutate a result at runtime. Deliberately carries NO import from
|
|
255
|
+
* `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.
|
|
258
|
+
*/
|
|
259
|
+
export declare const GeocodeOutcomeSchema: z.ZodObject<{
|
|
260
|
+
input: z.ZodString;
|
|
261
|
+
components: z.ZodRecord<z.ZodEnum<{
|
|
262
|
+
country: "country";
|
|
263
|
+
region: "region";
|
|
264
|
+
locality: "locality";
|
|
265
|
+
dependent_locality: "dependent_locality";
|
|
266
|
+
postcode: "postcode";
|
|
267
|
+
subregion: "subregion";
|
|
268
|
+
house_number: "house_number";
|
|
269
|
+
street: "street";
|
|
270
|
+
street_prefix: "street_prefix";
|
|
271
|
+
street_prefix_particle: "street_prefix_particle";
|
|
272
|
+
street_suffix: "street_suffix";
|
|
273
|
+
intersection_a: "intersection_a";
|
|
274
|
+
intersection_b: "intersection_b";
|
|
275
|
+
unit: "unit";
|
|
276
|
+
venue: "venue";
|
|
277
|
+
attention: "attention";
|
|
278
|
+
po_box: "po_box";
|
|
279
|
+
cedex: "cedex";
|
|
280
|
+
prefecture: "prefecture";
|
|
281
|
+
municipality: "municipality";
|
|
282
|
+
district: "district";
|
|
283
|
+
block: "block";
|
|
284
|
+
sub_block: "sub_block";
|
|
285
|
+
building_number: "building_number";
|
|
286
|
+
building_name: "building_name";
|
|
287
|
+
}> & z.core.$partial, z.ZodString>;
|
|
288
|
+
lat: z.ZodNullable<z.ZodNumber>;
|
|
289
|
+
lon: z.ZodNullable<z.ZodNumber>;
|
|
290
|
+
resolution_tier: z.ZodEnum<{
|
|
107
291
|
street: "street";
|
|
292
|
+
venue: "venue";
|
|
293
|
+
address_point: "address_point";
|
|
294
|
+
interpolated: "interpolated";
|
|
108
295
|
admin: "admin";
|
|
296
|
+
plus_code: "plus_code";
|
|
109
297
|
}>;
|
|
298
|
+
entity: z.ZodOptional<z.ZodObject<{
|
|
299
|
+
name: z.ZodString;
|
|
300
|
+
categoryID: z.ZodNullable<z.ZodString>;
|
|
301
|
+
confidence: z.ZodNumber;
|
|
302
|
+
country: z.ZodString;
|
|
303
|
+
}, z.core.$strip>>;
|
|
110
304
|
uncertainty_m: z.ZodNullable<z.ZodNumber>;
|
|
111
305
|
locality: z.ZodNullable<z.ZodString>;
|
|
112
306
|
region: z.ZodNullable<z.ZodString>;
|
|
@@ -124,6 +318,7 @@ export declare const GeocodeOutcomeSchema: z.ZodObject<{
|
|
|
124
318
|
lat: z.ZodOptional<z.ZodNumber>;
|
|
125
319
|
lon: z.ZodOptional<z.ZodNumber>;
|
|
126
320
|
placeID: z.ZodOptional<z.ZodString>;
|
|
321
|
+
in_winner_lineage: z.ZodOptional<z.ZodBoolean>;
|
|
127
322
|
}, z.core.$strip>>;
|
|
128
323
|
candidates: z.ZodArray<z.ZodObject<{
|
|
129
324
|
name: z.ZodString;
|
|
@@ -133,8 +328,83 @@ export declare const GeocodeOutcomeSchema: z.ZodObject<{
|
|
|
133
328
|
countryCode: z.ZodNullable<z.ZodString>;
|
|
134
329
|
placeID: z.ZodOptional<z.ZodString>;
|
|
135
330
|
}, z.core.$strip>>;
|
|
331
|
+
rooftop: z.ZodOptional<z.ZodObject<{
|
|
332
|
+
localityNorm: z.ZodOptional<z.ZodString>;
|
|
333
|
+
postcode: z.ZodOptional<z.ZodString>;
|
|
334
|
+
}, z.core.$strip>>;
|
|
136
335
|
postcode_country_scope: z.ZodNullable<z.ZodString>;
|
|
336
|
+
intent_markers: z.ZodArray<z.ZodObject<{
|
|
337
|
+
kind: z.ZodEnum<{
|
|
338
|
+
intersection: "intersection";
|
|
339
|
+
po_box: "po_box";
|
|
340
|
+
postcode_only: "postcode_only";
|
|
341
|
+
locality_only: "locality_only";
|
|
342
|
+
structured_address: "structured_address";
|
|
343
|
+
landmark: "landmark";
|
|
344
|
+
poi_query: "poi_query";
|
|
345
|
+
vague: "vague";
|
|
346
|
+
bare_toponym: "bare_toponym";
|
|
347
|
+
route_pair: "route_pair";
|
|
348
|
+
near_me: "near_me";
|
|
349
|
+
poi_category: "poi_category";
|
|
350
|
+
}>;
|
|
351
|
+
code: z.ZodEnum<{
|
|
352
|
+
poi_category: "poi_category";
|
|
353
|
+
declared_ambiguity: "declared_ambiguity";
|
|
354
|
+
declared_fork: "declared_fork";
|
|
355
|
+
focus_point_required: "focus_point_required";
|
|
356
|
+
}>;
|
|
357
|
+
mechanism: z.ZodString;
|
|
358
|
+
message: z.ZodString;
|
|
359
|
+
evidence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
360
|
+
}, z.core.$strip>>;
|
|
361
|
+
admin_coherence: z.ZodOptional<z.ZodObject<{
|
|
362
|
+
region: z.ZodEnum<{
|
|
363
|
+
confirmed: "confirmed";
|
|
364
|
+
contradicted: "contradicted";
|
|
365
|
+
unstated: "unstated";
|
|
366
|
+
unverifiable: "unverifiable";
|
|
367
|
+
}>;
|
|
368
|
+
country: z.ZodEnum<{
|
|
369
|
+
confirmed: "confirmed";
|
|
370
|
+
contradicted: "contradicted";
|
|
371
|
+
unstated: "unstated";
|
|
372
|
+
unverifiable: "unverifiable";
|
|
373
|
+
}>;
|
|
374
|
+
}, z.core.$strip>>;
|
|
375
|
+
dropped_components: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
376
|
+
tag: z.ZodEnum<{
|
|
377
|
+
country: "country";
|
|
378
|
+
region: "region";
|
|
379
|
+
locality: "locality";
|
|
380
|
+
dependent_locality: "dependent_locality";
|
|
381
|
+
postcode: "postcode";
|
|
382
|
+
subregion: "subregion";
|
|
383
|
+
house_number: "house_number";
|
|
384
|
+
street: "street";
|
|
385
|
+
street_prefix: "street_prefix";
|
|
386
|
+
street_prefix_particle: "street_prefix_particle";
|
|
387
|
+
street_suffix: "street_suffix";
|
|
388
|
+
intersection_a: "intersection_a";
|
|
389
|
+
intersection_b: "intersection_b";
|
|
390
|
+
unit: "unit";
|
|
391
|
+
venue: "venue";
|
|
392
|
+
attention: "attention";
|
|
393
|
+
po_box: "po_box";
|
|
394
|
+
cedex: "cedex";
|
|
395
|
+
prefecture: "prefecture";
|
|
396
|
+
municipality: "municipality";
|
|
397
|
+
district: "district";
|
|
398
|
+
block: "block";
|
|
399
|
+
sub_block: "sub_block";
|
|
400
|
+
building_number: "building_number";
|
|
401
|
+
building_name: "building_name";
|
|
402
|
+
}>;
|
|
403
|
+
value: z.ZodString;
|
|
404
|
+
kept: z.ZodString;
|
|
405
|
+
}, z.core.$strip>>>;
|
|
137
406
|
}, z.core.$loose>;
|
|
407
|
+
export type GeocodeOutcome = z.infer<typeof GeocodeOutcomeSchema>;
|
|
138
408
|
/**
|
|
139
409
|
* `POST /v1/batch` request body.
|
|
140
410
|
*/
|
|
@@ -151,14 +421,49 @@ export declare const BatchRequestSchema: z.ZodObject<{
|
|
|
151
421
|
export declare const BatchResponseSchema: z.ZodObject<{
|
|
152
422
|
results: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
|
|
153
423
|
input: z.ZodString;
|
|
424
|
+
components: z.ZodRecord<z.ZodEnum<{
|
|
425
|
+
country: "country";
|
|
426
|
+
region: "region";
|
|
427
|
+
locality: "locality";
|
|
428
|
+
dependent_locality: "dependent_locality";
|
|
429
|
+
postcode: "postcode";
|
|
430
|
+
subregion: "subregion";
|
|
431
|
+
house_number: "house_number";
|
|
432
|
+
street: "street";
|
|
433
|
+
street_prefix: "street_prefix";
|
|
434
|
+
street_prefix_particle: "street_prefix_particle";
|
|
435
|
+
street_suffix: "street_suffix";
|
|
436
|
+
intersection_a: "intersection_a";
|
|
437
|
+
intersection_b: "intersection_b";
|
|
438
|
+
unit: "unit";
|
|
439
|
+
venue: "venue";
|
|
440
|
+
attention: "attention";
|
|
441
|
+
po_box: "po_box";
|
|
442
|
+
cedex: "cedex";
|
|
443
|
+
prefecture: "prefecture";
|
|
444
|
+
municipality: "municipality";
|
|
445
|
+
district: "district";
|
|
446
|
+
block: "block";
|
|
447
|
+
sub_block: "sub_block";
|
|
448
|
+
building_number: "building_number";
|
|
449
|
+
building_name: "building_name";
|
|
450
|
+
}> & z.core.$partial, z.ZodString>;
|
|
154
451
|
lat: z.ZodNullable<z.ZodNumber>;
|
|
155
452
|
lon: z.ZodNullable<z.ZodNumber>;
|
|
156
453
|
resolution_tier: z.ZodEnum<{
|
|
454
|
+
street: "street";
|
|
455
|
+
venue: "venue";
|
|
157
456
|
address_point: "address_point";
|
|
158
457
|
interpolated: "interpolated";
|
|
159
|
-
street: "street";
|
|
160
458
|
admin: "admin";
|
|
459
|
+
plus_code: "plus_code";
|
|
161
460
|
}>;
|
|
461
|
+
entity: z.ZodOptional<z.ZodObject<{
|
|
462
|
+
name: z.ZodString;
|
|
463
|
+
categoryID: z.ZodNullable<z.ZodString>;
|
|
464
|
+
confidence: z.ZodNumber;
|
|
465
|
+
country: z.ZodString;
|
|
466
|
+
}, z.core.$strip>>;
|
|
162
467
|
uncertainty_m: z.ZodNullable<z.ZodNumber>;
|
|
163
468
|
locality: z.ZodNullable<z.ZodString>;
|
|
164
469
|
region: z.ZodNullable<z.ZodString>;
|
|
@@ -176,6 +481,7 @@ export declare const BatchResponseSchema: z.ZodObject<{
|
|
|
176
481
|
lat: z.ZodOptional<z.ZodNumber>;
|
|
177
482
|
lon: z.ZodOptional<z.ZodNumber>;
|
|
178
483
|
placeID: z.ZodOptional<z.ZodString>;
|
|
484
|
+
in_winner_lineage: z.ZodOptional<z.ZodBoolean>;
|
|
179
485
|
}, z.core.$strip>>;
|
|
180
486
|
candidates: z.ZodArray<z.ZodObject<{
|
|
181
487
|
name: z.ZodString;
|
|
@@ -185,7 +491,81 @@ export declare const BatchResponseSchema: z.ZodObject<{
|
|
|
185
491
|
countryCode: z.ZodNullable<z.ZodString>;
|
|
186
492
|
placeID: z.ZodOptional<z.ZodString>;
|
|
187
493
|
}, z.core.$strip>>;
|
|
494
|
+
rooftop: z.ZodOptional<z.ZodObject<{
|
|
495
|
+
localityNorm: z.ZodOptional<z.ZodString>;
|
|
496
|
+
postcode: z.ZodOptional<z.ZodString>;
|
|
497
|
+
}, z.core.$strip>>;
|
|
188
498
|
postcode_country_scope: z.ZodNullable<z.ZodString>;
|
|
499
|
+
intent_markers: z.ZodArray<z.ZodObject<{
|
|
500
|
+
kind: z.ZodEnum<{
|
|
501
|
+
intersection: "intersection";
|
|
502
|
+
po_box: "po_box";
|
|
503
|
+
postcode_only: "postcode_only";
|
|
504
|
+
locality_only: "locality_only";
|
|
505
|
+
structured_address: "structured_address";
|
|
506
|
+
landmark: "landmark";
|
|
507
|
+
poi_query: "poi_query";
|
|
508
|
+
vague: "vague";
|
|
509
|
+
bare_toponym: "bare_toponym";
|
|
510
|
+
route_pair: "route_pair";
|
|
511
|
+
near_me: "near_me";
|
|
512
|
+
poi_category: "poi_category";
|
|
513
|
+
}>;
|
|
514
|
+
code: z.ZodEnum<{
|
|
515
|
+
poi_category: "poi_category";
|
|
516
|
+
declared_ambiguity: "declared_ambiguity";
|
|
517
|
+
declared_fork: "declared_fork";
|
|
518
|
+
focus_point_required: "focus_point_required";
|
|
519
|
+
}>;
|
|
520
|
+
mechanism: z.ZodString;
|
|
521
|
+
message: z.ZodString;
|
|
522
|
+
evidence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
523
|
+
}, z.core.$strip>>;
|
|
524
|
+
admin_coherence: z.ZodOptional<z.ZodObject<{
|
|
525
|
+
region: z.ZodEnum<{
|
|
526
|
+
confirmed: "confirmed";
|
|
527
|
+
contradicted: "contradicted";
|
|
528
|
+
unstated: "unstated";
|
|
529
|
+
unverifiable: "unverifiable";
|
|
530
|
+
}>;
|
|
531
|
+
country: z.ZodEnum<{
|
|
532
|
+
confirmed: "confirmed";
|
|
533
|
+
contradicted: "contradicted";
|
|
534
|
+
unstated: "unstated";
|
|
535
|
+
unverifiable: "unverifiable";
|
|
536
|
+
}>;
|
|
537
|
+
}, z.core.$strip>>;
|
|
538
|
+
dropped_components: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
539
|
+
tag: z.ZodEnum<{
|
|
540
|
+
country: "country";
|
|
541
|
+
region: "region";
|
|
542
|
+
locality: "locality";
|
|
543
|
+
dependent_locality: "dependent_locality";
|
|
544
|
+
postcode: "postcode";
|
|
545
|
+
subregion: "subregion";
|
|
546
|
+
house_number: "house_number";
|
|
547
|
+
street: "street";
|
|
548
|
+
street_prefix: "street_prefix";
|
|
549
|
+
street_prefix_particle: "street_prefix_particle";
|
|
550
|
+
street_suffix: "street_suffix";
|
|
551
|
+
intersection_a: "intersection_a";
|
|
552
|
+
intersection_b: "intersection_b";
|
|
553
|
+
unit: "unit";
|
|
554
|
+
venue: "venue";
|
|
555
|
+
attention: "attention";
|
|
556
|
+
po_box: "po_box";
|
|
557
|
+
cedex: "cedex";
|
|
558
|
+
prefecture: "prefecture";
|
|
559
|
+
municipality: "municipality";
|
|
560
|
+
district: "district";
|
|
561
|
+
block: "block";
|
|
562
|
+
sub_block: "sub_block";
|
|
563
|
+
building_number: "building_number";
|
|
564
|
+
building_name: "building_name";
|
|
565
|
+
}>;
|
|
566
|
+
value: z.ZodString;
|
|
567
|
+
kept: z.ZodString;
|
|
568
|
+
}, z.core.$strip>>>;
|
|
189
569
|
}, z.core.$loose>, z.ZodObject<{
|
|
190
570
|
input: z.ZodString;
|
|
191
571
|
error: z.ZodString;
|
package/out/schema.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/out/schema.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* libpostal), nothing here is a vendor contract — this surface is ours to design, so request
|
|
8
8
|
* bodies are REQUIRED and validator-enforced (no legacy tolerance to preserve). A `defaultHook`
|
|
9
9
|
* on the app maps validation failures through the shared `APIErrorSchema` envelope
|
|
10
|
-
* (`
|
|
10
|
+
* (`errorResponse(c, 400, "invalid request body", <zod summary>)`) — the pattern boundary every
|
|
11
11
|
* surface holds to: where no legacy contract exists, the validator MAY speak, but only in
|
|
12
12
|
* our envelope.
|
|
13
13
|
*
|
|
@@ -89,6 +89,9 @@ const GeocodeHierarchyEntrySchema = z
|
|
|
89
89
|
lat: z.number().optional(),
|
|
90
90
|
lon: z.number().optional(),
|
|
91
91
|
placeID: z.string().optional(),
|
|
92
|
+
// #1731 tri-state lineage provenance: true = the winner's ancestor chain vouches for this entry, false =
|
|
93
|
+
// resolved independently OUTSIDE the winner's lineage, absent = unverifiable. Absence is not false.
|
|
94
|
+
in_winner_lineage: z.boolean().optional(),
|
|
92
95
|
})
|
|
93
96
|
.openapi("GeocodeHierarchyEntry");
|
|
94
97
|
/**
|
|
@@ -105,6 +108,77 @@ const GeocodeCandidateSchema = z
|
|
|
105
108
|
placeID: z.string().optional(),
|
|
106
109
|
})
|
|
107
110
|
.openapi("GeocodeCandidate");
|
|
111
|
+
/**
|
|
112
|
+
* The `ComponentTag` union at this engine-agnostic boundary, named once so every schema that speaks about a tag speaks
|
|
113
|
+
* about the SAME list. Two hand-copied enums would agree on the day they were written and diverge on the day a tag is
|
|
114
|
+
* added — the shape of defect `feedback-parity-needs-shared-function-not-shared-constants` describes.
|
|
115
|
+
*/
|
|
116
|
+
const ComponentTagSchema = z.enum([
|
|
117
|
+
"country",
|
|
118
|
+
"region",
|
|
119
|
+
"locality",
|
|
120
|
+
"dependent_locality",
|
|
121
|
+
"postcode",
|
|
122
|
+
"subregion",
|
|
123
|
+
"house_number",
|
|
124
|
+
"street",
|
|
125
|
+
"street_prefix",
|
|
126
|
+
"street_prefix_particle",
|
|
127
|
+
"street_suffix",
|
|
128
|
+
"intersection_a",
|
|
129
|
+
"intersection_b",
|
|
130
|
+
"unit",
|
|
131
|
+
"venue",
|
|
132
|
+
"attention",
|
|
133
|
+
"po_box",
|
|
134
|
+
"cedex",
|
|
135
|
+
"prefecture",
|
|
136
|
+
"municipality",
|
|
137
|
+
"district",
|
|
138
|
+
"block",
|
|
139
|
+
"sub_block",
|
|
140
|
+
"building_number",
|
|
141
|
+
"building_name",
|
|
142
|
+
]);
|
|
143
|
+
/**
|
|
144
|
+
* Canonical parsed-component map carried by `GeocodeResult.components`. Spelled out at this engine-agnostic API
|
|
145
|
+
* boundary for the same reason the result schema is hand-modeled; the compile-time drift pin in
|
|
146
|
+
* `mailwoman/test/api-schema-drift.test.ts` catches any mismatch with the real `ComponentTag`-keyed result type.
|
|
147
|
+
*/
|
|
148
|
+
const GeocodeComponentsSchema = z.partialRecord(ComponentTagSchema, z.string());
|
|
149
|
+
/**
|
|
150
|
+
* One `GeocodeOutcome.intent_markers` entry — an advisory the ROAD_TO_V9 §4 intent vocabulary raised about the QUERY.
|
|
151
|
+
* Mirrors `QueryIntentMarker` (`core/pipeline/types.ts`).
|
|
152
|
+
*
|
|
153
|
+
* `evidence` is deliberately open (`z.record`): each `code` carries its own measurement — a dominance margin, a pair of
|
|
154
|
+
* interpretations, a taxonomy id — and flattening those into one closed shape would either lose the numbers or invent
|
|
155
|
+
* fields that do not apply. `code` is the discriminator a client branches on.
|
|
156
|
+
*/
|
|
157
|
+
const QueryIntentMarkerSchema = z
|
|
158
|
+
.object({
|
|
159
|
+
// Spelled out rather than `z.string()` so `mailwoman/test/api-schema-drift.test.ts`'s schema-too-wide direction
|
|
160
|
+
// keeps biting: a new `QueryKind` that never reaches this list is a documented contract that has quietly stopped
|
|
161
|
+
// describing the real one.
|
|
162
|
+
kind: z.enum([
|
|
163
|
+
"postcode_only",
|
|
164
|
+
"locality_only",
|
|
165
|
+
"structured_address",
|
|
166
|
+
"intersection",
|
|
167
|
+
"po_box",
|
|
168
|
+
"landmark",
|
|
169
|
+
"poi_query",
|
|
170
|
+
"vague",
|
|
171
|
+
"bare_toponym",
|
|
172
|
+
"route_pair",
|
|
173
|
+
"near_me",
|
|
174
|
+
"poi_category",
|
|
175
|
+
]),
|
|
176
|
+
code: z.enum(["declared_ambiguity", "declared_fork", "focus_point_required", "poi_category"]),
|
|
177
|
+
mechanism: z.string(),
|
|
178
|
+
message: z.string(),
|
|
179
|
+
evidence: z.record(z.string(), z.unknown()).optional(),
|
|
180
|
+
})
|
|
181
|
+
.openapi("QueryIntentMarker");
|
|
108
182
|
/**
|
|
109
183
|
* `POST /v1/geocode` response — a hand-modeled mirror of `GeocodeResult`'s wire shape (`mailwoman/geocode-core.ts`),
|
|
110
184
|
* `.loose()` so a field the engine adds that this schema doesn't yet know about still rides through undocumented rather
|
|
@@ -115,12 +189,22 @@ const GeocodeCandidateSchema = z
|
|
|
115
189
|
* `@mailwoman/api`, never the reverse). `mailwoman/test/api-schema-drift.test.ts` is the compile-time tripwire that
|
|
116
190
|
* catches this shape drifting from the real `GeocodeResult` interface.
|
|
117
191
|
*/
|
|
118
|
-
export const
|
|
119
|
-
.object({
|
|
192
|
+
export const GeocodeOutcomeLikeSchema = z.object({
|
|
120
193
|
input: z.string(),
|
|
194
|
+
components: GeocodeComponentsSchema,
|
|
121
195
|
lat: z.number().nullable(),
|
|
122
196
|
lon: z.number().nullable(),
|
|
123
|
-
resolution_tier: z.enum(["address_point", "interpolated", "street", "admin"]),
|
|
197
|
+
resolution_tier: z.enum(["address_point", "interpolated", "street", "admin", "venue", "plus_code"]),
|
|
198
|
+
// The fork→entity probe's answer (#1585) — present only on the `venue` tier; see geocode-core's
|
|
199
|
+
// GeocodeResult.entity.
|
|
200
|
+
entity: z
|
|
201
|
+
.object({
|
|
202
|
+
name: z.string(),
|
|
203
|
+
categoryID: z.string().nullable(),
|
|
204
|
+
confidence: z.number(),
|
|
205
|
+
country: z.string(),
|
|
206
|
+
})
|
|
207
|
+
.optional(),
|
|
124
208
|
uncertainty_m: z.number().nullable(),
|
|
125
209
|
locality: z.string().nullable(),
|
|
126
210
|
region: z.string().nullable(),
|
|
@@ -136,13 +220,55 @@ export const GeocodeOutcomeSchema = z
|
|
|
136
220
|
countryCode: z.string().nullable(),
|
|
137
221
|
hierarchy: z.array(GeocodeHierarchyEntrySchema),
|
|
138
222
|
candidates: z.array(GeocodeCandidateSchema),
|
|
223
|
+
// The register row's OWN scope tags when the address_point tier answered and its shard carries
|
|
224
|
+
// them (normalized locality key + postcode of the ROOFTOP) — see geocode-core's GeocodeResult.rooftop.
|
|
225
|
+
rooftop: z
|
|
226
|
+
.object({
|
|
227
|
+
localityNorm: z.string().optional(),
|
|
228
|
+
postcode: z.string().optional(),
|
|
229
|
+
})
|
|
230
|
+
.optional(),
|
|
139
231
|
// #42: the country the postcode-country coherence pass scoped the walk to, or null. Non-null ONLY when it
|
|
140
232
|
// OVERRODE the request's country prior — so a caller who asked for US and got an FR answer can see which
|
|
141
233
|
// evidence bought the change instead of reading it as a bug.
|
|
142
234
|
postcode_country_scope: z.string().nullable(),
|
|
143
|
-
|
|
144
|
-
.
|
|
145
|
-
.
|
|
235
|
+
// ROAD_TO_V9 §4: query-intent advisories. Always present; empty means the vocabulary looked and had nothing to
|
|
236
|
+
// say. Advisory ONLY — no marker changed which answer won, and a client is free to ignore the array entirely.
|
|
237
|
+
intent_markers: z.array(QueryIntentMarkerSchema),
|
|
238
|
+
// #1717 stage 1: flag-only admin-coherence verdicts — did the winning candidate's resolved ancestry confirm,
|
|
239
|
+
// contradict, or fail to speak to the PARSED region/country qualifiers? Nothing ranks or gates on these; present
|
|
240
|
+
// whenever a winner resolved (both members always populated — `unstated` is the explicit no-qualifier claim),
|
|
241
|
+
// absent when nothing resolved to check against. See mailwoman's `admin-coherence.ts` for the verdict contract.
|
|
242
|
+
admin_coherence: z
|
|
243
|
+
.object({
|
|
244
|
+
region: z.enum(["confirmed", "contradicted", "unstated", "unverifiable"]),
|
|
245
|
+
country: z.enum(["confirmed", "contradicted", "unstated", "unverifiable"]),
|
|
246
|
+
})
|
|
247
|
+
.optional(),
|
|
248
|
+
// #1755: spans the flat `components` map could not represent. `components` holds one value per tag, so a second
|
|
249
|
+
// `locality` span ceases to exist there — and without this line `region: null` means both "the input named no
|
|
250
|
+
// region" and "it named one and we deleted it". Absent when nothing was dropped; never an empty array on the wire,
|
|
251
|
+
// because the common case is nothing dropped and a client should not have to read a field to learn that.
|
|
252
|
+
dropped_components: z
|
|
253
|
+
.array(z.object({
|
|
254
|
+
tag: ComponentTagSchema,
|
|
255
|
+
value: z.string(),
|
|
256
|
+
// The value that held the slot, so a reader sees which of the two survived without re-deriving it.
|
|
257
|
+
kept: z.string(),
|
|
258
|
+
}))
|
|
259
|
+
.optional(),
|
|
260
|
+
});
|
|
261
|
+
/**
|
|
262
|
+
* `POST /v1/geocode` response — a hand-modeled mirror of `GeocodeResult`'s wire shape (`mailwoman/geocode-core.ts`),
|
|
263
|
+
* `.loose()` so a field the engine adds that this schema doesn't yet know about still rides through undocumented rather
|
|
264
|
+
* than being stripped or rejected. DOC-ACCURACY ONLY: the route passes `engine.geocode()`'s outcome through verbatim
|
|
265
|
+
* (`GeocodeOutcome = Record<string, unknown>`, `api/engine.ts`) — nothing here validates a real response, so a
|
|
266
|
+
* schema/engine mismatch can never reject or mutate a result at runtime. Deliberately carries NO import from
|
|
267
|
+
* `mailwoman` (the engine-agnosticism boundary — `mailwoman` is the one workspace allowed to depend on
|
|
268
|
+
* `@mailwoman/api`, never the reverse). `mailwoman/test/api-schema-drift.test.ts` is the compile-time tripwire that
|
|
269
|
+
* catches this shape drifting from the real `GeocodeResult` interface.
|
|
270
|
+
*/
|
|
271
|
+
export const GeocodeOutcomeSchema = GeocodeOutcomeLikeSchema.loose().openapi("GeocodeOutcome");
|
|
146
272
|
/**
|
|
147
273
|
* `POST /v1/batch` request body.
|
|
148
274
|
*/
|
package/out/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","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,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;AAEvF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAA;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KACjC,MAAM,CAAC;IACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC3C,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7B,UAAU,EAAE,eAAe,CAAC,QAAQ,EAAE;CACtC,CAAC;KACD,OAAO,CAAC,cAAc,CAAC,CAAA;AAEzB;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAE9G;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KACjC,MAAM,CAAC;IACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;IACpD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC;KACD,OAAO,CAAC,cAAc,CAAC,CAAA;AAEzB;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KACnC,MAAM,CAAC;IACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC3C,UAAU,EAAE,eAAe,CAAC,QAAQ,EAAE;CACtC,CAAC;KACD,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAE3B;;;;GAIG;AACH,MAAM,2BAA2B,GAAG,CAAC;KACnC,MAAM,CAAC;IACP,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../schema.ts"],"names":[],"mappings":"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"}
|