@hasna/domains 0.0.35 → 0.0.37

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 (48) hide show
  1. package/README.md +75 -22
  2. package/dist/cli/commands/alerts.d.ts.map +1 -1
  3. package/dist/cli/commands/brandsight.d.ts.map +1 -1
  4. package/dist/cli/commands/config.d.ts.map +1 -1
  5. package/dist/cli/commands/db.d.ts.map +1 -1
  6. package/dist/cli/commands/dns.d.ts.map +1 -1
  7. package/dist/cli/commands/doctor.d.ts.map +1 -1
  8. package/dist/cli/commands/domain.d.ts.map +1 -1
  9. package/dist/cli/commands/history.d.ts.map +1 -1
  10. package/dist/cli/commands/interactive.d.ts +7 -1
  11. package/dist/cli/commands/interactive.d.ts.map +1 -1
  12. package/dist/cli/commands/mcp-install.d.ts.map +1 -1
  13. package/dist/cli/commands/monitor.d.ts.map +1 -1
  14. package/dist/cli/commands/outreach.d.ts.map +1 -1
  15. package/dist/cli/commands/owner.d.ts.map +1 -1
  16. package/dist/cli/commands/provider.d.ts.map +1 -1
  17. package/dist/cli/commands/providers.d.ts.map +1 -1
  18. package/dist/cli/commands/provision.d.ts.map +1 -1
  19. package/dist/cli/commands/reconcile-expiry.d.ts +3 -0
  20. package/dist/cli/commands/reconcile-expiry.d.ts.map +1 -0
  21. package/dist/cli/commands/research.d.ts.map +1 -1
  22. package/dist/cli/commands/route53.d.ts.map +1 -1
  23. package/dist/cli/commands/sedo.d.ts.map +1 -1
  24. package/dist/cli/commands/serve.d.ts.map +1 -1
  25. package/dist/cli/commands/ssl.d.ts.map +1 -1
  26. package/dist/cli/commands/wallet.d.ts.map +1 -1
  27. package/dist/cli/commands/zone.d.ts.map +1 -1
  28. package/dist/cli/index.js +7516 -787
  29. package/dist/db/dns-tools.d.ts.map +1 -1
  30. package/dist/db/monitoring.d.ts +7 -1
  31. package/dist/db/monitoring.d.ts.map +1 -1
  32. package/dist/db/store.d.ts +42 -1
  33. package/dist/db/store.d.ts.map +1 -1
  34. package/dist/index.js +6170 -77
  35. package/dist/lib/brandsight.d.ts.map +1 -1
  36. package/dist/lib/compact-output.d.ts +12 -1
  37. package/dist/lib/compact-output.d.ts.map +1 -1
  38. package/dist/lib/expiry-reconcile.d.ts +164 -0
  39. package/dist/lib/expiry-reconcile.d.ts.map +1 -0
  40. package/dist/lib/registrar.js +8 -2
  41. package/dist/lib/stdout.d.ts +54 -0
  42. package/dist/lib/stdout.d.ts.map +1 -0
  43. package/dist/mcp/index.js +6639 -551
  44. package/dist/test/fixtures/resolve-store-probe.d.ts +2 -0
  45. package/dist/test/fixtures/resolve-store-probe.d.ts.map +1 -0
  46. package/dist/test/setup.d.ts +2 -0
  47. package/dist/test/setup.d.ts.map +1 -0
  48. package/package.json +1 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @hasna/domains
2
2
 
3
- Domain portfolio, registrar, marketplace, and DNS management for AI agents CLI + MCP server with SQLite. Core registrar/DNS commands load by default; heavier integrations are optional command groups.
3
+ Domain portfolio, registrar, marketplace, and DNS management for AI agents. The package ships a CLI, MCP server, authenticated HTTP API, generated SDK, and library exports. CLI workflows use local SQLite by default and can use the shared HTTP API in cloud mode; `domains-serve` connects directly to cloud Postgres.
4
4
 
5
5
  ## Features
6
6
 
@@ -24,6 +24,7 @@ Domain portfolio, registrar, marketplace, and DNS management for AI agents — C
24
24
  - **Brand monitoring** — optional typosquat/threat detection via Brandsight API
25
25
  - **MCP server** — Model Context Protocol support for AI agents
26
26
  - **MCP safe mode** — expose read-only tools only with `DOMAINS_MCP_SAFE_MODE=1`
27
+ - **HTTP API + SDK** — authenticated `/v1` API through `domains-serve` and a typed `@hasna/domains/sdk` client
27
28
  - **Interactive TUI** — optional portfolio browser in the terminal with `domains interactive`
28
29
 
29
30
  ## Installation
@@ -40,11 +41,11 @@ The default CLI keeps core portfolio, registrar, DNS, provider, Route 53, doctor
40
41
 
41
42
  ```bash
42
43
  domains extras
43
- DOMAINS_COMMAND_GROUPS=marketplace,storage domains --help
44
+ DOMAINS_COMMAND_GROUPS=marketplace,owner domains --help
44
45
  DOMAINS_ENABLE_EXTRAS=1 domains --help
45
46
  ```
46
47
 
47
- Available groups: `brandsight`, `events`, `history`, `interactive`, `marketplace`, `outreach`, `owner`, `provision`, `research`, `storage`, `wallet`.
48
+ Available groups: `brandsight`, `events`, `history`, `interactive`, `marketplace`, `outreach`, `owner`, `provision`, `research`, `wallet`.
48
49
 
49
50
  ## Quick Start
50
51
 
@@ -229,18 +230,20 @@ domains doctor --json
229
230
 
230
231
  Route 53 sync imports registered domains when the selected AWS account permits `route53domains:ListDomains`, and hosted zones when the account permits Route 53 hosted-zone reads. Domain-looking names from unrelated systems such as SSM parameters or Secrets Manager should only be imported after review because they do not prove registrar ownership.
231
232
 
232
- ## Storage Sync
233
+ ## Storage Modes
233
234
 
234
- Set one of these environment variables to sync with a remote PostgreSQL storage database:
235
+ The CLI and library use local SQLite by default. Client cloud mode is pure HTTP: configure the service URL and API key rather than exposing a database DSN to clients.
235
236
 
236
237
  ```bash
237
- export DOMAINS_DATABASE_URL="postgres://..."
238
-
239
- DOMAINS_COMMAND_GROUPS=storage domains storage status
240
- DOMAINS_COMMAND_GROUPS=storage domains storage push
241
- DOMAINS_COMMAND_GROUPS=storage domains storage pull
238
+ export HASNA_DOMAINS_STORAGE_MODE=cloud
239
+ export HASNA_DOMAINS_API_URL=https://domains.example.com
240
+ export HASNA_DOMAINS_API_KEY=dom_...
242
241
  ```
243
242
 
243
+ The unprefixed `DOMAINS_API_URL` and `DOMAINS_API_KEY` aliases are also accepted. When both URL and key are present, the store selects cloud HTTP automatically unless an explicit storage mode overrides it.
244
+
245
+ The standalone `domains-serve` process is the server-side exception: it connects directly to Postgres using `HASNA_DOMAINS_DATABASE_URL` and requires `HASNA_DOMAINS_API_SIGNING_KEY`. Apply owner-role migrations first with `domains db migrate`.
246
+
244
247
  ## MCP Server
245
248
 
246
249
  ```bash
@@ -255,26 +258,31 @@ Add to your Claude/agent config:
255
258
  {
256
259
  "mcpServers": {
257
260
  "domains": {
258
- "command": "domains-mcp"
261
+ "command": "domains-mcp",
262
+ "args": ["--stdio"]
259
263
  }
260
264
  }
261
265
  }
262
266
  ```
263
267
 
264
- ## HTTP mode
268
+ ## MCP Transports
265
269
 
266
- Long-lived Streamable HTTP transport for shared agent sessions (binds `127.0.0.1` only):
270
+ Streamable HTTP is the default transport for shared agent sessions and binds to `127.0.0.1`:
267
271
 
268
272
  ```bash
269
- domains-mcp --http # default port 8814
270
- domains-mcp --http --port 8814
271
- MCP_HTTP=1 MCP_HTTP_PORT=8814 domains-mcp
273
+ domains-mcp # default port 8859
274
+ domains-mcp --port 9000
275
+ MCP_HTTP_PORT=9000 domains-mcp
272
276
  ```
273
277
 
274
278
  - `GET /health` returns `{"status":"ok","name":"domains"}`
275
279
  - `POST /mcp` is the Streamable HTTP MCP endpoint
276
280
 
277
- Stdio remains the default transport for gradual rollout.
281
+ Use stdio for clients that launch one MCP child process per session:
282
+
283
+ ```bash
284
+ domains-mcp --stdio
285
+ ```
278
286
 
279
287
  For read-only agent sessions:
280
288
 
@@ -283,7 +291,28 @@ DOMAINS_MCP_SAFE_MODE=1 domains-mcp
283
291
  DOMAINS_MCP_SAFE_MODE=1 domains-mcp --http
284
292
  ```
285
293
 
286
- Safe mode registers only read-only/list/check/export tools. Mutating tools such as domain creation, DNS writes, provider sync, Route 53 registration, and storage push/pull are withheld.
294
+ Safe mode registers only read-only/list/check/export tools. Mutating tools such as domain creation, DNS writes, provider sync, and Route 53 registration are withheld.
295
+
296
+ ## HTTP API And SDK
297
+
298
+ `domains-serve` exposes public health, readiness, version, and OpenAPI endpoints plus API-key-authenticated `/v1` portfolio routes. Read operations require the `domains:read` scope; writes require `domains:write`. Send keys through `x-api-key` or `Authorization: Bearer`.
299
+
300
+ ```bash
301
+ domains-serve --host 0.0.0.0 --port 8080
302
+ curl http://127.0.0.1:8080/health
303
+ curl -H "x-api-key: $DOMAINS_API_KEY" http://127.0.0.1:8080/v1/domains
304
+ ```
305
+
306
+ The package also exports the generated client:
307
+
308
+ ```ts
309
+ import { createDomainsClientFromEnv } from "@hasna/domains/sdk";
310
+
311
+ const domains = createDomainsClientFromEnv();
312
+ const portfolio = await domains.listDomains({ status: "active" });
313
+ ```
314
+
315
+ `domains serve` is a separate, unauthenticated local-development server over the local store. Use `domains-serve` for the cloud Postgres API.
287
316
 
288
317
  ## Environment Variables
289
318
 
@@ -298,10 +327,12 @@ Safe mode registers only read-only/list/check/export tools. Mutating tools such
298
327
  | `DOMAINS_COMMAND_GROUPS` | Comma-separated optional command groups to load, or `all` |
299
328
  | `DOMAINS_ENABLE_EXTRAS` | Set to `1` to load all optional command groups |
300
329
  | `DOMAINS_MCP_SAFE_MODE` | Set to `1` to expose only read-only MCP tools |
301
- | `DOMAINS_DATABASE_URL` | Remote storage PostgreSQL database URL |
302
- | `HASNA_DOMAINS_DATABASE_URL` | Legacy remote storage PostgreSQL database URL fallback |
303
- | `DOMAINS_STORAGE_MODE` | Storage mode: `local`, `remote`, or `hybrid` |
304
- | `HASNA_DOMAINS_STORAGE_MODE` | Legacy storage mode fallback |
330
+ | `HASNA_DOMAINS_STORAGE_MODE`, `DOMAINS_STORAGE_MODE` | Client storage mode: `local` or `cloud` |
331
+ | `HASNA_DOMAINS_API_URL`, `DOMAINS_API_URL` | Cloud HTTP API base URL for the CLI/library store |
332
+ | `HASNA_DOMAINS_API_KEY`, `DOMAINS_API_KEY` | Cloud HTTP API key for the CLI/library store and SDK |
333
+ | `HASNA_DOMAINS_ALLOW_CLOUD_WITH_LOCAL_PATH` | Set to `1` to keep the cloud store even though a local path variable is set. Without it that combination is a hard error — see below |
334
+ | `HASNA_DOMAINS_DATABASE_URL` | Server-side Postgres DSN used by `domains-serve` and DB migrations |
335
+ | `HASNA_DOMAINS_API_SIGNING_KEY` | HMAC signing secret used by `domains-serve` to verify API keys |
305
336
  | `AWS_PROFILE` | AWS profile for Route 53 Domains and hosted zones |
306
337
  | `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_SESSION_TOKEN` | AWS credential fallback |
307
338
  | `DOMAINS_PURCHASE_AWS_PROFILE` | Purchase profile fallback when config has no `purchase_aws_profile` |
@@ -317,6 +348,28 @@ Safe mode registers only read-only/list/check/export tools. Mutating tools such
317
348
  | `BRANDSIGHT_DEMO_STUBS`, `BRANDSIGHT_ALLOW_STUBS` | Set either to `1` to allow demo stub responses when the Brandsight API is unreachable |
318
349
  | `SEDO_PARTNER_ID`, `SEDO_API_KEY`, `SEDO_USERNAME`, `SEDO_PASSWORD` | Sedo marketplace API credentials |
319
350
 
351
+ ### Picking a store: a local path and cloud credentials are mutually exclusive
352
+
353
+ `DOMAINS_DB_PATH`, `HASNA_DOMAINS_DB_PATH`, `DOMAINS_DIR` and `HASNA_DOMAINS_DIR` all name a
354
+ **local sqlite file**. Only the local store has one. So setting any of them while
355
+ `HASNA_DOMAINS_API_URL` + `HASNA_DOMAINS_API_KEY` are also set asks for two different stores at
356
+ once, and `getStore()` **refuses to start** rather than pick one for you.
357
+
358
+ This is deliberate. Before it, the combination silently resolved to the cloud store: a script
359
+ that set `DOMAINS_DB_PATH` created no sqlite file, wrote to the remote portfolio, and printed
360
+ success. Nothing on any surface said which store it had used.
361
+
362
+ To resolve it, say which you meant:
363
+
364
+ ```sh
365
+ HASNA_DOMAINS_STORAGE_MODE=local # use the sqlite file the path variable names
366
+ unset DOMAINS_DB_PATH # use the cloud store
367
+ HASNA_DOMAINS_ALLOW_CLOUD_WITH_LOCAL_PATH=1 # keep cloud with the variable present
368
+ ```
369
+
370
+ `domains doctor` names the store it resolved, in its `Store` section, before any other check
371
+ runs. Run it whenever you are unsure which dataset a command is about to touch.
372
+
320
373
  ## License
321
374
 
322
375
  Apache-2.0
@@ -1 +1 @@
1
- {"version":3,"file":"alerts.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/alerts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+D5D"}
1
+ {"version":3,"file":"alerts.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/alerts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+D5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"brandsight.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/brandsight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4FjE"}
1
+ {"version":3,"file":"brandsight.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/brandsight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASzC,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4FjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0D7D"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0D7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkDzD"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkDzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"dns.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/dns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBzC,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,aAA4D,CAAC;AAE7F;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACjE,OAAO,EAAE,CAAC,EAAE,GACX;IAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAW7C;AAoBD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkY1D"}
1
+ {"version":3,"file":"dns.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/dns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBzC,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,aAA4D,CAAC;AAE7F;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACjE,OAAO,EAAE,CAAC,EAAE,GACX;IAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAW7C;AAoBD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkY1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkH5D"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2I5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/domain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiEzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAu3B5D"}
1
+ {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/domain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkEzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAg5B5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+I7D"}
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+I7D"}
@@ -1,4 +1,10 @@
1
1
  import type { Command } from "commander";
2
- export declare function assertInteractiveTty(): void;
2
+ /**
3
+ * `emit` is injectable because the diagnostic now goes to fd 2 directly rather
4
+ * than through `console.error`, and a completed write to a real descriptor is
5
+ * not observable with `spyOn(console, "error")`. Injecting the sink tests what
6
+ * the function says rather than which global it happens to route through.
7
+ */
8
+ export declare function assertInteractiveTty(emit?: (line: string) => void): void;
3
9
  export declare function registerInteractiveCommand(program: Command): void;
4
10
  //# sourceMappingURL=interactive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/interactive.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,oBAAoB,IAAI,IAAI,CAQ3C;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CASjE"}
1
+ {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/interactive.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAE5D,GAAG,IAAI,CAQP;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CASjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mcp-install.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuCzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwGzD"}
1
+ {"version":3,"file":"mcp-install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mcp-install.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwCzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwGzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/monitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6E7D"}
1
+ {"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/monitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6E7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"outreach.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/outreach.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmH9D"}
1
+ {"version":3,"file":"outreach.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/outreach.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmH9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"owner.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/owner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0BzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6U3D"}
1
+ {"version":3,"file":"owner.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/owner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6U3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4L9D"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4L9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoDzC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2J/D"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqDzC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2J/D"}
@@ -1 +1 @@
1
- {"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/provision.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkE/D"}
1
+ {"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/provision.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkE/D"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerReconcileExpiryCommand(program: Command): void;
3
+ //# sourceMappingURL=reconcile-expiry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconcile-expiry.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/reconcile-expiry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgGzC,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiIrE"}
@@ -1 +1 @@
1
- {"version":3,"file":"research.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/research.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwL9D"}
1
+ {"version":3,"file":"research.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/research.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwL9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"route53.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/route53.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0BzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4hB9D"}
1
+ {"version":3,"file":"route53.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/route53.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4hB9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"sedo.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/sedo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwM1D"}
1
+ {"version":3,"file":"sedo.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/sedo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwM1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/serve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuG3D"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/serve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuG3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"ssl.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ssl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+CzD"}
1
+ {"version":3,"file":"ssl.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ssl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+CzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/wallet.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAwCD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6L5D"}
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/wallet.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAwCD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6L5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"zone.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/zone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAezC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyH1D"}
1
+ {"version":3,"file":"zone.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/zone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyH1D"}