Skip to content

Commit 84599dc

Browse files
release: v0.1.47
1 parent b98bb3a commit 84599dc

58 files changed

Lines changed: 20254 additions & 854 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

AGENTS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ $result = $roxy->location->searchCities(q: 'New York');
4040
| `$roxy->vedicAstrology` | Vedic astrology (Jyotish) and KP API for kundli generation with 15 divisional charts (D1-D60), Ashtakoot Gun Milan ku... |
4141
| `$roxy->forecast` | Forecast API that merges upcoming transit aspects, sign ingresses, retrograde stations, new and full moons, biorhythm... |
4242
| `$roxy->humanDesign` | Generate the full Human Design bodygraph from a birth moment: type, strategy, inner authority, profile, definition, i... |
43+
| `$roxy->chineseAstrology` | Calculate BaZi Four Pillars charts, Chinese zodiac signs, and the Chinese lunisolar calendar from any birth moment: y... |
44+
| `$roxy->fengShui` | Compute classical feng shui from one API: Xuan Kong flying star natal charts for any of the nine periods and 24 mount... |
4345
| `$roxy->numerology` | Numerology API to calculate life path, expression, soul urge, personality, and maturity numbers, with Pinnacle and Ch... |
4446
| `$roxy->tarot` | Tarot reading API with the complete 78-card Rider-Waite-Smith deck and card meanings for love, career, health, and sp... |
4547
| `$roxy->biorhythm` | The most complete biorhythm API: 10 cycle types across 3 primary (physical, emotional, intellectual), 4 secondary (in... |

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ Get an API key at [roxyapi.com/pricing](https://roxyapi.com/pricing). All endpoi
5959
| `$roxy->vedicAstrology` | Vedic astrology (Jyotish) and KP API for kundli generation with 15 divisional charts (D1-D60), Ashtakoot Gun Milan ku... |
6060
| `$roxy->forecast` | Forecast API that merges upcoming transit aspects, sign ingresses, retrograde stations, new and full moons, biorhythm... |
6161
| `$roxy->humanDesign` | Generate the full Human Design bodygraph from a birth moment: type, strategy, inner authority, profile, definition, i... |
62+
| `$roxy->chineseAstrology` | Calculate BaZi Four Pillars charts, Chinese zodiac signs, and the Chinese lunisolar calendar from any birth moment: y... |
63+
| `$roxy->fengShui` | Compute classical feng shui from one API: Xuan Kong flying star natal charts for any of the nine periods and 24 mount... |
6264
| `$roxy->numerology` | Numerology API to calculate life path, expression, soul urge, personality, and maturity numbers, with Pinnacle and Ch... |
6365
| `$roxy->tarot` | Tarot reading API with the complete 78-card Rider-Waite-Smith deck and card meanings for love, career, health, and sp... |
6466
| `$roxy->biorhythm` | The most complete biorhythm API: 10 cycle types across 3 primary (physical, emotional, intellectual), 4 secondary (in... |

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,5 +84,5 @@
8484
"/tests"
8585
]
8686
},
87-
"version": "0.1.46"
87+
"version": "0.1.47"
8888
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "roxyapi-sdk-php-tooling",
33
"private": true,
4-
"version": "0.1.46",
4+
"version": "0.1.47",
55
"description": "Codegen tooling for the roxyapi/sdk Composer package. Not published.",
66
"type": "module",
77
"scripts": {

specs/openapi.json

Lines changed: 16565 additions & 518 deletions
Large diffs are not rendered by default.
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
/**
6+
* AUTO-GENERATED by scripts/generate.mjs from the live OpenAPI spec.
7+
* Do not edit this file by hand. Regenerate with: node scripts/generate.mjs
8+
*/
9+
10+
namespace RoxyAPI\Sdk\Generated\Requests;
11+
12+
use Saloon\Enums\Method;
13+
use Saloon\Http\Request;
14+
use Saloon\Contracts\Body\HasBody;
15+
use Saloon\Traits\Body\HasJsonBody;
16+
17+
/**
18+
* Calculate BaZi annual forecast - Liu Nian yearly pillar API
19+
*
20+
* Read one Gregorian year against a natal BaZi chart. Returns the annual pillar for that year,
21+
* the Ten God relation its stem holds to the natal Day Master, the same reading for the hidden
22+
* stem of its branch, how the annual branch stands to the natal year branch including the ben
23+
* ming nian return of the birth animal, and every combination, clash, harm and punishment the
24+
* annual pillar forms with each of the four natal pillars. Built for yearly horoscope
25+
* features, timing tools, and agents that need a year read against a specific chart rather
26+
* than against an animal sign.
27+
*
28+
* POST /chinese-astrology/bazi/annual-forecast
29+
*/
30+
class CalculateAnnualForecastRequest extends Request implements HasBody
31+
{
32+
use HasJsonBody;
33+
34+
protected Method $method = Method::POST;
35+
36+
public function __construct(
37+
public readonly string $date,
38+
public readonly string $time,
39+
public readonly mixed $timezone,
40+
public readonly int $year,
41+
public readonly ?string $dayBoundary = null,
42+
public readonly ?string $hourClock = null,
43+
public readonly ?float $latitude = null,
44+
public readonly ?float $longitude = null,
45+
public readonly ?string $yearBoundary = null,
46+
public readonly ?string $lang = null,
47+
) {
48+
}
49+
50+
public function resolveEndpoint(): string
51+
{
52+
return "/chinese-astrology/bazi/annual-forecast";
53+
}
54+
55+
/**
56+
* @return array<string, mixed>
57+
*/
58+
protected function defaultBody(): array
59+
{
60+
$body = [];
61+
$body['date'] = $this->date;
62+
if ($this->dayBoundary !== null) {
63+
$body['dayBoundary'] = $this->dayBoundary;
64+
}
65+
if ($this->hourClock !== null) {
66+
$body['hourClock'] = $this->hourClock;
67+
}
68+
if ($this->latitude !== null) {
69+
$body['latitude'] = $this->latitude;
70+
}
71+
if ($this->longitude !== null) {
72+
$body['longitude'] = $this->longitude;
73+
}
74+
$body['time'] = $this->time;
75+
$body['timezone'] = $this->timezone;
76+
$body['year'] = $this->year;
77+
if ($this->yearBoundary !== null) {
78+
$body['yearBoundary'] = $this->yearBoundary;
79+
}
80+
81+
return $body;
82+
}
83+
84+
/**
85+
* @return array<string, mixed>
86+
*/
87+
protected function defaultQuery(): array
88+
{
89+
$query = [];
90+
if ($this->lang !== null) {
91+
$query['lang'] = $this->lang;
92+
}
93+
94+
return $query;
95+
}
96+
}
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
/**
6+
* AUTO-GENERATED by scripts/generate.mjs from the live OpenAPI spec.
7+
* Do not edit this file by hand. Regenerate with: node scripts/generate.mjs
8+
*/
9+
10+
namespace RoxyAPI\Sdk\Generated\Requests;
11+
12+
use Saloon\Enums\Method;
13+
use Saloon\Http\Request;
14+
use Saloon\Contracts\Body\HasBody;
15+
use Saloon\Traits\Body\HasJsonBody;
16+
17+
/**
18+
* Calculate BaZi compatibility - Four Pillars matchmaking API
19+
*
20+
* Compare two BaZi charts pillar by pillar. Returns both resolved charts, how the two Day
21+
* Masters stand to each other on the five-phase cycle, and every combination, clash, harm and
22+
* punishment that crosses between them, each naming the two positions it joins. A tallied
23+
* score summarises the balance and the interaction list behind it is returned in full, so a
24+
* caller that disagrees with the weighting can recompute its own. Built for matchmaking
25+
* products, relationship features, and agents that need a defensible two-chart reading.
26+
*
27+
* POST /chinese-astrology/bazi/compatibility
28+
*/
29+
class CalculateBaziCompatibilityRequest extends Request implements HasBody
30+
{
31+
use HasJsonBody;
32+
33+
protected Method $method = Method::POST;
34+
35+
public function __construct(
36+
public readonly array $personA,
37+
public readonly array $personB,
38+
public readonly ?string $lang = null,
39+
) {
40+
}
41+
42+
public function resolveEndpoint(): string
43+
{
44+
return "/chinese-astrology/bazi/compatibility";
45+
}
46+
47+
/**
48+
* @return array<string, mixed>
49+
*/
50+
protected function defaultBody(): array
51+
{
52+
$body = [];
53+
$body['personA'] = $this->personA;
54+
$body['personB'] = $this->personB;
55+
56+
return $body;
57+
}
58+
59+
/**
60+
* @return array<string, mixed>
61+
*/
62+
protected function defaultQuery(): array
63+
{
64+
$query = [];
65+
if ($this->lang !== null) {
66+
$query['lang'] = $this->lang;
67+
}
68+
69+
return $query;
70+
}
71+
}
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
/**
6+
* AUTO-GENERATED by scripts/generate.mjs from the live OpenAPI spec.
7+
* Do not edit this file by hand. Regenerate with: node scripts/generate.mjs
8+
*/
9+
10+
namespace RoxyAPI\Sdk\Generated\Requests;
11+
12+
use Saloon\Enums\Method;
13+
use Saloon\Http\Request;
14+
use Saloon\Contracts\Body\HasBody;
15+
use Saloon\Traits\Body\HasJsonBody;
16+
17+
/**
18+
* Calculate Day Master strength - BaZi favorable element API
19+
*
20+
* Assess how well the Day Master is supported by the rest of a BaZi chart, and which of the
21+
* five elements help it. Uses the classical three-factor method: whether the birth month
22+
* season backs the Day Master element, whether any branch stores a root for it, and whether
23+
* the other stems help or spend it. Returns the verdict, an auditable score with each factor
24+
* contribution, the seasonal state, the root count, the element headcount, and the favorable
25+
* and unfavorable element lists that follow from the verdict. Built for chart readers, remedy
26+
* features, and agents that need the usable half of a Four Pillars reading.
27+
*
28+
* POST /chinese-astrology/bazi/day-master
29+
*/
30+
class CalculateDayMasterStrengthRequest extends Request implements HasBody
31+
{
32+
use HasJsonBody;
33+
34+
protected Method $method = Method::POST;
35+
36+
public function __construct(
37+
public readonly string $date,
38+
public readonly string $time,
39+
public readonly mixed $timezone,
40+
public readonly ?string $dayBoundary = null,
41+
public readonly ?string $hourClock = null,
42+
public readonly ?float $latitude = null,
43+
public readonly ?float $longitude = null,
44+
public readonly ?string $yearBoundary = null,
45+
public readonly ?string $lang = null,
46+
) {
47+
}
48+
49+
public function resolveEndpoint(): string
50+
{
51+
return "/chinese-astrology/bazi/day-master";
52+
}
53+
54+
/**
55+
* @return array<string, mixed>
56+
*/
57+
protected function defaultBody(): array
58+
{
59+
$body = [];
60+
$body['date'] = $this->date;
61+
if ($this->dayBoundary !== null) {
62+
$body['dayBoundary'] = $this->dayBoundary;
63+
}
64+
if ($this->hourClock !== null) {
65+
$body['hourClock'] = $this->hourClock;
66+
}
67+
if ($this->latitude !== null) {
68+
$body['latitude'] = $this->latitude;
69+
}
70+
if ($this->longitude !== null) {
71+
$body['longitude'] = $this->longitude;
72+
}
73+
$body['time'] = $this->time;
74+
$body['timezone'] = $this->timezone;
75+
if ($this->yearBoundary !== null) {
76+
$body['yearBoundary'] = $this->yearBoundary;
77+
}
78+
79+
return $body;
80+
}
81+
82+
/**
83+
* @return array<string, mixed>
84+
*/
85+
protected function defaultQuery(): array
86+
{
87+
$query = [];
88+
if ($this->lang !== null) {
89+
$query['lang'] = $this->lang;
90+
}
91+
92+
return $query;
93+
}
94+
}
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
/**
6+
* AUTO-GENERATED by scripts/generate.mjs from the live OpenAPI spec.
7+
* Do not edit this file by hand. Regenerate with: node scripts/generate.mjs
8+
*/
9+
10+
namespace RoxyAPI\Sdk\Generated\Requests;
11+
12+
use Saloon\Enums\Method;
13+
use Saloon\Http\Request;
14+
use Saloon\Contracts\Body\HasBody;
15+
use Saloon\Traits\Body\HasJsonBody;
16+
17+
/**
18+
* Calculate Kua number - Feng shui personal direction calculator API
19+
*
20+
* Calculate the Kua number, also called the Ming Gua or life gua, from a birth date and sex.
21+
* Returns the number, the east or west life group, the personal trigram, and all eight compass
22+
* sectors classified from best to worst. The Chinese year is resolved at Li Chun by default,
23+
* so an early February birthday is placed in the correct year rather than the calendar one,
24+
* and the boundary that decided it is echoed back. Built for room and desk placement features,
25+
* personalised feng shui reports, and any product that needs a favourable direction per
26+
* person.
27+
*
28+
* POST /feng-shui/kua
29+
*/
30+
class CalculateKuaNumberRequest extends Request implements HasBody
31+
{
32+
use HasJsonBody;
33+
34+
protected Method $method = Method::POST;
35+
36+
public function __construct(
37+
public readonly string $date,
38+
public readonly string $gender,
39+
public readonly ?string $yearBoundary = null,
40+
public readonly ?string $lang = null,
41+
) {
42+
}
43+
44+
public function resolveEndpoint(): string
45+
{
46+
return "/feng-shui/kua";
47+
}
48+
49+
/**
50+
* @return array<string, mixed>
51+
*/
52+
protected function defaultBody(): array
53+
{
54+
$body = [];
55+
$body['date'] = $this->date;
56+
$body['gender'] = $this->gender;
57+
if ($this->yearBoundary !== null) {
58+
$body['yearBoundary'] = $this->yearBoundary;
59+
}
60+
61+
return $body;
62+
}
63+
64+
/**
65+
* @return array<string, mixed>
66+
*/
67+
protected function defaultQuery(): array
68+
{
69+
$query = [];
70+
if ($this->lang !== null) {
71+
$query['lang'] = $this->lang;
72+
}
73+
74+
return $query;
75+
}
76+
}

0 commit comments

Comments
 (0)