run402 2.19.0 → 2.20.1
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/cli.mjs +6 -0
- package/lib/transfer.mjs +266 -0
- package/package.json +1 -1
- package/sdk/dist/errors.d.ts +30 -1
- package/sdk/dist/errors.d.ts.map +1 -1
- package/sdk/dist/errors.js +54 -0
- package/sdk/dist/errors.js.map +1 -1
- package/sdk/dist/index.d.ts +3 -1
- package/sdk/dist/index.d.ts.map +1 -1
- package/sdk/dist/index.js +2 -1
- package/sdk/dist/index.js.map +1 -1
- package/sdk/dist/kernel.d.ts.map +1 -1
- package/sdk/dist/kernel.js +10 -1
- package/sdk/dist/kernel.js.map +1 -1
- package/sdk/dist/namespaces/admin.d.ts +7 -0
- package/sdk/dist/namespaces/admin.d.ts.map +1 -1
- package/sdk/dist/namespaces/admin.js +8 -0
- package/sdk/dist/namespaces/admin.js.map +1 -1
- package/sdk/dist/namespaces/billing.d.ts +5 -4
- package/sdk/dist/namespaces/billing.d.ts.map +1 -1
- package/sdk/dist/namespaces/billing.js +5 -8
- package/sdk/dist/namespaces/billing.js.map +1 -1
- package/sdk/dist/namespaces/tier.d.ts +60 -0
- package/sdk/dist/namespaces/tier.d.ts.map +1 -1
- package/sdk/dist/namespaces/tier.js.map +1 -1
- package/sdk/dist/namespaces/transfers.d.ts +199 -0
- package/sdk/dist/namespaces/transfers.d.ts.map +1 -0
- package/sdk/dist/namespaces/transfers.js +115 -0
- package/sdk/dist/namespaces/transfers.js.map +1 -0
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* they stitch together multiple SDK namespaces + local state.)
|
|
7
7
|
*/
|
|
8
8
|
import type { Client } from "../kernel.js";
|
|
9
|
+
import { Transfers } from "./transfers.js";
|
|
9
10
|
export interface AgentContact {
|
|
10
11
|
name: string;
|
|
11
12
|
email?: string;
|
|
@@ -203,6 +204,12 @@ export interface OperatorStatusResult {
|
|
|
203
204
|
}
|
|
204
205
|
export declare class Admin {
|
|
205
206
|
private readonly client;
|
|
207
|
+
/**
|
|
208
|
+
* Project transfer sub-namespace (v1.59+) — two-party SIWX-signed
|
|
209
|
+
* project handoff. Access via `r.admin.transfers.{initiate, preview,
|
|
210
|
+
* accept, cancel, listIncoming, listOutgoing}`.
|
|
211
|
+
*/
|
|
212
|
+
readonly transfers: Transfers;
|
|
206
213
|
constructor(client: Client);
|
|
207
214
|
/** Send a message to the Run402 developers. Requires an active tier. */
|
|
208
215
|
sendMessage(message: string): Promise<SendMessageResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/namespaces/admin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/namespaces/admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,11 +6,19 @@
|
|
|
6
6
|
* they stitch together multiple SDK namespaces + local state.)
|
|
7
7
|
*/
|
|
8
8
|
import { LocalError } from "../errors.js";
|
|
9
|
+
import { Transfers } from "./transfers.js";
|
|
9
10
|
const FINANCE_WINDOWS = new Set(["24h", "7d", "30d", "90d"]);
|
|
10
11
|
export class Admin {
|
|
11
12
|
client;
|
|
13
|
+
/**
|
|
14
|
+
* Project transfer sub-namespace (v1.59+) — two-party SIWX-signed
|
|
15
|
+
* project handoff. Access via `r.admin.transfers.{initiate, preview,
|
|
16
|
+
* accept, cancel, listIncoming, listOutgoing}`.
|
|
17
|
+
*/
|
|
18
|
+
transfers;
|
|
12
19
|
constructor(client) {
|
|
13
20
|
this.client = client;
|
|
21
|
+
this.transfers = new Transfers(client);
|
|
14
22
|
}
|
|
15
23
|
/** Send a message to the Run402 developers. Requires an active tier. */
|
|
16
24
|
async sendMessage(message) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/namespaces/admin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/namespaces/admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `billing` namespace — wallet-scoped billing accounts and Stripe checkouts.
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
* Identifies accounts by wallet address or email. Reads of an existing account
|
|
4
|
+
* and mutations such as link-wallet / auto-recharge require SIWX (or an admin
|
|
5
|
+
* key); checkout-creation endpoints remain unauthenticated by design.
|
|
5
6
|
*/
|
|
6
7
|
import type { Client } from "../kernel.js";
|
|
7
8
|
import type { ProjectTier } from "./projects.types.js";
|
|
@@ -80,9 +81,9 @@ export declare class Billing {
|
|
|
80
81
|
readonly createEmail: (email: string) => Promise<EmailBillingAccount>;
|
|
81
82
|
readonly autoRecharge: (opts: AutoRechargeOptions) => Promise<void>;
|
|
82
83
|
constructor(client: Client);
|
|
83
|
-
/** Check a billing account by wallet or email identifier.
|
|
84
|
+
/** Check a billing account by wallet or email identifier. */
|
|
84
85
|
checkBalance(identifier: BillingAccountIdentifier): Promise<BillingBalance>;
|
|
85
|
-
/** Check a billing account by wallet or email identifier.
|
|
86
|
+
/** Check a billing account by wallet or email identifier. */
|
|
86
87
|
getAccount(identifier: BillingAccountIdentifier): Promise<BillingBalance>;
|
|
87
88
|
/** Fetch billing history by wallet or email identifier. */
|
|
88
89
|
history(identifier: BillingAccountIdentifier, limit?: number): Promise<BillingHistoryResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../src/namespaces/billing.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../src/namespaces/billing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `billing` namespace — wallet-scoped billing accounts and Stripe checkouts.
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
* Identifies accounts by wallet address or email. Reads of an existing account
|
|
4
|
+
* and mutations such as link-wallet / auto-recharge require SIWX (or an admin
|
|
5
|
+
* key); checkout-creation endpoints remain unauthenticated by design.
|
|
5
6
|
*/
|
|
6
7
|
import { LocalError } from "../errors.js";
|
|
7
8
|
import { assertEmailAddress, assertEvmAddress, assertNonEmptyString, assertPositiveSafeInteger, assertStringInSet, } from "../validation.js";
|
|
@@ -59,16 +60,15 @@ export class Billing {
|
|
|
59
60
|
this.createEmail = this.createEmailAccount.bind(this);
|
|
60
61
|
this.autoRecharge = this.setAutoRecharge.bind(this);
|
|
61
62
|
}
|
|
62
|
-
/** Check a billing account by wallet or email identifier.
|
|
63
|
+
/** Check a billing account by wallet or email identifier. */
|
|
63
64
|
async checkBalance(identifier) {
|
|
64
65
|
return this.getAccount(identifier);
|
|
65
66
|
}
|
|
66
|
-
/** Check a billing account by wallet or email identifier.
|
|
67
|
+
/** Check a billing account by wallet or email identifier. */
|
|
67
68
|
async getAccount(identifier) {
|
|
68
69
|
const encoded = encodeBillingIdentifier(identifier, "checking balance");
|
|
69
70
|
return this.client.request(`/billing/v1/accounts/${encoded}`, {
|
|
70
71
|
context: "checking balance",
|
|
71
|
-
withAuth: false,
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
74
|
/** Fetch billing history by wallet or email identifier. */
|
|
@@ -86,7 +86,6 @@ export class Billing {
|
|
|
86
86
|
: `/billing/v1/accounts/${encoded}/history`;
|
|
87
87
|
return this.client.request(path, {
|
|
88
88
|
context: "fetching billing history",
|
|
89
|
-
withAuth: false,
|
|
90
89
|
});
|
|
91
90
|
}
|
|
92
91
|
/** Create a Stripe checkout URL to fund a wallet's billing balance. */
|
|
@@ -124,7 +123,6 @@ export class Billing {
|
|
|
124
123
|
method: "POST",
|
|
125
124
|
body: { wallet: wallet.toLowerCase() },
|
|
126
125
|
context: "linking wallet",
|
|
127
|
-
withAuth: false,
|
|
128
126
|
});
|
|
129
127
|
}
|
|
130
128
|
/** Create a Stripe checkout for a tier subscription/renewal/upgrade. */
|
|
@@ -162,7 +160,6 @@ export class Billing {
|
|
|
162
160
|
method: "POST",
|
|
163
161
|
body,
|
|
164
162
|
context: "setting auto-recharge",
|
|
165
|
-
withAuth: false,
|
|
166
163
|
});
|
|
167
164
|
}
|
|
168
165
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/namespaces/billing.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/namespaces/billing.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,53 @@ export interface TierFunctionLimits {
|
|
|
13
13
|
current_scheduled_functions?: number;
|
|
14
14
|
[key: string]: unknown;
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Per-project summary returned in `TierStatusResult.projects[]`. Mirrors the
|
|
18
|
+
* gateway's `WalletTierInfo.projects[]` shape. Pre-v1.57 gateways may omit
|
|
19
|
+
* `effective_status` / `account_lifecycle_state` / `lease_perpetual`; pre-v1.59
|
|
20
|
+
* gateways omit `secrets_rotation_advised`. Unknown future fields are preserved
|
|
21
|
+
* via the index signature so callers can branch on them.
|
|
22
|
+
*/
|
|
23
|
+
export interface TierStatusProject {
|
|
24
|
+
id: string;
|
|
25
|
+
name: string;
|
|
26
|
+
tier: string;
|
|
27
|
+
status: string;
|
|
28
|
+
pinned: boolean;
|
|
29
|
+
created_at: string;
|
|
30
|
+
effective_status?: string;
|
|
31
|
+
account_lifecycle_state?: string;
|
|
32
|
+
lease_perpetual?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* v1.59 (add-project-transfer): set on a project after an accepted transfer
|
|
35
|
+
* stamped `projects.secrets_rotation_advised_at`. Clears automatically once
|
|
36
|
+
* B has re-written every previously-inherited secret name (or via the
|
|
37
|
+
* explicit acknowledge route). Surfaced so agents can guide rotation.
|
|
38
|
+
*/
|
|
39
|
+
secrets_rotation_advised?: {
|
|
40
|
+
advised_at: string;
|
|
41
|
+
reason: string;
|
|
42
|
+
};
|
|
43
|
+
[key: string]: unknown;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* v1.59 (add-project-transfer): summary of a pending transfer OFFERED TO the
|
|
47
|
+
* authenticated wallet. Exposed at the top level of `TierStatusResult` so the
|
|
48
|
+
* inbox is visible without a separate API call. Each entry carries
|
|
49
|
+
* `preview_path` for deep-linking into `GET /agent/v1/transfers/<id>`.
|
|
50
|
+
*/
|
|
51
|
+
export interface TierStatusIncomingTransfer {
|
|
52
|
+
transfer_id: string;
|
|
53
|
+
project_id: string;
|
|
54
|
+
project_name_snapshot: string | null;
|
|
55
|
+
from_wallet: string;
|
|
56
|
+
billing_policy: "migrate";
|
|
57
|
+
message: string | null;
|
|
58
|
+
initiated_at: string;
|
|
59
|
+
expires_at: string;
|
|
60
|
+
kysigned_record_id: string | null;
|
|
61
|
+
preview_path: string;
|
|
62
|
+
}
|
|
16
63
|
export interface TierStatusResult {
|
|
17
64
|
wallet: string;
|
|
18
65
|
tier: string | null;
|
|
@@ -38,6 +85,19 @@ export interface TierStatusResult {
|
|
|
38
85
|
api_calls_limit: number;
|
|
39
86
|
storage_bytes_limit: number;
|
|
40
87
|
};
|
|
88
|
+
/**
|
|
89
|
+
* Per-project summary across all projects on the wallet's billing account.
|
|
90
|
+
* Always present on v1.46+ gateways. Pre-v1.59 entries lack
|
|
91
|
+
* `secrets_rotation_advised`.
|
|
92
|
+
*/
|
|
93
|
+
projects?: TierStatusProject[];
|
|
94
|
+
/**
|
|
95
|
+
* v1.59 (add-project-transfer): pending transfers offered TO this wallet.
|
|
96
|
+
* Empty array when none. Absent on pre-v1.59 gateways. Each entry carries
|
|
97
|
+
* `preview_path` so callers can deep-link into the full preview document
|
|
98
|
+
* without a second list call.
|
|
99
|
+
*/
|
|
100
|
+
incoming_transfers?: TierStatusIncomingTransfer[];
|
|
41
101
|
/** Function authoring caps returned by newer gateways. Unknown future
|
|
42
102
|
* limit fields are preserved so callers can display or branch on them. */
|
|
43
103
|
function_limits?: TierFunctionLimits;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tier.d.ts","sourceRoot":"","sources":["../../src/namespaces/tier.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,uBAAuB,CAAC,EACpB,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,SAAS,GACT,QAAQ,CAAC;IACb;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,eAAe,EAAE,MAAM,CAAC;QACxB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF;+EAC2E;IAC3E,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC,6EAA6E;IAC7E,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,kBAAkB,CAAC;QAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,8BAA8B,EAAE,MAAM,CAAC;CACxC;AAED,qBAAa,IAAI;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C,uEAAuE;IACjE,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAMzC;;;;;OAKG;IACG,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;CAOlD"}
|
|
1
|
+
{"version":3,"file":"tier.d.ts","sourceRoot":"","sources":["../../src/namespaces/tier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tier.js","sourceRoot":"","sources":["../../src/namespaces/tier.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"tier.js","sourceRoot":"","sources":["../../src/namespaces/tier.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA+HH,MAAM,OAAO,IAAI;IACc;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,uEAAuE;IACvE,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAmB,kBAAkB,EAAE;YAC/D,OAAO,EAAE,sBAAsB;SAChC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,IAAc;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAgB,aAAa,IAAI,EAAE,EAAE;YAC7D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,cAAc;SACxB,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `transfers` namespace — two-party SIWX-signed project transfer (v1.59).
|
|
3
|
+
*
|
|
4
|
+
* Exposed as `r.admin.transfers.*`. Phase 1A surface: initiate (owner-only),
|
|
5
|
+
* preview, accept (recipient), cancel (either party), and incoming/outgoing
|
|
6
|
+
* inboxes. The handoff is atomic at accept time: ownership flips, CI
|
|
7
|
+
* bindings are revoked, secret names carry over (values are NOT visible to
|
|
8
|
+
* the recipient before accept), and the project is decorated with a
|
|
9
|
+
* persistent `secrets_rotation_advised` advisory.
|
|
10
|
+
*
|
|
11
|
+
* Gateway endpoints:
|
|
12
|
+
* POST /projects/v1/:project_id/transfers — A initiates
|
|
13
|
+
* GET /agent/v1/transfers/incoming — B's inbox
|
|
14
|
+
* GET /agent/v1/transfers/outgoing — A's outbox
|
|
15
|
+
* GET /agent/v1/transfers/:transfer_id — preview (either party)
|
|
16
|
+
* POST /agent/v1/transfers/:transfer_id/accept — B accepts
|
|
17
|
+
* POST /agent/v1/transfers/:transfer_id/cancel — either party cancels
|
|
18
|
+
*
|
|
19
|
+
* Owner-side mutations against a project with a pending transfer return
|
|
20
|
+
* 409 `PROJECT_HAS_PENDING_TRANSFER`. The SDK kernel surfaces that as
|
|
21
|
+
* {@link TransferFreezeError} so agents can guide the user to cancel.
|
|
22
|
+
*/
|
|
23
|
+
import type { Client } from "../kernel.js";
|
|
24
|
+
/** Phase 1A only supports the `migrate` policy — B's wallet must already be on a billing account, and the project moves into it. */
|
|
25
|
+
export type TransferBillingPolicy = "migrate";
|
|
26
|
+
export type TransferStatus = "pending" | "accepted" | "cancelled" | "expired";
|
|
27
|
+
export type TransferCancelledBy = "from_wallet" | "to_wallet" | "system";
|
|
28
|
+
/** Inputs to `r.admin.transfers.initiate(...)`. */
|
|
29
|
+
export interface InitiateTransferInput {
|
|
30
|
+
/** Project id to transfer. Caller must currently own it (gateway re-checks against fresh DB, not cache). */
|
|
31
|
+
projectId: string;
|
|
32
|
+
/** Recipient wallet (any case — gateway lowercases). Must differ from the current owner. */
|
|
33
|
+
toWallet: string;
|
|
34
|
+
/**
|
|
35
|
+
* Billing policy. Defaults to `"migrate"`. Phase 1A only supports
|
|
36
|
+
* `"migrate"`; future phases may add `"inherit"` as a separate spec.
|
|
37
|
+
*/
|
|
38
|
+
billingPolicy?: TransferBillingPolicy;
|
|
39
|
+
/** Optional free-text note shown to the recipient in the preview + emails (HTML-escaped server-side). */
|
|
40
|
+
message?: string;
|
|
41
|
+
/** Optional KySigned record id (Phase 1A: informational only, stored verbatim, not verified). */
|
|
42
|
+
kysignedRecordId?: string;
|
|
43
|
+
}
|
|
44
|
+
export interface InitiateTransferResult {
|
|
45
|
+
transfer_id: string;
|
|
46
|
+
expires_at: string;
|
|
47
|
+
project_summary: {
|
|
48
|
+
project_id: string;
|
|
49
|
+
project_name: string | null;
|
|
50
|
+
billing_policy: TransferBillingPolicy;
|
|
51
|
+
from_wallet: string;
|
|
52
|
+
to_wallet: string;
|
|
53
|
+
};
|
|
54
|
+
your_unused_lease_days: number;
|
|
55
|
+
lease_refundable: false;
|
|
56
|
+
terms_sha256: string;
|
|
57
|
+
}
|
|
58
|
+
export interface AcceptTransferResult {
|
|
59
|
+
project_id: string;
|
|
60
|
+
from_wallet: string;
|
|
61
|
+
to_wallet: string;
|
|
62
|
+
new_billing_account_id: string | null;
|
|
63
|
+
completed_at: string;
|
|
64
|
+
secrets_rotation_advised: true;
|
|
65
|
+
/** Names of secrets that carried over with the project. Values are never returned. */
|
|
66
|
+
secret_names_inherited: string[];
|
|
67
|
+
secrets_count_inherited: number;
|
|
68
|
+
/** Verbatim reminder that GitHub repo ownership is NOT part of the transfer. */
|
|
69
|
+
github_repo_note: string;
|
|
70
|
+
}
|
|
71
|
+
export interface CancelTransferResult {
|
|
72
|
+
transfer_id: string;
|
|
73
|
+
status: "cancelled";
|
|
74
|
+
cancelled_by: TransferCancelledBy;
|
|
75
|
+
cancellation_reason: string | null;
|
|
76
|
+
cancelled_at: string;
|
|
77
|
+
}
|
|
78
|
+
/** Summary row used in `/agent/v1/transfers/incoming` and `/outgoing`. */
|
|
79
|
+
export interface TransferSummary {
|
|
80
|
+
transfer_id: string;
|
|
81
|
+
project_id: string;
|
|
82
|
+
project_name_snapshot: string | null;
|
|
83
|
+
from_wallet: string;
|
|
84
|
+
to_wallet: string;
|
|
85
|
+
billing_policy: TransferBillingPolicy;
|
|
86
|
+
message: string | null;
|
|
87
|
+
initiated_at: string;
|
|
88
|
+
expires_at: string;
|
|
89
|
+
kysigned_record_id: string | null;
|
|
90
|
+
/** API path for the full preview document. */
|
|
91
|
+
preview_path: string;
|
|
92
|
+
}
|
|
93
|
+
export interface ListTransfersOptions {
|
|
94
|
+
/** Page size; defaults to 50 on the gateway. */
|
|
95
|
+
limit?: number;
|
|
96
|
+
offset?: number;
|
|
97
|
+
}
|
|
98
|
+
export interface CustomDomainPreview {
|
|
99
|
+
hostname: string;
|
|
100
|
+
status: string | null;
|
|
101
|
+
}
|
|
102
|
+
export interface SubdomainPreview {
|
|
103
|
+
name: string;
|
|
104
|
+
status: string | null;
|
|
105
|
+
}
|
|
106
|
+
export interface FunctionPreview {
|
|
107
|
+
name: string;
|
|
108
|
+
runtime: string | null;
|
|
109
|
+
timeout_ms: number | null;
|
|
110
|
+
memory_mb: number | null;
|
|
111
|
+
scheduled: boolean;
|
|
112
|
+
}
|
|
113
|
+
export interface MailboxSummary {
|
|
114
|
+
count: number;
|
|
115
|
+
slugs_truncated: string[];
|
|
116
|
+
}
|
|
117
|
+
export interface CiBindingPreview {
|
|
118
|
+
id: string;
|
|
119
|
+
github_repository: string | null;
|
|
120
|
+
github_subject_pattern: string;
|
|
121
|
+
created_at: string;
|
|
122
|
+
}
|
|
123
|
+
export interface ContractWalletPreview {
|
|
124
|
+
/** Always an empty array in Phase 1A. Reserved for future project-scoped KMS wallets. */
|
|
125
|
+
address: string;
|
|
126
|
+
chain: string;
|
|
127
|
+
}
|
|
128
|
+
export interface BillingImplications {
|
|
129
|
+
from_billing_account_id: string | null;
|
|
130
|
+
target_billing_account_id: string | null;
|
|
131
|
+
tier: string | null;
|
|
132
|
+
secrets_count: number;
|
|
133
|
+
functions_count: number;
|
|
134
|
+
custom_domains_count: number;
|
|
135
|
+
}
|
|
136
|
+
export interface ProjectTransferPreview {
|
|
137
|
+
transfer_id: string;
|
|
138
|
+
project_id: string;
|
|
139
|
+
project_name_snapshot: string | null;
|
|
140
|
+
status: TransferStatus;
|
|
141
|
+
from_wallet: string;
|
|
142
|
+
from_wallet_display: string;
|
|
143
|
+
to_wallet: string;
|
|
144
|
+
to_wallet_display: string;
|
|
145
|
+
billing_policy: TransferBillingPolicy;
|
|
146
|
+
message: string | null;
|
|
147
|
+
initiated_at: string;
|
|
148
|
+
expires_at: string;
|
|
149
|
+
kysigned_record_id: string | null;
|
|
150
|
+
terms_sha256: string;
|
|
151
|
+
custom_domains: CustomDomainPreview[];
|
|
152
|
+
subdomains: SubdomainPreview[];
|
|
153
|
+
functions: FunctionPreview[];
|
|
154
|
+
/** Secret NAMES only — values are never returned. */
|
|
155
|
+
secret_names: string[];
|
|
156
|
+
mailbox_summary: MailboxSummary;
|
|
157
|
+
ci_bindings_to_be_revoked: CiBindingPreview[];
|
|
158
|
+
contract_wallets: ContractWalletPreview[];
|
|
159
|
+
github_repo_note: string;
|
|
160
|
+
billing_implications: BillingImplications;
|
|
161
|
+
}
|
|
162
|
+
export declare class Transfers {
|
|
163
|
+
private readonly client;
|
|
164
|
+
constructor(client: Client);
|
|
165
|
+
/**
|
|
166
|
+
* Initiate a two-party project transfer. Caller must currently own
|
|
167
|
+
* `projectId` (gateway re-reads owner from DB, not cache). Creates a
|
|
168
|
+
* `pending` row with a 72h expiry and freezes owner-side mutations on
|
|
169
|
+
* the project until the transfer is accepted, cancelled, or expires.
|
|
170
|
+
*/
|
|
171
|
+
initiate(input: InitiateTransferInput): Promise<InitiateTransferResult>;
|
|
172
|
+
/**
|
|
173
|
+
* Fetch the preview document for a pending or terminal transfer. The
|
|
174
|
+
* caller must be either the `from_wallet` or the `to_wallet`; other
|
|
175
|
+
* wallets receive 403. Preview lists secret NAMES (not values), custom
|
|
176
|
+
* domains, functions, CI bindings that will be revoked at accept, and
|
|
177
|
+
* the billing implications.
|
|
178
|
+
*/
|
|
179
|
+
preview(transferId: string): Promise<ProjectTransferPreview>;
|
|
180
|
+
/**
|
|
181
|
+
* Accept an incoming transfer. The caller's wallet must equal the
|
|
182
|
+
* transfer's `to_wallet`. The accept transaction atomically flips
|
|
183
|
+
* ownership, revokes A's CI bindings on the project, enqueues
|
|
184
|
+
* notifications to both parties, and stamps the persistent
|
|
185
|
+
* `secrets_rotation_advised` advisory on the project.
|
|
186
|
+
*/
|
|
187
|
+
accept(transferId: string): Promise<AcceptTransferResult>;
|
|
188
|
+
/**
|
|
189
|
+
* Cancel a pending transfer. The caller must be either the `from_wallet`
|
|
190
|
+
* or the `to_wallet`. Already-accepted/cancelled/expired transfers
|
|
191
|
+
* return 409 `TRANSFER_ALREADY_PROCESSED`.
|
|
192
|
+
*/
|
|
193
|
+
cancel(transferId: string, reason?: string): Promise<CancelTransferResult>;
|
|
194
|
+
/** Pending transfers OFFERED TO the authenticated wallet. */
|
|
195
|
+
listIncoming(opts?: ListTransfersOptions): Promise<TransferSummary[]>;
|
|
196
|
+
/** Pending transfers INITIATED BY the authenticated wallet. */
|
|
197
|
+
listOutgoing(opts?: ListTransfersOptions): Promise<TransferSummary[]>;
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=transfers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfers.d.ts","sourceRoot":"","sources":["../../src/namespaces/transfers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `transfers` namespace — two-party SIWX-signed project transfer (v1.59).
|
|
3
|
+
*
|
|
4
|
+
* Exposed as `r.admin.transfers.*`. Phase 1A surface: initiate (owner-only),
|
|
5
|
+
* preview, accept (recipient), cancel (either party), and incoming/outgoing
|
|
6
|
+
* inboxes. The handoff is atomic at accept time: ownership flips, CI
|
|
7
|
+
* bindings are revoked, secret names carry over (values are NOT visible to
|
|
8
|
+
* the recipient before accept), and the project is decorated with a
|
|
9
|
+
* persistent `secrets_rotation_advised` advisory.
|
|
10
|
+
*
|
|
11
|
+
* Gateway endpoints:
|
|
12
|
+
* POST /projects/v1/:project_id/transfers — A initiates
|
|
13
|
+
* GET /agent/v1/transfers/incoming — B's inbox
|
|
14
|
+
* GET /agent/v1/transfers/outgoing — A's outbox
|
|
15
|
+
* GET /agent/v1/transfers/:transfer_id — preview (either party)
|
|
16
|
+
* POST /agent/v1/transfers/:transfer_id/accept — B accepts
|
|
17
|
+
* POST /agent/v1/transfers/:transfer_id/cancel — either party cancels
|
|
18
|
+
*
|
|
19
|
+
* Owner-side mutations against a project with a pending transfer return
|
|
20
|
+
* 409 `PROJECT_HAS_PENDING_TRANSFER`. The SDK kernel surfaces that as
|
|
21
|
+
* {@link TransferFreezeError} so agents can guide the user to cancel.
|
|
22
|
+
*/
|
|
23
|
+
// ─── Class ───────────────────────────────────────────────────────────────────
|
|
24
|
+
export class Transfers {
|
|
25
|
+
client;
|
|
26
|
+
constructor(client) {
|
|
27
|
+
this.client = client;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Initiate a two-party project transfer. Caller must currently own
|
|
31
|
+
* `projectId` (gateway re-reads owner from DB, not cache). Creates a
|
|
32
|
+
* `pending` row with a 72h expiry and freezes owner-side mutations on
|
|
33
|
+
* the project until the transfer is accepted, cancelled, or expires.
|
|
34
|
+
*/
|
|
35
|
+
async initiate(input) {
|
|
36
|
+
const body = { to_wallet: input.toWallet };
|
|
37
|
+
if (input.billingPolicy !== undefined)
|
|
38
|
+
body.billing_policy = input.billingPolicy;
|
|
39
|
+
if (input.message !== undefined)
|
|
40
|
+
body.message = input.message;
|
|
41
|
+
if (input.kysignedRecordId !== undefined)
|
|
42
|
+
body.kysigned_record_id = input.kysignedRecordId;
|
|
43
|
+
return this.client.request(`/projects/v1/${encodeURIComponent(input.projectId)}/transfers`, {
|
|
44
|
+
method: "POST",
|
|
45
|
+
body,
|
|
46
|
+
context: "initiating project transfer",
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Fetch the preview document for a pending or terminal transfer. The
|
|
51
|
+
* caller must be either the `from_wallet` or the `to_wallet`; other
|
|
52
|
+
* wallets receive 403. Preview lists secret NAMES (not values), custom
|
|
53
|
+
* domains, functions, CI bindings that will be revoked at accept, and
|
|
54
|
+
* the billing implications.
|
|
55
|
+
*/
|
|
56
|
+
async preview(transferId) {
|
|
57
|
+
return this.client.request(`/agent/v1/transfers/${encodeURIComponent(transferId)}`, { context: "previewing project transfer" });
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Accept an incoming transfer. The caller's wallet must equal the
|
|
61
|
+
* transfer's `to_wallet`. The accept transaction atomically flips
|
|
62
|
+
* ownership, revokes A's CI bindings on the project, enqueues
|
|
63
|
+
* notifications to both parties, and stamps the persistent
|
|
64
|
+
* `secrets_rotation_advised` advisory on the project.
|
|
65
|
+
*/
|
|
66
|
+
async accept(transferId) {
|
|
67
|
+
return this.client.request(`/agent/v1/transfers/${encodeURIComponent(transferId)}/accept`, {
|
|
68
|
+
method: "POST",
|
|
69
|
+
body: {},
|
|
70
|
+
context: "accepting project transfer",
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Cancel a pending transfer. The caller must be either the `from_wallet`
|
|
75
|
+
* or the `to_wallet`. Already-accepted/cancelled/expired transfers
|
|
76
|
+
* return 409 `TRANSFER_ALREADY_PROCESSED`.
|
|
77
|
+
*/
|
|
78
|
+
async cancel(transferId, reason) {
|
|
79
|
+
const body = {};
|
|
80
|
+
if (reason !== undefined)
|
|
81
|
+
body.reason = reason;
|
|
82
|
+
return this.client.request(`/agent/v1/transfers/${encodeURIComponent(transferId)}/cancel`, {
|
|
83
|
+
method: "POST",
|
|
84
|
+
body,
|
|
85
|
+
context: "cancelling project transfer",
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/** Pending transfers OFFERED TO the authenticated wallet. */
|
|
89
|
+
async listIncoming(opts = {}) {
|
|
90
|
+
const q = buildPagination(opts);
|
|
91
|
+
const path = q ? `/agent/v1/transfers/incoming?${q}` : "/agent/v1/transfers/incoming";
|
|
92
|
+
const res = await this.client.request(path, {
|
|
93
|
+
context: "listing incoming transfers",
|
|
94
|
+
});
|
|
95
|
+
return res.transfers;
|
|
96
|
+
}
|
|
97
|
+
/** Pending transfers INITIATED BY the authenticated wallet. */
|
|
98
|
+
async listOutgoing(opts = {}) {
|
|
99
|
+
const q = buildPagination(opts);
|
|
100
|
+
const path = q ? `/agent/v1/transfers/outgoing?${q}` : "/agent/v1/transfers/outgoing";
|
|
101
|
+
const res = await this.client.request(path, {
|
|
102
|
+
context: "listing outgoing transfers",
|
|
103
|
+
});
|
|
104
|
+
return res.transfers;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
function buildPagination(opts) {
|
|
108
|
+
const parts = [];
|
|
109
|
+
if (opts.limit !== undefined)
|
|
110
|
+
parts.push(`limit=${encodeURIComponent(String(opts.limit))}`);
|
|
111
|
+
if (opts.offset !== undefined)
|
|
112
|
+
parts.push(`offset=${encodeURIComponent(String(opts.offset))}`);
|
|
113
|
+
return parts.join("&");
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=transfers.js.map
|