@sapiom/tools 0.11.0 → 0.13.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/CHANGELOG.md +16 -0
- package/README.md +4 -3
- package/dist/cjs/_client/capability-call.d.ts +58 -0
- package/dist/cjs/_client/capability-call.d.ts.map +1 -0
- package/dist/cjs/_client/capability-call.js +68 -0
- package/dist/cjs/_client/capability-call.js.map +1 -0
- package/dist/cjs/_client/index.d.ts +1 -0
- package/dist/cjs/_client/index.d.ts.map +1 -1
- package/dist/cjs/_client/index.js +4 -1
- package/dist/cjs/_client/index.js.map +1 -1
- package/dist/cjs/client.d.ts +33 -0
- package/dist/cjs/client.d.ts.map +1 -1
- package/dist/cjs/client.js +16 -0
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/content-generation/index.d.ts +6 -0
- package/dist/cjs/content-generation/index.d.ts.map +1 -1
- package/dist/cjs/content-generation/index.js +32 -20
- package/dist/cjs/content-generation/index.js.map +1 -1
- package/dist/cjs/domains/errors.d.ts +16 -0
- package/dist/cjs/domains/errors.d.ts.map +1 -0
- package/dist/cjs/domains/errors.js +36 -0
- package/dist/cjs/domains/errors.js.map +1 -0
- package/dist/cjs/domains/index.d.ts +297 -0
- package/dist/cjs/domains/index.d.ts.map +1 -0
- package/dist/cjs/domains/index.js +348 -0
- package/dist/cjs/domains/index.js.map +1 -0
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +4 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/search/index.d.ts +6 -1
- package/dist/cjs/search/index.d.ts.map +1 -1
- package/dist/cjs/search/index.js +89 -90
- package/dist/cjs/search/index.js.map +1 -1
- package/dist/cjs/stub/index.d.ts.map +1 -1
- package/dist/cjs/stub/index.js +72 -0
- package/dist/cjs/stub/index.js.map +1 -1
- package/dist/esm/_client/capability-call.d.ts +58 -0
- package/dist/esm/_client/capability-call.d.ts.map +1 -0
- package/dist/esm/_client/capability-call.js +64 -0
- package/dist/esm/_client/capability-call.js.map +1 -0
- package/dist/esm/_client/index.d.ts +1 -0
- package/dist/esm/_client/index.d.ts.map +1 -1
- package/dist/esm/_client/index.js +1 -0
- package/dist/esm/_client/index.js.map +1 -1
- package/dist/esm/client.d.ts +33 -0
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +16 -0
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/content-generation/index.d.ts +6 -0
- package/dist/esm/content-generation/index.d.ts.map +1 -1
- package/dist/esm/content-generation/index.js +33 -21
- package/dist/esm/content-generation/index.js.map +1 -1
- package/dist/esm/domains/errors.d.ts +16 -0
- package/dist/esm/domains/errors.d.ts.map +1 -0
- package/dist/esm/domains/errors.js +31 -0
- package/dist/esm/domains/errors.js.map +1 -0
- package/dist/esm/domains/index.d.ts +297 -0
- package/dist/esm/domains/index.d.ts.map +1 -0
- package/dist/esm/domains/index.js +335 -0
- package/dist/esm/domains/index.js.map +1 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/search/index.d.ts +6 -1
- package/dist/esm/search/index.d.ts.map +1 -1
- package/dist/esm/search/index.js +91 -92
- package/dist/esm/search/index.js.map +1 -1
- package/dist/esm/stub/index.d.ts.map +1 -1
- package/dist/esm/stub/index.js +72 -0
- package/dist/esm/stub/index.js.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +6 -1
- package/src/domains/README.md +76 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# domains
|
|
2
|
+
|
|
3
|
+
Register domain names and manage their DNS. The same domains capability your
|
|
4
|
+
agents call over MCP, callable directly from your code or from within a Sapiom
|
|
5
|
+
workflow step.
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
import { createClient } from "@sapiom/tools";
|
|
9
|
+
const sapiom = createClient({ apiKey: process.env.SAPIOM_API_KEY });
|
|
10
|
+
|
|
11
|
+
// 1. Find an available name and its price (free).
|
|
12
|
+
const results = await sapiom.domains.check({
|
|
13
|
+
domainNames: ["my-app.dev", "my-app.io", "get-my-app.com"],
|
|
14
|
+
});
|
|
15
|
+
const pick = results.find((r) => r.available);
|
|
16
|
+
|
|
17
|
+
// 2. Register it for a year (charges apply).
|
|
18
|
+
if (pick) {
|
|
19
|
+
await sapiom.domains.register({ domainName: pick.domainName });
|
|
20
|
+
|
|
21
|
+
// 3. Point it at your server.
|
|
22
|
+
await sapiom.domains.dns.create({
|
|
23
|
+
domainName: pick.domainName,
|
|
24
|
+
type: "A",
|
|
25
|
+
host: "", // "" = the root domain (@); or "www", "api", …
|
|
26
|
+
value: "203.0.113.10",
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Ambient import works too: `import { domains } from "@sapiom/tools"`.
|
|
32
|
+
|
|
33
|
+
## Operations
|
|
34
|
+
|
|
35
|
+
Top-level (domains):
|
|
36
|
+
|
|
37
|
+
- `check({ domainNames })` — availability + pricing for up to 50 names (free).
|
|
38
|
+
- `register({ domainName })` — buy a domain for one year (**charges apply**).
|
|
39
|
+
- `renew({ domainName })` — extend a domain you own by one year (**charges apply**).
|
|
40
|
+
- `list()` — the domains you own.
|
|
41
|
+
- `get({ domainName })` — full details for a domain you own (nameservers, lock
|
|
42
|
+
status, renewal price, transfer eligibility).
|
|
43
|
+
- `transferOut({ domainName })` — start a transfer to another registrar; returns
|
|
44
|
+
an auth code to give the receiving registrar (**disruptive**).
|
|
45
|
+
|
|
46
|
+
`dns` (DNS records on a domain you own):
|
|
47
|
+
|
|
48
|
+
- `dns.create({ domainName, type, host, value, ttl?, priority? })`
|
|
49
|
+
- `dns.list({ domainName })`
|
|
50
|
+
- `dns.get({ domainName, recordId })`
|
|
51
|
+
- `dns.update({ domainName, recordId, type?, host?, value?, ttl?, priority? })`
|
|
52
|
+
- `dns.delete({ domainName, recordId })`
|
|
53
|
+
|
|
54
|
+
## DNS records
|
|
55
|
+
|
|
56
|
+
- **`type`** — one of `A`, `AAAA`, `ANAME`, `CNAME`, `MX`, `TXT`, `SRV`, `NS`.
|
|
57
|
+
- **`host`** — use `""` for the root domain (`@`), or a subdomain like `"www"` or
|
|
58
|
+
`"api"`.
|
|
59
|
+
- **`ttl`** — seconds; minimum `300`, defaults to `300`.
|
|
60
|
+
- **`priority`** — required for `MX`, optional otherwise.
|
|
61
|
+
- **`recordId`** — returned from `dns.create` / `dns.list`; pass it to `dns.get`,
|
|
62
|
+
`dns.update`, and `dns.delete`.
|
|
63
|
+
|
|
64
|
+
`dns.update` is a partial update: send only the fields you want to change; the
|
|
65
|
+
rest keep their current values.
|
|
66
|
+
|
|
67
|
+
## Gotchas
|
|
68
|
+
|
|
69
|
+
- **`register` and `renew` charge on success and are not reversible.** Check
|
|
70
|
+
availability and price with `check` first. A rejected request (e.g. a domain you
|
|
71
|
+
already own, or a malformed name) does not charge.
|
|
72
|
+
- **A newly registered domain is transfer-locked for 60 days** — `transferOut`
|
|
73
|
+
is rejected until it becomes eligible (see `transferEligibleAt` on `get`).
|
|
74
|
+
- **Prices are decimal strings** (e.g. `"12.99"`), not numbers.
|
|
75
|
+
- **Failed requests throw `DomainsHttpError`** (carries `status` + parsed
|
|
76
|
+
`body`), exported from `@sapiom/tools`.
|