@plumbus/core 0.6.7 → 0.6.9

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 (126) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +1 -11
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/ai/types/enums.d.ts +1 -0
  5. package/dist/api/authentication-http.d.ts +17 -0
  6. package/dist/api/authentication-http.d.ts.map +1 -0
  7. package/dist/api/authentication-http.js +51 -0
  8. package/dist/api/authentication-http.js.map +1 -0
  9. package/dist/api/cookies.d.ts +2 -0
  10. package/dist/api/cookies.d.ts.map +1 -0
  11. package/dist/api/cookies.js +29 -0
  12. package/dist/api/cookies.js.map +1 -0
  13. package/dist/api/index.d.ts +2 -0
  14. package/dist/api/index.d.ts.map +1 -1
  15. package/dist/api/index.js +2 -0
  16. package/dist/api/index.js.map +1 -1
  17. package/dist/api/route-generator.d.ts +3 -0
  18. package/dist/api/route-generator.d.ts.map +1 -1
  19. package/dist/api/route-generator.js +107 -19
  20. package/dist/api/route-generator.js.map +1 -1
  21. package/dist/audit/index.d.ts +1 -0
  22. package/dist/audit/index.d.ts.map +1 -1
  23. package/dist/audit/index.js +1 -0
  24. package/dist/audit/index.js.map +1 -1
  25. package/dist/audit/service.d.ts +2 -1
  26. package/dist/audit/service.d.ts.map +1 -1
  27. package/dist/audit/service.js +7 -6
  28. package/dist/audit/service.js.map +1 -1
  29. package/dist/audit/writer.d.ts +4 -0
  30. package/dist/audit/writer.d.ts.map +1 -0
  31. package/dist/audit/writer.js +17 -0
  32. package/dist/audit/writer.js.map +1 -0
  33. package/dist/auth/http-authentication.d.ts +33 -0
  34. package/dist/auth/http-authentication.d.ts.map +1 -0
  35. package/dist/auth/http-authentication.js +37 -0
  36. package/dist/auth/http-authentication.js.map +1 -0
  37. package/dist/auth/index.d.ts +2 -0
  38. package/dist/auth/index.d.ts.map +1 -1
  39. package/dist/auth/index.js +1 -0
  40. package/dist/auth/index.js.map +1 -1
  41. package/dist/cli/commands/init.d.ts +1 -1
  42. package/dist/cli/commands/init.d.ts.map +1 -1
  43. package/dist/cli/commands/init.js +64 -2
  44. package/dist/cli/commands/init.js.map +1 -1
  45. package/dist/cli/commands/migrate.js +3 -3
  46. package/dist/cli/commands/migrate.js.map +1 -1
  47. package/dist/cli/commands/ui.d.ts +5 -0
  48. package/dist/cli/commands/ui.d.ts.map +1 -1
  49. package/dist/cli/commands/ui.js +26 -3
  50. package/dist/cli/commands/ui.js.map +1 -1
  51. package/dist/cli/discover.d.ts +1 -0
  52. package/dist/cli/discover.d.ts.map +1 -1
  53. package/dist/cli/discover.js +34 -1
  54. package/dist/cli/discover.js.map +1 -1
  55. package/dist/config/duration.d.ts +4 -0
  56. package/dist/config/duration.d.ts.map +1 -0
  57. package/dist/config/duration.js +22 -0
  58. package/dist/config/duration.js.map +1 -0
  59. package/dist/config/index.d.ts +1 -0
  60. package/dist/config/index.d.ts.map +1 -1
  61. package/dist/config/index.js +1 -0
  62. package/dist/config/index.js.map +1 -1
  63. package/dist/config/loader.d.ts.map +1 -1
  64. package/dist/config/loader.js +6 -1
  65. package/dist/config/loader.js.map +1 -1
  66. package/dist/data/migration.d.ts +1 -1
  67. package/dist/data/migration.d.ts.map +1 -1
  68. package/dist/data/migration.js +31 -2
  69. package/dist/data/migration.js.map +1 -1
  70. package/dist/data/repository.d.ts.map +1 -1
  71. package/dist/data/repository.js +103 -1
  72. package/dist/data/repository.js.map +1 -1
  73. package/dist/errors/http.d.ts.map +1 -1
  74. package/dist/errors/http.js +1 -0
  75. package/dist/errors/http.js.map +1 -1
  76. package/dist/errors/index.d.ts +3 -0
  77. package/dist/errors/index.d.ts.map +1 -1
  78. package/dist/errors/index.js +6 -0
  79. package/dist/errors/index.js.map +1 -1
  80. package/dist/flows/engine.d.ts.map +1 -1
  81. package/dist/flows/engine.js +2 -22
  82. package/dist/flows/engine.js.map +1 -1
  83. package/dist/index.d.ts +8 -7
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +5 -5
  86. package/dist/index.js.map +1 -1
  87. package/dist/jobs/routes.d.ts +2 -0
  88. package/dist/jobs/routes.d.ts.map +1 -1
  89. package/dist/jobs/routes.js +36 -5
  90. package/dist/jobs/routes.js.map +1 -1
  91. package/dist/server/authentication-runtime.d.ts +14 -0
  92. package/dist/server/authentication-runtime.d.ts.map +1 -0
  93. package/dist/server/authentication-runtime.js +2 -0
  94. package/dist/server/authentication-runtime.js.map +1 -0
  95. package/dist/server/bootstrap.d.ts +3 -0
  96. package/dist/server/bootstrap.d.ts.map +1 -1
  97. package/dist/server/bootstrap.js +45 -14
  98. package/dist/server/bootstrap.js.map +1 -1
  99. package/dist/server/index.d.ts +1 -0
  100. package/dist/server/index.d.ts.map +1 -1
  101. package/dist/testing/context.d.ts.map +1 -1
  102. package/dist/testing/context.js +113 -0
  103. package/dist/testing/context.js.map +1 -1
  104. package/dist/testing/e2e.d.ts +3 -0
  105. package/dist/testing/e2e.d.ts.map +1 -1
  106. package/dist/testing/e2e.js +1 -0
  107. package/dist/testing/e2e.js.map +1 -1
  108. package/dist/types/audit.d.ts +13 -0
  109. package/dist/types/audit.d.ts.map +1 -1
  110. package/dist/types/context.d.ts +61 -0
  111. package/dist/types/context.d.ts.map +1 -1
  112. package/dist/types/enums.d.ts +1 -0
  113. package/dist/types/enums.d.ts.map +1 -1
  114. package/dist/types/enums.js +1 -0
  115. package/dist/types/enums.js.map +1 -1
  116. package/dist/types/index.d.ts +1 -1
  117. package/dist/types/index.d.ts.map +1 -1
  118. package/dist/types/index.js.map +1 -1
  119. package/dist/types/security.d.ts +2 -0
  120. package/dist/types/security.d.ts.map +1 -1
  121. package/instructions/capabilities.md +8 -1
  122. package/instructions/entities.md +25 -0
  123. package/instructions/peer-dependencies.md +4 -1
  124. package/instructions/security.md +2 -0
  125. package/instructions/testing.md +29 -0
  126. package/package.json +2 -2
@@ -43,6 +43,7 @@ export declare const ErrorCode: {
43
43
  readonly LeaseLost: "leaseLost";
44
44
  readonly Cancelled: "cancelled";
45
45
  readonly DependencyViolation: "dependencyViolation";
46
+ readonly Unauthorized: "unauthorized";
46
47
  };
47
48
  export type ErrorCode = (typeof ErrorCode)[keyof typeof ErrorCode];
48
49
  export declare const AuthRole: {
@@ -0,0 +1,17 @@
1
+ import type { FastifyRequest } from 'fastify';
2
+ import type { AuthenticationRequest, AuthenticationResult } from '../auth/http-authentication.js';
3
+ export declare function buildAuthenticationRequest(request: FastifyRequest): AuthenticationRequest;
4
+ export declare function authenticationFailureToHttp(result: Extract<AuthenticationResult, {
5
+ status: 'invalid' | 'unavailable';
6
+ }>, requestId?: string): {
7
+ statusCode: number;
8
+ headers?: Record<string, string>;
9
+ body: {
10
+ error: {
11
+ code: string;
12
+ message: string;
13
+ requestId?: string;
14
+ };
15
+ };
16
+ };
17
+ //# sourceMappingURL=authentication-http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authentication-http.d.ts","sourceRoot":"","sources":["../../src/api/authentication-http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAGlG,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,cAAc,GAAG,qBAAqB,CAYzF;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,OAAO,CAAC,oBAAoB,EAAE;IAAE,MAAM,EAAE,SAAS,GAAG,aAAa,CAAA;CAAE,CAAC,EAC5E,SAAS,CAAC,EAAE,MAAM,GACjB;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,EAAE;QAAE,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CACxE,CAsCA"}
@@ -0,0 +1,51 @@
1
+ import { parseCookieHeader } from './cookies.js';
2
+ export function buildAuthenticationRequest(request) {
3
+ const csrfHeader = request.headers['x-csrf-token'];
4
+ const csrfToken = Array.isArray(csrfHeader) ? csrfHeader[0] : csrfHeader;
5
+ return {
6
+ authorization: request.headers.authorization,
7
+ cookies: parseCookieHeader(request.headers.cookie),
8
+ method: request.method,
9
+ path: request.url.split('?')[0] ?? request.url,
10
+ origin: request.headers.origin,
11
+ csrfToken,
12
+ };
13
+ }
14
+ export function authenticationFailureToHttp(result, requestId) {
15
+ if (result.status === 'invalid' && result.code === 'csrf_failed') {
16
+ return {
17
+ statusCode: 403,
18
+ body: {
19
+ error: {
20
+ code: 'csrf_failed',
21
+ message: 'CSRF validation failed',
22
+ ...(requestId ? { requestId } : {}),
23
+ },
24
+ },
25
+ };
26
+ }
27
+ if (result.status === 'unavailable') {
28
+ return {
29
+ statusCode: 503,
30
+ body: {
31
+ error: {
32
+ code: 'authentication_unavailable',
33
+ message: 'Authentication temporarily unavailable',
34
+ ...(requestId ? { requestId } : {}),
35
+ },
36
+ },
37
+ };
38
+ }
39
+ return {
40
+ statusCode: 401,
41
+ headers: { 'www-authenticate': 'Bearer error="invalid_token"' },
42
+ body: {
43
+ error: {
44
+ code: 'unauthorized',
45
+ message: 'Authentication required',
46
+ ...(requestId ? { requestId } : {}),
47
+ },
48
+ },
49
+ };
50
+ }
51
+ //# sourceMappingURL=authentication-http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authentication-http.js","sourceRoot":"","sources":["../../src/api/authentication-http.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,UAAU,0BAA0B,CAAC,OAAuB;IAChE,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAEzE,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa;QAC5C,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QAClD,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG;QAC9C,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;QAC9B,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,MAA4E,EAC5E,SAAkB;IAMlB,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACjE,OAAO;YACL,UAAU,EAAE,GAAG;YACf,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,wBAAwB;oBACjC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpC;aACF;SACF,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACpC,OAAO;YACL,UAAU,EAAE,GAAG;YACf,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,IAAI,EAAE,4BAA4B;oBAClC,OAAO,EAAE,wCAAwC;oBACjD,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpC;aACF;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,UAAU,EAAE,GAAG;QACf,OAAO,EAAE,EAAE,kBAAkB,EAAE,8BAA8B,EAAE;QAC/D,IAAI,EAAE;YACJ,KAAK,EAAE;gBACL,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,yBAAyB;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function parseCookieHeader(header: string | undefined): Record<string, string>;
2
+ //# sourceMappingURL=cookies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../../src/api/cookies.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgCpF"}
@@ -0,0 +1,29 @@
1
+ export function parseCookieHeader(header) {
2
+ if (!header) {
3
+ return {};
4
+ }
5
+ const cookies = {};
6
+ for (const part of header.split(';')) {
7
+ const trimmed = part.trim();
8
+ const eq = trimmed.indexOf('=');
9
+ if (eq < 0) {
10
+ continue;
11
+ }
12
+ const name = trimmed.slice(0, eq).trim();
13
+ if (!name) {
14
+ continue;
15
+ }
16
+ if (cookies[name] !== undefined) {
17
+ continue;
18
+ }
19
+ const rawValue = trimmed.slice(eq + 1).trim();
20
+ try {
21
+ cookies[name] = decodeURIComponent(rawValue);
22
+ }
23
+ catch {
24
+ cookies[name] = rawValue;
25
+ }
26
+ }
27
+ return cookies;
28
+ }
29
+ //# sourceMappingURL=cookies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookies.js","sourceRoot":"","sources":["../../src/api/cookies.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB,CAAC,MAA0B;IAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAChC,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,4 +1,6 @@
1
1
  export { isApiExposed } from './exposure.js';
2
+ export { authenticationFailureToHttp, buildAuthenticationRequest, } from './authentication-http.js';
3
+ export { parseCookieHeader } from './cookies.js';
2
4
  export { LOCALE_COOKIE_NAME, registerAllRoutes, registerCapabilityRoute, registerStreamingRoute, resolveRequestLocale, } from './route-generator.js';
3
5
  export type { DependencyOptions, ResolveRequestLocaleOptions, RouteGeneratorConfig, } from './route-generator.js';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,iBAAiB,EACjB,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,iBAAiB,EACjB,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,sBAAsB,CAAC"}
package/dist/api/index.js CHANGED
@@ -4,5 +4,7 @@
4
4
  //
5
5
  // Key exports: registerAllRoutes, registerCapabilityRoute, isApiExposed
6
6
  export { isApiExposed } from './exposure.js';
7
+ export { authenticationFailureToHttp, buildAuthenticationRequest, } from './authentication-http.js';
8
+ export { parseCookieHeader } from './cookies.js';
7
9
  export { LOCALE_COOKIE_NAME, registerAllRoutes, registerCapabilityRoute, registerStreamingRoute, resolveRequestLocale, } from './route-generator.js';
8
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,oEAAoE;AACpE,oEAAoE;AACpE,EAAE;AACF,wEAAwE;AAExE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,oEAAoE;AACpE,oEAAoE;AACpE,EAAE;AACF,wEAAwE;AAExE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { PostgresJsDatabase } from 'drizzle-orm/postgres-js';
2
2
  import type { FastifyInstance } from 'fastify';
3
3
  import type { AuthAdapter } from '../auth/adapter.js';
4
+ import type { RequestAuthenticator } from '../auth/http-authentication.js';
4
5
  import type { EventQueue } from '../events/queue.js';
5
6
  import type { ContextDependencies } from '../execution/context-factory.js';
6
7
  import type { CapabilityContract } from '../types/capability.js';
@@ -16,6 +17,8 @@ export interface RouteGeneratorConfig {
16
17
  db: PostgresJsDatabase;
17
18
  /** Auth adapter for extracting identity from requests */
18
19
  authAdapter: AuthAdapter;
20
+ /** Optional request-level authenticator (cookies, CSRF, composite bearer precedence) */
21
+ requestAuthenticator?: RequestAuthenticator;
19
22
  /** Factory to build base context dependencies for each request */
20
23
  createDependencies: (auth: NonNullable<Awaited<ReturnType<AuthAdapter['authenticate']>>>, options?: DependencyOptions) => ContextDependencies;
21
24
  /** Optional queue for dispatching async job capabilities */
@@ -1 +1 @@
1
- {"version":3,"file":"route-generator.d.ts","sourceRoot":"","sources":["../../src/api/route-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-generator.d.ts","sourceRoot":"","sources":["../../src/api/route-generator.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { authenticationFailureToHttp, buildAuthenticationRequest } from './authentication-http.js';
1
2
  import { errorToHttpResponse, errorToSsePayload, unknownErrorToSsePayload, } from '../errors/http.js';
2
3
  import { logHookError } from '../errors/hook-log.js';
3
4
  import { JobExecutionSource } from '../jobs/schema.js';
@@ -18,16 +19,59 @@ export function registerCapabilityRoute(app, capability, config) {
18
19
  const method = capability.kind === 'query' ? 'GET' : 'POST';
19
20
  const path = `/api/${capability.domain}/${toKebabCase(capability.name)}`;
20
21
  const handler = async (request, reply) => {
21
- // 1. Authenticate
22
- const authHeader = request.headers.authorization;
23
- const auth = await config.authAdapter.authenticate(authHeader);
24
- // For public capabilities, use a minimal anonymous context
25
- const authContext = auth ?? {
26
- userId: undefined,
27
- roles: [],
28
- scopes: [],
29
- provider: 'anonymous',
30
- };
22
+ const requestId = resolveRequestCorrelationId(request.headers);
23
+ let authContext;
24
+ if (!config.requestAuthenticator) {
25
+ const authHeader = request.headers.authorization;
26
+ const auth = await config.authAdapter.authenticate(authHeader);
27
+ authContext = auth ?? {
28
+ userId: undefined,
29
+ roles: [],
30
+ scopes: [],
31
+ provider: 'anonymous',
32
+ };
33
+ }
34
+ else {
35
+ const authResult = await config.requestAuthenticator.authenticate(buildAuthenticationRequest(request));
36
+ if (authResult.status === 'authenticated') {
37
+ authContext = authResult.auth;
38
+ }
39
+ else if (authResult.status === 'anonymous') {
40
+ if (authResult.clearCookieHeader) {
41
+ reply.header('set-cookie', authResult.clearCookieHeader);
42
+ }
43
+ if (!capability.access?.public) {
44
+ reply
45
+ .status(401)
46
+ .header('www-authenticate', 'Bearer')
47
+ .send({
48
+ error: {
49
+ code: 'unauthorized',
50
+ message: 'Authentication required',
51
+ ...(requestId ? { requestId } : {}),
52
+ },
53
+ });
54
+ return;
55
+ }
56
+ authContext = {
57
+ userId: undefined,
58
+ roles: [],
59
+ scopes: [],
60
+ provider: 'anonymous',
61
+ };
62
+ }
63
+ else {
64
+ const httpFailure = authenticationFailureToHttp(authResult, requestId);
65
+ reply.status(httpFailure.statusCode);
66
+ if (httpFailure.headers) {
67
+ for (const [key, value] of Object.entries(httpFailure.headers)) {
68
+ reply.header(key, value);
69
+ }
70
+ }
71
+ reply.send(httpFailure.body);
72
+ return;
73
+ }
74
+ }
31
75
  // 2. Build execution context
32
76
  const bypassTenantScope = capability.access?.tenantScoped === false;
33
77
  const locale = resolveRequestLocale(request.headers, {
@@ -123,15 +167,59 @@ export function registerAllRoutes(app, capabilities, config) {
123
167
  export function registerStreamingRoute(app, capability, config, streamHandler) {
124
168
  const path = `/api/${capability.domain}/${toKebabCase(capability.name)}/stream`;
125
169
  app.post(path, async (request, reply) => {
126
- // 1. Authenticate
127
- const authHeader = request.headers.authorization;
128
- const auth = await config.authAdapter.authenticate(authHeader);
129
- const authContext = auth ?? {
130
- userId: undefined,
131
- roles: [],
132
- scopes: [],
133
- provider: 'anonymous',
134
- };
170
+ const requestId = resolveRequestCorrelationId(request.headers);
171
+ let authContext;
172
+ if (!config.requestAuthenticator) {
173
+ const authHeader = request.headers.authorization;
174
+ const auth = await config.authAdapter.authenticate(authHeader);
175
+ authContext = auth ?? {
176
+ userId: undefined,
177
+ roles: [],
178
+ scopes: [],
179
+ provider: 'anonymous',
180
+ };
181
+ }
182
+ else {
183
+ const authResult = await config.requestAuthenticator.authenticate(buildAuthenticationRequest(request));
184
+ if (authResult.status === 'authenticated') {
185
+ authContext = authResult.auth;
186
+ }
187
+ else if (authResult.status === 'anonymous') {
188
+ if (authResult.clearCookieHeader) {
189
+ reply.header('set-cookie', authResult.clearCookieHeader);
190
+ }
191
+ if (!capability.access?.public) {
192
+ reply
193
+ .status(401)
194
+ .header('www-authenticate', 'Bearer')
195
+ .send({
196
+ error: {
197
+ code: 'unauthorized',
198
+ message: 'Authentication required',
199
+ ...(requestId ? { requestId } : {}),
200
+ },
201
+ });
202
+ return;
203
+ }
204
+ authContext = {
205
+ userId: undefined,
206
+ roles: [],
207
+ scopes: [],
208
+ provider: 'anonymous',
209
+ };
210
+ }
211
+ else {
212
+ const httpFailure = authenticationFailureToHttp(authResult, requestId);
213
+ reply.status(httpFailure.statusCode);
214
+ if (httpFailure.headers) {
215
+ for (const [key, value] of Object.entries(httpFailure.headers)) {
216
+ reply.header(key, value);
217
+ }
218
+ }
219
+ reply.send(httpFailure.body);
220
+ return;
221
+ }
222
+ }
135
223
  // 2. Build context
136
224
  const bypassTenantScope = capability.access?.tenantScoped === false;
137
225
  const locale = resolveRequestLocale(request.headers, {
@@ -1 +1 @@
1
- {"version":3,"file":"route-generator.js","sourceRoot":"","sources":["../../src/api/route-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-generator.js","sourceRoot":"","sources":["../../src/api/route-generator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export { auditRecords } from './schema.js';
2
2
  export { createAuditService } from './service.js';
3
3
  export type { AuditServiceConfig } from './service.js';
4
+ export { createDatabaseAuditWriter } from './writer.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC"}
@@ -5,4 +5,5 @@
5
5
  // Key exports: createAuditService, auditRecords (Drizzle table)
6
6
  export { auditRecords } from './schema.js';
7
7
  export { createAuditService } from './service.js';
8
+ export { createDatabaseAuditWriter } from './writer.js';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,yEAAyE;AACzE,oEAAoE;AACpE,EAAE;AACF,gEAAgE;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,yEAAyE;AACzE,oEAAoE;AACpE,EAAE;AACF,gEAAgE;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import type { PostgresJsDatabase } from 'drizzle-orm/postgres-js';
2
- import type { AuditService } from '../types/audit.js';
2
+ import type { AuditService, AuditWriter } from '../types/audit.js';
3
3
  import type { AuthContext } from '../types/security.js';
4
4
  export interface AuditServiceConfig {
5
5
  db: PostgresJsDatabase;
6
6
  auth: AuthContext;
7
7
  /** Component name for this audit context (e.g. capability name) */
8
8
  component?: string;
9
+ writer?: AuditWriter;
9
10
  }
10
11
  /**
11
12
  * Creates a persistent AuditService that writes records to PostgreSQL.
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/audit/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,kBAAkB,CAAC;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,CAyB3E"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/audit/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,kBAAkB,CAAC;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,CA0B3E"}
@@ -1,26 +1,27 @@
1
- import { auditRecords } from './schema.js';
1
+ import { createDatabaseAuditWriter } from './writer.js';
2
2
  /**
3
3
  * Creates a persistent AuditService that writes records to PostgreSQL.
4
4
  */
5
5
  export function createAuditService(config) {
6
6
  const { db, auth, component = 'system' } = config;
7
+ const writer = config.writer ?? createDatabaseAuditWriter(db);
7
8
  return {
8
9
  async record(eventType, metadata) {
9
10
  const outcome = metadata?.outcome ?? 'success';
10
11
  const maskedFields = metadata?._maskedFields ?? undefined;
11
- // Strip internal meta keys from stored metadata
12
12
  const storedMetadata = metadata ? { ...metadata } : undefined;
13
13
  if (storedMetadata) {
14
14
  delete storedMetadata._maskedFields;
15
15
  }
16
- await db.insert(auditRecords).values({
16
+ await writer.write({
17
17
  actor: auth.userId ?? 'anonymous',
18
- tenantId: auth.tenantId ?? null,
18
+ tenantId: auth.tenantId,
19
19
  component,
20
20
  action: eventType,
21
21
  outcome,
22
- metadata: storedMetadata ?? null,
23
- maskedFields: maskedFields ?? null,
22
+ timestamp: new Date(),
23
+ metadata: storedMetadata,
24
+ maskedFields,
24
25
  });
25
26
  },
26
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/audit/service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAS3C;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC;IAElD,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,QAAkC;YAChE,MAAM,OAAO,GAAI,QAAQ,EAAE,OAAkB,IAAI,SAAS,CAAC;YAC3D,MAAM,YAAY,GAAI,QAAQ,EAAE,aAA0B,IAAI,SAAS,CAAC;YAExE,gDAAgD;YAChD,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,cAAc,CAAC,aAAa,CAAC;YACtC,CAAC;YAED,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;gBACnC,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,WAAW;gBACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;gBAC/B,SAAS;gBACT,MAAM,EAAE,SAAS;gBACjB,OAAO;gBACP,QAAQ,EAAE,cAAc,IAAI,IAAI;gBAChC,YAAY,EAAE,YAAY,IAAI,IAAI;aACnC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/audit/service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAUxD;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAE9D,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,QAAkC;YAChE,MAAM,OAAO,GAAI,QAAQ,EAAE,OAA4C,IAAI,SAAS,CAAC;YACrF,MAAM,YAAY,GAAI,QAAQ,EAAE,aAA0B,IAAI,SAAS,CAAC;YAExE,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,cAAc,CAAC,aAAa,CAAC;YACtC,CAAC;YAED,MAAM,MAAM,CAAC,KAAK,CAAC;gBACjB,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,WAAW;gBACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS;gBACT,MAAM,EAAE,SAAS;gBACjB,OAAO;gBACP,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,QAAQ,EAAE,cAAc;gBACxB,YAAY;aACb,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { PostgresJsDatabase } from 'drizzle-orm/postgres-js';
2
+ import type { AuditWriter } from '../types/audit.js';
3
+ export declare function createDatabaseAuditWriter(db: PostgresJsDatabase): AuditWriter;
4
+ //# sourceMappingURL=writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/audit/writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGjE,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,kBAAkB,GAAG,WAAW,CAc7E"}
@@ -0,0 +1,17 @@
1
+ import { auditRecords } from './schema.js';
2
+ export function createDatabaseAuditWriter(db) {
3
+ return {
4
+ async write(event) {
5
+ await db.insert(auditRecords).values({
6
+ actor: event.actor ?? 'anonymous',
7
+ tenantId: event.tenantId ?? null,
8
+ component: event.component,
9
+ action: event.action,
10
+ outcome: event.outcome,
11
+ metadata: event.metadata ?? null,
12
+ maskedFields: event.maskedFields ?? null,
13
+ });
14
+ },
15
+ };
16
+ }
17
+ //# sourceMappingURL=writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/audit/writer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,UAAU,yBAAyB,CAAC,EAAsB;IAC9D,OAAO;QACL,KAAK,CAAC,KAAK,CAAC,KAAiB;YAC3B,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;gBACnC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,WAAW;gBACjC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;gBAChC,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;gBAChC,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI;aACzC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { AuthContext } from '../types/security.js';
2
+ import type { AuthAdapter } from './adapter.js';
3
+ export interface AuthenticationRequest {
4
+ authorization?: string;
5
+ cookies: Readonly<Record<string, string>>;
6
+ method: string;
7
+ path: string;
8
+ origin?: string;
9
+ csrfToken?: string;
10
+ }
11
+ export type AuthenticationResult = {
12
+ status: 'authenticated';
13
+ auth: AuthContext;
14
+ } | {
15
+ status: 'anonymous';
16
+ clearSessionCookie?: boolean;
17
+ clearCookieHeader?: string;
18
+ } | {
19
+ status: 'invalid';
20
+ code: 'invalid_authorization' | 'csrf_failed';
21
+ } | {
22
+ status: 'unavailable';
23
+ code: 'authentication_unavailable';
24
+ };
25
+ export interface RequestAuthenticator {
26
+ authenticate(request: AuthenticationRequest): Promise<AuthenticationResult>;
27
+ }
28
+ export declare function wrapAuthAdapter(adapter: AuthAdapter): RequestAuthenticator;
29
+ export declare function createCompositeRequestAuthenticator(opts: {
30
+ bearer?: AuthAdapter;
31
+ session: RequestAuthenticator;
32
+ }): RequestAuthenticator;
33
+ //# sourceMappingURL=http-authentication.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-authentication.d.ts","sourceRoot":"","sources":["../../src/auth/http-authentication.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,oBAAoB,GAC5B;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9C;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,GACjF;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,uBAAuB,GAAG,aAAa,CAAA;CAAE,GACpE;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,4BAA4B,CAAA;CAAE,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAC7E;AAMD,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,oBAAoB,CAkB1E;AAED,wBAAgB,mCAAmC,CAAC,IAAI,EAAE;IACxD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,oBAAoB,CAAC;CAC/B,GAAG,oBAAoB,CAevB"}
@@ -0,0 +1,37 @@
1
+ function isAuthorizationPresent(authorization) {
2
+ return authorization !== undefined && authorization.trim().length > 0;
3
+ }
4
+ export function wrapAuthAdapter(adapter) {
5
+ return {
6
+ async authenticate(request) {
7
+ if (!isAuthorizationPresent(request.authorization)) {
8
+ return { status: 'anonymous' };
9
+ }
10
+ try {
11
+ const auth = await adapter.authenticate(request.authorization);
12
+ if (auth) {
13
+ return { status: 'authenticated', auth };
14
+ }
15
+ return { status: 'invalid', code: 'invalid_authorization' };
16
+ }
17
+ catch {
18
+ return { status: 'unavailable', code: 'authentication_unavailable' };
19
+ }
20
+ },
21
+ };
22
+ }
23
+ export function createCompositeRequestAuthenticator(opts) {
24
+ const bearerAuthenticator = opts.bearer ? wrapAuthAdapter(opts.bearer) : undefined;
25
+ return {
26
+ async authenticate(request) {
27
+ if (isAuthorizationPresent(request.authorization)) {
28
+ if (!bearerAuthenticator) {
29
+ return { status: 'invalid', code: 'invalid_authorization' };
30
+ }
31
+ return bearerAuthenticator.authenticate(request);
32
+ }
33
+ return opts.session.authenticate(request);
34
+ },
35
+ };
36
+ }
37
+ //# sourceMappingURL=http-authentication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-authentication.js","sourceRoot":"","sources":["../../src/auth/http-authentication.ts"],"names":[],"mappings":"AAsBA,SAAS,sBAAsB,CAAC,aAAiC;IAC/D,OAAO,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAoB;IAClD,OAAO;QACL,KAAK,CAAC,YAAY,CAAC,OAA8B;YAC/C,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACnD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YACjC,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC/D,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;gBAC3C,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;YAC9D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;YACvE,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,IAGnD;IACC,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnF,OAAO;QACL,KAAK,CAAC,YAAY,CAAC,OAA8B;YAC/C,IAAI,sBAAsB,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACzB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;gBAC9D,CAAC;gBACD,OAAO,mBAAmB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACnD,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,5 +1,7 @@
1
1
  export { createJwtAdapter, signJwt } from './adapter.js';
2
2
  export type { AuthAdapter, JwtAdapterConfig, JwtClaimMapping, SignJwtOptions } from './adapter.js';
3
+ export type { AuthenticationRequest, AuthenticationResult, RequestAuthenticator, } from './http-authentication.js';
4
+ export { createCompositeRequestAuthenticator, wrapAuthAdapter, } from './http-authentication.js';
3
5
  export { createOidcAdapter } from './oidc-adapter.js';
4
6
  export type { OidcAdapterConfig, JsonWebKey as OidcJwk } from './oidc-adapter.js';
5
7
  export { hashPassword, verifyPassword } from './password.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,UAAU,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EACV,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnG,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,mCAAmC,EACnC,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,UAAU,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EACV,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,WAAW,CAAC"}