domainkit 0.1.1 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +87 -83
  2. package/dist/{client-BnD7QLRF.mjs → auth-6-KRy1gN.mjs} +235 -131
  3. package/dist/auth-6-KRy1gN.mjs.map +1 -0
  4. package/dist/{auth-B0owkrpk.mjs → auth-B4jq3yk3.mjs} +212 -20
  5. package/dist/auth-B4jq3yk3.mjs.map +1 -0
  6. package/dist/authorization-CQSKKMrW.mjs +255 -0
  7. package/dist/authorization-CQSKKMrW.mjs.map +1 -0
  8. package/dist/canonical-json-CpvqGMcr.mjs +57 -0
  9. package/dist/canonical-json-CpvqGMcr.mjs.map +1 -0
  10. package/dist/{cloudflare-D0-J2MfP.mjs → cloudflare-Bg_p-M2c.mjs} +26 -3
  11. package/dist/cloudflare-Bg_p-M2c.mjs.map +1 -0
  12. package/dist/cloudflare-FDl5q7Dm.d.mts +32 -0
  13. package/dist/cloudflare.d.mts +3 -3
  14. package/dist/cloudflare.mjs +2 -2
  15. package/dist/connection-BXoSrhZs.mjs +58 -0
  16. package/dist/connection-BXoSrhZs.mjs.map +1 -0
  17. package/dist/connection-CEqadXSm.d.mts +182 -0
  18. package/dist/connection-X3rZhrBZ.mjs +186 -0
  19. package/dist/connection-X3rZhrBZ.mjs.map +1 -0
  20. package/dist/connection-api-DftK7eHo.d.mts +7 -0
  21. package/dist/{dns-record-C_KwGPLf.mjs → dns-record-BLeqo56C.mjs} +23 -3
  22. package/dist/dns-record-BLeqo56C.mjs.map +1 -0
  23. package/dist/effect-cloudflare.d.mts +2 -2
  24. package/dist/effect-cloudflare.mjs +2 -2
  25. package/dist/effect-vercel.d.mts +2 -2
  26. package/dist/effect-vercel.mjs +2 -2
  27. package/dist/effect.d.mts +9 -46
  28. package/dist/effect.mjs +29 -7
  29. package/dist/effect.mjs.map +1 -1
  30. package/dist/{index-D2howbNz.d.mts → index-B1opsgls.d.mts} +53 -6
  31. package/dist/{index-CEzk2gbZ.d.mts → index-Ewc__bQu.d.mts} +58 -7
  32. package/dist/index.d.mts +169 -113
  33. package/dist/index.mjs +201 -139
  34. package/dist/index.mjs.map +1 -1
  35. package/dist/{resolver-BHPsADzE.d.mts → resolver-BbVzTbCX.d.mts} +630 -273
  36. package/dist/resolver-CxE-VDw4.mjs +598 -0
  37. package/dist/resolver-CxE-VDw4.mjs.map +1 -0
  38. package/dist/testing.d.mts +53 -44
  39. package/dist/testing.mjs +379 -107
  40. package/dist/testing.mjs.map +1 -1
  41. package/dist/{vercel-DD89DCqH.mjs → vercel-BIFpZRPu.mjs} +23 -3
  42. package/dist/vercel-BIFpZRPu.mjs.map +1 -0
  43. package/dist/vercel-DgJaUX9D.d.mts +31 -0
  44. package/dist/vercel.d.mts +3 -3
  45. package/dist/vercel.mjs +2 -2
  46. package/dist/verify-7_EbKbFM.d.mts +805 -0
  47. package/dist/verify-Q5RYpnuw.mjs +642 -0
  48. package/dist/verify-Q5RYpnuw.mjs.map +1 -0
  49. package/dist/zone-discovery-BA5I24vu.d.mts +1390 -0
  50. package/dist/zones-DKHTpX9C.mjs +19 -0
  51. package/dist/zones-DKHTpX9C.mjs.map +1 -0
  52. package/package.json +1 -1
  53. package/dist/auth-B0owkrpk.mjs.map +0 -1
  54. package/dist/client-BnD7QLRF.mjs.map +0 -1
  55. package/dist/cloudflare-CprjjXfm.d.mts +0 -23
  56. package/dist/cloudflare-D0-J2MfP.mjs.map +0 -1
  57. package/dist/dns-record-C_KwGPLf.mjs.map +0 -1
  58. package/dist/manifest-CP85ePFn.d.mts +0 -583
  59. package/dist/receipt-CGSnfZQ6.mjs +0 -28
  60. package/dist/receipt-CGSnfZQ6.mjs.map +0 -1
  61. package/dist/resolver-tEXpKxmH.mjs +0 -200
  62. package/dist/resolver-tEXpKxmH.mjs.map +0 -1
  63. package/dist/vercel-D-E2aqb1.d.mts +0 -22
  64. package/dist/vercel-DD89DCqH.mjs.map +0 -1
  65. package/dist/verify-B80xCBh2.d.mts +0 -1407
  66. package/dist/verify-BXOvXE20.mjs +0 -1388
  67. package/dist/verify-BXOvXE20.mjs.map +0 -1
@@ -0,0 +1,805 @@
1
+ import { A as Connection, Lt as Error, Nt as DomainName, W as ProviderAuthorization, ft as Service$1, vt as DnsRecord } from "./zone-discovery-BA5I24vu.mjs";
2
+ import { a as Interface$1, c as Service$2, i as Error$1, n as AsyncInterface, o as Query, t as Answer } from "./resolver-BbVzTbCX.mjs";
3
+ import { Context, Data, Effect, Layer, Schema } from "effect";
4
+ declare namespace diagnostic_d_exports {
5
+ export { Category, Diagnostic, Fields, RetryAdvice, from };
6
+ }
7
+ declare const Category: Schema.Literals<readonly ["authorization", "configuration", "provider", "storage", "validation"]>;
8
+ type Category = typeof Category.Type;
9
+ declare const RetryAdvice: Schema.Literals<readonly ["never", "after-user-action", "safe", "unknown"]>;
10
+ type RetryAdvice = typeof RetryAdvice.Type;
11
+ declare const Fields: {
12
+ readonly category: Schema.Literals<readonly ["authorization", "configuration", "provider", "storage", "validation"]>;
13
+ readonly message: Schema.String;
14
+ readonly operation: Schema.String;
15
+ readonly retry: Schema.Literals<readonly ["never", "after-user-action", "safe", "unknown"]>;
16
+ };
17
+ interface Diagnostic {
18
+ readonly category: Category;
19
+ readonly message: string;
20
+ readonly operation: string;
21
+ readonly retry: RetryAdvice;
22
+ readonly tag: string;
23
+ }
24
+ declare function from(error: {
25
+ readonly _tag: string;
26
+ readonly category: Category;
27
+ readonly message: string;
28
+ readonly operation: string;
29
+ readonly retry: RetryAdvice;
30
+ }): Diagnostic;
31
+ declare namespace selection_d_exports {
32
+ export { ConnectedZone, Evidence$1 as Evidence, Selection, select };
33
+ }
34
+ interface ConnectedZone {
35
+ readonly authorization: ProviderAuthorization;
36
+ readonly connection: Connection;
37
+ readonly nameservers: ReadonlyArray<string>;
38
+ readonly providerId: string;
39
+ readonly zone: string;
40
+ }
41
+ declare const Evidence$1: Schema.Struct<{
42
+ readonly accountId: Schema.String;
43
+ readonly connectionId: Schema.String;
44
+ readonly decisiveNameserverMatch: Schema.Boolean;
45
+ readonly matchedNameservers: Schema.$Array<Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>>;
46
+ readonly providerId: Schema.String;
47
+ readonly zone: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
48
+ }>;
49
+ interface Evidence$1 extends Schema.Schema.Type<typeof Evidence$1> {}
50
+ declare const Selection: Schema.TaggedUnion<{
51
+ readonly manual: Schema.TaggedStruct<"manual", {
52
+ readonly evidence: Schema.$Array<Schema.Struct<{
53
+ readonly accountId: Schema.String;
54
+ readonly connectionId: Schema.String;
55
+ readonly decisiveNameserverMatch: Schema.Boolean;
56
+ readonly matchedNameservers: Schema.$Array<Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>>;
57
+ readonly providerId: Schema.String;
58
+ readonly zone: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
59
+ }>>;
60
+ readonly reason: Schema.Literals<readonly ["ambiguous", "unsupported"]>;
61
+ }>;
62
+ readonly selected: Schema.TaggedStruct<"selected", {
63
+ readonly candidate: Schema.Struct<{
64
+ readonly accountId: Schema.String;
65
+ readonly connectionId: Schema.String;
66
+ readonly decisiveNameserverMatch: Schema.Boolean;
67
+ readonly matchedNameservers: Schema.$Array<Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>>;
68
+ readonly providerId: Schema.String;
69
+ readonly zone: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
70
+ }>;
71
+ readonly evidence: Schema.$Array<Schema.Struct<{
72
+ readonly accountId: Schema.String;
73
+ readonly connectionId: Schema.String;
74
+ readonly decisiveNameserverMatch: Schema.Boolean;
75
+ readonly matchedNameservers: Schema.$Array<Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>>;
76
+ readonly providerId: Schema.String;
77
+ readonly zone: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
78
+ }>>;
79
+ readonly reason: Schema.Literals<readonly ["explicit", "unique-nameserver-match"]>;
80
+ }>;
81
+ }>;
82
+ type Selection = typeof Selection.Type;
83
+ declare function select(input: {
84
+ readonly authoritativeNameservers: ReadonlyArray<string>;
85
+ readonly connectedZones: ReadonlyArray<ConnectedZone>;
86
+ readonly domain: string;
87
+ readonly explicit?: {
88
+ readonly accountId: string;
89
+ readonly providerId: string;
90
+ readonly zone: string;
91
+ };
92
+ readonly now?: Date;
93
+ }): Selection;
94
+ declare namespace zones_d_exports {
95
+ export { candidates };
96
+ }
97
+ declare function candidates(input: string): ReadonlyArray<DomainName>;
98
+ declare namespace doh_d_exports {
99
+ export { Fetch, Options$2 as Options, layer$2 as layer, make$3 as make, toAsync$2 as toAsync };
100
+ }
101
+ type Fetch = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
102
+ interface Options$2 {
103
+ readonly endpoint: string;
104
+ readonly fetch?: Fetch;
105
+ readonly timeoutMs?: number;
106
+ }
107
+ declare function make$3(options: Options$2): Interface$1;
108
+ declare const layer$2: (options: Options$2) => Layer.Layer<Service$2>;
109
+ declare const toAsync$2: (options: Options$2) => AsyncInterface;
110
+ declare namespace cloudflare_doh_d_exports {
111
+ export { Options$1 as Options, layer$1 as layer, make$2 as make, toAsync$1 as toAsync };
112
+ }
113
+ interface Options$1 extends Omit<Options$2, "endpoint"> {
114
+ readonly endpoint?: string;
115
+ }
116
+ declare function make$2(options?: Options$1): Interface$1;
117
+ declare const layer$1: (options?: Options$1) => Layer.Layer<Service$2>;
118
+ declare const toAsync$1: (options?: Options$1) => AsyncInterface;
119
+ declare namespace google_doh_d_exports {
120
+ export { Options, layer, make$1 as make, toAsync };
121
+ }
122
+ interface Options extends Omit<Options$2, "endpoint"> {
123
+ readonly endpoint?: string;
124
+ }
125
+ declare function make$1(options?: Options): Interface$1;
126
+ declare const layer: (options?: Options) => Layer.Layer<Service$2>;
127
+ declare const toAsync: (options?: Options) => AsyncInterface;
128
+ declare namespace resolver_pool_d_exports {
129
+ export { DefaultOptions, Entry, Interface, Observation, Policy, Service, defaultLayer, defaultMake, make };
130
+ }
131
+ interface Entry {
132
+ readonly id: string;
133
+ readonly resolver: Interface$1;
134
+ readonly timeoutMs?: number;
135
+ }
136
+ type Observation = Data.TaggedEnum<{
137
+ Answer: {
138
+ readonly answers: ReadonlyArray<Answer>;
139
+ readonly resolverId: string;
140
+ };
141
+ Failed: {
142
+ readonly message: string;
143
+ readonly reason: Exclude<Error$1["reason"], "timeout">;
144
+ readonly resolverId: string;
145
+ };
146
+ NoData: {
147
+ readonly resolverId: string;
148
+ };
149
+ TimedOut: {
150
+ readonly resolverId: string;
151
+ readonly timeoutMs: number;
152
+ };
153
+ }>;
154
+ declare const Observation: {
155
+ readonly $is: <Tag extends "Answer" | "Failed" | "NoData" | "TimedOut">(tag: Tag) => (u: unknown) => u is Extract<{
156
+ readonly _tag: "Answer";
157
+ readonly answers: ReadonlyArray<Answer>;
158
+ readonly resolverId: string;
159
+ }, {
160
+ readonly _tag: Tag;
161
+ }> | Extract<{
162
+ readonly _tag: "Failed";
163
+ readonly message: string;
164
+ readonly reason: Exclude<Error$1["reason"], "timeout">;
165
+ readonly resolverId: string;
166
+ }, {
167
+ readonly _tag: Tag;
168
+ }> | Extract<{
169
+ readonly _tag: "NoData";
170
+ readonly resolverId: string;
171
+ }, {
172
+ readonly _tag: Tag;
173
+ }> | Extract<{
174
+ readonly _tag: "TimedOut";
175
+ readonly resolverId: string;
176
+ readonly timeoutMs: number;
177
+ }, {
178
+ readonly _tag: Tag;
179
+ }>;
180
+ readonly $match: {
181
+ <Cases extends { readonly [Tag in "Answer" | "Failed" | "NoData" | "TimedOut"]: (args: Extract<{
182
+ readonly _tag: "Answer";
183
+ readonly answers: ReadonlyArray<Answer>;
184
+ readonly resolverId: string;
185
+ } | {
186
+ readonly _tag: "Failed";
187
+ readonly message: string;
188
+ readonly reason: Exclude<Error$1["reason"], "timeout">;
189
+ readonly resolverId: string;
190
+ } | {
191
+ readonly _tag: "NoData";
192
+ readonly resolverId: string;
193
+ } | {
194
+ readonly _tag: "TimedOut";
195
+ readonly resolverId: string;
196
+ readonly timeoutMs: number;
197
+ }, {
198
+ readonly _tag: Tag;
199
+ }>) => any; }>(cases: Cases): (value: {
200
+ readonly _tag: "Answer";
201
+ readonly answers: ReadonlyArray<Answer>;
202
+ readonly resolverId: string;
203
+ } | {
204
+ readonly _tag: "Failed";
205
+ readonly message: string;
206
+ readonly reason: Exclude<Error$1["reason"], "timeout">;
207
+ readonly resolverId: string;
208
+ } | {
209
+ readonly _tag: "NoData";
210
+ readonly resolverId: string;
211
+ } | {
212
+ readonly _tag: "TimedOut";
213
+ readonly resolverId: string;
214
+ readonly timeoutMs: number;
215
+ }) => import("effect/Unify").Unify<ReturnType<Cases["Answer" | "Failed" | "NoData" | "TimedOut"]>>;
216
+ <Cases extends { readonly [Tag in "Answer" | "Failed" | "NoData" | "TimedOut"]: (args: Extract<{
217
+ readonly _tag: "Answer";
218
+ readonly answers: ReadonlyArray<Answer>;
219
+ readonly resolverId: string;
220
+ } | {
221
+ readonly _tag: "Failed";
222
+ readonly message: string;
223
+ readonly reason: Exclude<Error$1["reason"], "timeout">;
224
+ readonly resolverId: string;
225
+ } | {
226
+ readonly _tag: "NoData";
227
+ readonly resolverId: string;
228
+ } | {
229
+ readonly _tag: "TimedOut";
230
+ readonly resolverId: string;
231
+ readonly timeoutMs: number;
232
+ }, {
233
+ readonly _tag: Tag;
234
+ }>) => any; }>(value: {
235
+ readonly _tag: "Answer";
236
+ readonly answers: ReadonlyArray<Answer>;
237
+ readonly resolverId: string;
238
+ } | {
239
+ readonly _tag: "Failed";
240
+ readonly message: string;
241
+ readonly reason: Exclude<Error$1["reason"], "timeout">;
242
+ readonly resolverId: string;
243
+ } | {
244
+ readonly _tag: "NoData";
245
+ readonly resolverId: string;
246
+ } | {
247
+ readonly _tag: "TimedOut";
248
+ readonly resolverId: string;
249
+ readonly timeoutMs: number;
250
+ }, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Answer" | "Failed" | "NoData" | "TimedOut"]>>;
251
+ };
252
+ readonly Answer: Data.TaggedEnum.ConstructorFrom<{
253
+ readonly _tag: "Answer";
254
+ readonly answers: ReadonlyArray<Answer>;
255
+ readonly resolverId: string;
256
+ }, "_tag">;
257
+ readonly Failed: Data.TaggedEnum.ConstructorFrom<{
258
+ readonly _tag: "Failed";
259
+ readonly message: string;
260
+ readonly reason: Exclude<Error$1["reason"], "timeout">;
261
+ readonly resolverId: string;
262
+ }, "_tag">;
263
+ readonly NoData: Data.TaggedEnum.ConstructorFrom<{
264
+ readonly _tag: "NoData";
265
+ readonly resolverId: string;
266
+ }, "_tag">;
267
+ readonly TimedOut: Data.TaggedEnum.ConstructorFrom<{
268
+ readonly _tag: "TimedOut";
269
+ readonly resolverId: string;
270
+ readonly timeoutMs: number;
271
+ }, "_tag">;
272
+ };
273
+ type Policy = Data.TaggedEnum<{
274
+ AllMatch: {};
275
+ AnyMatch: {};
276
+ Quorum: {
277
+ readonly minimum: number;
278
+ };
279
+ }>;
280
+ declare const Policy: {
281
+ AllMatch: Data.TaggedEnum.ConstructorFrom<{
282
+ readonly _tag: "AllMatch";
283
+ }, "_tag">;
284
+ AnyMatch: Data.TaggedEnum.ConstructorFrom<{
285
+ readonly _tag: "AnyMatch";
286
+ }, "_tag">;
287
+ Quorum: ({ minimum }: {
288
+ readonly minimum: number;
289
+ }) => Policy;
290
+ Schema: Schema.TaggedUnion<{
291
+ readonly AllMatch: Schema.TaggedStruct<"AllMatch", {}>;
292
+ readonly AnyMatch: Schema.TaggedStruct<"AnyMatch", {}>;
293
+ readonly Quorum: Schema.TaggedStruct<"Quorum", {
294
+ readonly minimum: Schema.Int;
295
+ }>;
296
+ }>;
297
+ };
298
+ interface Interface {
299
+ readonly observe: (query: Query) => Effect.Effect<ReadonlyArray<Observation>>;
300
+ }
301
+ declare const Service_base: Context.ServiceClass<Service, "@domainkit/DnsResolverPool", Interface>;
302
+ declare class Service extends Service_base {}
303
+ declare function make(entries: ReadonlyArray<Entry>): Interface;
304
+ interface DefaultOptions extends Omit<Options$2, "endpoint"> {}
305
+ /** Cloudflare and Google RFC wire-format DoH resolvers. */
306
+ declare function defaultMake(options?: DefaultOptions): Interface;
307
+ declare const defaultLayer: (options?: DefaultOptions) => Layer.Layer<Service>;
308
+ declare namespace verify_d_exports {
309
+ export { Config, Provider, ProviderConfig, ProviderObservation, PublicDns, PublicDnsObservation, PublicOnlyConfig, Result, observe };
310
+ }
311
+ type PublicDns = Data.TaggedEnum<{
312
+ Disabled: {};
313
+ Enabled: {
314
+ readonly policy?: Policy;
315
+ };
316
+ }>;
317
+ declare const PublicDns: {
318
+ readonly $is: <Tag extends "Disabled" | "Enabled">(tag: Tag) => (u: unknown) => u is Extract<{
319
+ readonly _tag: "Disabled";
320
+ }, {
321
+ readonly _tag: Tag;
322
+ }> | Extract<{
323
+ readonly _tag: "Enabled";
324
+ readonly policy?: Policy;
325
+ }, {
326
+ readonly _tag: Tag;
327
+ }>;
328
+ readonly $match: {
329
+ <Cases extends { readonly [Tag in "Disabled" | "Enabled"]: (args: Extract<{
330
+ readonly _tag: "Disabled";
331
+ } | {
332
+ readonly _tag: "Enabled";
333
+ readonly policy?: Policy;
334
+ }, {
335
+ readonly _tag: Tag;
336
+ }>) => any; }>(cases: Cases): (value: {
337
+ readonly _tag: "Disabled";
338
+ } | {
339
+ readonly _tag: "Enabled";
340
+ readonly policy?: Policy;
341
+ }) => import("effect/Unify").Unify<ReturnType<Cases["Disabled" | "Enabled"]>>;
342
+ <Cases extends { readonly [Tag in "Disabled" | "Enabled"]: (args: Extract<{
343
+ readonly _tag: "Disabled";
344
+ } | {
345
+ readonly _tag: "Enabled";
346
+ readonly policy?: Policy;
347
+ }, {
348
+ readonly _tag: Tag;
349
+ }>) => any; }>(value: {
350
+ readonly _tag: "Disabled";
351
+ } | {
352
+ readonly _tag: "Enabled";
353
+ readonly policy?: Policy;
354
+ }, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Disabled" | "Enabled"]>>;
355
+ };
356
+ readonly Disabled: Data.TaggedEnum.ConstructorFrom<{
357
+ readonly _tag: "Disabled";
358
+ }, "_tag">;
359
+ readonly Enabled: Data.TaggedEnum.ConstructorFrom<{
360
+ readonly _tag: "Enabled";
361
+ readonly policy?: Policy;
362
+ }, "_tag">;
363
+ };
364
+ type Provider = Data.TaggedEnum<{
365
+ Disabled: {};
366
+ Enabled: {
367
+ readonly zone: DomainName;
368
+ };
369
+ }>;
370
+ declare const Provider: {
371
+ readonly $is: <Tag extends "Disabled" | "Enabled">(tag: Tag) => (u: unknown) => u is Extract<{
372
+ readonly _tag: "Disabled";
373
+ }, {
374
+ readonly _tag: Tag;
375
+ }> | Extract<{
376
+ readonly _tag: "Enabled";
377
+ readonly zone: DomainName;
378
+ }, {
379
+ readonly _tag: Tag;
380
+ }>;
381
+ readonly $match: {
382
+ <Cases extends { readonly [Tag in "Disabled" | "Enabled"]: (args: Extract<{
383
+ readonly _tag: "Disabled";
384
+ } | {
385
+ readonly _tag: "Enabled";
386
+ readonly zone: DomainName;
387
+ }, {
388
+ readonly _tag: Tag;
389
+ }>) => any; }>(cases: Cases): (value: {
390
+ readonly _tag: "Disabled";
391
+ } | {
392
+ readonly _tag: "Enabled";
393
+ readonly zone: DomainName;
394
+ }) => import("effect/Unify").Unify<ReturnType<Cases["Disabled" | "Enabled"]>>;
395
+ <Cases extends { readonly [Tag in "Disabled" | "Enabled"]: (args: Extract<{
396
+ readonly _tag: "Disabled";
397
+ } | {
398
+ readonly _tag: "Enabled";
399
+ readonly zone: DomainName;
400
+ }, {
401
+ readonly _tag: Tag;
402
+ }>) => any; }>(value: {
403
+ readonly _tag: "Disabled";
404
+ } | {
405
+ readonly _tag: "Enabled";
406
+ readonly zone: DomainName;
407
+ }, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Disabled" | "Enabled"]>>;
408
+ };
409
+ readonly Disabled: Data.TaggedEnum.ConstructorFrom<{
410
+ readonly _tag: "Disabled";
411
+ }, "_tag">;
412
+ readonly Enabled: Data.TaggedEnum.ConstructorFrom<{
413
+ readonly _tag: "Enabled";
414
+ readonly zone: DomainName;
415
+ }, "_tag">;
416
+ };
417
+ type ProviderEnabled = Extract<Provider, {
418
+ readonly _tag: "Enabled";
419
+ }>;
420
+ type ProviderDisabled = Extract<Provider, {
421
+ readonly _tag: "Disabled";
422
+ }>;
423
+ interface PublicOnlyConfig {
424
+ readonly provider?: ProviderDisabled;
425
+ readonly publicDns?: PublicDns;
426
+ readonly record: DnsRecord;
427
+ }
428
+ interface ProviderConfig {
429
+ readonly provider: ProviderEnabled;
430
+ readonly publicDns?: PublicDns;
431
+ readonly record: DnsRecord;
432
+ }
433
+ type Config = ProviderConfig | PublicOnlyConfig;
434
+ type ProviderObservation = Data.TaggedEnum<{
435
+ Matched: {};
436
+ Mismatch: {
437
+ readonly records: ReadonlyArray<DnsRecord>;
438
+ };
439
+ Pending: {};
440
+ Unavailable: {
441
+ readonly message: string;
442
+ };
443
+ }>;
444
+ declare const ProviderObservation: {
445
+ readonly $is: <Tag extends "Matched" | "Mismatch" | "Pending" | "Unavailable">(tag: Tag) => (u: unknown) => u is Extract<{
446
+ readonly _tag: "Matched";
447
+ }, {
448
+ readonly _tag: Tag;
449
+ }> | Extract<{
450
+ readonly _tag: "Mismatch";
451
+ readonly records: ReadonlyArray<DnsRecord>;
452
+ }, {
453
+ readonly _tag: Tag;
454
+ }> | Extract<{
455
+ readonly _tag: "Pending";
456
+ }, {
457
+ readonly _tag: Tag;
458
+ }> | Extract<{
459
+ readonly _tag: "Unavailable";
460
+ readonly message: string;
461
+ }, {
462
+ readonly _tag: Tag;
463
+ }>;
464
+ readonly $match: {
465
+ <Cases extends { readonly [Tag in "Matched" | "Mismatch" | "Pending" | "Unavailable"]: (args: Extract<{
466
+ readonly _tag: "Matched";
467
+ } | {
468
+ readonly _tag: "Mismatch";
469
+ readonly records: ReadonlyArray<DnsRecord>;
470
+ } | {
471
+ readonly _tag: "Pending";
472
+ } | {
473
+ readonly _tag: "Unavailable";
474
+ readonly message: string;
475
+ }, {
476
+ readonly _tag: Tag;
477
+ }>) => any; }>(cases: Cases): (value: {
478
+ readonly _tag: "Matched";
479
+ } | {
480
+ readonly _tag: "Mismatch";
481
+ readonly records: ReadonlyArray<DnsRecord>;
482
+ } | {
483
+ readonly _tag: "Pending";
484
+ } | {
485
+ readonly _tag: "Unavailable";
486
+ readonly message: string;
487
+ }) => import("effect/Unify").Unify<ReturnType<Cases["Matched" | "Mismatch" | "Pending" | "Unavailable"]>>;
488
+ <Cases extends { readonly [Tag in "Matched" | "Mismatch" | "Pending" | "Unavailable"]: (args: Extract<{
489
+ readonly _tag: "Matched";
490
+ } | {
491
+ readonly _tag: "Mismatch";
492
+ readonly records: ReadonlyArray<DnsRecord>;
493
+ } | {
494
+ readonly _tag: "Pending";
495
+ } | {
496
+ readonly _tag: "Unavailable";
497
+ readonly message: string;
498
+ }, {
499
+ readonly _tag: Tag;
500
+ }>) => any; }>(value: {
501
+ readonly _tag: "Matched";
502
+ } | {
503
+ readonly _tag: "Mismatch";
504
+ readonly records: ReadonlyArray<DnsRecord>;
505
+ } | {
506
+ readonly _tag: "Pending";
507
+ } | {
508
+ readonly _tag: "Unavailable";
509
+ readonly message: string;
510
+ }, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Matched" | "Mismatch" | "Pending" | "Unavailable"]>>;
511
+ };
512
+ readonly Matched: Data.TaggedEnum.ConstructorFrom<{
513
+ readonly _tag: "Matched";
514
+ }, "_tag">;
515
+ readonly Mismatch: Data.TaggedEnum.ConstructorFrom<{
516
+ readonly _tag: "Mismatch";
517
+ readonly records: ReadonlyArray<DnsRecord>;
518
+ }, "_tag">;
519
+ readonly Pending: Data.TaggedEnum.ConstructorFrom<{
520
+ readonly _tag: "Pending";
521
+ }, "_tag">;
522
+ readonly Unavailable: Data.TaggedEnum.ConstructorFrom<{
523
+ readonly _tag: "Unavailable";
524
+ readonly message: string;
525
+ }, "_tag">;
526
+ };
527
+ type PublicDnsObservation = Data.TaggedEnum<{
528
+ Verified: {
529
+ readonly evidence: ReadonlyArray<Observation>;
530
+ readonly matchedResolverIds: ReadonlyArray<string>;
531
+ };
532
+ Mismatch: {
533
+ readonly evidence: ReadonlyArray<Observation>;
534
+ };
535
+ Pending: {
536
+ readonly evidence: ReadonlyArray<Observation>;
537
+ };
538
+ Unavailable: {
539
+ readonly evidence: ReadonlyArray<Observation>;
540
+ };
541
+ }>;
542
+ declare const PublicDnsObservation: {
543
+ readonly $is: <Tag extends "Mismatch" | "Pending" | "Unavailable" | "Verified">(tag: Tag) => (u: unknown) => u is Extract<{
544
+ readonly _tag: "Mismatch";
545
+ readonly evidence: ReadonlyArray<Observation>;
546
+ }, {
547
+ readonly _tag: Tag;
548
+ }> | Extract<{
549
+ readonly _tag: "Pending";
550
+ readonly evidence: ReadonlyArray<Observation>;
551
+ }, {
552
+ readonly _tag: Tag;
553
+ }> | Extract<{
554
+ readonly _tag: "Unavailable";
555
+ readonly evidence: ReadonlyArray<Observation>;
556
+ }, {
557
+ readonly _tag: Tag;
558
+ }> | Extract<{
559
+ readonly _tag: "Verified";
560
+ readonly evidence: ReadonlyArray<Observation>;
561
+ readonly matchedResolverIds: ReadonlyArray<string>;
562
+ }, {
563
+ readonly _tag: Tag;
564
+ }>;
565
+ readonly $match: {
566
+ <Cases extends { readonly [Tag in "Mismatch" | "Pending" | "Unavailable" | "Verified"]: (args: Extract<{
567
+ readonly _tag: "Mismatch";
568
+ readonly evidence: ReadonlyArray<Observation>;
569
+ } | {
570
+ readonly _tag: "Pending";
571
+ readonly evidence: ReadonlyArray<Observation>;
572
+ } | {
573
+ readonly _tag: "Unavailable";
574
+ readonly evidence: ReadonlyArray<Observation>;
575
+ } | {
576
+ readonly _tag: "Verified";
577
+ readonly evidence: ReadonlyArray<Observation>;
578
+ readonly matchedResolverIds: ReadonlyArray<string>;
579
+ }, {
580
+ readonly _tag: Tag;
581
+ }>) => any; }>(cases: Cases): (value: {
582
+ readonly _tag: "Mismatch";
583
+ readonly evidence: ReadonlyArray<Observation>;
584
+ } | {
585
+ readonly _tag: "Pending";
586
+ readonly evidence: ReadonlyArray<Observation>;
587
+ } | {
588
+ readonly _tag: "Unavailable";
589
+ readonly evidence: ReadonlyArray<Observation>;
590
+ } | {
591
+ readonly _tag: "Verified";
592
+ readonly evidence: ReadonlyArray<Observation>;
593
+ readonly matchedResolverIds: ReadonlyArray<string>;
594
+ }) => import("effect/Unify").Unify<ReturnType<Cases["Mismatch" | "Pending" | "Unavailable" | "Verified"]>>;
595
+ <Cases extends { readonly [Tag in "Mismatch" | "Pending" | "Unavailable" | "Verified"]: (args: Extract<{
596
+ readonly _tag: "Mismatch";
597
+ readonly evidence: ReadonlyArray<Observation>;
598
+ } | {
599
+ readonly _tag: "Pending";
600
+ readonly evidence: ReadonlyArray<Observation>;
601
+ } | {
602
+ readonly _tag: "Unavailable";
603
+ readonly evidence: ReadonlyArray<Observation>;
604
+ } | {
605
+ readonly _tag: "Verified";
606
+ readonly evidence: ReadonlyArray<Observation>;
607
+ readonly matchedResolverIds: ReadonlyArray<string>;
608
+ }, {
609
+ readonly _tag: Tag;
610
+ }>) => any; }>(value: {
611
+ readonly _tag: "Mismatch";
612
+ readonly evidence: ReadonlyArray<Observation>;
613
+ } | {
614
+ readonly _tag: "Pending";
615
+ readonly evidence: ReadonlyArray<Observation>;
616
+ } | {
617
+ readonly _tag: "Unavailable";
618
+ readonly evidence: ReadonlyArray<Observation>;
619
+ } | {
620
+ readonly _tag: "Verified";
621
+ readonly evidence: ReadonlyArray<Observation>;
622
+ readonly matchedResolverIds: ReadonlyArray<string>;
623
+ }, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Mismatch" | "Pending" | "Unavailable" | "Verified"]>>;
624
+ };
625
+ readonly Mismatch: Data.TaggedEnum.ConstructorFrom<{
626
+ readonly _tag: "Mismatch";
627
+ readonly evidence: ReadonlyArray<Observation>;
628
+ }, "_tag">;
629
+ readonly Pending: Data.TaggedEnum.ConstructorFrom<{
630
+ readonly _tag: "Pending";
631
+ readonly evidence: ReadonlyArray<Observation>;
632
+ }, "_tag">;
633
+ readonly Unavailable: Data.TaggedEnum.ConstructorFrom<{
634
+ readonly _tag: "Unavailable";
635
+ readonly evidence: ReadonlyArray<Observation>;
636
+ }, "_tag">;
637
+ readonly Verified: Data.TaggedEnum.ConstructorFrom<{
638
+ readonly _tag: "Verified";
639
+ readonly evidence: ReadonlyArray<Observation>;
640
+ readonly matchedResolverIds: ReadonlyArray<string>;
641
+ }, "_tag">;
642
+ };
643
+ interface Evidence {
644
+ readonly provider: ProviderObservation | null;
645
+ readonly publicDns: PublicDnsObservation | null;
646
+ }
647
+ type Result = Data.TaggedEnum<{
648
+ Mismatch: Evidence;
649
+ NotObserved: Evidence;
650
+ Pending: Evidence;
651
+ Unavailable: Evidence;
652
+ Verified: Evidence;
653
+ }>;
654
+ declare const Result: {
655
+ readonly $is: <Tag extends "Mismatch" | "NotObserved" | "Pending" | "Unavailable" | "Verified">(tag: Tag) => (u: unknown) => u is Extract<{
656
+ readonly _tag: "Mismatch";
657
+ readonly provider: ProviderObservation | null;
658
+ readonly publicDns: PublicDnsObservation | null;
659
+ }, {
660
+ readonly _tag: Tag;
661
+ }> | Extract<{
662
+ readonly _tag: "NotObserved";
663
+ readonly provider: ProviderObservation | null;
664
+ readonly publicDns: PublicDnsObservation | null;
665
+ }, {
666
+ readonly _tag: Tag;
667
+ }> | Extract<{
668
+ readonly _tag: "Pending";
669
+ readonly provider: ProviderObservation | null;
670
+ readonly publicDns: PublicDnsObservation | null;
671
+ }, {
672
+ readonly _tag: Tag;
673
+ }> | Extract<{
674
+ readonly _tag: "Unavailable";
675
+ readonly provider: ProviderObservation | null;
676
+ readonly publicDns: PublicDnsObservation | null;
677
+ }, {
678
+ readonly _tag: Tag;
679
+ }> | Extract<{
680
+ readonly _tag: "Verified";
681
+ readonly provider: ProviderObservation | null;
682
+ readonly publicDns: PublicDnsObservation | null;
683
+ }, {
684
+ readonly _tag: Tag;
685
+ }>;
686
+ readonly $match: {
687
+ <Cases extends { readonly [Tag in "Mismatch" | "NotObserved" | "Pending" | "Unavailable" | "Verified"]: (args: Extract<{
688
+ readonly _tag: "Mismatch";
689
+ readonly provider: ProviderObservation | null;
690
+ readonly publicDns: PublicDnsObservation | null;
691
+ } | {
692
+ readonly _tag: "NotObserved";
693
+ readonly provider: ProviderObservation | null;
694
+ readonly publicDns: PublicDnsObservation | null;
695
+ } | {
696
+ readonly _tag: "Pending";
697
+ readonly provider: ProviderObservation | null;
698
+ readonly publicDns: PublicDnsObservation | null;
699
+ } | {
700
+ readonly _tag: "Unavailable";
701
+ readonly provider: ProviderObservation | null;
702
+ readonly publicDns: PublicDnsObservation | null;
703
+ } | {
704
+ readonly _tag: "Verified";
705
+ readonly provider: ProviderObservation | null;
706
+ readonly publicDns: PublicDnsObservation | null;
707
+ }, {
708
+ readonly _tag: Tag;
709
+ }>) => any; }>(cases: Cases): (value: {
710
+ readonly _tag: "Mismatch";
711
+ readonly provider: ProviderObservation | null;
712
+ readonly publicDns: PublicDnsObservation | null;
713
+ } | {
714
+ readonly _tag: "NotObserved";
715
+ readonly provider: ProviderObservation | null;
716
+ readonly publicDns: PublicDnsObservation | null;
717
+ } | {
718
+ readonly _tag: "Pending";
719
+ readonly provider: ProviderObservation | null;
720
+ readonly publicDns: PublicDnsObservation | null;
721
+ } | {
722
+ readonly _tag: "Unavailable";
723
+ readonly provider: ProviderObservation | null;
724
+ readonly publicDns: PublicDnsObservation | null;
725
+ } | {
726
+ readonly _tag: "Verified";
727
+ readonly provider: ProviderObservation | null;
728
+ readonly publicDns: PublicDnsObservation | null;
729
+ }) => import("effect/Unify").Unify<ReturnType<Cases["Mismatch" | "NotObserved" | "Pending" | "Unavailable" | "Verified"]>>;
730
+ <Cases extends { readonly [Tag in "Mismatch" | "NotObserved" | "Pending" | "Unavailable" | "Verified"]: (args: Extract<{
731
+ readonly _tag: "Mismatch";
732
+ readonly provider: ProviderObservation | null;
733
+ readonly publicDns: PublicDnsObservation | null;
734
+ } | {
735
+ readonly _tag: "NotObserved";
736
+ readonly provider: ProviderObservation | null;
737
+ readonly publicDns: PublicDnsObservation | null;
738
+ } | {
739
+ readonly _tag: "Pending";
740
+ readonly provider: ProviderObservation | null;
741
+ readonly publicDns: PublicDnsObservation | null;
742
+ } | {
743
+ readonly _tag: "Unavailable";
744
+ readonly provider: ProviderObservation | null;
745
+ readonly publicDns: PublicDnsObservation | null;
746
+ } | {
747
+ readonly _tag: "Verified";
748
+ readonly provider: ProviderObservation | null;
749
+ readonly publicDns: PublicDnsObservation | null;
750
+ }, {
751
+ readonly _tag: Tag;
752
+ }>) => any; }>(value: {
753
+ readonly _tag: "Mismatch";
754
+ readonly provider: ProviderObservation | null;
755
+ readonly publicDns: PublicDnsObservation | null;
756
+ } | {
757
+ readonly _tag: "NotObserved";
758
+ readonly provider: ProviderObservation | null;
759
+ readonly publicDns: PublicDnsObservation | null;
760
+ } | {
761
+ readonly _tag: "Pending";
762
+ readonly provider: ProviderObservation | null;
763
+ readonly publicDns: PublicDnsObservation | null;
764
+ } | {
765
+ readonly _tag: "Unavailable";
766
+ readonly provider: ProviderObservation | null;
767
+ readonly publicDns: PublicDnsObservation | null;
768
+ } | {
769
+ readonly _tag: "Verified";
770
+ readonly provider: ProviderObservation | null;
771
+ readonly publicDns: PublicDnsObservation | null;
772
+ }, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Mismatch" | "NotObserved" | "Pending" | "Unavailable" | "Verified"]>>;
773
+ };
774
+ readonly Mismatch: Data.TaggedEnum.ConstructorFrom<{
775
+ readonly _tag: "Mismatch";
776
+ readonly provider: ProviderObservation | null;
777
+ readonly publicDns: PublicDnsObservation | null;
778
+ }, "_tag">;
779
+ readonly NotObserved: Data.TaggedEnum.ConstructorFrom<{
780
+ readonly _tag: "NotObserved";
781
+ readonly provider: ProviderObservation | null;
782
+ readonly publicDns: PublicDnsObservation | null;
783
+ }, "_tag">;
784
+ readonly Pending: Data.TaggedEnum.ConstructorFrom<{
785
+ readonly _tag: "Pending";
786
+ readonly provider: ProviderObservation | null;
787
+ readonly publicDns: PublicDnsObservation | null;
788
+ }, "_tag">;
789
+ readonly Unavailable: Data.TaggedEnum.ConstructorFrom<{
790
+ readonly _tag: "Unavailable";
791
+ readonly provider: ProviderObservation | null;
792
+ readonly publicDns: PublicDnsObservation | null;
793
+ }, "_tag">;
794
+ readonly Verified: Data.TaggedEnum.ConstructorFrom<{
795
+ readonly _tag: "Verified";
796
+ readonly provider: ProviderObservation | null;
797
+ readonly publicDns: PublicDnsObservation | null;
798
+ }, "_tag">;
799
+ };
800
+ declare function observe(input: PublicOnlyConfig): Effect.Effect<Result, Error>;
801
+ declare function observe(input: ProviderConfig): Effect.Effect<Result, Error, Service$1>;
802
+ declare function observe(input: Config): Effect.Effect<Result, Error, Service$1>;
803
+ //#endregion
804
+ export { selection_d_exports as _, verify_d_exports as a, Policy as c, google_doh_d_exports as d, Options$1 as f, zones_d_exports as g, doh_d_exports as h, Result as i, resolver_pool_d_exports as l, Options$2 as m, PublicDns as n, DefaultOptions as o, cloudflare_doh_d_exports as p, PublicDnsObservation as r, Observation as s, ProviderObservation as t, Options as u, diagnostic_d_exports as v };
805
+ //# sourceMappingURL=verify-7_EbKbFM.d.mts.map