domainkit 0.19.0 → 0.20.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.
@@ -162,7 +162,7 @@ declare const Observer_base: Context.Reference<ObserverShape>;
162
162
  */
163
163
  export declare class Observer extends Observer_base {
164
164
  }
165
- /** A requirement is satisfied by an exact match; an exclusive one is contradicted by any same-set record. */
165
+ /** A requirement is satisfied only when its exact match also meets its safety constraints. */
166
166
  export declare const statusAgainst: (record: DnsRecord.Model, observed: ReadonlyArray<DnsRecord.Observed>) => Storage.RequirementStatus;
167
167
  export declare const make: Effect.Effect<Interface, never, Storage.Service | Connect.Service | Resolver.Service>;
168
168
  export declare const layer: Layer.Layer<Service, never, Storage.Service | Connect.Service | Resolver.Service>;
@@ -0,0 +1,11 @@
1
+ import * as DnsRecord from "../DnsRecord.ts";
2
+ import type * as Plan from "../Plan.ts";
3
+ interface Collision {
4
+ readonly reason: Plan.Conflict["reason"];
5
+ readonly existing: ReadonlyArray<DnsRecord.Observed>;
6
+ }
7
+ /** Safety constraints precede exact matches in both planning and observation. */
8
+ export declare const collision: (record: DnsRecord.Model, observed: ReadonlyArray<DnsRecord.Observed>) => Collision | undefined;
9
+ /** Both sides' constraints apply, regardless of requirement order or canonical sorting. */
10
+ export declare const projectedCollision: (record: DnsRecord.Model, requirements: ReadonlyArray<DnsRecord.Model>) => Collision | undefined;
11
+ export {};
@@ -0,0 +1,2 @@
1
+ /** RFC 7208 version selection only; full SPF policy validation belongs to the host. */
2
+ export declare const isSpf: (value: string) => boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "domainkit",
3
- "version": "0.19.0",
3
+ "version": "0.20.0",
4
4
  "description": "Build reviewable DNS plans for custom domains in TypeScript",
5
5
  "keywords": [
6
6
  "custom-domains",
@@ -143,9 +143,9 @@
143
143
  "tldts": "^7.4.11"
144
144
  },
145
145
  "devDependencies": {
146
- "@effect/vitest": "4.0.0-rc.117",
146
+ "@effect/vitest": "4.0.0",
147
147
  "@types/bun": "1.4.0",
148
- "effect": "4.0.0-rc.117",
148
+ "effect": "4.0.0",
149
149
  "miniflare": "3.20250718.3",
150
150
  "tsdown": "0.22.14",
151
151
  "typescript": "7.0.2",
@@ -153,7 +153,7 @@
153
153
  "vitest": "5.0.1"
154
154
  },
155
155
  "peerDependencies": {
156
- "effect": ">=4.0.0-rc.117 <5.0.0"
156
+ "effect": ">=4.0.0 <5.0.0"
157
157
  },
158
158
  "engines": {
159
159
  "node": ">=24.10.0"