@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.
Files changed (53) hide show
  1. package/CHANGELOG.md +372 -0
  2. package/README.md +64 -32
  3. package/dist/cache.d.ts +101 -0
  4. package/dist/cache.d.ts.map +1 -0
  5. package/dist/cache.js +198 -0
  6. package/dist/cache.js.map +1 -0
  7. package/dist/errors.d.ts +30 -6
  8. package/dist/errors.d.ts.map +1 -1
  9. package/dist/errors.js +45 -14
  10. package/dist/errors.js.map +1 -1
  11. package/dist/helpers/birth-date-time.d.ts +76 -0
  12. package/dist/helpers/birth-date-time.d.ts.map +1 -0
  13. package/dist/helpers/birth-date-time.js +112 -0
  14. package/dist/helpers/birth-date-time.js.map +1 -0
  15. package/dist/helpers/index.d.ts +3 -0
  16. package/dist/helpers/index.d.ts.map +1 -0
  17. package/dist/helpers/index.js +3 -0
  18. package/dist/helpers/index.js.map +1 -0
  19. package/dist/idempotency.d.ts +10 -0
  20. package/dist/idempotency.d.ts.map +1 -0
  21. package/dist/idempotency.js +41 -0
  22. package/dist/idempotency.js.map +1 -0
  23. package/dist/index.d.ts +97 -2
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +191 -3
  26. package/dist/index.js.map +1 -1
  27. package/dist/namespaces.generated.d.ts +1513 -0
  28. package/dist/namespaces.generated.d.ts.map +1 -0
  29. package/dist/namespaces.generated.js +865 -0
  30. package/dist/namespaces.generated.js.map +1 -0
  31. package/dist/runtime.d.ts +7 -0
  32. package/dist/runtime.d.ts.map +1 -0
  33. package/dist/runtime.js +31 -0
  34. package/dist/runtime.js.map +1 -0
  35. package/dist/stream.d.ts +71 -0
  36. package/dist/stream.d.ts.map +1 -0
  37. package/dist/stream.js +199 -0
  38. package/dist/stream.js.map +1 -0
  39. package/dist/testing.d.ts +133 -0
  40. package/dist/testing.d.ts.map +1 -0
  41. package/dist/testing.js +132 -0
  42. package/dist/testing.js.map +1 -0
  43. package/dist/types.generated.d.ts +784 -176
  44. package/dist/types.generated.d.ts.map +1 -1
  45. package/dist/version.d.ts +1 -1
  46. package/dist/version.d.ts.map +1 -1
  47. package/dist/version.js +1 -1
  48. package/dist/version.js.map +1 -1
  49. package/dist/with-response.d.ts +36 -0
  50. package/dist/with-response.d.ts.map +1 -0
  51. package/dist/with-response.js +38 -0
  52. package/dist/with-response.js.map +1 -0
  53. package/package.json +19 -4
package/dist/version.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  /** Auto-injected from package.json at build time. Update via npm version <bump>. */
2
- export declare const SDK_VERSION = "0.1.0-alpha.2";
2
+ export declare const SDK_VERSION = "1.0.0";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,eAAO,MAAM,WAAW,kBAAkB,CAAC"}
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
@@ -1,3 +1,3 @@
1
1
  /** Auto-injected from package.json at build time. Update via npm version <bump>. */
2
- export const SDK_VERSION = '0.1.0-alpha.2';
2
+ export const SDK_VERSION = '1.0.0';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC"}
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": "0.1.0-alpha.2",
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": "git+https://github.com/astroway/astroway-typescript.git"
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": ">=20"
75
+ "node": ">=22"
61
76
  },
62
77
  "publishConfig": {
63
78
  "access": "public",