@roxyapi/sdk 1.2.33 → 1.2.35
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/AGENTS.md +4 -2
- package/README.md +48 -6
- package/dist/{chunk-2UA7D7RW.js → chunk-HCC4GID6.js} +101 -118
- package/dist/client/client.gen.d.ts.map +1 -1
- package/dist/client/index.cjs +101 -118
- package/dist/client/index.js +1 -1
- package/dist/client/types.gen.d.ts +6 -3
- package/dist/client/types.gen.d.ts.map +1 -1
- package/dist/client/utils.gen.d.ts +7 -3
- package/dist/client/utils.gen.d.ts.map +1 -1
- package/dist/core/serverSentEvents.gen.d.ts +1 -1
- package/dist/core/serverSentEvents.gen.d.ts.map +1 -1
- package/dist/factory.cjs +105 -122
- package/dist/factory.js +9 -9
- package/dist/sdk.gen.d.ts +8 -8
- package/dist/sdk.gen.d.ts.map +1 -1
- package/dist/types.gen.d.ts +112 -33
- package/dist/types.gen.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/docs/llms-full.txt +3 -3
- package/package.json +2 -2
- package/src/client/client.gen.ts +124 -137
- package/src/client/types.gen.ts +9 -5
- package/src/client/utils.gen.ts +10 -10
- package/src/core/params.gen.ts +4 -4
- package/src/core/serverSentEvents.gen.ts +4 -5
- package/src/sdk.gen.ts +8 -8
- package/src/types.gen.ts +112 -33
- package/src/version.ts +1 -1
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "1.2.
|
|
1
|
+
export declare const VERSION = "1.2.35";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/docs/llms-full.txt
CHANGED
|
@@ -1027,7 +1027,7 @@ const { data } = await roxy.humanDesign.calculateVariables({
|
|
|
1027
1027
|
|
|
1028
1028
|
## Forecast — `roxy.forecast`
|
|
1029
1029
|
|
|
1030
|
-
Merge upcoming transit aspects, sign ingresses, retrograde stations,
|
|
1030
|
+
Merge upcoming transit aspects, sign ingresses, retrograde stations, new and full moons, biorhythm critical days, and...
|
|
1031
1031
|
|
|
1032
1032
|
```typescript
|
|
1033
1033
|
// Cross-domain forecast timeline - Transits, ingresses, stations, dasha changes, critical days
|
|
@@ -1048,7 +1048,7 @@ const { data } = await roxy.forecast.generateTimeline({
|
|
|
1048
1048
|
},
|
|
1049
1049
|
});
|
|
1050
1050
|
|
|
1051
|
-
// Western
|
|
1051
|
+
// Western astrology forecast - aspects, ingresses, stations, eclipses, moon phases
|
|
1052
1052
|
const { data } = await roxy.forecast.forecastTransits({
|
|
1053
1053
|
body: {
|
|
1054
1054
|
birthData: {
|
|
@@ -1297,7 +1297,7 @@ const { data } = await roxy.angelNumbers.listAngelNumbers({ query: { limit: 20,
|
|
|
1297
1297
|
const { data } = await roxy.angelNumbers.getAngelNumber({ path: { number: '444' } });
|
|
1298
1298
|
|
|
1299
1299
|
// Analyze Any Number Sequence
|
|
1300
|
-
const { data } = await roxy.angelNumbers.analyzeNumberSequence({ query: { number: '1234' } });
|
|
1300
|
+
const { data } = await roxy.angelNumbers.analyzeNumberSequence({ query: { number: '1234', context: 'clock' } });
|
|
1301
1301
|
|
|
1302
1302
|
// Daily Angel Number
|
|
1303
1303
|
const { data } = await roxy.angelNumbers.getDailyAngelNumber({ body: { seed: 'user123', date: '2026-03-06' } });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@roxyapi/sdk",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.35",
|
|
4
4
|
"description": "TypeScript SDK for Roxy — the multi-domain spiritual intelligence API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"@biomejs/biome": "^2.4.9",
|
|
71
71
|
"@hey-api/client-fetch": "0.13.1",
|
|
72
|
-
"@hey-api/openapi-ts": "0.
|
|
72
|
+
"@hey-api/openapi-ts": "0.97.3",
|
|
73
73
|
"@types/node": "^25.5.0",
|
|
74
74
|
"lefthook": "^2.1.4",
|
|
75
75
|
"tsup": "^8.5.1",
|
package/src/client/client.gen.ts
CHANGED
|
@@ -31,7 +31,14 @@ export const createClient = (config: Config = {}): Client => {
|
|
|
31
31
|
|
|
32
32
|
const interceptors = createInterceptors<Request, Response, unknown, ResolvedRequestOptions>();
|
|
33
33
|
|
|
34
|
-
const beforeRequest = async
|
|
34
|
+
const beforeRequest = async <
|
|
35
|
+
TData = unknown,
|
|
36
|
+
TResponseStyle extends 'data' | 'fields' = 'fields',
|
|
37
|
+
ThrowOnError extends boolean = boolean,
|
|
38
|
+
Url extends string = string,
|
|
39
|
+
>(
|
|
40
|
+
options: RequestOptions<TData, TResponseStyle, ThrowOnError, Url>,
|
|
41
|
+
) => {
|
|
35
42
|
const opts = {
|
|
36
43
|
..._config,
|
|
37
44
|
...options,
|
|
@@ -41,10 +48,7 @@ export const createClient = (config: Config = {}): Client => {
|
|
|
41
48
|
};
|
|
42
49
|
|
|
43
50
|
if (opts.security) {
|
|
44
|
-
await setAuthParams(
|
|
45
|
-
...opts,
|
|
46
|
-
security: opts.security,
|
|
47
|
-
});
|
|
51
|
+
await setAuthParams(opts);
|
|
48
52
|
}
|
|
49
53
|
|
|
50
54
|
if (opts.requestValidator) {
|
|
@@ -60,178 +64,162 @@ export const createClient = (config: Config = {}): Client => {
|
|
|
60
64
|
opts.headers.delete('Content-Type');
|
|
61
65
|
}
|
|
62
66
|
|
|
63
|
-
const
|
|
67
|
+
const resolvedOpts = opts as typeof opts &
|
|
68
|
+
ResolvedRequestOptions<TResponseStyle, ThrowOnError, Url>;
|
|
69
|
+
const url = buildUrl(resolvedOpts);
|
|
64
70
|
|
|
65
|
-
return { opts, url };
|
|
71
|
+
return { opts: resolvedOpts, url };
|
|
66
72
|
};
|
|
67
73
|
|
|
68
74
|
const request: Client['request'] = async (options) => {
|
|
69
|
-
|
|
70
|
-
const
|
|
71
|
-
const requestInit: ReqInit = {
|
|
72
|
-
redirect: 'follow',
|
|
73
|
-
...opts,
|
|
74
|
-
body: getValidRequestBody(opts),
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
let request = new Request(url, requestInit);
|
|
75
|
+
const throwOnError = options.throwOnError ?? _config.throwOnError;
|
|
76
|
+
const responseStyle = options.responseStyle ?? _config.responseStyle;
|
|
78
77
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
request = await fn(request, opts);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
// fetch must be assigned here, otherwise it would throw the error:
|
|
86
|
-
// TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation
|
|
87
|
-
const _fetch = opts.fetch!;
|
|
88
|
-
let response: Response;
|
|
78
|
+
let request: Request | undefined;
|
|
79
|
+
let response: Response | undefined;
|
|
89
80
|
|
|
90
81
|
try {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
82
|
+
const { opts, url } = await beforeRequest(options);
|
|
83
|
+
const requestInit: ReqInit = {
|
|
84
|
+
redirect: 'follow',
|
|
85
|
+
...opts,
|
|
86
|
+
body: getValidRequestBody(opts),
|
|
87
|
+
};
|
|
95
88
|
|
|
96
|
-
|
|
89
|
+
request = new Request(url, requestInit);
|
|
90
|
+
|
|
91
|
+
for (const fn of interceptors.request.fns) {
|
|
97
92
|
if (fn) {
|
|
98
|
-
|
|
93
|
+
request = await fn(request, opts);
|
|
99
94
|
}
|
|
100
95
|
}
|
|
101
96
|
|
|
102
|
-
|
|
97
|
+
// fetch must be assigned here, otherwise it would throw the error:
|
|
98
|
+
// TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation
|
|
99
|
+
const _fetch = opts.fetch!;
|
|
103
100
|
|
|
104
|
-
|
|
105
|
-
throw finalError;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
// Return error response
|
|
109
|
-
return opts.responseStyle === 'data'
|
|
110
|
-
? undefined
|
|
111
|
-
: {
|
|
112
|
-
error: finalError,
|
|
113
|
-
request,
|
|
114
|
-
response: undefined as any,
|
|
115
|
-
};
|
|
116
|
-
}
|
|
101
|
+
response = await _fetch(request);
|
|
117
102
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
103
|
+
for (const fn of interceptors.response.fns) {
|
|
104
|
+
if (fn) {
|
|
105
|
+
response = await fn(response, request, opts);
|
|
106
|
+
}
|
|
121
107
|
}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
const result = {
|
|
125
|
-
request,
|
|
126
|
-
response,
|
|
127
|
-
};
|
|
128
108
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
109
|
+
const result = {
|
|
110
|
+
request,
|
|
111
|
+
response,
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
if (response.ok) {
|
|
115
|
+
const parseAs =
|
|
116
|
+
(opts.parseAs === 'auto'
|
|
117
|
+
? getParseAs(response.headers.get('Content-Type'))
|
|
118
|
+
: opts.parseAs) ?? 'json';
|
|
119
|
+
|
|
120
|
+
if (response.status === 204 || response.headers.get('Content-Length') === '0') {
|
|
121
|
+
let emptyData: any;
|
|
122
|
+
switch (parseAs) {
|
|
123
|
+
case 'arrayBuffer':
|
|
124
|
+
case 'blob':
|
|
125
|
+
case 'text':
|
|
126
|
+
emptyData = await response[parseAs]();
|
|
127
|
+
break;
|
|
128
|
+
case 'formData':
|
|
129
|
+
emptyData = new FormData();
|
|
130
|
+
break;
|
|
131
|
+
case 'stream':
|
|
132
|
+
emptyData = response.body;
|
|
133
|
+
break;
|
|
134
|
+
case 'json':
|
|
135
|
+
default:
|
|
136
|
+
emptyData = {};
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
return opts.responseStyle === 'data'
|
|
140
|
+
? emptyData
|
|
141
|
+
: {
|
|
142
|
+
data: emptyData,
|
|
143
|
+
...result,
|
|
144
|
+
};
|
|
145
|
+
}
|
|
134
146
|
|
|
135
|
-
|
|
136
|
-
let emptyData: any;
|
|
147
|
+
let data: any;
|
|
137
148
|
switch (parseAs) {
|
|
138
149
|
case 'arrayBuffer':
|
|
139
150
|
case 'blob':
|
|
151
|
+
case 'formData':
|
|
140
152
|
case 'text':
|
|
141
|
-
|
|
153
|
+
data = await response[parseAs]();
|
|
142
154
|
break;
|
|
143
|
-
case '
|
|
144
|
-
|
|
155
|
+
case 'json': {
|
|
156
|
+
// Some servers return 200 with no Content-Length and empty body.
|
|
157
|
+
// response.json() would throw; read as text and parse if non-empty.
|
|
158
|
+
const text = await response.text();
|
|
159
|
+
data = text ? JSON.parse(text) : {};
|
|
145
160
|
break;
|
|
161
|
+
}
|
|
146
162
|
case 'stream':
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
163
|
+
return opts.responseStyle === 'data'
|
|
164
|
+
? response.body
|
|
165
|
+
: {
|
|
166
|
+
data: response.body,
|
|
167
|
+
...result,
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
if (parseAs === 'json') {
|
|
172
|
+
if (opts.responseValidator) {
|
|
173
|
+
await opts.responseValidator(data);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
if (opts.responseTransformer) {
|
|
177
|
+
data = await opts.responseTransformer(data);
|
|
178
|
+
}
|
|
153
179
|
}
|
|
180
|
+
|
|
154
181
|
return opts.responseStyle === 'data'
|
|
155
|
-
?
|
|
182
|
+
? data
|
|
156
183
|
: {
|
|
157
|
-
data
|
|
184
|
+
data,
|
|
158
185
|
...result,
|
|
159
186
|
};
|
|
160
187
|
}
|
|
161
188
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
break;
|
|
170
|
-
case 'json': {
|
|
171
|
-
// Some servers return 200 with no Content-Length and empty body.
|
|
172
|
-
// response.json() would throw; read as text and parse if non-empty.
|
|
173
|
-
const text = await response.text();
|
|
174
|
-
data = text ? JSON.parse(text) : {};
|
|
175
|
-
break;
|
|
176
|
-
}
|
|
177
|
-
case 'stream':
|
|
178
|
-
return opts.responseStyle === 'data'
|
|
179
|
-
? response.body
|
|
180
|
-
: {
|
|
181
|
-
data: response.body,
|
|
182
|
-
...result,
|
|
183
|
-
};
|
|
189
|
+
const textError = await response.text();
|
|
190
|
+
let jsonError: unknown;
|
|
191
|
+
|
|
192
|
+
try {
|
|
193
|
+
jsonError = JSON.parse(textError);
|
|
194
|
+
} catch {
|
|
195
|
+
// noop
|
|
184
196
|
}
|
|
185
197
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
}
|
|
198
|
+
throw jsonError ?? textError;
|
|
199
|
+
} catch (error) {
|
|
200
|
+
let finalError = error;
|
|
190
201
|
|
|
191
|
-
|
|
192
|
-
|
|
202
|
+
for (const fn of interceptors.error.fns) {
|
|
203
|
+
if (fn) {
|
|
204
|
+
finalError = await fn(finalError, response, request, options as ResolvedRequestOptions);
|
|
193
205
|
}
|
|
194
206
|
}
|
|
195
207
|
|
|
196
|
-
|
|
197
|
-
? data
|
|
198
|
-
: {
|
|
199
|
-
data,
|
|
200
|
-
...result,
|
|
201
|
-
};
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
const textError = await response.text();
|
|
205
|
-
let jsonError: unknown;
|
|
206
|
-
|
|
207
|
-
try {
|
|
208
|
-
jsonError = JSON.parse(textError);
|
|
209
|
-
} catch {
|
|
210
|
-
// noop
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
const error = jsonError ?? textError;
|
|
214
|
-
let finalError = error;
|
|
208
|
+
finalError = finalError || {};
|
|
215
209
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
finalError = (await fn(error, response, request, opts)) as string;
|
|
210
|
+
if (throwOnError) {
|
|
211
|
+
throw finalError;
|
|
219
212
|
}
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
finalError = finalError || ({} as string);
|
|
223
213
|
|
|
224
|
-
|
|
225
|
-
|
|
214
|
+
// TODO: we probably want to return error and improve types
|
|
215
|
+
return responseStyle === 'data'
|
|
216
|
+
? undefined
|
|
217
|
+
: {
|
|
218
|
+
error: finalError,
|
|
219
|
+
request,
|
|
220
|
+
response,
|
|
221
|
+
};
|
|
226
222
|
}
|
|
227
|
-
|
|
228
|
-
// TODO: we probably want to return error and improve types
|
|
229
|
-
return opts.responseStyle === 'data'
|
|
230
|
-
? undefined
|
|
231
|
-
: {
|
|
232
|
-
error: finalError,
|
|
233
|
-
...result,
|
|
234
|
-
};
|
|
235
223
|
};
|
|
236
224
|
|
|
237
225
|
const makeMethodFn = (method: Uppercase<HttpMethod>) => (options: RequestOptions) =>
|
|
@@ -242,7 +230,6 @@ export const createClient = (config: Config = {}): Client => {
|
|
|
242
230
|
return createSseClient({
|
|
243
231
|
...opts,
|
|
244
232
|
body: opts.body as BodyInit | null | undefined,
|
|
245
|
-
headers: opts.headers as unknown as Record<string, string>,
|
|
246
233
|
method,
|
|
247
234
|
onRequest: async (url, init) => {
|
|
248
235
|
let request = new Request(url, init);
|
package/src/client/types.gen.ts
CHANGED
|
@@ -93,6 +93,7 @@ export interface ResolvedRequestOptions<
|
|
|
93
93
|
ThrowOnError extends boolean = boolean,
|
|
94
94
|
Url extends string = string,
|
|
95
95
|
> extends RequestOptions<unknown, TResponseStyle, ThrowOnError, Url> {
|
|
96
|
+
headers: Headers;
|
|
96
97
|
serializedBody?: string;
|
|
97
98
|
}
|
|
98
99
|
|
|
@@ -126,8 +127,10 @@ export type RequestResult<
|
|
|
126
127
|
error: TError extends Record<string, unknown> ? TError[keyof TError] : TError;
|
|
127
128
|
}
|
|
128
129
|
) & {
|
|
129
|
-
request
|
|
130
|
-
|
|
130
|
+
/** request may be undefined, because error may be from building the request object itself */
|
|
131
|
+
request?: Request;
|
|
132
|
+
/** response may be undefined, because error may be from building the request object itself or from a network error */
|
|
133
|
+
response?: Response;
|
|
131
134
|
}
|
|
132
135
|
>;
|
|
133
136
|
|
|
@@ -148,12 +151,13 @@ type MethodFn = <
|
|
|
148
151
|
|
|
149
152
|
type SseFn = <
|
|
150
153
|
TData = unknown,
|
|
151
|
-
|
|
154
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
155
|
+
_TError = unknown,
|
|
152
156
|
ThrowOnError extends boolean = false,
|
|
153
157
|
TResponseStyle extends ResponseStyle = 'fields',
|
|
154
158
|
>(
|
|
155
|
-
options: Omit<RequestOptions<
|
|
156
|
-
) => Promise<ServerSentEventsResult<TData
|
|
159
|
+
options: Omit<RequestOptions<never, TResponseStyle, ThrowOnError>, 'method'>,
|
|
160
|
+
) => Promise<ServerSentEventsResult<TData>>;
|
|
157
161
|
|
|
158
162
|
type RequestFn = <
|
|
159
163
|
TData = unknown,
|
package/src/client/utils.gen.ts
CHANGED
|
@@ -118,14 +118,12 @@ const checkForExistence = (
|
|
|
118
118
|
return false;
|
|
119
119
|
};
|
|
120
120
|
|
|
121
|
-
export
|
|
122
|
-
security
|
|
123
|
-
...options
|
|
124
|
-
}: Pick<Required<RequestOptions>, 'security'> &
|
|
125
|
-
Pick<RequestOptions, 'auth' | 'query'> & {
|
|
121
|
+
export async function setAuthParams(
|
|
122
|
+
options: Pick<RequestOptions, 'auth' | 'query' | 'security'> & {
|
|
126
123
|
headers: Headers;
|
|
127
|
-
}
|
|
128
|
-
|
|
124
|
+
},
|
|
125
|
+
): Promise<void> {
|
|
126
|
+
for (const auth of options.security ?? []) {
|
|
129
127
|
if (checkForExistence(options, auth.name)) {
|
|
130
128
|
continue;
|
|
131
129
|
}
|
|
@@ -154,7 +152,7 @@ export const setAuthParams = async ({
|
|
|
154
152
|
break;
|
|
155
153
|
}
|
|
156
154
|
}
|
|
157
|
-
}
|
|
155
|
+
}
|
|
158
156
|
|
|
159
157
|
export const buildUrl: Client['buildUrl'] = (options) =>
|
|
160
158
|
getUrl({
|
|
@@ -218,8 +216,10 @@ export const mergeHeaders = (
|
|
|
218
216
|
|
|
219
217
|
type ErrInterceptor<Err, Res, Req, Options> = (
|
|
220
218
|
error: Err,
|
|
221
|
-
response
|
|
222
|
-
|
|
219
|
+
/** response may be undefined due to a network error where no response object is produced */
|
|
220
|
+
response: Res | undefined,
|
|
221
|
+
/** request may be undefined, because error may be from building the request object itself */
|
|
222
|
+
request: Req | undefined,
|
|
223
223
|
options: Options,
|
|
224
224
|
) => Err | Promise<Err>;
|
|
225
225
|
|
package/src/core/params.gen.ts
CHANGED
|
@@ -104,10 +104,10 @@ const stripEmptySlots = (params: Params) => {
|
|
|
104
104
|
|
|
105
105
|
export const buildClientParams = (args: ReadonlyArray<unknown>, fields: FieldsConfig) => {
|
|
106
106
|
const params: Params = {
|
|
107
|
-
body:
|
|
108
|
-
headers:
|
|
109
|
-
path:
|
|
110
|
-
query:
|
|
107
|
+
body: Object.create(null),
|
|
108
|
+
headers: Object.create(null),
|
|
109
|
+
path: Object.create(null),
|
|
110
|
+
query: Object.create(null),
|
|
111
111
|
};
|
|
112
112
|
|
|
113
113
|
const map = buildKeyMap(fields);
|
|
@@ -79,7 +79,7 @@ export type ServerSentEventsResult<TData = unknown, TReturn = void, TNext = unkn
|
|
|
79
79
|
>;
|
|
80
80
|
};
|
|
81
81
|
|
|
82
|
-
export
|
|
82
|
+
export function createSseClient<TData = unknown>({
|
|
83
83
|
onRequest,
|
|
84
84
|
onSseError,
|
|
85
85
|
onSseEvent,
|
|
@@ -91,7 +91,7 @@ export const createSseClient = <TData = unknown>({
|
|
|
91
91
|
sseSleepFn,
|
|
92
92
|
url,
|
|
93
93
|
...options
|
|
94
|
-
}: ServerSentEventsOptions): ServerSentEventsResult<TData>
|
|
94
|
+
}: ServerSentEventsOptions): ServerSentEventsResult<TData> {
|
|
95
95
|
let lastEventId: string | undefined;
|
|
96
96
|
|
|
97
97
|
const sleep = sseSleepFn ?? ((ms: number) => new Promise((resolve) => setTimeout(resolve, ms)));
|
|
@@ -155,8 +155,7 @@ export const createSseClient = <TData = unknown>({
|
|
|
155
155
|
const { done, value } = await reader.read();
|
|
156
156
|
if (done) break;
|
|
157
157
|
buffer += value;
|
|
158
|
-
|
|
159
|
-
buffer = buffer.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
|
|
158
|
+
buffer = buffer.replace(/\r\n?/g, '\n'); // normalize line endings
|
|
160
159
|
|
|
161
160
|
const chunks = buffer.split('\n\n');
|
|
162
161
|
buffer = chunks.pop() ?? '';
|
|
@@ -240,4 +239,4 @@ export const createSseClient = <TData = unknown>({
|
|
|
240
239
|
const stream = createStream();
|
|
241
240
|
|
|
242
241
|
return { stream };
|
|
243
|
-
}
|
|
242
|
+
}
|
package/src/sdk.gen.ts
CHANGED
|
@@ -4,7 +4,7 @@ import type { Client, Options as Options2, TDataShape } from './client';
|
|
|
4
4
|
import { client } from './client.gen';
|
|
5
5
|
import type { GetAngelNumbersLookupData, GetAngelNumbersLookupErrors, GetAngelNumbersLookupResponses, GetAngelNumbersNumbersByNumberData, GetAngelNumbersNumbersByNumberErrors, GetAngelNumbersNumbersByNumberResponses, GetAngelNumbersNumbersData, GetAngelNumbersNumbersErrors, GetAngelNumbersNumbersResponses, GetAstrologyHoroscopeBySignDailyData, GetAstrologyHoroscopeBySignDailyErrors, GetAstrologyHoroscopeBySignDailyResponses, GetAstrologyHoroscopeBySignMonthlyData, GetAstrologyHoroscopeBySignMonthlyErrors, GetAstrologyHoroscopeBySignMonthlyResponses, GetAstrologyHoroscopeBySignWeeklyData, GetAstrologyHoroscopeBySignWeeklyErrors, GetAstrologyHoroscopeBySignWeeklyResponses, GetAstrologyMoonPhaseCalendarByYearByMonthData, GetAstrologyMoonPhaseCalendarByYearByMonthErrors, GetAstrologyMoonPhaseCalendarByYearByMonthResponses, GetAstrologyMoonPhaseCurrentData, GetAstrologyMoonPhaseCurrentErrors, GetAstrologyMoonPhaseCurrentResponses, GetAstrologyMoonPhaseUpcomingData, GetAstrologyMoonPhaseUpcomingErrors, GetAstrologyMoonPhaseUpcomingResponses, GetAstrologyPlanetMeaningsByIdData, GetAstrologyPlanetMeaningsByIdErrors, GetAstrologyPlanetMeaningsByIdResponses, GetAstrologyPlanetMeaningsData, GetAstrologyPlanetMeaningsErrors, GetAstrologyPlanetMeaningsResponses, GetAstrologySignsByIdData, GetAstrologySignsByIdErrors, GetAstrologySignsByIdResponses, GetAstrologySignsData, GetAstrologySignsErrors, GetAstrologySignsResponses, GetCrystalsBirthstoneByMonthData, GetCrystalsBirthstoneByMonthErrors, GetCrystalsBirthstoneByMonthResponses, GetCrystalsByIdData, GetCrystalsByIdErrors, GetCrystalsByIdResponses, GetCrystalsChakraByChakraData, GetCrystalsChakraByChakraErrors, GetCrystalsChakraByChakraResponses, GetCrystalsColorsData, GetCrystalsColorsErrors, GetCrystalsColorsResponses, GetCrystalsData, GetCrystalsElementByElementData, GetCrystalsElementByElementErrors, GetCrystalsElementByElementResponses, GetCrystalsErrors, GetCrystalsPairingsByIdData, GetCrystalsPairingsByIdErrors, GetCrystalsPairingsByIdResponses, GetCrystalsPlanetsData, GetCrystalsPlanetsErrors, GetCrystalsPlanetsResponses, GetCrystalsRandomData, GetCrystalsRandomErrors, GetCrystalsRandomResponses, GetCrystalsResponses, GetCrystalsSearchData, GetCrystalsSearchErrors, GetCrystalsSearchResponses, GetCrystalsZodiacBySignData, GetCrystalsZodiacBySignErrors, GetCrystalsZodiacBySignResponses, GetDreamsSymbolsByIdData, GetDreamsSymbolsByIdErrors, GetDreamsSymbolsByIdResponses, GetDreamsSymbolsData, GetDreamsSymbolsErrors, GetDreamsSymbolsLettersData, GetDreamsSymbolsLettersErrors, GetDreamsSymbolsLettersResponses, GetDreamsSymbolsRandomData, GetDreamsSymbolsRandomErrors, GetDreamsSymbolsRandomResponses, GetDreamsSymbolsResponses, GetHumanDesignCentersByIdData, GetHumanDesignCentersByIdErrors, GetHumanDesignCentersByIdResponses, GetHumanDesignGatesByNumberData, GetHumanDesignGatesByNumberErrors, GetHumanDesignGatesByNumberResponses, GetIchingCastData, GetIchingCastErrors, GetIchingCastResponses, GetIchingHexagramsByNumberData, GetIchingHexagramsByNumberErrors, GetIchingHexagramsByNumberResponses, GetIchingHexagramsData, GetIchingHexagramsErrors, GetIchingHexagramsLookupData, GetIchingHexagramsLookupErrors, GetIchingHexagramsLookupResponses, GetIchingHexagramsRandomData, GetIchingHexagramsRandomErrors, GetIchingHexagramsRandomResponses, GetIchingHexagramsResponses, GetIchingTrigramsByIdData, GetIchingTrigramsByIdErrors, GetIchingTrigramsByIdResponses, GetIchingTrigramsData, GetIchingTrigramsErrors, GetIchingTrigramsResponses, GetLanguagesData, GetLanguagesErrors, GetLanguagesResponses, GetLocationCountriesByIso2Data, GetLocationCountriesByIso2Errors, GetLocationCountriesByIso2Responses, GetLocationCountriesData, GetLocationCountriesErrors, GetLocationCountriesResponses, GetLocationSearchData, GetLocationSearchErrors, GetLocationSearchResponses, GetNumerologyMeaningsByNumberData, GetNumerologyMeaningsByNumberErrors, GetNumerologyMeaningsByNumberResponses, GetTarotCardsByIdData, GetTarotCardsByIdErrors, GetTarotCardsByIdResponses, GetTarotCardsData, GetTarotCardsErrors, GetTarotCardsResponses, GetUsageData, GetUsageErrors, GetUsageResponses, GetVedicAstrologyKpAyanamsaData, GetVedicAstrologyKpAyanamsaErrors, GetVedicAstrologyKpAyanamsaResponses, GetVedicAstrologyNakshatrasByIdData, GetVedicAstrologyNakshatrasByIdErrors, GetVedicAstrologyNakshatrasByIdResponses, GetVedicAstrologyNakshatrasData, GetVedicAstrologyNakshatrasErrors, GetVedicAstrologyNakshatrasResponses, GetVedicAstrologyRashisByIdData, GetVedicAstrologyRashisByIdErrors, GetVedicAstrologyRashisByIdResponses, GetVedicAstrologyRashisData, GetVedicAstrologyRashisErrors, GetVedicAstrologyRashisResponses, GetVedicAstrologyYogaByIdData, GetVedicAstrologyYogaByIdErrors, GetVedicAstrologyYogaByIdResponses, GetVedicAstrologyYogaData, GetVedicAstrologyYogaErrors, GetVedicAstrologyYogaResponses, PostAngelNumbersDailyData, PostAngelNumbersDailyErrors, PostAngelNumbersDailyResponses, PostAstrologyAspectPatternsData, PostAstrologyAspectPatternsErrors, PostAstrologyAspectPatternsResponses, PostAstrologyAspectsData, PostAstrologyAspectsErrors, PostAstrologyAspectsResponses, PostAstrologyCompatibilityScoreData, PostAstrologyCompatibilityScoreErrors, PostAstrologyCompatibilityScoreResponses, PostAstrologyCompositeChartData, PostAstrologyCompositeChartErrors, PostAstrologyCompositeChartResponses, PostAstrologyHousesData, PostAstrologyHousesErrors, PostAstrologyHousesResponses, PostAstrologyLunarReturnData, PostAstrologyLunarReturnErrors, PostAstrologyLunarReturnResponses, PostAstrologyNatalChartData, PostAstrologyNatalChartErrors, PostAstrologyNatalChartResponses, PostAstrologyPlanetaryReturnsData, PostAstrologyPlanetaryReturnsErrors, PostAstrologyPlanetaryReturnsResponses, PostAstrologyPlanetsData, PostAstrologyPlanetsErrors, PostAstrologyPlanetsResponses, PostAstrologySolarReturnData, PostAstrologySolarReturnErrors, PostAstrologySolarReturnResponses, PostAstrologySynastryData, PostAstrologySynastryErrors, PostAstrologySynastryResponses, PostAstrologyTransitAspectsData, PostAstrologyTransitAspectsErrors, PostAstrologyTransitAspectsResponses, PostAstrologyTransitsData, PostAstrologyTransitsErrors, PostAstrologyTransitsResponses, PostBiorhythmCompatibilityData, PostBiorhythmCompatibilityErrors, PostBiorhythmCompatibilityResponses, PostBiorhythmCriticalDaysData, PostBiorhythmCriticalDaysErrors, PostBiorhythmCriticalDaysResponses, PostBiorhythmDailyData, PostBiorhythmDailyErrors, PostBiorhythmDailyResponses, PostBiorhythmForecastData, PostBiorhythmForecastErrors, PostBiorhythmForecastResponses, PostBiorhythmPhasesData, PostBiorhythmPhasesErrors, PostBiorhythmPhasesResponses, PostBiorhythmReadingData, PostBiorhythmReadingErrors, PostBiorhythmReadingResponses, PostCrystalsDailyData, PostCrystalsDailyErrors, PostCrystalsDailyResponses, PostDreamsDailyData, PostDreamsDailyErrors, PostDreamsDailyResponses, PostForecastDigestData, PostForecastDigestErrors, PostForecastDigestResponses, PostForecastSignificantDatesData, PostForecastSignificantDatesErrors, PostForecastSignificantDatesResponses, PostForecastSolarReturnData, PostForecastSolarReturnErrors, PostForecastSolarReturnResponses, PostForecastTimelineData, PostForecastTimelineErrors, PostForecastTimelineResponses, PostForecastTransitsData, PostForecastTransitsErrors, PostForecastTransitsResponses, PostHumanDesignBodygraphData, PostHumanDesignBodygraphErrors, PostHumanDesignBodygraphResponses, PostHumanDesignCentersData, PostHumanDesignCentersErrors, PostHumanDesignCentersResponses, PostHumanDesignChannelsData, PostHumanDesignChannelsErrors, PostHumanDesignChannelsResponses, PostHumanDesignConnectionData, PostHumanDesignConnectionErrors, PostHumanDesignConnectionResponses, PostHumanDesignGatesData, PostHumanDesignGatesErrors, PostHumanDesignGatesResponses, PostHumanDesignPentaData, PostHumanDesignPentaErrors, PostHumanDesignPentaResponses, PostHumanDesignProfileData, PostHumanDesignProfileErrors, PostHumanDesignProfileResponses, PostHumanDesignTransitData, PostHumanDesignTransitErrors, PostHumanDesignTransitResponses, PostHumanDesignTypeData, PostHumanDesignTypeErrors, PostHumanDesignTypeResponses, PostHumanDesignVariablesData, PostHumanDesignVariablesErrors, PostHumanDesignVariablesResponses, PostIchingDailyCastData, PostIchingDailyCastErrors, PostIchingDailyCastResponses, PostIchingDailyData, PostIchingDailyErrors, PostIchingDailyResponses, PostNumerologyBirthDayData, PostNumerologyBirthDayErrors, PostNumerologyBirthDayResponses, PostNumerologyBridgeData, PostNumerologyBridgeErrors, PostNumerologyBridgeResponses, PostNumerologyChartData, PostNumerologyChartErrors, PostNumerologyChartResponses, PostNumerologyCompatibilityData, PostNumerologyCompatibilityErrors, PostNumerologyCompatibilityResponses, PostNumerologyDailyData, PostNumerologyDailyErrors, PostNumerologyDailyResponses, PostNumerologyExpressionData, PostNumerologyExpressionErrors, PostNumerologyExpressionResponses, PostNumerologyKarmicDebtData, PostNumerologyKarmicDebtErrors, PostNumerologyKarmicDebtResponses, PostNumerologyKarmicLessonsData, PostNumerologyKarmicLessonsErrors, PostNumerologyKarmicLessonsResponses, PostNumerologyLifePathData, PostNumerologyLifePathErrors, PostNumerologyLifePathResponses, PostNumerologyMaturityData, PostNumerologyMaturityErrors, PostNumerologyMaturityResponses, PostNumerologyPersonalDayData, PostNumerologyPersonalDayErrors, PostNumerologyPersonalDayResponses, PostNumerologyPersonalityData, PostNumerologyPersonalityErrors, PostNumerologyPersonalityResponses, PostNumerologyPersonalMonthData, PostNumerologyPersonalMonthErrors, PostNumerologyPersonalMonthResponses, PostNumerologyPersonalYearData, PostNumerologyPersonalYearErrors, PostNumerologyPersonalYearResponses, PostNumerologySoulUrgeData, PostNumerologySoulUrgeErrors, PostNumerologySoulUrgeResponses, PostTarotDailyData, PostTarotDailyErrors, PostTarotDailyResponses, PostTarotDrawData, PostTarotDrawErrors, PostTarotDrawResponses, PostTarotSpreadsCareerData, PostTarotSpreadsCareerErrors, PostTarotSpreadsCareerResponses, PostTarotSpreadsCelticCrossData, PostTarotSpreadsCelticCrossErrors, PostTarotSpreadsCelticCrossResponses, PostTarotSpreadsCustomData, PostTarotSpreadsCustomErrors, PostTarotSpreadsCustomResponses, PostTarotSpreadsLoveData, PostTarotSpreadsLoveErrors, PostTarotSpreadsLoveResponses, PostTarotSpreadsThreeCardData, PostTarotSpreadsThreeCardErrors, PostTarotSpreadsThreeCardResponses, PostTarotYesNoData, PostTarotYesNoErrors, PostTarotYesNoResponses, PostVedicAstrologyAshtakavargaData, PostVedicAstrologyAshtakavargaErrors, PostVedicAstrologyAshtakavargaResponses, PostVedicAstrologyAspectsData, PostVedicAstrologyAspectsErrors, PostVedicAstrologyAspectsLunarData, PostVedicAstrologyAspectsLunarErrors, PostVedicAstrologyAspectsLunarResponses, PostVedicAstrologyAspectsMonthlyData, PostVedicAstrologyAspectsMonthlyErrors, PostVedicAstrologyAspectsMonthlyResponses, PostVedicAstrologyAspectsResponses, PostVedicAstrologyBirthChartData, PostVedicAstrologyBirthChartErrors, PostVedicAstrologyBirthChartResponses, PostVedicAstrologyCompatibilityData, PostVedicAstrologyCompatibilityErrors, PostVedicAstrologyCompatibilityResponses, PostVedicAstrologyDashaCurrentData, PostVedicAstrologyDashaCurrentErrors, PostVedicAstrologyDashaCurrentResponses, PostVedicAstrologyDashaMajorData, PostVedicAstrologyDashaMajorErrors, PostVedicAstrologyDashaMajorResponses, PostVedicAstrologyDashaSubByMahadashaData, PostVedicAstrologyDashaSubByMahadashaErrors, PostVedicAstrologyDashaSubByMahadashaResponses, PostVedicAstrologyDivisionalChartData, PostVedicAstrologyDivisionalChartErrors, PostVedicAstrologyDivisionalChartResponses, PostVedicAstrologyDoshaKalsarpaData, PostVedicAstrologyDoshaKalsarpaErrors, PostVedicAstrologyDoshaKalsarpaResponses, PostVedicAstrologyDoshaManglikData, PostVedicAstrologyDoshaManglikErrors, PostVedicAstrologyDoshaManglikResponses, PostVedicAstrologyDoshaSadhesatiData, PostVedicAstrologyDoshaSadhesatiErrors, PostVedicAstrologyDoshaSadhesatiResponses, PostVedicAstrologyEclipticCrossingsData, PostVedicAstrologyEclipticCrossingsErrors, PostVedicAstrologyEclipticCrossingsResponses, PostVedicAstrologyKpChartData, PostVedicAstrologyKpChartErrors, PostVedicAstrologyKpChartResponses, PostVedicAstrologyKpCuspsData, PostVedicAstrologyKpCuspsErrors, PostVedicAstrologyKpCuspsResponses, PostVedicAstrologyKpPlanetsData, PostVedicAstrologyKpPlanetsErrors, PostVedicAstrologyKpPlanetsIntervalData, PostVedicAstrologyKpPlanetsIntervalErrors, PostVedicAstrologyKpPlanetsIntervalResponses, PostVedicAstrologyKpPlanetsResponses, PostVedicAstrologyKpRasiChangesData, PostVedicAstrologyKpRasiChangesErrors, PostVedicAstrologyKpRasiChangesResponses, PostVedicAstrologyKpRulingPlanetsData, PostVedicAstrologyKpRulingPlanetsErrors, PostVedicAstrologyKpRulingPlanetsIntervalData, PostVedicAstrologyKpRulingPlanetsIntervalErrors, PostVedicAstrologyKpRulingPlanetsIntervalResponses, PostVedicAstrologyKpRulingPlanetsResponses, PostVedicAstrologyKpSublordChangesData, PostVedicAstrologyKpSublordChangesErrors, PostVedicAstrologyKpSublordChangesResponses, PostVedicAstrologyNavamsaData, PostVedicAstrologyNavamsaErrors, PostVedicAstrologyNavamsaResponses, PostVedicAstrologyPanchangBasicData, PostVedicAstrologyPanchangBasicErrors, PostVedicAstrologyPanchangBasicResponses, PostVedicAstrologyPanchangChoghadiyaData, PostVedicAstrologyPanchangChoghadiyaErrors, PostVedicAstrologyPanchangChoghadiyaResponses, PostVedicAstrologyPanchangDetailedData, PostVedicAstrologyPanchangDetailedErrors, PostVedicAstrologyPanchangDetailedResponses, PostVedicAstrologyPanchangHoraData, PostVedicAstrologyPanchangHoraErrors, PostVedicAstrologyPanchangHoraResponses, PostVedicAstrologyParallelsData, PostVedicAstrologyParallelsErrors, PostVedicAstrologyParallelsMonthlyData, PostVedicAstrologyParallelsMonthlyErrors, PostVedicAstrologyParallelsMonthlyResponses, PostVedicAstrologyParallelsResponses, PostVedicAstrologyPlanetaryPositionsData, PostVedicAstrologyPlanetaryPositionsErrors, PostVedicAstrologyPlanetaryPositionsMonthlyData, PostVedicAstrologyPlanetaryPositionsMonthlyErrors, PostVedicAstrologyPlanetaryPositionsMonthlyResponses, PostVedicAstrologyPlanetaryPositionsResponses, PostVedicAstrologyShadbalaData, PostVedicAstrologyShadbalaErrors, PostVedicAstrologyShadbalaResponses, PostVedicAstrologyTransitData, PostVedicAstrologyTransitErrors, PostVedicAstrologyTransitMonthlyData, PostVedicAstrologyTransitMonthlyErrors, PostVedicAstrologyTransitMonthlyResponses, PostVedicAstrologyTransitResponses, PostVedicAstrologyUpagrahaData, PostVedicAstrologyUpagrahaErrors, PostVedicAstrologyUpagrahaResponses, PostVedicAstrologyYogaDetectData, PostVedicAstrologyYogaDetectErrors, PostVedicAstrologyYogaDetectResponses } from './types.gen';
|
|
6
6
|
|
|
7
|
-
export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2<TData, ThrowOnError> & {
|
|
7
|
+
export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, TResponse = unknown> = Options2<TData, ThrowOnError, TResponse> & {
|
|
8
8
|
/**
|
|
9
9
|
* You can provide a client instance returned by `createClient()` instead of
|
|
10
10
|
* individual options. This might be also useful if you want to implement a
|
|
@@ -1740,7 +1740,7 @@ export class Forecast extends HeyApiClient {
|
|
|
1740
1740
|
/**
|
|
1741
1741
|
* Cross-domain forecast timeline - Transits, ingresses, stations, dasha changes, critical days
|
|
1742
1742
|
*
|
|
1743
|
-
* Build one time-ordered forecast for a single birth subject by merging upcoming events across three domains: western transit-to-natal aspects, sign ingresses,
|
|
1743
|
+
* Build one time-ordered forecast for a single birth subject by merging upcoming events across three domains: western transit-to-natal aspects, sign ingresses, retrograde stations, eclipses, and new and full moons; biorhythm critical days; and vedic Vimshottari mahadasha, antardasha, and pratyantardasha boundaries. The window is clamped to 90 days and events are capped and scored by significance. Built for what-is-coming dashboards, daily and weekly forecast feeds, and timing tools.
|
|
1744
1744
|
*/
|
|
1745
1745
|
public generateTimeline<ThrowOnError extends boolean = false>(options?: Options<PostForecastTimelineData, ThrowOnError>) {
|
|
1746
1746
|
return (options?.client ?? this.client).post<PostForecastTimelineResponses, PostForecastTimelineErrors, ThrowOnError>({
|
|
@@ -1755,9 +1755,9 @@ export class Forecast extends HeyApiClient {
|
|
|
1755
1755
|
}
|
|
1756
1756
|
|
|
1757
1757
|
/**
|
|
1758
|
-
* Western
|
|
1758
|
+
* Western astrology forecast - aspects, ingresses, stations, eclipses, moon phases
|
|
1759
1759
|
*
|
|
1760
|
-
* Forecast the western astrology events for a single birth chart over a window up to 90 days: every transit-to-natal major aspect refined to its exact instant, every transiting planet sign ingress,
|
|
1760
|
+
* Forecast the western astrology events for a single birth chart over a window up to 90 days: every transit-to-natal major aspect refined to its exact instant, every transiting planet sign ingress, every retrograde or direct station, every solar and lunar eclipse, and every New and Full Moon. Returns a time-ordered, significance-scored timeline. Built for astrology forecast feeds, transit alerts, and timing tools.
|
|
1761
1761
|
*/
|
|
1762
1762
|
public forecastTransits<ThrowOnError extends boolean = false>(options?: Options<PostForecastTransitsData, ThrowOnError>) {
|
|
1763
1763
|
return (options?.client ?? this.client).post<PostForecastTransitsResponses, PostForecastTransitsErrors, ThrowOnError>({
|
|
@@ -2291,7 +2291,7 @@ export class AngelNumbers extends HeyApiClient {
|
|
|
2291
2291
|
/**
|
|
2292
2292
|
* List All Angel Numbers
|
|
2293
2293
|
*
|
|
2294
|
-
* Retrieve the complete database of angel numbers with summary information. Returns
|
|
2294
|
+
* Retrieve the complete database of angel numbers with summary information. Returns 75+ angel numbers covering root digits (0-9), master numbers (11, 22, 33), double digits (44-99), triple repeating (111-999), quad repeating (1111-9999), the mirror families (X0X like 101-909, X1X, four-digit mirrors like 1212-2121), palindromes (1221, 1331), compound sequences (911, 1122), and sequential numbers (123, 1234). Supports optional type filtering. Perfect for building angel number explorer apps, reference guides, and spiritual databases.
|
|
2295
2295
|
*/
|
|
2296
2296
|
public listAngelNumbers<ThrowOnError extends boolean = false>(options?: Options<GetAngelNumbersNumbersData, ThrowOnError>) {
|
|
2297
2297
|
return (options?.client ?? this.client).get<GetAngelNumbersNumbersResponses, GetAngelNumbersNumbersErrors, ThrowOnError>({
|
|
@@ -2304,7 +2304,7 @@ export class AngelNumbers extends HeyApiClient {
|
|
|
2304
2304
|
/**
|
|
2305
2305
|
* Get Angel Number Meaning
|
|
2306
2306
|
*
|
|
2307
|
-
* Get the complete, authoritative meaning and interpretation for a specific angel number. Returns detailed spiritual, love, career, and twin flame interpretations along with keywords, affirmation, and actionable steps. Covers
|
|
2307
|
+
* Get the complete, authoritative meaning and interpretation for a specific angel number. Returns detailed spiritual, love, career, money, and twin flame interpretations, plus a biblical perspective and a shadow reading, along with keywords, affirmation, and actionable steps. Covers 75+ angel numbers including 111, 222, 333, 444, 555, 666, 777, 888, 999, 1111, 1212, 1234, and more. Authoritative interpretations covering all major angel number patterns.
|
|
2308
2308
|
*/
|
|
2309
2309
|
public getAngelNumber<ThrowOnError extends boolean = false>(options: Options<GetAngelNumbersNumbersByNumberData, ThrowOnError>) {
|
|
2310
2310
|
return (options.client ?? this.client).get<GetAngelNumbersNumbersByNumberResponses, GetAngelNumbersNumbersByNumberErrors, ThrowOnError>({
|
|
@@ -2317,7 +2317,7 @@ export class AngelNumbers extends HeyApiClient {
|
|
|
2317
2317
|
/**
|
|
2318
2318
|
* Analyze Any Number Sequence
|
|
2319
2319
|
*
|
|
2320
|
-
* Smart angel number analysis that works for ANY number sequence, not just known angel numbers. Automatically classifies the pattern type (repeating, sequential, mirror, master, root), calculates the numerology digit root, checks the database for a known meaning, and provides the foundational digit root interpretation as a fallback. Perfect for synchronicity tracking apps where users enter arbitrary number sequences they encounter.
|
|
2320
|
+
* Smart angel number analysis that works for ANY number sequence, not just known angel numbers. Automatically classifies the pattern type (repeating, sequential, mirror, master, root, compound), calculates the numerology digit root, checks the database for a known meaning, and provides the foundational digit root interpretation (with full spiritual, love, career, money, and twin flame guidance) as a fallback. An optional context parameter adds a note tailored to where the number was seen. Perfect for synchronicity tracking apps where users enter arbitrary number sequences they encounter.
|
|
2321
2321
|
*/
|
|
2322
2322
|
public analyzeNumberSequence<ThrowOnError extends boolean = false>(options: Options<GetAngelNumbersLookupData, ThrowOnError>) {
|
|
2323
2323
|
return (options.client ?? this.client).get<GetAngelNumbersLookupResponses, GetAngelNumbersLookupErrors, ThrowOnError>({
|
|
@@ -2330,7 +2330,7 @@ export class AngelNumbers extends HeyApiClient {
|
|
|
2330
2330
|
/**
|
|
2331
2331
|
* Daily Angel Number
|
|
2332
2332
|
*
|
|
2333
|
-
* Get the angel number of the day with full meaning and interpretation. Returns a deterministic angel number based on the current date (or a provided seed date), ensuring all users see the same number for any given day. Includes complete spiritual, love, career, and twin flame interpretations. Perfect for daily guidance features, push notifications, content generation, and angel number widget integrations.
|
|
2333
|
+
* Get the angel number of the day with full meaning and interpretation. Returns a deterministic angel number based on the current date (or a provided seed date), ensuring all users see the same number for any given day. Includes complete spiritual, love, career, money, and twin flame interpretations plus a biblical perspective and a shadow reading. Perfect for daily guidance features, push notifications, content generation, and angel number widget integrations.
|
|
2334
2334
|
*/
|
|
2335
2335
|
public getDailyAngelNumber<ThrowOnError extends boolean = false>(options?: Options<PostAngelNumbersDailyData, ThrowOnError>) {
|
|
2336
2336
|
return (options?.client ?? this.client).post<PostAngelNumbersDailyResponses, PostAngelNumbersDailyErrors, ThrowOnError>({
|