@aerostack/sdk-node 0.8.8 → 0.8.10

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 (110) hide show
  1. package/package.json +10 -3
  2. package/FUNCTIONS.md +0 -95
  3. package/RUNTIMES.md +0 -48
  4. package/examples/aiAIChat.example.ts +0 -31
  5. package/examples/databaseDbQuery.example.ts +0 -34
  6. package/examples/e2e/__tests__/e2e.test.ts +0 -118
  7. package/examples/e2e/package.json +0 -15
  8. package/examples/e2e/vitest.config.ts +0 -8
  9. package/examples/express-integration.ts +0 -67
  10. package/examples/next-api-route.ts +0 -46
  11. package/examples/package.json +0 -18
  12. package/examples/standalone-auth.ts +0 -44
  13. package/jsr.json +0 -27
  14. package/src/__tests__/realtime.test.ts +0 -430
  15. package/src/__tests__/sdk.test.ts +0 -412
  16. package/src/_generated/apis/AIApi.ts +0 -477
  17. package/src/_generated/apis/AuthenticationApi.ts +0 -121
  18. package/src/_generated/apis/CacheApi.ts +0 -551
  19. package/src/_generated/apis/DatabaseApi.ts +0 -138
  20. package/src/_generated/apis/GatewayApi.ts +0 -204
  21. package/src/_generated/apis/QueueApi.ts +0 -218
  22. package/src/_generated/apis/ServicesApi.ts +0 -74
  23. package/src/_generated/apis/StorageApi.ts +0 -476
  24. package/src/_generated/apis/index.ts +0 -10
  25. package/src/_generated/index.ts +0 -5
  26. package/src/_generated/models/AuthResponse.ts +0 -88
  27. package/src/_generated/models/AuthSigninRequest.ts +0 -75
  28. package/src/_generated/models/AuthSignupRequest.ts +0 -91
  29. package/src/_generated/models/CacheDeleteMany200Response.ts +0 -81
  30. package/src/_generated/models/CacheDeleteManyRequest.ts +0 -66
  31. package/src/_generated/models/CacheExpireRequest.ts +0 -75
  32. package/src/_generated/models/CacheFlush200Response.ts +0 -73
  33. package/src/_generated/models/CacheFlushRequest.ts +0 -65
  34. package/src/_generated/models/CacheGet200Response.ts +0 -73
  35. package/src/_generated/models/CacheGetMany200Response.ts +0 -72
  36. package/src/_generated/models/CacheGetManyEntry.ts +0 -81
  37. package/src/_generated/models/CacheGetManyRequest.ts +0 -66
  38. package/src/_generated/models/CacheGetRequest.ts +0 -66
  39. package/src/_generated/models/CacheIncrement200Response.ts +0 -65
  40. package/src/_generated/models/CacheIncrementRequest.ts +0 -90
  41. package/src/_generated/models/CacheKeyEntry.ts +0 -73
  42. package/src/_generated/models/CacheKeys200Response.ts +0 -73
  43. package/src/_generated/models/CacheKeysRequest.ts +0 -65
  44. package/src/_generated/models/CacheListRequest.ts +0 -81
  45. package/src/_generated/models/CacheListResult.ts +0 -88
  46. package/src/_generated/models/CacheSet200Response.ts +0 -65
  47. package/src/_generated/models/CacheSetEntry.ts +0 -83
  48. package/src/_generated/models/CacheSetMany200Response.ts +0 -73
  49. package/src/_generated/models/CacheSetManyRequest.ts +0 -73
  50. package/src/_generated/models/CacheSetRequest.ts +0 -83
  51. package/src/_generated/models/ChatCompletionRequest.ts +0 -130
  52. package/src/_generated/models/ChatCompletionRequestStreamOptions.ts +0 -67
  53. package/src/_generated/models/ChatCompletionResponse.ts +0 -128
  54. package/src/_generated/models/ChatCompletionResponseChoicesInner.ts +0 -100
  55. package/src/_generated/models/ChatMessage.ts +0 -87
  56. package/src/_generated/models/ConfigureRequest.ts +0 -77
  57. package/src/_generated/models/DbBatchRequest.ts +0 -73
  58. package/src/_generated/models/DbBatchRequestQueriesInner.ts +0 -74
  59. package/src/_generated/models/DbBatchResult.ts +0 -80
  60. package/src/_generated/models/DbBatchResultResultsInner.ts +0 -81
  61. package/src/_generated/models/DbQueryRequest.ts +0 -74
  62. package/src/_generated/models/DbQueryResult.ts +0 -73
  63. package/src/_generated/models/DeleteByTypeRequest.ts +0 -66
  64. package/src/_generated/models/DeleteRequest.ts +0 -66
  65. package/src/_generated/models/ErrorResponse.ts +0 -99
  66. package/src/_generated/models/GatewayBillingLog200Response.ts +0 -73
  67. package/src/_generated/models/GatewayBillingLogRequest.ts +0 -92
  68. package/src/_generated/models/GatewayGetWallet200Response.ts +0 -72
  69. package/src/_generated/models/IngestRequest.ts +0 -91
  70. package/src/_generated/models/JobRecord.ts +0 -119
  71. package/src/_generated/models/ListTypes200Response.ts +0 -72
  72. package/src/_generated/models/Query200Response.ts +0 -72
  73. package/src/_generated/models/QueryRequest.ts +0 -90
  74. package/src/_generated/models/QueueCancelJob200Response.ts +0 -73
  75. package/src/_generated/models/QueueEnqueue201Response.ts +0 -73
  76. package/src/_generated/models/QueueEnqueueRequest.ts +0 -83
  77. package/src/_generated/models/QueueGetJob200Response.ts +0 -80
  78. package/src/_generated/models/QueueGetJobRequest.ts +0 -66
  79. package/src/_generated/models/QueueListJobs200Response.ts +0 -88
  80. package/src/_generated/models/QueueListJobsRequest.ts +0 -103
  81. package/src/_generated/models/SearchCount200Response.ts +0 -65
  82. package/src/_generated/models/SearchCountRequest.ts +0 -65
  83. package/src/_generated/models/SearchGet200Response.ts +0 -80
  84. package/src/_generated/models/SearchGetRequest.ts +0 -66
  85. package/src/_generated/models/SearchResult.ts +0 -97
  86. package/src/_generated/models/SearchUpdateRequest.ts +0 -91
  87. package/src/_generated/models/ServicesInvoke200Response.ts +0 -73
  88. package/src/_generated/models/ServicesInvokeRequest.ts +0 -75
  89. package/src/_generated/models/StorageCopy200Response.ts +0 -73
  90. package/src/_generated/models/StorageCopyRequest.ts +0 -75
  91. package/src/_generated/models/StorageExists200Response.ts +0 -65
  92. package/src/_generated/models/StorageGetRequest.ts +0 -66
  93. package/src/_generated/models/StorageListRequest.ts +0 -81
  94. package/src/_generated/models/StorageListResult.ts +0 -88
  95. package/src/_generated/models/StorageMetadata.ts +0 -97
  96. package/src/_generated/models/StorageMove200Response.ts +0 -73
  97. package/src/_generated/models/StorageMoveRequest.ts +0 -75
  98. package/src/_generated/models/StorageObject.ts +0 -97
  99. package/src/_generated/models/StorageUpload200Response.ts +0 -65
  100. package/src/_generated/models/TokenUsage.ts +0 -81
  101. package/src/_generated/models/TokenWallet.ts +0 -73
  102. package/src/_generated/models/TypeStats.ts +0 -73
  103. package/src/_generated/models/User.ts +0 -97
  104. package/src/_generated/models/index.ts +0 -80
  105. package/src/_generated/runtime.ts +0 -431
  106. package/src/index.ts +0 -3
  107. package/src/realtime.ts +0 -439
  108. package/src/sdk.ts +0 -317
  109. package/test_sdk.ts +0 -19
  110. package/tsconfig.json +0 -43
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aerostack/sdk-node",
3
- "version": "0.8.8",
3
+ "version": "0.8.10",
4
4
  "author": "Aerostack",
5
5
  "type": "module",
6
6
  "tshy": {
@@ -31,7 +31,7 @@
31
31
  "ws": "^8.19.0"
32
32
  },
33
33
  "dependencies": {
34
- "@aerostack/core": "^0.8.8",
34
+ "@aerostack/core": "^0.8.10",
35
35
  "zod": "^3.25.0 || ^4.0.0"
36
36
  },
37
37
  "exports": {
@@ -61,5 +61,12 @@
61
61
  },
62
62
  "main": "./dist/commonjs/index.js",
63
63
  "types": "./dist/commonjs/index.d.ts",
64
- "module": "./dist/esm/index.js"
64
+ "module": "./dist/esm/index.js",
65
+ "files": [
66
+ "dist",
67
+ "README.md"
68
+ ],
69
+ "publishConfig": {
70
+ "access": "public"
71
+ }
65
72
  }
package/FUNCTIONS.md DELETED
@@ -1,95 +0,0 @@
1
- # Standalone Functions
2
-
3
- > [!NOTE]
4
- > This section is useful if you are using a bundler and targetting browsers and
5
- > runtimes where the size of an application affects performance and load times.
6
-
7
- Every method in this SDK is also available as a standalone function. This
8
- alternative API is suitable when targetting the browser or serverless runtimes
9
- and using a bundler to build your application since all unused functionality
10
- will be tree-shaken away. This includes code for unused methods, Zod schemas,
11
- encoding helpers and response handlers. The result is dramatically smaller
12
- impact on the application's final bundle size which grows very slowly as you use
13
- more and more functionality from this SDK.
14
-
15
- Calling methods through the main SDK class remains a valid and generally more
16
- more ergonomic option. Standalone functions represent an optimisation for a
17
- specific category of applications.
18
-
19
- ## Example
20
-
21
- ```typescript
22
- import { SDKCore } from "@aerostack/sdk-node/core.js";
23
- import { databaseDbQuery } from "@aerostack/sdk-node/funcs/databaseDbQuery.js";
24
-
25
- // Use `SDKCore` for best tree-shaking performance.
26
- // You can create one instance of it to use across an application.
27
- const sdk = new SDKCore({
28
- apiKeyAuth: "<YOUR_API_KEY_HERE>",
29
- });
30
-
31
- async function run() {
32
- const res = await databaseDbQuery(sdk, {
33
- xSDKVersion: "0.1.0",
34
- requestBody: {
35
- sql: "SELECT * FROM users WHERE active = ?",
36
- params: [
37
- true,
38
- ],
39
- },
40
- });
41
- if (res.ok) {
42
- const { value: result } = res;
43
- console.log(result);
44
- } else {
45
- console.log("databaseDbQuery failed:", res.error);
46
- }
47
- }
48
-
49
- run();
50
- ```
51
-
52
- ## Result types
53
-
54
- Standalone functions differ from SDK methods in that they return a
55
- `Result<Value, Error>` type to capture _known errors_ and document them using
56
- the type system. By avoiding throwing errors, application code maintains clear
57
- control flow and error-handling become part of the regular flow of application
58
- code.
59
-
60
- > We use the term "known errors" because standalone functions, and JavaScript
61
- > code in general, can still throw unexpected errors such as `TypeError`s,
62
- > `RangeError`s and `DOMException`s. Exhaustively catching all errors may be
63
- > something this SDK addresses in the future. Nevertheless, there is still a lot
64
- > of benefit from capturing most errors and turning them into values.
65
-
66
- The second reason for this style of programming is because these functions will
67
- typically be used in front-end applications where exception throwing is
68
- sometimes discouraged or considered unidiomatic. React and similar ecosystems
69
- and libraries tend to promote this style of programming so that components
70
- render useful content under all states (loading, success, error and so on).
71
-
72
- The general pattern when calling standalone functions looks like this:
73
-
74
- ```typescript
75
- import { Core } from "<sdk-package-name>";
76
- import { fetchSomething } from "<sdk-package-name>/funcs/fetchSomething.js";
77
-
78
- const client = new Core();
79
-
80
- async function run() {
81
- const result = await fetchSomething(client, { id: "123" });
82
- if (!result.ok) {
83
- // You can throw the error or handle it. It's your choice now.
84
- throw result.error;
85
- }
86
-
87
- console.log(result.value);
88
- }
89
-
90
- run();
91
- ```
92
-
93
- Notably, `result.error` above will have an explicit type compared to a try-catch
94
- variation where the error in the catch block can only be of type `unknown` (or
95
- `any` depending on your TypeScript settings).
package/RUNTIMES.md DELETED
@@ -1,48 +0,0 @@
1
- # Supported JavaScript runtimes
2
-
3
- This SDK is intended to be used in JavaScript runtimes that support ECMAScript 2020 or newer. The SDK uses the following features:
4
-
5
- - [Web Fetch API][web-fetch]
6
- - [Web Streams API][web-streams] and in particular `ReadableStream`
7
- - [Async iterables][async-iter] using `Symbol.asyncIterator`
8
-
9
- [web-fetch]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
10
- [web-streams]: https://developer.mozilla.org/en-US/docs/Web/API/Streams_API
11
- [async-iter]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#the_async_iterator_and_async_iterable_protocols
12
-
13
- Runtime environments that are explicitly supported are:
14
-
15
- - Evergreen browsers which include: Chrome, Safari, Edge, Firefox
16
- - Node.js active and maintenance LTS releases
17
- - Currently, this is v18 and v20
18
- - Bun v1 and above
19
- - Deno v1.39
20
- - Note that Deno does not currently have native support for streaming file uploads backed by the filesystem ([issue link][deno-file-streaming])
21
-
22
- [deno-file-streaming]: https://github.com/denoland/deno/issues/11018
23
-
24
- ## Recommended TypeScript compiler options
25
-
26
- The following `tsconfig.json` options are recommended for projects using this
27
- SDK in order to get static type support for features like async iterables,
28
- streams and `fetch`-related APIs ([`for await...of`][for-await-of],
29
- [`AbortSignal`][abort-signal], [`Request`][request], [`Response`][response] and
30
- so on):
31
-
32
- [for-await-of]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of
33
- [abort-signal]: https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal
34
- [request]: https://developer.mozilla.org/en-US/docs/Web/API/Request
35
- [response]: https://developer.mozilla.org/en-US/docs/Web/API/Response
36
-
37
- ```jsonc
38
- {
39
- "compilerOptions": {
40
- "target": "es2020", // or higher
41
- "lib": ["es2020", "dom", "dom.iterable"]
42
- }
43
- }
44
- ```
45
-
46
- While `target` can be set to older ECMAScript versions, it may result in extra,
47
- unnecessary compatibility code being generated if you are not targeting old
48
- runtimes.
@@ -1,31 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import dotenv from "dotenv";
6
- dotenv.config();
7
- /**
8
- * Example usage of the @aerostack/sdk-node SDK
9
- *
10
- * To run this example from the examples directory:
11
- * npm run build && npx tsx aiAIChat.example.ts
12
- */
13
-
14
- import { SDK } from "@aerostack/sdk-node";
15
-
16
- const sdk = new SDK({
17
- apiKeyAuth: "<YOUR_API_KEY_HERE>",
18
- });
19
-
20
- async function main() {
21
- const result = await sdk.ai.aiChat({
22
- messages: [
23
- {},
24
- ],
25
- model: "@cf/meta/llama-3-8b-instruct",
26
- });
27
-
28
- console.log(result);
29
- }
30
-
31
- main().catch(console.error);
@@ -1,34 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import dotenv from "dotenv";
6
- dotenv.config();
7
- /**
8
- * Example usage of the @aerostack/sdk-node SDK
9
- *
10
- * To run this example from the examples directory:
11
- * npm run build && npx tsx databaseDbQuery.example.ts
12
- */
13
-
14
- import { SDK } from "@aerostack/sdk-node";
15
-
16
- const sdk = new SDK({
17
- apiKeyAuth: "<YOUR_API_KEY_HERE>",
18
- });
19
-
20
- async function main() {
21
- const result = await sdk.database.dbQuery({
22
- xSDKVersion: "0.1.0",
23
- requestBody: {
24
- sql: "SELECT * FROM users WHERE active = ?",
25
- params: [
26
- true,
27
- ],
28
- },
29
- });
30
-
31
- console.log(result);
32
- }
33
-
34
- main().catch(console.error);
@@ -1,118 +0,0 @@
1
- /**
2
- * Node SDK E2E Tests
3
- *
4
- * Verifies SDK initialization, facade methods, and streaming.
5
- * Imports from source since tshy build may not be available.
6
- */
7
- import { describe, it, expect, vi } from 'vitest';
8
-
9
- // Mock the generated SDK APIs that the Node SDK depends on
10
- vi.mock('../../../src/generated/api.js', () => {
11
- const makeApi = () => ({
12
- _serverURL: '',
13
- _client: { _baseURL: '' },
14
- listProducts: vi.fn(),
15
- createProduct: vi.fn(),
16
- });
17
- return {
18
- Auth: vi.fn().mockImplementation(() => makeApi()),
19
- Ai: vi.fn().mockImplementation(() => makeApi()),
20
- Database: vi.fn().mockImplementation(() => makeApi()),
21
- Storage: vi.fn().mockImplementation(() => makeApi()),
22
- Queue: vi.fn().mockImplementation(() => makeApi()),
23
- Services: vi.fn().mockImplementation(() => makeApi()),
24
- Cache: vi.fn().mockImplementation(() => ({
25
- ...makeApi(),
26
- cacheGet: vi.fn().mockResolvedValue({ result: '{}' }),
27
- cacheSet: vi.fn().mockResolvedValue({}),
28
- cacheDelete: vi.fn().mockResolvedValue({}),
29
- cacheClear: vi.fn().mockResolvedValue({}),
30
- cacheList: vi.fn().mockResolvedValue({ result: '[]' }),
31
- cacheHas: vi.fn().mockResolvedValue({ result: 'true' }),
32
- cacheIncrement: vi.fn().mockResolvedValue({ result: '1' }),
33
- cacheDecrement: vi.fn().mockResolvedValue({ result: '0' }),
34
- cacheTtl: vi.fn().mockResolvedValue({ result: '3600' }),
35
- cacheExpire: vi.fn().mockResolvedValue({}),
36
- cachePersist: vi.fn().mockResolvedValue({}),
37
- cacheSetAdd: vi.fn().mockResolvedValue({}),
38
- })),
39
- SDKConfig: vi.fn().mockImplementation(() => ({
40
- _serverURL: '',
41
- _client: { _baseURL: '' },
42
- })),
43
- };
44
- });
45
-
46
- vi.mock('../../../src/generated/models/operations/index.js', () => ({}));
47
-
48
- const { SDK, Aerostack, createClient } = await import('../../../src/sdk');
49
- const { NodeRealtimeClient } = await import('../../../src/realtime');
50
-
51
- describe('Node SDK E2E', () => {
52
- describe('SDK initialization', () => {
53
- it('should create SDK instance with default options', () => {
54
- const sdk = new SDK();
55
- expect(sdk).toBeDefined();
56
- expect(sdk.database).toBeDefined();
57
- expect(sdk.auth).toBeDefined();
58
- expect(sdk.cache).toBeDefined();
59
- expect(sdk.queue).toBeDefined();
60
- expect(sdk.storage).toBeDefined();
61
- expect(sdk.ai).toBeDefined();
62
- expect(sdk.services).toBeDefined();
63
- expect(sdk.gateway).toBeDefined();
64
- expect(sdk.realtime).toBeDefined();
65
- expect(sdk.rpc).toBeDefined();
66
- });
67
-
68
- it('should create SDK with api key and custom server', () => {
69
- const sdk = new SDK({
70
- apiKey: 'ac_secret_test_key',
71
- serverUrl: 'https://custom.api.com/v1',
72
- projectId: 'proj-test',
73
- });
74
- expect(sdk).toBeDefined();
75
- });
76
-
77
- it('should support backward-compat aliases', () => {
78
- const sdk = new SDK({
79
- apiKeyAuth: 'ac_secret_test_key',
80
- serverURL: 'https://custom.api.com/v1',
81
- });
82
- expect(sdk).toBeDefined();
83
- });
84
-
85
- it('should export Aerostack as deprecated alias', () => {
86
- expect(Aerostack).toBe(SDK);
87
- });
88
-
89
- it('should export createClient factory', () => {
90
- const sdk = createClient({ apiKey: 'key' });
91
- expect(sdk).toBeInstanceOf(SDK);
92
- });
93
- });
94
-
95
- describe('setApiKey', () => {
96
- it('should update API key and recreate services', () => {
97
- const sdk = new SDK({ apiKey: 'old-key' });
98
- sdk.setApiKey('new-key');
99
- expect(sdk.auth).toBeDefined();
100
- });
101
- });
102
-
103
- describe('NodeRealtimeClient export', () => {
104
- it('should export NodeRealtimeClient', () => {
105
- expect(NodeRealtimeClient).toBeDefined();
106
- expect(typeof NodeRealtimeClient).toBe('function');
107
- });
108
-
109
- it('should create realtime client', () => {
110
- const client = new NodeRealtimeClient({
111
- serverUrl: 'https://api.test.com/v1',
112
- projectId: 'proj-1',
113
- });
114
- expect(client.status).toBe('idle');
115
- expect(client.connected).toBe(false);
116
- });
117
- });
118
- });
@@ -1,15 +0,0 @@
1
- {
2
- "name": "@aerostack/node-e2e",
3
- "version": "1.0.0",
4
- "private": true,
5
- "type": "module",
6
- "scripts": {
7
- "test": "vitest run"
8
- },
9
- "dependencies": {
10
- "@aerostack/sdk-node": "file:../../"
11
- },
12
- "devDependencies": {
13
- "vitest": "^1.0.0"
14
- }
15
- }
@@ -1,8 +0,0 @@
1
- import { defineConfig } from 'vitest/config';
2
-
3
- export default defineConfig({
4
- test: {
5
- globals: true,
6
- environment: 'node',
7
- },
8
- });
@@ -1,67 +0,0 @@
1
- import express, { Request, Response, NextFunction } from 'express';
2
- import { Aerostack } from '@aerostack/node';
3
-
4
- /**
5
- * Express Integration Example
6
- *
7
- * Demonstrates how to use the Aerostack Node.js SDK with Express.
8
- */
9
-
10
- const app = express();
11
- const port = 3000;
12
-
13
- // Initialize SDK
14
- const sdk = new Aerostack({
15
- // security: { apiKeyAuth: process.env.AEROSTACK_API_KEY } // Optional for public endpoints
16
- });
17
-
18
- // Middleware to add SDK to request
19
- const withAerostack = (req: Request, res: Response, next: NextFunction) => {
20
- (req as any).aerostack = sdk;
21
- next();
22
- };
23
-
24
- app.use(express.json());
25
- app.use(withAerostack);
26
-
27
- // Endpoint to signup a user
28
- app.post('/signup', async (req: Request, res: Response) => {
29
- const { email, password, name } = req.body;
30
-
31
- try {
32
- const result = await sdk.authentication.authSignup({
33
- email,
34
- password,
35
- name
36
- });
37
-
38
- if (result.ok) {
39
- res.status(201).json(result.value);
40
- } else {
41
- res.status(400).json({ error: result.error });
42
- }
43
- } catch (error: any) {
44
- res.status(500).json({ error: error.message });
45
- }
46
- });
47
-
48
- // Endpoint to query database
49
- app.get('/users', async (req: Request, res: Response) => {
50
- try {
51
- const result = await sdk.database.dbQuery({
52
- query: "SELECT * FROM users LIMIT 10"
53
- });
54
-
55
- if (result.ok) {
56
- res.json(result.value);
57
- } else {
58
- res.status(500).json({ error: result.error });
59
- }
60
- } catch (error: any) {
61
- res.status(500).json({ error: error.message });
62
- }
63
- });
64
-
65
- app.listen(port, () => {
66
- console.log(`Example app listening on port ${port}`);
67
- });
@@ -1,46 +0,0 @@
1
- import { Aerostack } from '@aerostack/node';
2
- import type { NextApiRequest, NextApiResponse } from 'next';
3
-
4
- /**
5
- * Next.js API Route Example
6
- *
7
- * Demonstrates how to use the Aerostack Node.js SDK in a Next.js API route.
8
- * (Pages Router style, but concepts apply to App Router too)
9
- */
10
-
11
- const sdk = new Aerostack({
12
- // security: { apiKeyAuth: process.env.AEROSTACK_API_KEY }
13
- });
14
-
15
- export default async function handler(
16
- req: NextApiRequest,
17
- res: NextApiResponse
18
- ) {
19
- if (req.method === 'POST') {
20
- // Handle Signup
21
- const { email, password } = req.body;
22
-
23
- const result = await sdk.authentication.authSignup({
24
- email,
25
- password,
26
- name: email.split('@')[0]
27
- });
28
-
29
- if (!result.ok) {
30
- return res.status(400).json({ error: result.error });
31
- }
32
-
33
- return res.status(200).json(result.value);
34
- } else {
35
- // Handle GET - e.g. list some data
36
- const result = await sdk.database.dbQuery({
37
- query: "SELECT count(*) as count FROM users"
38
- });
39
-
40
- if (!result.ok) {
41
- return res.status(500).json({ error: result.error });
42
- }
43
-
44
- return res.status(200).json(result.value);
45
- }
46
- }
@@ -1,18 +0,0 @@
1
- {
2
- "name": "@aerostack/sdk-node-examples",
3
- "version": "1.0.0",
4
- "private": true,
5
- "scripts": {
6
- "build:parent": "cd .. && npm i && npm run build && cd -",
7
- "build:examples": "npm i",
8
- "build": "npm run build:parent && npm run build:examples"
9
- },
10
- "devDependencies": {
11
- "@types/node": "^20.0.0",
12
- "dotenv": "^16.4.5",
13
- "tsx": "^4.19.2"
14
- },
15
- "dependencies": {
16
- "@aerostack/sdk-node": "file:.."
17
- }
18
- }
@@ -1,44 +0,0 @@
1
- import { Aerostack } from '@aerostack/node';
2
-
3
- /**
4
- * Standalone Auth Example
5
- *
6
- * Simple script to demonstrate authentication flow.
7
- */
8
-
9
- const sdk = new Aerostack();
10
-
11
- async function main() {
12
- const email = `node-user-${Date.now()}@example.com`;
13
- const password = 'Password123!';
14
-
15
- console.log(`Attempting to register ${email}...`);
16
-
17
- const signupRes = await sdk.authentication.authSignup({
18
- email,
19
- password,
20
- name: "NodeJS User"
21
- });
22
-
23
- if (!signupRes.ok) {
24
- console.error("Signup failed:", signupRes.error);
25
- return;
26
- }
27
-
28
- console.log("Signup success:", signupRes.value);
29
-
30
- console.log("Attempting to login...");
31
- const loginRes = await sdk.authentication.authSignin({
32
- email,
33
- password
34
- });
35
-
36
- if (!loginRes.ok) {
37
- console.error("Login failed:", loginRes.error);
38
- return;
39
- }
40
-
41
- console.log("Login success. Token:", loginRes.value.token);
42
- }
43
-
44
- main();
package/jsr.json DELETED
@@ -1,27 +0,0 @@
1
-
2
-
3
- {
4
- "name": "@aerostack/sdk-node",
5
- "version": "0.3.3",
6
- "exports": {
7
- ".": "./src/index.ts",
8
- "./sdk/models/errors": "./src/sdk/models/errors/index.ts",
9
- "./sdk/models/shared": "./src/sdk/models/shared/index.ts",
10
- "./sdk/models/operations": "./src/sdk/models/operations/index.ts",
11
- "./lib/config": "./src/lib/config.ts",
12
- "./lib/http": "./src/lib/http.ts",
13
- "./lib/retries": "./src/lib/retries.ts",
14
- "./lib/sdks": "./src/lib/sdks.ts",
15
- "./types": "./src/sdk/types/index.ts"
16
- },
17
- "publish": {
18
- "include": [
19
- "LICENSE",
20
- "README.md",
21
- "RUNTIMES.md",
22
- "USAGE.md",
23
- "jsr.json",
24
- "src/**/*.ts"
25
- ]
26
- }
27
- }