neutron-cli 0.1.1 → 0.1.3

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.
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function registerUpdate(program: Command): void;
3
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8CrD"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerUpdate = registerUpdate;
4
+ const child_process_1 = require("child_process");
5
+ const { version: current } = require("../../package.json");
6
+ function registerUpdate(program) {
7
+ program
8
+ .command("update")
9
+ .description("Update neutron-cli to the latest version")
10
+ .action(async () => {
11
+ try {
12
+ // Check latest version
13
+ const res = await fetch("https://registry.npmjs.org/neutron-cli/latest", {
14
+ signal: AbortSignal.timeout(5000),
15
+ });
16
+ if (!res.ok)
17
+ throw new Error("Could not reach npm registry");
18
+ const { version: latest } = (await res.json());
19
+ if (latest === current) {
20
+ console.log(`✅ Already on latest version (${current})`);
21
+ return;
22
+ }
23
+ console.log(`⚡ Updating neutron-cli ${current} → ${latest}...`);
24
+ // Detect how it was installed
25
+ let cmd;
26
+ try {
27
+ const which = (0, child_process_1.execSync)("which neutron-cli", { encoding: "utf8" }).trim();
28
+ if (which.includes(".npm") || which.includes("npm-global") || which.includes("/bin/neutron-cli")) {
29
+ cmd = "npm install -g neutron-cli@latest";
30
+ }
31
+ else {
32
+ cmd = "npm install -g neutron-cli@latest";
33
+ }
34
+ }
35
+ catch {
36
+ cmd = "npm install -g neutron-cli@latest";
37
+ }
38
+ console.log(`Running: ${cmd}`);
39
+ (0, child_process_1.execSync)(cmd, { stdio: "inherit" });
40
+ console.log(`\n✅ Updated to neutron-cli@${latest}`);
41
+ }
42
+ catch (e) {
43
+ process.stderr.write(JSON.stringify({ error: e?.message ?? "Update failed", code: "UPDATE_ERROR" }) + "\n");
44
+ process.stderr.write("\nTo update manually:\n npm install -g neutron-cli@latest\n");
45
+ process.exit(1);
46
+ }
47
+ });
48
+ }
49
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":";;AAKA,wCA8CC;AAlDD,iDAAyC;AAEzC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAwB,CAAC;AAElF,SAAgB,cAAc,CAAC,OAAgB;IAC7C,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,uBAAuB;YACvB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,+CAA+C,EAAE;gBACvE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;aAClC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC7D,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAwB,CAAC;YAEtE,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,gCAAgC,OAAO,GAAG,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,0BAA0B,OAAO,MAAM,MAAM,KAAK,CAAC,CAAC;YAEhE,8BAA8B;YAC9B,IAAI,GAAW,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAA,wBAAQ,EAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACzE,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBACjG,GAAG,GAAG,mCAAmC,CAAC;gBAC5C,CAAC;qBAAM,CAAC;oBACN,GAAG,GAAG,mCAAmC,CAAC;gBAC5C,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,GAAG,GAAG,mCAAmC,CAAC;YAC5C,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;YAC/B,IAAA,wBAAQ,EAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,IAAI,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,GAAG,IAAI,CACtF,CAAC;YACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,8DAA8D,CAC/D,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
package/dist/index.js CHANGED
@@ -2,6 +2,7 @@
2
2
  "use strict";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const commander_1 = require("commander");
5
+ const update_check_js_1 = require("./update-check.js");
5
6
  const auth_js_1 = require("./commands/auth.js");
6
7
  const balance_js_1 = require("./commands/balance.js");
7
8
  const invoice_js_1 = require("./commands/invoice.js");
@@ -9,12 +10,13 @@ const send_js_1 = require("./commands/send.js");
9
10
  const tx_js_1 = require("./commands/tx.js");
10
11
  const rate_js_1 = require("./commands/rate.js");
11
12
  const webhook_js_1 = require("./commands/webhook.js");
13
+ const update_js_1 = require("./commands/update.js");
12
14
  const config_js_1 = require("./commands/config.js");
13
15
  const program = new commander_1.Command();
14
16
  program
15
17
  .name("neutron-cli")
16
18
  .description("CLI for Neutron Lightning wallet — for developers and AI agents")
17
- .version("0.1.0")
19
+ .version(require("../package.json").version)
18
20
  .option("--json", "Output as JSON (default; explicit flag for agent use)")
19
21
  .option("--pretty", "Output as human-readable text");
20
22
  (0, config_js_1.registerConfig)(program);
@@ -25,6 +27,8 @@ program
25
27
  (0, tx_js_1.registerTx)(program);
26
28
  (0, rate_js_1.registerRate)(program);
27
29
  (0, webhook_js_1.registerWebhook)(program);
30
+ (0, update_js_1.registerUpdate)(program);
31
+ (0, update_check_js_1.checkForUpdate)(); // non-blocking, fires in background
28
32
  program.parseAsync(process.argv).catch((e) => {
29
33
  process.stderr.write(JSON.stringify({ error: e?.message ?? "Unknown error", code: "FATAL" }) + "\n");
30
34
  process.exit(1);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,gDAAkD;AAClD,sDAAwD;AACxD,sDAAwD;AACxD,gDAAkD;AAClD,4CAA8C;AAC9C,gDAAkD;AAClD,sDAAwD;AACxD,oDAAsD;AAEtD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CAAC,iEAAiE,CAAC;KAC9E,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,QAAQ,EAAE,uDAAuD,CAAC;KACzE,MAAM,CAAC,UAAU,EAAE,+BAA+B,CAAC,CAAC;AAEvD,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;AACxB,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;AACtB,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC;AACzB,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC;AACzB,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;AACtB,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC;AACpB,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;AACtB,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC;AAEzB,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,IAAI,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACrG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,uDAAmD;AACnD,gDAAkD;AAClD,sDAAwD;AACxD,sDAAwD;AACxD,gDAAkD;AAClD,4CAA8C;AAC9C,gDAAkD;AAClD,sDAAwD;AACxD,oDAAsD;AACtD,oDAAsD;AAEtD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CAAC,iEAAiE,CAAC;KAC9E,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;KAC3C,MAAM,CAAC,QAAQ,EAAE,uDAAuD,CAAC;KACzE,MAAM,CAAC,UAAU,EAAE,+BAA+B,CAAC,CAAC;AAEvD,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;AACxB,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;AACtB,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC;AACzB,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC;AACzB,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;AACtB,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC;AACpB,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;AACtB,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC;AACzB,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;AAExB,IAAA,gCAAc,GAAE,CAAC,CAAC,oCAAoC;AAEtD,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,IAAI,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACrG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function checkForUpdate(): Promise<void>;
2
+ //# sourceMappingURL=update-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../src/update-check.ts"],"names":[],"mappings":"AAGA,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAepD"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkForUpdate = checkForUpdate;
4
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
5
+ const { version: current } = require("../package.json");
6
+ async function checkForUpdate() {
7
+ try {
8
+ const res = await fetch("https://registry.npmjs.org/neutron-cli/latest", {
9
+ signal: AbortSignal.timeout(2000),
10
+ });
11
+ if (!res.ok)
12
+ return;
13
+ const { version: latest } = (await res.json());
14
+ if (latest && latest !== current) {
15
+ process.stderr.write(`\n⚡ Update available: ${current} → ${latest}\n Run: npm install -g neutron-cli\n\n`);
16
+ }
17
+ }
18
+ catch {
19
+ // silent — never block the CLI for an update check
20
+ }
21
+ }
22
+ //# sourceMappingURL=update-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-check.js","sourceRoot":"","sources":["../src/update-check.ts"],"names":[],"mappings":";;AAGA,wCAeC;AAlBD,8DAA8D;AAC9D,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAExE,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,+CAA+C,EAAE;YACvE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO;QACpB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAwB,CAAC;QACtE,IAAI,MAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,yBAAyB,OAAO,MAAM,MAAM,0CAA0C,CACvF,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;IACrD,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neutron-cli",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "CLI for Neutron Lightning wallet services \u2014 for developers and AI agents",
5
5
  "keywords": [
6
6
  "neutron",