domainkit 0.6.0 → 0.8.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.
Files changed (32) hide show
  1. package/README.md +20 -18
  2. package/dist/{canonical-json-9x7gHIoS.mjs → canonical-json-CQYKsZw7.mjs} +10 -4
  3. package/dist/canonical-json-CQYKsZw7.mjs.map +1 -0
  4. package/dist/{connect-Db830jad.d.mts → connect-D-X8T9W8.d.mts} +305 -95
  5. package/dist/{connect-ks3cpqBD.mjs → connect-oI8hcMxc.mjs} +4 -4
  6. package/dist/connect-oI8hcMxc.mjs.map +1 -0
  7. package/dist/{connection-DuYDgWir.d.mts → connection-Dp6ZdSo8.d.mts} +2 -2
  8. package/dist/{connection-api-B__0M3PA.d.mts → connection-api-lqG1nBtD.d.mts} +2 -2
  9. package/dist/index.d.mts +703 -34
  10. package/dist/index.mjs +137 -30
  11. package/dist/index.mjs.map +1 -1
  12. package/dist/{managed-dns-connections-CaXts84E.mjs → managed-dns-connections-C3A_GBaz.mjs} +2 -2
  13. package/dist/{managed-dns-connections-CaXts84E.mjs.map → managed-dns-connections-C3A_GBaz.mjs.map} +1 -1
  14. package/dist/promise.d.mts +72 -13
  15. package/dist/promise.mjs +13 -8
  16. package/dist/promise.mjs.map +1 -1
  17. package/dist/{resolver-DxJPsq6l.mjs → resolver-BeGz1ukw.mjs} +132 -50
  18. package/dist/resolver-BeGz1ukw.mjs.map +1 -0
  19. package/dist/{resolver-DUAIlm2I.d.mts → resolver-xoSwyXDJ.d.mts} +889 -15
  20. package/dist/server.d.mts +3 -3
  21. package/dist/server.mjs +3 -3
  22. package/dist/testing.d.mts +2 -2
  23. package/dist/testing.mjs +5 -7
  24. package/dist/testing.mjs.map +1 -1
  25. package/dist/{verify-DAtUAEeg.mjs → verify-DvGPb5C9.mjs} +51 -45
  26. package/dist/verify-DvGPb5C9.mjs.map +1 -0
  27. package/dist/{verify-yAy-r9no.d.mts → verify-FpunAcM7.d.mts} +83 -6
  28. package/package.json +4 -2
  29. package/dist/canonical-json-9x7gHIoS.mjs.map +0 -1
  30. package/dist/connect-ks3cpqBD.mjs.map +0 -1
  31. package/dist/resolver-DxJPsq6l.mjs.map +0 -1
  32. package/dist/verify-DAtUAEeg.mjs.map +0 -1
package/dist/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.mjs";
2
- import { $ as manifest_exports, A as discovery$1, H as client_exports, J as selection_exports, K as connection_authorization_exports, M as auth_exports, U as discovery, W as make, Y as secret_exports, b as dns_data_exports, et as diagnostic_exports, g as cloudflare_doh_exports, j as make$1, k as client_exports$1, m as google_doh_exports, p as resolver_pool_exports, q as session_exports, s as verify_exports, tt as version, v as doh_exports, x as auth_exports$1 } from "./verify-DAtUAEeg.mjs";
3
- import { A as invalid_input_exports, C as project, D as domain_name_exports, S as encode, _ as ProviderTargetEvidence, a as AggregateSchema, b as authorizationError, d as provider_context_exports, f as AuthorizationError, g as ProviderTarget, h as ProviderConnection, l as authorization_exports, m as DomainAttachment, o as Error, p as ConnectionStatus, s as Service$1, t as canonical_json_exports, v as StoredConnection, w as validate, x as decode } from "./canonical-json-9x7gHIoS.mjs";
4
- import { a as start, i as complete, n as Method$1, r as StartResult, t as Error$1 } from "./connect-ks3cpqBD.mjs";
5
- import { C as plan_exports, N as types_exports, R as provider_exports, lt as zones_exports, m as deletion_exports, r as resolver_exports, st as zone_discovery_exports, tt as dns_record_exports } from "./resolver-DxJPsq6l.mjs";
2
+ import { A as client_exports$1, G as make, J as session_exports, M as make$1, N as auth_exports, U as client_exports, W as discovery, X as secret_exports, Y as selection_exports, b as dns_data_exports, et as manifest_exports, g as cloudflare_doh_exports, j as discovery$1, k as AccountContext, m as google_doh_exports, nt as version, p as resolver_pool_exports, q as connection_authorization_exports, s as verify_exports, tt as diagnostic_exports, v as doh_exports, x as auth_exports$1 } from "./verify-DvGPb5C9.mjs";
3
+ import { C as encode, O as domain_name_exports, S as decode, T as validate, _ as ProviderTarget, a as AggregateSchema, f as provider_context_exports, g as ProviderConnection, h as DomainAttachment, j as invalid_input_exports, m as ConnectionStatus, o as Error, p as AuthorizationError, s as Service$1, t as canonical_json_exports, u as authorization_exports, v as ProviderTargetEvidence, w as project, x as authorizationError, y as StoredConnection } from "./canonical-json-CQYKsZw7.mjs";
4
+ import { a as start, i as complete, n as Method$1, r as StartResult, t as Error$1 } from "./connect-oI8hcMxc.mjs";
5
+ import { B as provider_exports, F as types_exports, T as plan_exports, a as resolver_exports, dt as zones_exports, g as deletion_exports, lt as zone_discovery_exports, rt as dns_record_exports } from "./resolver-BeGz1ukw.mjs";
6
6
  import { Context, Data, Effect, Layer, Schema } from "effect";
7
7
  //#region src/auth/connection-lifecycle.ts
8
8
  /** Attach one exact provider target to one organization domain. */
@@ -66,6 +66,7 @@ var cloudflare_exports = /* @__PURE__ */ __exportAll({
66
66
  //#endregion
67
67
  //#region src/providers/vercel/index.ts
68
68
  var vercel_exports = /* @__PURE__ */ __exportAll({
69
+ AccountContext: () => AccountContext,
69
70
  Auth: () => auth_exports$1,
70
71
  Client: () => client_exports$1,
71
72
  discovery: () => discovery$1,
@@ -125,7 +126,7 @@ const AuthenticationParameter = Schema.Struct({
125
126
  placeholder: Schema.optionalKey(Schema.String),
126
127
  required: Schema.optionalKey(Schema.Boolean)
127
128
  });
128
- const AuthenticationMethod = Schema.TaggedUnion({
129
+ const AuthenticationMethodSchema = Schema.TaggedUnion({
129
130
  Integration: { label: Schema.String },
130
131
  OAuth: { label: Schema.String },
131
132
  Token: {
@@ -134,39 +135,81 @@ const AuthenticationMethod = Schema.TaggedUnion({
134
135
  placeholder: Schema.optionalKey(Schema.String)
135
136
  }
136
137
  });
138
+ /** Authentication method schema and constructors for trusted host transport responses. */
139
+ const AuthenticationMethod = {
140
+ Schema: AuthenticationMethodSchema,
141
+ Integration: (input) => AuthenticationMethodSchema.cases.Integration.make(input),
142
+ OAuth: (input) => AuthenticationMethodSchema.cases.OAuth.make(input),
143
+ Token: (input) => AuthenticationMethodSchema.cases.Token.make(input)
144
+ };
137
145
  const Method = Data.taggedEnum();
138
146
  const Provider = Schema.Struct({
139
- authentication: Schema.Array(AuthenticationMethod),
147
+ authentication: Schema.Array(AuthenticationMethod.Schema),
140
148
  id: Schema.String,
141
149
  name: Schema.String
142
150
  });
143
- const Connected = Schema.TaggedStruct("Connected", {
151
+ const ConnectedSchema = Schema.TaggedStruct("Connected", {
144
152
  attachment: DomainAttachment,
145
153
  connection: ProviderConnection,
146
154
  provider: Provider
147
155
  });
156
+ /** Constructs a connected transport snapshot from trusted host data. */
157
+ function Connected(input) {
158
+ return ConnectedSchema.make(input);
159
+ }
160
+ (function(_Connected) {
161
+ _Connected.Schema = ConnectedSchema;
162
+ })(Connected || (Connected = {}));
148
163
  const ReusableConnection = Schema.Struct({
149
164
  connection: ProviderConnection,
150
165
  targets: Schema.Array(ProviderTarget)
151
166
  });
152
- const Disconnected = Schema.TaggedStruct("Disconnected", {
167
+ const DisconnectedSchema = Schema.TaggedStruct("Disconnected", {
153
168
  domain: Schema.String,
154
169
  provider: Provider,
155
170
  reusableConnections: Schema.Array(ReusableConnection)
156
171
  });
157
- const Unsupported = Schema.TaggedStruct("Unsupported", { domain: Schema.String });
172
+ /** Constructs a disconnected transport snapshot from trusted host data. */
173
+ function Disconnected(input) {
174
+ return DisconnectedSchema.make(input);
175
+ }
176
+ (function(_Disconnected) {
177
+ _Disconnected.Schema = DisconnectedSchema;
178
+ })(Disconnected || (Disconnected = {}));
179
+ const UnsupportedSchema = Schema.TaggedStruct("Unsupported", { domain: Schema.String });
180
+ /** Constructs an unsupported transport snapshot from trusted host data. */
181
+ function Unsupported(input) {
182
+ return UnsupportedSchema.make(input);
183
+ }
184
+ (function(_Unsupported) {
185
+ _Unsupported.Schema = UnsupportedSchema;
186
+ })(Unsupported || (Unsupported = {}));
158
187
  const ConnectionSnapshot = Schema.Union([
159
- Connected,
160
- Disconnected,
161
- Unsupported
188
+ ConnectedSchema,
189
+ DisconnectedSchema,
190
+ UnsupportedSchema
162
191
  ]).pipe(Schema.toTaggedUnion("_tag"));
163
- const Redirect = Schema.TaggedStruct("Redirect", { authorizationUrl: Schema.String });
164
- const ConnectionResult = Schema.Union([Connected, Redirect]).pipe(Schema.toTaggedUnion("_tag"));
165
- const DetachResult = Schema.TaggedStruct("Detached", {
192
+ const RedirectSchema = Schema.TaggedStruct("Redirect", { authorizationUrl: Schema.String });
193
+ /** Constructs an OAuth redirect response from trusted host data. */
194
+ function Redirect(input) {
195
+ return RedirectSchema.make(input);
196
+ }
197
+ (function(_Redirect) {
198
+ _Redirect.Schema = RedirectSchema;
199
+ })(Redirect || (Redirect = {}));
200
+ const ConnectionResult = Schema.Union([ConnectedSchema, RedirectSchema]).pipe(Schema.toTaggedUnion("_tag"));
201
+ const DetachResultSchema = Schema.TaggedStruct("Detached", {
166
202
  attachment: DomainAttachment,
167
203
  connection: ProviderConnection,
168
204
  remainingAttachments: Schema.Int
169
205
  });
206
+ /** Constructs a detach response from trusted host data. */
207
+ function DetachResult(input) {
208
+ return DetachResultSchema.make(input);
209
+ }
210
+ (function(_DetachResult) {
211
+ _DetachResult.Schema = DetachResultSchema;
212
+ })(DetachResult || (DetachResult = {}));
170
213
  /** A presentation projection of a DNS requirement. */
171
214
  const DnsRecord = Schema.Struct({
172
215
  id: Schema.String,
@@ -220,7 +263,7 @@ const fromDnsRecord = (id, record) => {
220
263
  };
221
264
  }
222
265
  };
223
- const PlanOperation = Schema.TaggedUnion({
266
+ const PlanOperationSchema = Schema.TaggedUnion({
224
267
  Conflict: {
225
268
  id: Schema.String,
226
269
  reason: Schema.String,
@@ -235,12 +278,26 @@ const PlanOperation = Schema.TaggedUnion({
235
278
  record: DnsRecord
236
279
  }
237
280
  });
238
- const ProvisioningPlan = Schema.TaggedStruct("Plan", {
281
+ /** Provisioning operation schema and constructors for trusted host responses. */
282
+ const PlanOperation = {
283
+ Schema: PlanOperationSchema,
284
+ Conflict: (input) => PlanOperationSchema.cases.Conflict.make(input),
285
+ Create: (input) => PlanOperationSchema.cases.Create.make(input),
286
+ Noop: (input) => PlanOperationSchema.cases.Noop.make(input)
287
+ };
288
+ const ProvisioningPlanSchema = Schema.TaggedStruct("Plan", {
239
289
  digest: Schema.String,
240
290
  expiresAt: Schema.String,
241
- operations: Schema.Array(PlanOperation)
291
+ operations: Schema.Array(PlanOperation.Schema)
242
292
  });
243
- const OperationResult = Schema.TaggedUnion({
293
+ /** Constructs a provisioning plan response from trusted host data. */
294
+ function ProvisioningPlan(input) {
295
+ return ProvisioningPlanSchema.make(input);
296
+ }
297
+ (function(_ProvisioningPlan) {
298
+ _ProvisioningPlan.Schema = ProvisioningPlanSchema;
299
+ })(ProvisioningPlan || (ProvisioningPlan = {}));
300
+ const OperationResultSchema = Schema.TaggedUnion({
244
301
  Applied: { operationId: Schema.String },
245
302
  Failed: {
246
303
  message: Schema.String,
@@ -248,17 +305,31 @@ const OperationResult = Schema.TaggedUnion({
248
305
  },
249
306
  Unchanged: { operationId: Schema.String }
250
307
  });
308
+ /** Per-operation result schema and constructors for trusted host responses. */
309
+ const OperationResult = {
310
+ Schema: OperationResultSchema,
311
+ Applied: (input) => OperationResultSchema.cases.Applied.make(input),
312
+ Failed: (input) => OperationResultSchema.cases.Failed.make(input),
313
+ Unchanged: (input) => OperationResultSchema.cases.Unchanged.make(input)
314
+ };
251
315
  const ApplyOutcomeFields = {
252
316
  operationId: Schema.String,
253
317
  receiptId: Schema.String,
254
- results: Schema.Array(OperationResult)
318
+ results: Schema.Array(OperationResult.Schema)
255
319
  };
256
- const ApplyResult = Schema.TaggedUnion({
320
+ const ApplyResultSchema = Schema.TaggedUnion({
257
321
  Applied: ApplyOutcomeFields,
258
322
  Partial: ApplyOutcomeFields,
259
323
  Stale: { message: Schema.String }
260
324
  });
261
- const ObservationEvidence = Schema.TaggedUnion({
325
+ /** Apply result schema and constructors for trusted host responses. */
326
+ const ApplyResult = {
327
+ Schema: ApplyResultSchema,
328
+ Applied: (input) => ApplyResultSchema.cases.Applied.make(input),
329
+ Partial: (input) => ApplyResultSchema.cases.Partial.make(input),
330
+ Stale: (input) => ApplyResultSchema.cases.Stale.make(input)
331
+ };
332
+ const ObservationEvidenceSchema = Schema.TaggedUnion({
262
333
  Found: { recordId: Schema.String },
263
334
  Mismatch: {
264
335
  message: Schema.String,
@@ -270,11 +341,26 @@ const ObservationEvidence = Schema.TaggedUnion({
270
341
  recordId: Schema.String
271
342
  }
272
343
  });
273
- const Observation = Schema.TaggedStruct("Observation", {
274
- provider: Schema.Array(ObservationEvidence),
275
- publicDns: Schema.Array(ObservationEvidence)
344
+ /** DNS observation evidence schema and constructors for trusted host responses. */
345
+ const ObservationEvidence = {
346
+ Schema: ObservationEvidenceSchema,
347
+ Found: (input) => ObservationEvidenceSchema.cases.Found.make(input),
348
+ Mismatch: (input) => ObservationEvidenceSchema.cases.Mismatch.make(input),
349
+ Missing: (input) => ObservationEvidenceSchema.cases.Missing.make(input),
350
+ Unavailable: (input) => ObservationEvidenceSchema.cases.Unavailable.make(input)
351
+ };
352
+ const ObservationSchema = Schema.TaggedStruct("Observation", {
353
+ provider: Schema.Array(ObservationEvidence.Schema),
354
+ publicDns: Schema.Array(ObservationEvidence.Schema)
276
355
  });
277
- const CleanupOperation = Schema.TaggedUnion({
356
+ /** Constructs a DNS observation response from trusted host data. */
357
+ function Observation(input) {
358
+ return ObservationSchema.make(input);
359
+ }
360
+ (function(_Observation) {
361
+ _Observation.Schema = ObservationSchema;
362
+ })(Observation || (Observation = {}));
363
+ const CleanupOperationSchema = Schema.TaggedUnion({
278
364
  AlreadyAbsent: {
279
365
  id: Schema.String,
280
366
  record: DnsRecord
@@ -289,20 +375,41 @@ const CleanupOperation = Schema.TaggedUnion({
289
375
  record: DnsRecord
290
376
  }
291
377
  });
292
- const CleanupPlan = Schema.TaggedStruct("CleanupPlan", {
378
+ /** Cleanup operation schema and constructors for trusted host responses. */
379
+ const CleanupOperation = {
380
+ Schema: CleanupOperationSchema,
381
+ AlreadyAbsent: (input) => CleanupOperationSchema.cases.AlreadyAbsent.make(input),
382
+ Blocked: (input) => CleanupOperationSchema.cases.Blocked.make(input),
383
+ Delete: (input) => CleanupOperationSchema.cases.Delete.make(input)
384
+ };
385
+ const CleanupPlanSchema = Schema.TaggedStruct("CleanupPlan", {
293
386
  digest: Schema.String,
294
387
  expiresAt: Schema.String,
295
- operations: Schema.Array(CleanupOperation)
388
+ operations: Schema.Array(CleanupOperation.Schema)
296
389
  });
390
+ /** Constructs a cleanup plan response from trusted host data. */
391
+ function CleanupPlan(input) {
392
+ return CleanupPlanSchema.make(input);
393
+ }
394
+ (function(_CleanupPlan) {
395
+ _CleanupPlan.Schema = CleanupPlanSchema;
396
+ })(CleanupPlan || (CleanupPlan = {}));
297
397
  const CleanupOutcomeFields = {
298
398
  operationId: Schema.String,
299
- results: Schema.Array(OperationResult)
399
+ results: Schema.Array(OperationResult.Schema)
300
400
  };
301
- const CleanupResult = Schema.TaggedUnion({
401
+ const CleanupResultSchema = Schema.TaggedUnion({
302
402
  Cleaned: CleanupOutcomeFields,
303
403
  Partial: CleanupOutcomeFields,
304
404
  Stale: { message: Schema.String }
305
405
  });
406
+ /** Cleanup result schema and constructors for trusted host responses. */
407
+ const CleanupResult = {
408
+ Schema: CleanupResultSchema,
409
+ Cleaned: (input) => CleanupResultSchema.cases.Cleaned.make(input),
410
+ Partial: (input) => CleanupResultSchema.cases.Partial.make(input),
411
+ Stale: (input) => CleanupResultSchema.cases.Stale.make(input)
412
+ };
306
413
  var Service = class extends Context.Service()("@domainkit/Transport") {};
307
414
  /** Converts a Promise-shaped host implementation into the canonical Effect service. */
308
415
  const fromAsync = (transport, options = {}) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["Lifecycle.Service","Connection.DomainAttachment","Connection.ProviderConnection","Connection.ProviderTarget","packageJson.version"],"sources":["../src/auth/connection-lifecycle.ts","../src/auth/connection-api.ts","../src/auth/lifecycle-api.ts","../src/providers/cloudflare/index.ts","../src/providers/vercel/index.ts","../src/transport.ts","../src/index.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport * as Connection from \"./connection.ts\";\nimport * as Lifecycle from \"./lifecycle-repository.ts\";\nimport * as ProviderAuthorization from \"./authorization.ts\";\n\n/** Attach one exact provider target to one organization domain. */\nexport const attach = Effect.fn(\"ManagedDnsConnections.attach\")(function* (input: {\n readonly attachment: Connection.DomainAttachment;\n readonly connectionId: string;\n readonly ownerId: string;\n}) {\n const service = yield* Lifecycle.Service;\n return yield* service.attach(input);\n});\n\n/** Remove one domain attachment while retaining the organization connection. */\nexport const detach = Effect.fn(\"ManagedDnsConnections.detach\")(function* (input: {\n readonly attachmentId: string;\n readonly ownerId: string;\n}) {\n const service = yield* Lifecycle.Service;\n return yield* service.detach(input);\n});\n\n/** Disconnect one organization connection, revoking the shared authorization only when final. */\nexport function disconnect<E>(input: {\n readonly connectionId: string;\n readonly ownerId: string;\n readonly revokeAuthorization: (\n authorization: ProviderAuthorization.ProviderAuthorization,\n ) => Effect.Effect<void, E>;\n}): Effect.Effect<Lifecycle.DisconnectResult, Lifecycle.Error | E, Lifecycle.Service> {\n return Effect.gen(function* () {\n const service = yield* Lifecycle.Service;\n return yield* service.disconnect({\n connectionId: input.connectionId,\n ownerId: input.ownerId,\n revoke: input.revokeAuthorization,\n });\n });\n}\n","export {\n AuthorizationError,\n authorizationError,\n ConnectionStatus,\n decode,\n DomainAttachment,\n encode,\n ProviderConnection,\n ProviderTarget,\n ProviderTargetEvidence,\n project,\n validate,\n} from \"./connection.ts\";\nexport { attach, detach, disconnect } from \"./connection-lifecycle.ts\";\nexport type { AttachmentResult, DetachResult, DisconnectResult } from \"./lifecycle-repository.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 StartResult as ConnectionStartResult,\n} from \"./connect.ts\";\n","/** Public surface for the cohesive managed-DNS persistence capability. */\nexport { AggregateSchema, Error, Service } from \"./lifecycle-repository.ts\";\nexport * as Authorization from \"./authorization.ts\";\nexport { StoredConnection } from \"./connection.ts\";\nexport type { StoredCredential } from \"./connection.ts\";\nexport type {\n Aggregate,\n AttachmentResult,\n ConnectInput,\n DetachResult,\n DisconnectResult,\n Interface,\n} from \"./lifecycle-repository.ts\";\n","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 * 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 { Context, Data, Effect, Layer, Schema } from \"effect\";\n\nimport * as Connection from \"./auth/connection.ts\";\nimport type * as DomainDnsRecord from \"./domain/dns-record.ts\";\n\nexport {\n DomainAttachment,\n ProviderConnection,\n ProviderTarget,\n ProviderTargetEvidence,\n} from \"./auth/connection.ts\";\n\n/** A user-presentable failure at the application transport boundary. */\nexport class Failure extends Schema.TaggedError<Failure>()(\"Failure\", {\n message: Schema.String,\n operation: Schema.String,\n retry: Schema.Literals([\"never\", \"after-user-action\", \"safe\", \"unknown\"]),\n}) {}\n\nexport const AuthenticationParameter = Schema.Struct({\n description: Schema.optionalKey(Schema.String),\n key: Schema.String,\n label: Schema.String,\n placeholder: Schema.optionalKey(Schema.String),\n required: Schema.optionalKey(Schema.Boolean),\n});\nexport type AuthenticationParameter = typeof AuthenticationParameter.Type;\n\nexport const AuthenticationMethod = Schema.TaggedUnion({\n Integration: { label: Schema.String },\n OAuth: { label: Schema.String },\n Token: {\n label: Schema.String,\n parameters: Schema.optionalKey(Schema.Array(AuthenticationParameter)),\n placeholder: Schema.optionalKey(Schema.String),\n },\n});\nexport type AuthenticationMethod = typeof AuthenticationMethod.Type;\n\n/** The authentication choice supplied to a connection request. */\nexport type Method = Data.TaggedEnum<{\n Integration: {};\n OAuth: {};\n Token: {\n readonly parameters?: Readonly<Record<string, string>>;\n readonly token: string;\n };\n}>;\nexport const Method = Data.taggedEnum<Method>();\n\nexport const Provider = Schema.Struct({\n authentication: Schema.Array(AuthenticationMethod),\n id: Schema.String,\n name: Schema.String,\n});\nexport type Provider = typeof Provider.Type;\n\nexport const Connected = Schema.TaggedStruct(\"Connected\", {\n attachment: Connection.DomainAttachment,\n connection: Connection.ProviderConnection,\n provider: Provider,\n});\nexport type Connected = typeof Connected.Type;\n\nexport const ReusableConnection = Schema.Struct({\n connection: Connection.ProviderConnection,\n targets: Schema.Array(Connection.ProviderTarget),\n});\nexport type ReusableConnection = typeof ReusableConnection.Type;\n\nexport const Disconnected = Schema.TaggedStruct(\"Disconnected\", {\n domain: Schema.String,\n provider: Provider,\n reusableConnections: Schema.Array(ReusableConnection),\n});\nexport type Disconnected = typeof Disconnected.Type;\n\nexport const Unsupported = Schema.TaggedStruct(\"Unsupported\", { domain: Schema.String });\nexport type Unsupported = typeof Unsupported.Type;\n\nexport const ConnectionSnapshot = Schema.Union([Connected, Disconnected, Unsupported]).pipe(\n Schema.toTaggedUnion(\"_tag\"),\n);\nexport type ConnectionSnapshot = typeof ConnectionSnapshot.Type;\n\nexport const Redirect = Schema.TaggedStruct(\"Redirect\", { authorizationUrl: Schema.String });\nexport type Redirect = typeof Redirect.Type;\n\nexport const ConnectionResult = Schema.Union([Connected, Redirect]).pipe(\n Schema.toTaggedUnion(\"_tag\"),\n);\nexport type ConnectionResult = typeof ConnectionResult.Type;\n\nexport const DetachResult = Schema.TaggedStruct(\"Detached\", {\n attachment: Connection.DomainAttachment,\n connection: Connection.ProviderConnection,\n remainingAttachments: Schema.Int,\n});\nexport type DetachResult = typeof DetachResult.Type;\n\n/** A presentation projection of a DNS requirement. */\nexport const DnsRecord = Schema.Struct({\n id: Schema.String,\n name: Schema.String,\n priority: Schema.optionalKey(Schema.Int),\n type: Schema.String,\n value: Schema.String,\n});\nexport type DnsRecord = typeof DnsRecord.Type;\n\n/** Projects DomainKit's operational record into its application transport representation. */\nexport const fromDnsRecord = (id: string, record: DomainDnsRecord.DnsRecord): DnsRecord => {\n switch (record._tag) {\n case \"A\":\n case \"AAAA\":\n return { id, name: record.name, type: record._tag, value: record.address };\n case \"CNAME\":\n case \"NS\":\n return { id, name: record.name, type: record._tag, value: record.target };\n case \"TXT\":\n return { id, name: record.name, type: record._tag, value: record.value };\n case \"MX\":\n return {\n id,\n name: record.name,\n priority: record.priority,\n type: record._tag,\n value: record.exchange,\n };\n case \"CAA\":\n return {\n id,\n name: record.name,\n type: record._tag,\n value: `${record.flags} ${record.tag} ${record.value}`,\n };\n case \"SRV\":\n return {\n id,\n name: record.name,\n priority: record.priority,\n type: record._tag,\n value: `${record.weight} ${record.port} ${record.target}`,\n };\n }\n};\n\nexport const PlanOperation = Schema.TaggedUnion({\n Conflict: { id: Schema.String, reason: Schema.String, record: DnsRecord },\n Create: { id: Schema.String, record: DnsRecord },\n Noop: { id: Schema.String, record: DnsRecord },\n});\nexport type PlanOperation = typeof PlanOperation.Type;\n\nexport const ProvisioningPlan = Schema.TaggedStruct(\"Plan\", {\n digest: Schema.String,\n expiresAt: Schema.String,\n operations: Schema.Array(PlanOperation),\n});\nexport type ProvisioningPlan = typeof ProvisioningPlan.Type;\n\nexport const OperationResult = Schema.TaggedUnion({\n Applied: { operationId: Schema.String },\n Failed: { message: Schema.String, operationId: Schema.String },\n Unchanged: { operationId: Schema.String },\n});\nexport type OperationResult = typeof OperationResult.Type;\n\nconst ApplyOutcomeFields = {\n operationId: Schema.String,\n receiptId: Schema.String,\n results: Schema.Array(OperationResult),\n};\nexport const ApplyResult = Schema.TaggedUnion({\n Applied: ApplyOutcomeFields,\n Partial: ApplyOutcomeFields,\n Stale: { message: Schema.String },\n});\nexport type ApplyResult = typeof ApplyResult.Type;\n\nexport const ObservationEvidence = Schema.TaggedUnion({\n Found: { recordId: Schema.String },\n Mismatch: { message: Schema.String, recordId: Schema.String },\n Missing: { recordId: Schema.String },\n Unavailable: { message: Schema.String, recordId: Schema.String },\n});\nexport type ObservationEvidence = typeof ObservationEvidence.Type;\n\nexport const Observation = Schema.TaggedStruct(\"Observation\", {\n provider: Schema.Array(ObservationEvidence),\n publicDns: Schema.Array(ObservationEvidence),\n});\nexport type Observation = typeof Observation.Type;\n\nexport const CleanupOperation = Schema.TaggedUnion({\n AlreadyAbsent: { id: Schema.String, record: DnsRecord },\n Blocked: { id: Schema.String, reason: Schema.String, record: DnsRecord },\n Delete: { id: Schema.String, record: DnsRecord },\n});\nexport type CleanupOperation = typeof CleanupOperation.Type;\n\nexport const CleanupPlan = Schema.TaggedStruct(\"CleanupPlan\", {\n digest: Schema.String,\n expiresAt: Schema.String,\n operations: Schema.Array(CleanupOperation),\n});\nexport type CleanupPlan = typeof CleanupPlan.Type;\n\nconst CleanupOutcomeFields = {\n operationId: Schema.String,\n results: Schema.Array(OperationResult),\n};\nexport const CleanupResult = Schema.TaggedUnion({\n Cleaned: CleanupOutcomeFields,\n Partial: CleanupOutcomeFields,\n Stale: { message: Schema.String },\n});\nexport type CleanupResult = typeof CleanupResult.Type;\n\nexport interface ConnectInput {\n readonly domain: string;\n readonly method: Method;\n readonly providerId: string;\n}\n\nexport interface InspectInput {\n readonly domain: string;\n}\n\nexport interface AttachInput {\n readonly connectionId: string;\n readonly domain: string;\n readonly target: Connection.ProviderTarget;\n}\n\nexport interface DetachInput {\n readonly attachmentId: string;\n readonly preserveDns: true;\n}\n\nexport interface ProvisioningPlanInput {\n readonly attachmentId: string;\n readonly domain: string;\n readonly records: ReadonlyArray<DnsRecord>;\n}\n\nexport interface ProvisioningApplyInput {\n readonly attachmentId: string;\n readonly domain: string;\n readonly planDigest: string;\n}\n\nexport interface ObserveInput {\n readonly attachmentId?: string;\n readonly domain: string;\n readonly records: ReadonlyArray<DnsRecord>;\n readonly sources: {\n readonly provider: boolean;\n readonly publicDns: boolean;\n };\n}\n\nexport interface CleanupPlanInput {\n readonly attachmentId: string;\n readonly domain: string;\n readonly receiptId: string;\n}\n\nexport interface CleanupApplyInput extends CleanupPlanInput {\n readonly planDigest: string;\n}\n\n/** Application-facing DNS connection and provisioning capability. */\nexport interface Interface {\n readonly cleanup: {\n readonly apply: (input: CleanupApplyInput) => Effect.Effect<CleanupResult, Failure>;\n readonly plan: (input: CleanupPlanInput) => Effect.Effect<CleanupPlan, Failure>;\n };\n readonly connection: {\n readonly attach: (input: AttachInput) => Effect.Effect<Connected, Failure>;\n readonly connect: (input: ConnectInput) => Effect.Effect<ConnectionResult, Failure>;\n readonly inspect: (input: InspectInput) => Effect.Effect<ConnectionSnapshot, Failure>;\n readonly detach: (input: DetachInput) => Effect.Effect<DetachResult, Failure>;\n };\n readonly provisioning: {\n readonly apply: (input: ProvisioningApplyInput) => Effect.Effect<ApplyResult, Failure>;\n readonly plan: (input: ProvisioningPlanInput) => Effect.Effect<ProvisioningPlan, Failure>;\n };\n readonly verification: {\n readonly observe: (input: ObserveInput) => Effect.Effect<Observation, Failure>;\n };\n}\n\nexport class Service extends Context.Service<Service, Interface>()(\"@domainkit/Transport\") {}\n\n/** Promise-shaped host seam for foreign runtimes and framework actions. */\nexport interface AsyncInterface {\n readonly cleanup: {\n readonly apply: (input: CleanupApplyInput) => Promise<CleanupResult>;\n readonly plan: (input: CleanupPlanInput) => Promise<CleanupPlan>;\n };\n readonly connection: {\n readonly attach: (input: AttachInput) => Promise<Connected>;\n readonly connect: (input: ConnectInput) => Promise<ConnectionResult>;\n readonly inspect: (input: InspectInput) => Promise<ConnectionSnapshot>;\n readonly detach: (input: DetachInput) => Promise<DetachResult>;\n };\n readonly provisioning: {\n readonly apply: (input: ProvisioningApplyInput) => Promise<ApplyResult>;\n readonly plan: (input: ProvisioningPlanInput) => Promise<ProvisioningPlan>;\n };\n readonly verification: {\n readonly observe: (input: ObserveInput) => Promise<Observation>;\n };\n}\n\nexport interface AsyncOptions {\n readonly onError?: (operation: string, cause: unknown) => Failure;\n}\n\n/** Converts a Promise-shaped host implementation into the canonical Effect service. */\nexport const fromAsync = (transport: AsyncInterface, options: AsyncOptions = {}): Interface => {\n const attempt = <A>(operation: string, evaluate: () => Promise<A>) =>\n Effect.tryPromise({\n try: evaluate,\n catch: (cause) =>\n options.onError?.(operation, cause) ??\n (cause instanceof Failure\n ? cause\n : new Failure({\n message: cause instanceof globalThis.Error ? cause.message : String(cause),\n operation,\n retry: \"unknown\",\n })),\n });\n return Service.of({\n cleanup: {\n apply: (input) => attempt(\"cleanup.apply\", () => transport.cleanup.apply(input)),\n plan: (input) => attempt(\"cleanup.plan\", () => transport.cleanup.plan(input)),\n },\n connection: {\n attach: (input) => attempt(\"connection.attach\", () => transport.connection.attach(input)),\n connect: (input) => attempt(\"connection.connect\", () => transport.connection.connect(input)),\n inspect: (input) => attempt(\"connection.inspect\", () => transport.connection.inspect(input)),\n detach: (input) => attempt(\"connection.detach\", () => transport.connection.detach(input)),\n },\n provisioning: {\n apply: (input) => attempt(\"provisioning.apply\", () => transport.provisioning.apply(input)),\n plan: (input) => attempt(\"provisioning.plan\", () => transport.provisioning.plan(input)),\n },\n verification: {\n observe: (input) =>\n attempt(\"verification.observe\", () => transport.verification.observe(input)),\n },\n });\n};\n\nexport const layerFromAsync = (\n transport: AsyncInterface,\n options?: AsyncOptions,\n): Layer.Layer<Service> => Layer.succeed(Service, fromAsync(transport, options));\n\n/** Converts an environment-free Effect service into its Promise-shaped host seam. */\nexport const toAsync = (transport: Interface): AsyncInterface => ({\n cleanup: {\n apply: (input) => Effect.runPromise(transport.cleanup.apply(input)),\n plan: (input) => Effect.runPromise(transport.cleanup.plan(input)),\n },\n connection: {\n attach: (input) => Effect.runPromise(transport.connection.attach(input)),\n connect: (input) => Effect.runPromise(transport.connection.connect(input)),\n inspect: (input) => Effect.runPromise(transport.connection.inspect(input)),\n detach: (input) => Effect.runPromise(transport.connection.detach(input)),\n },\n provisioning: {\n apply: (input) => Effect.runPromise(transport.provisioning.apply(input)),\n plan: (input) => Effect.runPromise(transport.provisioning.plan(input)),\n },\n verification: {\n observe: (input) => Effect.runPromise(transport.verification.observe(input)),\n },\n});\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 ManagedDnsConnections from \"./auth/lifecycle-api.ts\";\nexport * as Diagnostic from \"./auth/diagnostic.ts\";\nexport * as ProviderAuth from \"./auth/manifest.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 ProviderSession from \"./provider/session.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 Transport from \"./transport.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":";;;;;;;;AAOA,MAAa,SAAS,OAAO,GAAG,8BAA8B,CAAC,CAAC,WAAW,OAIxE;CAED,OAAO,QAAO,OADSA,UAAAA,CACD,OAAO,KAAK;AACpC,CAAC;;AAGD,MAAa,SAAS,OAAO,GAAG,8BAA8B,CAAC,CAAC,WAAW,OAGxE;CAED,OAAO,QAAO,OADSA,UAAAA,CACD,OAAO,KAAK;AACpC,CAAC;;AAGD,SAAgB,WAAc,OAMwD;CACpF,OAAO,OAAO,IAAI,aAAa;EAE7B,OAAO,QAAO,OADSA,UAAAA,CACD,WAAW;GAC/B,cAAc,MAAM;GACpB,SAAS,MAAM;GACf,QAAQ,MAAM;EAChB,CAAC;CACH,CAAC;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AK5BA,IAAa,UAAb,cAA6B,OAAO,YAAqB,CAAC,CAAC,WAAW;CACpE,SAAS,OAAO;CAChB,WAAW,OAAO;CAClB,OAAO,OAAO,SAAS;EAAC;EAAS;EAAqB;EAAQ;CAAS,CAAC;AAC1E,CAAC,CAAC,CAAC,CAAC;AAEJ,MAAa,0BAA0B,OAAO,OAAO;CACnD,aAAa,OAAO,YAAY,OAAO,MAAM;CAC7C,KAAK,OAAO;CACZ,OAAO,OAAO;CACd,aAAa,OAAO,YAAY,OAAO,MAAM;CAC7C,UAAU,OAAO,YAAY,OAAO,OAAO;AAC7C,CAAC;AAGD,MAAa,uBAAuB,OAAO,YAAY;CACrD,aAAa,EAAE,OAAO,OAAO,OAAO;CACpC,OAAO,EAAE,OAAO,OAAO,OAAO;CAC9B,OAAO;EACL,OAAO,OAAO;EACd,YAAY,OAAO,YAAY,OAAO,MAAM,uBAAuB,CAAC;EACpE,aAAa,OAAO,YAAY,OAAO,MAAM;CAC/C;AACF,CAAC;AAYD,MAAa,SAAS,KAAK,WAAmB;AAE9C,MAAa,WAAW,OAAO,OAAO;CACpC,gBAAgB,OAAO,MAAM,oBAAoB;CACjD,IAAI,OAAO;CACX,MAAM,OAAO;AACf,CAAC;AAGD,MAAa,YAAY,OAAO,aAAa,aAAa;CACxD,YAAYC;CACZ,YAAYC;CACZ,UAAU;AACZ,CAAC;AAGD,MAAa,qBAAqB,OAAO,OAAO;CAC9C,YAAYA;CACZ,SAAS,OAAO,MAAMC,cAAyB;AACjD,CAAC;AAGD,MAAa,eAAe,OAAO,aAAa,gBAAgB;CAC9D,QAAQ,OAAO;CACf,UAAU;CACV,qBAAqB,OAAO,MAAM,kBAAkB;AACtD,CAAC;AAGD,MAAa,cAAc,OAAO,aAAa,eAAe,EAAE,QAAQ,OAAO,OAAO,CAAC;AAGvF,MAAa,qBAAqB,OAAO,MAAM;CAAC;CAAW;CAAc;AAAW,CAAC,CAAC,CAAC,KACrF,OAAO,cAAc,MAAM,CAC7B;AAGA,MAAa,WAAW,OAAO,aAAa,YAAY,EAAE,kBAAkB,OAAO,OAAO,CAAC;AAG3F,MAAa,mBAAmB,OAAO,MAAM,CAAC,WAAW,QAAQ,CAAC,CAAC,CAAC,KAClE,OAAO,cAAc,MAAM,CAC7B;AAGA,MAAa,eAAe,OAAO,aAAa,YAAY;CAC1D,YAAYF;CACZ,YAAYC;CACZ,sBAAsB,OAAO;AAC/B,CAAC;;AAID,MAAa,YAAY,OAAO,OAAO;CACrC,IAAI,OAAO;CACX,MAAM,OAAO;CACb,UAAU,OAAO,YAAY,OAAO,GAAG;CACvC,MAAM,OAAO;CACb,OAAO,OAAO;AAChB,CAAC;;AAID,MAAa,iBAAiB,IAAY,WAAiD;CACzF,QAAQ,OAAO,MAAf;EACE,KAAK;EACL,KAAK,QACH,OAAO;GAAE;GAAI,MAAM,OAAO;GAAM,MAAM,OAAO;GAAM,OAAO,OAAO;EAAQ;EAC3E,KAAK;EACL,KAAK,MACH,OAAO;GAAE;GAAI,MAAM,OAAO;GAAM,MAAM,OAAO;GAAM,OAAO,OAAO;EAAO;EAC1E,KAAK,OACH,OAAO;GAAE;GAAI,MAAM,OAAO;GAAM,MAAM,OAAO;GAAM,OAAO,OAAO;EAAM;EACzE,KAAK,MACH,OAAO;GACL;GACA,MAAM,OAAO;GACb,UAAU,OAAO;GACjB,MAAM,OAAO;GACb,OAAO,OAAO;EAChB;EACF,KAAK,OACH,OAAO;GACL;GACA,MAAM,OAAO;GACb,MAAM,OAAO;GACb,OAAO,GAAG,OAAO,MAAM,GAAG,OAAO,IAAI,GAAG,OAAO;EACjD;EACF,KAAK,OACH,OAAO;GACL;GACA,MAAM,OAAO;GACb,UAAU,OAAO;GACjB,MAAM,OAAO;GACb,OAAO,GAAG,OAAO,OAAO,GAAG,OAAO,KAAK,GAAG,OAAO;EACnD;CACJ;AACF;AAEA,MAAa,gBAAgB,OAAO,YAAY;CAC9C,UAAU;EAAE,IAAI,OAAO;EAAQ,QAAQ,OAAO;EAAQ,QAAQ;CAAU;CACxE,QAAQ;EAAE,IAAI,OAAO;EAAQ,QAAQ;CAAU;CAC/C,MAAM;EAAE,IAAI,OAAO;EAAQ,QAAQ;CAAU;AAC/C,CAAC;AAGD,MAAa,mBAAmB,OAAO,aAAa,QAAQ;CAC1D,QAAQ,OAAO;CACf,WAAW,OAAO;CAClB,YAAY,OAAO,MAAM,aAAa;AACxC,CAAC;AAGD,MAAa,kBAAkB,OAAO,YAAY;CAChD,SAAS,EAAE,aAAa,OAAO,OAAO;CACtC,QAAQ;EAAE,SAAS,OAAO;EAAQ,aAAa,OAAO;CAAO;CAC7D,WAAW,EAAE,aAAa,OAAO,OAAO;AAC1C,CAAC;AAGD,MAAM,qBAAqB;CACzB,aAAa,OAAO;CACpB,WAAW,OAAO;CAClB,SAAS,OAAO,MAAM,eAAe;AACvC;AACA,MAAa,cAAc,OAAO,YAAY;CAC5C,SAAS;CACT,SAAS;CACT,OAAO,EAAE,SAAS,OAAO,OAAO;AAClC,CAAC;AAGD,MAAa,sBAAsB,OAAO,YAAY;CACpD,OAAO,EAAE,UAAU,OAAO,OAAO;CACjC,UAAU;EAAE,SAAS,OAAO;EAAQ,UAAU,OAAO;CAAO;CAC5D,SAAS,EAAE,UAAU,OAAO,OAAO;CACnC,aAAa;EAAE,SAAS,OAAO;EAAQ,UAAU,OAAO;CAAO;AACjE,CAAC;AAGD,MAAa,cAAc,OAAO,aAAa,eAAe;CAC5D,UAAU,OAAO,MAAM,mBAAmB;CAC1C,WAAW,OAAO,MAAM,mBAAmB;AAC7C,CAAC;AAGD,MAAa,mBAAmB,OAAO,YAAY;CACjD,eAAe;EAAE,IAAI,OAAO;EAAQ,QAAQ;CAAU;CACtD,SAAS;EAAE,IAAI,OAAO;EAAQ,QAAQ,OAAO;EAAQ,QAAQ;CAAU;CACvE,QAAQ;EAAE,IAAI,OAAO;EAAQ,QAAQ;CAAU;AACjD,CAAC;AAGD,MAAa,cAAc,OAAO,aAAa,eAAe;CAC5D,QAAQ,OAAO;CACf,WAAW,OAAO;CAClB,YAAY,OAAO,MAAM,gBAAgB;AAC3C,CAAC;AAGD,MAAM,uBAAuB;CAC3B,aAAa,OAAO;CACpB,SAAS,OAAO,MAAM,eAAe;AACvC;AACA,MAAa,gBAAgB,OAAO,YAAY;CAC9C,SAAS;CACT,SAAS;CACT,OAAO,EAAE,SAAS,OAAO,OAAO;AAClC,CAAC;AA6ED,IAAa,UAAb,cAA6B,QAAQ,QAA4B,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;;AA4B5F,MAAa,aAAa,WAA2B,UAAwB,CAAC,MAAiB;CAC7F,MAAM,WAAc,WAAmB,aACrC,OAAO,WAAW;EAChB,KAAK;EACL,QAAQ,UACN,QAAQ,UAAU,WAAW,KAAK,MACjC,iBAAiB,UACd,QACA,IAAI,QAAQ;GACV,SAAS,iBAAiB,WAAW,QAAQ,MAAM,UAAU,OAAO,KAAK;GACzE;GACA,OAAO;EACT,CAAC;CACT,CAAC;CACH,OAAO,QAAQ,GAAG;EAChB,SAAS;GACP,QAAQ,UAAU,QAAQ,uBAAuB,UAAU,QAAQ,MAAM,KAAK,CAAC;GAC/E,OAAO,UAAU,QAAQ,sBAAsB,UAAU,QAAQ,KAAK,KAAK,CAAC;EAC9E;EACA,YAAY;GACV,SAAS,UAAU,QAAQ,2BAA2B,UAAU,WAAW,OAAO,KAAK,CAAC;GACxF,UAAU,UAAU,QAAQ,4BAA4B,UAAU,WAAW,QAAQ,KAAK,CAAC;GAC3F,UAAU,UAAU,QAAQ,4BAA4B,UAAU,WAAW,QAAQ,KAAK,CAAC;GAC3F,SAAS,UAAU,QAAQ,2BAA2B,UAAU,WAAW,OAAO,KAAK,CAAC;EAC1F;EACA,cAAc;GACZ,QAAQ,UAAU,QAAQ,4BAA4B,UAAU,aAAa,MAAM,KAAK,CAAC;GACzF,OAAO,UAAU,QAAQ,2BAA2B,UAAU,aAAa,KAAK,KAAK,CAAC;EACxF;EACA,cAAc,EACZ,UAAU,UACR,QAAQ,8BAA8B,UAAU,aAAa,QAAQ,KAAK,CAAC,EAC/E;CACF,CAAC;AACH;AAEA,MAAa,kBACX,WACA,YACyB,MAAM,QAAQ,SAAS,UAAU,WAAW,OAAO,CAAC;;AAG/E,MAAa,WAAW,eAA0C;CAChE,SAAS;EACP,QAAQ,UAAU,OAAO,WAAW,UAAU,QAAQ,MAAM,KAAK,CAAC;EAClE,OAAO,UAAU,OAAO,WAAW,UAAU,QAAQ,KAAK,KAAK,CAAC;CAClE;CACA,YAAY;EACV,SAAS,UAAU,OAAO,WAAW,UAAU,WAAW,OAAO,KAAK,CAAC;EACvE,UAAU,UAAU,OAAO,WAAW,UAAU,WAAW,QAAQ,KAAK,CAAC;EACzE,UAAU,UAAU,OAAO,WAAW,UAAU,WAAW,QAAQ,KAAK,CAAC;EACzE,SAAS,UAAU,OAAO,WAAW,UAAU,WAAW,OAAO,KAAK,CAAC;CACzE;CACA,cAAc;EACZ,QAAQ,UAAU,OAAO,WAAW,UAAU,aAAa,MAAM,KAAK,CAAC;EACvE,OAAO,UAAU,OAAO,WAAW,UAAU,aAAa,KAAK,KAAK,CAAC;CACvE;CACA,cAAc,EACZ,UAAU,UAAU,OAAO,WAAW,UAAU,aAAa,QAAQ,KAAK,CAAC,EAC7E;AACF;;;;AC1XA,MAAa,UAAUE"}
1
+ {"version":3,"file":"index.mjs","names":["Lifecycle.Service","S","Connection.DomainAttachment","Connection.ProviderConnection","Connection.ProviderTarget","packageJson.version"],"sources":["../src/auth/connection-lifecycle.ts","../src/auth/connection-api.ts","../src/auth/lifecycle-api.ts","../src/providers/cloudflare/index.ts","../src/providers/vercel/index.ts","../src/transport.ts","../src/index.ts"],"sourcesContent":["import { Effect } from \"effect\";\n\nimport * as Connection from \"./connection.ts\";\nimport * as Lifecycle from \"./lifecycle-repository.ts\";\nimport * as ProviderAuthorization from \"./authorization.ts\";\n\n/** Attach one exact provider target to one organization domain. */\nexport const attach = Effect.fn(\"ManagedDnsConnections.attach\")(function* (input: {\n readonly attachment: Connection.DomainAttachment;\n readonly connectionId: string;\n readonly ownerId: string;\n}) {\n const service = yield* Lifecycle.Service;\n return yield* service.attach(input);\n});\n\n/** Remove one domain attachment while retaining the organization connection. */\nexport const detach = Effect.fn(\"ManagedDnsConnections.detach\")(function* (input: {\n readonly attachmentId: string;\n readonly ownerId: string;\n}) {\n const service = yield* Lifecycle.Service;\n return yield* service.detach(input);\n});\n\n/** Disconnect one organization connection, revoking the shared authorization only when final. */\nexport function disconnect<E>(input: {\n readonly connectionId: string;\n readonly ownerId: string;\n readonly revokeAuthorization: (\n authorization: ProviderAuthorization.ProviderAuthorization,\n ) => Effect.Effect<void, E>;\n}): Effect.Effect<Lifecycle.DisconnectResult, Lifecycle.Error | E, Lifecycle.Service> {\n return Effect.gen(function* () {\n const service = yield* Lifecycle.Service;\n return yield* service.disconnect({\n connectionId: input.connectionId,\n ownerId: input.ownerId,\n revoke: input.revokeAuthorization,\n });\n });\n}\n","export {\n AuthorizationError,\n authorizationError,\n ConnectionStatus,\n decode,\n DomainAttachment,\n encode,\n ProviderConnection,\n ProviderTarget,\n ProviderTargetEvidence,\n project,\n validate,\n} from \"./connection.ts\";\nexport { attach, detach, disconnect } from \"./connection-lifecycle.ts\";\nexport type { AttachmentResult, DetachResult, DisconnectResult } from \"./lifecycle-repository.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 StartResult as ConnectionStartResult,\n} from \"./connect.ts\";\n","/** Public surface for the cohesive managed-DNS persistence capability. */\nexport { AggregateSchema, Error, Service } from \"./lifecycle-repository.ts\";\nexport * as Authorization from \"./authorization.ts\";\nexport { StoredConnection } from \"./connection.ts\";\nexport type { StoredCredential } from \"./connection.ts\";\nexport type {\n Aggregate,\n AttachmentResult,\n ConnectInput,\n DetachResult,\n DisconnectResult,\n Interface,\n} from \"./lifecycle-repository.ts\";\n","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 * as Auth from \"./auth.ts\";\nexport * as Client from \"./client.ts\";\n\nexport { AccountContext, discovery, make } from \"./client.ts\";\nexport type { Account, Fetch, Interface, ListZonesInput, Options, Zone } from \"./client.ts\";\n","import { Context, Data, Effect, Layer, Schema as S } from \"effect\";\n\nimport * as Connection from \"./auth/connection.ts\";\nimport type * as DomainDnsRecord from \"./domain/dns-record.ts\";\n\nexport {\n DomainAttachment,\n ProviderConnection,\n ProviderTarget,\n ProviderTargetEvidence,\n} from \"./auth/connection.ts\";\n\n/** A user-presentable failure at the application transport boundary. */\nexport class Failure extends S.TaggedError<Failure>()(\"Failure\", {\n message: S.String,\n operation: S.String,\n retry: S.Literals([\"never\", \"after-user-action\", \"safe\", \"unknown\"]),\n}) {}\n\nexport const AuthenticationParameter = S.Struct({\n description: S.optionalKey(S.String),\n key: S.String,\n label: S.String,\n placeholder: S.optionalKey(S.String),\n required: S.optionalKey(S.Boolean),\n});\nexport type AuthenticationParameter = typeof AuthenticationParameter.Type;\n\nconst AuthenticationMethodSchema = S.TaggedUnion({\n Integration: { label: S.String },\n OAuth: { label: S.String },\n Token: {\n label: S.String,\n parameters: S.optionalKey(S.Array(AuthenticationParameter)),\n placeholder: S.optionalKey(S.String),\n },\n});\n\n/** Authentication method schema and constructors for trusted host transport responses. */\nexport const AuthenticationMethod = {\n Schema: AuthenticationMethodSchema,\n Integration: (input: Parameters<typeof AuthenticationMethodSchema.cases.Integration.make>[0]) =>\n AuthenticationMethodSchema.cases.Integration.make(input),\n OAuth: (input: Parameters<typeof AuthenticationMethodSchema.cases.OAuth.make>[0]) =>\n AuthenticationMethodSchema.cases.OAuth.make(input),\n Token: (input: Parameters<typeof AuthenticationMethodSchema.cases.Token.make>[0]) =>\n AuthenticationMethodSchema.cases.Token.make(input),\n};\nexport type AuthenticationMethod = typeof AuthenticationMethodSchema.Type;\n\n/** The authentication choice supplied to a connection request. */\nexport type Method = Data.TaggedEnum<{\n Integration: {};\n OAuth: {};\n Token: {\n readonly parameters?: Readonly<Record<string, string>>;\n readonly token: string;\n };\n}>;\nexport const Method = Data.taggedEnum<Method>();\n\nexport const Provider = S.Struct({\n authentication: S.Array(AuthenticationMethod.Schema),\n id: S.String,\n name: S.String,\n});\nexport type Provider = typeof Provider.Type;\n\nconst ConnectedSchema = S.TaggedStruct(\"Connected\", {\n attachment: Connection.DomainAttachment,\n connection: Connection.ProviderConnection,\n provider: Provider,\n});\n/** Constructs a connected transport snapshot from trusted host data. */\nexport function Connected(input: Parameters<typeof ConnectedSchema.make>[0]): Connected {\n return ConnectedSchema.make(input);\n}\nexport namespace Connected {\n export const Schema = ConnectedSchema;\n}\nexport type Connected = typeof ConnectedSchema.Type;\n\nexport const ReusableConnection = S.Struct({\n connection: Connection.ProviderConnection,\n targets: S.Array(Connection.ProviderTarget),\n});\nexport type ReusableConnection = typeof ReusableConnection.Type;\n\nconst DisconnectedSchema = S.TaggedStruct(\"Disconnected\", {\n domain: S.String,\n provider: Provider,\n reusableConnections: S.Array(ReusableConnection),\n});\n/** Constructs a disconnected transport snapshot from trusted host data. */\nexport function Disconnected(input: Parameters<typeof DisconnectedSchema.make>[0]): Disconnected {\n return DisconnectedSchema.make(input);\n}\nexport namespace Disconnected {\n export const Schema = DisconnectedSchema;\n}\nexport type Disconnected = typeof DisconnectedSchema.Type;\n\nconst UnsupportedSchema = S.TaggedStruct(\"Unsupported\", { domain: S.String });\n/** Constructs an unsupported transport snapshot from trusted host data. */\nexport function Unsupported(input: Parameters<typeof UnsupportedSchema.make>[0]): Unsupported {\n return UnsupportedSchema.make(input);\n}\nexport namespace Unsupported {\n export const Schema = UnsupportedSchema;\n}\nexport type Unsupported = typeof UnsupportedSchema.Type;\n\nexport const ConnectionSnapshot = S.Union([\n ConnectedSchema,\n DisconnectedSchema,\n UnsupportedSchema,\n]).pipe(S.toTaggedUnion(\"_tag\"));\nexport type ConnectionSnapshot = typeof ConnectionSnapshot.Type;\n\nconst RedirectSchema = S.TaggedStruct(\"Redirect\", { authorizationUrl: S.String });\n/** Constructs an OAuth redirect response from trusted host data. */\nexport function Redirect(input: Parameters<typeof RedirectSchema.make>[0]): Redirect {\n return RedirectSchema.make(input);\n}\nexport namespace Redirect {\n export const Schema = RedirectSchema;\n}\nexport type Redirect = typeof RedirectSchema.Type;\n\nexport const ConnectionResult = S.Union([ConnectedSchema, RedirectSchema]).pipe(\n S.toTaggedUnion(\"_tag\"),\n);\nexport type ConnectionResult = typeof ConnectionResult.Type;\n\nconst DetachResultSchema = S.TaggedStruct(\"Detached\", {\n attachment: Connection.DomainAttachment,\n connection: Connection.ProviderConnection,\n remainingAttachments: S.Int,\n});\n/** Constructs a detach response from trusted host data. */\nexport function DetachResult(input: Parameters<typeof DetachResultSchema.make>[0]): DetachResult {\n return DetachResultSchema.make(input);\n}\nexport namespace DetachResult {\n export const Schema = DetachResultSchema;\n}\nexport type DetachResult = typeof DetachResultSchema.Type;\n\n/** A presentation projection of a DNS requirement. */\nexport const DnsRecord = S.Struct({\n id: S.String,\n name: S.String,\n priority: S.optionalKey(S.Int),\n type: S.String,\n value: S.String,\n});\nexport type DnsRecord = typeof DnsRecord.Type;\n\n/** Projects DomainKit's operational record into its application transport representation. */\nexport const fromDnsRecord = (id: string, record: DomainDnsRecord.DnsRecord): DnsRecord => {\n switch (record._tag) {\n case \"A\":\n case \"AAAA\":\n return { id, name: record.name, type: record._tag, value: record.address };\n case \"CNAME\":\n case \"NS\":\n return { id, name: record.name, type: record._tag, value: record.target };\n case \"TXT\":\n return { id, name: record.name, type: record._tag, value: record.value };\n case \"MX\":\n return {\n id,\n name: record.name,\n priority: record.priority,\n type: record._tag,\n value: record.exchange,\n };\n case \"CAA\":\n return {\n id,\n name: record.name,\n type: record._tag,\n value: `${record.flags} ${record.tag} ${record.value}`,\n };\n case \"SRV\":\n return {\n id,\n name: record.name,\n priority: record.priority,\n type: record._tag,\n value: `${record.weight} ${record.port} ${record.target}`,\n };\n }\n};\n\nconst PlanOperationSchema = S.TaggedUnion({\n Conflict: { id: S.String, reason: S.String, record: DnsRecord },\n Create: { id: S.String, record: DnsRecord },\n Noop: { id: S.String, record: DnsRecord },\n});\n/** Provisioning operation schema and constructors for trusted host responses. */\nexport const PlanOperation = {\n Schema: PlanOperationSchema,\n Conflict: (input: Parameters<typeof PlanOperationSchema.cases.Conflict.make>[0]) =>\n PlanOperationSchema.cases.Conflict.make(input),\n Create: (input: Parameters<typeof PlanOperationSchema.cases.Create.make>[0]) =>\n PlanOperationSchema.cases.Create.make(input),\n Noop: (input: Parameters<typeof PlanOperationSchema.cases.Noop.make>[0]) =>\n PlanOperationSchema.cases.Noop.make(input),\n};\nexport type PlanOperation = typeof PlanOperationSchema.Type;\n\nconst ProvisioningPlanSchema = S.TaggedStruct(\"Plan\", {\n digest: S.String,\n expiresAt: S.String,\n operations: S.Array(PlanOperation.Schema),\n});\n/** Constructs a provisioning plan response from trusted host data. */\nexport function ProvisioningPlan(\n input: Parameters<typeof ProvisioningPlanSchema.make>[0],\n): ProvisioningPlan {\n return ProvisioningPlanSchema.make(input);\n}\nexport namespace ProvisioningPlan {\n export const Schema = ProvisioningPlanSchema;\n}\nexport type ProvisioningPlan = typeof ProvisioningPlanSchema.Type;\n\nconst OperationResultSchema = S.TaggedUnion({\n Applied: { operationId: S.String },\n Failed: { message: S.String, operationId: S.String },\n Unchanged: { operationId: S.String },\n});\n/** Per-operation result schema and constructors for trusted host responses. */\nexport const OperationResult = {\n Schema: OperationResultSchema,\n Applied: (input: Parameters<typeof OperationResultSchema.cases.Applied.make>[0]) =>\n OperationResultSchema.cases.Applied.make(input),\n Failed: (input: Parameters<typeof OperationResultSchema.cases.Failed.make>[0]) =>\n OperationResultSchema.cases.Failed.make(input),\n Unchanged: (input: Parameters<typeof OperationResultSchema.cases.Unchanged.make>[0]) =>\n OperationResultSchema.cases.Unchanged.make(input),\n};\nexport type OperationResult = typeof OperationResultSchema.Type;\n\nconst ApplyOutcomeFields = {\n operationId: S.String,\n receiptId: S.String,\n results: S.Array(OperationResult.Schema),\n};\nconst ApplyResultSchema = S.TaggedUnion({\n Applied: ApplyOutcomeFields,\n Partial: ApplyOutcomeFields,\n Stale: { message: S.String },\n});\n/** Apply result schema and constructors for trusted host responses. */\nexport const ApplyResult = {\n Schema: ApplyResultSchema,\n Applied: (input: Parameters<typeof ApplyResultSchema.cases.Applied.make>[0]) =>\n ApplyResultSchema.cases.Applied.make(input),\n Partial: (input: Parameters<typeof ApplyResultSchema.cases.Partial.make>[0]) =>\n ApplyResultSchema.cases.Partial.make(input),\n Stale: (input: Parameters<typeof ApplyResultSchema.cases.Stale.make>[0]) =>\n ApplyResultSchema.cases.Stale.make(input),\n};\nexport type ApplyResult = typeof ApplyResultSchema.Type;\n\nconst ObservationEvidenceSchema = S.TaggedUnion({\n Found: { recordId: S.String },\n Mismatch: { message: S.String, recordId: S.String },\n Missing: { recordId: S.String },\n Unavailable: { message: S.String, recordId: S.String },\n});\n/** DNS observation evidence schema and constructors for trusted host responses. */\nexport const ObservationEvidence = {\n Schema: ObservationEvidenceSchema,\n Found: (input: Parameters<typeof ObservationEvidenceSchema.cases.Found.make>[0]) =>\n ObservationEvidenceSchema.cases.Found.make(input),\n Mismatch: (input: Parameters<typeof ObservationEvidenceSchema.cases.Mismatch.make>[0]) =>\n ObservationEvidenceSchema.cases.Mismatch.make(input),\n Missing: (input: Parameters<typeof ObservationEvidenceSchema.cases.Missing.make>[0]) =>\n ObservationEvidenceSchema.cases.Missing.make(input),\n Unavailable: (input: Parameters<typeof ObservationEvidenceSchema.cases.Unavailable.make>[0]) =>\n ObservationEvidenceSchema.cases.Unavailable.make(input),\n};\nexport type ObservationEvidence = typeof ObservationEvidenceSchema.Type;\n\nconst ObservationSchema = S.TaggedStruct(\"Observation\", {\n provider: S.Array(ObservationEvidence.Schema),\n publicDns: S.Array(ObservationEvidence.Schema),\n});\n/** Constructs a DNS observation response from trusted host data. */\nexport function Observation(input: Parameters<typeof ObservationSchema.make>[0]): Observation {\n return ObservationSchema.make(input);\n}\nexport namespace Observation {\n export const Schema = ObservationSchema;\n}\nexport type Observation = typeof ObservationSchema.Type;\n\nconst CleanupOperationSchema = S.TaggedUnion({\n AlreadyAbsent: { id: S.String, record: DnsRecord },\n Blocked: { id: S.String, reason: S.String, record: DnsRecord },\n Delete: { id: S.String, record: DnsRecord },\n});\n/** Cleanup operation schema and constructors for trusted host responses. */\nexport const CleanupOperation = {\n Schema: CleanupOperationSchema,\n AlreadyAbsent: (input: Parameters<typeof CleanupOperationSchema.cases.AlreadyAbsent.make>[0]) =>\n CleanupOperationSchema.cases.AlreadyAbsent.make(input),\n Blocked: (input: Parameters<typeof CleanupOperationSchema.cases.Blocked.make>[0]) =>\n CleanupOperationSchema.cases.Blocked.make(input),\n Delete: (input: Parameters<typeof CleanupOperationSchema.cases.Delete.make>[0]) =>\n CleanupOperationSchema.cases.Delete.make(input),\n};\nexport type CleanupOperation = typeof CleanupOperationSchema.Type;\n\nconst CleanupPlanSchema = S.TaggedStruct(\"CleanupPlan\", {\n digest: S.String,\n expiresAt: S.String,\n operations: S.Array(CleanupOperation.Schema),\n});\n/** Constructs a cleanup plan response from trusted host data. */\nexport function CleanupPlan(input: Parameters<typeof CleanupPlanSchema.make>[0]): CleanupPlan {\n return CleanupPlanSchema.make(input);\n}\nexport namespace CleanupPlan {\n export const Schema = CleanupPlanSchema;\n}\nexport type CleanupPlan = typeof CleanupPlanSchema.Type;\n\nconst CleanupOutcomeFields = {\n operationId: S.String,\n results: S.Array(OperationResult.Schema),\n};\nconst CleanupResultSchema = S.TaggedUnion({\n Cleaned: CleanupOutcomeFields,\n Partial: CleanupOutcomeFields,\n Stale: { message: S.String },\n});\n/** Cleanup result schema and constructors for trusted host responses. */\nexport const CleanupResult = {\n Schema: CleanupResultSchema,\n Cleaned: (input: Parameters<typeof CleanupResultSchema.cases.Cleaned.make>[0]) =>\n CleanupResultSchema.cases.Cleaned.make(input),\n Partial: (input: Parameters<typeof CleanupResultSchema.cases.Partial.make>[0]) =>\n CleanupResultSchema.cases.Partial.make(input),\n Stale: (input: Parameters<typeof CleanupResultSchema.cases.Stale.make>[0]) =>\n CleanupResultSchema.cases.Stale.make(input),\n};\nexport type CleanupResult = typeof CleanupResultSchema.Type;\n\nexport interface ConnectInput {\n readonly domain: string;\n readonly method: Method;\n readonly providerId: string;\n}\n\nexport interface InspectInput {\n readonly domain: string;\n}\n\nexport interface AttachInput {\n readonly connectionId: string;\n readonly domain: string;\n readonly target: Connection.ProviderTarget;\n}\n\nexport interface DetachInput {\n readonly attachmentId: string;\n readonly preserveDns: true;\n}\n\nexport interface ProvisioningPlanInput {\n readonly attachmentId: string;\n readonly domain: string;\n readonly records: ReadonlyArray<DnsRecord>;\n}\n\nexport interface ProvisioningApplyInput {\n readonly attachmentId: string;\n readonly domain: string;\n readonly planDigest: string;\n}\n\nexport interface ObserveInput {\n readonly attachmentId?: string;\n readonly domain: string;\n readonly records: ReadonlyArray<DnsRecord>;\n readonly sources: {\n readonly provider: boolean;\n readonly publicDns: boolean;\n };\n}\n\nexport interface CleanupPlanInput {\n readonly attachmentId: string;\n readonly domain: string;\n readonly receiptId: string;\n}\n\nexport interface CleanupApplyInput extends CleanupPlanInput {\n readonly planDigest: string;\n}\n\n/** Application-facing DNS connection and provisioning capability. */\nexport interface Interface {\n readonly cleanup: {\n readonly apply: (input: CleanupApplyInput) => Effect.Effect<CleanupResult, Failure>;\n readonly plan: (input: CleanupPlanInput) => Effect.Effect<CleanupPlan, Failure>;\n };\n readonly connection: {\n readonly attach: (input: AttachInput) => Effect.Effect<Connected, Failure>;\n readonly connect: (input: ConnectInput) => Effect.Effect<ConnectionResult, Failure>;\n readonly inspect: (input: InspectInput) => Effect.Effect<ConnectionSnapshot, Failure>;\n readonly detach: (input: DetachInput) => Effect.Effect<DetachResult, Failure>;\n };\n readonly provisioning: {\n readonly apply: (input: ProvisioningApplyInput) => Effect.Effect<ApplyResult, Failure>;\n readonly plan: (input: ProvisioningPlanInput) => Effect.Effect<ProvisioningPlan, Failure>;\n };\n readonly verification: {\n readonly observe: (input: ObserveInput) => Effect.Effect<Observation, Failure>;\n };\n}\n\nexport class Service extends Context.Service<Service, Interface>()(\"@domainkit/Transport\") {}\n\n/** Promise-shaped host seam for foreign runtimes and framework actions. */\nexport interface AsyncInterface {\n readonly cleanup: {\n readonly apply: (input: CleanupApplyInput) => Promise<CleanupResult>;\n readonly plan: (input: CleanupPlanInput) => Promise<CleanupPlan>;\n };\n readonly connection: {\n readonly attach: (input: AttachInput) => Promise<Connected>;\n readonly connect: (input: ConnectInput) => Promise<ConnectionResult>;\n readonly inspect: (input: InspectInput) => Promise<ConnectionSnapshot>;\n readonly detach: (input: DetachInput) => Promise<DetachResult>;\n };\n readonly provisioning: {\n readonly apply: (input: ProvisioningApplyInput) => Promise<ApplyResult>;\n readonly plan: (input: ProvisioningPlanInput) => Promise<ProvisioningPlan>;\n };\n readonly verification: {\n readonly observe: (input: ObserveInput) => Promise<Observation>;\n };\n}\n\nexport interface AsyncOptions {\n readonly onError?: (operation: string, cause: unknown) => Failure;\n}\n\n/** Converts a Promise-shaped host implementation into the canonical Effect service. */\nexport const fromAsync = (transport: AsyncInterface, options: AsyncOptions = {}): Interface => {\n const attempt = <A>(operation: string, evaluate: () => Promise<A>) =>\n Effect.tryPromise({\n try: evaluate,\n catch: (cause) =>\n options.onError?.(operation, cause) ??\n (cause instanceof Failure\n ? cause\n : new Failure({\n message: cause instanceof globalThis.Error ? cause.message : String(cause),\n operation,\n retry: \"unknown\",\n })),\n });\n return Service.of({\n cleanup: {\n apply: (input) => attempt(\"cleanup.apply\", () => transport.cleanup.apply(input)),\n plan: (input) => attempt(\"cleanup.plan\", () => transport.cleanup.plan(input)),\n },\n connection: {\n attach: (input) => attempt(\"connection.attach\", () => transport.connection.attach(input)),\n connect: (input) => attempt(\"connection.connect\", () => transport.connection.connect(input)),\n inspect: (input) => attempt(\"connection.inspect\", () => transport.connection.inspect(input)),\n detach: (input) => attempt(\"connection.detach\", () => transport.connection.detach(input)),\n },\n provisioning: {\n apply: (input) => attempt(\"provisioning.apply\", () => transport.provisioning.apply(input)),\n plan: (input) => attempt(\"provisioning.plan\", () => transport.provisioning.plan(input)),\n },\n verification: {\n observe: (input) =>\n attempt(\"verification.observe\", () => transport.verification.observe(input)),\n },\n });\n};\n\nexport const layerFromAsync = (\n transport: AsyncInterface,\n options?: AsyncOptions,\n): Layer.Layer<Service> => Layer.succeed(Service, fromAsync(transport, options));\n\n/** Converts an environment-free Effect service into its Promise-shaped host seam. */\nexport const toAsync = (transport: Interface): AsyncInterface => ({\n cleanup: {\n apply: (input) => Effect.runPromise(transport.cleanup.apply(input)),\n plan: (input) => Effect.runPromise(transport.cleanup.plan(input)),\n },\n connection: {\n attach: (input) => Effect.runPromise(transport.connection.attach(input)),\n connect: (input) => Effect.runPromise(transport.connection.connect(input)),\n inspect: (input) => Effect.runPromise(transport.connection.inspect(input)),\n detach: (input) => Effect.runPromise(transport.connection.detach(input)),\n },\n provisioning: {\n apply: (input) => Effect.runPromise(transport.provisioning.apply(input)),\n plan: (input) => Effect.runPromise(transport.provisioning.plan(input)),\n },\n verification: {\n observe: (input) => Effect.runPromise(transport.verification.observe(input)),\n },\n});\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 ManagedDnsConnections from \"./auth/lifecycle-api.ts\";\nexport * as Diagnostic from \"./auth/diagnostic.ts\";\nexport * as ProviderAuth from \"./auth/manifest.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 ProviderSession from \"./provider/session.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 Transport from \"./transport.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":";;;;;;;;AAOA,MAAa,SAAS,OAAO,GAAG,8BAA8B,CAAC,CAAC,WAAW,OAIxE;CAED,OAAO,QAAO,OADSA,UAAAA,CACD,OAAO,KAAK;AACpC,CAAC;;AAGD,MAAa,SAAS,OAAO,GAAG,8BAA8B,CAAC,CAAC,WAAW,OAGxE;CAED,OAAO,QAAO,OADSA,UAAAA,CACD,OAAO,KAAK;AACpC,CAAC;;AAGD,SAAgB,WAAc,OAMwD;CACpF,OAAO,OAAO,IAAI,aAAa;EAE7B,OAAO,QAAO,OADSA,UAAAA,CACD,WAAW;GAC/B,cAAc,MAAM;GACpB,SAAS,MAAM;GACf,QAAQ,MAAM;EAChB,CAAC;CACH,CAAC;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AK5BA,IAAa,UAAb,cAA6BC,OAAE,YAAqB,CAAC,CAAC,WAAW;CAC/D,SAASA,OAAE;CACX,WAAWA,OAAE;CACb,OAAOA,OAAE,SAAS;EAAC;EAAS;EAAqB;EAAQ;CAAS,CAAC;AACrE,CAAC,CAAC,CAAC,CAAC;AAEJ,MAAa,0BAA0BA,OAAE,OAAO;CAC9C,aAAaA,OAAE,YAAYA,OAAE,MAAM;CACnC,KAAKA,OAAE;CACP,OAAOA,OAAE;CACT,aAAaA,OAAE,YAAYA,OAAE,MAAM;CACnC,UAAUA,OAAE,YAAYA,OAAE,OAAO;AACnC,CAAC;AAGD,MAAM,6BAA6BA,OAAE,YAAY;CAC/C,aAAa,EAAE,OAAOA,OAAE,OAAO;CAC/B,OAAO,EAAE,OAAOA,OAAE,OAAO;CACzB,OAAO;EACL,OAAOA,OAAE;EACT,YAAYA,OAAE,YAAYA,OAAE,MAAM,uBAAuB,CAAC;EAC1D,aAAaA,OAAE,YAAYA,OAAE,MAAM;CACrC;AACF,CAAC;;AAGD,MAAa,uBAAuB;CAClC,QAAQ;CACR,cAAc,UACZ,2BAA2B,MAAM,YAAY,KAAK,KAAK;CACzD,QAAQ,UACN,2BAA2B,MAAM,MAAM,KAAK,KAAK;CACnD,QAAQ,UACN,2BAA2B,MAAM,MAAM,KAAK,KAAK;AACrD;AAYA,MAAa,SAAS,KAAK,WAAmB;AAE9C,MAAa,WAAWA,OAAE,OAAO;CAC/B,gBAAgBA,OAAE,MAAM,qBAAqB,MAAM;CACnD,IAAIA,OAAE;CACN,MAAMA,OAAE;AACV,CAAC;AAGD,MAAM,kBAAkBA,OAAE,aAAa,aAAa;CAClD,YAAYC;CACZ,YAAYC;CACZ,UAAU;AACZ,CAAC;;AAED,SAAgB,UAAU,OAA8D;CACtF,OAAO,gBAAgB,KAAK,KAAK;AACnC;CACO,SAAA,YAAA;CACiB,WAAA,SAAA;AACvB,EAAA,CAAA,cAAA,YAAA,CAAA,EAAD;AAGA,MAAa,qBAAqBF,OAAE,OAAO;CACzC,YAAYE;CACZ,SAASF,OAAE,MAAMG,cAAyB;AAC5C,CAAC;AAGD,MAAM,qBAAqBH,OAAE,aAAa,gBAAgB;CACxD,QAAQA,OAAE;CACV,UAAU;CACV,qBAAqBA,OAAE,MAAM,kBAAkB;AACjD,CAAC;;AAED,SAAgB,aAAa,OAAoE;CAC/F,OAAO,mBAAmB,KAAK,KAAK;AACtC;CACO,SAAA,eAAA;CACiB,cAAA,SAAA;AACvB,EAAA,CAAA,iBAAA,eAAA,CAAA,EAAD;AAGA,MAAM,oBAAoBA,OAAE,aAAa,eAAe,EAAE,QAAQA,OAAE,OAAO,CAAC;;AAE5E,SAAgB,YAAY,OAAkE;CAC5F,OAAO,kBAAkB,KAAK,KAAK;AACrC;CACO,SAAA,cAAA;CACiB,aAAA,SAAA;AACvB,EAAA,CAAA,gBAAA,cAAA,CAAA,EAAD;AAGA,MAAa,qBAAqBA,OAAE,MAAM;CACxC;CACA;CACA;AACF,CAAC,CAAC,CAAC,KAAKA,OAAE,cAAc,MAAM,CAAC;AAG/B,MAAM,iBAAiBA,OAAE,aAAa,YAAY,EAAE,kBAAkBA,OAAE,OAAO,CAAC;;AAEhF,SAAgB,SAAS,OAA4D;CACnF,OAAO,eAAe,KAAK,KAAK;AAClC;CACO,SAAA,WAAA;CACiB,UAAA,SAAA;AACvB,EAAA,CAAA,aAAA,WAAA,CAAA,EAAD;AAGA,MAAa,mBAAmBA,OAAE,MAAM,CAAC,iBAAiB,cAAc,CAAC,CAAC,CAAC,KACzEA,OAAE,cAAc,MAAM,CACxB;AAGA,MAAM,qBAAqBA,OAAE,aAAa,YAAY;CACpD,YAAYC;CACZ,YAAYC;CACZ,sBAAsBF,OAAE;AAC1B,CAAC;;AAED,SAAgB,aAAa,OAAoE;CAC/F,OAAO,mBAAmB,KAAK,KAAK;AACtC;CACO,SAAA,eAAA;CACiB,cAAA,SAAA;AACvB,EAAA,CAAA,iBAAA,eAAA,CAAA,EAAD;;AAIA,MAAa,YAAYA,OAAE,OAAO;CAChC,IAAIA,OAAE;CACN,MAAMA,OAAE;CACR,UAAUA,OAAE,YAAYA,OAAE,GAAG;CAC7B,MAAMA,OAAE;CACR,OAAOA,OAAE;AACX,CAAC;;AAID,MAAa,iBAAiB,IAAY,WAAiD;CACzF,QAAQ,OAAO,MAAf;EACE,KAAK;EACL,KAAK,QACH,OAAO;GAAE;GAAI,MAAM,OAAO;GAAM,MAAM,OAAO;GAAM,OAAO,OAAO;EAAQ;EAC3E,KAAK;EACL,KAAK,MACH,OAAO;GAAE;GAAI,MAAM,OAAO;GAAM,MAAM,OAAO;GAAM,OAAO,OAAO;EAAO;EAC1E,KAAK,OACH,OAAO;GAAE;GAAI,MAAM,OAAO;GAAM,MAAM,OAAO;GAAM,OAAO,OAAO;EAAM;EACzE,KAAK,MACH,OAAO;GACL;GACA,MAAM,OAAO;GACb,UAAU,OAAO;GACjB,MAAM,OAAO;GACb,OAAO,OAAO;EAChB;EACF,KAAK,OACH,OAAO;GACL;GACA,MAAM,OAAO;GACb,MAAM,OAAO;GACb,OAAO,GAAG,OAAO,MAAM,GAAG,OAAO,IAAI,GAAG,OAAO;EACjD;EACF,KAAK,OACH,OAAO;GACL;GACA,MAAM,OAAO;GACb,UAAU,OAAO;GACjB,MAAM,OAAO;GACb,OAAO,GAAG,OAAO,OAAO,GAAG,OAAO,KAAK,GAAG,OAAO;EACnD;CACJ;AACF;AAEA,MAAM,sBAAsBA,OAAE,YAAY;CACxC,UAAU;EAAE,IAAIA,OAAE;EAAQ,QAAQA,OAAE;EAAQ,QAAQ;CAAU;CAC9D,QAAQ;EAAE,IAAIA,OAAE;EAAQ,QAAQ;CAAU;CAC1C,MAAM;EAAE,IAAIA,OAAE;EAAQ,QAAQ;CAAU;AAC1C,CAAC;;AAED,MAAa,gBAAgB;CAC3B,QAAQ;CACR,WAAW,UACT,oBAAoB,MAAM,SAAS,KAAK,KAAK;CAC/C,SAAS,UACP,oBAAoB,MAAM,OAAO,KAAK,KAAK;CAC7C,OAAO,UACL,oBAAoB,MAAM,KAAK,KAAK,KAAK;AAC7C;AAGA,MAAM,yBAAyBA,OAAE,aAAa,QAAQ;CACpD,QAAQA,OAAE;CACV,WAAWA,OAAE;CACb,YAAYA,OAAE,MAAM,cAAc,MAAM;AAC1C,CAAC;;AAED,SAAgB,iBACd,OACkB;CAClB,OAAO,uBAAuB,KAAK,KAAK;AAC1C;CACO,SAAA,mBAAA;CACiB,kBAAA,SAAA;AACvB,EAAA,CAAA,qBAAA,mBAAA,CAAA,EAAD;AAGA,MAAM,wBAAwBA,OAAE,YAAY;CAC1C,SAAS,EAAE,aAAaA,OAAE,OAAO;CACjC,QAAQ;EAAE,SAASA,OAAE;EAAQ,aAAaA,OAAE;CAAO;CACnD,WAAW,EAAE,aAAaA,OAAE,OAAO;AACrC,CAAC;;AAED,MAAa,kBAAkB;CAC7B,QAAQ;CACR,UAAU,UACR,sBAAsB,MAAM,QAAQ,KAAK,KAAK;CAChD,SAAS,UACP,sBAAsB,MAAM,OAAO,KAAK,KAAK;CAC/C,YAAY,UACV,sBAAsB,MAAM,UAAU,KAAK,KAAK;AACpD;AAGA,MAAM,qBAAqB;CACzB,aAAaA,OAAE;CACf,WAAWA,OAAE;CACb,SAASA,OAAE,MAAM,gBAAgB,MAAM;AACzC;AACA,MAAM,oBAAoBA,OAAE,YAAY;CACtC,SAAS;CACT,SAAS;CACT,OAAO,EAAE,SAASA,OAAE,OAAO;AAC7B,CAAC;;AAED,MAAa,cAAc;CACzB,QAAQ;CACR,UAAU,UACR,kBAAkB,MAAM,QAAQ,KAAK,KAAK;CAC5C,UAAU,UACR,kBAAkB,MAAM,QAAQ,KAAK,KAAK;CAC5C,QAAQ,UACN,kBAAkB,MAAM,MAAM,KAAK,KAAK;AAC5C;AAGA,MAAM,4BAA4BA,OAAE,YAAY;CAC9C,OAAO,EAAE,UAAUA,OAAE,OAAO;CAC5B,UAAU;EAAE,SAASA,OAAE;EAAQ,UAAUA,OAAE;CAAO;CAClD,SAAS,EAAE,UAAUA,OAAE,OAAO;CAC9B,aAAa;EAAE,SAASA,OAAE;EAAQ,UAAUA,OAAE;CAAO;AACvD,CAAC;;AAED,MAAa,sBAAsB;CACjC,QAAQ;CACR,QAAQ,UACN,0BAA0B,MAAM,MAAM,KAAK,KAAK;CAClD,WAAW,UACT,0BAA0B,MAAM,SAAS,KAAK,KAAK;CACrD,UAAU,UACR,0BAA0B,MAAM,QAAQ,KAAK,KAAK;CACpD,cAAc,UACZ,0BAA0B,MAAM,YAAY,KAAK,KAAK;AAC1D;AAGA,MAAM,oBAAoBA,OAAE,aAAa,eAAe;CACtD,UAAUA,OAAE,MAAM,oBAAoB,MAAM;CAC5C,WAAWA,OAAE,MAAM,oBAAoB,MAAM;AAC/C,CAAC;;AAED,SAAgB,YAAY,OAAkE;CAC5F,OAAO,kBAAkB,KAAK,KAAK;AACrC;CACO,SAAA,cAAA;CACiB,aAAA,SAAA;AACvB,EAAA,CAAA,gBAAA,cAAA,CAAA,EAAD;AAGA,MAAM,yBAAyBA,OAAE,YAAY;CAC3C,eAAe;EAAE,IAAIA,OAAE;EAAQ,QAAQ;CAAU;CACjD,SAAS;EAAE,IAAIA,OAAE;EAAQ,QAAQA,OAAE;EAAQ,QAAQ;CAAU;CAC7D,QAAQ;EAAE,IAAIA,OAAE;EAAQ,QAAQ;CAAU;AAC5C,CAAC;;AAED,MAAa,mBAAmB;CAC9B,QAAQ;CACR,gBAAgB,UACd,uBAAuB,MAAM,cAAc,KAAK,KAAK;CACvD,UAAU,UACR,uBAAuB,MAAM,QAAQ,KAAK,KAAK;CACjD,SAAS,UACP,uBAAuB,MAAM,OAAO,KAAK,KAAK;AAClD;AAGA,MAAM,oBAAoBA,OAAE,aAAa,eAAe;CACtD,QAAQA,OAAE;CACV,WAAWA,OAAE;CACb,YAAYA,OAAE,MAAM,iBAAiB,MAAM;AAC7C,CAAC;;AAED,SAAgB,YAAY,OAAkE;CAC5F,OAAO,kBAAkB,KAAK,KAAK;AACrC;CACO,SAAA,cAAA;CACiB,aAAA,SAAA;AACvB,EAAA,CAAA,gBAAA,cAAA,CAAA,EAAD;AAGA,MAAM,uBAAuB;CAC3B,aAAaA,OAAE;CACf,SAASA,OAAE,MAAM,gBAAgB,MAAM;AACzC;AACA,MAAM,sBAAsBA,OAAE,YAAY;CACxC,SAAS;CACT,SAAS;CACT,OAAO,EAAE,SAASA,OAAE,OAAO;AAC7B,CAAC;;AAED,MAAa,gBAAgB;CAC3B,QAAQ;CACR,UAAU,UACR,oBAAoB,MAAM,QAAQ,KAAK,KAAK;CAC9C,UAAU,UACR,oBAAoB,MAAM,QAAQ,KAAK,KAAK;CAC9C,QAAQ,UACN,oBAAoB,MAAM,MAAM,KAAK,KAAK;AAC9C;AA6EA,IAAa,UAAb,cAA6B,QAAQ,QAA4B,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;;AA4B5F,MAAa,aAAa,WAA2B,UAAwB,CAAC,MAAiB;CAC7F,MAAM,WAAc,WAAmB,aACrC,OAAO,WAAW;EAChB,KAAK;EACL,QAAQ,UACN,QAAQ,UAAU,WAAW,KAAK,MACjC,iBAAiB,UACd,QACA,IAAI,QAAQ;GACV,SAAS,iBAAiB,WAAW,QAAQ,MAAM,UAAU,OAAO,KAAK;GACzE;GACA,OAAO;EACT,CAAC;CACT,CAAC;CACH,OAAO,QAAQ,GAAG;EAChB,SAAS;GACP,QAAQ,UAAU,QAAQ,uBAAuB,UAAU,QAAQ,MAAM,KAAK,CAAC;GAC/E,OAAO,UAAU,QAAQ,sBAAsB,UAAU,QAAQ,KAAK,KAAK,CAAC;EAC9E;EACA,YAAY;GACV,SAAS,UAAU,QAAQ,2BAA2B,UAAU,WAAW,OAAO,KAAK,CAAC;GACxF,UAAU,UAAU,QAAQ,4BAA4B,UAAU,WAAW,QAAQ,KAAK,CAAC;GAC3F,UAAU,UAAU,QAAQ,4BAA4B,UAAU,WAAW,QAAQ,KAAK,CAAC;GAC3F,SAAS,UAAU,QAAQ,2BAA2B,UAAU,WAAW,OAAO,KAAK,CAAC;EAC1F;EACA,cAAc;GACZ,QAAQ,UAAU,QAAQ,4BAA4B,UAAU,aAAa,MAAM,KAAK,CAAC;GACzF,OAAO,UAAU,QAAQ,2BAA2B,UAAU,aAAa,KAAK,KAAK,CAAC;EACxF;EACA,cAAc,EACZ,UAAU,UACR,QAAQ,8BAA8B,UAAU,aAAa,QAAQ,KAAK,CAAC,EAC/E;CACF,CAAC;AACH;AAEA,MAAa,kBACX,WACA,YACyB,MAAM,QAAQ,SAAS,UAAU,WAAW,OAAO,CAAC;;AAG/E,MAAa,WAAW,eAA0C;CAChE,SAAS;EACP,QAAQ,UAAU,OAAO,WAAW,UAAU,QAAQ,MAAM,KAAK,CAAC;EAClE,OAAO,UAAU,OAAO,WAAW,UAAU,QAAQ,KAAK,KAAK,CAAC;CAClE;CACA,YAAY;EACV,SAAS,UAAU,OAAO,WAAW,UAAU,WAAW,OAAO,KAAK,CAAC;EACvE,UAAU,UAAU,OAAO,WAAW,UAAU,WAAW,QAAQ,KAAK,CAAC;EACzE,UAAU,UAAU,OAAO,WAAW,UAAU,WAAW,QAAQ,KAAK,CAAC;EACzE,SAAS,UAAU,OAAO,WAAW,UAAU,WAAW,OAAO,KAAK,CAAC;CACzE;CACA,cAAc;EACZ,QAAQ,UAAU,OAAO,WAAW,UAAU,aAAa,MAAM,KAAK,CAAC;EACvE,OAAO,UAAU,OAAO,WAAW,UAAU,aAAa,KAAK,KAAK,CAAC;CACvE;CACA,cAAc,EACZ,UAAU,UAAU,OAAO,WAAW,UAAU,aAAa,QAAQ,KAAK,CAAC,EAC7E;AACF;;;;AC/fA,MAAa,UAAUI"}
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.mjs";
2
- import { o as Error, s as Service } from "./canonical-json-9x7gHIoS.mjs";
2
+ import { o as Error, s as Service } from "./canonical-json-CQYKsZw7.mjs";
3
3
  import { Effect, Layer } from "effect";
4
4
  //#region src/promise/managed-dns-connections.ts
5
5
  var managed_dns_connections_exports = /* @__PURE__ */ __exportAll({
@@ -96,4 +96,4 @@ const from = (repository) => repository;
96
96
  //#endregion
97
97
  export { managed_dns_connections_exports as n, layerFromAsync as t };
98
98
 
99
- //# sourceMappingURL=managed-dns-connections-CaXts84E.mjs.map
99
+ //# sourceMappingURL=managed-dns-connections-C3A_GBaz.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"managed-dns-connections-CaXts84E.mjs","names":["Lifecycle.Error","Lifecycle.Service"],"sources":["../src/promise/managed-dns-connections.ts"],"sourcesContent":["import { Effect, Layer } from \"effect\";\n\nimport type * as ProviderAuthorization from \"../auth/authorization.ts\";\nimport type * as Connection from \"../auth/connection.ts\";\nimport * as Lifecycle from \"../auth/lifecycle-repository.ts\";\n\nexport interface AsyncInterface {\n readonly attach: (input: {\n readonly attachment: Connection.DomainAttachment;\n readonly connectionId: string;\n readonly ownerId: string;\n }) => Promise<Lifecycle.AttachmentResult>;\n readonly connect: (input: Lifecycle.ConnectInput) => Promise<Lifecycle.Aggregate>;\n readonly detach: (input: {\n readonly attachmentId: string;\n readonly ownerId: string;\n }) => Promise<Lifecycle.DetachResult>;\n readonly disconnect: (input: {\n readonly connectionId: string;\n readonly ownerId: string;\n readonly revoke: (authorization: ProviderAuthorization.ProviderAuthorization) => Promise<void>;\n }) => Promise<Lifecycle.DisconnectResult>;\n readonly findConnection: (\n ownerId: string,\n authorizationId: string,\n ) => Promise<Connection.StoredConnection | null>;\n readonly get: (authorizationId: string) => Promise<Lifecycle.Aggregate | null>;\n readonly getAttachment: (attachmentId: string) => Promise<Connection.DomainAttachment | null>;\n readonly getByConnectionId: (connectionId: string) => Promise<Lifecycle.Aggregate | null>;\n readonly listAttachments: (\n connectionId: string,\n ownerId: string,\n ) => Promise<ReadonlyArray<Connection.DomainAttachment>>;\n readonly promoteEvidence: (\n authorizationId: string,\n evidence: ReadonlyArray<ProviderAuthorization.CapabilityEvidence>,\n ) => Promise<Lifecycle.Aggregate>;\n readonly recover: (input: {\n readonly authorizationId: string;\n readonly revoke: (authorization: ProviderAuthorization.ProviderAuthorization) => Promise<void>;\n }) => Promise<Lifecycle.DisconnectResult>;\n readonly rotate: (\n authorizationId: string,\n credential: Connection.StoredCredential,\n ) => Promise<Lifecycle.Aggregate>;\n}\n\nconst failure = (operation: string, cause: unknown): Lifecycle.Error =>\n cause instanceof Lifecycle.Error\n ? cause\n : new Lifecycle.Error({\n category: \"storage\",\n message: cause instanceof globalThis.Error ? cause.message : String(cause),\n operation,\n retry: \"safe\",\n });\n\nexport const layerFromAsync = (repository: AsyncInterface): Layer.Layer<Lifecycle.Service> =>\n Layer.succeed(Lifecycle.Service, {\n attach: (input) =>\n Effect.tryPromise({\n try: () => repository.attach(input),\n catch: (cause) => failure(\"ManagedDnsConnections.attach\", cause),\n }),\n connect: (input) =>\n Effect.tryPromise({\n try: () => repository.connect(input),\n catch: (cause) => failure(\"ManagedDnsConnections.connect\", cause),\n }),\n detach: (input) =>\n Effect.tryPromise({\n try: () => repository.detach(input),\n catch: (cause) => failure(\"ManagedDnsConnections.detach\", cause),\n }),\n disconnect: ({ connectionId, ownerId, revoke }) =>\n Effect.tryPromise({\n try: () =>\n repository.disconnect({\n connectionId,\n ownerId,\n revoke: (authorization) => Effect.runPromise(revoke(authorization)),\n }),\n catch: (cause) => failure(\"ManagedDnsConnections.disconnect\", cause),\n }),\n findConnection: (ownerId, authorizationId) =>\n Effect.tryPromise({\n try: () => repository.findConnection(ownerId, authorizationId),\n catch: (cause) => failure(\"ManagedDnsConnections.findConnection\", cause),\n }),\n get: (authorizationId) =>\n Effect.tryPromise({\n try: () => repository.get(authorizationId),\n catch: (cause) => failure(\"ManagedDnsConnections.get\", cause),\n }),\n getAttachment: (attachmentId) =>\n Effect.tryPromise({\n try: () => repository.getAttachment(attachmentId),\n catch: (cause) => failure(\"ManagedDnsConnections.getAttachment\", cause),\n }),\n getByConnectionId: (connectionId) =>\n Effect.tryPromise({\n try: () => repository.getByConnectionId(connectionId),\n catch: (cause) => failure(\"ManagedDnsConnections.getByConnectionId\", cause),\n }),\n listAttachments: (connectionId, ownerId) =>\n Effect.tryPromise({\n try: () => repository.listAttachments(connectionId, ownerId),\n catch: (cause) => failure(\"ManagedDnsConnections.listAttachments\", cause),\n }),\n promoteEvidence: (authorizationId, evidence) =>\n Effect.tryPromise({\n try: () => repository.promoteEvidence(authorizationId, evidence),\n catch: (cause) => failure(\"ManagedDnsConnections.promoteEvidence\", cause),\n }),\n recover: ({ authorizationId, revoke }) =>\n Effect.tryPromise({\n try: () =>\n repository.recover({\n authorizationId,\n revoke: (authorization) => Effect.runPromise(revoke(authorization)),\n }),\n catch: (cause) => failure(\"ManagedDnsConnections.recover\", cause),\n }),\n rotate: (authorizationId, credential) =>\n Effect.tryPromise({\n try: () => repository.rotate(authorizationId, credential),\n catch: (cause) => failure(\"ManagedDnsConnections.rotate\", cause),\n }),\n });\n\nexport const toAsync = (service: Lifecycle.Interface): AsyncInterface => ({\n attach: (input) => Effect.runPromise(service.attach(input)),\n connect: (input) => Effect.runPromise(service.connect(input)),\n detach: (input) => Effect.runPromise(service.detach(input)),\n disconnect: ({ connectionId, ownerId, revoke }) =>\n Effect.runPromise(\n service.disconnect({\n connectionId,\n ownerId,\n revoke: (authorization) => Effect.promise(() => revoke(authorization)),\n }),\n ),\n findConnection: (ownerId, authorizationId) =>\n Effect.runPromise(service.findConnection(ownerId, authorizationId)),\n get: (authorizationId) => Effect.runPromise(service.get(authorizationId)),\n getAttachment: (attachmentId) => Effect.runPromise(service.getAttachment(attachmentId)),\n getByConnectionId: (connectionId) => Effect.runPromise(service.getByConnectionId(connectionId)),\n listAttachments: (connectionId, ownerId) =>\n Effect.runPromise(service.listAttachments(connectionId, ownerId)),\n promoteEvidence: (authorizationId, evidence) =>\n Effect.runPromise(service.promoteEvidence(authorizationId, evidence)),\n recover: ({ authorizationId, revoke }) =>\n Effect.runPromise(\n service.recover({\n authorizationId,\n revoke: (authorization) => Effect.promise(() => revoke(authorization)),\n }),\n ),\n rotate: (authorizationId, credential) =>\n Effect.runPromise(service.rotate(authorizationId, credential)),\n});\n\nexport const from = (repository: AsyncInterface): AsyncInterface => repository;\n\nexport { Error } from \"../auth/lifecycle-repository.ts\";\nexport type {\n AttachmentResult,\n DetachResult,\n DisconnectResult,\n} from \"../auth/lifecycle-repository.ts\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"managed-dns-connections-C3A_GBaz.mjs","names":["Lifecycle.Error","Lifecycle.Service"],"sources":["../src/promise/managed-dns-connections.ts"],"sourcesContent":["import { Effect, Layer } from \"effect\";\n\nimport type * as ProviderAuthorization from \"../auth/authorization.ts\";\nimport type * as Connection from \"../auth/connection.ts\";\nimport * as Lifecycle from \"../auth/lifecycle-repository.ts\";\n\nexport interface AsyncInterface {\n readonly attach: (input: {\n readonly attachment: Connection.DomainAttachment;\n readonly connectionId: string;\n readonly ownerId: string;\n }) => Promise<Lifecycle.AttachmentResult>;\n readonly connect: (input: Lifecycle.ConnectInput) => Promise<Lifecycle.Aggregate>;\n readonly detach: (input: {\n readonly attachmentId: string;\n readonly ownerId: string;\n }) => Promise<Lifecycle.DetachResult>;\n readonly disconnect: (input: {\n readonly connectionId: string;\n readonly ownerId: string;\n readonly revoke: (authorization: ProviderAuthorization.ProviderAuthorization) => Promise<void>;\n }) => Promise<Lifecycle.DisconnectResult>;\n readonly findConnection: (\n ownerId: string,\n authorizationId: string,\n ) => Promise<Connection.StoredConnection | null>;\n readonly get: (authorizationId: string) => Promise<Lifecycle.Aggregate | null>;\n readonly getAttachment: (attachmentId: string) => Promise<Connection.DomainAttachment | null>;\n readonly getByConnectionId: (connectionId: string) => Promise<Lifecycle.Aggregate | null>;\n readonly listAttachments: (\n connectionId: string,\n ownerId: string,\n ) => Promise<ReadonlyArray<Connection.DomainAttachment>>;\n readonly promoteEvidence: (\n authorizationId: string,\n evidence: ReadonlyArray<ProviderAuthorization.CapabilityEvidence>,\n ) => Promise<Lifecycle.Aggregate>;\n readonly recover: (input: {\n readonly authorizationId: string;\n readonly revoke: (authorization: ProviderAuthorization.ProviderAuthorization) => Promise<void>;\n }) => Promise<Lifecycle.DisconnectResult>;\n readonly rotate: (\n authorizationId: string,\n credential: Connection.StoredCredential,\n ) => Promise<Lifecycle.Aggregate>;\n}\n\nconst failure = (operation: string, cause: unknown): Lifecycle.Error =>\n cause instanceof Lifecycle.Error\n ? cause\n : new Lifecycle.Error({\n category: \"storage\",\n message: cause instanceof globalThis.Error ? cause.message : String(cause),\n operation,\n retry: \"safe\",\n });\n\nexport const layerFromAsync = (repository: AsyncInterface): Layer.Layer<Lifecycle.Service> =>\n Layer.succeed(Lifecycle.Service, {\n attach: (input) =>\n Effect.tryPromise({\n try: () => repository.attach(input),\n catch: (cause) => failure(\"ManagedDnsConnections.attach\", cause),\n }),\n connect: (input) =>\n Effect.tryPromise({\n try: () => repository.connect(input),\n catch: (cause) => failure(\"ManagedDnsConnections.connect\", cause),\n }),\n detach: (input) =>\n Effect.tryPromise({\n try: () => repository.detach(input),\n catch: (cause) => failure(\"ManagedDnsConnections.detach\", cause),\n }),\n disconnect: ({ connectionId, ownerId, revoke }) =>\n Effect.tryPromise({\n try: () =>\n repository.disconnect({\n connectionId,\n ownerId,\n revoke: (authorization) => Effect.runPromise(revoke(authorization)),\n }),\n catch: (cause) => failure(\"ManagedDnsConnections.disconnect\", cause),\n }),\n findConnection: (ownerId, authorizationId) =>\n Effect.tryPromise({\n try: () => repository.findConnection(ownerId, authorizationId),\n catch: (cause) => failure(\"ManagedDnsConnections.findConnection\", cause),\n }),\n get: (authorizationId) =>\n Effect.tryPromise({\n try: () => repository.get(authorizationId),\n catch: (cause) => failure(\"ManagedDnsConnections.get\", cause),\n }),\n getAttachment: (attachmentId) =>\n Effect.tryPromise({\n try: () => repository.getAttachment(attachmentId),\n catch: (cause) => failure(\"ManagedDnsConnections.getAttachment\", cause),\n }),\n getByConnectionId: (connectionId) =>\n Effect.tryPromise({\n try: () => repository.getByConnectionId(connectionId),\n catch: (cause) => failure(\"ManagedDnsConnections.getByConnectionId\", cause),\n }),\n listAttachments: (connectionId, ownerId) =>\n Effect.tryPromise({\n try: () => repository.listAttachments(connectionId, ownerId),\n catch: (cause) => failure(\"ManagedDnsConnections.listAttachments\", cause),\n }),\n promoteEvidence: (authorizationId, evidence) =>\n Effect.tryPromise({\n try: () => repository.promoteEvidence(authorizationId, evidence),\n catch: (cause) => failure(\"ManagedDnsConnections.promoteEvidence\", cause),\n }),\n recover: ({ authorizationId, revoke }) =>\n Effect.tryPromise({\n try: () =>\n repository.recover({\n authorizationId,\n revoke: (authorization) => Effect.runPromise(revoke(authorization)),\n }),\n catch: (cause) => failure(\"ManagedDnsConnections.recover\", cause),\n }),\n rotate: (authorizationId, credential) =>\n Effect.tryPromise({\n try: () => repository.rotate(authorizationId, credential),\n catch: (cause) => failure(\"ManagedDnsConnections.rotate\", cause),\n }),\n });\n\nexport const toAsync = (service: Lifecycle.Interface): AsyncInterface => ({\n attach: (input) => Effect.runPromise(service.attach(input)),\n connect: (input) => Effect.runPromise(service.connect(input)),\n detach: (input) => Effect.runPromise(service.detach(input)),\n disconnect: ({ connectionId, ownerId, revoke }) =>\n Effect.runPromise(\n service.disconnect({\n connectionId,\n ownerId,\n revoke: (authorization) => Effect.promise(() => revoke(authorization)),\n }),\n ),\n findConnection: (ownerId, authorizationId) =>\n Effect.runPromise(service.findConnection(ownerId, authorizationId)),\n get: (authorizationId) => Effect.runPromise(service.get(authorizationId)),\n getAttachment: (attachmentId) => Effect.runPromise(service.getAttachment(attachmentId)),\n getByConnectionId: (connectionId) => Effect.runPromise(service.getByConnectionId(connectionId)),\n listAttachments: (connectionId, ownerId) =>\n Effect.runPromise(service.listAttachments(connectionId, ownerId)),\n promoteEvidence: (authorizationId, evidence) =>\n Effect.runPromise(service.promoteEvidence(authorizationId, evidence)),\n recover: ({ authorizationId, revoke }) =>\n Effect.runPromise(\n service.recover({\n authorizationId,\n revoke: (authorization) => Effect.promise(() => revoke(authorization)),\n }),\n ),\n rotate: (authorizationId, credential) =>\n Effect.runPromise(service.rotate(authorizationId, credential)),\n});\n\nexport const from = (repository: AsyncInterface): AsyncInterface => repository;\n\nexport { Error } from \"../auth/lifecycle-repository.ts\";\nexport type {\n AttachmentResult,\n DetachResult,\n DisconnectResult,\n} from \"../auth/lifecycle-repository.ts\";\n"],"mappings":"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"}
@@ -1,24 +1,83 @@
1
- import { $ as Schema$1, At as Schema$3, Ct as Txt, Dt as equals, J as Manifest, K as AsyncOAuthSubjectResolver, M as ProviderConnection, Mt as parse$1, N as ProviderTarget, Ot as parse, Pt as invalid_input_d_exports, St as Srv, Tt as data, W as ProviderAuthorization, X as OAuthClientConfiguration, Y as Method, Z as OAuthMethod, _ as provider_context_d_exports, _t as Ns, at as CreateResult, bt as RequirementMetadata, dt as Aaaa, et as TokenValidation, ft as Caa, gt as Mx, ht as Encoded, it as AsyncInterface, j as DomainAttachment, kt as DomainName, mt as DnsRecord, nt as Value, pt as Cname, rt as secret_d_exports, ut as A, vt as Observed, wt as Type, xt as Schema$2, yt as Opaque } from "./connect-Db830jad.mjs";
2
- import { $ as RestoreInput, A as Options$4, B as manifest$2, C as manifest$3, D as Fetch$1, E as AccountContext, F as OAuthMethodOptions, G as Interface$5, H as tokenMethod$2, I as RefreshCredentialOptions, J as Zone, K as ListZonesInput, L as SubjectResolverOptions, N as CredentialTarget, O as Interface$6, P as OAuthFlowOptions, Q as Resolution, R as TokenConnectionOptions, S as integrationMethod$1, T as Account$1, U as Account, V as oauthMethod$1, W as Fetch, X as Interface$4, Y as Credential, Z as ListTargetsInput, _ as ExchangeCodeOptions, b as IntegrationMethodOptions, c as Policy, f as Options$5, i as Result, j as Zone$1, k as ListZonesInput$1, m as Options$6, n as PublicDns$1, nt as selection_d_exports, o as DefaultOptions, q as Options$3, r as PublicDnsObservation, rt as diagnostic_d_exports, s as Observation, t as ProviderObservation, tt as zones_d_exports, u as Options$7, v as IntegrationCredential, w as tokenMethod$3, x as TokenConnectionOptions$1, y as IntegrationFlowOptions, z as TokenValidatorOptions } from "./verify-yAy-r9no.mjs";
3
- import { A as renderManualInstructions$1, C as DiscoverCreateInput$1, E as ResolvedCreateResult, F as PlanAuthorization, H as Source$1, I as Receipt, L as Schema$4, M as Authorization, N as DnsPlan, O as Target, P as Operation, R as encode, S as CreateResult$1, V as Candidate, _ 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-DUAIlm2I.mjs";
4
- import { a as managed_dns_connections_d_exports, i as AsyncInterface$2, n as Method$1, r as connection_d_exports, t as InteractiveFlow } from "./connection-DuYDgWir.mjs";
1
+ import { $ as Schema$1, At as Schema$2, Ct as Txt, Dt as equals, J as Manifest, K as AsyncOAuthSubjectResolver, M as ProviderConnection, Mt as parse$1, N as ProviderTarget, Ot as parse, Pt as invalid_input_d_exports, St as Srv, Tt as data, W as ProviderAuthorization, X as OAuthClientConfiguration, Y as Method, Z as OAuthMethod, _ as provider_context_d_exports, _t as Ns, at as CreateResult, bt as RecordSchema, dt as Aaaa, et as TokenValidation, ft as Caa, gt as Mx, ht as Encoded, it as AsyncInterface, j as DomainAttachment, kt as DomainName, mt as DnsRecord, nt as Value, pt as Cname, rt as secret_d_exports, ut as A, vt as Observed, wt as Type, xt as RequirementMetadata, yt as Opaque } from "./connect-D-X8T9W8.mjs";
2
+ import { $ as RestoreInput, A as Options$4, B as manifest$2, C as manifest$3, D as Fetch$1, E as AccountContext, F as OAuthMethodOptions, G as Interface$5, H as tokenMethod$2, I as RefreshCredentialOptions, J as Zone, K as ListZonesInput, L as SubjectResolverOptions, N as CredentialTarget, O as Interface$6, P as OAuthFlowOptions, Q as Resolution$1, R as TokenConnectionOptions, S as integrationMethod$1, T as Account$1, U as Account, V as oauthMethod$1, W as Fetch, X as Interface$4, Y as Credential, Z as ListTargetsInput, _ as ExchangeCodeOptions, b as IntegrationMethodOptions, c as Policy, f as Options$5, i as Result, j as Zone$1, k as ListZonesInput$1, m as Options$6, n as PublicDns$1, nt as selection_d_exports, o as DefaultOptions, q as Options$3, r as PublicDnsObservation, rt as diagnostic_d_exports, s as Observation, t as ProviderObservation, tt as zones_d_exports, u as Options$7, v as IntegrationCredential, w as tokenMethod$3, x as TokenConnectionOptions$1, y as IntegrationFlowOptions, z as TokenValidatorOptions } from "./verify-FpunAcM7.mjs";
3
+ import { A as renderManualInstructions$1, C as DiscoverCreateInput$1, E as ResolvedCreateResult, F as PlanAuthorization, H as Source$1, I as Receipt, L as Schema$3, M as Authorization, N as DnsPlan, O as Target, P as Operation, R as encode, S as CreateResult$1, V as Candidate, _ 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-xoSwyXDJ.mjs";
4
+ import { a as managed_dns_connections_d_exports, i as AsyncInterface$2, n as Method$1, r as connection_d_exports, t as InteractiveFlow } from "./connection-Dp6ZdSo8.mjs";
5
5
  import { Data } from "effect";
6
6
  declare namespace dns_provider_d_exports {
7
7
  export { CreateResult, AsyncInterface as Interface };
8
8
  }
9
9
  declare namespace provider_session_d_exports {
10
- export { Interface$3 as Interface, ListTargetsInput, Resolution, fromEffect };
10
+ export { Interface$3 as Interface, ListTargetsInput, Resolution$1 as Resolution, fromEffect };
11
11
  }
12
12
  interface Interface$3 {
13
13
  readonly providerId: string;
14
14
  readonly listTargets: (input?: ListTargetsInput) => Promise<ReadonlyArray<ProviderTarget>>;
15
- readonly resolveTarget: (domain: DomainName) => Promise<Resolution>;
15
+ readonly resolveTarget: (domain: DomainName) => Promise<Resolution$1>;
16
16
  readonly forTarget: (target: ProviderTarget) => Promise<AsyncInterface>;
17
17
  }
18
18
  declare const fromEffect: (session: Interface$4) => Interface$3;
19
19
  declare namespace dns_resolver_d_exports {
20
- export { Answer, AsyncInterface$1 as Interface, Query, AsyncResolution as Resolution };
20
+ export { Answer, AsyncInterface$1 as Interface, Query, Resolution };
21
21
  }
22
+ declare const Resolution: {
23
+ Schema: import("effect/Schema").TaggedUnion<{
24
+ readonly answer: import("effect/Schema").TaggedStruct<"answer", {
25
+ readonly answers: import("effect/Schema").$Array<import("effect/Schema").Struct<{
26
+ readonly data: import("effect/Schema").String;
27
+ readonly name: import("effect/Schema").decodeTo<import("effect/Schema").brand<import("effect/Schema").String, "DomainName">, import("effect/Schema").String, never, never>;
28
+ readonly ttl: import("effect/Schema").Int;
29
+ readonly type: import("effect/Schema").Literals<readonly ["A", "AAAA", "CNAME", "TXT", "MX", "CAA", "NS", "SRV"]>;
30
+ }>>;
31
+ }>;
32
+ readonly failure: import("effect/Schema").TaggedStruct<"failure", {
33
+ readonly message: import("effect/Schema").String;
34
+ }>;
35
+ readonly nodata: import("effect/Schema").TaggedStruct<"nodata", {}>;
36
+ readonly timeout: import("effect/Schema").TaggedStruct<"timeout", {}>;
37
+ }>;
38
+ answer: (input: Parameters<(input: {
39
+ readonly _tag?: "answer";
40
+ readonly answers: readonly {
41
+ readonly data: string;
42
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
43
+ readonly ttl: number;
44
+ readonly type: "A" | "AAAA" | "CAA" | "CNAME" | "MX" | "NS" | "SRV" | "TXT";
45
+ }[];
46
+ }, options?: import("effect/Schema").MakeOptions) => {
47
+ readonly _tag: "answer";
48
+ readonly answers: readonly {
49
+ readonly data: string;
50
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
51
+ readonly ttl: number;
52
+ readonly type: "A" | "AAAA" | "CAA" | "CNAME" | "MX" | "NS" | "SRV" | "TXT";
53
+ }[];
54
+ }>[0]) => {
55
+ readonly _tag: "answer";
56
+ readonly answers: readonly {
57
+ readonly data: string;
58
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
59
+ readonly ttl: number;
60
+ readonly type: "A" | "AAAA" | "CAA" | "CNAME" | "MX" | "NS" | "SRV" | "TXT";
61
+ }[];
62
+ };
63
+ failure: (input: Parameters<(input: {
64
+ readonly _tag?: "failure";
65
+ readonly message: string;
66
+ }, options?: import("effect/Schema").MakeOptions) => {
67
+ readonly _tag: "failure";
68
+ readonly message: string;
69
+ }>[0]) => {
70
+ readonly _tag: "failure";
71
+ readonly message: string;
72
+ };
73
+ nodata: () => {
74
+ readonly _tag: "nodata";
75
+ };
76
+ timeout: () => {
77
+ readonly _tag: "timeout";
78
+ };
79
+ };
80
+ type Resolution = AsyncResolution;
22
81
  declare namespace provider_auth_d_exports {
23
82
  export { Manifest, Method, OAuthClientConfiguration, OAuthMethod, AsyncOAuthSubjectResolver as OAuthSubjectResolver, Schema$1 as Schema, TokenValidation, decode$1 as decode };
24
83
  }
@@ -46,13 +105,13 @@ declare function discover(input: {
46
105
  }): Promise<Outcome>;
47
106
  declare function toEffectSource(source: Source): Source$1;
48
107
  declare namespace dns_record_d_exports {
49
- export { A, Aaaa, Caa, Cname, DnsRecord, Encoded, Mx, Ns, Observed, Opaque, RequirementMetadata, Schema$2 as Schema, Srv, Txt, Type, data, equals, parse };
108
+ export { A, Aaaa, Caa, Cname, DnsRecord, Encoded, Mx, Ns, Observed, Opaque, RequirementMetadata, RecordSchema as Schema, Srv, Txt, Type, data, equals, parse };
50
109
  }
51
110
  declare namespace domain_name_d_exports {
52
- export { DomainName, Schema$3 as Schema, parse$1 as parse };
111
+ export { DomainName, Schema$2 as Schema, parse$1 as parse };
53
112
  }
54
113
  declare namespace dns_plan_d_exports {
55
- export { ApplyReceipt, Authorization, DnsPlan, Operation, PlanAuthorization, Receipt, Schema$4 as Schema, decode, decodeReceipt, encode, encodeReceipt };
114
+ export { ApplyReceipt, Authorization, DnsPlan, Operation, PlanAuthorization, Receipt, Schema$3 as Schema, decode, decodeReceipt, encode, encodeReceipt };
56
115
  }
57
116
  declare function decode(input: unknown): Promise<DnsPlan>;
58
117
  declare function decodeReceipt(input: unknown): Promise<ApplyReceipt>;
@@ -97,7 +156,7 @@ interface Interface$2 extends AsyncInterface {
97
156
  readonly listAccounts: () => Promise<ReadonlyArray<Account>>;
98
157
  readonly listZones: (input?: ListZonesInput) => Promise<ReadonlyArray<Zone>>;
99
158
  readonly listTargets: (input?: ListTargetsInput) => Promise<ReadonlyArray<ProviderTarget>>;
100
- readonly resolveTarget: (domain: DomainName) => Promise<Resolution>;
159
+ readonly resolveTarget: (domain: DomainName) => Promise<Resolution$1>;
101
160
  readonly validateToken: () => Promise<TokenValidation>;
102
161
  }
103
162
  /** Creates a Promise-compatible facade over the Effect-native Cloudflare client. */
@@ -127,7 +186,7 @@ interface Interface$1 extends AsyncInterface {
127
186
  readonly listAccounts: () => Promise<ReadonlyArray<Account$1>>;
128
187
  readonly listZones: (input?: ListZonesInput$1) => Promise<ReadonlyArray<Zone$1>>;
129
188
  readonly listTargets: (input?: ListTargetsInput) => Promise<ReadonlyArray<ProviderTarget>>;
130
- readonly resolveTarget: (domain: DomainName) => Promise<Resolution>;
189
+ readonly resolveTarget: (domain: DomainName) => Promise<Resolution$1>;
131
190
  readonly validateToken: () => Promise<TokenValidation>;
132
191
  }
133
192
  /** Creates a Promise-compatible facade over the Effect-native Vercel client. */
@@ -315,5 +374,5 @@ declare function make(options?: Options): AsyncInterface$1;
315
374
  /** The current package version from the package manifest. */
316
375
  declare const VERSION: string;
317
376
  //#endregion
318
- export { 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, managed_dns_connections_d_exports as ManagedDnsConnections, provider_auth_d_exports as ProviderAuth, provider_context_d_exports as ProviderContext, selection_d_exports as ProviderDiscovery, provider_session_d_exports as ProviderSession, 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 };
377
+ export { 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, 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, managed_dns_connections_d_exports as ManagedDnsConnections, provider_auth_d_exports as ProviderAuth, provider_context_d_exports as ProviderContext, selection_d_exports as ProviderDiscovery, provider_session_d_exports as ProviderSession, 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 };
319
378
  //# sourceMappingURL=promise.d.mts.map