domainkit 0.7.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.
package/README.md CHANGED
@@ -21,16 +21,15 @@ import { Digest, DnsRecord, DomainName, Provisioning } from "domainkit";
21
21
  import { InMemoryDnsProvider } from "domainkit/testing";
22
22
  import { Effect, Layer } from "effect";
23
23
 
24
- const requirement = DnsRecord.parse({
25
- _tag: "CNAME",
24
+ const requirement = DnsRecord.Cname({
26
25
  metadata: {
27
26
  ownership: "customer",
28
27
  provenance: "product-onboarding",
29
28
  purpose: "tracking",
30
29
  },
31
- name: "track.example.com",
30
+ name: DomainName.parse("track.example.com"),
32
31
  policy: "exclusive",
33
- target: "tracking.example.net",
32
+ target: DomainName.parse("tracking.example.net"),
34
33
  ttl: 300,
35
34
  });
36
35
 
@@ -49,6 +48,10 @@ const program = Effect.gen(function* () {
49
48
  Planning is additive and fail-closed: exact records become no-ops, missing records become creates,
50
49
  and incompatible state becomes a conflict. DomainKit never silently overwrites DNS.
51
50
 
51
+ Tagged values use callable case constructors such as `DnsRecord.Txt({...})` and
52
+ `DnsPlan.Operation.create({...})`; use the exported schemas when decoding persisted or provider
53
+ data.
54
+
52
55
  ## Public entry points
53
56
 
54
57
  - `domainkit` — Effect services, schemas, plans, providers, and verification;
@@ -8,17 +8,17 @@ declare const Error_base$3: Schema.Class<Error$3, Schema.TaggedStruct<"InvalidIn
8
8
  }>, import("effect/Cause").YieldableError>;
9
9
  declare class Error$3 extends Error_base$3 {}
10
10
  declare namespace domain_name_d_exports {
11
- export { DomainName, Schema$4 as Schema, decode$5 as decode, parse$1 as parse };
11
+ export { DomainName, Schema$3 as Schema, decode$5 as decode, parse$1 as parse };
12
12
  }
13
13
  declare const Type$1: Schema.brand<Schema.String, "DomainName">;
14
14
  /** A lower-case, fully qualified DNS name without a trailing dot. */
15
15
  type DomainName = typeof Type$1.Type;
16
16
  /** Decodes user and wire strings into canonical domain names. */
17
- declare const Schema$4: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
17
+ declare const Schema$3: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
18
18
  declare const decode$5: (input: unknown) => Effect.Effect<string & import("effect/Brand").Brand<"DomainName">, Error$3, never>;
19
19
  declare function parse$1(input: unknown): DomainName;
20
20
  declare namespace dns_record_d_exports {
21
- export { A, Aaaa, Caa, Cname, DnsRecord, Encoded, Mx, Ns, Observed, Opaque, RequirementMetadata, Schema$3 as Schema, Srv, Txt, Type, data, decode$4 as decode, equals, parse };
21
+ export { A, Aaaa, Caa, Cname, DnsRecord, Encoded, Mx, Ns, Observed, Opaque, RequirementMetadata, RecordSchema as Schema, Srv, Txt, Type, data, decode$4 as decode, equals, parse };
22
22
  }
23
23
  declare const Type: Schema.Literals<readonly ["A", "AAAA", "CNAME", "TXT", "MX", "CAA", "NS", "SRV"]>;
24
24
  type Type = typeof Type.Type;
@@ -28,7 +28,7 @@ declare const RequirementMetadata: Schema.Struct<{
28
28
  readonly purpose: Schema.String;
29
29
  }>;
30
30
  interface RequirementMetadata extends Schema.Schema.Type<typeof RequirementMetadata> {}
31
- declare const Schema$3: Schema.TaggedUnion<{
31
+ declare const RecordSchema: Schema.TaggedUnion<{
32
32
  readonly A: Schema.TaggedStruct<"A", {
33
33
  readonly metadata: Schema.Struct<{
34
34
  readonly ownership: Schema.String;
@@ -124,102 +124,249 @@ declare const Schema$3: Schema.TaggedUnion<{
124
124
  readonly value: Schema.String;
125
125
  }>;
126
126
  }>;
127
- declare const A: Schema.TaggedStruct<"A", {
128
- readonly metadata: Schema.Struct<{
129
- readonly ownership: Schema.String;
130
- readonly provenance: Schema.String;
131
- readonly purpose: Schema.String;
127
+ /** Constructs an A record requirement from trusted application data. */
128
+ declare function A(input: Parameters<typeof RecordSchema.cases.A.make>[0]): {
129
+ readonly _tag: "A";
130
+ readonly metadata: {
131
+ readonly ownership: string;
132
+ readonly provenance: string;
133
+ readonly purpose: string;
134
+ };
135
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
136
+ readonly policy: "append" | "exclusive";
137
+ readonly ttl: number | null;
138
+ readonly address: string;
139
+ };
140
+ declare namespace A {
141
+ const Schema: Schema.TaggedStruct<"A", {
142
+ readonly metadata: Schema.Struct<{
143
+ readonly ownership: Schema.String;
144
+ readonly provenance: Schema.String;
145
+ readonly purpose: Schema.String;
146
+ }>;
147
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
148
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
149
+ readonly ttl: Schema.NullOr<Schema.Int>;
150
+ readonly address: Schema.String;
132
151
  }>;
133
- readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
134
- readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
135
- readonly ttl: Schema.NullOr<Schema.Int>;
136
- readonly address: Schema.String;
137
- }>, Aaaa: Schema.TaggedStruct<"AAAA", {
138
- readonly metadata: Schema.Struct<{
139
- readonly ownership: Schema.String;
140
- readonly provenance: Schema.String;
141
- readonly purpose: Schema.String;
152
+ }
153
+ /** Constructs an AAAA record requirement from trusted application data. */
154
+ declare function Aaaa(input: Parameters<typeof RecordSchema.cases.AAAA.make>[0]): {
155
+ readonly _tag: "AAAA";
156
+ readonly metadata: {
157
+ readonly ownership: string;
158
+ readonly provenance: string;
159
+ readonly purpose: string;
160
+ };
161
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
162
+ readonly policy: "append" | "exclusive";
163
+ readonly ttl: number | null;
164
+ readonly address: string;
165
+ };
166
+ declare namespace Aaaa {
167
+ const Schema: Schema.TaggedStruct<"AAAA", {
168
+ readonly metadata: Schema.Struct<{
169
+ readonly ownership: Schema.String;
170
+ readonly provenance: Schema.String;
171
+ readonly purpose: Schema.String;
172
+ }>;
173
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
174
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
175
+ readonly ttl: Schema.NullOr<Schema.Int>;
176
+ readonly address: Schema.String;
142
177
  }>;
143
- readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
144
- readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
145
- readonly ttl: Schema.NullOr<Schema.Int>;
146
- readonly address: Schema.String;
147
- }>, Caa: Schema.TaggedStruct<"CAA", {
148
- readonly metadata: Schema.Struct<{
149
- readonly ownership: Schema.String;
150
- readonly provenance: Schema.String;
151
- readonly purpose: Schema.String;
178
+ }
179
+ /** Constructs a CAA record requirement from trusted application data. */
180
+ declare function Caa(input: Parameters<typeof RecordSchema.cases.CAA.make>[0]): {
181
+ readonly _tag: "CAA";
182
+ readonly metadata: {
183
+ readonly ownership: string;
184
+ readonly provenance: string;
185
+ readonly purpose: string;
186
+ };
187
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
188
+ readonly policy: "append" | "exclusive";
189
+ readonly ttl: number | null;
190
+ readonly flags: number;
191
+ readonly tag: "iodef" | "issue" | "issuewild";
192
+ readonly value: string;
193
+ };
194
+ declare namespace Caa {
195
+ const Schema: Schema.TaggedStruct<"CAA", {
196
+ readonly metadata: Schema.Struct<{
197
+ readonly ownership: Schema.String;
198
+ readonly provenance: Schema.String;
199
+ readonly purpose: Schema.String;
200
+ }>;
201
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
202
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
203
+ readonly ttl: Schema.NullOr<Schema.Int>;
204
+ readonly flags: Schema.Int;
205
+ readonly tag: Schema.Literals<readonly ["issue", "issuewild", "iodef"]>;
206
+ readonly value: Schema.String;
152
207
  }>;
153
- readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
154
- readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
155
- readonly ttl: Schema.NullOr<Schema.Int>;
156
- readonly flags: Schema.Int;
157
- readonly tag: Schema.Literals<readonly ["issue", "issuewild", "iodef"]>;
158
- readonly value: Schema.String;
159
- }>, Cname: Schema.TaggedStruct<"CNAME", {
160
- readonly metadata: Schema.Struct<{
161
- readonly ownership: Schema.String;
162
- readonly provenance: Schema.String;
163
- readonly purpose: Schema.String;
208
+ }
209
+ /** Constructs a CNAME record requirement from trusted application data. */
210
+ declare function Cname(input: Parameters<typeof RecordSchema.cases.CNAME.make>[0]): {
211
+ readonly _tag: "CNAME";
212
+ readonly metadata: {
213
+ readonly ownership: string;
214
+ readonly provenance: string;
215
+ readonly purpose: string;
216
+ };
217
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
218
+ readonly ttl: number | null;
219
+ readonly policy: "exclusive";
220
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
221
+ };
222
+ declare namespace Cname {
223
+ const Schema: Schema.TaggedStruct<"CNAME", {
224
+ readonly metadata: Schema.Struct<{
225
+ readonly ownership: Schema.String;
226
+ readonly provenance: Schema.String;
227
+ readonly purpose: Schema.String;
228
+ }>;
229
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
230
+ readonly ttl: Schema.NullOr<Schema.Int>;
231
+ readonly policy: Schema.Literal<"exclusive">;
232
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
164
233
  }>;
165
- readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
166
- readonly ttl: Schema.NullOr<Schema.Int>;
167
- readonly policy: Schema.Literal<"exclusive">;
168
- readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
169
- }>, Mx: Schema.TaggedStruct<"MX", {
170
- readonly metadata: Schema.Struct<{
171
- readonly ownership: Schema.String;
172
- readonly provenance: Schema.String;
173
- readonly purpose: Schema.String;
234
+ }
235
+ /** Constructs an MX record requirement from trusted application data. */
236
+ declare function Mx(input: Parameters<typeof RecordSchema.cases.MX.make>[0]): {
237
+ readonly _tag: "MX";
238
+ readonly metadata: {
239
+ readonly ownership: string;
240
+ readonly provenance: string;
241
+ readonly purpose: string;
242
+ };
243
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
244
+ readonly policy: "append" | "exclusive";
245
+ readonly ttl: number | null;
246
+ readonly exchange: string & import("effect/Brand").Brand<"DomainName">;
247
+ readonly priority: number;
248
+ };
249
+ declare namespace Mx {
250
+ const Schema: Schema.TaggedStruct<"MX", {
251
+ readonly metadata: Schema.Struct<{
252
+ readonly ownership: Schema.String;
253
+ readonly provenance: Schema.String;
254
+ readonly purpose: Schema.String;
255
+ }>;
256
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
257
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
258
+ readonly ttl: Schema.NullOr<Schema.Int>;
259
+ readonly exchange: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
260
+ readonly priority: Schema.Int;
174
261
  }>;
175
- readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
176
- readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
177
- readonly ttl: Schema.NullOr<Schema.Int>;
178
- readonly exchange: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
179
- readonly priority: Schema.Int;
180
- }>, Ns: Schema.TaggedStruct<"NS", {
181
- readonly metadata: Schema.Struct<{
182
- readonly ownership: Schema.String;
183
- readonly provenance: Schema.String;
184
- readonly purpose: Schema.String;
262
+ }
263
+ /** Constructs an NS record requirement from trusted application data. */
264
+ declare function Ns(input: Parameters<typeof RecordSchema.cases.NS.make>[0]): {
265
+ readonly _tag: "NS";
266
+ readonly metadata: {
267
+ readonly ownership: string;
268
+ readonly provenance: string;
269
+ readonly purpose: string;
270
+ };
271
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
272
+ readonly policy: "append" | "exclusive";
273
+ readonly ttl: number | null;
274
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
275
+ };
276
+ declare namespace Ns {
277
+ const Schema: Schema.TaggedStruct<"NS", {
278
+ readonly metadata: Schema.Struct<{
279
+ readonly ownership: Schema.String;
280
+ readonly provenance: Schema.String;
281
+ readonly purpose: Schema.String;
282
+ }>;
283
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
284
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
285
+ readonly ttl: Schema.NullOr<Schema.Int>;
286
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
185
287
  }>;
186
- readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
187
- readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
188
- readonly ttl: Schema.NullOr<Schema.Int>;
189
- readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
190
- }>, Srv: Schema.TaggedStruct<"SRV", {
191
- readonly metadata: Schema.Struct<{
192
- readonly ownership: Schema.String;
193
- readonly provenance: Schema.String;
194
- readonly purpose: Schema.String;
288
+ }
289
+ /** Constructs an SRV record requirement from trusted application data. */
290
+ declare function Srv(input: Parameters<typeof RecordSchema.cases.SRV.make>[0]): {
291
+ readonly _tag: "SRV";
292
+ readonly metadata: {
293
+ readonly ownership: string;
294
+ readonly provenance: string;
295
+ readonly purpose: string;
296
+ };
297
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
298
+ readonly policy: "append" | "exclusive";
299
+ readonly ttl: number | null;
300
+ readonly port: number;
301
+ readonly priority: number;
302
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
303
+ readonly weight: number;
304
+ };
305
+ declare namespace Srv {
306
+ const Schema: Schema.TaggedStruct<"SRV", {
307
+ readonly metadata: Schema.Struct<{
308
+ readonly ownership: Schema.String;
309
+ readonly provenance: Schema.String;
310
+ readonly purpose: Schema.String;
311
+ }>;
312
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
313
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
314
+ readonly ttl: Schema.NullOr<Schema.Int>;
315
+ readonly port: Schema.Int;
316
+ readonly priority: Schema.Int;
317
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
318
+ readonly weight: Schema.Int;
195
319
  }>;
196
- readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
197
- readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
198
- readonly ttl: Schema.NullOr<Schema.Int>;
199
- readonly port: Schema.Int;
200
- readonly priority: Schema.Int;
201
- readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
202
- readonly weight: Schema.Int;
203
- }>, Txt: Schema.TaggedStruct<"TXT", {
204
- readonly metadata: Schema.Struct<{
205
- readonly ownership: Schema.String;
206
- readonly provenance: Schema.String;
207
- readonly purpose: Schema.String;
320
+ }
321
+ /** Constructs a TXT record requirement from trusted application data. */
322
+ declare function Txt(input: Parameters<typeof RecordSchema.cases.TXT.make>[0]): {
323
+ readonly _tag: "TXT";
324
+ readonly metadata: {
325
+ readonly ownership: string;
326
+ readonly provenance: string;
327
+ readonly purpose: string;
328
+ };
329
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
330
+ readonly policy: "append" | "exclusive";
331
+ readonly ttl: number | null;
332
+ readonly value: string;
333
+ };
334
+ declare namespace Txt {
335
+ const Schema: Schema.TaggedStruct<"TXT", {
336
+ readonly metadata: Schema.Struct<{
337
+ readonly ownership: Schema.String;
338
+ readonly provenance: Schema.String;
339
+ readonly purpose: Schema.String;
340
+ }>;
341
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
342
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
343
+ readonly ttl: Schema.NullOr<Schema.Int>;
344
+ readonly value: Schema.String;
208
345
  }>;
209
- readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
210
- readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
211
- readonly ttl: Schema.NullOr<Schema.Int>;
212
- readonly value: Schema.String;
213
- }>;
214
- type DnsRecord = typeof Schema$3.Type;
215
- type Encoded = typeof Schema$3.Encoded;
346
+ }
347
+ type DnsRecord = typeof RecordSchema.Type;
348
+ type Encoded = typeof RecordSchema.Encoded;
216
349
  /** Provider state that DomainKit cannot create but must retain for safe reconciliation. */
217
- declare const Opaque: Schema.TaggedStruct<"Opaque", {
350
+ declare const OpaqueSchema: Schema.TaggedStruct<"Opaque", {
218
351
  readonly name: Schema.String;
219
352
  readonly providerRecordId: Schema.NullOr<Schema.String>;
220
353
  readonly providerType: Schema.String;
221
354
  }>;
222
- interface Opaque extends Schema.Schema.Type<typeof Opaque> {}
355
+ /** Constructs an opaque provider record from trusted adapter data. */
356
+ declare function Opaque(input: Parameters<typeof OpaqueSchema.make>[0]): {
357
+ readonly _tag: "Opaque";
358
+ readonly name: string;
359
+ readonly providerRecordId: string | null;
360
+ readonly providerType: string;
361
+ };
362
+ declare namespace Opaque {
363
+ const Schema: Schema.TaggedStruct<"Opaque", {
364
+ readonly name: Schema.String;
365
+ readonly providerRecordId: Schema.NullOr<Schema.String>;
366
+ readonly providerType: Schema.String;
367
+ }>;
368
+ }
369
+ interface Opaque extends Schema.Schema.Type<typeof OpaqueSchema> {}
223
370
  /** Any DNS record observed through a provider, including non-portable record types. */
224
371
  declare const Observed: Schema.Union<readonly [Schema.TaggedUnion<{
225
372
  readonly A: Schema.TaggedStruct<"A", {
@@ -476,7 +623,7 @@ declare const make: typeof Value.from;
476
623
  declare namespace manifest_d_exports {
477
624
  export { AsyncOAuthSubjectResolver, IntegrationMethod, Manifest, Method$1 as Method, OAuthClientConfiguration, OAuthMethod, OAuthSubjectResolver, Schema$2 as Schema, TokenValidation, decode$3 as decode };
478
625
  }
479
- declare const Method$1: Schema.TaggedUnion<{
626
+ declare const MethodSchema: Schema.TaggedUnion<{
480
627
  readonly integration: Schema.TaggedStruct<"integration", {
481
628
  readonly capabilities: Schema.$Array<Schema.Literals<readonly ["dns:read", "dns:write"]>>;
482
629
  readonly installUrl: Schema.String;
@@ -498,6 +645,55 @@ declare const Method$1: Schema.TaggedUnion<{
498
645
  readonly instructionsUrl: Schema.String;
499
646
  }>;
500
647
  }>;
648
+ /** Provider authentication method schema and constructors for trusted manifests. */
649
+ declare const Method$1: {
650
+ Schema: Schema.TaggedUnion<{
651
+ readonly integration: Schema.TaggedStruct<"integration", {
652
+ readonly capabilities: Schema.$Array<Schema.Literals<readonly ["dns:read", "dns:write"]>>;
653
+ readonly installUrl: Schema.String;
654
+ readonly tokenEndpoint: Schema.String;
655
+ }>;
656
+ readonly oauth2: Schema.TaggedStruct<"oauth2", {
657
+ readonly authorizationServer: Schema.Struct<{
658
+ readonly authorization_endpoint: Schema.String;
659
+ readonly issuer: Schema.String;
660
+ readonly revocation_endpoint: Schema.optionalKey<Schema.String>;
661
+ readonly token_endpoint: Schema.String;
662
+ }>;
663
+ readonly capabilities: Schema.$Array<Schema.Literals<readonly ["dns:read", "dns:write"]>>;
664
+ readonly clientAuth: Schema.Literals<readonly ["none", "client_secret_basic", "client_secret_post"]>;
665
+ readonly scopes: Schema.$Array<Schema.String>;
666
+ }>;
667
+ readonly token: Schema.TaggedStruct<"token", {
668
+ readonly capabilities: Schema.$Array<Schema.Literals<readonly ["dns:read", "dns:write"]>>;
669
+ readonly instructionsUrl: Schema.String;
670
+ }>;
671
+ }>;
672
+ integration: (input: Parameters<typeof MethodSchema.cases.integration.make>[0]) => {
673
+ readonly _tag: "integration";
674
+ readonly capabilities: readonly ("dns:read" | "dns:write")[];
675
+ readonly installUrl: string;
676
+ readonly tokenEndpoint: string;
677
+ };
678
+ oauth2: (input: Parameters<typeof MethodSchema.cases.oauth2.make>[0]) => {
679
+ readonly _tag: "oauth2";
680
+ readonly authorizationServer: {
681
+ readonly authorization_endpoint: string;
682
+ readonly issuer: string;
683
+ readonly revocation_endpoint?: string;
684
+ readonly token_endpoint: string;
685
+ };
686
+ readonly capabilities: readonly ("dns:read" | "dns:write")[];
687
+ readonly clientAuth: "client_secret_basic" | "client_secret_post" | "none";
688
+ readonly scopes: readonly string[];
689
+ };
690
+ token: (input: Parameters<typeof MethodSchema.cases.token.make>[0]) => {
691
+ readonly _tag: "token";
692
+ readonly capabilities: readonly ("dns:read" | "dns:write")[];
693
+ readonly instructionsUrl: string;
694
+ };
695
+ };
696
+ type Method$1 = typeof MethodSchema.Type;
501
697
  declare const Schema$2: Schema.Struct<{
502
698
  readonly methods: Schema.$Array<Schema.TaggedUnion<{
503
699
  readonly integration: Schema.TaggedStruct<"integration", {
@@ -1397,5 +1593,5 @@ declare const start: (input: BaseInput & {
1397
1593
  declare const complete: (input: CompleteInput) => Effect.Effect<ProviderConnection, Error$1 | AuthenticationFailure, Crypto.Crypto | Service>;
1398
1594
  type Failure = AuthenticationFailure | Error$1 | CryptoError;
1399
1595
  //#endregion
1400
- export { Schema$2 as $, ConnectionStatus as A, Schema$4 as At, project as B, ConnectInput as C, Txt as Ct, Interface as D, equals as Dt, Error$1 as E, dns_record_d_exports as Et, StoredConnection as F, authorization_d_exports as G, Capability as H, StoredCredential as I, Manifest as J, AsyncOAuthSubjectResolver as K, authorizationError as L, ProviderConnection as M, parse$1 as Mt, ProviderTarget as N, Error$3 as Nt, Service as O, parse as Ot, ProviderTargetEvidence as P, invalid_input_d_exports as Pt, OAuthSubjectResolver as Q, decode$1 as R, AttachmentResult as S, Srv as St, DisconnectResult as T, data as Tt, CapabilityEvidence as U, validate as V, ProviderAuthorization as W, OAuthClientConfiguration as X, Method$1 as Y, OAuthMethod as Z, provider_context_d_exports as _, Ns as _t, Continuation as a, CreateResult as at, Aggregate as b, RequirementMetadata as bt, Failure as c, Service$1 as ct, Method as d, Aaaa as dt, TokenValidation as et, StartResult as f, Caa as ft, Envelope as g, Mx as gt, Codec as h, Encoded as ht, CompleteInput as i, AsyncInterface as it, DomainAttachment as j, domain_name_d_exports as jt, AuthorizationError as k, DomainName as kt, InteractiveFlow as l, provider_d_exports as lt, start as m, DnsRecord as mt, AuthenticationFailure as n, Value as nt, ContinuationStore as o, Error$2 as ot, complete as p, Cname as pt, IntegrationMethod as q, BaseInput as r, secret_d_exports as rt, Error as s, Interface$1 as st, Authentication as t, manifest_d_exports as tt, InteractiveStart as u, A as ut, CryptoError as v, Observed as vt, DetachResult as w, Type as wt, AggregateSchema as x, Schema$3 as xt, canonical_json_d_exports as y, Opaque as yt, encode$1 as z };
1401
- //# sourceMappingURL=connect-10vHuShV.d.mts.map
1596
+ export { Schema$2 as $, ConnectionStatus as A, Schema$3 as At, project as B, ConnectInput as C, Txt as Ct, Interface as D, equals as Dt, Error$1 as E, dns_record_d_exports as Et, StoredConnection as F, authorization_d_exports as G, Capability as H, StoredCredential as I, Manifest as J, AsyncOAuthSubjectResolver as K, authorizationError as L, ProviderConnection as M, parse$1 as Mt, ProviderTarget as N, Error$3 as Nt, Service as O, parse as Ot, ProviderTargetEvidence as P, invalid_input_d_exports as Pt, OAuthSubjectResolver as Q, decode$1 as R, AttachmentResult as S, Srv as St, DisconnectResult as T, data as Tt, CapabilityEvidence as U, validate as V, ProviderAuthorization as W, OAuthClientConfiguration as X, Method$1 as Y, OAuthMethod as Z, provider_context_d_exports as _, Ns as _t, Continuation as a, CreateResult as at, Aggregate as b, RecordSchema as bt, Failure as c, Service$1 as ct, Method as d, Aaaa as dt, TokenValidation as et, StartResult as f, Caa as ft, Envelope as g, Mx as gt, Codec as h, Encoded as ht, CompleteInput as i, AsyncInterface as it, DomainAttachment as j, domain_name_d_exports as jt, AuthorizationError as k, DomainName as kt, InteractiveFlow as l, provider_d_exports as lt, start as m, DnsRecord as mt, AuthenticationFailure as n, Value as nt, ContinuationStore as o, Error$2 as ot, complete as p, Cname as pt, IntegrationMethod as q, BaseInput as r, secret_d_exports as rt, Error as s, Interface$1 as st, Authentication as t, manifest_d_exports as tt, InteractiveStart as u, A as ut, CryptoError as v, Observed as vt, DetachResult as w, Type as wt, AggregateSchema as x, RequirementMetadata as xt, canonical_json_d_exports as y, Opaque as yt, encode$1 as z };
1597
+ //# sourceMappingURL=connect-D-X8T9W8.d.mts.map
@@ -1,4 +1,4 @@
1
- import { A as ConnectionStatus, C as ConnectInput, D as Interface, E as Error, F as StoredConnection, H as Capability, I as StoredCredential, L as authorizationError, M as ProviderConnection, N as ProviderTarget, O as Service, P as ProviderTargetEvidence, S as AttachmentResult, T as DisconnectResult, U as CapabilityEvidence, V as validate, W as ProviderAuthorization, a as Continuation, b as Aggregate, c as Failure, d as Method$1, f as StartResult, i as CompleteInput, j as DomainAttachment, k as AuthorizationError, l as InteractiveFlow$1, n as AuthenticationFailure, nt as Value, r as BaseInput, s as Error$1, t as Authentication, u as InteractiveStart, w as DetachResult, z as encode } from "./connect-10vHuShV.mjs";
1
+ import { A as ConnectionStatus, C as ConnectInput, D as Interface, E as Error, F as StoredConnection, H as Capability, I as StoredCredential, L as authorizationError, M as ProviderConnection, N as ProviderTarget, O as Service, P as ProviderTargetEvidence, S as AttachmentResult, T as DisconnectResult, U as CapabilityEvidence, V as validate, W as ProviderAuthorization, a as Continuation, b as Aggregate, c as Failure, d as Method$1, f as StartResult, i as CompleteInput, j as DomainAttachment, k as AuthorizationError, l as InteractiveFlow$1, n as AuthenticationFailure, nt as Value, r as BaseInput, s as Error$1, t as Authentication, u as InteractiveStart, w as DetachResult, z as encode } from "./connect-D-X8T9W8.mjs";
2
2
  import { Data, Layer } from "effect";
3
3
  declare namespace managed_dns_connections_d_exports {
4
4
  export { AsyncInterface, AttachmentResult, DetachResult, DisconnectResult, Error, from, layerFromAsync, toAsync };
@@ -183,4 +183,4 @@ declare function disconnect(input: {
183
183
  }): Promise<DisconnectResult>;
184
184
  //#endregion
185
185
  export { managed_dns_connections_d_exports as a, AsyncInterface as i, Method as n, connection_d_exports as r, InteractiveFlow as t };
186
- //# sourceMappingURL=connection-C0xsU41C.d.mts.map
186
+ //# sourceMappingURL=connection-Dp6ZdSo8.d.mts.map
@@ -1,4 +1,4 @@
1
- import { A as ConnectionStatus, B as project, E as Error, L as authorizationError, M as ProviderConnection, N as ProviderTarget, O as Service, P as ProviderTargetEvidence, R as decode, S as AttachmentResult, T as DisconnectResult, V as validate, W as ProviderAuthorization, a as Continuation, c as Failure, d as Method, f as StartResult, i as CompleteInput, j as DomainAttachment, k as AuthorizationError, l as InteractiveFlow, m as start, n as AuthenticationFailure, o as ContinuationStore, p as complete, r as BaseInput, s as Error$1, t as Authentication, u as InteractiveStart, w as DetachResult, z as encode } from "./connect-10vHuShV.mjs";
1
+ import { A as ConnectionStatus, B as project, E as Error, L as authorizationError, M as ProviderConnection, N as ProviderTarget, O as Service, P as ProviderTargetEvidence, R as decode, S as AttachmentResult, T as DisconnectResult, V as validate, W as ProviderAuthorization, a as Continuation, c as Failure, d as Method, f as StartResult, i as CompleteInput, j as DomainAttachment, k as AuthorizationError, l as InteractiveFlow, m as start, n as AuthenticationFailure, o as ContinuationStore, p as complete, r as BaseInput, s as Error$1, t as Authentication, u as InteractiveStart, w as DetachResult, z as encode } from "./connect-D-X8T9W8.mjs";
2
2
  import { Effect } from "effect";
3
3
  //#region src/auth/connection-lifecycle.d.ts
4
4
  /** Attach one exact provider target to one organization domain. */
@@ -23,4 +23,4 @@ declare namespace connection_api_d_exports {
23
23
  }
24
24
  //#endregion
25
25
  export { connection_api_d_exports as t };
26
- //# sourceMappingURL=connection-api-DW7xUJdj.d.mts.map
26
+ //# sourceMappingURL=connection-api-lqG1nBtD.d.mts.map