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
package/dist/effect.mjs CHANGED
@@ -1,21 +1,43 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.mjs";
2
- import { E as domain_name_exports, S as provider_exports, g as dns_record_exports, k as invalid_input_exports } from "./dns-record-C_KwGPLf.mjs";
3
- import { c as make, s as client_exports, t as auth_exports, u as zones_exports } from "./auth-B0owkrpk.mjs";
4
- import { B as manifest_exports, C as plan_exports, I as token_exports, K as canonical_json_exports, N as types_exports, P as selection_exports, U as oauth_exports, X as authorization_exports, _ as deletion_exports, a as doh_exports, et as connection_lifecycle_exports, n as verify_exports, r as cloudflare_doh_exports, s as dns_data_exports, st as connection_exports, ut as version, y as connection_authorization_exports } from "./verify-BXOvXE20.mjs";
5
- import { S as error_exports, c as oauth_state_exports, d as authorization_exports$1, h as credential_exports, i as resolver_exports, y as connection_exports$1 } from "./resolver-tEXpKxmH.mjs";
6
- import { l as secret_exports, n as make$1, r as auth_exports$1, t as client_exports$1 } from "./client-BnD7QLRF.mjs";
7
- import { n as receipt_exports } from "./receipt-CGSnfZQ6.mjs";
2
+ import { A as invalid_input_exports, C as provider_exports, D as domain_name_exports, N as lifecycle_repository_exports, g as dns_record_exports } from "./dns-record-BLeqo56C.mjs";
3
+ import { _ as StartResult, d as provider_context_exports, g as Method, h as Error, m as secret_exports, o as authorization_exports, v as complete, y as start } from "./authorization-CQSKKMrW.mjs";
4
+ import { d as make, l as client_exports, t as auth_exports, u as discovery } from "./auth-B4jq3yk3.mjs";
5
+ import { n as zones_exports } from "./zones-DKHTpX9C.mjs";
6
+ import { a as authorizationError, c as validate, i as assertGrant, n as Grant, o as decode, r as Schema, s as encode, t as AuthorizationError } from "./connection-BXoSrhZs.mjs";
7
+ import { t as canonical_json_exports } from "./canonical-json-CpvqGMcr.mjs";
8
+ import { C as selection_exports, D as manifest_exports, O as diagnostic_exports, S as connection_authorization_exports, b as dns_data_exports, g as cloudflare_doh_exports, k as version, m as google_doh_exports, p as resolver_pool_exports, s as verify_exports, v as doh_exports } from "./verify-Q5RYpnuw.mjs";
9
+ import { C as plan_exports, L as zone_discovery_exports, N as types_exports, m as deletion_exports, r as resolver_exports } from "./resolver-CxE-VDw4.mjs";
10
+ import { c as client_exports$1, l as discovery$1, t as auth_exports$1, u as make$1 } from "./auth-6-KRy1gN.mjs";
8
11
  //#region src/providers/cloudflare/index.ts
9
12
  var cloudflare_exports = /* @__PURE__ */ __exportAll({
10
13
  Auth: () => auth_exports,
11
14
  Client: () => client_exports,
15
+ discovery: () => discovery,
12
16
  make: () => make
13
17
  });
14
18
  //#endregion
19
+ //#region src/auth/connection-api.ts
20
+ var connection_api_exports = /* @__PURE__ */ __exportAll({
21
+ AuthorizationError: () => AuthorizationError,
22
+ Error: () => Error,
23
+ Grant: () => Grant,
24
+ Method: () => Method,
25
+ Schema: () => Schema,
26
+ StartResult: () => StartResult,
27
+ assertGrant: () => assertGrant,
28
+ authorizationError: () => authorizationError,
29
+ complete: () => complete,
30
+ decode: () => decode,
31
+ encode: () => encode,
32
+ start: () => start,
33
+ validate: () => validate
34
+ });
35
+ //#endregion
15
36
  //#region src/providers/vercel/index.ts
16
37
  var vercel_exports = /* @__PURE__ */ __exportAll({
17
38
  Auth: () => auth_exports$1,
18
39
  Client: () => client_exports$1,
40
+ discovery: () => discovery$1,
19
41
  make: () => make$1
20
42
  });
21
43
  //#endregion
@@ -23,6 +45,6 @@ var vercel_exports = /* @__PURE__ */ __exportAll({
23
45
  /** The current package version from the package manifest. */
24
46
  const VERSION = version;
25
47
  //#endregion
26
- export { cloudflare_exports as Cloudflare, cloudflare_doh_exports as CloudflareDnsOverHttps, connection_exports as Connection, connection_authorization_exports as ConnectionAuthorization, connection_lifecycle_exports as ConnectionLifecycle, connection_exports$1 as ConnectionStore, credential_exports as CredentialStore, deletion_exports as Deletion, canonical_json_exports as Digest, dns_data_exports as DnsData, doh_exports as DnsOverHttps, types_exports as DnsPlan, provider_exports as DnsProvider, dns_record_exports as DnsRecord, resolver_exports as DnsResolver, domain_name_exports as DomainName, invalid_input_exports as InvalidInput, oauth_exports as OAuth, oauth_state_exports as OAuthStateStore, manifest_exports as ProviderAuth, authorization_exports as ProviderAuthorization, authorization_exports$1 as ProviderAuthorizationStore, selection_exports as ProviderDiscovery, plan_exports as Provisioning, receipt_exports as ReceiptStore, secret_exports as Secret, error_exports as Storage, token_exports as TokenConnection, VERSION, vercel_exports as Vercel, verify_exports as Verification, zones_exports as Zones };
48
+ export { lifecycle_repository_exports as AuthorizationLifecycle, cloudflare_exports as Cloudflare, cloudflare_doh_exports as CloudflareDnsOverHttps, connection_api_exports as Connection, connection_authorization_exports as ConnectionAuthorization, deletion_exports as Deletion, diagnostic_exports as Diagnostic, canonical_json_exports as Digest, dns_data_exports as DnsData, doh_exports as DnsOverHttps, types_exports as DnsPlan, provider_exports as DnsProvider, dns_record_exports as DnsRecord, resolver_exports as DnsResolver, resolver_pool_exports as DnsResolverPool, domain_name_exports as DomainName, google_doh_exports as GoogleDnsOverHttps, invalid_input_exports as InvalidInput, manifest_exports as ProviderAuth, authorization_exports as ProviderAuthorization, provider_context_exports as ProviderContext, selection_exports as ProviderDiscovery, plan_exports as Provisioning, secret_exports as Secret, VERSION, vercel_exports as Vercel, verify_exports as Verification, zone_discovery_exports as ZoneDiscovery, zones_exports as Zones };
27
49
 
28
50
  //# sourceMappingURL=effect.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"effect.mjs","names":["packageJson.version"],"sources":["../src/providers/cloudflare/index.ts","../src/providers/vercel/index.ts","../src/effect.ts"],"sourcesContent":["export * as Auth from \"./auth.ts\";\nexport * as Client from \"./client.ts\";\n\nexport { make } from \"./client.ts\";\nexport type { Account, Fetch, Interface, ListZonesInput, Options, Zone } from \"./client.ts\";\n","export * as Auth from \"./auth.ts\";\nexport * as Client from \"./client.ts\";\n\nexport { make } from \"./client.ts\";\nexport type {\n Account,\n AccountContext,\n Fetch,\n Interface,\n ListZonesInput,\n Options,\n Zone,\n} from \"./client.ts\";\n","import packageJson from \"../package.json\" with { type: \"json\" };\n\n/** The current package version from the package manifest. */\nexport const VERSION = packageJson.version;\n\nexport * as Connection from \"./auth/connection.ts\";\nexport * as ConnectionLifecycle from \"./auth/connection-lifecycle.ts\";\nexport * as ProviderAuthorization from \"./auth/authorization.ts\";\nexport * as OAuth from \"./auth/oauth.ts\";\nexport * as ProviderAuth from \"./auth/manifest.ts\";\nexport * as Secret from \"./auth/secret.ts\";\nexport * as TokenConnection from \"./auth/token.ts\";\nexport * as ProviderDiscovery from \"./discovery/selection.ts\";\nexport * as Zones from \"./discovery/zones.ts\";\nexport * as DnsRecord from \"./domain/dns-record.ts\";\nexport * as DomainName from \"./domain/domain-name.ts\";\nexport * as InvalidInput from \"./invalid-input.ts\";\nexport * as ConnectionAuthorization from \"./plan/connection-authorization.ts\";\nexport * as Digest from \"./plan/canonical-json.ts\";\nexport * as Deletion from \"./plan/deletion.ts\";\nexport * as Provisioning from \"./plan/plan.ts\";\nexport * as DnsPlan from \"./plan/types.ts\";\nexport * as DnsProvider from \"./provider/provider.ts\";\nexport * as Cloudflare from \"./providers/cloudflare/index.ts\";\nexport * as Vercel from \"./providers/vercel/index.ts\";\nexport * as ConnectionStore from \"./stores/connection.ts\";\nexport * as ProviderAuthorizationStore from \"./stores/authorization.ts\";\nexport * as CredentialStore from \"./stores/credential.ts\";\nexport * as OAuthStateStore from \"./stores/oauth-state.ts\";\nexport * as ReceiptStore from \"./stores/receipt.ts\";\nexport * as Storage from \"./stores/error.ts\";\nexport * as CloudflareDnsOverHttps from \"./verification/cloudflare-doh.ts\";\nexport * as DnsData from \"./verification/dns-data.ts\";\nexport * as DnsOverHttps from \"./verification/doh.ts\";\nexport * as DnsResolver from \"./verification/resolver.ts\";\nexport * as Verification from \"./verification/verify.ts\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AEGA,MAAa,UAAUA"}
1
+ {"version":3,"file":"effect.mjs","names":["packageJson.version"],"sources":["../src/providers/cloudflare/index.ts","../src/auth/connection-api.ts","../src/providers/vercel/index.ts","../src/effect.ts"],"sourcesContent":["export * as Auth from \"./auth.ts\";\nexport * as Client from \"./client.ts\";\n\nexport { discovery, make } from \"./client.ts\";\nexport type { Account, Fetch, Interface, ListZonesInput, Options, Zone } from \"./client.ts\";\n","export {\n assertGrant,\n authorizationError,\n AuthorizationError,\n decode,\n encode,\n Grant,\n Schema,\n validate,\n} from \"./connection.ts\";\nexport type { Connection, StoredCredential } from \"./connection.ts\";\nexport { complete, Error, Method, start, StartResult } from \"./connect.ts\";\nexport type {\n Authentication,\n AuthenticationFailure,\n BaseInput,\n CompleteInput,\n Continuation,\n ContinuationStore,\n Failure,\n InteractiveFlow,\n InteractiveStart,\n Method as ConnectionMethod,\n Requirements,\n StartResult as ConnectionStartResult,\n} from \"./connect.ts\";\n","export * as Auth from \"./auth.ts\";\nexport * as Client from \"./client.ts\";\n\nexport { discovery, make } from \"./client.ts\";\nexport type {\n Account,\n AccountContext,\n Fetch,\n Interface,\n ListZonesInput,\n Options,\n Zone,\n} from \"./client.ts\";\n","import packageJson from \"../package.json\" with { type: \"json\" };\n\n/** The current package version from the package manifest. */\nexport const VERSION = packageJson.version;\n\nexport * as Connection from \"./auth/connection-api.ts\";\nexport * as AuthorizationLifecycle from \"./auth/lifecycle-repository.ts\";\nexport * as Diagnostic from \"./auth/diagnostic.ts\";\nexport * as ProviderAuth from \"./auth/manifest.ts\";\nexport * as ProviderAuthorization from \"./auth/authorization.ts\";\nexport * as ProviderContext from \"./auth/provider-context.ts\";\nexport * as Secret from \"./auth/secret.ts\";\nexport * as ProviderDiscovery from \"./discovery/selection.ts\";\nexport * as ZoneDiscovery from \"./discovery/zone-discovery.ts\";\nexport * as Zones from \"./discovery/zones.ts\";\nexport * as DnsRecord from \"./domain/dns-record.ts\";\nexport * as DomainName from \"./domain/domain-name.ts\";\nexport * as InvalidInput from \"./invalid-input.ts\";\nexport * as DnsProvider from \"./provider/provider.ts\";\nexport * as ConnectionAuthorization from \"./plan/connection-authorization.ts\";\nexport * as Digest from \"./plan/canonical-json.ts\";\nexport * as Deletion from \"./plan/deletion.ts\";\nexport * as Provisioning from \"./plan/plan.ts\";\nexport * as DnsPlan from \"./plan/types.ts\";\nexport * as Cloudflare from \"./providers/cloudflare/index.ts\";\nexport * as Vercel from \"./providers/vercel/index.ts\";\nexport * as CloudflareDnsOverHttps from \"./verification/cloudflare-doh.ts\";\nexport * as DnsData from \"./verification/dns-data.ts\";\nexport * as DnsOverHttps from \"./verification/doh.ts\";\nexport * as GoogleDnsOverHttps from \"./verification/google-doh.ts\";\nexport * as DnsResolverPool from \"./verification/resolver-pool.ts\";\nexport * as DnsResolver from \"./verification/resolver.ts\";\nexport * as Verification from \"./verification/verify.ts\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AGGA,MAAa,UAAUA"}
@@ -1,5 +1,6 @@
1
- import { R as DomainName, d as Value, g as Interface$1, h as Error, l as TokenValidation, o as OAuthMethod, r as Manifest, s as OAuthSubjectResolver } from "./manifest-CP85ePFn.mjs";
1
+ import { Lt as Error$1, Nt as DomainName, Q as Manifest, b as Codec, dt as Interface$1, et as OAuthClientConfiguration, h as Method, it as TokenValidation, nt as OAuthSubjectResolver, ot as Value, p as InteractiveFlow, r as Source, tt as OAuthMethod, ut as Error, x as Envelope } from "./zone-discovery-BA5I24vu.mjs";
2
2
  import { Effect, Schema } from "effect";
3
+ import * as oauth from "oauth4webapi";
3
4
  //#region src/providers/cloudflare/protocol.d.ts
4
5
  declare const Account$1: Schema.Struct<{
5
6
  readonly id: Schema.String;
@@ -7,7 +8,7 @@ declare const Account$1: Schema.Struct<{
7
8
  }>;
8
9
  interface Account$1 extends Schema.Schema.Type<typeof Account$1> {}
9
10
  declare namespace client_d_exports {
10
- export { Account, Fetch, Interface, ListZonesInput, Options, Zone, discoverAuthorizationAccount, make, validateDomainToken };
11
+ export { Account, Fetch, Interface, ListZonesInput, Options, Zone, discoverAuthorizationAccount, discovery, make, validateDomainToken };
11
12
  }
12
13
  type Fetch = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
13
14
  /** Configuration for an Effect-native Cloudflare authoritative-DNS client. */
@@ -38,6 +39,8 @@ interface Interface extends Interface$1 {
38
39
  readonly listZones: (input?: ListZonesInput) => Effect.Effect<ReadonlyArray<Zone>, Error>;
39
40
  readonly validateToken: () => Effect.Effect<TokenValidation, Error>;
40
41
  }
42
+ /** Exposes Cloudflare zone lookup as the optional provider discovery capability. */
43
+ declare function discovery(client: Interface): Source;
41
44
  interface CredentialOptions$1 {
42
45
  readonly baseUrl?: string;
43
46
  readonly fetch?: Fetch;
@@ -63,8 +66,15 @@ declare const validateDomainToken: (options: DomainCredentialOptions) => Effect.
63
66
  /** Creates an Effect-native Cloudflare client without owning the credential lifecycle. */
64
67
  declare function make(options: Options): Interface;
65
68
  declare namespace auth_d_exports {
66
- export { CredentialTarget, OAuthMethodOptions, SubjectResolverOptions, TokenValidatorOptions, manifest, oauthMethod, subjectResolver, tokenMethod, tokenValidator };
69
+ export { Context$1 as Context, CredentialTarget, OAuthFlowOptions, OAuthMethodOptions, SubjectResolverOptions, TokenConnectionOptions, TokenValidatorOptions, contextCodec, manifest, oauthAuthentication, oauthFlow, oauthMethod, subjectResolver, tokenConnectionMethod, tokenMethod, tokenValidator };
67
70
  }
71
+ declare const Context$1: Schema.Struct<{
72
+ readonly tokenKind: Schema.Literals<readonly ["account", "user"]>;
73
+ }>;
74
+ type Context$1 = typeof Context$1.Type;
75
+ declare const contextCodec: Codec<{
76
+ readonly tokenKind: "account" | "user";
77
+ }>;
68
78
  /** Describes Cloudflare's caller-created API-token authorization method. */
69
79
  declare function tokenMethod(capabilities: TokenValidation["capabilities"]): Extract<Manifest["methods"][number], {
70
80
  readonly _tag: "token";
@@ -104,9 +114,46 @@ type TokenValidatorOptions = CredentialOptions & ({
104
114
  declare function subjectResolver(options: SubjectResolverOptions): OAuthSubjectResolver;
105
115
  /** Creates a host callback that validates a Cloudflare API token. */
106
116
  declare function tokenValidator(options: TokenValidatorOptions): (token: Value) => ReturnType<Interface["validateToken"]>;
117
+ type TokenConnectionOptions = TokenValidatorOptions & {
118
+ readonly token: Value;
119
+ };
120
+ /** Creates a provider-independent token connection method backed by Cloudflare validation. */
121
+ declare function tokenConnectionMethod(options: TokenConnectionOptions): Extract<Method, {
122
+ readonly _tag: "Token";
123
+ }>;
124
+ /** Converts a completed Cloudflare OAuth grant into the canonical connection authentication. */
125
+ declare const oauthAuthentication: (options: SubjectResolverOptions & {
126
+ readonly accessToken: Value;
127
+ readonly tokens: oauth.TokenEndpointResponse;
128
+ }) => Effect.Effect<{
129
+ capabilityEvidence: {
130
+ capability: "dns:read" | "dns:write";
131
+ evidence: {
132
+ readonly _tag: "Introspected";
133
+ readonly observedAt: Date;
134
+ };
135
+ }[];
136
+ credential: {
137
+ accessToken: Value;
138
+ refreshToken: Value | null;
139
+ tokenType: Lowercase<string>;
140
+ };
141
+ expiresAt: Date | null;
142
+ providerAccountId: string;
143
+ providerContext: Envelope;
144
+ scopes: string[];
145
+ }, Error$1 | Error, never>;
146
+ type OAuthFlowOptions = SubjectResolverOptions & {
147
+ readonly client: OAuthClientConfiguration;
148
+ readonly clientAuth: OAuthMethod["clientAuth"];
149
+ readonly redirectUri: string;
150
+ readonly scopes: ReadonlyArray<string>;
151
+ };
152
+ /** Creates Cloudflare's OAuth implementation of the common interactive connection capability. */
153
+ declare function oauthFlow(options: OAuthFlowOptions): InteractiveFlow;
107
154
  declare namespace index_d_exports {
108
- export { Account, auth_d_exports as Auth, client_d_exports as Client, Fetch, Interface, ListZonesInput, Options, Zone, make };
155
+ export { Account, auth_d_exports as Auth, client_d_exports as Client, Fetch, Interface, ListZonesInput, Options, Zone, discovery, make };
109
156
  }
110
157
  //#endregion
111
- export { make as _, TokenValidatorOptions as a, oauthMethod as c, Fetch as d, Interface as f, client_d_exports as g, Zone as h, SubjectResolverOptions as i, tokenMethod as l, Options as m, CredentialTarget as n, auth_d_exports as o, ListZonesInput as p, OAuthMethodOptions as r, manifest as s, index_d_exports as t, Account as u };
112
- //# sourceMappingURL=index-D2howbNz.d.mts.map
158
+ export { Zone as _, SubjectResolverOptions as a, make as b, auth_d_exports as c, tokenMethod as d, Account as f, Options as g, ListZonesInput as h, OAuthMethodOptions as i, manifest as l, Interface as m, CredentialTarget as n, TokenConnectionOptions as o, Fetch as p, OAuthFlowOptions as r, TokenValidatorOptions as s, index_d_exports as t, oauthMethod as u, client_d_exports as v, discovery as y };
159
+ //# sourceMappingURL=index-B1opsgls.d.mts.map
@@ -1,7 +1,7 @@
1
- import { R as DomainName, d as Value, g as Interface$1, h as Error, l as TokenValidation, n as IntegrationMethod, r as Manifest } from "./manifest-CP85ePFn.mjs";
2
- import { Effect } from "effect";
1
+ import { B as Capability, Lt as Error$1, Nt as DomainName, Q as Manifest, Z as IntegrationMethod, b as Codec, dt as Interface$1, h as Method, it as TokenValidation, ot as Value, p as InteractiveFlow, r as Source, ut as Error, x as Envelope } from "./zone-discovery-BA5I24vu.mjs";
2
+ import { Effect, Schema } from "effect";
3
3
  declare namespace client_d_exports {
4
- export { Account, AccountContext, Fetch, Interface, ListZonesInput, Options, Zone, make };
4
+ export { Account, AccountContext, Fetch, Interface, ListZonesInput, Options, Zone, discovery, make };
5
5
  }
6
6
  type Fetch = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
7
7
  /** Selects whether Vercel requests operate on a personal account or a team. */
@@ -42,11 +42,31 @@ interface Interface extends Interface$1 {
42
42
  readonly listZones: (input?: ListZonesInput) => Effect.Effect<ReadonlyArray<Zone>, Error>;
43
43
  readonly validateToken: () => Effect.Effect<TokenValidation, Error>;
44
44
  }
45
+ /** Exposes Vercel zone lookup as the optional provider discovery capability. */
46
+ declare function discovery(client: Interface): Source;
45
47
  /** Creates an Effect-native Vercel client without owning the credential lifecycle. */
46
48
  declare function make(options: Options): Interface;
47
49
  declare namespace auth_d_exports {
48
- export { ExchangeCodeOptions, IntegrationCredential, IntegrationMethodOptions, exchangeCode, integrationMethod, manifest, tokenMethod };
50
+ export { Context$1 as Context, ExchangeCodeOptions, IntegrationCredential, IntegrationFlowOptions, IntegrationMethodOptions, TokenConnectionOptions, contextCodec, exchangeCode, integrationAuthentication, integrationFlow, integrationMethod, manifest, tokenConnectionMethod, tokenMethod };
49
51
  }
52
+ declare const Context$1: Schema.TaggedUnion<{
53
+ readonly personal: Schema.TaggedStruct<"personal", {
54
+ readonly installationId: Schema.NullOr<Schema.String>;
55
+ }>;
56
+ readonly team: Schema.TaggedStruct<"team", {
57
+ readonly installationId: Schema.NullOr<Schema.String>;
58
+ readonly teamId: Schema.String;
59
+ }>;
60
+ }>;
61
+ type Context$1 = typeof Context$1.Type;
62
+ declare const contextCodec: Codec<{
63
+ readonly _tag: "personal";
64
+ readonly installationId: string | null;
65
+ } | {
66
+ readonly _tag: "team";
67
+ readonly installationId: string | null;
68
+ readonly teamId: string;
69
+ }>;
50
70
  /** Describes Vercel's caller-created personal access-token method. */
51
71
  declare function tokenMethod(capabilities: TokenValidation["capabilities"]): Extract<Manifest["methods"][number], {
52
72
  readonly _tag: "token";
@@ -86,9 +106,40 @@ declare const exchangeCode: (options: ExchangeCodeOptions) => Effect.Effect<{
86
106
  installationId: string | null;
87
107
  userId: string;
88
108
  }, Error, never>;
109
+ interface TokenConnectionOptions extends Omit<Options, "token"> {
110
+ readonly token: Value;
111
+ }
112
+ /** Creates a provider-independent token connection method backed by Vercel validation. */
113
+ declare function tokenConnectionMethod(options: TokenConnectionOptions): Extract<Method, {
114
+ readonly _tag: "Token";
115
+ }>;
116
+ /** Converts a completed Vercel Integration exchange into canonical connection authentication. */
117
+ declare const integrationAuthentication: (options: ExchangeCodeOptions & {
118
+ readonly capabilities: ReadonlyArray<Capability>;
119
+ }) => Effect.Effect<{
120
+ capabilityEvidence: {
121
+ capability: "dns:read" | "dns:write";
122
+ evidence: {
123
+ readonly _tag: "Introspected";
124
+ readonly observedAt: Date;
125
+ };
126
+ }[];
127
+ credential: {
128
+ accessToken: Value;
129
+ refreshToken: null;
130
+ tokenType: string;
131
+ };
132
+ expiresAt: null;
133
+ providerAccountId: string;
134
+ providerContext: Envelope;
135
+ scopes: never[];
136
+ }, Error$1 | Error, never>;
137
+ interface IntegrationFlowOptions extends Omit<ExchangeCodeOptions, "code">, IntegrationMethodOptions {}
138
+ /** Creates Vercel Integration's implementation of the common interactive connection capability. */
139
+ declare function integrationFlow(options: IntegrationFlowOptions): InteractiveFlow;
89
140
  declare namespace index_d_exports {
90
- export { Account, AccountContext, auth_d_exports as Auth, client_d_exports as Client, Fetch, Interface, ListZonesInput, Options, Zone, make };
141
+ export { Account, AccountContext, auth_d_exports as Auth, client_d_exports as Client, Fetch, Interface, ListZonesInput, Options, Zone, discovery, make };
91
142
  }
92
143
  //#endregion
93
- export { make as _, auth_d_exports as a, tokenMethod as c, Fetch as d, Interface as f, client_d_exports as g, Zone as h, IntegrationMethodOptions as i, Account as l, Options as m, ExchangeCodeOptions as n, integrationMethod as o, ListZonesInput as p, IntegrationCredential as r, manifest as s, index_d_exports as t, AccountContext as u };
94
- //# sourceMappingURL=index-CEzk2gbZ.d.mts.map
144
+ export { Zone as _, IntegrationMethodOptions as a, make as b, integrationMethod as c, Account as d, AccountContext as f, Options as g, ListZonesInput as h, IntegrationFlowOptions as i, manifest as l, Interface as m, ExchangeCodeOptions as n, TokenConnectionOptions as o, Fetch as p, IntegrationCredential as r, auth_d_exports as s, index_d_exports as t, tokenMethod as u, client_d_exports as v, discovery as y };
145
+ //# sourceMappingURL=index-Ewc__bQu.d.mts.map
package/dist/index.d.mts CHANGED
@@ -1,48 +1,37 @@
1
- import { A as Schema$1, C as DnsRecord, D as Observed, E as Ns, I as equals, L as parse, M as Txt, N as Type, O as Opaque, P as data, R as DomainName, S as Cname, T as Mx, U as invalid_input_d_exports, V as parse$1, a as OAuthClientConfiguration, b as Aaaa, c as Schema, d as Value, f as secret_d_exports, i as Method, j as Srv, k as RequirementMetadata, l as TokenValidation, m as CreateResult, o as OAuthMethod, p as AsyncInterface, r as Manifest, t as AsyncOAuthSubjectResolver, w as Encoded, x as Caa, y as A, z as Schema$2 } from "./manifest-CP85ePFn.mjs";
2
- import { n as cloudflare_d_exports } from "./cloudflare-CprjjXfm.mjs";
3
- import { $ as Schema$4, G as OAuthContinuation, H as AuthorizationError, I as AsyncInterface$1, J as assertGrant, K as Schema$3, M as AsyncInterface$3, O as AsyncInterface$2, Q as ProviderAuthorization, S as encodeReceipt, U as Connection, W as Grant, X as encode, Z as Capability, _ as Operation, b as Schema$5, g as DnsPlan, h as Authorization, m as ApplyReceipt, n as AsyncInterface$4, o as Query, q as StoredCredential, r as AsyncResolution, t as Answer, tt as encode$1, u as AsyncInterface$6, v as PlanAuthorization, w as AsyncInterface$5, x as encode$2, y as Receipt } from "./resolver-BHPsADzE.mjs";
4
- import { A as updateGrant$1, C as Fetch$1, D as DetachResult, O as Error, S as BeginInput$1, _ as CreateInput$1, a as Options$3, b as zones_d_exports, c as Authorization$1, d as Operation$1, f as PartialError, l as CreateError, m as Receipt$1, p as Plan, r as Options$2, s as ApplyError, t as Result, u as Error$1, x as selection_d_exports, y as renderManualInstructions$1 } from "./verify-B80xCBh2.mjs";
5
- import { r as vercel_d_exports } from "./vercel-D-E2aqb1.mjs";
6
- declare namespace connection_d_exports {
7
- export { AuthorizationError, Connection, Grant, OAuthContinuation, Schema$3 as Schema, StoredCredential, assertGrant, decode$3 as decode, encode };
8
- }
9
- declare function decode$3(input: unknown): Promise<Connection>;
10
- declare namespace connection_lifecycle_d_exports {
11
- export { DetachResult, Error, detach, updateGrant };
12
- }
13
- declare function updateGrant(input: {
14
- readonly connection: Parameters<typeof updateGrant$1>[0]["connection"];
15
- readonly connectionStore: AsyncInterface$1;
16
- readonly grant: Parameters<typeof updateGrant$1>[0]["grant"];
17
- }): Promise<Connection>;
18
- declare function detach(input: {
19
- readonly authorizationStore: AsyncInterface$2;
20
- readonly connectionId: string;
21
- readonly connectionStore: AsyncInterface$1;
22
- readonly credentialStore: AsyncInterface$3;
23
- readonly revokeAuthorization: (authorization: ProviderAuthorization) => Promise<void>;
24
- }): Promise<DetachResult>;
25
- declare namespace provider_authorization_d_exports {
26
- export { Capability, ProviderAuthorization, Schema$4 as Schema, decode$2 as decode, encode$1 as encode };
1
+ import { $ as Method, A as Connection, B as Capability, Ct as Opaque, Dt as Txt, Et as Srv, G as Schema$2, H as Evidence, It as parse$1, Mt as parse, Nt as DomainName, Ot as Type, Pt as Schema$4, Q as Manifest, Rt as invalid_input_d_exports, S as provider_context_d_exports, St as Observed, Tt as Schema$3, U as EvidenceSchema, V as CapabilityEvidence, W as ProviderAuthorization, X as AsyncOAuthSubjectResolver, _t as Cname, bt as Mx, ct as AsyncInterface, et as OAuthClientConfiguration, gt as Caa, ht as Aaaa, it as TokenValidation, jt as equals, kt as data, lt as CreateResult, mt as A, q as encode, rt as Schema$1, st as secret_d_exports, tt as OAuthMethod, vt as DnsRecord, wt as RequirementMetadata, xt as Ns, yt as Encoded } from "./zone-discovery-BA5I24vu.mjs";
2
+ import { a as Source, i as authorization_lifecycle_d_exports, o as zone_discovery_d_exports, r as connection_d_exports } from "./connection-CEqadXSm.mjs";
3
+ import { n as cloudflare_d_exports } from "./cloudflare-FDl5q7Dm.mjs";
4
+ import { _ as selection_d_exports, c as Policy, f as Options$3, g as zones_d_exports, i as Result, m as Options$4, n as PublicDns$1, o as DefaultOptions, r as PublicDnsObservation, s as Observation, t as ProviderObservation, u as Options$5, v as diagnostic_d_exports } from "./verify-7_EbKbFM.mjs";
5
+ import { A as renderManualInstructions$1, C as DiscoverCreateInput$1, E as ResolvedCreateResult, F as PlanAuthorization, I as Receipt, L as Schema$5, M as Authorization, N as DnsPlan, O as Target, P as Operation, R as encode$1, S as CreateResult$1, _ as Receipt$1, d as Authorization$1, f as CreateError, g as Plan, h as PartialError, j as ApplyReceipt, m as Operation$1, n as AsyncInterface$1, o as Query, p as Error, r as AsyncResolution, t as Answer, u as ApplyError, w as ExactCreateInput$1, z as encodeReceipt } from "./resolver-BbVzTbCX.mjs";
6
+ import { i as vercel_d_exports } from "./vercel-DgJaUX9D.mjs";
7
+ import { Data } from "effect";
8
+ declare namespace dns_provider_d_exports {
9
+ export { CreateResult, AsyncInterface as Interface };
10
+ }
11
+ declare namespace dns_resolver_d_exports {
12
+ export { Answer, AsyncInterface$1 as Interface, Query, AsyncResolution as Resolution };
27
13
  }
28
- declare function decode$2(input: unknown): Promise<ProviderAuthorization>;
29
14
  declare namespace provider_auth_d_exports {
30
- export { Manifest, Method, OAuthClientConfiguration, OAuthMethod, AsyncOAuthSubjectResolver as OAuthSubjectResolver, Schema, TokenValidation, decode$1 as decode };
15
+ export { Manifest, Method, OAuthClientConfiguration, OAuthMethod, AsyncOAuthSubjectResolver as OAuthSubjectResolver, Schema$1 as Schema, TokenValidation, decode$2 as decode };
31
16
  }
32
- declare function decode$1(input: unknown): Promise<Manifest>;
17
+ declare function decode$2(input: unknown): Promise<Manifest>;
18
+ declare namespace provider_authorization_d_exports {
19
+ export { Capability, CapabilityEvidence, Evidence, EvidenceSchema, ProviderAuthorization, Schema$2 as Schema, decode$1 as decode, encode };
20
+ }
21
+ declare function decode$1(input: unknown): Promise<ProviderAuthorization>;
33
22
  declare namespace dns_record_d_exports {
34
- export { A, Aaaa, Caa, Cname, DnsRecord, Encoded, Mx, Ns, Observed, Opaque, RequirementMetadata, Schema$1 as Schema, Srv, Txt, Type, data, equals, parse };
23
+ export { A, Aaaa, Caa, Cname, DnsRecord, Encoded, Mx, Ns, Observed, Opaque, RequirementMetadata, Schema$3 as Schema, Srv, Txt, Type, data, equals, parse };
35
24
  }
36
25
  declare namespace domain_name_d_exports {
37
- export { DomainName, Schema$2 as Schema, parse$1 as parse };
26
+ export { DomainName, Schema$4 as Schema, parse$1 as parse };
38
27
  }
39
28
  declare namespace dns_plan_d_exports {
40
- export { ApplyReceipt, Authorization, DnsPlan, Operation, PlanAuthorization, Receipt, Schema$5 as Schema, decode, decodeReceipt, encode$2 as encode, encodeReceipt };
29
+ export { ApplyReceipt, Authorization, DnsPlan, Operation, PlanAuthorization, Receipt, Schema$5 as Schema, decode, decodeReceipt, encode$1 as encode, encodeReceipt };
41
30
  }
42
31
  declare function decode(input: unknown): Promise<DnsPlan>;
43
32
  declare function decodeReceipt(input: unknown): Promise<ApplyReceipt>;
44
33
  declare namespace deletion_d_exports {
45
- export { ApplyError, Authorization$1 as Authorization, CreateError, Authorization$1 as DeletionAuthorization, Operation$1 as DeletionOperation, Plan as DeletionPlan, Receipt$1 as DeletionReceipt, Error$1 as Error, Operation$1 as Operation, PartialError, Plan, Receipt$1 as Receipt, apply$1 as apply, authorize$1 as authorize, create$1 as create };
34
+ export { ApplyError, Authorization$1 as Authorization, CreateError, Authorization$1 as DeletionAuthorization, Operation$1 as DeletionOperation, Plan as DeletionPlan, Receipt$1 as DeletionReceipt, Error, Operation$1 as Operation, PartialError, Plan, Receipt$1 as Receipt, apply$1 as apply, authorize$1 as authorize, create$1 as create };
46
35
  }
47
36
  declare function create$1(input: {
48
37
  readonly plan: DnsPlan;
@@ -57,57 +46,17 @@ declare function apply$1(input: {
57
46
  readonly priorReceipt?: Receipt$1;
58
47
  readonly provider: AsyncInterface;
59
48
  }): Promise<Receipt$1>;
60
- declare namespace dns_provider_d_exports {
61
- export { CreateResult, AsyncInterface as Interface };
62
- }
63
- declare namespace dns_resolver_d_exports {
64
- export { Answer, AsyncInterface$4 as Interface, Query, AsyncResolution as Resolution };
65
- }
66
- declare namespace oauth_d_exports {
67
- export { BeginInput, Fetch, begin, complete, refresh, revoke };
68
- }
69
- interface BeginInput extends BeginInput$1 {
70
- readonly stateStore: AsyncInterface$5;
71
- }
72
- declare function begin(input: BeginInput): Promise<{
73
- readonly authorizationUrl: URL;
74
- }>;
75
- declare function complete(input: {
76
- readonly callbackUrl: URL;
77
- readonly client: OAuthClientConfiguration;
78
- readonly connectionStore: AsyncInterface$1;
79
- readonly credentialStore: AsyncInterface$3;
80
- readonly authorizationStore: AsyncInterface$2;
81
- readonly fetch?: Fetch$1;
82
- readonly providerId: string;
83
- readonly resolveSubject: AsyncOAuthSubjectResolver;
84
- readonly stateStore: AsyncInterface$5;
85
- }): Promise<{
86
- readonly authorization: ProviderAuthorization;
87
- readonly connection: Connection;
88
- }>;
89
- declare function refresh(input: {
90
- readonly authorization: ProviderAuthorization;
91
- readonly client: OAuthClientConfiguration;
92
- readonly credentialStore: AsyncInterface$3;
93
- readonly fetch?: Fetch$1;
94
- readonly method: OAuthMethod;
95
- }): Promise<void>;
96
- declare function revoke(input: {
97
- readonly authorization: ProviderAuthorization;
98
- readonly client: OAuthClientConfiguration;
99
- readonly credentialStore: AsyncInterface$3;
100
- readonly fetch?: Fetch$1;
101
- readonly method: OAuthMethod;
102
- }): Promise<void>;
103
- type Fetch = Fetch$1;
104
49
  declare namespace provisioning_d_exports {
105
- export { CreateInput, apply, authorize, authorizeForConnection, create, renderManualInstructions };
50
+ export { CreateResult$1 as CreateResult, DiscoverCreateInput, ExactCreateInput, Target, apply, authorize, authorizeForConnection, create, renderManualInstructions };
106
51
  }
107
- interface CreateInput extends CreateInput$1 {
52
+ interface ExactCreateInput extends ExactCreateInput$1 {
108
53
  readonly provider: AsyncInterface;
109
54
  }
110
- declare function create(input: CreateInput): Promise<DnsPlan>;
55
+ interface DiscoverCreateInput extends DiscoverCreateInput$1 {
56
+ readonly sources: ReadonlyArray<Source>;
57
+ }
58
+ declare function create(input: ExactCreateInput): Promise<ResolvedCreateResult>;
59
+ declare function create(input: DiscoverCreateInput): Promise<CreateResult$1>;
111
60
  declare function authorize(plan: DnsPlan, operationIds?: ReadonlyArray<string>, options?: {
112
61
  readonly allowPartial?: boolean;
113
62
  }): Promise<PlanAuthorization>;
@@ -125,49 +74,156 @@ declare function authorizeForConnection(input: {
125
74
  readonly plan: DnsPlan;
126
75
  }): Promise<PlanAuthorization>;
127
76
  declare const renderManualInstructions: typeof renderManualInstructions$1;
128
- declare namespace stores_d_exports {
129
- export { AsyncInterface$1 as Connection, AsyncInterface$3 as Credential, AsyncInterface$5 as OAuthState, AsyncInterface$2 as ProviderAuthorization, AsyncInterface$6 as Receipt };
130
- }
131
- declare namespace token_d_exports {
132
- export { connect };
133
- }
134
- declare function connect(input: {
135
- readonly connectionStore: AsyncInterface$1;
136
- readonly credentialStore: AsyncInterface$3;
137
- readonly authorizationStore: AsyncInterface$2;
138
- readonly grant: Grant;
139
- readonly ownerId: string;
140
- readonly providerId: string;
141
- readonly subjectId: string;
142
- readonly token: Value;
143
- readonly validate: (token: Value) => Promise<TokenValidation>;
144
- }): Promise<{
145
- readonly authorization: ProviderAuthorization;
146
- readonly connection: Connection;
147
- }>;
148
- declare namespace verification_d_exports {
149
- export { record };
77
+ declare namespace resolver_pool_d_exports {
78
+ export { Entry, Interface, Observation, Policy, defaultMake, make$3 as make };
150
79
  }
151
- declare function record(input: {
152
- readonly provider: AsyncInterface;
80
+ interface Entry {
81
+ readonly id: string;
82
+ readonly resolver: AsyncInterface$1;
83
+ readonly timeoutMs?: number;
84
+ }
85
+ interface Interface {
86
+ readonly observe: (query: Query) => Promise<ReadonlyArray<Observation>>;
87
+ }
88
+ declare function make$3(entries: ReadonlyArray<Entry>): Interface;
89
+ declare function defaultMake(options?: DefaultOptions): Interface;
90
+ declare namespace verification_d_exports {
91
+ export { Config, Provider, ProviderObservation, PublicDns, PublicDnsObservation, Result, observe };
92
+ }
93
+ type PublicDns = PublicDns$1;
94
+ declare const PublicDns: {
95
+ readonly $is: <Tag extends "Disabled" | "Enabled">(tag: Tag) => (u: unknown) => u is Extract<{
96
+ readonly _tag: "Disabled";
97
+ }, {
98
+ readonly _tag: Tag;
99
+ }> | Extract<{
100
+ readonly _tag: "Enabled";
101
+ readonly policy?: Policy;
102
+ }, {
103
+ readonly _tag: Tag;
104
+ }>;
105
+ readonly $match: {
106
+ <Cases extends { readonly [Tag in "Disabled" | "Enabled"]: (args: Extract<{
107
+ readonly _tag: "Disabled";
108
+ } | {
109
+ readonly _tag: "Enabled";
110
+ readonly policy?: Policy;
111
+ }, {
112
+ readonly _tag: Tag;
113
+ }>) => any; }>(cases: Cases): (value: {
114
+ readonly _tag: "Disabled";
115
+ } | {
116
+ readonly _tag: "Enabled";
117
+ readonly policy?: Policy;
118
+ }) => import("effect/Unify").Unify<ReturnType<Cases["Disabled" | "Enabled"]>>;
119
+ <Cases extends { readonly [Tag in "Disabled" | "Enabled"]: (args: Extract<{
120
+ readonly _tag: "Disabled";
121
+ } | {
122
+ readonly _tag: "Enabled";
123
+ readonly policy?: Policy;
124
+ }, {
125
+ readonly _tag: Tag;
126
+ }>) => any; }>(value: {
127
+ readonly _tag: "Disabled";
128
+ } | {
129
+ readonly _tag: "Enabled";
130
+ readonly policy?: Policy;
131
+ }, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Disabled" | "Enabled"]>>;
132
+ };
133
+ readonly Disabled: Data.TaggedEnum.ConstructorFrom<{
134
+ readonly _tag: "Disabled";
135
+ }, "_tag">;
136
+ readonly Enabled: Data.TaggedEnum.ConstructorFrom<{
137
+ readonly _tag: "Enabled";
138
+ readonly policy?: Policy;
139
+ }, "_tag">;
140
+ };
141
+ type Provider = Data.TaggedEnum<{
142
+ Disabled: {};
143
+ Enabled: {
144
+ readonly provider: AsyncInterface;
145
+ readonly zone: DomainName;
146
+ };
147
+ }>;
148
+ declare const Provider: {
149
+ readonly $is: <Tag extends "Disabled" | "Enabled">(tag: Tag) => (u: unknown) => u is Extract<{
150
+ readonly _tag: "Disabled";
151
+ }, {
152
+ readonly _tag: Tag;
153
+ }> | Extract<{
154
+ readonly _tag: "Enabled";
155
+ readonly provider: AsyncInterface;
156
+ readonly zone: DomainName;
157
+ }, {
158
+ readonly _tag: Tag;
159
+ }>;
160
+ readonly $match: {
161
+ <Cases extends { readonly [Tag in "Disabled" | "Enabled"]: (args: Extract<{
162
+ readonly _tag: "Disabled";
163
+ } | {
164
+ readonly _tag: "Enabled";
165
+ readonly provider: AsyncInterface;
166
+ readonly zone: DomainName;
167
+ }, {
168
+ readonly _tag: Tag;
169
+ }>) => any; }>(cases: Cases): (value: {
170
+ readonly _tag: "Disabled";
171
+ } | {
172
+ readonly _tag: "Enabled";
173
+ readonly provider: AsyncInterface;
174
+ readonly zone: DomainName;
175
+ }) => import("effect/Unify").Unify<ReturnType<Cases["Disabled" | "Enabled"]>>;
176
+ <Cases extends { readonly [Tag in "Disabled" | "Enabled"]: (args: Extract<{
177
+ readonly _tag: "Disabled";
178
+ } | {
179
+ readonly _tag: "Enabled";
180
+ readonly provider: AsyncInterface;
181
+ readonly zone: DomainName;
182
+ }, {
183
+ readonly _tag: Tag;
184
+ }>) => any; }>(value: {
185
+ readonly _tag: "Disabled";
186
+ } | {
187
+ readonly _tag: "Enabled";
188
+ readonly provider: AsyncInterface;
189
+ readonly zone: DomainName;
190
+ }, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Disabled" | "Enabled"]>>;
191
+ };
192
+ readonly Disabled: Data.TaggedEnum.ConstructorFrom<{
193
+ readonly _tag: "Disabled";
194
+ }, "_tag">;
195
+ readonly Enabled: Data.TaggedEnum.ConstructorFrom<{
196
+ readonly _tag: "Enabled";
197
+ readonly provider: AsyncInterface;
198
+ readonly zone: DomainName;
199
+ }, "_tag">;
200
+ };
201
+ interface Config {
202
+ readonly provider?: Provider;
203
+ readonly publicDns?: PublicDns;
153
204
  readonly record: DnsRecord;
154
- readonly resolver: AsyncInterface$4;
155
- readonly zone: DomainName;
156
- }): Promise<Result>;
205
+ readonly resolvers?: ReadonlyArray<Entry>;
206
+ }
207
+ declare function observe(input: Config): Promise<Result>;
157
208
  declare namespace cloudflare_doh_d_exports {
158
- export { Options$1 as Options, make$1 as make };
209
+ export { Options$2 as Options, make$2 as make };
159
210
  }
160
- type Options$1 = Options$2;
161
- declare function make$1(options?: Options$1): AsyncInterface$4;
211
+ type Options$2 = Options$3;
212
+ declare function make$2(options?: Options$2): AsyncInterface$1;
162
213
  declare namespace doh_d_exports {
214
+ export { Options$1 as Options, make$1 as make };
215
+ }
216
+ type Options$1 = Options$4;
217
+ declare function make$1(options: Options$1): AsyncInterface$1;
218
+ declare namespace google_doh_d_exports {
163
219
  export { Options, make };
164
220
  }
165
- type Options = Options$3;
166
- declare function make(options: Options): AsyncInterface$4;
221
+ type Options = Options$5;
222
+ declare function make(options?: Options): AsyncInterface$1;
167
223
  //#endregion
168
224
  //#region src/index.d.ts
169
225
  /** The current package version from the package manifest. */
170
226
  declare const VERSION: string;
171
227
  //#endregion
172
- export { cloudflare_d_exports as Cloudflare, cloudflare_doh_d_exports as CloudflareDnsOverHttps, connection_d_exports as Connection, connection_lifecycle_d_exports as ConnectionLifecycle, deletion_d_exports as Deletion, doh_d_exports as DnsOverHttps, dns_plan_d_exports as DnsPlan, type dns_provider_d_exports as DnsProvider, dns_record_d_exports as DnsRecord, type dns_resolver_d_exports as DnsResolver, domain_name_d_exports as DomainName, invalid_input_d_exports as InvalidInput, oauth_d_exports as OAuth, provider_auth_d_exports as ProviderAuth, provider_authorization_d_exports as ProviderAuthorization, selection_d_exports as ProviderDiscovery, provisioning_d_exports as Provisioning, secret_d_exports as Secret, type stores_d_exports as Stores, token_d_exports as TokenConnection, VERSION, vercel_d_exports as Vercel, verification_d_exports as Verification, zones_d_exports as Zones };
228
+ export { authorization_lifecycle_d_exports as AuthorizationLifecycle, cloudflare_d_exports as Cloudflare, cloudflare_doh_d_exports as CloudflareDnsOverHttps, connection_d_exports as Connection, deletion_d_exports as Deletion, diagnostic_d_exports as Diagnostic, doh_d_exports as DnsOverHttps, dns_plan_d_exports as DnsPlan, type dns_provider_d_exports as DnsProvider, dns_record_d_exports as DnsRecord, type dns_resolver_d_exports as DnsResolver, resolver_pool_d_exports as DnsResolverPool, domain_name_d_exports as DomainName, google_doh_d_exports as GoogleDnsOverHttps, invalid_input_d_exports as InvalidInput, provider_auth_d_exports as ProviderAuth, provider_authorization_d_exports as ProviderAuthorization, provider_context_d_exports as ProviderContext, selection_d_exports as ProviderDiscovery, provisioning_d_exports as Provisioning, secret_d_exports as Secret, VERSION, vercel_d_exports as Vercel, verification_d_exports as Verification, zone_discovery_d_exports as ZoneDiscovery, zones_d_exports as Zones };
173
229
  //# sourceMappingURL=index.d.mts.map