@astroway/sdk 0.1.0-alpha.2 → 1.0.0
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/CHANGELOG.md +372 -0
- package/README.md +64 -32
- package/dist/cache.d.ts +101 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +198 -0
- package/dist/cache.js.map +1 -0
- package/dist/errors.d.ts +30 -6
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +45 -14
- package/dist/errors.js.map +1 -1
- package/dist/helpers/birth-date-time.d.ts +76 -0
- package/dist/helpers/birth-date-time.d.ts.map +1 -0
- package/dist/helpers/birth-date-time.js +112 -0
- package/dist/helpers/birth-date-time.js.map +1 -0
- package/dist/helpers/index.d.ts +3 -0
- package/dist/helpers/index.d.ts.map +1 -0
- package/dist/helpers/index.js +3 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/idempotency.d.ts +10 -0
- package/dist/idempotency.d.ts.map +1 -0
- package/dist/idempotency.js +41 -0
- package/dist/idempotency.js.map +1 -0
- package/dist/index.d.ts +97 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +191 -3
- package/dist/index.js.map +1 -1
- package/dist/namespaces.generated.d.ts +1513 -0
- package/dist/namespaces.generated.d.ts.map +1 -0
- package/dist/namespaces.generated.js +865 -0
- package/dist/namespaces.generated.js.map +1 -0
- package/dist/runtime.d.ts +7 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +31 -0
- package/dist/runtime.js.map +1 -0
- package/dist/stream.d.ts +71 -0
- package/dist/stream.d.ts.map +1 -0
- package/dist/stream.js +199 -0
- package/dist/stream.js.map +1 -0
- package/dist/testing.d.ts +133 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +132 -0
- package/dist/testing.js.map +1 -0
- package/dist/types.generated.d.ts +784 -176
- package/dist/types.generated.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/dist/with-response.d.ts +36 -0
- package/dist/with-response.d.ts.map +1 -0
- package/dist/with-response.js +38 -0
- package/dist/with-response.js.map +1 -0
- package/package.json +19 -4
package/dist/version.d.ts
CHANGED
package/dist/version.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,eAAO,MAAM,WAAW,UAAU,CAAC"}
|
package/dist/version.js
CHANGED
package/dist/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,CAAC,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ResultPromise<T>` — Anthropic-style awaitable that exposes both the parsed
|
|
3
|
+
* `data` (the default) and the underlying `Response` (via `.withResponse()`).
|
|
4
|
+
*
|
|
5
|
+
* const data = await aw.synastry.aspectGrid({...});
|
|
6
|
+
* const { data, requestId, headers } = await aw.synastry.aspectGrid({...}).withResponse();
|
|
7
|
+
*/
|
|
8
|
+
export interface WithResponseResult<T> {
|
|
9
|
+
/** The unwrapped `data` field of the `{ ok, data, error }` envelope. */
|
|
10
|
+
data: T;
|
|
11
|
+
/** AstroWay request ID from `X-Request-Id`, when present. */
|
|
12
|
+
requestId: string | undefined;
|
|
13
|
+
/** Account credits left, from `X-Credits-Remaining`, when present. */
|
|
14
|
+
creditsRemaining: number | undefined;
|
|
15
|
+
/** Full response headers. */
|
|
16
|
+
headers: Headers;
|
|
17
|
+
/** The underlying `Response` object (already consumed for the body). */
|
|
18
|
+
response: Response;
|
|
19
|
+
}
|
|
20
|
+
export declare class ResultPromise<T> implements PromiseLike<T> {
|
|
21
|
+
private readonly executor;
|
|
22
|
+
constructor(executor: () => Promise<{
|
|
23
|
+
data: T;
|
|
24
|
+
response: Response;
|
|
25
|
+
}>);
|
|
26
|
+
then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
|
|
27
|
+
catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): Promise<T | TResult>;
|
|
28
|
+
finally(onfinally?: (() => void) | undefined | null): Promise<T>;
|
|
29
|
+
/**
|
|
30
|
+
* Resolve with `{ data, requestId, creditsRemaining, headers, response }`
|
|
31
|
+
* instead of just `data`. Useful for support-ticket request IDs and credit
|
|
32
|
+
* dashboards.
|
|
33
|
+
*/
|
|
34
|
+
withResponse(): Promise<WithResponseResult<T>>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=with-response.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-response.d.ts","sourceRoot":"","sources":["../src/with-response.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,wEAAwE;IACxE,IAAI,EAAE,CAAC,CAAC;IACR,6DAA6D;IAC7D,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,sEAAsE;IACtE,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,6BAA6B;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,wEAAwE;IACxE,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAC;IAGrF,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EACjC,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,EACjF,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAClF,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAI/B,KAAK,CAAC,OAAO,GAAG,KAAK,EAEnB,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAChF,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC;IAIvB,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhE;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;CAOrD"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ResultPromise<T>` — Anthropic-style awaitable that exposes both the parsed
|
|
3
|
+
* `data` (the default) and the underlying `Response` (via `.withResponse()`).
|
|
4
|
+
*
|
|
5
|
+
* const data = await aw.synastry.aspectGrid({...});
|
|
6
|
+
* const { data, requestId, headers } = await aw.synastry.aspectGrid({...}).withResponse();
|
|
7
|
+
*/
|
|
8
|
+
export class ResultPromise {
|
|
9
|
+
executor;
|
|
10
|
+
constructor(executor) {
|
|
11
|
+
this.executor = executor;
|
|
12
|
+
}
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
14
|
+
then(onfulfilled, onrejected) {
|
|
15
|
+
return this.executor().then(({ data }) => data).then(onfulfilled, onrejected);
|
|
16
|
+
}
|
|
17
|
+
catch(
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
19
|
+
onrejected) {
|
|
20
|
+
return this.then(undefined, onrejected);
|
|
21
|
+
}
|
|
22
|
+
finally(onfinally) {
|
|
23
|
+
return this.executor().then(({ data }) => data).finally(onfinally ?? undefined);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Resolve with `{ data, requestId, creditsRemaining, headers, response }`
|
|
27
|
+
* instead of just `data`. Useful for support-ticket request IDs and credit
|
|
28
|
+
* dashboards.
|
|
29
|
+
*/
|
|
30
|
+
async withResponse() {
|
|
31
|
+
const { data, response } = await this.executor();
|
|
32
|
+
const requestId = response.headers.get('x-request-id') ?? undefined;
|
|
33
|
+
const creditsRaw = response.headers.get('x-credits-remaining');
|
|
34
|
+
const creditsRemaining = creditsRaw && !Number.isNaN(Number(creditsRaw)) ? Number(creditsRaw) : undefined;
|
|
35
|
+
return { data, requestId, creditsRemaining, headers: response.headers, response };
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=with-response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-response.js","sourceRoot":"","sources":["../src/with-response.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,QAAwD;QAAxD,aAAQ,GAAR,QAAQ,CAAgD;IAAG,CAAC;IAEzF,8DAA8D;IAC9D,IAAI,CACF,WAAiF,EACjF,UAAmF;QAEnF,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAChF,CAAC;IAED,KAAK;IACH,8DAA8D;IAC9D,UAAiF;QAEjF,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,CAAC,SAA2C;QACjD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC;IAClF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC;QACpE,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAC/D,MAAM,gBAAgB,GAAG,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1G,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpF,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@astroway/sdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Official TypeScript SDK for the AstroWay API — natal, synastry, transits, Vedic, Human Design, Tarot, Numerology, AI horoscopes. Type-safe, retry-aware, OpenAPI 3.1 generated.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -9,13 +9,26 @@
|
|
|
9
9
|
"exports": {
|
|
10
10
|
".": {
|
|
11
11
|
"types": "./dist/index.d.ts",
|
|
12
|
+
"browser": "./dist/index.js",
|
|
13
|
+
"worker": "./dist/index.js",
|
|
14
|
+
"deno": "./dist/index.js",
|
|
15
|
+
"bun": "./dist/index.js",
|
|
12
16
|
"import": "./dist/index.js"
|
|
13
17
|
},
|
|
14
18
|
"./errors": {
|
|
15
19
|
"types": "./dist/errors.d.ts",
|
|
16
20
|
"import": "./dist/errors.js"
|
|
21
|
+
},
|
|
22
|
+
"./helpers": {
|
|
23
|
+
"types": "./dist/helpers/index.d.ts",
|
|
24
|
+
"import": "./dist/helpers/index.js"
|
|
25
|
+
},
|
|
26
|
+
"./testing": {
|
|
27
|
+
"types": "./dist/testing.d.ts",
|
|
28
|
+
"import": "./dist/testing.js"
|
|
17
29
|
}
|
|
18
30
|
},
|
|
31
|
+
"browser": "./dist/index.js",
|
|
19
32
|
"files": [
|
|
20
33
|
"dist",
|
|
21
34
|
"README.md",
|
|
@@ -24,7 +37,9 @@
|
|
|
24
37
|
],
|
|
25
38
|
"scripts": {
|
|
26
39
|
"sync-spec": "tsx scripts/sync-spec.ts",
|
|
27
|
-
"generate": "openapi-typescript openapi.json -o src/types.generated.ts",
|
|
40
|
+
"generate:types": "openapi-typescript openapi.json -o src/types.generated.ts",
|
|
41
|
+
"generate:namespaces": "node scripts/generate-namespaces.mjs",
|
|
42
|
+
"generate": "npm run generate:types && npm run generate:namespaces",
|
|
28
43
|
"build": "npm run generate && tsc",
|
|
29
44
|
"prepublishOnly": "npm run build && npm test",
|
|
30
45
|
"test": "vitest run",
|
|
@@ -50,14 +65,14 @@
|
|
|
50
65
|
"author": "AstroWay <astroway.info@gmail.com>",
|
|
51
66
|
"repository": {
|
|
52
67
|
"type": "git",
|
|
53
|
-
"url": "
|
|
68
|
+
"url": "https://github.com/astroway/astroway-typescript.git"
|
|
54
69
|
},
|
|
55
70
|
"bugs": {
|
|
56
71
|
"url": "https://github.com/astroway/astroway-typescript/issues"
|
|
57
72
|
},
|
|
58
73
|
"homepage": "https://api.astroway.info/docs/",
|
|
59
74
|
"engines": {
|
|
60
|
-
"node": ">=
|
|
75
|
+
"node": ">=22"
|
|
61
76
|
},
|
|
62
77
|
"publishConfig": {
|
|
63
78
|
"access": "public",
|