thoth-cli 0.2.17 → 0.2.19

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.
Files changed (2) hide show
  1. package/dist/bin.js +26 -29
  2. package/package.json +1 -1
package/dist/bin.js CHANGED
@@ -96,7 +96,7 @@ EPHEMERIS & MOON
96
96
  \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501
97
97
  REFERENCE
98
98
  \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501
99
- thoth key # full symbol reference`).version("0.2.17");
99
+ thoth key # full symbol reference`).version("0.2.19");
100
100
  program.command("chart").description("Calculate a natal chart").requiredOption("--date <date>", "Birth date (YYYY-MM-DD)").requiredOption("--time <time>", "Birth time (HH:MM)").option("--lat <lat>", "Latitude", parseFloat).option("--lng <lng>", "Longitude", parseFloat).option("--city <city>", "City name").option("--nation <nation>", "Country code", "US").option("--name <name>", "Name", "Subject").option("--json", "Output raw JSON").option("--svg", "Output SVG chart").option("--svg-file <path>", "Save SVG to file").action(async (options) => {
101
101
  if (!options.city && (!options.lat || !options.lng)) {
102
102
  console.error(chalk.red("Error: Must provide either --city or both --lat and --lng"));
@@ -481,12 +481,34 @@ program.command("horary").description("Cast a horary chart for divination (like
481
481
  console.log(formatHorary(result));
482
482
  }
483
483
  });
484
- program.command("moon").description("Get current moon phase and position").option("--date <date>", "Date (YYYY-MM-DD, default: today)").option("--lat <lat>", "Latitude", parseFloat, 40.7128).option("--lng <lng>", "Longitude", parseFloat, -74.006).option("--json", "Output raw JSON").action(async (options) => {
485
- const spinner = ora("Getting moon phase...").start();
484
+ program.command("moon").description("Get current moon phase and position").option("--date <date>", "Date (YYYY-MM-DD, default: today)").option("--lat <lat>", "Latitude", parseFloat, 40.7128).option("--lng <lng>", "Longitude", parseFloat, -74.006).option("--tz <tz>", "Timezone (for extended)", "America/New_York").option("--extended", "Show extended data (eclipses, sunrise/sunset)").option("--json", "Output raw JSON").action(async (options) => {
486
485
  let year, month, day;
487
486
  if (options.date) {
488
487
  [year, month, day] = options.date.split("-").map(Number);
489
488
  }
489
+ if (options.extended) {
490
+ const spinner2 = ora("Getting moon details...").start();
491
+ const result2 = await moonExtended({
492
+ year,
493
+ month,
494
+ day,
495
+ lat: options.lat,
496
+ lng: options.lng,
497
+ tz: options.tz
498
+ });
499
+ spinner2.stop();
500
+ if (isError(result2)) {
501
+ console.error(chalk.red(`Error: ${result2.error}`));
502
+ process.exit(1);
503
+ }
504
+ if (options.json) {
505
+ console.log(JSON.stringify(result2, null, 2));
506
+ } else {
507
+ console.log(formatMoonExtended(result2));
508
+ }
509
+ return;
510
+ }
511
+ const spinner = ora("Getting moon phase...").start();
490
512
  const result = await moon({
491
513
  year,
492
514
  month,
@@ -711,31 +733,6 @@ program.command("score").description("Calculate relationship compatibility score
711
733
  console.log(formatScore(result));
712
734
  }
713
735
  });
714
- program.command("moon-extended").description("Get detailed moon data with eclipses and sunrise/sunset").option("--date <date>", "Date (YYYY-MM-DD, default: today)").option("--lat <lat>", "Latitude", parseFloat, 40.7128).option("--lng <lng>", "Longitude", parseFloat, -74.006).option("--tz <tz>", "Timezone", "America/New_York").option("--json", "Output raw JSON").action(async (options) => {
715
- let year, month, day;
716
- if (options.date) {
717
- [year, month, day] = options.date.split("-").map(Number);
718
- }
719
- const spinner = ora("Getting moon details...").start();
720
- const result = await moonExtended({
721
- year,
722
- month,
723
- day,
724
- lat: options.lat,
725
- lng: options.lng,
726
- tz: options.tz
727
- });
728
- spinner.stop();
729
- if (isError(result)) {
730
- console.error(chalk.red("Error: " + result.error));
731
- process.exit(1);
732
- }
733
- if (options.json) {
734
- console.log(JSON.stringify(result, null, 2));
735
- } else {
736
- console.log(formatMoonExtended(result));
737
- }
738
- });
739
736
  program.command("transit-scan").description("Scan for transit aspects over a date range").requiredOption("--natal-date <date>", "Natal birth date (YYYY-MM-DD)").requiredOption("--natal-time <time>", "Natal birth time (HH:MM)").option("--city <city>", "Natal city").option("--nation <nation>", "Country code", "US").option("--lat <lat>", "Natal latitude", parseFloat).option("--lng <lng>", "Natal longitude", parseFloat).requiredOption("--from <date>", "Start date (YYYY-MM-DD)").requiredOption("--to <date>", "End date (YYYY-MM-DD)").option("--orb <orb>", "Aspect orb in degrees", parseFloat, 1).option("--step <step>", "Step: day or week", "day").option("--json", "Output raw JSON").action(async (options) => {
740
737
  const [natalYear, natalMonth, natalDay] = options.natalDate.split("-").map(Number);
741
738
  const [natalHour, natalMinute] = options.natalTime.split(":").map(Number);
@@ -800,6 +797,6 @@ program.command("ephemeris-multi").description("Get ephemeris for multiple bodie
800
797
  }
801
798
  });
802
799
  console.log(chalk.dim(""));
803
- console.log(chalk.yellow(" \u{1315D}") + chalk.dim(" thoth-cli v0.2.17"));
800
+ console.log(chalk.yellow(" \u{1315D}") + chalk.dim(" thoth-cli v0.2.19"));
804
801
  console.log(chalk.dim(""));
805
802
  program.parse();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thoth-cli",
3
- "version": "0.2.17",
3
+ "version": "0.2.19",
4
4
  "description": "𓅝 Astrological calculations from the command line. Swiss Ephemeris precision. Built for humans and agents.",
5
5
  "author": "AKLO <aklo@aklolabs.com>",
6
6
  "license": "MIT",