@aifabrix/miso-client 4.3.1 → 4.4.1

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 (175) hide show
  1. package/CHANGELOG.md +1253 -1215
  2. package/README.md +22 -23
  3. package/dist/api/applications.api.d.ts +42 -0
  4. package/dist/api/applications.api.d.ts.map +1 -0
  5. package/dist/api/applications.api.js +91 -0
  6. package/dist/api/applications.api.js.map +1 -0
  7. package/dist/api/index.d.ts +5 -0
  8. package/dist/api/index.d.ts.map +1 -1
  9. package/dist/api/index.js +2 -0
  10. package/dist/api/index.js.map +1 -1
  11. package/dist/api/types/applications.types.d.ts +58 -0
  12. package/dist/api/types/applications.types.d.ts.map +1 -0
  13. package/dist/api/types/applications.types.js +7 -0
  14. package/dist/api/types/applications.types.js.map +1 -0
  15. package/dist/api/types/encryption.types.d.ts +2 -2
  16. package/dist/api/types/encryption.types.d.ts.map +1 -1
  17. package/dist/express/client-token-endpoint.d.ts +2 -2
  18. package/dist/express/client-token-endpoint.d.ts.map +1 -1
  19. package/dist/express/client-token-endpoint.js +21 -3
  20. package/dist/express/client-token-endpoint.js.map +1 -1
  21. package/dist/express/error-handler.d.ts +8 -1
  22. package/dist/express/error-handler.d.ts.map +1 -1
  23. package/dist/express/error-handler.js +8 -1
  24. package/dist/express/error-handler.js.map +1 -1
  25. package/dist/express/error-response.d.ts +16 -4
  26. package/dist/express/error-response.d.ts.map +1 -1
  27. package/dist/express/error-response.js +16 -4
  28. package/dist/express/error-response.js.map +1 -1
  29. package/dist/express/error-types.d.ts +13 -0
  30. package/dist/express/error-types.d.ts.map +1 -1
  31. package/dist/express/error-types.js +13 -0
  32. package/dist/express/error-types.js.map +1 -1
  33. package/dist/express/index.d.ts +8 -4
  34. package/dist/express/index.d.ts.map +1 -1
  35. package/dist/express/index.js.map +1 -1
  36. package/dist/express/logger-context.middleware.d.ts +8 -4
  37. package/dist/express/logger-context.middleware.d.ts.map +1 -1
  38. package/dist/express/logger-context.middleware.js +9 -4
  39. package/dist/express/logger-context.middleware.js.map +1 -1
  40. package/dist/express/response-middleware.d.ts +4 -0
  41. package/dist/express/response-middleware.d.ts.map +1 -1
  42. package/dist/express/response-middleware.js +4 -0
  43. package/dist/express/response-middleware.js.map +1 -1
  44. package/dist/index.d.ts +207 -34
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +214 -36
  47. package/dist/index.js.map +1 -1
  48. package/dist/services/application-context.service.d.ts +0 -1
  49. package/dist/services/application-context.service.d.ts.map +1 -1
  50. package/dist/services/application-context.service.js +12 -7
  51. package/dist/services/application-context.service.js.map +1 -1
  52. package/dist/services/auth-cache-helpers.d.ts +22 -0
  53. package/dist/services/auth-cache-helpers.d.ts.map +1 -0
  54. package/dist/services/auth-cache-helpers.js +85 -0
  55. package/dist/services/auth-cache-helpers.js.map +1 -0
  56. package/dist/services/auth-environment-token.d.ts +20 -0
  57. package/dist/services/auth-environment-token.d.ts.map +1 -0
  58. package/dist/services/auth-environment-token.js +94 -0
  59. package/dist/services/auth-environment-token.js.map +1 -0
  60. package/dist/services/auth-error-handler.d.ts.map +1 -1
  61. package/dist/services/auth-error-handler.js +1 -1
  62. package/dist/services/auth-error-handler.js.map +1 -1
  63. package/dist/services/auth.service.d.ts +16 -28
  64. package/dist/services/auth.service.d.ts.map +1 -1
  65. package/dist/services/auth.service.js +112 -208
  66. package/dist/services/auth.service.js.map +1 -1
  67. package/dist/services/browser-permission.service.d.ts +3 -1
  68. package/dist/services/browser-permission.service.d.ts.map +1 -1
  69. package/dist/services/browser-permission.service.js +44 -9
  70. package/dist/services/browser-permission.service.js.map +1 -1
  71. package/dist/services/browser-role.service.d.ts +3 -1
  72. package/dist/services/browser-role.service.d.ts.map +1 -1
  73. package/dist/services/browser-role.service.js +44 -9
  74. package/dist/services/browser-role.service.js.map +1 -1
  75. package/dist/services/cache.service.d.ts.map +1 -1
  76. package/dist/services/cache.service.js +8 -2
  77. package/dist/services/cache.service.js.map +1 -1
  78. package/dist/services/encryption.service.d.ts +1 -1
  79. package/dist/services/encryption.service.js +2 -2
  80. package/dist/services/encryption.service.js.map +1 -1
  81. package/dist/services/logger/index.d.ts +6 -4
  82. package/dist/services/logger/index.d.ts.map +1 -1
  83. package/dist/services/logger/index.js +1 -4
  84. package/dist/services/logger/index.js.map +1 -1
  85. package/dist/services/logger/logger-chain.d.ts +18 -8
  86. package/dist/services/logger/logger-chain.d.ts.map +1 -1
  87. package/dist/services/logger/logger-chain.js +35 -41
  88. package/dist/services/logger/logger-chain.js.map +1 -1
  89. package/dist/services/logger/logger-context-storage.d.ts +2 -0
  90. package/dist/services/logger/logger-context-storage.d.ts.map +1 -1
  91. package/dist/services/logger/logger-context-storage.js.map +1 -1
  92. package/dist/services/logger/logger-context.d.ts +0 -22
  93. package/dist/services/logger/logger-context.d.ts.map +1 -1
  94. package/dist/services/logger/logger-context.js +2 -50
  95. package/dist/services/logger/logger-context.js.map +1 -1
  96. package/dist/services/logger/logger.service.d.ts +37 -14
  97. package/dist/services/logger/logger.service.d.ts.map +1 -1
  98. package/dist/services/logger/logger.service.js +157 -133
  99. package/dist/services/logger/logger.service.js.map +1 -1
  100. package/dist/services/logger/unified-logger.service.d.ts.map +1 -1
  101. package/dist/services/logger/unified-logger.service.js +2 -34
  102. package/dist/services/logger/unified-logger.service.js.map +1 -1
  103. package/dist/services/permission.service.d.ts +12 -5
  104. package/dist/services/permission.service.d.ts.map +1 -1
  105. package/dist/services/permission.service.js +50 -10
  106. package/dist/services/permission.service.js.map +1 -1
  107. package/dist/services/redis.service.d.ts +29 -0
  108. package/dist/services/redis.service.d.ts.map +1 -1
  109. package/dist/services/redis.service.js +48 -5
  110. package/dist/services/redis.service.js.map +1 -1
  111. package/dist/services/role.service.d.ts +12 -5
  112. package/dist/services/role.service.d.ts.map +1 -1
  113. package/dist/services/role.service.js +38 -9
  114. package/dist/services/role.service.js.map +1 -1
  115. package/dist/services/token-validation.service.d.ts +30 -0
  116. package/dist/services/token-validation.service.d.ts.map +1 -1
  117. package/dist/services/token-validation.service.js +30 -0
  118. package/dist/services/token-validation.service.js.map +1 -1
  119. package/dist/types/config.types.d.ts +38 -1
  120. package/dist/types/config.types.d.ts.map +1 -1
  121. package/dist/types/config.types.js.map +1 -1
  122. package/dist/utils/audit-log-queue.d.ts.map +1 -1
  123. package/dist/utils/audit-log-queue.js +3 -0
  124. package/dist/utils/audit-log-queue.js.map +1 -1
  125. package/dist/utils/client-token-manager.d.ts.map +1 -1
  126. package/dist/utils/client-token-manager.js +9 -1
  127. package/dist/utils/client-token-manager.js.map +1 -1
  128. package/dist/utils/config-loader.d.ts +3 -1
  129. package/dist/utils/config-loader.d.ts.map +1 -1
  130. package/dist/utils/config-loader.js +5 -3
  131. package/dist/utils/config-loader.js.map +1 -1
  132. package/dist/utils/data-client-audit.d.ts.map +1 -1
  133. package/dist/utils/data-client-audit.js +15 -2
  134. package/dist/utils/data-client-audit.js.map +1 -1
  135. package/dist/utils/data-client-auth.d.ts.map +1 -1
  136. package/dist/utils/data-client-auth.js +17 -9
  137. package/dist/utils/data-client-auth.js.map +1 -1
  138. package/dist/utils/data-client-auto-init.d.ts.map +1 -1
  139. package/dist/utils/data-client-auto-init.js +110 -119
  140. package/dist/utils/data-client-auto-init.js.map +1 -1
  141. package/dist/utils/data-client-request.d.ts +0 -3
  142. package/dist/utils/data-client-request.d.ts.map +1 -1
  143. package/dist/utils/data-client-request.js +148 -97
  144. package/dist/utils/data-client-request.js.map +1 -1
  145. package/dist/utils/data-client-response.d.ts.map +1 -1
  146. package/dist/utils/data-client-response.js +93 -63
  147. package/dist/utils/data-client-response.js.map +1 -1
  148. package/dist/utils/data-client-utils.d.ts +2 -1
  149. package/dist/utils/data-client-utils.d.ts.map +1 -1
  150. package/dist/utils/data-client-utils.js +2 -1
  151. package/dist/utils/data-client-utils.js.map +1 -1
  152. package/dist/utils/data-client.d.ts.map +1 -1
  153. package/dist/utils/data-client.js +4 -1
  154. package/dist/utils/data-client.js.map +1 -1
  155. package/dist/utils/data-masker.d.ts +3 -0
  156. package/dist/utils/data-masker.d.ts.map +1 -1
  157. package/dist/utils/data-masker.js +3 -0
  158. package/dist/utils/data-masker.js.map +1 -1
  159. package/dist/utils/filter-schema.utils.d.ts.map +1 -1
  160. package/dist/utils/filter-schema.utils.js +64 -46
  161. package/dist/utils/filter-schema.utils.js.map +1 -1
  162. package/dist/utils/filter.utils.d.ts.map +1 -1
  163. package/dist/utils/filter.utils.js +59 -75
  164. package/dist/utils/filter.utils.js.map +1 -1
  165. package/dist/utils/http-client-audit.d.ts.map +1 -1
  166. package/dist/utils/http-client-audit.js +31 -19
  167. package/dist/utils/http-client-audit.js.map +1 -1
  168. package/dist/utils/http-client-metadata.d.ts +2 -1
  169. package/dist/utils/http-client-metadata.d.ts.map +1 -1
  170. package/dist/utils/http-client-metadata.js +2 -1
  171. package/dist/utils/http-client-metadata.js.map +1 -1
  172. package/dist/utils/internal-http-client.d.ts.map +1 -1
  173. package/dist/utils/internal-http-client.js +13 -7
  174. package/dist/utils/internal-http-client.js.map +1 -1
  175. package/package.json +86 -84
package/README.md CHANGED
@@ -210,7 +210,7 @@ const dataClientWithRefresh = new DataClient({
210
210
  ```
211
211
 
212
212
  → [DataClient Documentation](docs/data-client.md) - Includes security guide and Client Token Pattern
213
- → [DataClient API Reference](docs/api-reference.md#dataclient)
213
+ → [DataClient API Reference](docs/reference-dataclient.md)
214
214
 
215
215
  ---
216
216
 
@@ -218,7 +218,7 @@ const dataClientWithRefresh = new DataClient({
218
218
 
219
219
  **First time?** You'll need Keycloak and Miso Controller running.
220
220
 
221
- Use the [AI Fabrix Builder](https://github.com/esystemsdev/aifabrix-builder/blob/main/docs/QUICK-START.md):
221
+ Use the [AI Fabrix Builder](https://github.com/esystemsdev/aifabrix-builder) (see repository docs for Quick Start):
222
222
 
223
223
  ```bash
224
224
  # Start infrastructure (Postgres, Redis)
@@ -235,7 +235,7 @@ aifabrix build miso-controller
235
235
  aifabrix run miso-controller
236
236
  ```
237
237
 
238
- → [Infrastructure Guide](https://github.com/esystemsdev/aifabrix-builder/blob/main/docs/INFRASTRUCTURE.md)
238
+ → [Infrastructure Guide](https://github.com/esystemsdev/aifabrix-builder) (see repository docs)
239
239
 
240
240
  **Already have Keycloak and Controller?** Use the Quick Start above.
241
241
 
@@ -297,7 +297,7 @@ if (isAdmin) {
297
297
  **Pro tip:** Without Redis, checks go to the controller. Add Redis to cache role lookups (15-minute default TTL).
298
298
 
299
299
  → [Complete RBAC example](examples/step-4-rbac.ts)
300
- → [AI Fabrix Builder Quick Start](https://github.com/esystemsdev/aifabrix-builder/blob/main/docs/QUICK-START.md)
300
+ → [AI Fabrix Builder](https://github.com/esystemsdev/aifabrix-builder) (Quick Start in repository docs)
301
301
 
302
302
  ---
303
303
 
@@ -353,8 +353,7 @@ const logContext = extractLoggingContext({
353
353
 
354
354
  await client.log
355
355
  .withIndexedContext(logContext)
356
- .addCorrelation(correlationId)
357
- .addUser(userId)
356
+ .withContext({ correlationId, userId })
358
357
  .error('Sync failed');
359
358
  ```
360
359
 
@@ -377,7 +376,7 @@ client.log.on('log', (logEntry: LogEntry) => {
377
376
 
378
377
  → [Complete logging example](examples/step-5-logging.ts)
379
378
  → [Event emission mode example](examples/event-emission-mode.example.ts)
380
- → [Logging Reference](docs/api-reference.md#logger-service)
379
+ → [Logging Reference](docs/reference-services.md#logging-methods)
381
380
  → [Event Emission Mode Guide](docs/configuration.md#event-emission-mode)
382
381
 
383
382
  ---
@@ -533,8 +532,8 @@ ENCRYPTION_KEY=your-32-byte-encryption-key
533
532
  ```
534
533
 
535
534
  → [Complete encryption & caching example](examples/step-7-encryption-cache.ts)
536
- → [API Reference](docs/api-reference.md#encryption-methods)
537
- → [Cache Methods](docs/api-reference.md#cache-methods)
535
+ → [API Reference](docs/reference-services.md#encryption-methods)
536
+ → [Cache Methods](docs/reference-services.md#cache-methods)
538
537
 
539
538
  ---
540
539
 
@@ -591,10 +590,10 @@ const response = createPaginatedListResponse(
591
590
 
592
591
  **Pro tip:** These utilities are business-logic-free and reusable across applications. Perfect for building query strings, parsing API responses, and testing with mocks. Designed following enterprise best practices for maintainability and compliance.
593
592
 
594
- → [Complete pagination example](docs/examples.md#pagination)
595
- → [Complete filter example](docs/examples.md#filtering)
596
- → [Complete sort example](docs/examples.md#sorting)
597
- → [API Reference](docs/api-reference.md#pagination-utilities)
593
+ → [Complete pagination example](docs/examples/utilities.md#pagination)
594
+ → [Complete filter example](docs/examples/utilities.md#filtering)
595
+ → [Complete sort example](docs/examples/utilities.md#sorting)
596
+ → [API Reference](docs/reference-utilities.md#pagination-utilities)
598
597
 
599
598
  ---
600
599
 
@@ -798,7 +797,7 @@ app.get('/users', (req, res) => {
798
797
  **Note:** For large datasets, always sort at the database level. Use `applySorting()` only for small in-memory datasets or client-side sorting.
799
798
 
800
799
  → [Complete Express examples](examples/)
801
- → [API Reference](docs/api-reference.md#express-utilities)
800
+ → [API Reference](docs/reference-utilities.md#express-utilities)
802
801
 
803
802
  ---
804
803
 
@@ -853,8 +852,8 @@ MISO_API_KEY=optional-api-key
853
852
 
854
853
  **Backward Compatibility:** All existing code continues to work without changes. If no strategy is specified, defaults to `['bearer', 'client-token']` (existing behavior).
855
854
 
856
- → [Complete authentication strategy example](docs/examples.md#authentication-strategy)
857
- → [API Reference](docs/api-reference.md#authentication-strategy)
855
+ → [Complete authentication strategy example](docs/reference-authentication.md#authentication-strategy)
856
+ → [API Reference](docs/reference-authentication.md#authentication-strategy)
858
857
 
859
858
  ---
860
859
 
@@ -897,7 +896,7 @@ interface AuthStrategy {
897
896
  - **[Getting Started](docs/getting-started.md)** - Detailed setup guide
898
897
  - **[API Reference](docs/api-reference.md)** - Complete API documentation
899
898
  - **[Configuration](docs/configuration.md)** - Configuration options
900
- - **[Examples](docs/examples.md)** - Framework-specific examples
899
+ - **[Examples](docs/examples/README.md)** - Framework-specific examples
901
900
  - **[Troubleshooting](docs/troubleshooting.md)** - Common issues and solutions
902
901
 
903
902
  ---
@@ -912,7 +911,7 @@ The SDK consists of five core services:
912
911
  - **LoggerService** - Centralized logging with API key authentication
913
912
  - **RedisService** - Caching and queue management (optional)
914
913
 
915
- → [Architecture Details](docs/api-reference.md#architecture)
914
+ → [Architecture Details](docs/api-reference.md#sdk-structure)
916
915
 
917
916
  ---
918
917
 
@@ -940,7 +939,7 @@ The SDK consists of five core services:
940
939
 
941
940
  4. **Start development** and then deploy to Docker or Azure.
942
941
 
943
- → [Full Quick Start Guide](https://github.com/esystemsdev/aifabrix-builder/blob/main/docs/QUICK-START.md)
942
+ → [Full Quick Start Guide](https://github.com/esystemsdev/aifabrix-builder) (see repository docs)
944
943
 
945
944
  ---
946
945
 
@@ -948,10 +947,10 @@ The SDK consists of five core services:
948
947
 
949
948
  ### Learn More
950
949
 
951
- - [Express.js Middleware](docs/examples.md#expressjs-middleware) - Protect API routes
952
- - [React Authentication](docs/examples.md#react-authentication) - Frontend auth
953
- - [NestJS Guards](docs/examples.md#nestjs-guards) - Decorator-based auth
954
- - [Error Handling](docs/examples.md#error-handling) - Best practices
950
+ - [Express.js Middleware](docs/examples/express-middleware.md) - Protect API routes
951
+ - [React Authentication](docs/examples/react-authentication.md) - Frontend auth
952
+ - [NestJS Guards](docs/reference-authentication.md#nestjs-guards) - Decorator-based auth
953
+ - [Error Handling](docs/examples/error-handling.md) - Best practices
955
954
 
956
955
  ### Common Tasks
957
956
 
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Applications API client
3
+ * Handles application status and URLs endpoints (server-side)
4
+ */
5
+ import { HttpClient } from '../utils/http-client';
6
+ import { AuthStrategy } from '../types/config.types';
7
+ import { UpdateSelfStatusRequest, UpdateSelfStatusResponse, ApplicationStatusResponse } from './types/applications.types';
8
+ /**
9
+ * Applications API class
10
+ * Handles application status update and fetch endpoints
11
+ */
12
+ export declare class ApplicationsApi {
13
+ private httpClient;
14
+ private static readonly SELF_STATUS_ENDPOINT;
15
+ private static readonly APPLICATION_STATUS_ENDPOINT;
16
+ constructor(httpClient: HttpClient);
17
+ /**
18
+ * Replace path parameters in endpoint template
19
+ */
20
+ private buildPath;
21
+ /**
22
+ * Update the current application's status and URLs
23
+ * Uses client credentials (x-client-token) when no authStrategy provided
24
+ *
25
+ * @param envKey - Environment key
26
+ * @param body - Update request body (status, url, internalUrl, port)
27
+ * @param authStrategy - Optional authentication strategy override
28
+ * @returns Update response with success and optional application data
29
+ */
30
+ updateSelfStatus(envKey: string, body: UpdateSelfStatusRequest, authStrategy?: AuthStrategy): Promise<UpdateSelfStatusResponse>;
31
+ /**
32
+ * Get any application's status and URLs (without configuration)
33
+ * Uses client credentials when no authStrategy provided
34
+ *
35
+ * @param envKey - Environment key
36
+ * @param appKey - Application key
37
+ * @param authStrategy - Optional authentication strategy override
38
+ * @returns Application status response with metadata
39
+ */
40
+ getApplicationStatus(envKey: string, appKey: string, authStrategy?: AuthStrategy): Promise<ApplicationStatusResponse>;
41
+ }
42
+ //# sourceMappingURL=applications.api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applications.api.d.ts","sourceRoot":"","sources":["../../src/api/applications.api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,4BAA4B,CAAC;AAIpC;;;GAGG;AACH,qBAAa,eAAe;IAOd,OAAO,CAAC,UAAU;IAL9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CACc;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CACU;gBAEzC,UAAU,EAAE,UAAU;IAE1C;;OAEG;IACH,OAAO,CAAC,SAAS;IAWjB;;;;;;;;OAQG;IACG,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,uBAAuB,EAC7B,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,wBAAwB,CAAC;IAuCpC;;;;;;;;OAQG;IACG,oBAAoB,CACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,yBAAyB,CAAC;CAoCtC"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ /**
3
+ * Applications API client
4
+ * Handles application status and URLs endpoints (server-side)
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ApplicationsApi = void 0;
8
+ const error_extractor_1 = require("../utils/error-extractor");
9
+ const console_logger_1 = require("../utils/console-logger");
10
+ /**
11
+ * Applications API class
12
+ * Handles application status update and fetch endpoints
13
+ */
14
+ class ApplicationsApi {
15
+ constructor(httpClient) {
16
+ this.httpClient = httpClient;
17
+ }
18
+ /**
19
+ * Replace path parameters in endpoint template
20
+ */
21
+ buildPath(template, params) {
22
+ let path = template.replace(':envKey', params.envKey);
23
+ if (params.appKey !== undefined) {
24
+ path = path.replace(':appKey', params.appKey);
25
+ }
26
+ return path;
27
+ }
28
+ /**
29
+ * Update the current application's status and URLs
30
+ * Uses client credentials (x-client-token) when no authStrategy provided
31
+ *
32
+ * @param envKey - Environment key
33
+ * @param body - Update request body (status, url, internalUrl, port)
34
+ * @param authStrategy - Optional authentication strategy override
35
+ * @returns Update response with success and optional application data
36
+ */
37
+ async updateSelfStatus(envKey, body, authStrategy) {
38
+ const path = this.buildPath(ApplicationsApi.SELF_STATUS_ENDPOINT, { envKey });
39
+ try {
40
+ if (authStrategy?.bearerToken) {
41
+ return await this.httpClient.authenticatedRequest('POST', path, authStrategy.bearerToken, body, undefined, authStrategy);
42
+ }
43
+ if (authStrategy) {
44
+ return await this.httpClient.requestWithAuthStrategy('POST', path, authStrategy, body);
45
+ }
46
+ return await this.httpClient.request('POST', path, body);
47
+ }
48
+ catch (error) {
49
+ const errorInfo = (0, error_extractor_1.extractErrorInfo)(error, {
50
+ endpoint: path,
51
+ method: 'POST',
52
+ });
53
+ (0, console_logger_1.logErrorWithContext)(errorInfo, '[ApplicationsApi]');
54
+ throw error;
55
+ }
56
+ }
57
+ /**
58
+ * Get any application's status and URLs (without configuration)
59
+ * Uses client credentials when no authStrategy provided
60
+ *
61
+ * @param envKey - Environment key
62
+ * @param appKey - Application key
63
+ * @param authStrategy - Optional authentication strategy override
64
+ * @returns Application status response with metadata
65
+ */
66
+ async getApplicationStatus(envKey, appKey, authStrategy) {
67
+ const path = this.buildPath(ApplicationsApi.APPLICATION_STATUS_ENDPOINT, { envKey, appKey });
68
+ try {
69
+ if (authStrategy?.bearerToken) {
70
+ return await this.httpClient.authenticatedRequest('GET', path, authStrategy.bearerToken, undefined, undefined, authStrategy);
71
+ }
72
+ if (authStrategy) {
73
+ return await this.httpClient.requestWithAuthStrategy('GET', path, authStrategy);
74
+ }
75
+ return await this.httpClient.request('GET', path);
76
+ }
77
+ catch (error) {
78
+ const errorInfo = (0, error_extractor_1.extractErrorInfo)(error, {
79
+ endpoint: path,
80
+ method: 'GET',
81
+ });
82
+ (0, console_logger_1.logErrorWithContext)(errorInfo, '[ApplicationsApi]');
83
+ throw error;
84
+ }
85
+ }
86
+ }
87
+ exports.ApplicationsApi = ApplicationsApi;
88
+ // Centralize endpoint URLs as constants (align with controller plan 138)
89
+ ApplicationsApi.SELF_STATUS_ENDPOINT = '/api/v1/environments/:envKey/applications/self/status';
90
+ ApplicationsApi.APPLICATION_STATUS_ENDPOINT = '/api/v1/environments/:envKey/applications/:appKey/status';
91
+ //# sourceMappingURL=applications.api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applications.api.js","sourceRoot":"","sources":["../../src/api/applications.api.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { RolesApi } from './roles.api';
9
9
  import { PermissionsApi } from './permissions.api';
10
10
  import { LogsApi } from './logs.api';
11
11
  import { EncryptionApi } from './encryption.api';
12
+ import { ApplicationsApi } from './applications.api';
12
13
  /**
13
14
  * API Client class
14
15
  * Wraps HttpClient and provides domain-specific API interfaces
@@ -35,6 +36,10 @@ export declare class ApiClient {
35
36
  * Encryption API - Security parameter encryption/decryption
36
37
  */
37
38
  readonly encryption: EncryptionApi;
39
+ /**
40
+ * Applications API - Application status and URLs (server-side)
41
+ */
42
+ readonly applications: ApplicationsApi;
38
43
  /**
39
44
  * Create API client instance
40
45
  * @param httpClient - HttpClient instance to wrap
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;;GAIG;AACH,qBAAa,SAAS;IACpB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IAEnC;;;OAGG;gBACS,UAAU,EAAE,UAAU;CAOnC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;GAIG;AACH,qBAAa,SAAS;IACpB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IAEvC;;;OAGG;gBACS,UAAU,EAAE,UAAU;CAQnC"}
package/dist/api/index.js CHANGED
@@ -11,6 +11,7 @@ const roles_api_1 = require("./roles.api");
11
11
  const permissions_api_1 = require("./permissions.api");
12
12
  const logs_api_1 = require("./logs.api");
13
13
  const encryption_api_1 = require("./encryption.api");
14
+ const applications_api_1 = require("./applications.api");
14
15
  /**
15
16
  * API Client class
16
17
  * Wraps HttpClient and provides domain-specific API interfaces
@@ -27,6 +28,7 @@ class ApiClient {
27
28
  this.permissions = new permissions_api_1.PermissionsApi(httpClient);
28
29
  this.logs = new logs_api_1.LogsApi(httpClient);
29
30
  this.encryption = new encryption_api_1.EncryptionApi(httpClient);
31
+ this.applications = new applications_api_1.ApplicationsApi(httpClient);
30
32
  }
31
33
  }
32
34
  exports.ApiClient = ApiClient;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,yCAAqC;AACrC,2CAAuC;AACvC,uDAAmD;AACnD,yCAAqC;AACrC,qDAAiD;AAEjD;;;;GAIG;AACH,MAAa,SAAS;IA0BpB;;;OAGG;IACH,YAAY,UAAsB;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,kBAAO,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,oBAAQ,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,gCAAc,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,kBAAO,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,8BAAa,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;CACF;AArCD,8BAqCC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,yCAAqC;AACrC,2CAAuC;AACvC,uDAAmD;AACnD,yCAAqC;AACrC,qDAAiD;AACjD,yDAAqD;AAErD;;;;GAIG;AACH,MAAa,SAAS;IA+BpB;;;OAGG;IACH,YAAY,UAAsB;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,kBAAO,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,oBAAQ,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,gCAAc,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,kBAAO,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,8BAAa,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,kCAAe,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;CACF;AA3CD,8BA2CC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Application status and URLs API types
3
+ * Server-side interfaces for updating and fetching application status
4
+ */
5
+ /**
6
+ * Request body for updating the current application's status and URLs
7
+ * All fields optional; at least one typically sent
8
+ */
9
+ export interface UpdateSelfStatusRequest {
10
+ /** Application status (e.g. active, inactive) */
11
+ status?: string;
12
+ /** Public URL of the application */
13
+ url?: string;
14
+ /** Internal URL of the application */
15
+ internalUrl?: string;
16
+ /** Port number (1-65535) */
17
+ port?: number;
18
+ }
19
+ /**
20
+ * Response from updating the current application's status
21
+ */
22
+ export interface UpdateSelfStatusResponse {
23
+ /** Whether the update succeeded */
24
+ success?: boolean;
25
+ /** Updated application data (when returned by controller) */
26
+ application?: ApplicationStatusResponse;
27
+ /** Optional message */
28
+ message?: string;
29
+ }
30
+ /**
31
+ * Application status and metadata (without configuration)
32
+ * Used for both update response and get status response
33
+ */
34
+ export interface ApplicationStatusResponse {
35
+ /** Application ID */
36
+ id?: string;
37
+ /** Application key */
38
+ key?: string;
39
+ /** Display name */
40
+ displayName?: string;
41
+ /** Public URL */
42
+ url?: string;
43
+ /** Internal URL */
44
+ internalUrl?: string;
45
+ /** Port number */
46
+ port?: number;
47
+ /** Application status */
48
+ status?: string;
49
+ /** Runtime status */
50
+ runtimeStatus?: string;
51
+ /** Environment ID or reference */
52
+ environmentId?: string;
53
+ /** Creation timestamp */
54
+ createdAt?: string;
55
+ /** Last update timestamp */
56
+ updatedAt?: string;
57
+ }
58
+ //# sourceMappingURL=applications.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applications.types.d.ts","sourceRoot":"","sources":["../../../src/api/types/applications.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,qBAAqB;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,sBAAsB;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * Application status and URLs API types
4
+ * Server-side interfaces for updating and fetching application status
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=applications.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applications.types.js","sourceRoot":"","sources":["../../../src/api/types/applications.types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -14,7 +14,7 @@ export interface EncryptRequest {
14
14
  plaintext: string;
15
15
  /** Name identifier for the parameter (alphanumeric, dots, underscores, hyphens, 1-128 chars) */
16
16
  parameterName: string;
17
- /** Encryption key for server-side validation (from MISO_ENCRYPTION_KEY) */
17
+ /** Encryption key for server-side validation (from ENCRYPTION_KEY) */
18
18
  encryptionKey: string;
19
19
  }
20
20
  /**
@@ -34,7 +34,7 @@ export interface DecryptRequest {
34
34
  value: string;
35
35
  /** Name identifier for the parameter (must match encryption) */
36
36
  parameterName: string;
37
- /** Encryption key for server-side validation (from MISO_ENCRYPTION_KEY) */
37
+ /** Encryption key for server-side validation (from ENCRYPTION_KEY) */
38
38
  encryptionKey: string;
39
39
  }
40
40
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"encryption.types.d.ts","sourceRoot":"","sources":["../../../src/api/types/encryption.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,OAAO,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,gGAAgG;IAChG,aAAa,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,aAAa,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"encryption.types.d.ts","sourceRoot":"","sources":["../../../src/api/types/encryption.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,OAAO,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,gGAAgG;IAChG,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Provides zero-config server-side setup for DataClient initialization
6
6
  */
7
- import { Request, Response } from "express";
7
+ import { RequestHandler } from "express";
8
8
  import { MisoClient } from "../index";
9
9
  /**
10
10
  * DataClient configuration returned by client-token endpoint
@@ -60,5 +60,5 @@ export declare function hasConfig(response: ClientTokenResponse): response is Cl
60
60
  * @param options - Optional configuration
61
61
  * @returns Express route handler function
62
62
  */
63
- export declare function createClientTokenEndpoint(misoClient: MisoClient, options?: ClientTokenEndpointOptions): (req: Request, res: Response) => Promise<void>;
63
+ export declare function createClientTokenEndpoint(misoClient: MisoClient, options?: ClientTokenEndpointOptions): RequestHandler;
64
64
  //# sourceMappingURL=client-token-endpoint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-token-endpoint.d.ts","sourceRoot":"","sources":["../../src/express/client-token-endpoint.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAKtC;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAEhB,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IAEtB,8DAA8D;IAC9D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IAEjB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IAEd,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAElB,qEAAqE;IACrE,MAAM,CAAC,EAAE,wBAAwB,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uEAAuE;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,QAAQ,IAAI,mBAAmB,GAAG;IAAE,MAAM,EAAE,wBAAwB,CAAA;CAAE,CAE/H;AAsED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,0BAA0B,GACnC,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CA0ChD"}
1
+ {"version":3,"file":"client-token-endpoint.d.ts","sourceRoot":"","sources":["../../src/express/client-token-endpoint.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAqB,cAAc,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAMtC;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAEhB,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IAEtB,8DAA8D;IAC9D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IAEjB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IAEd,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAElB,qEAAqE;IACrE,MAAM,CAAC,EAAE,wBAAwB,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uEAAuE;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,QAAQ,IAAI,mBAAmB,GAAG;IAAE,MAAM,EAAE,wBAAwB,CAAA;CAAE,CAE/H;AAsED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,0BAA0B,GACnC,cAAc,CAuEhB"}
@@ -10,6 +10,7 @@ exports.hasConfig = hasConfig;
10
10
  exports.createClientTokenEndpoint = createClientTokenEndpoint;
11
11
  const environment_token_1 = require("../utils/environment-token");
12
12
  const controller_url_resolver_1 = require("../utils/controller-url-resolver");
13
+ const async_handler_1 = require("./async-handler");
13
14
  const error_response_1 = require("./error-response");
14
15
  /**
15
16
  * Type guard to check if response includes config
@@ -104,7 +105,7 @@ function buildConfigResponse(req, misoClient, clientTokenUri) {
104
105
  */
105
106
  function createClientTokenEndpoint(misoClient, options) {
106
107
  const opts = { clientTokenUri: "/api/v1/auth/client-token", expiresIn: 1800, includeConfig: true, ...options };
107
- return async (req, res) => {
108
+ const handler = async (req, res) => {
108
109
  const isResponseSent = () => res.headersSent || res.writableEnded;
109
110
  try {
110
111
  if (!misoClient.isInitialized()) {
@@ -113,16 +114,30 @@ function createClientTokenEndpoint(misoClient, options) {
113
114
  return;
114
115
  }
115
116
  // Fetch token with timeout
116
- const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error("Request timeout: Failed to get environment token within 5 seconds")), 5000));
117
+ let timeoutId = null;
118
+ const timeoutPromise = new Promise((_, reject) => {
119
+ timeoutId = setTimeout(() => reject(new Error("Request timeout: Failed to get environment token within 5 seconds")), 5000);
120
+ });
117
121
  let token;
118
122
  try {
119
- token = await Promise.race([(0, environment_token_1.getEnvironmentToken)(misoClient, req), timeoutPromise]);
123
+ token = await Promise.race([
124
+ (0, environment_token_1.getEnvironmentToken)(misoClient, req),
125
+ timeoutPromise,
126
+ ]);
120
127
  }
121
128
  catch (tokenError) {
122
129
  if (!isResponseSent())
123
130
  handleTokenError(tokenError, req, res, misoClient);
124
131
  return;
125
132
  }
133
+ finally {
134
+ if (timeoutId) {
135
+ clearTimeout(timeoutId);
136
+ }
137
+ }
138
+ if (!token) {
139
+ throw new Error("Request timeout: Failed to get environment token");
140
+ }
126
141
  // Build response
127
142
  const response = { token, expiresIn: opts.expiresIn };
128
143
  if (opts.includeConfig) {
@@ -152,5 +167,8 @@ function createClientTokenEndpoint(misoClient, options) {
152
167
  (0, error_response_1.sendErrorResponse)(res, (0, error_response_1.createErrorResponse)(errorMessage, 500, req));
153
168
  }
154
169
  };
170
+ return (0, async_handler_1.asyncHandler)(async (req, res) => {
171
+ await handler(req, res);
172
+ }, "createClientTokenEndpoint");
155
173
  }
156
174
  //# sourceMappingURL=client-token-endpoint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-token-endpoint.js","sourceRoot":"","sources":["../../src/express/client-token-endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-token-endpoint.js","sourceRoot":"","sources":["../../src/express/client-token-endpoint.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,13 @@ export interface ErrorLogger {
15
15
  * @param logger - Custom logger implementing ErrorLogger interface, or null to use stderr
16
16
  */
17
17
  export declare function setErrorLogger(logger: ErrorLogger | null): void;
18
- /** Generic route error handler - logs error and sends RFC 7807 compliant response */
18
+ /**
19
+ * Generic route error handler - logs error and sends RFC 7807 compliant response.
20
+ * @param error - Error object or unknown error.
21
+ * @param req - Express request object.
22
+ * @param res - Express response object.
23
+ * @param operation - Optional operation name for logging.
24
+ * @returns Promise that resolves when response is sent.
25
+ */
19
26
  export declare function handleRouteError(error: unknown, req: Request, res: Response, operation?: string): Promise<void>;
20
27
  //# sourceMappingURL=error-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/express/error-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAW5C;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACnE;AAKD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAE/D;AAqGD,qFAAqF;AACrF,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAarH"}
1
+ {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/express/error-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAW5C;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACnE;AAKD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAE/D;AAqGD;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAarH"}
@@ -102,7 +102,14 @@ async function logError(error, errorInfo, logMessage, req, correlationId, status
102
102
  process.stderr.write(`[ERROR] Stack: ${error.stack}\n`);
103
103
  }
104
104
  }
105
- /** Generic route error handler - logs error and sends RFC 7807 compliant response */
105
+ /**
106
+ * Generic route error handler - logs error and sends RFC 7807 compliant response.
107
+ * @param error - Error object or unknown error.
108
+ * @param req - Express request object.
109
+ * @param res - Express response object.
110
+ * @param operation - Optional operation name for logging.
111
+ * @returns Promise that resolves when response is sent.
112
+ */
106
113
  async function handleRouteError(error, req, res, operation) {
107
114
  const requestContext = (0, request_context_1.extractRequestContext)(req);
108
115
  const correlationId = req.correlationId || requestContext.correlationId || generateCorrelationId();
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/express/error-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/express/error-handler.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA4BH,wCAEC;AA6GD,4CAaC;AArJD,+CAAyC;AACzC,qDAI0B;AAC1B,8DAA4D;AAC5D,4DAA8D;AAC9D,8DAAiE;AAUjE,+CAA+C;AAC/C,IAAI,iBAAiB,GAAuB,IAAI,CAAC;AAEjD;;;GAGG;AACH,SAAgB,cAAc,CAAC,MAA0B;IACvD,iBAAiB,GAAG,MAAM,CAAC;AAC7B,CAAC;AAED,+CAA+C;AAC/C,MAAM,gBAAgB,GAA2B,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAExF,oDAAoD;AACpD,MAAM,mBAAmB,GAA+C;IACtE,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE;IACtC,EAAE,OAAO,EAAE,2BAA2B,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,GAAG,EAAE;IAC/C,EAAE,OAAO,EAAE,8BAA8B,EAAE,MAAM,EAAE,GAAG,EAAE;IACxD,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,GAAG,EAAE;CAClD,CAAC;AAEF,gDAAgD;AAChD,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,KAAK,YAAY,sBAAQ;QAAE,OAAO,KAAK,CAAC,UAAU,CAAC;IAEvD,gBAAgB;IAChB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,gBAAgB,CAAE,KAA0B,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC5B,CAAC;IAED,2BAA2B;IAC3B,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACzE,KAAK,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,mBAAmB,EAAE,CAAC;QACtD,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC;IACvC,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,8BAA8B,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB;IAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,OAAO,WAAW,SAAS,IAAI,MAAM,EAAE,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,SAAS,4BAA4B,CACnC,KAAc,EACd,UAAkB,EAClB,OAAiB,EACjB,aAAsB;IAEtB,IAAI,gBAAgB,CAAC;IACrB,IAAI,KAAK,YAAY,sBAAQ,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACxD,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;IAC5C,CAAC;IAED,OAAO,IAAA,oCAAmB,EACxB,KAAK,EACL,UAAU,EACV,OAAO,EACP,aAAa,EACb,gBAAgB,CACjB,CAAC;AACJ,CAAC;AAED,8CAA8C;AAC9C,KAAK,UAAU,QAAQ,CAAC,KAAc,EAAE,SAA8C,EAAE,UAAkB,EAAE,GAAY,EAAE,aAAqB,EAAE,UAAkB,EAAE,aAAqB;IACxL,IAAA,oCAAmB,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAE5C,IAAI,iBAAiB,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,QAAQ,CAAC,UAAU,EAAE;gBAC3C,GAAG,EAAE,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,aAAa,EAAE,SAAS,EAAE,aAAa;gBACtF,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM;gBACxF,YAAY,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,UAAU;aAC7H,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,QAAQ,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;YACzE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,UAAU,IAAI,CAAC,CAAC;QAChD,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IACrG,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,gBAAgB,CAAC,KAAc,EAAE,GAAY,EAAE,GAAa,EAAE,SAAkB;IACpG,MAAM,cAAc,GAAG,IAAA,uCAAqB,EAAC,GAAG,CAAC,CAAC;IAClD,MAAM,aAAa,GAAI,GAA4C,CAAC,aAAa,IAAI,cAAc,CAAC,aAAa,IAAI,qBAAqB,EAAE,CAAC;IAC7I,MAAM,UAAU,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,SAAS,IAAI,mBAAmB,CAAC;IAEvD,MAAM,SAAS,GAAG,IAAA,kCAAgB,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IACxH,MAAM,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,aAAa,YAAY,YAAY,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IAE5H,MAAM,aAAa,GAAG,4BAA4B,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;IAC1F,IAAI,KAAK,YAAY,sBAAQ,IAAI,KAAK,CAAC,aAAa;QAAE,aAAa,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IACxG,IAAA,kCAAiB,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC;AACxC,CAAC"}