@settlemint/dalp-cli 3.1.33-main.43020455143 → 3.1.33-main.43028474710
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/dist/dalp.js +15 -15
- package/dist/dalp.js.map +11 -11
- package/package.json +4 -4
- package/src/commands/login.ts +2 -0
- package/src/lib/auth-request.ts +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@settlemint/dalp-cli",
|
|
3
|
-
"version": "3.1.33-main.
|
|
3
|
+
"version": "3.1.33-main.43028474710",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "CLI for the Digital Asset Lifecycle Platform — manage tokens, identities, compliance, and more from the command line.",
|
|
6
6
|
"homepage": "https://settlemint.com",
|
|
@@ -50,14 +50,14 @@
|
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"@modelcontextprotocol/server": "2.4.0",
|
|
53
|
-
"@settlemint/dalp-sdk": "3.1.33-main.
|
|
53
|
+
"@settlemint/dalp-sdk": "3.1.33-main.43028474710",
|
|
54
54
|
"incur": "0.7.1",
|
|
55
55
|
"zod": "4.6.7"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@arethetypeswrong/cli": "0.18.5",
|
|
59
|
-
"@testkit/effect-bun-test": "3.1.33-main.
|
|
60
|
-
"@tools/typescript-config": "3.1.33-main.
|
|
59
|
+
"@testkit/effect-bun-test": "3.1.33-main.43028474710",
|
|
60
|
+
"@tools/typescript-config": "3.1.33-main.43028474710",
|
|
61
61
|
"@types/bun": "1.4.4",
|
|
62
62
|
"publint": "0.3.25"
|
|
63
63
|
},
|
package/src/commands/login.ts
CHANGED
|
@@ -139,6 +139,7 @@ async function readBoundedJson<T>(response: Response, schema: z.ZodType<T>): Pro
|
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
async function postJson(url: string, body: unknown, headers: Record<string, string> = {}): Promise<Response> {
|
|
142
|
+
// fallow-ignore-next-line security-sink -- Client-side CLI. The login base is the user's own --url, DALP_URL or saved apiUrl (login.ts:308), parsed by validateLoginBaseUrl (login.ts:97-126), which rejects query and fragment. No server-side fetch, so no SSRF path for an outside party.
|
|
142
143
|
return fetch(url, {
|
|
143
144
|
method: "POST",
|
|
144
145
|
headers: {
|
|
@@ -339,6 +340,7 @@ export const loginCommand = Cli.create("login", {
|
|
|
339
340
|
);
|
|
340
341
|
|
|
341
342
|
const sessionBearer = `Bearer ${sessionToken.access_token}`;
|
|
343
|
+
// fallow-ignore-next-line security-sink -- Same client-side CLI base as login.ts:142. baseUrl comes from validateLoginBaseUrl (login.ts:319) before use. The server's verification_uri only feeds the browser-open path, not this fetch. Not a server-side SSRF.
|
|
342
344
|
const sessionResponse = await fetch(`${baseUrl}/api/auth/get-session`, {
|
|
343
345
|
headers: { Authorization: sessionBearer, "User-Agent": CLI_USER_AGENT },
|
|
344
346
|
});
|
package/src/lib/auth-request.ts
CHANGED
|
@@ -26,6 +26,7 @@ export async function authRequest(
|
|
|
26
26
|
let response: Response;
|
|
27
27
|
let text: string;
|
|
28
28
|
try {
|
|
29
|
+
// fallow-ignore-next-line security-sink -- apiUrl is the saved credentials.apiUrl (credential-store.ts:21, z.url()), written at login from the validated base (login.ts:406, 458). Client-side CLI; the stored host is the user's own instance, not attacker-set.
|
|
29
30
|
response = await fetch(`${apiUrl.replace(TRAILING_SLASHES_PATTERN, "")}/api/auth${route}`, {
|
|
30
31
|
method: request.method,
|
|
31
32
|
headers,
|