run402-mcp 2.43.0 → 2.44.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/README.md +6 -6
- package/dist/errors.js +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.js +18 -18
- package/dist/index.js.map +1 -1
- package/dist/tools/admin-archive-project.js +1 -1
- package/dist/tools/admin-archive-project.js.map +1 -1
- package/dist/tools/admin-reactivate-project.js +1 -1
- package/dist/tools/admin-reactivate-project.js.map +1 -1
- package/dist/tools/admin-set-lease-perpetual.d.ts +2 -2
- package/dist/tools/admin-set-lease-perpetual.d.ts.map +1 -1
- package/dist/tools/admin-set-lease-perpetual.js +7 -7
- package/dist/tools/admin-set-lease-perpetual.js.map +1 -1
- package/dist/tools/buy-email-pack.js +3 -3
- package/dist/tools/buy-email-pack.js.map +1 -1
- package/dist/tools/{create-email-billing-account.d.ts → create-email-organization.d.ts} +3 -3
- package/dist/tools/create-email-organization.d.ts.map +1 -0
- package/dist/tools/create-email-organization.js +21 -0
- package/dist/tools/create-email-organization.js.map +1 -0
- package/dist/tools/get-usage.js +6 -6
- package/dist/tools/get-usage.js.map +1 -1
- package/dist/tools/link-wallet-to-organization.d.ts +16 -0
- package/dist/tools/link-wallet-to-organization.d.ts.map +1 -0
- package/dist/tools/link-wallet-to-organization.js +40 -0
- package/dist/tools/link-wallet-to-organization.js.map +1 -0
- package/dist/tools/list-projects.js +5 -5
- package/dist/tools/list-projects.js.map +1 -1
- package/dist/tools/set-auto-recharge.d.ts +2 -2
- package/dist/tools/set-auto-recharge.d.ts.map +1 -1
- package/dist/tools/set-auto-recharge.js +3 -3
- package/dist/tools/set-auto-recharge.js.map +1 -1
- package/dist/tools/status.js +1 -1
- package/dist/tools/status.js.map +1 -1
- package/dist/tools/tier-checkout.js +2 -2
- package/dist/tools/tier-checkout.js.map +1 -1
- package/dist/tools/tier-status.js +3 -3
- package/dist/tools/tier-status.js.map +1 -1
- package/dist/tools/transfers.js +3 -3
- package/dist/tools/transfers.js.map +1 -1
- package/package.json +1 -1
- package/sdk/README.md +1 -1
- package/sdk/dist/errors.d.ts +8 -8
- package/sdk/dist/errors.d.ts.map +1 -1
- package/sdk/dist/errors.js +6 -6
- package/sdk/dist/errors.js.map +1 -1
- package/sdk/dist/namespaces/admin.d.ts +15 -16
- package/sdk/dist/namespaces/admin.d.ts.map +1 -1
- package/sdk/dist/namespaces/admin.js +14 -15
- package/sdk/dist/namespaces/admin.js.map +1 -1
- package/sdk/dist/namespaces/billing.d.ts +47 -53
- package/sdk/dist/namespaces/billing.d.ts.map +1 -1
- package/sdk/dist/namespaces/billing.js +59 -59
- package/sdk/dist/namespaces/billing.js.map +1 -1
- package/sdk/dist/namespaces/operator.d.ts +3 -3
- package/sdk/dist/namespaces/operator.d.ts.map +1 -1
- package/sdk/dist/namespaces/operator.js +1 -1
- package/sdk/dist/namespaces/org.types.d.ts +2 -2
- package/sdk/dist/namespaces/org.types.js +1 -1
- package/sdk/dist/namespaces/projects.d.ts +2 -2
- package/sdk/dist/namespaces/projects.js +2 -2
- package/sdk/dist/namespaces/projects.types.d.ts +15 -15
- package/sdk/dist/namespaces/projects.types.d.ts.map +1 -1
- package/sdk/dist/namespaces/tier.d.ts +11 -11
- package/sdk/dist/namespaces/tier.d.ts.map +1 -1
- package/sdk/dist/namespaces/transfers.d.ts +8 -8
- package/sdk/dist/namespaces/transfers.d.ts.map +1 -1
- package/sdk/dist/namespaces/transfers.js +3 -3
- package/sdk/dist/namespaces/transfers.js.map +1 -1
- package/dist/tools/create-email-billing-account.d.ts.map +0 -1
- package/dist/tools/create-email-billing-account.js +0 -21
- package/dist/tools/create-email-billing-account.js.map +0 -1
- package/dist/tools/link-wallet-to-account.d.ts +0 -16
- package/dist/tools/link-wallet-to-account.d.ts.map +0 -1
- package/dist/tools/link-wallet-to-account.js +0 -40
- package/dist/tools/link-wallet-to-account.js.map +0 -1
|
@@ -80,7 +80,7 @@ export interface NotificationRow {
|
|
|
80
80
|
attempt_count: number;
|
|
81
81
|
is_test: boolean;
|
|
82
82
|
related_project_id: string | null;
|
|
83
|
-
|
|
83
|
+
related_organization_id: string | null;
|
|
84
84
|
related_wallet_address: string | null;
|
|
85
85
|
created_at: string;
|
|
86
86
|
redacted_at: string | null;
|
|
@@ -141,7 +141,7 @@ export interface RotateWebhookSecretResult {
|
|
|
141
141
|
}
|
|
142
142
|
export interface SetLeasePerpetualResult {
|
|
143
143
|
status: "ok";
|
|
144
|
-
|
|
144
|
+
organization_id: string;
|
|
145
145
|
lease_perpetual: boolean;
|
|
146
146
|
/**
|
|
147
147
|
* `true` when the toggle was `lease_perpetual: true` AND the account was in
|
|
@@ -187,11 +187,11 @@ export interface OperatorStatusResult {
|
|
|
187
187
|
id: string;
|
|
188
188
|
event_type: string;
|
|
189
189
|
related_project_id: string | null;
|
|
190
|
-
|
|
190
|
+
related_organization_id: string | null;
|
|
191
191
|
related_wallet_address: string | null;
|
|
192
192
|
created_at: string;
|
|
193
193
|
}>;
|
|
194
|
-
|
|
194
|
+
organizations: Array<Record<string, unknown>>;
|
|
195
195
|
projects: Array<Record<string, unknown>>;
|
|
196
196
|
active_thresholds: Array<{
|
|
197
197
|
resource: string;
|
|
@@ -269,30 +269,29 @@ export declare class Admin {
|
|
|
269
269
|
*/
|
|
270
270
|
getProjectFinance(projectId: string, opts?: AdminProjectFinanceOptions): Promise<AdminProjectFinanceResult>;
|
|
271
271
|
/**
|
|
272
|
-
* Toggle a
|
|
273
|
-
* hatch that pins every project
|
|
274
|
-
* per-project `pin` removed in v1.57). When enabling on an
|
|
272
|
+
* Toggle a organization's `lease_perpetual` flag — the operator escape
|
|
273
|
+
* hatch that pins every project in the organization (replaces the v1.56
|
|
274
|
+
* per-project `pin` removed in v1.57). When enabling on an organization in a
|
|
275
275
|
* grace state, the gateway reactivates inline and reports it via
|
|
276
276
|
* `reactivated: true`.
|
|
277
277
|
*
|
|
278
278
|
* Platform-admin only. Calls
|
|
279
|
-
* `POST /
|
|
279
|
+
* `POST /orgs/v1/admin/:org_id/lease-perpetual`.
|
|
280
280
|
*/
|
|
281
|
-
setLeasePerpetual(
|
|
281
|
+
setLeasePerpetual(organizationId: string, perpetual: boolean): Promise<SetLeasePerpetualResult>;
|
|
282
282
|
/**
|
|
283
283
|
* Operator moderation action — archive a single project (ToS / abuse).
|
|
284
|
-
* Sets `projects.archived_at` to NOW(). Independent of
|
|
285
|
-
* lifecycle; the rest of the
|
|
284
|
+
* Sets `projects.archived_at` to NOW(). Independent of organization-level
|
|
285
|
+
* lifecycle; the rest of the organization's projects continue serving.
|
|
286
286
|
*
|
|
287
287
|
* Platform-admin only. Calls `POST /projects/v1/admin/:id/archive`.
|
|
288
288
|
*/
|
|
289
289
|
archiveProject(projectId: string, opts?: ArchiveProjectOptions): Promise<ArchiveProjectResult>;
|
|
290
290
|
/**
|
|
291
|
-
* Operator "un-archive" — flips `projects.archived_at` back to NULL.
|
|
292
|
-
*
|
|
293
|
-
*
|
|
294
|
-
*
|
|
295
|
-
* `lease_perpetual: true` via {@link setLeasePerpetual}.
|
|
291
|
+
* Operator "un-archive" — flips `projects.archived_at` back to NULL. It does
|
|
292
|
+
* not touch organization-level lifecycle. To reactivate a grace-state
|
|
293
|
+
* organization, either subscribe a new tier or set `lease_perpetual: true`
|
|
294
|
+
* via {@link setLeasePerpetual}.
|
|
296
295
|
*
|
|
297
296
|
* Platform-admin only. Calls `POST /projects/v1/admin/:id/reactivate`.
|
|
298
297
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/namespaces/admin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/namespaces/admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -143,30 +143,30 @@ export class Admin {
|
|
|
143
143
|
});
|
|
144
144
|
}
|
|
145
145
|
// -------------------------------------------------------------------------
|
|
146
|
-
// Operator-only project +
|
|
146
|
+
// Operator-only project + organization actions (v1.57).
|
|
147
147
|
// -------------------------------------------------------------------------
|
|
148
148
|
/**
|
|
149
|
-
* Toggle a
|
|
150
|
-
* hatch that pins every project
|
|
151
|
-
* per-project `pin` removed in v1.57). When enabling on an
|
|
149
|
+
* Toggle a organization's `lease_perpetual` flag — the operator escape
|
|
150
|
+
* hatch that pins every project in the organization (replaces the v1.56
|
|
151
|
+
* per-project `pin` removed in v1.57). When enabling on an organization in a
|
|
152
152
|
* grace state, the gateway reactivates inline and reports it via
|
|
153
153
|
* `reactivated: true`.
|
|
154
154
|
*
|
|
155
155
|
* Platform-admin only. Calls
|
|
156
|
-
* `POST /
|
|
156
|
+
* `POST /orgs/v1/admin/:org_id/lease-perpetual`.
|
|
157
157
|
*/
|
|
158
|
-
async setLeasePerpetual(
|
|
159
|
-
return this.client.request(`/
|
|
158
|
+
async setLeasePerpetual(organizationId, perpetual) {
|
|
159
|
+
return this.client.request(`/orgs/v1/admin/${encodeURIComponent(organizationId)}/lease-perpetual`, {
|
|
160
160
|
method: "POST",
|
|
161
161
|
headers: { "X-Admin-Mode": "1" },
|
|
162
162
|
body: { lease_perpetual: perpetual },
|
|
163
|
-
context: "setting
|
|
163
|
+
context: "setting organization lease_perpetual",
|
|
164
164
|
});
|
|
165
165
|
}
|
|
166
166
|
/**
|
|
167
167
|
* Operator moderation action — archive a single project (ToS / abuse).
|
|
168
|
-
* Sets `projects.archived_at` to NOW(). Independent of
|
|
169
|
-
* lifecycle; the rest of the
|
|
168
|
+
* Sets `projects.archived_at` to NOW(). Independent of organization-level
|
|
169
|
+
* lifecycle; the rest of the organization's projects continue serving.
|
|
170
170
|
*
|
|
171
171
|
* Platform-admin only. Calls `POST /projects/v1/admin/:id/archive`.
|
|
172
172
|
*/
|
|
@@ -182,11 +182,10 @@ export class Admin {
|
|
|
182
182
|
});
|
|
183
183
|
}
|
|
184
184
|
/**
|
|
185
|
-
* Operator "un-archive" — flips `projects.archived_at` back to NULL.
|
|
186
|
-
*
|
|
187
|
-
*
|
|
188
|
-
*
|
|
189
|
-
* `lease_perpetual: true` via {@link setLeasePerpetual}.
|
|
185
|
+
* Operator "un-archive" — flips `projects.archived_at` back to NULL. It does
|
|
186
|
+
* not touch organization-level lifecycle. To reactivate a grace-state
|
|
187
|
+
* organization, either subscribe a new tier or set `lease_perpetual: true`
|
|
188
|
+
* via {@link setLeasePerpetual}.
|
|
190
189
|
*
|
|
191
190
|
* Platform-admin only. Calls `POST /projects/v1/admin/:id/reactivate`.
|
|
192
191
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/namespaces/admin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/namespaces/admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `billing` namespace —
|
|
2
|
+
* `billing` namespace — organizations and Stripe checkouts.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Organizations are addressed by their canonical `organization_id` (UUID). A
|
|
5
5
|
* wallet or email is resolved to that id through the
|
|
6
|
-
* `GET /
|
|
7
|
-
* accept any of the three identifier forms and resolve internally.
|
|
8
|
-
* reads require SIWX from a wallet linked to the
|
|
6
|
+
* `GET /orgs/v1/lookup?wallet=|?email=` lookup; `getOrganization` / `history`
|
|
7
|
+
* accept any of the three identifier forms and resolve internally. Organization
|
|
8
|
+
* reads require SIWX from a wallet linked to the organization (or matching the
|
|
9
9
|
* looked-up `?wallet`), or an admin key; email lookups are admin-only.
|
|
10
10
|
* Mutations such as link-wallet / auto-recharge require SIWX (or admin);
|
|
11
11
|
* checkout-creation endpoints remain unauthenticated by design.
|
|
12
12
|
*/
|
|
13
13
|
import type { Client } from "../kernel.js";
|
|
14
14
|
import type { ProjectTier } from "./projects.types.js";
|
|
15
|
-
export interface
|
|
16
|
-
/** Canonical
|
|
17
|
-
|
|
15
|
+
export interface OrganizationDetail {
|
|
16
|
+
/** Canonical organization id (UUID). */
|
|
17
|
+
organization_id: string;
|
|
18
18
|
available_usd_micros: number;
|
|
19
19
|
/** Held/reserved portion of the balance; absent on gateways that predate the field. */
|
|
20
20
|
held_usd_micros?: number;
|
|
@@ -24,12 +24,6 @@ export interface BillingAccountDetail {
|
|
|
24
24
|
auto_recharge_enabled: boolean;
|
|
25
25
|
auto_recharge_threshold: number;
|
|
26
26
|
}
|
|
27
|
-
/**
|
|
28
|
-
* @deprecated Renamed to {@link BillingAccountDetail}. The account read now
|
|
29
|
-
* returns the canonical `billing_account_id` and no longer carries
|
|
30
|
-
* `identifier_type` (accounts are addressed by id, not by wallet/email).
|
|
31
|
-
*/
|
|
32
|
-
export type BillingBalance = BillingAccountDetail;
|
|
33
27
|
export interface BillingHistoryEntry {
|
|
34
28
|
id: string;
|
|
35
29
|
direction: "credit" | "debit";
|
|
@@ -43,15 +37,15 @@ export interface BillingHistoryEntry {
|
|
|
43
37
|
created_at: string;
|
|
44
38
|
}
|
|
45
39
|
export interface BillingHistoryResult {
|
|
46
|
-
/** Canonical
|
|
47
|
-
|
|
40
|
+
/** Canonical organization id (UUID) the entries belong to. */
|
|
41
|
+
organization_id: string;
|
|
48
42
|
entries: BillingHistoryEntry[];
|
|
49
43
|
}
|
|
50
44
|
export interface CreateCheckoutResult {
|
|
51
45
|
checkout_url: string;
|
|
52
46
|
topup_id: string;
|
|
53
47
|
}
|
|
54
|
-
export interface
|
|
48
|
+
export interface EmailOrganization {
|
|
55
49
|
id: string;
|
|
56
50
|
email: string;
|
|
57
51
|
email_credits_remaining: number;
|
|
@@ -65,8 +59,8 @@ export interface EmailBillingAccount {
|
|
|
65
59
|
export interface LinkWalletPoolImplications {
|
|
66
60
|
tier: ProjectTier | null;
|
|
67
61
|
projects_in_pool_count: number;
|
|
68
|
-
|
|
69
|
-
|
|
62
|
+
organization_api_calls_current: number;
|
|
63
|
+
organization_storage_bytes_current: number;
|
|
70
64
|
tier_limits: {
|
|
71
65
|
api_calls: number;
|
|
72
66
|
storage_bytes: number;
|
|
@@ -75,73 +69,73 @@ export interface LinkWalletPoolImplications {
|
|
|
75
69
|
}
|
|
76
70
|
export interface LinkWalletResult {
|
|
77
71
|
status: string;
|
|
78
|
-
|
|
72
|
+
organization_id: string;
|
|
79
73
|
wallet: string;
|
|
80
74
|
/** Present on v1.46+ gateways; undefined when the gateway predates the field. */
|
|
81
75
|
pool_implications?: LinkWalletPoolImplications;
|
|
82
76
|
}
|
|
83
|
-
export interface
|
|
77
|
+
export interface OrganizationCheckoutIdentifier {
|
|
84
78
|
email?: string;
|
|
85
79
|
wallet?: string;
|
|
86
80
|
}
|
|
87
|
-
export type
|
|
81
|
+
export type OrganizationIdentifier = string;
|
|
88
82
|
export interface AutoRechargeOptions {
|
|
89
|
-
|
|
83
|
+
organizationId: string;
|
|
90
84
|
enabled: boolean;
|
|
91
85
|
threshold?: number;
|
|
92
86
|
}
|
|
93
87
|
export declare class Billing {
|
|
94
88
|
private readonly client;
|
|
95
|
-
readonly balance: (identifier:
|
|
96
|
-
readonly createEmail: (email: string) => Promise<
|
|
89
|
+
readonly balance: (identifier: OrganizationIdentifier) => Promise<OrganizationDetail>;
|
|
90
|
+
readonly createEmail: (email: string) => Promise<EmailOrganization>;
|
|
97
91
|
readonly autoRecharge: (opts: AutoRechargeOptions) => Promise<void>;
|
|
98
92
|
constructor(client: Client);
|
|
99
|
-
/** Check a
|
|
100
|
-
checkBalance(identifier:
|
|
93
|
+
/** Check a organization by organization id (UUID), wallet, or email. */
|
|
94
|
+
checkBalance(identifier: OrganizationIdentifier): Promise<OrganizationDetail>;
|
|
101
95
|
/**
|
|
102
|
-
* Read a
|
|
103
|
-
* or email. An
|
|
96
|
+
* Read a organization's financial detail by organization id (UUID), wallet,
|
|
97
|
+
* or email. An organization id reads `GET /orgs/v1/:org_id/billing`
|
|
104
98
|
* directly; a wallet/email is resolved through the
|
|
105
|
-
* `GET /
|
|
106
|
-
* wallet linked to the
|
|
99
|
+
* `GET /orgs/v1/lookup?wallet=|?email=` lookup. Requires SIWX from a
|
|
100
|
+
* wallet linked to the organization (or matching the looked-up `?wallet`), or an
|
|
107
101
|
* admin key; email lookups are admin-only.
|
|
108
102
|
*/
|
|
109
|
-
|
|
103
|
+
getOrganization(identifier: OrganizationIdentifier): Promise<OrganizationDetail>;
|
|
110
104
|
/**
|
|
111
|
-
* Resolve a wallet or email to its
|
|
112
|
-
* canonical `
|
|
113
|
-
* An
|
|
105
|
+
* Resolve a wallet or email to its organization detail — including the
|
|
106
|
+
* canonical `organization_id` — via `GET /orgs/v1/lookup?wallet=|?email=`.
|
|
107
|
+
* An org-id (UUID) argument is read directly instead. SIWX must match the
|
|
114
108
|
* `?wallet`; email lookups are admin-only.
|
|
115
109
|
*/
|
|
116
|
-
|
|
117
|
-
/** Fetch billing history by
|
|
118
|
-
history(identifier:
|
|
110
|
+
lookupOrganization(identifier: OrganizationIdentifier): Promise<OrganizationDetail>;
|
|
111
|
+
/** Fetch billing history by organization id (UUID), wallet, or email. */
|
|
112
|
+
history(identifier: OrganizationIdentifier, limit?: number): Promise<BillingHistoryResult>;
|
|
119
113
|
/**
|
|
120
|
-
* Fetch ledger history for a
|
|
121
|
-
* (UUID): a wallet/email identifier is first resolved to its
|
|
122
|
-
* lookup, then `GET /
|
|
123
|
-
* Requires SIWX from a wallet linked to the
|
|
114
|
+
* Fetch ledger history for a organization. History is keyed by organization id
|
|
115
|
+
* (UUID): a wallet/email identifier is first resolved to its organization via the
|
|
116
|
+
* lookup, then `GET /orgs/v1/:org_id/billing/history` is read.
|
|
117
|
+
* Requires SIWX from a wallet linked to the organization, or an admin key.
|
|
124
118
|
*/
|
|
125
|
-
getHistory(identifier:
|
|
119
|
+
getHistory(identifier: OrganizationIdentifier, limit?: number): Promise<BillingHistoryResult>;
|
|
126
120
|
/** Create a Stripe checkout URL to fund a wallet's billing balance. */
|
|
127
121
|
createCheckout(wallet: string, amountUsdMicros: number): Promise<CreateCheckoutResult>;
|
|
128
|
-
/** Create an email-only (no-wallet)
|
|
129
|
-
|
|
122
|
+
/** Create an email-only (no-wallet) organization. Sends a verification email. */
|
|
123
|
+
createEmailOrganization(email: string): Promise<EmailOrganization>;
|
|
130
124
|
/**
|
|
131
|
-
* Link a wallet to an existing email
|
|
132
|
-
* Stripe + x402 payments. `
|
|
133
|
-
* `
|
|
134
|
-
* `
|
|
135
|
-
* `POST /
|
|
125
|
+
* Link a wallet to an existing email organization to enable hybrid
|
|
126
|
+
* Stripe + x402 payments. `organizationId` is the canonical
|
|
127
|
+
* `organization_id` (UUID) returned by `createEmailOrganization` /
|
|
128
|
+
* `lookupOrganization`; the gateway addresses the route as
|
|
129
|
+
* `POST /orgs/v1/:org_id/wallets`. Returns the gateway
|
|
136
130
|
* response; v1.46+ gateways include a {@link LinkWalletPoolImplications}
|
|
137
131
|
* block describing the freshly-shared pool's tier, current usage, and limits
|
|
138
132
|
* so callers can warn before the merge pushes usage `over_limit`.
|
|
139
133
|
*/
|
|
140
|
-
linkWallet(
|
|
134
|
+
linkWallet(organizationId: string, wallet: string): Promise<LinkWalletResult>;
|
|
141
135
|
/** Create a Stripe checkout for a tier subscription/renewal/upgrade. */
|
|
142
|
-
tierCheckout(tier: string, identifier:
|
|
136
|
+
tierCheckout(tier: string, identifier: OrganizationCheckoutIdentifier): Promise<CreateCheckoutResult>;
|
|
143
137
|
/** Buy a $5 email pack (10,000 emails). */
|
|
144
|
-
buyEmailPack(identifier:
|
|
138
|
+
buyEmailPack(identifier: OrganizationCheckoutIdentifier): Promise<CreateCheckoutResult>;
|
|
145
139
|
/** Enable/disable email-pack auto-recharge. */
|
|
146
140
|
setAutoRecharge(opts: AutoRechargeOptions): Promise<void>;
|
|
147
141
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../src/namespaces/billing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAS3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../src/namespaces/billing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `billing` namespace —
|
|
2
|
+
* `billing` namespace — organizations and Stripe checkouts.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Organizations are addressed by their canonical `organization_id` (UUID). A
|
|
5
5
|
* wallet or email is resolved to that id through the
|
|
6
|
-
* `GET /
|
|
7
|
-
* accept any of the three identifier forms and resolve internally.
|
|
8
|
-
* reads require SIWX from a wallet linked to the
|
|
6
|
+
* `GET /orgs/v1/lookup?wallet=|?email=` lookup; `getOrganization` / `history`
|
|
7
|
+
* accept any of the three identifier forms and resolve internally. Organization
|
|
8
|
+
* reads require SIWX from a wallet linked to the organization (or matching the
|
|
9
9
|
* looked-up `?wallet`), or an admin key; email lookups are admin-only.
|
|
10
10
|
* Mutations such as link-wallet / auto-recharge require SIWX (or admin);
|
|
11
11
|
* checkout-creation endpoints remain unauthenticated by design.
|
|
@@ -15,14 +15,14 @@ import { assertEmailAddress, assertEvmAddress, assertNonEmptyString, assertPosit
|
|
|
15
15
|
const BILLING_TIERS = ["prototype", "hobby", "team"];
|
|
16
16
|
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
17
17
|
/**
|
|
18
|
-
* Classify a billing identifier as a canonical
|
|
19
|
-
* wallet address, or an email. Wallets are lowercased;
|
|
18
|
+
* Classify a billing identifier as a canonical organization id (UUID), an EVM
|
|
19
|
+
* wallet address, or an email. Wallets are lowercased; organization ids and emails
|
|
20
20
|
* are returned verbatim. Throws {@link LocalError} for anything else.
|
|
21
21
|
*/
|
|
22
22
|
function classifyBillingIdentifier(identifier, context) {
|
|
23
23
|
assertNonEmptyString(identifier, "identifier", context);
|
|
24
24
|
if (UUID_RE.test(identifier)) {
|
|
25
|
-
return { kind: "
|
|
25
|
+
return { kind: "organization_id", value: identifier };
|
|
26
26
|
}
|
|
27
27
|
if (/^0x/i.test(identifier)) {
|
|
28
28
|
assertEvmAddress(identifier, "identifier", context);
|
|
@@ -31,28 +31,28 @@ function classifyBillingIdentifier(identifier, context) {
|
|
|
31
31
|
assertEmailAddress(identifier, "identifier", context);
|
|
32
32
|
return { kind: "email", value: identifier };
|
|
33
33
|
}
|
|
34
|
-
/** Read
|
|
35
|
-
function
|
|
36
|
-
return client.request(`/
|
|
34
|
+
/** Read organization billing detail by canonical id: `GET /orgs/v1/:org_id/billing`. */
|
|
35
|
+
function fetchOrganizationById(client, organizationId, context) {
|
|
36
|
+
return client.request(`/orgs/v1/${encodeURIComponent(organizationId)}/billing`, { context });
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
|
-
* Resolve a wallet / email to its
|
|
40
|
-
* `GET /
|
|
41
|
-
* detail shape as the by-id read, including the resolved `
|
|
39
|
+
* Resolve a wallet / email to its organization detail via the lookup endpoint
|
|
40
|
+
* `GET /orgs/v1/lookup?wallet=|?email=`. The lookup returns the same
|
|
41
|
+
* detail shape as the by-id read, including the resolved `organization_id`.
|
|
42
42
|
*/
|
|
43
|
-
function
|
|
44
|
-
return client.request(`/
|
|
43
|
+
function fetchOrganizationByLookup(client, kind, value, context) {
|
|
44
|
+
return client.request(`/orgs/v1/lookup?${kind}=${encodeURIComponent(value)}`, { context });
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
47
|
-
* Resolve any identifier form (
|
|
48
|
-
* detail.
|
|
47
|
+
* Resolve any identifier form (organization id / wallet / email) to the organization
|
|
48
|
+
* detail. Organization ids hit the canonical by-id read; wallet/email go through
|
|
49
49
|
* the `?wallet=`/`?email=` lookup. All paths send SIWX via the kernel default.
|
|
50
50
|
*/
|
|
51
|
-
async function
|
|
51
|
+
async function resolveOrganizationDetail(client, identifier, context) {
|
|
52
52
|
const id = classifyBillingIdentifier(identifier, context);
|
|
53
|
-
return id.kind === "
|
|
54
|
-
?
|
|
55
|
-
:
|
|
53
|
+
return id.kind === "organization_id"
|
|
54
|
+
? fetchOrganizationById(client, id.value, context)
|
|
55
|
+
: fetchOrganizationByLookup(client, id.kind, id.value, context);
|
|
56
56
|
}
|
|
57
57
|
function assertNonNegativeSafeInteger(value, name, context) {
|
|
58
58
|
if (!Number.isSafeInteger(value) || value < 0) {
|
|
@@ -91,53 +91,53 @@ export class Billing {
|
|
|
91
91
|
constructor(client) {
|
|
92
92
|
this.client = client;
|
|
93
93
|
this.balance = this.checkBalance.bind(this);
|
|
94
|
-
this.createEmail = this.
|
|
94
|
+
this.createEmail = this.createEmailOrganization.bind(this);
|
|
95
95
|
this.autoRecharge = this.setAutoRecharge.bind(this);
|
|
96
96
|
}
|
|
97
|
-
/** Check a
|
|
97
|
+
/** Check a organization by organization id (UUID), wallet, or email. */
|
|
98
98
|
async checkBalance(identifier) {
|
|
99
|
-
return this.
|
|
99
|
+
return this.getOrganization(identifier);
|
|
100
100
|
}
|
|
101
101
|
/**
|
|
102
|
-
* Read a
|
|
103
|
-
* or email. An
|
|
102
|
+
* Read a organization's financial detail by organization id (UUID), wallet,
|
|
103
|
+
* or email. An organization id reads `GET /orgs/v1/:org_id/billing`
|
|
104
104
|
* directly; a wallet/email is resolved through the
|
|
105
|
-
* `GET /
|
|
106
|
-
* wallet linked to the
|
|
105
|
+
* `GET /orgs/v1/lookup?wallet=|?email=` lookup. Requires SIWX from a
|
|
106
|
+
* wallet linked to the organization (or matching the looked-up `?wallet`), or an
|
|
107
107
|
* admin key; email lookups are admin-only.
|
|
108
108
|
*/
|
|
109
|
-
async
|
|
110
|
-
return
|
|
109
|
+
async getOrganization(identifier) {
|
|
110
|
+
return resolveOrganizationDetail(this.client, identifier, "checking balance");
|
|
111
111
|
}
|
|
112
112
|
/**
|
|
113
|
-
* Resolve a wallet or email to its
|
|
114
|
-
* canonical `
|
|
115
|
-
* An
|
|
113
|
+
* Resolve a wallet or email to its organization detail — including the
|
|
114
|
+
* canonical `organization_id` — via `GET /orgs/v1/lookup?wallet=|?email=`.
|
|
115
|
+
* An org-id (UUID) argument is read directly instead. SIWX must match the
|
|
116
116
|
* `?wallet`; email lookups are admin-only.
|
|
117
117
|
*/
|
|
118
|
-
async
|
|
119
|
-
return
|
|
118
|
+
async lookupOrganization(identifier) {
|
|
119
|
+
return resolveOrganizationDetail(this.client, identifier, "looking up organization");
|
|
120
120
|
}
|
|
121
|
-
/** Fetch billing history by
|
|
121
|
+
/** Fetch billing history by organization id (UUID), wallet, or email. */
|
|
122
122
|
async history(identifier, limit) {
|
|
123
123
|
return this.getHistory(identifier, limit);
|
|
124
124
|
}
|
|
125
125
|
/**
|
|
126
|
-
* Fetch ledger history for a
|
|
127
|
-
* (UUID): a wallet/email identifier is first resolved to its
|
|
128
|
-
* lookup, then `GET /
|
|
129
|
-
* Requires SIWX from a wallet linked to the
|
|
126
|
+
* Fetch ledger history for a organization. History is keyed by organization id
|
|
127
|
+
* (UUID): a wallet/email identifier is first resolved to its organization via the
|
|
128
|
+
* lookup, then `GET /orgs/v1/:org_id/billing/history` is read.
|
|
129
|
+
* Requires SIWX from a wallet linked to the organization, or an admin key.
|
|
130
130
|
*/
|
|
131
131
|
async getHistory(identifier, limit) {
|
|
132
132
|
if (limit !== undefined) {
|
|
133
133
|
assertPositiveSafeInteger(limit, "limit", "fetching billing history");
|
|
134
134
|
}
|
|
135
135
|
const id = classifyBillingIdentifier(identifier, "fetching billing history");
|
|
136
|
-
const
|
|
136
|
+
const organizationId = id.kind === "organization_id"
|
|
137
137
|
? id.value
|
|
138
|
-
: (await
|
|
139
|
-
.
|
|
140
|
-
const base = `/
|
|
138
|
+
: (await fetchOrganizationByLookup(this.client, id.kind, id.value, "fetching billing history"))
|
|
139
|
+
.organization_id;
|
|
140
|
+
const base = `/orgs/v1/${encodeURIComponent(organizationId)}/billing/history`;
|
|
141
141
|
const path = limit !== undefined
|
|
142
142
|
? `${base}?limit=${encodeURIComponent(String(limit))}`
|
|
143
143
|
: base;
|
|
@@ -156,30 +156,30 @@ export class Billing {
|
|
|
156
156
|
withAuth: false,
|
|
157
157
|
});
|
|
158
158
|
}
|
|
159
|
-
/** Create an email-only (no-wallet)
|
|
160
|
-
async
|
|
161
|
-
assertEmailAddress(email, "email", "creating email
|
|
162
|
-
return this.client.request("/
|
|
159
|
+
/** Create an email-only (no-wallet) organization. Sends a verification email. */
|
|
160
|
+
async createEmailOrganization(email) {
|
|
161
|
+
assertEmailAddress(email, "email", "creating email organization");
|
|
162
|
+
return this.client.request("/orgs/v1/email", {
|
|
163
163
|
method: "POST",
|
|
164
164
|
body: { email },
|
|
165
|
-
context: "creating email
|
|
165
|
+
context: "creating email organization",
|
|
166
166
|
withAuth: false,
|
|
167
167
|
});
|
|
168
168
|
}
|
|
169
169
|
/**
|
|
170
|
-
* Link a wallet to an existing email
|
|
171
|
-
* Stripe + x402 payments. `
|
|
172
|
-
* `
|
|
173
|
-
* `
|
|
174
|
-
* `POST /
|
|
170
|
+
* Link a wallet to an existing email organization to enable hybrid
|
|
171
|
+
* Stripe + x402 payments. `organizationId` is the canonical
|
|
172
|
+
* `organization_id` (UUID) returned by `createEmailOrganization` /
|
|
173
|
+
* `lookupOrganization`; the gateway addresses the route as
|
|
174
|
+
* `POST /orgs/v1/:org_id/wallets`. Returns the gateway
|
|
175
175
|
* response; v1.46+ gateways include a {@link LinkWalletPoolImplications}
|
|
176
176
|
* block describing the freshly-shared pool's tier, current usage, and limits
|
|
177
177
|
* so callers can warn before the merge pushes usage `over_limit`.
|
|
178
178
|
*/
|
|
179
|
-
async linkWallet(
|
|
180
|
-
assertNonEmptyString(
|
|
179
|
+
async linkWallet(organizationId, wallet) {
|
|
180
|
+
assertNonEmptyString(organizationId, "organizationId", "linking wallet");
|
|
181
181
|
assertEvmAddress(wallet, "wallet", "linking wallet");
|
|
182
|
-
return this.client.request(`/
|
|
182
|
+
return this.client.request(`/orgs/v1/${encodeURIComponent(organizationId)}/wallets`, {
|
|
183
183
|
method: "POST",
|
|
184
184
|
body: { wallet: wallet.toLowerCase() },
|
|
185
185
|
context: "linking wallet",
|
|
@@ -209,7 +209,7 @@ export class Billing {
|
|
|
209
209
|
/** Enable/disable email-pack auto-recharge. */
|
|
210
210
|
async setAutoRecharge(opts) {
|
|
211
211
|
const body = {
|
|
212
|
-
|
|
212
|
+
organization_id: opts.organizationId,
|
|
213
213
|
enabled: opts.enabled,
|
|
214
214
|
};
|
|
215
215
|
if (opts.threshold !== undefined) {
|