run402-mcp 3.7.13 → 3.8.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 +7 -5
- package/core/dist/config.d.ts +3 -0
- package/core/dist/config.d.ts.map +1 -1
- package/core/dist/config.js +9 -0
- package/core/dist/config.js.map +1 -1
- package/core/dist/keystore.d.ts +11 -3
- package/core/dist/keystore.d.ts.map +1 -1
- package/core/dist/keystore.js +103 -68
- package/core/dist/keystore.js.map +1 -1
- package/core/dist/profile-state.d.ts +29 -0
- package/core/dist/profile-state.d.ts.map +1 -0
- package/core/dist/profile-state.js +137 -0
- package/core/dist/profile-state.js.map +1 -0
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts +5 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +19 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/tools/deploy.d.ts +16 -16
- package/dist/tools/{project-keys.d.ts → project-key-cache-export.d.ts} +5 -3
- package/dist/tools/project-key-cache-export.d.ts.map +1 -0
- package/dist/tools/project-key-cache-export.js +29 -0
- package/dist/tools/project-key-cache-export.js.map +1 -0
- package/dist/tools/{project-info.d.ts → project-key-cache-status.d.ts} +3 -3
- package/dist/tools/project-key-cache-status.d.ts.map +1 -0
- package/dist/tools/project-key-cache-status.js +34 -0
- package/dist/tools/project-key-cache-status.js.map +1 -0
- package/package.json +1 -1
- package/sdk/README.md +22 -4
- package/sdk/core-dist/config.d.ts +3 -0
- package/sdk/core-dist/config.js +9 -0
- package/sdk/core-dist/keystore.d.ts +11 -3
- package/sdk/core-dist/keystore.js +103 -68
- package/sdk/core-dist/profile-state.d.ts +29 -0
- package/sdk/core-dist/profile-state.js +137 -0
- package/sdk/dist/credentials.d.ts +24 -7
- package/sdk/dist/credentials.d.ts.map +1 -1
- package/sdk/dist/credentials.js +4 -4
- package/sdk/dist/errors.d.ts +27 -1
- package/sdk/dist/errors.d.ts.map +1 -1
- package/sdk/dist/errors.js +61 -3
- package/sdk/dist/errors.js.map +1 -1
- package/sdk/dist/index.d.ts +7 -2
- package/sdk/dist/index.d.ts.map +1 -1
- package/sdk/dist/index.js +8 -3
- package/sdk/dist/index.js.map +1 -1
- package/sdk/dist/kernel.d.ts +2 -0
- package/sdk/dist/kernel.d.ts.map +1 -1
- package/sdk/dist/kernel.js +5 -1
- package/sdk/dist/kernel.js.map +1 -1
- package/sdk/dist/namespaces/ai.d.ts.map +1 -1
- package/sdk/dist/namespaces/ai.js +5 -10
- package/sdk/dist/namespaces/ai.js.map +1 -1
- package/sdk/dist/namespaces/apps.d.ts.map +1 -1
- package/sdk/dist/namespaces/apps.js +5 -13
- package/sdk/dist/namespaces/apps.js.map +1 -1
- package/sdk/dist/namespaces/assets.d.ts.map +1 -1
- package/sdk/dist/namespaces/assets.js +9 -22
- package/sdk/dist/namespaces/assets.js.map +1 -1
- package/sdk/dist/namespaces/auth.d.ts.map +1 -1
- package/sdk/dist/namespaces/auth.js +16 -43
- package/sdk/dist/namespaces/auth.js.map +1 -1
- package/sdk/dist/namespaces/contracts.d.ts.map +1 -1
- package/sdk/dist/namespaces/contracts.js +12 -31
- package/sdk/dist/namespaces/contracts.js.map +1 -1
- package/sdk/dist/namespaces/credentials.d.ts +48 -0
- package/sdk/dist/namespaces/credentials.d.ts.map +1 -0
- package/sdk/dist/namespaces/credentials.js +115 -0
- package/sdk/dist/namespaces/credentials.js.map +1 -0
- package/sdk/dist/namespaces/deploy.d.ts.map +1 -1
- package/sdk/dist/namespaces/deploy.js +23 -3
- package/sdk/dist/namespaces/deploy.js.map +1 -1
- package/sdk/dist/namespaces/domains.d.ts +8 -2
- package/sdk/dist/namespaces/domains.d.ts.map +1 -1
- package/sdk/dist/namespaces/domains.js +41 -23
- package/sdk/dist/namespaces/domains.js.map +1 -1
- package/sdk/dist/namespaces/email.d.ts.map +1 -1
- package/sdk/dist/namespaces/email.js +8 -19
- package/sdk/dist/namespaces/email.js.map +1 -1
- package/sdk/dist/namespaces/functions.d.ts.map +1 -1
- package/sdk/dist/namespaces/functions.js +14 -37
- package/sdk/dist/namespaces/functions.js.map +1 -1
- package/sdk/dist/namespaces/jobs.d.ts.map +1 -1
- package/sdk/dist/namespaces/jobs.js +8 -19
- package/sdk/dist/namespaces/jobs.js.map +1 -1
- package/sdk/dist/namespaces/projects.d.ts +4 -4
- package/sdk/dist/namespaces/projects.d.ts.map +1 -1
- package/sdk/dist/namespaces/projects.js +18 -42
- package/sdk/dist/namespaces/projects.js.map +1 -1
- package/sdk/dist/namespaces/secrets.d.ts.map +1 -1
- package/sdk/dist/namespaces/secrets.js +5 -10
- package/sdk/dist/namespaces/secrets.js.map +1 -1
- package/sdk/dist/namespaces/sender-domain.d.ts.map +1 -1
- package/sdk/dist/namespaces/sender-domain.js +6 -16
- package/sdk/dist/namespaces/sender-domain.js.map +1 -1
- package/sdk/dist/namespaces/subdomains.d.ts.map +1 -1
- package/sdk/dist/namespaces/subdomains.js +5 -10
- package/sdk/dist/namespaces/subdomains.js.map +1 -1
- package/sdk/dist/node/credentials.d.ts +18 -4
- package/sdk/dist/node/credentials.d.ts.map +1 -1
- package/sdk/dist/node/credentials.js +37 -9
- package/sdk/dist/node/credentials.js.map +1 -1
- package/sdk/dist/node/index.d.ts +4 -2
- package/sdk/dist/node/index.d.ts.map +1 -1
- package/sdk/dist/node/index.js +2 -1
- package/sdk/dist/node/index.js.map +1 -1
- package/sdk/dist/node/target-profile.d.ts.map +1 -1
- package/sdk/dist/node/target-profile.js +6 -4
- package/sdk/dist/node/target-profile.js.map +1 -1
- package/sdk/dist/project-auth-classification.d.ts +125 -0
- package/sdk/dist/project-auth-classification.d.ts.map +1 -0
- package/sdk/dist/project-auth-classification.js +135 -0
- package/sdk/dist/project-auth-classification.js.map +1 -0
- package/sdk/dist/project-credentials.d.ts +4 -0
- package/sdk/dist/project-credentials.d.ts.map +1 -0
- package/sdk/dist/project-credentials.js +9 -0
- package/sdk/dist/project-credentials.js.map +1 -0
- package/dist/tools/project-info.d.ts.map +0 -1
- package/dist/tools/project-info.js +0 -29
- package/dist/tools/project-info.js.map +0 -1
- package/dist/tools/project-keys.d.ts.map +0 -1
- package/dist/tools/project-keys.js +0 -24
- package/dist/tools/project-keys.js.map +0 -1
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
* NOTE: The contracts API surface is frozen — this namespace preserves the
|
|
9
9
|
* existing request/response shapes verbatim.
|
|
10
10
|
*/
|
|
11
|
-
import { LocalError
|
|
11
|
+
import { LocalError } from "../errors.js";
|
|
12
|
+
import { requireProjectCredentials } from "../project-credentials.js";
|
|
12
13
|
import { assertEvmAddress, assertStringInSet, assertWeiString } from "../validation.js";
|
|
13
14
|
const EVM_CHAINS = ["base-mainnet", "base-sepolia"];
|
|
14
15
|
export class Contracts {
|
|
@@ -28,9 +29,7 @@ export class Contracts {
|
|
|
28
29
|
if (opts.recoveryAddress) {
|
|
29
30
|
assertEvmAddress(opts.recoveryAddress, "recoveryAddress", "provisioning KMS signer");
|
|
30
31
|
}
|
|
31
|
-
const project = await this.client
|
|
32
|
-
if (!project)
|
|
33
|
-
throw new ProjectNotFound(projectId, "provisioning KMS signer");
|
|
32
|
+
const project = await requireProjectCredentials(this.client, projectId, "provisioning KMS signer");
|
|
34
33
|
const body = { chain: opts.chain };
|
|
35
34
|
if (opts.recoveryAddress)
|
|
36
35
|
body.recovery_address = opts.recoveryAddress;
|
|
@@ -43,9 +42,7 @@ export class Contracts {
|
|
|
43
42
|
}
|
|
44
43
|
/** Get a signer's metadata + live balance. */
|
|
45
44
|
async getSigner(projectId, signerId) {
|
|
46
|
-
const project = await this.client
|
|
47
|
-
if (!project)
|
|
48
|
-
throw new ProjectNotFound(projectId, "fetching signer");
|
|
45
|
+
const project = await requireProjectCredentials(this.client, projectId, "fetching signer");
|
|
49
46
|
return this.client.request(`/contracts/v1/signers/${encodeURIComponent(signerId)}`, {
|
|
50
47
|
headers: { Authorization: `Bearer ${project.service_key}` },
|
|
51
48
|
context: "fetching signer",
|
|
@@ -53,9 +50,7 @@ export class Contracts {
|
|
|
53
50
|
}
|
|
54
51
|
/** List all signers owned by the project, including deleted ones. */
|
|
55
52
|
async listSigners(projectId) {
|
|
56
|
-
const project = await this.client
|
|
57
|
-
if (!project)
|
|
58
|
-
throw new ProjectNotFound(projectId, "listing signers");
|
|
53
|
+
const project = await requireProjectCredentials(this.client, projectId, "listing signers");
|
|
59
54
|
return this.client.request("/contracts/v1/signers", {
|
|
60
55
|
headers: { Authorization: `Bearer ${project.service_key}` },
|
|
61
56
|
context: "listing signers",
|
|
@@ -66,9 +61,7 @@ export class Contracts {
|
|
|
66
61
|
if (recoveryAddress !== null) {
|
|
67
62
|
assertEvmAddress(recoveryAddress, "recoveryAddress", "setting recovery address");
|
|
68
63
|
}
|
|
69
|
-
const project = await this.client
|
|
70
|
-
if (!project)
|
|
71
|
-
throw new ProjectNotFound(projectId, "setting recovery address");
|
|
64
|
+
const project = await requireProjectCredentials(this.client, projectId, "setting recovery address");
|
|
72
65
|
await this.client.request(`/contracts/v1/signers/${encodeURIComponent(signerId)}/recovery-address`, {
|
|
73
66
|
method: "POST",
|
|
74
67
|
headers: { Authorization: `Bearer ${project.service_key}` },
|
|
@@ -79,9 +72,7 @@ export class Contracts {
|
|
|
79
72
|
/** Set the low-balance threshold (in wei) for email alerts. */
|
|
80
73
|
async setLowBalanceAlert(projectId, signerId, thresholdWei) {
|
|
81
74
|
assertWeiString(thresholdWei, "thresholdWei", "setting low-balance threshold");
|
|
82
|
-
const project = await this.client
|
|
83
|
-
if (!project)
|
|
84
|
-
throw new ProjectNotFound(projectId, "setting low-balance threshold");
|
|
75
|
+
const project = await requireProjectCredentials(this.client, projectId, "setting low-balance threshold");
|
|
85
76
|
await this.client.request(`/contracts/v1/signers/${encodeURIComponent(signerId)}/alert`, {
|
|
86
77
|
method: "POST",
|
|
87
78
|
headers: { Authorization: `Bearer ${project.service_key}` },
|
|
@@ -105,9 +96,7 @@ export class Contracts {
|
|
|
105
96
|
}
|
|
106
97
|
assertStringInSet(opts.chain, EVM_CHAINS, "chain", "submitting contract call");
|
|
107
98
|
assertEvmAddress(contractAddress, "contractAddress", "submitting contract call");
|
|
108
|
-
const project = await this.client
|
|
109
|
-
if (!project)
|
|
110
|
-
throw new ProjectNotFound(projectId, "submitting contract call");
|
|
99
|
+
const project = await requireProjectCredentials(this.client, projectId, "submitting contract call");
|
|
111
100
|
const headers = { Authorization: `Bearer ${project.service_key}` };
|
|
112
101
|
if (opts.idempotencyKey)
|
|
113
102
|
headers["Idempotency-Key"] = opts.idempotencyKey;
|
|
@@ -159,9 +148,7 @@ export class Contracts {
|
|
|
159
148
|
throw new LocalError(`contracts.deploy bytecode exceeds ${MAX_BYTES}-byte cap`, "deploying contract");
|
|
160
149
|
}
|
|
161
150
|
assertStringInSet(opts.chain, EVM_CHAINS, "chain", "deploying contract");
|
|
162
|
-
const project = await this.client
|
|
163
|
-
if (!project)
|
|
164
|
-
throw new ProjectNotFound(projectId, "deploying contract");
|
|
151
|
+
const project = await requireProjectCredentials(this.client, projectId, "deploying contract");
|
|
165
152
|
const headers = { Authorization: `Bearer ${project.service_key}` };
|
|
166
153
|
if (opts.idempotencyKey)
|
|
167
154
|
headers["Idempotency-Key"] = opts.idempotencyKey;
|
|
@@ -212,9 +199,7 @@ export class Contracts {
|
|
|
212
199
|
}
|
|
213
200
|
/** Look up a previously submitted call by id. */
|
|
214
201
|
async callStatus(projectId, callId) {
|
|
215
|
-
const project = await this.client
|
|
216
|
-
if (!project)
|
|
217
|
-
throw new ProjectNotFound(projectId, "fetching call status");
|
|
202
|
+
const project = await requireProjectCredentials(this.client, projectId, "fetching call status");
|
|
218
203
|
return this.client.request(`/contracts/v1/calls/${encodeURIComponent(callId)}`, {
|
|
219
204
|
headers: { Authorization: `Bearer ${project.service_key}` },
|
|
220
205
|
context: "fetching call status",
|
|
@@ -227,9 +212,7 @@ export class Contracts {
|
|
|
227
212
|
*/
|
|
228
213
|
async drain(projectId, signerId, destinationAddress) {
|
|
229
214
|
assertEvmAddress(destinationAddress, "destinationAddress", "draining signer");
|
|
230
|
-
const project = await this.client
|
|
231
|
-
if (!project)
|
|
232
|
-
throw new ProjectNotFound(projectId, "draining signer");
|
|
215
|
+
const project = await requireProjectCredentials(this.client, projectId, "draining signer");
|
|
233
216
|
return this.client.request(`/contracts/v1/signers/${encodeURIComponent(signerId)}/drain`, {
|
|
234
217
|
method: "POST",
|
|
235
218
|
headers: {
|
|
@@ -245,9 +228,7 @@ export class Contracts {
|
|
|
245
228
|
* if the signer has on-chain balance >= dust — drain first.
|
|
246
229
|
*/
|
|
247
230
|
async deleteSigner(projectId, signerId) {
|
|
248
|
-
const project = await this.client
|
|
249
|
-
if (!project)
|
|
250
|
-
throw new ProjectNotFound(projectId, "deleting signer");
|
|
231
|
+
const project = await requireProjectCredentials(this.client, projectId, "deleting signer");
|
|
251
232
|
return this.client.request(`/contracts/v1/signers/${encodeURIComponent(signerId)}`, {
|
|
252
233
|
method: "DELETE",
|
|
253
234
|
headers: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/namespaces/contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/namespaces/contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { ProjectCredentialCacheInfo, ProjectKeys } from "../credentials.js";
|
|
2
|
+
import type { Client } from "../kernel.js";
|
|
3
|
+
export interface ProjectKeyCacheStatus extends ProjectCredentialCacheInfo {
|
|
4
|
+
project_id: string;
|
|
5
|
+
configured: boolean;
|
|
6
|
+
has_anon_key: boolean;
|
|
7
|
+
has_service_key: boolean;
|
|
8
|
+
anon_key_prefix: string | null;
|
|
9
|
+
service_key_prefix: string | null;
|
|
10
|
+
anon_key_fingerprint: string | null;
|
|
11
|
+
service_key_fingerprint: string | null;
|
|
12
|
+
site_url: string | null;
|
|
13
|
+
cached_at: string | null;
|
|
14
|
+
}
|
|
15
|
+
export interface ProjectKeyCacheListResult extends ProjectCredentialCacheInfo {
|
|
16
|
+
projects: ProjectKeyCacheStatus[];
|
|
17
|
+
}
|
|
18
|
+
export interface ProjectKeyCacheExportOptions {
|
|
19
|
+
/** Required to emit secret key material. */
|
|
20
|
+
reveal?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface ProjectKeyCacheExportResult extends ProjectCredentialCacheInfo, ProjectKeys {
|
|
23
|
+
project_id: string;
|
|
24
|
+
revealed: true;
|
|
25
|
+
}
|
|
26
|
+
export interface ProjectKeyCacheImportOptions {
|
|
27
|
+
anonKey?: string;
|
|
28
|
+
serviceKey: string;
|
|
29
|
+
siteUrl?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface ProjectKeyCacheMutationResult extends ProjectKeyCacheStatus {
|
|
32
|
+
imported?: boolean;
|
|
33
|
+
removed?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export declare class Credentials {
|
|
36
|
+
readonly projectKeys: ProjectKeysCache;
|
|
37
|
+
constructor(client: Client);
|
|
38
|
+
}
|
|
39
|
+
export declare class ProjectKeysCache {
|
|
40
|
+
private readonly client;
|
|
41
|
+
constructor(client: Client);
|
|
42
|
+
list(): Promise<ProjectKeyCacheListResult>;
|
|
43
|
+
status(projectId: string): Promise<ProjectKeyCacheStatus>;
|
|
44
|
+
import(projectId: string, opts: ProjectKeyCacheImportOptions): Promise<ProjectKeyCacheMutationResult>;
|
|
45
|
+
export(projectId: string, opts?: ProjectKeyCacheExportOptions): Promise<ProjectKeyCacheExportResult>;
|
|
46
|
+
remove(projectId: string): Promise<ProjectKeyCacheMutationResult>;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/namespaces/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEjF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,WAAW,qBAAsB,SAAQ,0BAA0B;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,yBAA0B,SAAQ,0BAA0B;IAC3E,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,4BAA4B;IAC3C,4CAA4C;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,2BAA4B,SAAQ,0BAA0B,EAAE,WAAW;IAC1F,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,6BAA8B,SAAQ,qBAAqB;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,WAAW;IACtB,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;gBAE3B,MAAM,EAAE,MAAM;CAG3B;AAED,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAErC,IAAI,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAc1C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAKzD,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAqBrG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,4BAAiC,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAgBxG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;CAQxE"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { LocalError } from "../errors.js";
|
|
2
|
+
import { requireProjectCredentials } from "../project-credentials.js";
|
|
3
|
+
export class Credentials {
|
|
4
|
+
projectKeys;
|
|
5
|
+
constructor(client) {
|
|
6
|
+
this.projectKeys = new ProjectKeysCache(client);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export class ProjectKeysCache {
|
|
10
|
+
client;
|
|
11
|
+
constructor(client) {
|
|
12
|
+
this.client = client;
|
|
13
|
+
}
|
|
14
|
+
async list() {
|
|
15
|
+
const listProjectCredentials = this.client.credentials.listProjectCredentials;
|
|
16
|
+
if (!listProjectCredentials) {
|
|
17
|
+
throw unsupported("listing local project-key cache", "listProjectCredentials");
|
|
18
|
+
}
|
|
19
|
+
const entries = await listProjectCredentials.call(this.client.credentials);
|
|
20
|
+
const projects = await Promise.all(Object.entries(entries)
|
|
21
|
+
.sort(([a], [b]) => a.localeCompare(b))
|
|
22
|
+
.map(([projectId, entry]) => redactedEntry(projectId, entry, provenance(this.client))));
|
|
23
|
+
return { projects, ...provenance(this.client) };
|
|
24
|
+
}
|
|
25
|
+
async status(projectId) {
|
|
26
|
+
const entry = await this.client.getProjectCredentials(projectId);
|
|
27
|
+
return redactedEntry(projectId, entry, provenance(this.client));
|
|
28
|
+
}
|
|
29
|
+
async import(projectId, opts) {
|
|
30
|
+
if (!this.client.credentials.saveProject) {
|
|
31
|
+
throw unsupported("importing local project keys", "saveProject");
|
|
32
|
+
}
|
|
33
|
+
if (!opts || typeof opts !== "object" || typeof opts.serviceKey !== "string" || opts.serviceKey.length === 0) {
|
|
34
|
+
throw new LocalError("credentials.projectKeys.import requires a non-empty serviceKey", "importing local project keys", {
|
|
35
|
+
code: "BAD_USAGE",
|
|
36
|
+
details: { project_id: projectId },
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
const existing = await this.client.getProjectCredentials(projectId);
|
|
40
|
+
await this.client.credentials.saveProject(projectId, {
|
|
41
|
+
anon_key: opts.anonKey ?? existing?.anon_key ?? "",
|
|
42
|
+
service_key: opts.serviceKey,
|
|
43
|
+
...(opts.siteUrl ?? existing?.site_url ? { site_url: opts.siteUrl ?? existing?.site_url } : {}),
|
|
44
|
+
cached_at: new Date().toISOString(),
|
|
45
|
+
});
|
|
46
|
+
const entry = await this.client.getProjectCredentials(projectId);
|
|
47
|
+
return { imported: true, ...(await redactedEntry(projectId, entry, provenance(this.client))) };
|
|
48
|
+
}
|
|
49
|
+
async export(projectId, opts = {}) {
|
|
50
|
+
if (opts.reveal !== true) {
|
|
51
|
+
throw new LocalError("Exporting full project keys requires { reveal: true }", "exporting local project keys", {
|
|
52
|
+
code: "REVEAL_REQUIRED",
|
|
53
|
+
details: { project_id: projectId, ...provenance(this.client) },
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
const keys = await requireProjectCredentials(this.client, projectId, "exporting local project keys");
|
|
57
|
+
return {
|
|
58
|
+
project_id: projectId,
|
|
59
|
+
...keys,
|
|
60
|
+
...provenance(this.client),
|
|
61
|
+
revealed: true,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
async remove(projectId) {
|
|
65
|
+
if (!this.client.credentials.removeProject) {
|
|
66
|
+
throw unsupported("removing local project keys", "removeProject");
|
|
67
|
+
}
|
|
68
|
+
const existed = await this.client.getProjectCredentials(projectId);
|
|
69
|
+
await this.client.credentials.removeProject(projectId);
|
|
70
|
+
return { removed: Boolean(existed), ...(await redactedEntry(projectId, null, provenance(this.client))) };
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
function provenance(client) {
|
|
74
|
+
return {
|
|
75
|
+
source: "local_cache",
|
|
76
|
+
...(client.credentials.getProjectCredentialCacheInfo?.() ?? {}),
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
async function redactedEntry(projectId, entry, info) {
|
|
80
|
+
return {
|
|
81
|
+
project_id: projectId,
|
|
82
|
+
configured: Boolean(entry),
|
|
83
|
+
has_anon_key: Boolean(entry?.anon_key),
|
|
84
|
+
has_service_key: Boolean(entry?.service_key),
|
|
85
|
+
anon_key_prefix: prefix(entry?.anon_key),
|
|
86
|
+
service_key_prefix: prefix(entry?.service_key),
|
|
87
|
+
anon_key_fingerprint: await fingerprint(entry?.anon_key),
|
|
88
|
+
service_key_fingerprint: await fingerprint(entry?.service_key),
|
|
89
|
+
site_url: entry?.site_url ?? null,
|
|
90
|
+
cached_at: entry?.cached_at ?? null,
|
|
91
|
+
...info,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
function prefix(value) {
|
|
95
|
+
if (!value)
|
|
96
|
+
return null;
|
|
97
|
+
return `${value.slice(0, 8)}...`;
|
|
98
|
+
}
|
|
99
|
+
async function fingerprint(value) {
|
|
100
|
+
if (!value || !globalThis.crypto?.subtle)
|
|
101
|
+
return null;
|
|
102
|
+
const bytes = new TextEncoder().encode(value);
|
|
103
|
+
const digest = await globalThis.crypto.subtle.digest("SHA-256", bytes);
|
|
104
|
+
return Array.from(new Uint8Array(digest))
|
|
105
|
+
.map((byte) => byte.toString(16).padStart(2, "0"))
|
|
106
|
+
.join("")
|
|
107
|
+
.slice(0, 16);
|
|
108
|
+
}
|
|
109
|
+
function unsupported(context, method) {
|
|
110
|
+
return new LocalError(`The configured credential provider does not support ${method}(). Use @run402/sdk/node for local project-key cache operations.`, context, {
|
|
111
|
+
code: "LOCAL_CREDENTIAL_CACHE_UNSUPPORTED",
|
|
112
|
+
details: { method, source: "local_cache" },
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/namespaces/credentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/namespaces/deploy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/namespaces/deploy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAkB3C,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EAQtB,WAAW,EACX,oBAAoB,EAEpB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EAarB,iBAAiB,EAGjB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,YAAY,EAEb,MAAM,mBAAmB,CAAC;AAiF3B,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C;;;;OAIG;IACG,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IA4C9E;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,eAAe,CAAC;IAI3E;;;;OAIG;IACG,IAAI,CACR,IAAI,EAAE,WAAW,EACjB,IAAI,GAAE;QACJ,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE,cAAc,GAAG,cAAc,CAAC;QACvC,YAAY,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,eAAe,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACxD,GACL,OAAO,CAAC;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;KAAE,CAAC;IAQxE;;;;;OAKG;IACG,MAAM,CACV,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;KACxC,GACA,OAAO,CAAC,IAAI,CAAC;IAWhB;;;;;OAKG;IACG,MAAM,CACV,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;QACJ,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;QACvC,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,eAAe,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACxD,GACL,OAAO,CAAC,YAAY,CAAC;IASxB;;;;;;;;;OASG;IACG,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE;QAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GACtE,OAAO,CAAC,YAAY,CAAC;IAqBxB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,OAAO,CACX,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,aAAa,CAAC;IA2CzB;;;;OAIG;IACG,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAC9B,OAAO,CAAC,iBAAiB,CAAC;IAmB7B;;;;;;OAMG;IACG,IAAI,CACR,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAC/B,OAAO,CAAC,kBAAkB,CAAC;IA6B9B;;;;;;;;OAQG;IACG,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GACxB,OAAO,CAAC,oBAAoB,CAAC;IAmBhC;;;;OAIG;IACG,UAAU,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2B9E;;;;OAIG;IACG,gBAAgB,CACpB,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,sBAAsB,CAAC;IAqBlC;;;;OAIG;IACG,IAAI,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA+BnE;;;;OAIG;IACG,OAAO,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAW1E;AA84DD;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;iEAG6D;IAC7D,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;CACvC"}
|
|
@@ -1596,6 +1596,10 @@ async function pollUntilReady(client, commit, diff, warnings, emit, projectId, s
|
|
|
1596
1596
|
context: "committing deploy",
|
|
1597
1597
|
});
|
|
1598
1598
|
}
|
|
1599
|
+
if (projectId) {
|
|
1600
|
+
const headers = await apikeyHeaders(client, projectId);
|
|
1601
|
+
await drainRecordedOperationEvents(client, commit.operation_id, headers, null, emit);
|
|
1602
|
+
}
|
|
1599
1603
|
emit({
|
|
1600
1604
|
type: "ready",
|
|
1601
1605
|
releaseId: commit.release_id,
|
|
@@ -1693,6 +1697,11 @@ async function pollSnapshotUntilReady(client, initial, diff, warnings, emit, pro
|
|
|
1693
1697
|
context: "polling deploy",
|
|
1694
1698
|
});
|
|
1695
1699
|
}
|
|
1700
|
+
if (recordedEventsSupported && projectId) {
|
|
1701
|
+
const recorded = await drainRecordedOperationEvents(client, snapshot.operation_id, opHeaders, recordedEventCursor, emit);
|
|
1702
|
+
recordedEventsSupported = recorded.supported;
|
|
1703
|
+
recordedEventCursor = recorded.cursor;
|
|
1704
|
+
}
|
|
1696
1705
|
closePreviousPhase();
|
|
1697
1706
|
emit(withSliceKinds({ type: "ready", releaseId: snapshot.release_id, urls: snapshot.urls }));
|
|
1698
1707
|
return {
|
|
@@ -1729,6 +1738,17 @@ async function pollSnapshotUntilReady(client, initial, diff, warnings, emit, pro
|
|
|
1729
1738
|
snapshot = await client.request(`/apply/v1/operations/${encodeURIComponent(snapshot.operation_id)}`, { headers: opHeaders, context: "polling deploy operation" });
|
|
1730
1739
|
}
|
|
1731
1740
|
}
|
|
1741
|
+
async function drainRecordedOperationEvents(client, operationId, headers, cursor, emit) {
|
|
1742
|
+
let nextCursor = cursor;
|
|
1743
|
+
for (let i = 0; i < 10; i += 1) {
|
|
1744
|
+
const recorded = await emitRecordedOperationEvents(client, operationId, headers, nextCursor, emit);
|
|
1745
|
+
nextCursor = recorded.cursor;
|
|
1746
|
+
if (!recorded.supported || !recorded.hasMore) {
|
|
1747
|
+
return { cursor: nextCursor, supported: recorded.supported };
|
|
1748
|
+
}
|
|
1749
|
+
}
|
|
1750
|
+
return { cursor: nextCursor, supported: true };
|
|
1751
|
+
}
|
|
1732
1752
|
async function emitRecordedOperationEvents(client, operationId, headers, cursor, emit) {
|
|
1733
1753
|
const query = cursor
|
|
1734
1754
|
? `?limit=100&cursor=${encodeURIComponent(cursor)}`
|
|
@@ -1738,10 +1758,10 @@ async function emitRecordedOperationEvents(client, operationId, headers, cursor,
|
|
|
1738
1758
|
page = await client.request(`/apply/v1/operations/${encodeURIComponent(operationId)}/events${query}`, { headers, context: "fetching deploy operation events" });
|
|
1739
1759
|
}
|
|
1740
1760
|
catch {
|
|
1741
|
-
return { cursor, supported: false };
|
|
1761
|
+
return { cursor, supported: false, hasMore: false };
|
|
1742
1762
|
}
|
|
1743
1763
|
if (!page || !Array.isArray(page.events)) {
|
|
1744
|
-
return { cursor, supported: false };
|
|
1764
|
+
return { cursor, supported: false, hasMore: false };
|
|
1745
1765
|
}
|
|
1746
1766
|
let nextCursor = cursor;
|
|
1747
1767
|
for (const event of page.events) {
|
|
@@ -1754,7 +1774,7 @@ async function emitRecordedOperationEvents(client, operationId, headers, cursor,
|
|
|
1754
1774
|
nextCursor = eventId;
|
|
1755
1775
|
}
|
|
1756
1776
|
}
|
|
1757
|
-
return { cursor: nextCursor, supported: true };
|
|
1777
|
+
return { cursor: nextCursor, supported: true, hasMore: typeof page.cursor === "string" && page.cursor.length > 0 };
|
|
1758
1778
|
}
|
|
1759
1779
|
function isTerminalStaticActivationError(error) {
|
|
1760
1780
|
if (!error?.code)
|