run402-mcp 2.26.0 → 2.28.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 +2 -1
- package/core/dist/allowance.d.ts +0 -20
- package/core/dist/allowance.d.ts.map +1 -1
- package/core/dist/allowance.js +24 -1
- package/core/dist/allowance.js.map +1 -1
- package/core/dist/config.d.ts +26 -0
- package/core/dist/config.d.ts.map +1 -1
- package/core/dist/config.js +75 -3
- package/core/dist/config.js.map +1 -1
- package/core/dist/profiles.d.ts +60 -0
- package/core/dist/profiles.d.ts.map +1 -0
- package/core/dist/profiles.js +196 -0
- package/core/dist/profiles.js.map +1 -0
- package/dist/config.d.ts +2 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -1
- package/dist/config.js.map +1 -1
- package/dist/tools/status.d.ts.map +1 -1
- package/dist/tools/status.js +8 -0
- package/dist/tools/status.js.map +1 -1
- package/package.json +3 -3
- package/sdk/core-dist/allowance.d.ts +0 -20
- package/sdk/core-dist/allowance.js +24 -1
- package/sdk/core-dist/config.d.ts +26 -0
- package/sdk/core-dist/config.js +75 -3
- package/sdk/core-dist/profiles.d.ts +60 -0
- package/sdk/core-dist/profiles.js +196 -0
- package/sdk/dist/credentials.d.ts +16 -0
- package/sdk/dist/credentials.d.ts.map +1 -1
- package/sdk/dist/index.d.ts +24 -0
- package/sdk/dist/index.d.ts.map +1 -1
- package/sdk/dist/index.js +30 -0
- package/sdk/dist/index.js.map +1 -1
- package/sdk/dist/namespaces/deploy.js +73 -1
- package/sdk/dist/namespaces/deploy.js.map +1 -1
- package/sdk/dist/namespaces/wallets.d.ts +35 -0
- package/sdk/dist/namespaces/wallets.d.ts.map +1 -0
- package/sdk/dist/namespaces/wallets.js +50 -0
- package/sdk/dist/namespaces/wallets.js.map +1 -0
- package/sdk/dist/node/credentials.d.ts +2 -1
- package/sdk/dist/node/credentials.d.ts.map +1 -1
- package/sdk/dist/node/credentials.js +11 -1
- package/sdk/dist/node/credentials.js.map +1 -1
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `wallets` namespace — server-side wallet display label.
|
|
3
|
+
*
|
|
4
|
+
* The label is the cross-machine / WEB-visible human name for a wallet (e.g.
|
|
5
|
+
* "kychon"), stored server-side keyed by the wallet address and authenticated
|
|
6
|
+
* by the wallet's allowance signature. It is display metadata only — never key
|
|
7
|
+
* material, no custody.
|
|
8
|
+
*
|
|
9
|
+
* Both methods are intentionally BEST-EFFORT: they swallow errors (including a
|
|
10
|
+
* not-yet-deployed endpoint / 404 / offline) and return a null/`ok:false`
|
|
11
|
+
* sentinel instead of throwing. This lets `run402 wallets new|rename|import`
|
|
12
|
+
* stay fully functional locally and before the gateway endpoint ships — the
|
|
13
|
+
* local folder name is always the source of truth; the server label is a
|
|
14
|
+
* mirror that catches up.
|
|
15
|
+
*/
|
|
16
|
+
export class Wallets {
|
|
17
|
+
client;
|
|
18
|
+
constructor(client) {
|
|
19
|
+
this.client = client;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Read a wallet's server-side label, or null on any error (unset, 404,
|
|
23
|
+
* offline). Public read — no auth required.
|
|
24
|
+
*/
|
|
25
|
+
async getLabel(address) {
|
|
26
|
+
try {
|
|
27
|
+
const res = await this.client.request(`/wallets/v1/${encodeURIComponent(address)}/label`, { context: "reading wallet label", withAuth: false });
|
|
28
|
+
return res?.label ?? null;
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Set a wallet's server-side label. Signed by the wallet's allowance
|
|
36
|
+
* (withAuth). Returns `{ ok: true }` on success, `{ ok: false }` on any
|
|
37
|
+
* failure — never throws, so callers don't need try/catch around an offline
|
|
38
|
+
* best-effort sync.
|
|
39
|
+
*/
|
|
40
|
+
async setLabel(address, label) {
|
|
41
|
+
try {
|
|
42
|
+
await this.client.request(`/wallets/v1/${encodeURIComponent(address)}/label`, { method: "PUT", context: "setting wallet label", withAuth: true, body: { label } });
|
|
43
|
+
return { ok: true };
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return { ok: false };
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=wallets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallets.js","sourceRoot":"","sources":["../../src/namespaces/wallets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,MAAM,OAAO,OAAO;IACW;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC5B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACnC,eAAe,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAClD,EAAE,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE,CACrD,CAAC;YACF,OAAO,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,KAAa;QAC3C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACvB,eAAe,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAClD,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CACpF,CAAC;YACF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* (or `RUN402_CONFIG_DIR` override), signs SIWX headers from the allowance
|
|
5
5
|
* private key, and serves project anon/service keys from disk.
|
|
6
6
|
*/
|
|
7
|
-
import type { AllowanceData, CredentialsProvider, ProjectKeys } from "../credentials.js";
|
|
7
|
+
import type { AllowanceData, CredentialsProvider, ProjectKeys, WalletIdentity } from "../credentials.js";
|
|
8
8
|
export declare class NodeCredentialsProvider implements CredentialsProvider {
|
|
9
9
|
private readonly options;
|
|
10
10
|
constructor(options?: {
|
|
@@ -22,5 +22,6 @@ export declare class NodeCredentialsProvider implements CredentialsProvider {
|
|
|
22
22
|
saveAllowance(data: AllowanceData): Promise<void>;
|
|
23
23
|
createAllowance(): Promise<AllowanceData>;
|
|
24
24
|
getAllowancePath(): string;
|
|
25
|
+
getWalletIdentity(): Promise<WalletIdentity | null>;
|
|
25
26
|
}
|
|
26
27
|
//# sourceMappingURL=credentials.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/node/credentials.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/node/credentials.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEzG,qBAAa,uBAAwB,YAAW,mBAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO;IAEtF,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAK7D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAKnD,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI1C,aAAa,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAI9C,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,eAAe,IAAI,OAAO,CAAC,aAAa,CAAC;IAqB/C,gBAAgB,IAAI,MAAM;IAIpB,iBAAiB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;CAS1D"}
|
|
@@ -9,7 +9,8 @@ import { keccak_256 } from "@noble/hashes/sha3.js";
|
|
|
9
9
|
import { getProject as coreGetProject, saveProject as coreSaveProject, updateProject as coreUpdateProject, removeProject as coreRemoveProject, setActiveProjectId, getActiveProjectId, } from "../../core-dist/keystore.js";
|
|
10
10
|
import { getAllowanceAuthHeaders } from "../../core-dist/allowance-auth.js";
|
|
11
11
|
import { readAllowance as coreReadAllowance, saveAllowance as coreSaveAllowance } from "../../core-dist/allowance.js";
|
|
12
|
-
import { getAllowancePath as coreGetAllowancePath } from "../../core-dist/config.js";
|
|
12
|
+
import { getAllowancePath as coreGetAllowancePath, getActiveProfile } from "../../core-dist/config.js";
|
|
13
|
+
import { readMeta } from "../../core-dist/profiles.js";
|
|
13
14
|
export class NodeCredentialsProvider {
|
|
14
15
|
options;
|
|
15
16
|
constructor(options = {}) {
|
|
@@ -65,5 +66,14 @@ export class NodeCredentialsProvider {
|
|
|
65
66
|
getAllowancePath() {
|
|
66
67
|
return this.options.allowancePath ?? coreGetAllowancePath();
|
|
67
68
|
}
|
|
69
|
+
async getWalletIdentity() {
|
|
70
|
+
const name = getActiveProfile();
|
|
71
|
+
const meta = readMeta(name);
|
|
72
|
+
let address = meta?.address ?? null;
|
|
73
|
+
if (!address) {
|
|
74
|
+
address = coreReadAllowance(this.options.allowancePath)?.address ?? null;
|
|
75
|
+
}
|
|
76
|
+
return { name, address, label: meta?.label ?? null };
|
|
77
|
+
}
|
|
68
78
|
}
|
|
69
79
|
//# sourceMappingURL=credentials.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/node/credentials.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACL,UAAU,IAAI,cAAc,EAC5B,WAAW,IAAI,eAAe,EAC9B,aAAa,IAAI,iBAAiB,EAClC,aAAa,IAAI,iBAAiB,EAClC,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtH,OAAO,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/node/credentials.ts"],"names":[],"mappings":"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"}
|