@hasna/domains 0.0.47 → 0.1.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 (55) hide show
  1. package/README.md +58 -34
  2. package/dist/cli/commands/dns.d.ts.map +1 -1
  3. package/dist/cli/commands/doctor.d.ts.map +1 -1
  4. package/dist/cli/commands/serve.d.ts +1 -0
  5. package/dist/cli/commands/serve.d.ts.map +1 -1
  6. package/dist/cli/index.js +4754 -2105
  7. package/dist/db/database.d.ts +6 -23
  8. package/dist/db/database.d.ts.map +1 -1
  9. package/dist/db/domains.d.ts +3 -14
  10. package/dist/db/domains.d.ts.map +1 -1
  11. package/dist/db/store.d.ts +36 -32
  12. package/dist/db/store.d.ts.map +1 -1
  13. package/dist/generated/storage-kit/backend.d.ts +4 -4
  14. package/dist/generated/storage-kit/backend.d.ts.map +1 -1
  15. package/dist/generated/storage-kit/index.d.ts +1 -1
  16. package/dist/generated/storage-kit/index.d.ts.map +1 -1
  17. package/dist/generated/storage-kit/migrations.d.ts.map +1 -1
  18. package/dist/generated/storage-kit/pool.d.ts +2 -5
  19. package/dist/generated/storage-kit/pool.d.ts.map +1 -1
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +1127 -1734
  23. package/dist/lib/app-home.d.ts +32 -44
  24. package/dist/lib/app-home.d.ts.map +1 -1
  25. package/dist/lib/client-storage-policy.d.ts +10 -0
  26. package/dist/lib/client-storage-policy.d.ts.map +1 -0
  27. package/dist/lib/client-types.d.ts +184 -0
  28. package/dist/lib/client-types.d.ts.map +1 -0
  29. package/dist/lib/cloudflare.d.ts.map +1 -1
  30. package/dist/lib/cloudflare.js +23 -0
  31. package/dist/lib/config.d.ts +6 -16
  32. package/dist/lib/config.d.ts.map +1 -1
  33. package/dist/lib/dns-plan.d.ts +1 -1
  34. package/dist/lib/dns-plan.d.ts.map +1 -1
  35. package/dist/lib/domains-resolver.d.ts +96 -0
  36. package/dist/lib/domains-resolver.d.ts.map +1 -0
  37. package/dist/lib/registrar.d.ts +8 -0
  38. package/dist/lib/registrar.d.ts.map +1 -1
  39. package/dist/lib/registrar.js +23 -0
  40. package/dist/mcp/harness.d.ts +46 -0
  41. package/dist/mcp/harness.d.ts.map +1 -0
  42. package/dist/mcp/http.d.ts +3 -2
  43. package/dist/mcp/http.d.ts.map +1 -1
  44. package/dist/mcp/index.d.ts.map +1 -1
  45. package/dist/mcp/index.js +24162 -25378
  46. package/dist/mcp/tool-filter.d.ts +6 -0
  47. package/dist/mcp/tool-filter.d.ts.map +1 -1
  48. package/dist/sdk/index.d.ts +21 -10
  49. package/dist/sdk/index.d.ts.map +1 -1
  50. package/dist/sdk/index.js +813 -275
  51. package/dist/server/index.d.ts +6 -0
  52. package/dist/server/index.d.ts.map +1 -1
  53. package/dist/server/index.js +84 -29
  54. package/package.json +5 -7
  55. package/postinstall.js +13 -14
@@ -1,4 +1,10 @@
1
1
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ /**
3
+ * Tools that DOMAINS_MCP_SAFE_MODE=1 keeps enabled. Every name here must be a
4
+ * tool registered in `./index.ts` — `tool-filter.test.ts` pins that, so a
5
+ * renamed or removed tool cannot leave a dead allow-list entry behind.
6
+ */
7
+ export declare const READ_ONLY_TOOLS: ReadonlySet<string>;
2
8
  export declare function isReadOnlyMcpTool(name: string): boolean;
3
9
  export declare function applySafeModeToolFilter(server: McpServer, env?: Record<string, string | undefined>): void;
4
10
  //# sourceMappingURL=tool-filter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-filter.d.ts","sourceRoot":"","sources":["../../src/mcp/tool-filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0CzE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAqD,GAAG,IAAI,CAgB5J"}
1
+ {"version":3,"file":"tool-filter.d.ts","sourceRoot":"","sources":["../../src/mcp/tool-filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAqC9C,CAAC;AAEH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAqD,GAAG,IAAI,CAgB5J"}
@@ -1,15 +1,26 @@
1
- /**
2
- * @hasna/domains SDK — typed HTTP client generated from the domains-serve
3
- * OpenAPI document (see `src/server/openapi.ts`, regenerate via the `sdk:gen`
4
- * script). Client hosted convention: `DOMAINS_API_URL` + `DOMAINS_API_KEY`
5
- * (a key, never a DSN).
6
- */
7
1
  export * from "./client.js";
2
+ import type { KeychainTierOptions } from "../lib/client-types.js";
8
3
  import { DomainsClient, type DomainsClientOptions } from "./client.js";
4
+ type ClientEnv = Record<string, string | undefined>;
5
+ /** Options accepted on top of the generated client options. */
6
+ export interface CreateDomainsClientOptions extends Partial<DomainsClientOptions> {
7
+ /** Tier-1 identity selection (`--profile`), passed through to the seam. */
8
+ profile?: string;
9
+ /**
10
+ * Tier-3 controls: a `security` runner for tests, or an opt-out on a CI Mac.
11
+ * Production callers pass nothing — the tier is ambient for `process.env`
12
+ * and off for a caller-built env.
13
+ */
14
+ keychain?: KeychainTierOptions;
15
+ }
9
16
  /**
10
- * Build a `DomainsClient` from the environment.
11
- * Resolves `DOMAINS_API_URL` (or `HASNA_DOMAINS_API_URL`) and the API key
12
- * through the @hasna/contracts client credential chain.
17
+ * Build a `DomainsClient` whose credential and base URL come from the shared
18
+ * @hasna/contracts resolver.
19
+ *
20
+ * Throws when no credential resolves from any tier — the SDK never falls back
21
+ * to an unauthenticated client or to local data. An EXPLICIT `baseUrl`
22
+ * argument with no explicit `apiKey` builds an unauthenticated client pinned
23
+ * to that authority: the ambient fleet key is never attached (#1794).
13
24
  */
14
- export declare function createDomainsClientFromEnv(env?: NodeJS.ProcessEnv, overrides?: Partial<DomainsClientOptions>): DomainsClient;
25
+ export declare function createDomainsClientFromEnv(env?: ClientEnv, overrides?: CreateDomainsClientOptions): DomainsClient;
15
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEvE;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,SAAS,GAAE,OAAO,CAAC,oBAAoB,CAAM,GAC5C,aAAa,CAOf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"AAoDA,cAAc,aAAa,CAAC;AAM5B,OAAO,KAAK,EAEV,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEvE,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAEpD,+DAA+D;AAC/D,MAAM,WAAW,0BAA2B,SAAQ,OAAO,CAAC,oBAAoB,CAAC;IAC/E,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,GAAE,SAAuB,EAC5B,SAAS,GAAE,0BAA+B,GACzC,aAAa,CA6Ef"}