@settlemint/dalp-cli 3.1.32-main.42509611913 → 3.1.32-main.42524761245
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 +36 -20
- package/dist/dalp.js.map +14 -14
- package/package.json +5 -5
- package/src/commands/login.ts +3 -1
- package/src/lib/auth-request.ts +3 -1
- package/src/lib/credential-store.ts +5 -2
- package/src/lib/register-operations.ts +5 -2
- package/src/lib/sdk-cli-schema.ts +5 -2
- package/src/main.ts +4 -1
package/dist/dalp.js
CHANGED
|
@@ -48043,7 +48043,7 @@ function sha2563(value, to_) {
|
|
|
48043
48043
|
return bytes;
|
|
48044
48044
|
return toHex(bytes);
|
|
48045
48045
|
}
|
|
48046
|
-
// ../sdk/dist/chunk-
|
|
48046
|
+
// ../sdk/dist/chunk-4ywhaw1k.js
|
|
48047
48047
|
var DALP_AUTH_SURFACE_HEADER2 = "X-Dalp-Auth-Surface";
|
|
48048
48048
|
var SECRET_REDACTION_MARKER2 = "[REDACTED]";
|
|
48049
48049
|
var inspectSymbol = Symbol.for("nodejs.util.inspect.custom");
|
|
@@ -48140,6 +48140,10 @@ function scrubUrlCredentials(candidate) {
|
|
|
48140
48140
|
return `[REDACTED-URL]${trailing}`;
|
|
48141
48141
|
}
|
|
48142
48142
|
}
|
|
48143
|
+
var LOWER_UPPER_BOUNDARY_PATTERN = /([a-z0-9])([A-Z])/gu;
|
|
48144
|
+
var ACRONYM_BOUNDARY_PATTERN = /([A-Z]+)([A-Z][a-z])/gu;
|
|
48145
|
+
var NON_ALPHANUMERIC_RUN_PATTERN = /[^a-zA-Z0-9]+/u;
|
|
48146
|
+
var TRAILING_DIGITS_PATTERN = /\d+$/u;
|
|
48143
48147
|
var SERIALIZABLE_CAUSE_MAX_DEPTH = 8;
|
|
48144
48148
|
var SERIALIZABLE_CAUSE_MAX_BYTES = 32768;
|
|
48145
48149
|
var TRUNCATED_CAUSE = "[Truncated]";
|
|
@@ -48194,7 +48198,7 @@ var sensitiveTokenSequences = [
|
|
|
48194
48198
|
["seed", "phrase"],
|
|
48195
48199
|
["session", "id"]
|
|
48196
48200
|
];
|
|
48197
|
-
var splitEncodedKey = (key) => key.replaceAll(
|
|
48201
|
+
var splitEncodedKey = (key) => key.replaceAll(LOWER_UPPER_BOUNDARY_PATTERN, "$1 $2").replaceAll(ACRONYM_BOUNDARY_PATTERN, "$1 $2").split(NON_ALPHANUMERIC_RUN_PATTERN).filter((part) => part.length > 0).map((part) => part.toLowerCase());
|
|
48198
48202
|
var hasOnlyDiagnosticSuffix = (tokens, sensitiveEnd) => {
|
|
48199
48203
|
const suffix = tokens.slice(sensitiveEnd);
|
|
48200
48204
|
if (suffix.length === 0 || !strongDiagnosticSuffixes.has(suffix[0] ?? "")) {
|
|
@@ -48214,11 +48218,11 @@ var hasOnlyDiagnosticSuffix = (tokens, sensitiveEnd) => {
|
|
|
48214
48218
|
};
|
|
48215
48219
|
var flattenedSensitiveSequences = sensitiveTokenSequences.map((sequence) => sequence.join(""));
|
|
48216
48220
|
var tokenMatchesSequencePart = (token, part) => {
|
|
48217
|
-
const digitless = token.replace(
|
|
48221
|
+
const digitless = token.replace(TRAILING_DIGITS_PATTERN, "");
|
|
48218
48222
|
return digitless === part || digitless === `${part}s`;
|
|
48219
48223
|
};
|
|
48220
48224
|
var tokenIsSensitiveSingle = (token) => {
|
|
48221
|
-
const digitless = token.replace(
|
|
48225
|
+
const digitless = token.replace(TRAILING_DIGITS_PATTERN, "");
|
|
48222
48226
|
if (sensitiveSingleTokens.has(digitless)) {
|
|
48223
48227
|
return true;
|
|
48224
48228
|
}
|
|
@@ -48590,7 +48594,8 @@ async function stepUpChallengeRequest(operation, target, body) {
|
|
|
48590
48594
|
return { operation, target, payloadDigest };
|
|
48591
48595
|
}
|
|
48592
48596
|
|
|
48593
|
-
// ../sdk/dist/chunk-
|
|
48597
|
+
// ../sdk/dist/chunk-crtb9edj.js
|
|
48598
|
+
var TRAILING_SLASHES_PATTERN = /\/+$/;
|
|
48594
48599
|
function normalizeDalpBaseUrl(url) {
|
|
48595
48600
|
let parsed;
|
|
48596
48601
|
try {
|
|
@@ -48610,10 +48615,10 @@ function normalizeDalpBaseUrl(url) {
|
|
|
48610
48615
|
fix: 'Use a DALP API base URL that starts with "https://" or "http://".'
|
|
48611
48616
|
});
|
|
48612
48617
|
}
|
|
48613
|
-
return `${parsed.origin}${parsed.pathname.replace(
|
|
48618
|
+
return `${parsed.origin}${parsed.pathname.replace(TRAILING_SLASHES_PATTERN, "")}`;
|
|
48614
48619
|
}
|
|
48615
48620
|
|
|
48616
|
-
// ../sdk/dist/chunk-
|
|
48621
|
+
// ../sdk/dist/chunk-4p59jebn.js
|
|
48617
48622
|
function appendQueryValue(search, path, value) {
|
|
48618
48623
|
if (value === undefined || value === null) {
|
|
48619
48624
|
return;
|
|
@@ -49075,6 +49080,7 @@ function pathTarget(route, path) {
|
|
|
49075
49080
|
const segments = Array.from(route.path.matchAll(PATH_PARAMETER), ([, name = ""]) => encodePathValue(path[name]));
|
|
49076
49081
|
return segments.length === 0 ? null : segments.join("/");
|
|
49077
49082
|
}
|
|
49083
|
+
var DIGITS_PATTERN = /^\d+$/;
|
|
49078
49084
|
var DALP_CONTEXT_HEADERS2 = {
|
|
49079
49085
|
organizationId: "X-Organization-Id",
|
|
49080
49086
|
participant: "X-Participant",
|
|
@@ -49237,7 +49243,7 @@ function sdkErrorFromEnvelope(payload, response, { routeId, code, rejectedCode }
|
|
|
49237
49243
|
const retryAfter = response.headers.get("retry-after");
|
|
49238
49244
|
let retryAfterSeconds;
|
|
49239
49245
|
if (retryAfter !== null) {
|
|
49240
|
-
if (
|
|
49246
|
+
if (DIGITS_PATTERN.test(retryAfter)) {
|
|
49241
49247
|
retryAfterSeconds = Number(retryAfter);
|
|
49242
49248
|
} else if (Number.isNaN(Number(retryAfter))) {
|
|
49243
49249
|
retryAfterSeconds = Math.max(0, Math.ceil((Date.parse(retryAfter) - Date.now()) / 1000));
|
|
@@ -49796,6 +49802,7 @@ async function loadResponseDecoder() {
|
|
|
49796
49802
|
throw error;
|
|
49797
49803
|
}
|
|
49798
49804
|
}
|
|
49805
|
+
var LEADING_SPACE_PATTERN = /^ /u;
|
|
49799
49806
|
var RESERVED_STREAM_FAILURE_EVENT2 = "effect/http-api/stream/failure";
|
|
49800
49807
|
var RELEASE_CANDIDATE_SERVER_STREAM_FAILURE_EVENT = "effect/httpapi/stream/failure";
|
|
49801
49808
|
var STREAM_FAILED_ERROR_CODE2 = "sdk.stream.FAILED";
|
|
@@ -49847,7 +49854,7 @@ function readBlock(block) {
|
|
|
49847
49854
|
}
|
|
49848
49855
|
const separator = line.indexOf(":");
|
|
49849
49856
|
const field = separator === -1 ? line : line.slice(0, separator);
|
|
49850
|
-
const rest = separator === -1 ? "" : line.slice(separator + 1).replace(
|
|
49857
|
+
const rest = separator === -1 ? "" : line.slice(separator + 1).replace(LEADING_SPACE_PATTERN, "");
|
|
49851
49858
|
if (field === "event") {
|
|
49852
49859
|
event = rest;
|
|
49853
49860
|
} else if (field === "data") {
|
|
@@ -50151,7 +50158,7 @@ function findRoute(table, id) {
|
|
|
50151
50158
|
return table.routes[id];
|
|
50152
50159
|
}
|
|
50153
50160
|
|
|
50154
|
-
// ../sdk/dist/chunk-
|
|
50161
|
+
// ../sdk/dist/chunk-m2m9az8p.js
|
|
50155
50162
|
function buildDalpClient(options, table) {
|
|
50156
50163
|
const transport = createTransport(options);
|
|
50157
50164
|
const api = buildProxy(table, createFetchExecutor(transport), createTanstackFactories(transport));
|
|
@@ -50698,7 +50705,7 @@ async function runCommand(context, operation, errorContext = UNKNOWN_COMMAND_ERR
|
|
|
50698
50705
|
// package.json
|
|
50699
50706
|
var package_default = {
|
|
50700
50707
|
name: "@settlemint/dalp-cli",
|
|
50701
|
-
version: "3.1.32-main.
|
|
50708
|
+
version: "3.1.32-main.42524761245",
|
|
50702
50709
|
private: false,
|
|
50703
50710
|
description: "CLI for the Digital Asset Lifecycle Platform \u2014 manage tokens, identities, compliance, and more from the command line.",
|
|
50704
50711
|
homepage: "https://settlemint.com",
|
|
@@ -50748,7 +50755,7 @@ var package_default = {
|
|
|
50748
50755
|
typecheck: "taskguard effect-tsgo tsrs --customConditions dalp-types"
|
|
50749
50756
|
},
|
|
50750
50757
|
dependencies: {
|
|
50751
|
-
"@modelcontextprotocol/server": "2.
|
|
50758
|
+
"@modelcontextprotocol/server": "2.0.0-alpha.4",
|
|
50752
50759
|
"@settlemint/dalp-sdk": "workspace:*",
|
|
50753
50760
|
incur: "0.7.1",
|
|
50754
50761
|
zod: "4.6.7"
|
|
@@ -50836,6 +50843,7 @@ configCommand.command("list", {
|
|
|
50836
50843
|
import { hostname as hostname3 } from "os";
|
|
50837
50844
|
|
|
50838
50845
|
// src/lib/auth-request.ts
|
|
50846
|
+
var TRAILING_SLASHES_PATTERN2 = /\/+$/u;
|
|
50839
50847
|
var AUTH_REQUEST_TIMEOUT_MS = 1e4;
|
|
50840
50848
|
async function authRequest(apiUrl, credentials, route, init) {
|
|
50841
50849
|
const request = init ?? { method: "GET" };
|
|
@@ -50851,7 +50859,7 @@ async function authRequest(apiUrl, credentials, route, init) {
|
|
|
50851
50859
|
let response;
|
|
50852
50860
|
let text;
|
|
50853
50861
|
try {
|
|
50854
|
-
response = await fetch(`${apiUrl.replace(
|
|
50862
|
+
response = await fetch(`${apiUrl.replace(TRAILING_SLASHES_PATTERN2, "")}/api/auth${route}`, {
|
|
50855
50863
|
method: request.method,
|
|
50856
50864
|
headers,
|
|
50857
50865
|
signal: deadline.signal,
|
|
@@ -50906,6 +50914,8 @@ async function revokeOwnApiKey(credentials) {
|
|
|
50906
50914
|
// src/lib/credential-store.ts
|
|
50907
50915
|
import { chmod, mkdir as mkdir2, readFile as readFile3, unlink, writeFile as writeFile2 } from "fs/promises";
|
|
50908
50916
|
import path8 from "path";
|
|
50917
|
+
var KEYCHAIN_ENTRY_SEPARATOR_PATTERN = /\n(?=keychain:)/u;
|
|
50918
|
+
var ACCOUNT_PATTERN = /"acct"<blob>="([^"]*)"/u;
|
|
50909
50919
|
var SERVICE_NAME = "dalp-cli";
|
|
50910
50920
|
var StoredCredentialsSchema = object({
|
|
50911
50921
|
apiKey: string2().min(1),
|
|
@@ -50932,11 +50942,11 @@ async function keychainAccounts(runSecurity) {
|
|
|
50932
50942
|
});
|
|
50933
50943
|
}
|
|
50934
50944
|
const accounts = new Set;
|
|
50935
|
-
for (const entry of dump.stdout.split(
|
|
50945
|
+
for (const entry of dump.stdout.split(KEYCHAIN_ENTRY_SEPARATOR_PATTERN)) {
|
|
50936
50946
|
if (!entry.includes(`"svce"<blob>="${SERVICE_NAME}"`)) {
|
|
50937
50947
|
continue;
|
|
50938
50948
|
}
|
|
50939
|
-
const account = entry.match(
|
|
50949
|
+
const account = entry.match(ACCOUNT_PATTERN)?.[1];
|
|
50940
50950
|
if (account !== undefined) {
|
|
50941
50951
|
accounts.add(account);
|
|
50942
50952
|
}
|
|
@@ -51112,6 +51122,7 @@ var promptSecret = (question) => new Promise((resolve, reject) => {
|
|
|
51112
51122
|
});
|
|
51113
51123
|
|
|
51114
51124
|
// src/commands/login.ts
|
|
51125
|
+
var TRAILING_SLASHES_PATTERN3 = /\/+$/u;
|
|
51115
51126
|
var deviceCodeSchema = object({
|
|
51116
51127
|
device_code: string2(),
|
|
51117
51128
|
user_code: string2(),
|
|
@@ -51196,7 +51207,7 @@ function validateLoginBaseUrl(apiUrl) {
|
|
|
51196
51207
|
message: "DALP login URLs must not contain a query string or fragment."
|
|
51197
51208
|
});
|
|
51198
51209
|
}
|
|
51199
|
-
return parsed.href.replace(
|
|
51210
|
+
return parsed.href.replace(TRAILING_SLASHES_PATTERN3, "");
|
|
51200
51211
|
}
|
|
51201
51212
|
async function readBoundedJson(response, schema) {
|
|
51202
51213
|
const buffer = await response.arrayBuffer();
|
|
@@ -51745,6 +51756,8 @@ function createCliStatus(options) {
|
|
|
51745
51756
|
}
|
|
51746
51757
|
|
|
51747
51758
|
// src/lib/sdk-cli-schema.ts
|
|
51759
|
+
var CAMEL_BOUNDARY_PATTERN = /([a-z0-9])([A-Z])/gu;
|
|
51760
|
+
var DASH_RUN_PATTERN = /-+/gu;
|
|
51748
51761
|
var cliValueSchema = union([json(), date2(), bigint2(), _undefined3()]);
|
|
51749
51762
|
var looseBagSchema = record(string2(), cliValueSchema);
|
|
51750
51763
|
var parseLooseBag = (value) => looseBagSchema.parse(value);
|
|
@@ -51921,7 +51934,7 @@ function buildOptionsFromSdk(querySchema, bodySchema, surface, extras) {
|
|
|
51921
51934
|
}
|
|
51922
51935
|
}
|
|
51923
51936
|
for (const param of surface?.headerParams ?? []) {
|
|
51924
|
-
const headerOption = param.name.replaceAll(
|
|
51937
|
+
const headerOption = param.name.replaceAll(CAMEL_BOUNDARY_PATTERN, "$1-$2").replaceAll("_", "-").replaceAll(DASH_RUN_PATTERN, "-").toLowerCase();
|
|
51925
51938
|
if (out[headerOption] !== undefined) {
|
|
51926
51939
|
continue;
|
|
51927
51940
|
}
|
|
@@ -52104,6 +52117,8 @@ function listCliOperations() {
|
|
|
52104
52117
|
}
|
|
52105
52118
|
|
|
52106
52119
|
// src/lib/register-operations.ts
|
|
52120
|
+
var CAMEL_BOUNDARY_PATTERN2 = /([a-z0-9])([A-Z])/gu;
|
|
52121
|
+
var DASH_RUN_PATTERN2 = /-+/gu;
|
|
52107
52122
|
function readOkHelper(context) {
|
|
52108
52123
|
const ok = Reflect.get(context, "ok");
|
|
52109
52124
|
return typeof ok === "function" ? ok : undefined;
|
|
@@ -52180,7 +52195,7 @@ function selectOperation(ops, path) {
|
|
|
52180
52195
|
return [...ranked].sort((left, right) => left.total - right.total)[0].op;
|
|
52181
52196
|
}
|
|
52182
52197
|
function headerOptionName(name) {
|
|
52183
|
-
return name.replaceAll(
|
|
52198
|
+
return name.replaceAll(CAMEL_BOUNDARY_PATTERN2, "$1-$2").replaceAll("_", "-").replaceAll(DASH_RUN_PATTERN2, "-").toLowerCase();
|
|
52184
52199
|
}
|
|
52185
52200
|
function collectHeaders(surface, options) {
|
|
52186
52201
|
const headers = new Headers;
|
|
@@ -52568,8 +52583,9 @@ function registerGeneratedOperations(root, operations = listCliOperations()) {
|
|
|
52568
52583
|
}
|
|
52569
52584
|
|
|
52570
52585
|
// src/main.ts
|
|
52586
|
+
var COMMAND_NAME_SEPARATOR_PATTERN = /[ _]/u;
|
|
52571
52587
|
var SKIP_AUTH_COMMANDS = new Set(["login", "logout", "config", "mcp", "skills"]);
|
|
52572
|
-
var topLevelCommandName = (command) => command?.split(
|
|
52588
|
+
var topLevelCommandName = (command) => command?.split(COMMAND_NAME_SEPARATOR_PATTERN)[0] ?? "";
|
|
52573
52589
|
var makeCli = () => {
|
|
52574
52590
|
const cli = create("dalp", {
|
|
52575
52591
|
version: CLI_VERSION,
|
|
@@ -52637,4 +52653,4 @@ if (false) {}
|
|
|
52637
52653
|
// src/bin.ts
|
|
52638
52654
|
await cli.serve();
|
|
52639
52655
|
|
|
52640
|
-
//# debugId=
|
|
52656
|
+
//# debugId=D21138CBF05C164864756E2164756E21
|