midnight-wallet-cli 0.1.4 → 0.1.6
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/mcp-server.js +55 -4
- package/dist/wallet.js +177 -79
- package/package.json +1 -1
package/dist/mcp-server.js
CHANGED
|
@@ -2218,7 +2218,6 @@ var init_localnet2 = __esm(() => {
|
|
|
2218
2218
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
2219
2219
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
2220
2220
|
import { ListToolsRequestSchema, CallToolRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
2221
|
-
import { createRequire } from "node:module";
|
|
2222
2221
|
|
|
2223
2222
|
// src/lib/run-command.ts
|
|
2224
2223
|
async function captureCommand(handler, args, signal) {
|
|
@@ -2290,10 +2289,62 @@ function classifyError(err) {
|
|
|
2290
2289
|
}
|
|
2291
2290
|
return { exitCode: EXIT_GENERAL_ERROR, errorCode: ERROR_CODES.UNKNOWN };
|
|
2292
2291
|
}
|
|
2292
|
+
// package.json
|
|
2293
|
+
var package_default = {
|
|
2294
|
+
name: "midnight-wallet-cli",
|
|
2295
|
+
version: "0.1.6",
|
|
2296
|
+
type: "module",
|
|
2297
|
+
description: "Git-style CLI wallet for the Midnight blockchain",
|
|
2298
|
+
license: "Apache-2.0",
|
|
2299
|
+
bin: {
|
|
2300
|
+
midnight: "dist/wallet.js",
|
|
2301
|
+
mn: "dist/wallet.js",
|
|
2302
|
+
"midnight-wallet-cli": "dist/wallet.js",
|
|
2303
|
+
"midnight-wallet-mcp": "dist/mcp-server.js"
|
|
2304
|
+
},
|
|
2305
|
+
files: [
|
|
2306
|
+
"dist"
|
|
2307
|
+
],
|
|
2308
|
+
scripts: {
|
|
2309
|
+
wallet: "tsx src/wallet.ts",
|
|
2310
|
+
build: 'bun build src/wallet.ts --outfile dist/wallet.js --target node --format esm --packages external --banner "#!/usr/bin/env node" && bun build src/mcp-server.ts --outfile dist/mcp-server.js --target node --format esm --packages external --banner "#!/usr/bin/env node"',
|
|
2311
|
+
mcp: "tsx src/mcp-server.ts",
|
|
2312
|
+
prepublishOnly: "npm run build && npm run test",
|
|
2313
|
+
test: "vitest run",
|
|
2314
|
+
"test:watch": "vitest",
|
|
2315
|
+
typecheck: "tsc --noEmit"
|
|
2316
|
+
},
|
|
2317
|
+
dependencies: {
|
|
2318
|
+
"@midnight-ntwrk/ledger-v7": "7.0.0",
|
|
2319
|
+
"@midnight-ntwrk/midnight-js-network-id": "3.0.0",
|
|
2320
|
+
"@midnight-ntwrk/midnight-js-types": "3.0.0",
|
|
2321
|
+
"@midnight-ntwrk/wallet-sdk-abstractions": "1.0.0",
|
|
2322
|
+
"@midnight-ntwrk/wallet-sdk-address-format": "3.0.0",
|
|
2323
|
+
"@midnight-ntwrk/wallet-sdk-dust-wallet": "1.0.0",
|
|
2324
|
+
"@midnight-ntwrk/wallet-sdk-facade": "1.0.0",
|
|
2325
|
+
"@midnight-ntwrk/wallet-sdk-hd": "3.0.0",
|
|
2326
|
+
"@midnight-ntwrk/wallet-sdk-shielded": "1.0.0",
|
|
2327
|
+
"@midnight-ntwrk/wallet-sdk-unshielded-wallet": "1.0.0",
|
|
2328
|
+
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
2329
|
+
"@scure/bip39": "^2.0.1",
|
|
2330
|
+
rxjs: "^7.8.1",
|
|
2331
|
+
ws: "^8.19.0"
|
|
2332
|
+
},
|
|
2333
|
+
devDependencies: {
|
|
2334
|
+
"@types/node": "^22.19.13",
|
|
2335
|
+
"@types/ws": "^8.18.1",
|
|
2336
|
+
tsx: "^4.21.0",
|
|
2337
|
+
typescript: "^5.9.3",
|
|
2338
|
+
vitest: "^3.2.4"
|
|
2339
|
+
}
|
|
2340
|
+
};
|
|
2341
|
+
|
|
2342
|
+
// src/lib/pkg.ts
|
|
2343
|
+
var PKG_NAME = package_default.name;
|
|
2344
|
+
var PKG_VERSION = package_default.version;
|
|
2345
|
+
var PKG_DESCRIPTION = package_default.description;
|
|
2293
2346
|
|
|
2294
2347
|
// src/mcp-server.ts
|
|
2295
|
-
var require2 = createRequire(import.meta.url);
|
|
2296
|
-
var pkg = require2("../package.json");
|
|
2297
2348
|
function buildArgs(command, params, subcommand) {
|
|
2298
2349
|
const flags = { json: true };
|
|
2299
2350
|
const positionals = [];
|
|
@@ -2646,7 +2697,7 @@ var TOOLS = [
|
|
|
2646
2697
|
}
|
|
2647
2698
|
}
|
|
2648
2699
|
];
|
|
2649
|
-
var server = new Server({ name: "midnight-wallet-cli", version:
|
|
2700
|
+
var server = new Server({ name: "midnight-wallet-cli", version: PKG_VERSION }, { capabilities: { tools: {} } });
|
|
2650
2701
|
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
2651
2702
|
return {
|
|
2652
2703
|
tools: TOOLS.map((t) => ({
|
package/dist/wallet.js
CHANGED
|
@@ -102,10 +102,13 @@ function green(text) {
|
|
|
102
102
|
function yellow(text) {
|
|
103
103
|
return fg(text, YELLOW_CODE);
|
|
104
104
|
}
|
|
105
|
+
function white(text) {
|
|
106
|
+
return fg(text, WHITE_CODE);
|
|
107
|
+
}
|
|
105
108
|
function gray(text) {
|
|
106
109
|
return fg(text, DIM_GRAY);
|
|
107
110
|
}
|
|
108
|
-
var ESC = "\x1B[", RESET = "\x1B[0m", TEAL = 38, DIM_GRAY = 245, RED_CODE = 196, GREEN_CODE = 40, YELLOW_CODE = 226;
|
|
111
|
+
var ESC = "\x1B[", RESET = "\x1B[0m", TEAL = 38, WHITE_CODE = 15, DIM_GRAY = 245, RED_CODE = 196, GREEN_CODE = 40, YELLOW_CODE = 226;
|
|
109
112
|
|
|
110
113
|
// src/ui/format.ts
|
|
111
114
|
function header(title, width = DEFAULT_WIDTH) {
|
|
@@ -307,6 +310,68 @@ function writeJsonError(err, errorCode, exitCode) {
|
|
|
307
310
|
}
|
|
308
311
|
var captureTarget = null;
|
|
309
312
|
|
|
313
|
+
// package.json
|
|
314
|
+
var package_default;
|
|
315
|
+
var init_package = __esm(() => {
|
|
316
|
+
package_default = {
|
|
317
|
+
name: "midnight-wallet-cli",
|
|
318
|
+
version: "0.1.6",
|
|
319
|
+
type: "module",
|
|
320
|
+
description: "Git-style CLI wallet for the Midnight blockchain",
|
|
321
|
+
license: "Apache-2.0",
|
|
322
|
+
bin: {
|
|
323
|
+
midnight: "dist/wallet.js",
|
|
324
|
+
mn: "dist/wallet.js",
|
|
325
|
+
"midnight-wallet-cli": "dist/wallet.js",
|
|
326
|
+
"midnight-wallet-mcp": "dist/mcp-server.js"
|
|
327
|
+
},
|
|
328
|
+
files: [
|
|
329
|
+
"dist"
|
|
330
|
+
],
|
|
331
|
+
scripts: {
|
|
332
|
+
wallet: "tsx src/wallet.ts",
|
|
333
|
+
build: 'bun build src/wallet.ts --outfile dist/wallet.js --target node --format esm --packages external --banner "#!/usr/bin/env node" && bun build src/mcp-server.ts --outfile dist/mcp-server.js --target node --format esm --packages external --banner "#!/usr/bin/env node"',
|
|
334
|
+
mcp: "tsx src/mcp-server.ts",
|
|
335
|
+
prepublishOnly: "npm run build && npm run test",
|
|
336
|
+
test: "vitest run",
|
|
337
|
+
"test:watch": "vitest",
|
|
338
|
+
typecheck: "tsc --noEmit"
|
|
339
|
+
},
|
|
340
|
+
dependencies: {
|
|
341
|
+
"@midnight-ntwrk/ledger-v7": "7.0.0",
|
|
342
|
+
"@midnight-ntwrk/midnight-js-network-id": "3.0.0",
|
|
343
|
+
"@midnight-ntwrk/midnight-js-types": "3.0.0",
|
|
344
|
+
"@midnight-ntwrk/wallet-sdk-abstractions": "1.0.0",
|
|
345
|
+
"@midnight-ntwrk/wallet-sdk-address-format": "3.0.0",
|
|
346
|
+
"@midnight-ntwrk/wallet-sdk-dust-wallet": "1.0.0",
|
|
347
|
+
"@midnight-ntwrk/wallet-sdk-facade": "1.0.0",
|
|
348
|
+
"@midnight-ntwrk/wallet-sdk-hd": "3.0.0",
|
|
349
|
+
"@midnight-ntwrk/wallet-sdk-shielded": "1.0.0",
|
|
350
|
+
"@midnight-ntwrk/wallet-sdk-unshielded-wallet": "1.0.0",
|
|
351
|
+
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
352
|
+
"@scure/bip39": "^2.0.1",
|
|
353
|
+
rxjs: "^7.8.1",
|
|
354
|
+
ws: "^8.19.0"
|
|
355
|
+
},
|
|
356
|
+
devDependencies: {
|
|
357
|
+
"@types/node": "^22.19.13",
|
|
358
|
+
"@types/ws": "^8.18.1",
|
|
359
|
+
tsx: "^4.21.0",
|
|
360
|
+
typescript: "^5.9.3",
|
|
361
|
+
vitest: "^3.2.4"
|
|
362
|
+
}
|
|
363
|
+
};
|
|
364
|
+
});
|
|
365
|
+
|
|
366
|
+
// src/lib/pkg.ts
|
|
367
|
+
var PKG_NAME, PKG_VERSION, PKG_DESCRIPTION;
|
|
368
|
+
var init_pkg = __esm(() => {
|
|
369
|
+
init_package();
|
|
370
|
+
PKG_NAME = package_default.name;
|
|
371
|
+
PKG_VERSION = package_default.version;
|
|
372
|
+
PKG_DESCRIPTION = package_default.description;
|
|
373
|
+
});
|
|
374
|
+
|
|
310
375
|
// src/lib/run-command.ts
|
|
311
376
|
async function captureCommand(handler, args, signal) {
|
|
312
377
|
const chunks = [];
|
|
@@ -2403,7 +2468,6 @@ var exports_mcp_server = {};
|
|
|
2403
2468
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
2404
2469
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
2405
2470
|
import { ListToolsRequestSchema, CallToolRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
2406
|
-
import { createRequire } from "node:module";
|
|
2407
2471
|
function buildArgs(command, params, subcommand) {
|
|
2408
2472
|
const flags = { json: true };
|
|
2409
2473
|
const positionals = [];
|
|
@@ -2435,12 +2499,11 @@ async function main() {
|
|
|
2435
2499
|
const transport = new StdioServerTransport;
|
|
2436
2500
|
await server.connect(transport);
|
|
2437
2501
|
}
|
|
2438
|
-
var
|
|
2502
|
+
var handlerLoaders, TOOLS, server;
|
|
2439
2503
|
var init_mcp_server = __esm(() => {
|
|
2440
2504
|
init_run_command();
|
|
2441
2505
|
init_exit_codes();
|
|
2442
|
-
|
|
2443
|
-
pkg = require2("../package.json");
|
|
2506
|
+
init_pkg();
|
|
2444
2507
|
handlerLoaders = {
|
|
2445
2508
|
generate: () => Promise.resolve().then(() => (init_generate(), exports_generate)),
|
|
2446
2509
|
info: () => Promise.resolve().then(() => (init_info(), exports_info)),
|
|
@@ -2766,7 +2829,7 @@ var init_mcp_server = __esm(() => {
|
|
|
2766
2829
|
}
|
|
2767
2830
|
}
|
|
2768
2831
|
];
|
|
2769
|
-
server = new Server({ name: "midnight-wallet-cli", version:
|
|
2832
|
+
server = new Server({ name: "midnight-wallet-cli", version: PKG_VERSION }, { capabilities: { tools: {} } });
|
|
2770
2833
|
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
2771
2834
|
return {
|
|
2772
2835
|
tools: TOOLS.map((t) => ({
|
|
@@ -2810,6 +2873,26 @@ var init_mcp_server = __esm(() => {
|
|
|
2810
2873
|
});
|
|
2811
2874
|
|
|
2812
2875
|
// src/ui/art.ts
|
|
2876
|
+
function getWordmarkTypingFrame(progress) {
|
|
2877
|
+
const clamped = Math.max(0, Math.min(1, progress));
|
|
2878
|
+
const width = WORDMARK_BIG[0].length;
|
|
2879
|
+
const visibleCols = Math.floor(clamped * width);
|
|
2880
|
+
return WORDMARK_BIG.map((line) => line.slice(0, visibleCols).padEnd(width));
|
|
2881
|
+
}
|
|
2882
|
+
function getWordmarkMaterializeFrame(progress) {
|
|
2883
|
+
const clamped = Math.max(0, Math.min(1, progress));
|
|
2884
|
+
const seed = Math.floor(progress * 100);
|
|
2885
|
+
if (clamped >= 1)
|
|
2886
|
+
return WORDMARK_BIG;
|
|
2887
|
+
return WORDMARK_BIG.map((line, row) => Array.from(line).map((ch, col) => {
|
|
2888
|
+
if (ch === " ")
|
|
2889
|
+
return " ";
|
|
2890
|
+
if (clamped <= 0)
|
|
2891
|
+
return noiseChar(row + 20, col, 0);
|
|
2892
|
+
const threshold = ((row + 20) * 131 + col * 997) % 100 / 100;
|
|
2893
|
+
return clamped >= threshold ? ch : noiseChar(row + 20, col, seed);
|
|
2894
|
+
}).join(""));
|
|
2895
|
+
}
|
|
2813
2896
|
function noiseChar(row, col, seed) {
|
|
2814
2897
|
const hash = (row * 131 + col * 997 + seed * 7919) % 65537 / 65537;
|
|
2815
2898
|
return NOISE_CHARS[Math.floor(hash * NOISE_CHARS.length)];
|
|
@@ -2833,26 +2916,30 @@ function getMaterializeFrame(progress) {
|
|
|
2833
2916
|
}).join("")).join(`
|
|
2834
2917
|
`);
|
|
2835
2918
|
}
|
|
2836
|
-
|
|
2837
|
-
const clamped = Math.max(0, Math.min(1, progress));
|
|
2838
|
-
const visibleChars = Math.floor(clamped * WORDMARK.length);
|
|
2839
|
-
return WORDMARK.slice(0, visibleChars);
|
|
2840
|
-
}
|
|
2841
|
-
var MIDNIGHT_LOGO, WORDMARK = "m i d n i g h t", COMMAND_BRIEFS, NOISE_CHARS;
|
|
2919
|
+
var MIDNIGHT_LOGO, WORDMARK_BIG, COMMAND_BRIEFS, NOISE_CHARS;
|
|
2842
2920
|
var init_art = __esm(() => {
|
|
2843
2921
|
MIDNIGHT_LOGO = [
|
|
2844
|
-
"
|
|
2845
|
-
"
|
|
2846
|
-
"
|
|
2847
|
-
"
|
|
2848
|
-
" ██
|
|
2849
|
-
" ██
|
|
2850
|
-
" ██
|
|
2851
|
-
"
|
|
2852
|
-
"
|
|
2853
|
-
"
|
|
2922
|
+
" ████████████ ",
|
|
2923
|
+
" ███ ███ ",
|
|
2924
|
+
" ███ ██ ███ ",
|
|
2925
|
+
" ██ ██ ",
|
|
2926
|
+
" ██ ██ ██ ",
|
|
2927
|
+
" ██ ██ ",
|
|
2928
|
+
" ██ ██ ██ ",
|
|
2929
|
+
" ██ ██ ",
|
|
2930
|
+
" ██ ██ ",
|
|
2931
|
+
" ██ ██ ",
|
|
2932
|
+
" ██ ██ ",
|
|
2933
|
+
" ███ ███ ",
|
|
2934
|
+
" ███ ███ ",
|
|
2935
|
+
" ████████████ "
|
|
2854
2936
|
].join(`
|
|
2855
2937
|
`);
|
|
2938
|
+
WORDMARK_BIG = [
|
|
2939
|
+
"█▄ ▄█ █ █▀▄ █▄ █ █ █▀▀ █ █ ▀█▀",
|
|
2940
|
+
"█ █ █ █ █ █ █ ██ █ █ █ █▀█ █ ",
|
|
2941
|
+
"▀ ▀ ▀ ▀▀ ▀ ▀ ▀ ▀▀▀ ▀ ▀ ▀ "
|
|
2942
|
+
];
|
|
2856
2943
|
COMMAND_BRIEFS = [
|
|
2857
2944
|
["generate", "Generate or restore a wallet"],
|
|
2858
2945
|
["info", "Display wallet metadata"],
|
|
@@ -2884,34 +2971,38 @@ function sleep(ms, signal) {
|
|
|
2884
2971
|
}, { once: true });
|
|
2885
2972
|
});
|
|
2886
2973
|
}
|
|
2887
|
-
function writeLine(text) {
|
|
2888
|
-
process.stderr.write(`\r${text}\x1B[K`);
|
|
2889
|
-
}
|
|
2890
2974
|
async function animateMaterialize(signal, sideContent) {
|
|
2891
2975
|
const totalFrames = 20;
|
|
2892
2976
|
const logoLines = MIDNIGHT_LOGO.split(`
|
|
2893
2977
|
`);
|
|
2894
2978
|
const logoLineCount = logoLines.length;
|
|
2979
|
+
const rightCol = 36;
|
|
2980
|
+
const totalHeight = Math.max(logoLineCount, sideContent?.length ?? 0);
|
|
2981
|
+
const wordmarkLineCount = 3;
|
|
2895
2982
|
if (!isColorEnabled()) {
|
|
2896
|
-
for (let j = 0;j <
|
|
2897
|
-
const left = logoLines[j].padEnd(
|
|
2983
|
+
for (let j = 0;j < totalHeight; j++) {
|
|
2984
|
+
const left = (j < logoLineCount ? logoLines[j] : "").padEnd(rightCol - 1);
|
|
2898
2985
|
const right = sideContent?.[j] ?? "";
|
|
2899
|
-
process.stderr.write(
|
|
2986
|
+
process.stderr.write(left + right + `
|
|
2900
2987
|
`);
|
|
2901
2988
|
}
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
|
|
2989
|
+
return;
|
|
2990
|
+
}
|
|
2991
|
+
function renderFrame(frameLogoLines, rightLines) {
|
|
2992
|
+
for (let j = 0;j < totalHeight; j++) {
|
|
2993
|
+
const left = j < frameLogoLines.length ? white(frameLogoLines[j]) : "";
|
|
2994
|
+
const right = rightLines[j] ?? "";
|
|
2995
|
+
if (right) {
|
|
2996
|
+
process.stderr.write(left + `\x1B[${rightCol}G` + right + `\x1B[K
|
|
2905
2997
|
`);
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
if (sideContent[j]) {
|
|
2909
|
-
process.stderr.write(" ".repeat(34) + sideContent[j] + `
|
|
2998
|
+
} else {
|
|
2999
|
+
process.stderr.write(left + `\x1B[K
|
|
2910
3000
|
`);
|
|
2911
|
-
}
|
|
2912
3001
|
}
|
|
2913
3002
|
}
|
|
2914
|
-
|
|
3003
|
+
}
|
|
3004
|
+
function moveUp() {
|
|
3005
|
+
process.stderr.write(`\x1B[${totalHeight}A`);
|
|
2915
3006
|
}
|
|
2916
3007
|
for (let i = 0;i <= totalFrames; i++) {
|
|
2917
3008
|
if (signal?.aborted)
|
|
@@ -2920,42 +3011,51 @@ async function animateMaterialize(signal, sideContent) {
|
|
|
2920
3011
|
const frame = getMaterializeFrame(progress);
|
|
2921
3012
|
const frameLines = frame.split(`
|
|
2922
3013
|
`);
|
|
2923
|
-
if (i > 0)
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
for (let j = 0;j < logoLineCount; j++) {
|
|
2927
|
-
const left = teal(frameLines[j]);
|
|
2928
|
-
const right = sideContent?.[j] ?? "";
|
|
2929
|
-
const line = sideContent ? left + `\x1B[35G` + right : left;
|
|
2930
|
-
process.stderr.write(line + `\x1B[K
|
|
2931
|
-
`);
|
|
2932
|
-
}
|
|
3014
|
+
if (i > 0)
|
|
3015
|
+
moveUp();
|
|
3016
|
+
renderFrame(frameLines, []);
|
|
2933
3017
|
await sleep(FRAME_MS, signal);
|
|
2934
3018
|
}
|
|
2935
|
-
const
|
|
2936
|
-
|
|
2937
|
-
for (let i = 0;i <= wordmarkFrames; i++) {
|
|
3019
|
+
const typingFrames = 20;
|
|
3020
|
+
for (let i = 0;i <= typingFrames; i++) {
|
|
2938
3021
|
if (signal?.aborted)
|
|
2939
3022
|
break;
|
|
2940
|
-
const progress = i /
|
|
2941
|
-
const
|
|
2942
|
-
|
|
2943
|
-
|
|
2944
|
-
|
|
2945
|
-
|
|
2946
|
-
}
|
|
3023
|
+
const progress = i / typingFrames;
|
|
3024
|
+
const typedLines = getWordmarkTypingFrame(progress);
|
|
3025
|
+
moveUp();
|
|
3026
|
+
const rightLines = new Array(totalHeight).fill(null);
|
|
3027
|
+
for (let j = 0;j < typedLines.length; j++) {
|
|
3028
|
+
rightLines[j] = bold(white(typedLines[j]));
|
|
3029
|
+
}
|
|
3030
|
+
renderFrame(logoLines, rightLines);
|
|
2947
3031
|
await sleep(FRAME_MS, signal);
|
|
2948
3032
|
}
|
|
2949
|
-
|
|
2950
|
-
|
|
3033
|
+
const flashFrames = 12;
|
|
3034
|
+
for (let i = 0;i <= flashFrames; i++) {
|
|
3035
|
+
if (signal?.aborted)
|
|
3036
|
+
break;
|
|
3037
|
+
const progress = i / flashFrames;
|
|
3038
|
+
const flashedLines = getWordmarkMaterializeFrame(progress);
|
|
3039
|
+
moveUp();
|
|
3040
|
+
const rightLines = new Array(totalHeight).fill(null);
|
|
3041
|
+
for (let j = 0;j < flashedLines.length; j++) {
|
|
3042
|
+
rightLines[j] = bold(white(flashedLines[j]));
|
|
3043
|
+
}
|
|
3044
|
+
renderFrame(logoLines, rightLines);
|
|
3045
|
+
await sleep(FRAME_MS, signal);
|
|
3046
|
+
}
|
|
3047
|
+
moveUp();
|
|
3048
|
+
const fullRight = new Array(totalHeight).fill(null);
|
|
2951
3049
|
if (sideContent) {
|
|
2952
|
-
for (let j =
|
|
2953
|
-
if (
|
|
2954
|
-
|
|
2955
|
-
|
|
3050
|
+
for (let j = 0;j < sideContent.length; j++) {
|
|
3051
|
+
if (j < wordmarkLineCount) {
|
|
3052
|
+
fullRight[j] = bold(white(sideContent[j]));
|
|
3053
|
+
} else {
|
|
3054
|
+
fullRight[j] = sideContent[j];
|
|
2956
3055
|
}
|
|
2957
3056
|
}
|
|
2958
3057
|
}
|
|
3058
|
+
renderFrame(logoLines, fullRight);
|
|
2959
3059
|
}
|
|
2960
3060
|
var FRAME_MS = 80;
|
|
2961
3061
|
var init_animate = __esm(() => {
|
|
@@ -2968,9 +3068,12 @@ __export(exports_help, {
|
|
|
2968
3068
|
default: () => helpCommand,
|
|
2969
3069
|
COMMAND_SPECS: () => COMMAND_SPECS
|
|
2970
3070
|
});
|
|
2971
|
-
|
|
2972
|
-
function buildSideContent() {
|
|
3071
|
+
function buildRightColumn() {
|
|
2973
3072
|
const lines = [];
|
|
3073
|
+
for (const wl of WORDMARK_BIG) {
|
|
3074
|
+
lines.push(wl);
|
|
3075
|
+
}
|
|
3076
|
+
lines.push("");
|
|
2974
3077
|
lines.push(bold("Commands"));
|
|
2975
3078
|
for (const [name, brief] of COMMAND_BRIEFS) {
|
|
2976
3079
|
lines.push(`${teal(name.padEnd(18))}${brief}`);
|
|
@@ -3034,13 +3137,11 @@ function printCommandHelp(spec) {
|
|
|
3034
3137
|
}
|
|
3035
3138
|
}
|
|
3036
3139
|
function outputJsonManifest() {
|
|
3037
|
-
const require3 = createRequire2(import.meta.url);
|
|
3038
|
-
const pkg2 = require3("../../package.json");
|
|
3039
3140
|
const manifest = {
|
|
3040
3141
|
cli: {
|
|
3041
|
-
name:
|
|
3042
|
-
version:
|
|
3043
|
-
description:
|
|
3142
|
+
name: PKG_NAME,
|
|
3143
|
+
version: PKG_VERSION,
|
|
3144
|
+
description: PKG_DESCRIPTION,
|
|
3044
3145
|
bin: ["midnight", "mn"]
|
|
3045
3146
|
},
|
|
3046
3147
|
globalFlags: [
|
|
@@ -3062,13 +3163,11 @@ function outputJsonManifest() {
|
|
|
3062
3163
|
writeJsonResult(manifest);
|
|
3063
3164
|
}
|
|
3064
3165
|
function printAgentManual() {
|
|
3065
|
-
const require3 = createRequire2(import.meta.url);
|
|
3066
|
-
const pkg2 = require3("../../package.json");
|
|
3067
3166
|
const manual = `
|
|
3068
3167
|
MIDNIGHT CLI — AI Agent & MCP Reference
|
|
3069
3168
|
========================================
|
|
3070
3169
|
|
|
3071
|
-
Version: ${
|
|
3170
|
+
Version: ${PKG_VERSION}
|
|
3072
3171
|
|
|
3073
3172
|
STRUCTURED JSON OUTPUT
|
|
3074
3173
|
──────────────────────
|
|
@@ -3199,14 +3298,15 @@ async function helpCommand(args) {
|
|
|
3199
3298
|
printPlainHelp();
|
|
3200
3299
|
return;
|
|
3201
3300
|
}
|
|
3202
|
-
const
|
|
3203
|
-
await animateMaterialize(undefined,
|
|
3301
|
+
const rightColumn = buildRightColumn();
|
|
3302
|
+
await animateMaterialize(undefined, rightColumn);
|
|
3204
3303
|
}
|
|
3205
3304
|
var COMMAND_SPECS;
|
|
3206
3305
|
var init_help = __esm(() => {
|
|
3207
3306
|
init_format();
|
|
3208
3307
|
init_animate();
|
|
3209
3308
|
init_art();
|
|
3309
|
+
init_pkg();
|
|
3210
3310
|
COMMAND_SPECS = [
|
|
3211
3311
|
{
|
|
3212
3312
|
name: "generate",
|
|
@@ -3450,7 +3550,7 @@ var init_help = __esm(() => {
|
|
|
3450
3550
|
// src/wallet.ts
|
|
3451
3551
|
init_format();
|
|
3452
3552
|
init_exit_codes();
|
|
3453
|
-
|
|
3553
|
+
init_pkg();
|
|
3454
3554
|
if (process.argv.includes("--mcp")) {
|
|
3455
3555
|
await Promise.resolve().then(() => (init_mcp_server(), exports_mcp_server));
|
|
3456
3556
|
} else {
|
|
@@ -3461,9 +3561,7 @@ if (process.argv.includes("--mcp")) {
|
|
|
3461
3561
|
const args = parseArgs();
|
|
3462
3562
|
const jsonMode = hasFlag(args, "json");
|
|
3463
3563
|
if (hasFlag(args, "version") || hasFlag(args, "v")) {
|
|
3464
|
-
|
|
3465
|
-
const { version } = require3("../package.json");
|
|
3466
|
-
process.stdout.write(version + `
|
|
3564
|
+
process.stdout.write(PKG_VERSION + `
|
|
3467
3565
|
`);
|
|
3468
3566
|
process.exit(0);
|
|
3469
3567
|
}
|