@framers/agentos-ext-domain-porkbun 0.1.2 → 0.1.3
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 +111 -0
- package/manifest.json +1 -1
- package/package.json +2 -2
package/README.md
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Porkbun domain registrar
|
|
2
|
+
|
|
3
|
+
This pack gives an agent domain availability checks, purchases, account listings, DNS management and transfers through the Porkbun REST API.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @framers/agentos-ext-domain-porkbun
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Peer dependency: `@framers/agentos` `>=0.10.40`.
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
import { AgentOS } from '@framers/agentos';
|
|
17
|
+
|
|
18
|
+
const agentos = await AgentOS.create({
|
|
19
|
+
extensionManifest: {
|
|
20
|
+
packs: [
|
|
21
|
+
{
|
|
22
|
+
package: '@framers/agentos-ext-domain-porkbun',
|
|
23
|
+
options: {
|
|
24
|
+
apiKey: process.env.PORKBUN_API_KEY,
|
|
25
|
+
secretApiKey: process.env.PORKBUN_SECRET_API_KEY,
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Configuration
|
|
34
|
+
|
|
35
|
+
| Option | Secret id | Environment variable | Required | Default |
|
|
36
|
+
| --- | --- | --- | --- | --- |
|
|
37
|
+
| `apiKey` | `porkbun.apiKey` | `PORKBUN_API_KEY` | Yes | Empty string |
|
|
38
|
+
| `secretApiKey` | `porkbun.secretApiKey` | `PORKBUN_SECRET_API_KEY` | Yes | Empty string |
|
|
39
|
+
| `secrets` | | | No | Context `secrets`, then `{}` |
|
|
40
|
+
| `baseUrl` (service constructor only) | | | No | `https://api.porkbun.com/api/json/v3` |
|
|
41
|
+
|
|
42
|
+
Credentials resolve from options, then the selected secrets map, then environment variables. The factory does not pass `baseUrl` to the service.
|
|
43
|
+
|
|
44
|
+
## Tools
|
|
45
|
+
|
|
46
|
+
| Tool | What it does |
|
|
47
|
+
| --- | --- |
|
|
48
|
+
| `porkbunSearchDomain` | Checks domain availability and retrieves pricing. |
|
|
49
|
+
| `porkbunRegisterDomain` | Purchases a domain using supplied contacts or account defaults. |
|
|
50
|
+
| `porkbunListDomains` | Lists account domains with dates, status, lock, privacy and renewal settings. |
|
|
51
|
+
| `porkbunConfigureDns` | Adds, removes, lists or updates DNS records. |
|
|
52
|
+
| `porkbunTransferDomain` | Initiates a transfer to Porkbun using an authorization code. |
|
|
53
|
+
|
|
54
|
+
### `porkbunSearchDomain`
|
|
55
|
+
|
|
56
|
+
| Parameter | Type | Required | Description |
|
|
57
|
+
| --- | --- | --- | --- |
|
|
58
|
+
| `domain` | string | Yes | The domain name to check (e.g. "example.com", "coolsite.dev") |
|
|
59
|
+
|
|
60
|
+
### `porkbunRegisterDomain`
|
|
61
|
+
|
|
62
|
+
| Parameter | Type | Required | Description |
|
|
63
|
+
| --- | --- | --- | --- |
|
|
64
|
+
| `domain` | string | Yes | The domain name to register (e.g. "example.com") |
|
|
65
|
+
| `years` | number | No | Number of years to register (default: 1, max: 10) |
|
|
66
|
+
| `firstName` | string | No | Registrant first name (uses account default if omitted) |
|
|
67
|
+
| `lastName` | string | No | Registrant last name (uses account default if omitted) |
|
|
68
|
+
| `email` | string | No | Registrant email (uses account default if omitted) |
|
|
69
|
+
| `phone` | string | No | Registrant phone number (uses account default if omitted) |
|
|
70
|
+
| `city` | string | No | Registrant city (uses account default if omitted) |
|
|
71
|
+
| `state` | string | No | Registrant state/province (uses account default if omitted) |
|
|
72
|
+
| `zip` | string | No | Registrant postal code (uses account default if omitted) |
|
|
73
|
+
| `country` | string | No | Registrant country code, e.g. "US" (uses account default if omitted) |
|
|
74
|
+
| `organization` | string | No | Registrant organization (optional) |
|
|
75
|
+
| `address` | string | No | Registrant street address (uses account default if omitted) |
|
|
76
|
+
|
|
77
|
+
### `porkbunListDomains`
|
|
78
|
+
|
|
79
|
+
The input schema has no parameters.
|
|
80
|
+
|
|
81
|
+
### `porkbunConfigureDns`
|
|
82
|
+
|
|
83
|
+
| Parameter | Type | Required | Description |
|
|
84
|
+
| --- | --- | --- | --- |
|
|
85
|
+
| `domain` | string | Yes | The domain name (e.g. "example.com") |
|
|
86
|
+
| `action` | string, enum: `add`, `remove`, `list`, `update` | No | Action to perform (default: list) |
|
|
87
|
+
| `recordId` | string | No | The DNS record ID (required for remove and update actions) |
|
|
88
|
+
| `type` | string, enum: `A`, `AAAA`, `CNAME`, `TXT`, `MX`, `NS`, `SRV`, `TLSA`, `CAA`, `ALIAS` | No | DNS record type (required for add action) |
|
|
89
|
+
| `name` | string | No | Subdomain or record name (e.g. "www", "mail"). Empty string or omit for root domain. |
|
|
90
|
+
| `content` | string | No | Record value/content (e.g. IP address, hostname, TXT value) |
|
|
91
|
+
| `ttl` | string | No | Time to live in seconds (default: "300") |
|
|
92
|
+
| `prio` | string | No | Priority (required for MX records, optional for others) |
|
|
93
|
+
|
|
94
|
+
### `porkbunTransferDomain`
|
|
95
|
+
|
|
96
|
+
| Parameter | Type | Required | Description |
|
|
97
|
+
| --- | --- | --- | --- |
|
|
98
|
+
| `domain` | string | Yes | The domain name to transfer (e.g. "example.com") |
|
|
99
|
+
| `authCode` | string | Yes | The authorization/EPP code from the current registrar (required to authorize the transfer) |
|
|
100
|
+
|
|
101
|
+
## Notes
|
|
102
|
+
|
|
103
|
+
Activation rejects missing credentials and authenticates through the API ping endpoint. API keys come from `https://porkbun.com/account/api`. Requests use POST with `apikey` and `secretapikey` in the body.
|
|
104
|
+
|
|
105
|
+
Registration charges the payment method on file. Contact fields use account defaults when omitted. Transfers submit the domain and authorization code; the tool description requires the domain to be unlocked at the previous registrar.
|
|
106
|
+
|
|
107
|
+
DNS changes create, edit or delete records. Addition requires `type` and `content`; removal and update require `recordId`. An update retrieves records afterward and returns the matching record, or the full list when no match is found. Pricing lookup failures leave pricing absent from availability results. Tool failures return `success: false` and an `error` message.
|
|
108
|
+
|
|
109
|
+
## License
|
|
110
|
+
|
|
111
|
+
Apache-2.0
|
package/manifest.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://agentos.sh/schemas/extension-manifest-v1.json",
|
|
3
3
|
"id": "com.framers.domains.porkbun",
|
|
4
4
|
"name": "Porkbun Domain Registrar",
|
|
5
|
-
"version": "0.1.
|
|
5
|
+
"version": "0.1.3",
|
|
6
6
|
"description": "Search, register, and manage domains through Porkbun. Configure DNS records (A, AAAA, CNAME, TXT, MX, NS), list owned domains, and initiate domain transfers via the Porkbun API v3.",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "Frame.dev",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@framers/agentos-ext-domain-porkbun",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Porkbun domain registrar extension — search, register, and manage domains and DNS records via the Porkbun API v3.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"rimraf": "^5.0.7",
|
|
53
53
|
"typescript": "^5.4.5",
|
|
54
54
|
"vitest": "^3.2.7",
|
|
55
|
-
"@framers/agentos": "^0.13.
|
|
55
|
+
"@framers/agentos": "^0.13.47"
|
|
56
56
|
},
|
|
57
57
|
"homepage": "https://github.com/framerslab/agentos-extensions/tree/master/registry/curated/domains/porkbun#readme",
|
|
58
58
|
"bugs": {
|