@empire-builder-kit/runtime 0.0.1-alpha.8 → 1.0.0-beta.4

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 (68) hide show
  1. package/LICENSE +201 -21
  2. package/NOTICE +5 -0
  3. package/README.md +14 -23
  4. package/package.json +53 -97
  5. package/src/auth-backend.d.ts +44 -0
  6. package/src/auth-backend.js +158 -0
  7. package/src/auth-backend.js.map +1 -0
  8. package/src/auth-session.d.ts +175 -0
  9. package/src/auth-session.js +181 -0
  10. package/src/auth-session.js.map +1 -0
  11. package/src/auth-web.d.ts +79 -0
  12. package/src/auth-web.js +153 -0
  13. package/src/auth-web.js.map +1 -0
  14. package/src/auth.d.ts +143 -0
  15. package/src/auth.js +233 -0
  16. package/src/auth.js.map +1 -0
  17. package/{dist → src}/config.d.ts +0 -1
  18. package/{dist → src}/config.js +9 -21
  19. package/src/config.js.map +1 -0
  20. package/src/events.d.ts +74 -0
  21. package/src/events.js +149 -0
  22. package/src/events.js.map +1 -0
  23. package/{dist → src}/frontend.d.ts +1 -2
  24. package/src/frontend.js +62 -0
  25. package/src/frontend.js.map +1 -0
  26. package/src/hosts.d.ts +9 -0
  27. package/src/hosts.js +38 -0
  28. package/src/hosts.js.map +1 -0
  29. package/src/index.d.ts +15 -0
  30. package/src/index.js +30 -0
  31. package/src/index.js.map +1 -0
  32. package/src/lambda.d.ts +45 -0
  33. package/src/lambda.js +117 -0
  34. package/src/lambda.js.map +1 -0
  35. package/{dist → src}/logging.d.ts +0 -1
  36. package/src/logging.js +113 -0
  37. package/src/logging.js.map +1 -0
  38. package/{dist → src}/observability.d.ts +18 -1
  39. package/{dist → src}/observability.js +72 -62
  40. package/src/observability.js.map +1 -0
  41. package/{dist → src}/request-context.d.ts +12 -2
  42. package/src/request-context.js +68 -0
  43. package/src/request-context.js.map +1 -0
  44. package/{dist → src}/response.d.ts +0 -1
  45. package/src/response.js +66 -0
  46. package/src/response.js.map +1 -0
  47. package/dist/auth-backend.d.ts +0 -18
  48. package/dist/auth-backend.d.ts.map +0 -1
  49. package/dist/auth-backend.js +0 -57
  50. package/dist/auth-web.d.ts +0 -18
  51. package/dist/auth-web.d.ts.map +0 -1
  52. package/dist/auth-web.js +0 -32
  53. package/dist/auth.d.ts +0 -68
  54. package/dist/auth.d.ts.map +0 -1
  55. package/dist/auth.js +0 -107
  56. package/dist/config.d.ts.map +0 -1
  57. package/dist/frontend.d.ts.map +0 -1
  58. package/dist/frontend.js +0 -64
  59. package/dist/index.d.ts +0 -12
  60. package/dist/index.d.ts.map +0 -1
  61. package/dist/index.js +0 -23
  62. package/dist/logging.d.ts.map +0 -1
  63. package/dist/logging.js +0 -129
  64. package/dist/observability.d.ts.map +0 -1
  65. package/dist/request-context.d.ts.map +0 -1
  66. package/dist/request-context.js +0 -58
  67. package/dist/response.d.ts.map +0 -1
  68. package/dist/response.js +0 -66
@@ -1,18 +0,0 @@
1
- import { BetterAuthConfig } from './auth';
2
- /**
3
- * Creates Next.js middleware configuration for auth.
4
- * Validates JWT from cookies or Authorization header.
5
- */
6
- export declare function createAuthMiddlewareConfig(config: BetterAuthConfig): {
7
- verifier: import("./auth-backend").CognitoJwtVerifier;
8
- /**
9
- * Extract and verify session from a Next.js request.
10
- * Checks Authorization header first, then auth cookie.
11
- */
12
- getSession(request: {
13
- headers: {
14
- get(name: string): string | null;
15
- };
16
- }): Promise<import("./auth").AuthenticatedSession | null>;
17
- };
18
- //# sourceMappingURL=auth-web.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-web.d.ts","sourceRoot":"","sources":["../src/auth-web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAG1C;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,gBAAgB;;IAK/D;;;OAGG;wBACuB;QACxB,OAAO,EAAE;YAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC;KAC/C;EAiBJ"}
package/dist/auth-web.js DELETED
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createAuthMiddlewareConfig = createAuthMiddlewareConfig;
4
- const auth_backend_1 = require("./auth-backend");
5
- /**
6
- * Creates Next.js middleware configuration for auth.
7
- * Validates JWT from cookies or Authorization header.
8
- */
9
- function createAuthMiddlewareConfig(config) {
10
- const verifier = (0, auth_backend_1.createCognitoJwtVerifier)(config);
11
- return {
12
- verifier,
13
- /**
14
- * Extract and verify session from a Next.js request.
15
- * Checks Authorization header first, then auth cookie.
16
- */
17
- async getSession(request) {
18
- const authHeader = request.headers.get('authorization');
19
- const token = (0, auth_backend_1.extractBearerToken)(authHeader ?? undefined) ??
20
- request.headers.get('x-auth-token');
21
- if (!token) {
22
- return null;
23
- }
24
- try {
25
- return await verifier.verify(token);
26
- }
27
- catch {
28
- return null;
29
- }
30
- },
31
- };
32
- }
package/dist/auth.d.ts DELETED
@@ -1,68 +0,0 @@
1
- import type { RequestActor, RequestMetadata, RequestMetadataValue } from './request-context';
2
- export type AuthSessionStatus = 'anonymous' | 'authenticated';
3
- export interface AuthSessionSubject {
4
- displayName?: string;
5
- email?: string;
6
- id: string;
7
- permissions?: string[];
8
- roles?: string[];
9
- tenantId?: string;
10
- type: RequestActor['type'];
11
- }
12
- export interface AuthSession {
13
- expiresAt?: string;
14
- issuedAt?: string;
15
- metadata: RequestMetadata;
16
- sessionId?: string;
17
- status: AuthSessionStatus;
18
- subject?: AuthSessionSubject;
19
- }
20
- export interface AnonymousSessionInput {
21
- expiresAt?: string;
22
- issuedAt?: string;
23
- metadata?: Record<string, RequestMetadataValue | undefined>;
24
- sessionId?: string;
25
- }
26
- export interface AuthenticatedSessionInput extends AnonymousSessionInput {
27
- subject: AuthSessionSubject;
28
- }
29
- export interface AuthenticatedSession extends AuthSession {
30
- status: 'authenticated';
31
- subject: AuthSessionSubject;
32
- }
33
- export declare const authContract: {
34
- readonly exportPath: "@empire-builder-kit/runtime/auth";
35
- readonly packageName: "@empire-builder-kit/runtime";
36
- };
37
- export declare function createAnonymousSession(input?: AnonymousSessionInput): AuthSession;
38
- export declare function createAuthenticatedSession(input: AuthenticatedSessionInput): AuthenticatedSession;
39
- export declare function isAuthenticatedSession(session: AuthSession): session is AuthenticatedSession;
40
- export declare function toRequestActor(session: AuthSession): RequestActor | undefined;
41
- export declare function toSessionLogMetadata(session: AuthSession): RequestMetadata;
42
- /**
43
- * BetterAuth configuration contract.
44
- *
45
- * App groups consume auth from the core SDK. The core app group owns
46
- * the Cognito user pool and exposes these connection details so
47
- * BetterAuth can be configured against the shared pool.
48
- */
49
- export interface BetterAuthConfig {
50
- provider: 'cognito';
51
- userPoolId: string;
52
- clientId: string;
53
- issuerUrl: string;
54
- }
55
- export declare function createBetterAuthConfig(options: {
56
- userPoolId: string;
57
- clientId: string;
58
- region?: string;
59
- }): BetterAuthConfig;
60
- export declare function sessionFromCognitoToken(decoded: {
61
- sub: string;
62
- email?: string;
63
- 'cognito:username'?: string;
64
- 'cognito:groups'?: string[];
65
- exp?: number;
66
- iat?: number;
67
- }): AuthenticatedSession;
68
- //# sourceMappingURL=auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,eAAe,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,SAAS,CAAC,CAAC;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAA0B,SAAQ,qBAAqB;IACtE,OAAO,EAAE,kBAAkB,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,kBAAkB,CAAC;CAC7B;AAED,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAmCX,wBAAgB,sBAAsB,CACpC,KAAK,GAAE,qBAA0B,GAChC,WAAW,CAQb;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,yBAAyB,GAC/B,oBAAoB,CAMtB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,WAAW,GACnB,OAAO,IAAI,oBAAoB,CAEjC;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS,CAS7E;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,eAAe,CAe1E;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,gBAAgB,CAQnB;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,oBAAoB,CAgBvB"}
package/dist/auth.js DELETED
@@ -1,107 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.authContract = void 0;
4
- exports.createAnonymousSession = createAnonymousSession;
5
- exports.createAuthenticatedSession = createAuthenticatedSession;
6
- exports.isAuthenticatedSession = isAuthenticatedSession;
7
- exports.toRequestActor = toRequestActor;
8
- exports.toSessionLogMetadata = toSessionLogMetadata;
9
- exports.createBetterAuthConfig = createBetterAuthConfig;
10
- exports.sessionFromCognitoToken = sessionFromCognitoToken;
11
- exports.authContract = {
12
- exportPath: '@empire-builder-kit/runtime/auth',
13
- packageName: '@empire-builder-kit/runtime',
14
- };
15
- function normalizeMetadata(metadata) {
16
- const entries = Object.entries(metadata ?? {}).filter(([, value]) => value !== undefined);
17
- return Object.fromEntries(entries);
18
- }
19
- function normalizeList(values) {
20
- const normalized = (values ?? [])
21
- .map((value) => value.trim())
22
- .filter(Boolean);
23
- if (normalized.length === 0) {
24
- return undefined;
25
- }
26
- return [...new Set(normalized)];
27
- }
28
- function normalizeSubject(subject) {
29
- return {
30
- ...subject,
31
- displayName: subject.displayName?.trim() || undefined,
32
- email: subject.email?.trim() || undefined,
33
- permissions: normalizeList(subject.permissions),
34
- roles: normalizeList(subject.roles),
35
- tenantId: subject.tenantId?.trim() || undefined,
36
- };
37
- }
38
- function createAnonymousSession(input = {}) {
39
- return {
40
- expiresAt: input.expiresAt,
41
- issuedAt: input.issuedAt,
42
- metadata: normalizeMetadata(input.metadata),
43
- sessionId: input.sessionId,
44
- status: 'anonymous',
45
- };
46
- }
47
- function createAuthenticatedSession(input) {
48
- return {
49
- ...createAnonymousSession(input),
50
- status: 'authenticated',
51
- subject: normalizeSubject(input.subject),
52
- };
53
- }
54
- function isAuthenticatedSession(session) {
55
- return session.status === 'authenticated' && session.subject !== undefined;
56
- }
57
- function toRequestActor(session) {
58
- if (!isAuthenticatedSession(session)) {
59
- return undefined;
60
- }
61
- return {
62
- id: session.subject.id,
63
- type: session.subject.type,
64
- };
65
- }
66
- function toSessionLogMetadata(session) {
67
- return normalizeMetadata({
68
- authExpiresAt: session.expiresAt,
69
- authIssuedAt: session.issuedAt,
70
- authPermissions: session.subject?.permissions?.join(','),
71
- authRoles: session.subject?.roles?.join(','),
72
- authSessionId: session.sessionId,
73
- authStatus: session.status,
74
- authSubjectEmail: session.subject?.email,
75
- authSubjectId: session.subject?.id,
76
- authSubjectName: session.subject?.displayName,
77
- authSubjectType: session.subject?.type,
78
- authTenantId: session.subject?.tenantId,
79
- ...session.metadata,
80
- });
81
- }
82
- function createBetterAuthConfig(options) {
83
- const region = options.region ?? 'us-east-1';
84
- return {
85
- provider: 'cognito',
86
- userPoolId: options.userPoolId,
87
- clientId: options.clientId,
88
- issuerUrl: `https://cognito-idp.${region}.amazonaws.com/${options.userPoolId}`,
89
- };
90
- }
91
- function sessionFromCognitoToken(decoded) {
92
- return createAuthenticatedSession({
93
- subject: {
94
- id: decoded.sub,
95
- email: decoded.email,
96
- displayName: decoded['cognito:username'],
97
- roles: decoded['cognito:groups'],
98
- type: 'user',
99
- },
100
- expiresAt: decoded.exp
101
- ? new Date(decoded.exp * 1000).toISOString()
102
- : undefined,
103
- issuedAt: decoded.iat
104
- ? new Date(decoded.iat * 1000).toISOString()
105
- : undefined,
106
- });
107
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAE9D,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,KAAK,CAAC,CAAC;AAClE,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AACjE,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,YAAY,IAAI;KAC/C,GAAG,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CACrC,CAAC;AAEF,UAAU,aAAa;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,cAAc;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,WAAW,CAAC,CAAC,SAAS,MAAM;IACpC,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAYD,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;gBAEnB,MAAM,EAAE,WAAW,EAAE;CAKlC;AAwCD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAUhE;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,YAAY,EAC/C,MAAM,EAAE,CAAC,EACT,MAAM,GAAE,YAA0B,GACjC,WAAW,CAAC,CAAC,CAAC,CA4BhB;AAED,wBAAgB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,YAAY,CAAC,MAAM,CAAC,CA6BxE;AAED,wBAAgB,cAAc,CAC5B,OAAO,GAAE,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;CAClB,GACL,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,CA6BlC;AAED,wBAAgB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,YAAY,CAAC,MAAM,CAAC,CAiCxE;AAED,wBAAgB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,YAAY,CAAC,OAAO,CAAC,CAyB3E;AAED,wBAAgB,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAC9C,MAAM,EAAE,SAAS,CAAC,EAAE,EACpB,OAAO,GAAE,WAAW,CAAC,CAAC,CAAM,GAC3B,YAAY,CAAC,CAAC,CAAC,CAmBjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"frontend.d.ts","sourceRoot":"","sources":["../src/frontend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE/C,MAAM,MAAM,sBAAsB,GAC9B,UAAU,GACV,WAAW,GACX,eAAe,GACf,MAAM,CAAC;AAEX,MAAM,MAAM,wBAAwB,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEpE,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,cAAc,GAAG,QAAQ,CAAC;AAE1E,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,kCAAkC,CAAC;IAC/C,aAAa,EAAE,iBAAiB,CAAC;IACjC,OAAO,EAAE,sBAAsB,CAAC;IAChC,SAAS,EAAE,wBAAwB,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,mBAAmB,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,oBAAoB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,0BAA0B,CAAC;IACvC,OAAO,EAAE,eAAe,CAAC;CAC1B;AAED,MAAM,WAAW,2BAA2B;IAC1C,GAAG,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC,CAAC;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACjD,OAAO,EAAE,eAAe,CAAC;CAC1B;AAED,eAAO,MAAM,gBAAgB;;;CAGnB,CAAC;AAsCX,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,2BAA2B,GACjC,sBAAsB,CAkCxB"}
package/dist/frontend.js DELETED
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.frontendContract = void 0;
4
- exports.createFrontendClientContract = createFrontendClientContract;
5
- exports.frontendContract = {
6
- exportPath: '@empire-builder-kit/runtime/frontend',
7
- packageName: '@empire-builder-kit/runtime',
8
- };
9
- function trimOrFallback(value, fallback) {
10
- const normalized = value?.trim();
11
- return normalized && normalized.length > 0 ? normalized : fallback;
12
- }
13
- function defaultsForRuntime(runtime) {
14
- if (runtime === 'mobile') {
15
- return {
16
- auth: {
17
- initialStatus: 'anonymous',
18
- storage: 'secure-store',
19
- transport: 'bearer',
20
- },
21
- deployment: {
22
- mode: 'expo',
23
- publicBaseUrlEnvVar: 'EXPO_PUBLIC_API_BASE_URL',
24
- stageEnvVar: 'EXPO_PUBLIC_STAGE',
25
- },
26
- };
27
- }
28
- return {
29
- auth: {
30
- initialStatus: 'anonymous',
31
- storage: 'server',
32
- transport: 'cookie',
33
- },
34
- deployment: {
35
- mode: 'opennext',
36
- publicBaseUrlEnvVar: 'NEXT_PUBLIC_APP_URL',
37
- stageEnvVar: 'NEXT_PUBLIC_STAGE',
38
- },
39
- };
40
- }
41
- function createFrontendClientContract(input) {
42
- const runtimeDefaults = defaultsForRuntime(input.runtime);
43
- const app = trimOrFallback(input.app, 'app');
44
- return {
45
- api: {
46
- sameScopeImportPrefix: trimOrFallback(input.api?.sameScopeImportPrefix, `@${app}/`),
47
- sdkPackage: trimOrFallback(input.api?.sdkPackage, `@${app}/sdk/client`),
48
- },
49
- app,
50
- auth: {
51
- exportPath: '@empire-builder-kit/runtime/auth',
52
- initialStatus: input.auth?.initialStatus ?? runtimeDefaults.auth.initialStatus,
53
- storage: input.auth?.storage ?? runtimeDefaults.auth.storage,
54
- transport: input.auth?.transport ?? runtimeDefaults.auth.transport,
55
- },
56
- client: trimOrFallback(input.client, `${app}-${input.runtime}`),
57
- deployment: {
58
- mode: input.deployment?.mode ?? runtimeDefaults.deployment.mode,
59
- publicBaseUrlEnvVar: trimOrFallback(input.deployment?.publicBaseUrlEnvVar, runtimeDefaults.deployment.publicBaseUrlEnvVar),
60
- stageEnvVar: trimOrFallback(input.deployment?.stageEnvVar, runtimeDefaults.deployment.stageEnvVar),
61
- },
62
- runtime: input.runtime,
63
- };
64
- }
package/dist/index.d.ts DELETED
@@ -1,12 +0,0 @@
1
- export * from './auth';
2
- export * from './config';
3
- export * from './frontend';
4
- export * from './logging';
5
- export * from './observability';
6
- export * from './request-context';
7
- export * from './response';
8
- export declare const runtimePackage: {
9
- readonly exports: readonly ["@empire-builder-kit/runtime/auth", "@empire-builder-kit/runtime/config", "@empire-builder-kit/runtime/frontend", "@empire-builder-kit/runtime/request-context", "@empire-builder-kit/runtime/logging", "@empire-builder-kit/runtime/observability", "@empire-builder-kit/runtime/response"];
10
- readonly name: "@empire-builder-kit/runtime";
11
- };
12
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAE3B,eAAO,MAAM,cAAc;;;CAWjB,CAAC"}
package/dist/index.js DELETED
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.runtimePackage = void 0;
4
- const tslib_1 = require("tslib");
5
- tslib_1.__exportStar(require("./auth"), exports);
6
- tslib_1.__exportStar(require("./config"), exports);
7
- tslib_1.__exportStar(require("./frontend"), exports);
8
- tslib_1.__exportStar(require("./logging"), exports);
9
- tslib_1.__exportStar(require("./observability"), exports);
10
- tslib_1.__exportStar(require("./request-context"), exports);
11
- tslib_1.__exportStar(require("./response"), exports);
12
- exports.runtimePackage = {
13
- exports: [
14
- '@empire-builder-kit/runtime/auth',
15
- '@empire-builder-kit/runtime/config',
16
- '@empire-builder-kit/runtime/frontend',
17
- '@empire-builder-kit/runtime/request-context',
18
- '@empire-builder-kit/runtime/logging',
19
- '@empire-builder-kit/runtime/observability',
20
- '@empire-builder-kit/runtime/response',
21
- ],
22
- name: '@empire-builder-kit/runtime',
23
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"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"}
package/dist/logging.js DELETED
@@ -1,129 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loggingContract = void 0;
4
- exports.serializeError = serializeError;
5
- exports.consoleSink = consoleSink;
6
- exports.createLogger = createLogger;
7
- exports.loggingContract = {
8
- defaultFormat: 'json',
9
- exportPath: '@empire-builder-kit/runtime/logging',
10
- packageName: '@empire-builder-kit/runtime',
11
- };
12
- function mergeContext(base, overrides) {
13
- if (!base && !overrides) {
14
- return undefined;
15
- }
16
- return {
17
- actor: overrides?.actor ?? base?.actor,
18
- correlationId: overrides?.correlationId ?? base?.correlationId,
19
- metadata: {
20
- ...(base?.metadata ?? {}),
21
- ...(overrides?.metadata ?? {}),
22
- },
23
- operation: overrides?.operation ?? base?.operation,
24
- requestId: overrides?.requestId ?? base?.requestId,
25
- source: overrides?.source ?? base?.source,
26
- stage: overrides?.stage ?? base?.stage,
27
- };
28
- }
29
- function contextMetadata(context) {
30
- if (!context) {
31
- return {};
32
- }
33
- return compactObject({
34
- actorId: context.actor?.id,
35
- actorType: context.actor?.type,
36
- operation: context.operation,
37
- source: context.source,
38
- ...(context.metadata ?? {}),
39
- });
40
- }
41
- function compactObject(value) {
42
- return Object.fromEntries(Object.entries(value).filter(([, entry]) => entry !== undefined));
43
- }
44
- function safeStringify(value) {
45
- if (typeof value === 'string') {
46
- return value;
47
- }
48
- try {
49
- return JSON.stringify(value);
50
- }
51
- catch {
52
- return String(value);
53
- }
54
- }
55
- function serializeError(error) {
56
- if (error instanceof Error) {
57
- const value = error;
58
- return compactObject({
59
- code: value.code,
60
- message: value.message,
61
- name: value.name,
62
- stack: value.stack,
63
- });
64
- }
65
- return {
66
- message: safeStringify(error),
67
- name: 'UnknownError',
68
- };
69
- }
70
- function consoleSink(entry) {
71
- console.log(JSON.stringify(entry));
72
- }
73
- function createLogger(options) {
74
- const sink = options.sink ?? consoleSink;
75
- const now = options.now ?? (() => new Date());
76
- const write = (level, message, input = {}) => {
77
- const mergedContext = mergeContext(options.context, input.context);
78
- const metadata = compactObject({
79
- ...(options.metadata ?? {}),
80
- ...contextMetadata(mergedContext),
81
- ...(input.metadata ?? {}),
82
- });
83
- const entry = compactObject({
84
- app: options.app,
85
- correlationId: mergedContext?.correlationId,
86
- error: input.error === undefined ? undefined : serializeError(input.error),
87
- level,
88
- message,
89
- metadata: Object.keys(metadata).length > 0 ? metadata : undefined,
90
- requestId: mergedContext?.requestId,
91
- service: options.service,
92
- stage: mergedContext?.stage ?? options.stage,
93
- timestamp: now().toISOString(),
94
- });
95
- sink(entry);
96
- return entry;
97
- };
98
- return {
99
- child(childOptions = {}) {
100
- return createLogger({
101
- app: options.app,
102
- context: mergeContext(options.context, childOptions.context),
103
- metadata: {
104
- ...(options.metadata ?? {}),
105
- ...(childOptions.metadata ?? {}),
106
- },
107
- now,
108
- service: childOptions.service ?? options.service,
109
- sink,
110
- stage: childOptions.stage ?? options.stage,
111
- });
112
- },
113
- debug(message, input) {
114
- return write('debug', message, input);
115
- },
116
- error(message, input) {
117
- return write('error', message, input);
118
- },
119
- info(message, input) {
120
- return write('info', message, input);
121
- },
122
- log(level, message, input) {
123
- return write(level, message, input);
124
- },
125
- warn(message, input) {
126
- return write('warn', message, input);
127
- },
128
- };
129
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../src/observability.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAEnE,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,kBAAkB,EAAE,+BAA+B,CAAC;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,+BACf,SACE,kBAAkB,EAClB,IAAI,CAAC,0BAA0B,EAAE,aAAa,GAAG,OAAO,CAAC;IAC3D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,2BAA4B,SAAQ,eAAe;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,oBAAoB,CAAC;CAClC;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,SAAS,CAAC;AAErD,MAAM,MAAM,iBAAiB,GACzB,oBAAoB,GACpB,gBAAgB,GAChB,iBAAiB,GACjB,wBAAwB,CAAC;AAE7B,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,iCAAkC,SAAQ,0BAA0B;IACnF,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,UAAU,EAAE,+BAA+B,EAAE,CAAC;IAC9C,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,8BAA8B;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,+BAA+B,EAAE,CAAC;IAC9C,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAUD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAQ7D;AAED,wBAAgB,2BAA2B,CACzC,SAAS,GAAE,OAAO,CAAC,oBAAoB,CAAM,GAC5C,oBAAoB,CAOtB;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,eAAe,GACrB,eAAe,EAAE,CAmEnB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAIrE;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,0BAA0B,GAChC,+BAA+B,CAKjC;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,2BAA2B,GACjC,sBAAsB,CAkBxB;AAaD,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,0BAA0B,GAChC,eAAe,EAAE,CAyFnB;AAED,wBAAgB,uCAAuC,CACrD,KAAK,EAAE,0BAA0B,GAChC,iCAAiC,CAsBnC;AAED,wBAAgB,oCAAoC,CAClD,CAAC,SAAS,8BAA8B,EACxC,YAAY,EAAE,CAAC,GAAG,CAAC,CAEpB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-context.d.ts","sourceRoot":"","sources":["../src/request-context.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AACpE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,SAAS,CAAC,CAAC;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAYD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,mBAAmB,GACzB,cAAc,CAahB;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,cAAc,EACvB,SAAS,GAAE,OAAO,CAAC,mBAAmB,CAAM,GAC3C,cAAc,CAchB;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,WAAW,CAAC,GAC3D,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKxB;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAC/B,eAAe,CAYjB"}
@@ -1,58 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createRequestContext = createRequestContext;
4
- exports.extendRequestContext = extendRequestContext;
5
- exports.toRequestHeaders = toRequestHeaders;
6
- exports.toRequestLogMetadata = toRequestLogMetadata;
7
- const node_crypto_1 = require("node:crypto");
8
- function normalizeMetadata(metadata) {
9
- const entries = Object.entries(metadata ?? {}).filter(([, value]) => value !== undefined);
10
- return Object.fromEntries(entries);
11
- }
12
- function createRequestContext(input) {
13
- const requestId = input.requestId ?? (0, node_crypto_1.randomUUID)();
14
- return {
15
- app: input.app,
16
- actor: input.actor,
17
- correlationId: input.correlationId ?? requestId,
18
- metadata: normalizeMetadata(input.metadata),
19
- operation: input.operation,
20
- requestId,
21
- source: input.source,
22
- stage: input.stage,
23
- };
24
- }
25
- function extendRequestContext(context, overrides = {}) {
26
- return {
27
- app: overrides.app ?? context.app,
28
- actor: overrides.actor ?? context.actor,
29
- correlationId: overrides.correlationId ?? context.correlationId,
30
- metadata: {
31
- ...context.metadata,
32
- ...normalizeMetadata(overrides.metadata),
33
- },
34
- operation: overrides.operation ?? context.operation,
35
- requestId: overrides.requestId ?? context.requestId,
36
- source: overrides.source ?? context.source,
37
- stage: overrides.stage ?? context.stage,
38
- };
39
- }
40
- function toRequestHeaders(context) {
41
- return {
42
- 'x-correlation-id': context.correlationId,
43
- 'x-request-id': context.requestId,
44
- };
45
- }
46
- function toRequestLogMetadata(context) {
47
- return normalizeMetadata({
48
- actorId: context.actor?.id,
49
- actorType: context.actor?.type,
50
- app: context.app,
51
- correlationId: context.correlationId,
52
- operation: context.operation,
53
- requestId: context.requestId,
54
- source: context.source,
55
- stage: context.stage,
56
- ...context.metadata,
57
- });
58
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../src/response.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe,CAC9B,CAAC,EACD,CAAC,SAAS,gBAAgB,GAAG,gBAAgB;IAE7C,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB;IAC1E,KAAK,EAAE,iBAAiB,CAAC;IACzB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,IACpE,aAAa,CAAC,CAAC,CAAC,GAChB,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE1B,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B,CACzC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB;IAE7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,CAAC,CAAC;CACV;AAED,MAAM,WAAW,4BAA4B,CAC3C,CAAC,SAAS,gBAAgB,GAAG,gBAAgB;IAE7C,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,gBAAgB;;;CAGnB,CAAC;AAEX,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,OAAO,EAAE,mBAAmB;CASzC;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED,wBAAgB,qBAAqB,CACnC,CAAC,EACD,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,EAE7C,IAAI,EAAE,CAAC,EACP,OAAO,GAAE,4BAA4B,CAAC,CAAC,CAAM,GAC5C,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAOvB;AAED,wBAAgB,mBAAmB,CACjC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,EAE7C,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,0BAA0B,CAAC,CAAC,CAAM,GAC1C,aAAa,CAAC,CAAC,CAAC,CAelB"}
package/dist/response.js DELETED
@@ -1,66 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RuntimeError = exports.responseContract = void 0;
4
- exports.isRuntimeError = isRuntimeError;
5
- exports.createSuccessResponse = createSuccessResponse;
6
- exports.createErrorResponse = createErrorResponse;
7
- exports.responseContract = {
8
- exportPath: '@empire-builder-kit/runtime/response',
9
- packageName: '@empire-builder-kit/runtime',
10
- };
11
- class RuntimeError extends Error {
12
- code;
13
- details;
14
- expose;
15
- retryable;
16
- status;
17
- constructor(options) {
18
- super(options.message);
19
- this.name = 'RuntimeError';
20
- this.code = options.code;
21
- this.details = options.details;
22
- this.status = options.status ?? 500;
23
- this.retryable = options.retryable ?? false;
24
- this.expose = options.expose ?? this.status < 500;
25
- }
26
- }
27
- exports.RuntimeError = RuntimeError;
28
- function isRuntimeError(error) {
29
- return error instanceof RuntimeError;
30
- }
31
- function createSuccessResponse(data, options = {}) {
32
- return compactObject({
33
- data,
34
- meta: options.meta,
35
- ok: true,
36
- status: options.status ?? 200,
37
- });
38
- }
39
- function createErrorResponse(error, options = {}) {
40
- const normalized = normalizeError(error, options);
41
- return compactObject({
42
- error: compactObject({
43
- code: normalized.code,
44
- details: options.includeDetails === false ? undefined : normalized.details,
45
- message: normalized.message,
46
- retryable: normalized.retryable,
47
- }),
48
- meta: options.meta,
49
- ok: false,
50
- status: normalized.status,
51
- });
52
- }
53
- function normalizeError(error, options) {
54
- if (isRuntimeError(error)) {
55
- return error;
56
- }
57
- return new RuntimeError({
58
- code: options.fallbackCode ?? 'internal_error',
59
- expose: false,
60
- message: options.fallbackMessage ?? 'Internal server error',
61
- status: 500,
62
- });
63
- }
64
- function compactObject(value) {
65
- return Object.fromEntries(Object.entries(value).filter(([, entry]) => entry !== undefined));
66
- }