run402 1.40.1 → 1.40.2
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/lib/sdk.mjs +1 -1
- package/package.json +4 -3
- package/sdk/core-dist/allowance-auth.js +129 -0
- package/sdk/core-dist/allowance.js +25 -0
- package/sdk/core-dist/client.js +42 -0
- package/sdk/core-dist/config.js +26 -0
- package/sdk/core-dist/keystore.js +97 -0
- package/sdk/core-dist/wallet-auth.js +62 -0
- package/sdk/core-dist/wallet.js +25 -0
- package/sdk/dist/credentials.d.ts +70 -0
- package/sdk/dist/credentials.d.ts.map +1 -0
- package/sdk/dist/credentials.js +19 -0
- package/sdk/dist/credentials.js.map +1 -0
- package/sdk/dist/errors.d.ts +34 -0
- package/sdk/dist/errors.d.ts.map +1 -0
- package/sdk/dist/errors.js +46 -0
- package/sdk/dist/errors.js.map +1 -0
- package/sdk/dist/index.d.ts +68 -0
- package/sdk/dist/index.d.ts.map +1 -0
- package/sdk/dist/index.js +81 -0
- package/sdk/dist/index.js.map +1 -0
- package/sdk/dist/kernel.d.ts +47 -0
- package/sdk/dist/kernel.d.ts.map +1 -0
- package/sdk/dist/kernel.js +76 -0
- package/sdk/dist/kernel.js.map +1 -0
- package/sdk/dist/namespaces/admin.d.ts +30 -0
- package/sdk/dist/namespaces/admin.d.ts.map +1 -0
- package/sdk/dist/namespaces/admin.js +36 -0
- package/sdk/dist/namespaces/admin.js.map +1 -0
- package/sdk/dist/namespaces/ai.d.ts +57 -0
- package/sdk/dist/namespaces/ai.d.ts.map +1 -0
- package/sdk/dist/namespaces/ai.js +62 -0
- package/sdk/dist/namespaces/ai.js.map +1 -0
- package/sdk/dist/namespaces/allowance.d.ts +51 -0
- package/sdk/dist/namespaces/allowance.d.ts.map +1 -0
- package/sdk/dist/namespaces/allowance.js +116 -0
- package/sdk/dist/namespaces/allowance.js.map +1 -0
- package/sdk/dist/namespaces/apps.d.ts +158 -0
- package/sdk/dist/namespaces/apps.d.ts.map +1 -0
- package/sdk/dist/namespaces/apps.js +150 -0
- package/sdk/dist/namespaces/apps.js.map +1 -0
- package/sdk/dist/namespaces/auth.d.ts +53 -0
- package/sdk/dist/namespaces/auth.d.ts.map +1 -0
- package/sdk/dist/namespaces/auth.js +106 -0
- package/sdk/dist/namespaces/auth.js.map +1 -0
- package/sdk/dist/namespaces/billing.d.ts +64 -0
- package/sdk/dist/namespaces/billing.d.ts.map +1 -0
- package/sdk/dist/namespaces/billing.js +105 -0
- package/sdk/dist/namespaces/billing.js.map +1 -0
- package/sdk/dist/namespaces/blobs.d.ts +41 -0
- package/sdk/dist/namespaces/blobs.d.ts.map +1 -0
- package/sdk/dist/namespaces/blobs.js +202 -0
- package/sdk/dist/namespaces/blobs.js.map +1 -0
- package/sdk/dist/namespaces/blobs.types.d.ts +58 -0
- package/sdk/dist/namespaces/blobs.types.d.ts.map +1 -0
- package/sdk/dist/namespaces/blobs.types.js +9 -0
- package/sdk/dist/namespaces/blobs.types.js.map +1 -0
- package/sdk/dist/namespaces/contracts.d.ts +65 -0
- package/sdk/dist/namespaces/contracts.d.ts.map +1 -0
- package/sdk/dist/namespaces/contracts.js +163 -0
- package/sdk/dist/namespaces/contracts.js.map +1 -0
- package/sdk/dist/namespaces/domains.d.ts +57 -0
- package/sdk/dist/namespaces/domains.d.ts.map +1 -0
- package/sdk/dist/namespaces/domains.js +60 -0
- package/sdk/dist/namespaces/domains.js.map +1 -0
- package/sdk/dist/namespaces/email.d.ts +131 -0
- package/sdk/dist/namespaces/email.d.ts.map +1 -0
- package/sdk/dist/namespaces/email.js +318 -0
- package/sdk/dist/namespaces/email.js.map +1 -0
- package/sdk/dist/namespaces/functions.d.ts +43 -0
- package/sdk/dist/namespaces/functions.d.ts.map +1 -0
- package/sdk/dist/namespaces/functions.js +146 -0
- package/sdk/dist/namespaces/functions.js.map +1 -0
- package/sdk/dist/namespaces/functions.types.d.ts +96 -0
- package/sdk/dist/namespaces/functions.types.d.ts.map +1 -0
- package/sdk/dist/namespaces/functions.types.js +6 -0
- package/sdk/dist/namespaces/functions.types.js.map +1 -0
- package/sdk/dist/namespaces/projects.d.ts +97 -0
- package/sdk/dist/namespaces/projects.d.ts.map +1 -0
- package/sdk/dist/namespaces/projects.js +214 -0
- package/sdk/dist/namespaces/projects.js.map +1 -0
- package/sdk/dist/namespaces/projects.types.d.ts +112 -0
- package/sdk/dist/namespaces/projects.types.d.ts.map +1 -0
- package/sdk/dist/namespaces/projects.types.js +9 -0
- package/sdk/dist/namespaces/projects.types.js.map +1 -0
- package/sdk/dist/namespaces/secrets.d.ts +23 -0
- package/sdk/dist/namespaces/secrets.d.ts.map +1 -0
- package/sdk/dist/namespaces/secrets.js +45 -0
- package/sdk/dist/namespaces/secrets.js.map +1 -0
- package/sdk/dist/namespaces/sender-domain.d.ts +40 -0
- package/sdk/dist/namespaces/sender-domain.d.ts.map +1 -0
- package/sdk/dist/namespaces/sender-domain.js +69 -0
- package/sdk/dist/namespaces/sender-domain.js.map +1 -0
- package/sdk/dist/namespaces/service.d.ts +51 -0
- package/sdk/dist/namespaces/service.d.ts.map +1 -0
- package/sdk/dist/namespaces/service.js +25 -0
- package/sdk/dist/namespaces/service.js.map +1 -0
- package/sdk/dist/namespaces/sites.d.ts +50 -0
- package/sdk/dist/namespaces/sites.d.ts.map +1 -0
- package/sdk/dist/namespaces/sites.js +38 -0
- package/sdk/dist/namespaces/sites.js.map +1 -0
- package/sdk/dist/namespaces/subdomains.d.ts +36 -0
- package/sdk/dist/namespaces/subdomains.d.ts.map +1 -0
- package/sdk/dist/namespaces/subdomains.js +54 -0
- package/sdk/dist/namespaces/subdomains.js.map +1 -0
- package/sdk/dist/namespaces/tier.d.ts +36 -0
- package/sdk/dist/namespaces/tier.d.ts.map +1 -0
- package/sdk/dist/namespaces/tier.js +31 -0
- package/sdk/dist/namespaces/tier.js.map +1 -0
- package/sdk/dist/node/credentials.d.ts +26 -0
- package/sdk/dist/node/credentials.d.ts.map +1 -0
- package/sdk/dist/node/credentials.js +69 -0
- package/sdk/dist/node/credentials.js.map +1 -0
- package/sdk/dist/node/index.d.ts +44 -0
- package/sdk/dist/node/index.d.ts.map +1 -0
- package/sdk/dist/node/index.js +43 -0
- package/sdk/dist/node/index.js.map +1 -0
- package/sdk/dist/node/paid-fetch.d.ts +22 -0
- package/sdk/dist/node/paid-fetch.d.ts.map +1 -0
- package/sdk/dist/node/paid-fetch.js +116 -0
- package/sdk/dist/node/paid-fetch.js.map +1 -0
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `contracts` namespace — AWS KMS-backed Ethereum contract wallets.
|
|
3
|
+
*
|
|
4
|
+
* Contract wallets sign smart-contract write transactions. Private keys
|
|
5
|
+
* never leave KMS. Pricing: $0.04/day rental ($1.20/month) plus $0.000005
|
|
6
|
+
* per sign. Non-custodial.
|
|
7
|
+
*
|
|
8
|
+
* NOTE: The contracts API surface is frozen — this namespace preserves the
|
|
9
|
+
* existing request/response shapes verbatim.
|
|
10
|
+
*/
|
|
11
|
+
import { ProjectNotFound } from "../errors.js";
|
|
12
|
+
export class Contracts {
|
|
13
|
+
client;
|
|
14
|
+
constructor(client) {
|
|
15
|
+
this.client = client;
|
|
16
|
+
}
|
|
17
|
+
/** Provision a new KMS-backed contract wallet. */
|
|
18
|
+
async provisionWallet(projectId, opts) {
|
|
19
|
+
const project = await this.client.getProject(projectId);
|
|
20
|
+
if (!project)
|
|
21
|
+
throw new ProjectNotFound(projectId, "provisioning KMS contract wallet");
|
|
22
|
+
const body = { chain: opts.chain };
|
|
23
|
+
if (opts.recoveryAddress)
|
|
24
|
+
body.recovery_address = opts.recoveryAddress;
|
|
25
|
+
return this.client.request("/contracts/v1/wallets", {
|
|
26
|
+
method: "POST",
|
|
27
|
+
headers: { Authorization: `Bearer ${project.service_key}` },
|
|
28
|
+
body,
|
|
29
|
+
context: "provisioning KMS contract wallet",
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
/** Get a wallet's metadata + live balance. */
|
|
33
|
+
async getWallet(projectId, walletId) {
|
|
34
|
+
const project = await this.client.getProject(projectId);
|
|
35
|
+
if (!project)
|
|
36
|
+
throw new ProjectNotFound(projectId, "fetching wallet");
|
|
37
|
+
return this.client.request(`/contracts/v1/wallets/${encodeURIComponent(walletId)}`, {
|
|
38
|
+
headers: { Authorization: `Bearer ${project.service_key}` },
|
|
39
|
+
context: "fetching wallet",
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
/** List all wallets owned by the project, including deleted ones. */
|
|
43
|
+
async listWallets(projectId) {
|
|
44
|
+
const project = await this.client.getProject(projectId);
|
|
45
|
+
if (!project)
|
|
46
|
+
throw new ProjectNotFound(projectId, "listing wallets");
|
|
47
|
+
return this.client.request("/contracts/v1/wallets", {
|
|
48
|
+
headers: { Authorization: `Bearer ${project.service_key}` },
|
|
49
|
+
context: "listing wallets",
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/** Set or clear the recovery address used for auto-drain on day-90 deletion. */
|
|
53
|
+
async setRecovery(projectId, walletId, recoveryAddress) {
|
|
54
|
+
const project = await this.client.getProject(projectId);
|
|
55
|
+
if (!project)
|
|
56
|
+
throw new ProjectNotFound(projectId, "setting recovery address");
|
|
57
|
+
await this.client.request(`/contracts/v1/wallets/${encodeURIComponent(walletId)}/recovery-address`, {
|
|
58
|
+
method: "POST",
|
|
59
|
+
headers: { Authorization: `Bearer ${project.service_key}` },
|
|
60
|
+
body: { recovery_address: recoveryAddress },
|
|
61
|
+
context: "setting recovery address",
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/** Set the low-balance threshold (in wei) for email alerts. */
|
|
65
|
+
async setLowBalanceAlert(projectId, walletId, thresholdWei) {
|
|
66
|
+
const project = await this.client.getProject(projectId);
|
|
67
|
+
if (!project)
|
|
68
|
+
throw new ProjectNotFound(projectId, "setting low-balance threshold");
|
|
69
|
+
await this.client.request(`/contracts/v1/wallets/${encodeURIComponent(walletId)}/alert`, {
|
|
70
|
+
method: "POST",
|
|
71
|
+
headers: { Authorization: `Bearer ${project.service_key}` },
|
|
72
|
+
body: { threshold_wei: thresholdWei },
|
|
73
|
+
context: "setting low-balance threshold",
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
/** Submit a smart-contract write call. Idempotent on `idempotencyKey`. */
|
|
77
|
+
async call(projectId, opts) {
|
|
78
|
+
const project = await this.client.getProject(projectId);
|
|
79
|
+
if (!project)
|
|
80
|
+
throw new ProjectNotFound(projectId, "submitting contract call");
|
|
81
|
+
const headers = { Authorization: `Bearer ${project.service_key}` };
|
|
82
|
+
if (opts.idempotencyKey)
|
|
83
|
+
headers["Idempotency-Key"] = opts.idempotencyKey;
|
|
84
|
+
const body = {
|
|
85
|
+
wallet_id: opts.walletId,
|
|
86
|
+
chain: opts.chain,
|
|
87
|
+
contract_address: opts.contractAddress,
|
|
88
|
+
abi_fragment: opts.abiFragment,
|
|
89
|
+
function_name: opts.functionName,
|
|
90
|
+
args: opts.args,
|
|
91
|
+
};
|
|
92
|
+
if (opts.value)
|
|
93
|
+
body.value = opts.value;
|
|
94
|
+
return this.client.request("/contracts/v1/call", {
|
|
95
|
+
method: "POST",
|
|
96
|
+
headers,
|
|
97
|
+
body,
|
|
98
|
+
context: "submitting contract call",
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
/** Read-only smart-contract call (view/pure). No auth, no gas, no billing. */
|
|
102
|
+
async read(opts) {
|
|
103
|
+
return this.client.request("/contracts/v1/read", {
|
|
104
|
+
method: "POST",
|
|
105
|
+
body: {
|
|
106
|
+
chain: opts.chain,
|
|
107
|
+
contract_address: opts.contractAddress,
|
|
108
|
+
abi_fragment: opts.abiFragment,
|
|
109
|
+
function_name: opts.functionName,
|
|
110
|
+
args: opts.args,
|
|
111
|
+
},
|
|
112
|
+
context: "reading contract",
|
|
113
|
+
withAuth: false,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
/** Look up a previously submitted call by id. */
|
|
117
|
+
async callStatus(projectId, callId) {
|
|
118
|
+
const project = await this.client.getProject(projectId);
|
|
119
|
+
if (!project)
|
|
120
|
+
throw new ProjectNotFound(projectId, "fetching call status");
|
|
121
|
+
return this.client.request(`/contracts/v1/calls/${encodeURIComponent(callId)}`, {
|
|
122
|
+
headers: { Authorization: `Bearer ${project.service_key}` },
|
|
123
|
+
context: "fetching call status",
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Drain the wallet's native-token balance to a destination address.
|
|
128
|
+
* Works on suspended wallets. Requires `X-Confirm-Drain: <wallet_id>`
|
|
129
|
+
* confirmation header (sent automatically by the SDK).
|
|
130
|
+
*/
|
|
131
|
+
async drain(projectId, walletId, destinationAddress) {
|
|
132
|
+
const project = await this.client.getProject(projectId);
|
|
133
|
+
if (!project)
|
|
134
|
+
throw new ProjectNotFound(projectId, "draining wallet");
|
|
135
|
+
return this.client.request(`/contracts/v1/wallets/${encodeURIComponent(walletId)}/drain`, {
|
|
136
|
+
method: "POST",
|
|
137
|
+
headers: {
|
|
138
|
+
Authorization: `Bearer ${project.service_key}`,
|
|
139
|
+
"X-Confirm-Drain": walletId,
|
|
140
|
+
},
|
|
141
|
+
body: { destination_address: destinationAddress },
|
|
142
|
+
context: "draining wallet",
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Schedule the KMS key for deletion (7-day AWS minimum window). Refused
|
|
147
|
+
* if the wallet has on-chain balance ≥ dust — drain first.
|
|
148
|
+
*/
|
|
149
|
+
async deleteWallet(projectId, walletId) {
|
|
150
|
+
const project = await this.client.getProject(projectId);
|
|
151
|
+
if (!project)
|
|
152
|
+
throw new ProjectNotFound(projectId, "deleting wallet");
|
|
153
|
+
return this.client.request(`/contracts/v1/wallets/${encodeURIComponent(walletId)}`, {
|
|
154
|
+
method: "DELETE",
|
|
155
|
+
headers: {
|
|
156
|
+
Authorization: `Bearer ${project.service_key}`,
|
|
157
|
+
"X-Confirm-Delete": walletId,
|
|
158
|
+
},
|
|
159
|
+
context: "deleting wallet",
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=contracts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/namespaces/contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `domains` namespace — custom domains (BYODomain) mapped to run402
|
|
3
|
+
* subdomains. Manages the registration/verification lifecycle and DNS
|
|
4
|
+
* instructions surfaced back to the user's DNS provider.
|
|
5
|
+
*/
|
|
6
|
+
import type { Client } from "../kernel.js";
|
|
7
|
+
export interface DnsInstructions {
|
|
8
|
+
cname_target?: string;
|
|
9
|
+
txt_name?: string;
|
|
10
|
+
txt_value?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface CustomDomainAddResult {
|
|
13
|
+
domain: string;
|
|
14
|
+
subdomain_name: string;
|
|
15
|
+
url: string;
|
|
16
|
+
subdomain_url: string;
|
|
17
|
+
status: string;
|
|
18
|
+
dns_instructions: DnsInstructions | null;
|
|
19
|
+
project_id: string | null;
|
|
20
|
+
created_at: string;
|
|
21
|
+
}
|
|
22
|
+
export interface CustomDomainSummary {
|
|
23
|
+
domain: string;
|
|
24
|
+
subdomain_name: string;
|
|
25
|
+
url: string;
|
|
26
|
+
subdomain_url: string;
|
|
27
|
+
status: string;
|
|
28
|
+
created_at: string;
|
|
29
|
+
}
|
|
30
|
+
export interface CustomDomainListResult {
|
|
31
|
+
domains: CustomDomainSummary[];
|
|
32
|
+
}
|
|
33
|
+
export interface CustomDomainStatusResult {
|
|
34
|
+
domain: string;
|
|
35
|
+
subdomain_name: string;
|
|
36
|
+
url: string;
|
|
37
|
+
subdomain_url: string;
|
|
38
|
+
status: string;
|
|
39
|
+
dns_instructions: DnsInstructions | null;
|
|
40
|
+
created_at: string;
|
|
41
|
+
}
|
|
42
|
+
export interface CustomDomainRemoveOptions {
|
|
43
|
+
projectId?: string;
|
|
44
|
+
}
|
|
45
|
+
export declare class Domains {
|
|
46
|
+
private readonly client;
|
|
47
|
+
constructor(client: Client);
|
|
48
|
+
/** Register a custom domain. Returns DNS records the user must add at their DNS provider. */
|
|
49
|
+
add(projectId: string, domain: string, subdomainName: string): Promise<CustomDomainAddResult>;
|
|
50
|
+
/** List all custom domains registered for a project. */
|
|
51
|
+
list(projectId: string): Promise<CustomDomainListResult>;
|
|
52
|
+
/** Check verification/SSL status for a specific custom domain. */
|
|
53
|
+
status(projectId: string, domain: string): Promise<CustomDomainStatusResult>;
|
|
54
|
+
/** Release a custom domain. `projectId` is optional for ownership-free removal. */
|
|
55
|
+
remove(domain: string, opts?: CustomDomainRemoveOptions): Promise<void>;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=domains.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domains.d.ts","sourceRoot":"","sources":["../../src/namespaces/domains.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C,6FAA6F;IACvF,GAAG,CACP,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,qBAAqB,CAAC;IAYjC,wDAAwD;IAClD,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAU9D,kEAAkE;IAC5D,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAalF,mFAAmF;IAC7E,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,yBAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;CAclF"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `domains` namespace — custom domains (BYODomain) mapped to run402
|
|
3
|
+
* subdomains. Manages the registration/verification lifecycle and DNS
|
|
4
|
+
* instructions surfaced back to the user's DNS provider.
|
|
5
|
+
*/
|
|
6
|
+
import { ProjectNotFound } from "../errors.js";
|
|
7
|
+
export class Domains {
|
|
8
|
+
client;
|
|
9
|
+
constructor(client) {
|
|
10
|
+
this.client = client;
|
|
11
|
+
}
|
|
12
|
+
/** Register a custom domain. Returns DNS records the user must add at their DNS provider. */
|
|
13
|
+
async add(projectId, domain, subdomainName) {
|
|
14
|
+
const project = await this.client.getProject(projectId);
|
|
15
|
+
if (!project)
|
|
16
|
+
throw new ProjectNotFound(projectId, "registering custom domain");
|
|
17
|
+
return this.client.request("/domains/v1", {
|
|
18
|
+
method: "POST",
|
|
19
|
+
headers: { Authorization: `Bearer ${project.service_key}` },
|
|
20
|
+
body: { domain, subdomain_name: subdomainName },
|
|
21
|
+
context: "registering custom domain",
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
/** List all custom domains registered for a project. */
|
|
25
|
+
async list(projectId) {
|
|
26
|
+
const project = await this.client.getProject(projectId);
|
|
27
|
+
if (!project)
|
|
28
|
+
throw new ProjectNotFound(projectId, "listing custom domains");
|
|
29
|
+
return this.client.request("/domains/v1", {
|
|
30
|
+
headers: { Authorization: `Bearer ${project.service_key}` },
|
|
31
|
+
context: "listing custom domains",
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/** Check verification/SSL status for a specific custom domain. */
|
|
35
|
+
async status(projectId, domain) {
|
|
36
|
+
const project = await this.client.getProject(projectId);
|
|
37
|
+
if (!project)
|
|
38
|
+
throw new ProjectNotFound(projectId, "checking domain status");
|
|
39
|
+
return this.client.request(`/domains/v1/${encodeURIComponent(domain)}`, {
|
|
40
|
+
headers: { Authorization: `Bearer ${project.service_key}` },
|
|
41
|
+
context: "checking domain status",
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/** Release a custom domain. `projectId` is optional for ownership-free removal. */
|
|
45
|
+
async remove(domain, opts = {}) {
|
|
46
|
+
const headers = {};
|
|
47
|
+
if (opts.projectId) {
|
|
48
|
+
const project = await this.client.getProject(opts.projectId);
|
|
49
|
+
if (!project)
|
|
50
|
+
throw new ProjectNotFound(opts.projectId, "removing custom domain");
|
|
51
|
+
headers.Authorization = `Bearer ${project.service_key}`;
|
|
52
|
+
}
|
|
53
|
+
await this.client.request(`/domains/v1/${encodeURIComponent(domain)}`, {
|
|
54
|
+
method: "DELETE",
|
|
55
|
+
headers,
|
|
56
|
+
context: "removing custom domain",
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=domains.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domains.js","sourceRoot":"","sources":["../../src/namespaces/domains.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AA8C/C,MAAM,OAAO,OAAO;IACW;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,6FAA6F;IAC7F,KAAK,CAAC,GAAG,CACP,SAAiB,EACjB,MAAc,EACd,aAAqB;QAErB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,eAAe,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;QAEhF,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAwB,aAAa,EAAE;YAC/D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,WAAW,EAAE,EAAE;YAC3D,IAAI,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE;YAC/C,OAAO,EAAE,2BAA2B;SACrC,CAAC,CAAC;IACL,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,IAAI,CAAC,SAAiB;QAC1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,eAAe,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;QAE7E,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAyB,aAAa,EAAE;YAChE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,WAAW,EAAE,EAAE;YAC3D,OAAO,EAAE,wBAAwB;SAClC,CAAC,CAAC;IACL,CAAC;IAED,kEAAkE;IAClE,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,MAAc;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,eAAe,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;QAE7E,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,eAAe,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAC3C;YACE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,WAAW,EAAE,EAAE;YAC3D,OAAO,EAAE,wBAAwB;SAClC,CACF,CAAC;IACJ,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,OAAkC,EAAE;QAC/D,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7D,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;YAClF,OAAO,CAAC,aAAa,GAAG,UAAU,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1D,CAAC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAU,eAAe,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE;YAC9E,MAAM,EAAE,QAAQ;YAChB,OAAO;YACP,OAAO,EAAE,wBAAwB;SAClC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `email` namespace — project mailboxes (send / list / get / raw / delete)
|
|
3
|
+
* and mailbox webhooks. Most operations auto-resolve the project's mailbox
|
|
4
|
+
* via the provider cache, falling back to a discovery GET when absent.
|
|
5
|
+
*/
|
|
6
|
+
import type { Client } from "../kernel.js";
|
|
7
|
+
export interface CreateMailboxResult {
|
|
8
|
+
mailbox_id: string;
|
|
9
|
+
address: string;
|
|
10
|
+
slug: string;
|
|
11
|
+
status: string;
|
|
12
|
+
}
|
|
13
|
+
export interface MailboxInfo {
|
|
14
|
+
mailbox_id: string;
|
|
15
|
+
address: string;
|
|
16
|
+
slug?: string;
|
|
17
|
+
}
|
|
18
|
+
export type MailboxListResponse = {
|
|
19
|
+
mailboxes?: MailboxInfo[];
|
|
20
|
+
} | MailboxInfo[];
|
|
21
|
+
export type EmailTemplate = "project_invite" | "magic_link" | "notification";
|
|
22
|
+
export interface SendEmailOptions {
|
|
23
|
+
to: string;
|
|
24
|
+
template?: EmailTemplate;
|
|
25
|
+
variables?: Record<string, string>;
|
|
26
|
+
subject?: string;
|
|
27
|
+
html?: string;
|
|
28
|
+
text?: string;
|
|
29
|
+
from_name?: string;
|
|
30
|
+
in_reply_to?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface SendEmailResult {
|
|
33
|
+
id: string;
|
|
34
|
+
status: string;
|
|
35
|
+
to: string;
|
|
36
|
+
template?: string;
|
|
37
|
+
subject?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface EmailSummary {
|
|
40
|
+
id: string;
|
|
41
|
+
template: string;
|
|
42
|
+
to: string;
|
|
43
|
+
status: string;
|
|
44
|
+
created_at: string;
|
|
45
|
+
}
|
|
46
|
+
export interface EmailDetail {
|
|
47
|
+
id: string;
|
|
48
|
+
template: string;
|
|
49
|
+
to: string;
|
|
50
|
+
status: string;
|
|
51
|
+
variables: Record<string, string>;
|
|
52
|
+
created_at: string;
|
|
53
|
+
replies?: Array<{
|
|
54
|
+
id: string;
|
|
55
|
+
from: string;
|
|
56
|
+
body: string;
|
|
57
|
+
received_at: string;
|
|
58
|
+
}>;
|
|
59
|
+
}
|
|
60
|
+
export interface ListEmailsOptions {
|
|
61
|
+
limit?: number;
|
|
62
|
+
after?: string;
|
|
63
|
+
}
|
|
64
|
+
export interface RawEmailResult {
|
|
65
|
+
content_type: string;
|
|
66
|
+
bytes: Uint8Array;
|
|
67
|
+
}
|
|
68
|
+
export interface MailboxWebhookSummary {
|
|
69
|
+
webhook_id: string;
|
|
70
|
+
url: string;
|
|
71
|
+
events: string[];
|
|
72
|
+
created_at: string;
|
|
73
|
+
}
|
|
74
|
+
export interface MailboxWebhooksResult {
|
|
75
|
+
webhooks: MailboxWebhookSummary[];
|
|
76
|
+
}
|
|
77
|
+
export interface RegisterWebhookOptions {
|
|
78
|
+
url: string;
|
|
79
|
+
events: string[];
|
|
80
|
+
}
|
|
81
|
+
export interface UpdateWebhookOptions {
|
|
82
|
+
url?: string;
|
|
83
|
+
events?: string[];
|
|
84
|
+
}
|
|
85
|
+
export declare class Webhooks {
|
|
86
|
+
private readonly client;
|
|
87
|
+
private readonly resolveMailbox;
|
|
88
|
+
constructor(client: Client, resolveMailbox: (projectId: string) => Promise<{
|
|
89
|
+
id: string;
|
|
90
|
+
serviceKey: string;
|
|
91
|
+
}>);
|
|
92
|
+
register(projectId: string, opts: RegisterWebhookOptions): Promise<MailboxWebhookSummary>;
|
|
93
|
+
list(projectId: string): Promise<MailboxWebhooksResult>;
|
|
94
|
+
get(projectId: string, webhookId: string): Promise<MailboxWebhookSummary>;
|
|
95
|
+
update(projectId: string, webhookId: string, opts: UpdateWebhookOptions): Promise<MailboxWebhookSummary>;
|
|
96
|
+
delete(projectId: string, webhookId: string): Promise<void>;
|
|
97
|
+
}
|
|
98
|
+
export declare class Email {
|
|
99
|
+
private readonly client;
|
|
100
|
+
readonly webhooks: Webhooks;
|
|
101
|
+
constructor(client: Client);
|
|
102
|
+
/**
|
|
103
|
+
* Resolve the project's mailbox id + service key. Prefers the provider's
|
|
104
|
+
* cached value; falls back to a discovery GET and persists the result
|
|
105
|
+
* when the provider supports `updateProject`.
|
|
106
|
+
*/
|
|
107
|
+
private resolveMailbox;
|
|
108
|
+
private listMailboxes;
|
|
109
|
+
/** Create a mailbox for a project. Idempotent: returns the existing one on 409. */
|
|
110
|
+
createMailbox(projectId: string, slug: string): Promise<CreateMailboxResult | MailboxInfo>;
|
|
111
|
+
/** Send an email via template or raw (subject + html) mode. */
|
|
112
|
+
send(projectId: string, opts: SendEmailOptions): Promise<SendEmailResult>;
|
|
113
|
+
/** List messages in the project's mailbox. */
|
|
114
|
+
list(projectId: string, opts?: ListEmailsOptions): Promise<EmailSummary[]>;
|
|
115
|
+
/** Get a single message by id, including any replies. */
|
|
116
|
+
get(projectId: string, messageId: string): Promise<EmailDetail>;
|
|
117
|
+
/**
|
|
118
|
+
* Fetch the raw RFC-822 bytes of an inbound message. Returns `Uint8Array`
|
|
119
|
+
* so the consumer can decode / store / forward without re-encoding.
|
|
120
|
+
*/
|
|
121
|
+
getRaw(projectId: string, messageId: string): Promise<RawEmailResult>;
|
|
122
|
+
/** Get the project's mailbox info. Uses the cached mailbox_id when available. */
|
|
123
|
+
getMailbox(projectId: string): Promise<MailboxInfo>;
|
|
124
|
+
/**
|
|
125
|
+
* Delete the project's mailbox. Destructive — drops all messages and
|
|
126
|
+
* webhook subscriptions. Pass `mailboxId` explicitly to delete a specific
|
|
127
|
+
* mailbox; otherwise the project's current mailbox is resolved.
|
|
128
|
+
*/
|
|
129
|
+
deleteMailbox(projectId: string, mailboxId?: string): Promise<void>;
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=email.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/namespaces/email.ts"],"names":[],"mappings":"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"}
|