libmodulor 0.28.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/README.md +3 -3
  3. package/dist/esm/apps/Helper/src/lib/layers/product.js +1 -1
  4. package/dist/esm/apps/Helper/src/lib/layers/project.js +7 -7
  5. package/dist/esm/apps/Helper/src/lib/layers/target.js +27 -11
  6. package/dist/esm/convention.d.ts +2 -0
  7. package/dist/esm/convention.js +1 -0
  8. package/dist/esm/dt/base/TBase.d.ts +2 -0
  9. package/dist/esm/dt/base/TBase.js +5 -0
  10. package/dist/esm/dt/base/TBoolean.d.ts +2 -0
  11. package/dist/esm/dt/base/TBoolean.js +3 -0
  12. package/dist/esm/dt/base/TInt.d.ts +2 -0
  13. package/dist/esm/dt/base/TInt.js +3 -0
  14. package/dist/esm/dt/base/TNumber.d.ts +2 -0
  15. package/dist/esm/dt/base/TNumber.js +3 -0
  16. package/dist/esm/dt/base/TObject.d.ts +2 -0
  17. package/dist/esm/dt/base/TObject.js +37 -0
  18. package/dist/esm/dt/final/TApiKey.d.ts +2 -0
  19. package/dist/esm/dt/final/TApiKey.js +3 -0
  20. package/dist/esm/dt/final/TDateISO8601.d.ts +2 -0
  21. package/dist/esm/dt/final/TDateISO8601.js +3 -0
  22. package/dist/esm/dt/final/TDomainName.d.ts +2 -0
  23. package/dist/esm/dt/final/TDomainName.js +3 -0
  24. package/dist/esm/dt/final/TEmail.d.ts +2 -0
  25. package/dist/esm/dt/final/TEmail.js +3 -0
  26. package/dist/esm/dt/final/TEncryptionKey.d.ts +2 -0
  27. package/dist/esm/dt/final/TEncryptionKey.js +3 -0
  28. package/dist/esm/dt/final/TFile.d.ts +2 -0
  29. package/dist/esm/dt/final/TFile.js +3 -0
  30. package/dist/esm/dt/final/TIPv4.d.ts +2 -0
  31. package/dist/esm/dt/final/TIPv4.js +3 -0
  32. package/dist/esm/dt/final/TIPv6.d.ts +2 -0
  33. package/dist/esm/dt/final/TIPv6.js +3 -0
  34. package/dist/esm/dt/final/TJWT.d.ts +2 -0
  35. package/dist/esm/dt/final/TJWT.js +3 -0
  36. package/dist/esm/dt/final/TPassword.d.ts +2 -0
  37. package/dist/esm/dt/final/TPassword.js +3 -0
  38. package/dist/esm/dt/final/TSSHPrivateKey.d.ts +2 -0
  39. package/dist/esm/dt/final/TSSHPrivateKey.js +3 -0
  40. package/dist/esm/dt/final/TTime.d.ts +2 -0
  41. package/dist/esm/dt/final/TTime.js +3 -0
  42. package/dist/esm/dt/final/TURL.d.ts +2 -0
  43. package/dist/esm/dt/final/TURL.js +3 -0
  44. package/dist/esm/dt/index.d.ts +1 -0
  45. package/dist/esm/dt/targets/json-schema.d.ts +36 -0
  46. package/dist/esm/error/funcs.d.ts +4 -0
  47. package/dist/esm/error/funcs.js +5 -1
  48. package/dist/esm/error/index.d.ts +1 -1
  49. package/dist/esm/error/index.js +1 -1
  50. package/dist/esm/i18n/locales/de.js +2 -0
  51. package/dist/esm/i18n/locales/en.js +2 -0
  52. package/dist/esm/i18n/locales/es.js +2 -0
  53. package/dist/esm/i18n/locales/fr.js +2 -0
  54. package/dist/esm/i18n/types.d.ts +1 -1
  55. package/dist/esm/index.d.ts +3 -0
  56. package/dist/esm/index.js +3 -0
  57. package/dist/esm/index.node-express.d.ts +2 -0
  58. package/dist/esm/index.node-express.js +1 -0
  59. package/dist/esm/index.node-hono.d.ts +2 -0
  60. package/dist/esm/index.node-hono.js +1 -0
  61. package/dist/esm/index.node-mcp-express.d.ts +3 -0
  62. package/dist/esm/index.node-mcp-express.js +2 -0
  63. package/dist/esm/index.node-mcp-hono.d.ts +3 -0
  64. package/dist/esm/index.node-mcp-hono.js +2 -0
  65. package/dist/esm/index.node-mcp.d.ts +3 -1
  66. package/dist/esm/index.node-mcp.js +3 -1
  67. package/dist/esm/product/manifest.d.ts +2 -0
  68. package/dist/esm/products/Helper/i18n.d.ts +2 -0
  69. package/dist/esm/std/impl/SimpleMapI18nManager.d.ts +1 -1
  70. package/dist/esm/std/impl/SimpleMapI18nManager.js +4 -2
  71. package/dist/esm/std/lib/settings.js +4 -5
  72. package/dist/esm/target/edge-worker-hono-server/SyncEdgeWorkerHonoServerManager.d.ts +8 -2
  73. package/dist/esm/target/edge-worker-hono-server/SyncEdgeWorkerHonoServerManager.js +20 -9
  74. package/dist/esm/target/index.d.ts +2 -1
  75. package/dist/esm/target/index.js +1 -1
  76. package/dist/esm/target/lib/client/AuthDataStore.d.ts +5 -0
  77. package/dist/esm/target/lib/client/AuthDataStore.js +1 -0
  78. package/dist/esm/target/lib/client/impl/InMemoryAuthDataStore.d.ts +7 -0
  79. package/dist/esm/target/lib/client/impl/InMemoryAuthDataStore.js +20 -0
  80. package/dist/esm/target/lib/client/impl/MixedServerClientManager.d.ts +15 -0
  81. package/dist/esm/target/lib/client/impl/MixedServerClientManager.js +44 -0
  82. package/dist/esm/target/lib/json-schema/error.d.ts +3 -0
  83. package/dist/esm/target/lib/json-schema/error.js +14 -0
  84. package/dist/esm/target/lib/json-schema/input.d.ts +16 -0
  85. package/dist/esm/target/lib/json-schema/input.js +67 -0
  86. package/dist/esm/target/lib/json-schema/output.d.ts +19 -0
  87. package/dist/esm/target/lib/json-schema/output.js +128 -0
  88. package/dist/esm/target/lib/manifest.d.ts +32 -1
  89. package/dist/esm/target/lib/manifest.js +22 -1
  90. package/dist/esm/target/lib/mcp-server/MCPServerRequestHandler.d.ts +16 -0
  91. package/dist/esm/target/lib/mcp-server/MCPServerRequestHandler.js +54 -0
  92. package/dist/esm/target/lib/mcp-server/consts.d.ts +1 -0
  93. package/dist/esm/target/lib/mcp-server/consts.js +1 -0
  94. package/dist/esm/target/lib/mcp-server/funcs.d.ts +13 -0
  95. package/dist/esm/target/lib/mcp-server/funcs.js +84 -0
  96. package/dist/esm/target/lib/mcp-server/http/MCPHTTPRequestHandlerBuilder.d.ts +14 -0
  97. package/dist/esm/target/lib/mcp-server/http/MCPHTTPRequestHandlerBuilder.js +1 -0
  98. package/dist/esm/target/lib/mcp-server/http/express/MCPHTTPExpressFakeRequestHandlerBuilder.d.ts +5 -0
  99. package/dist/esm/target/lib/mcp-server/http/express/MCPHTTPExpressFakeRequestHandlerBuilder.js +18 -0
  100. package/dist/esm/target/lib/mcp-server/http/express/MCPHTTPExpressProtocolRequestHandlerBuilder.d.ts +15 -0
  101. package/dist/esm/target/lib/mcp-server/http/express/MCPHTTPExpressProtocolRequestHandlerBuilder.js +88 -0
  102. package/dist/esm/target/lib/mcp-server/http/express/types.d.ts +3 -0
  103. package/dist/esm/target/lib/mcp-server/http/express/types.js +1 -0
  104. package/dist/esm/target/lib/mcp-server/http/funcs.d.ts +6 -0
  105. package/dist/esm/target/lib/mcp-server/http/funcs.js +50 -0
  106. package/dist/esm/target/lib/mcp-server/http/hono/MCPHTTPHonoFakeRequestHandlerBuilder.d.ts +5 -0
  107. package/dist/esm/target/lib/mcp-server/http/hono/MCPHTTPHonoFakeRequestHandlerBuilder.js +18 -0
  108. package/dist/esm/target/lib/mcp-server/http/hono/MCPHTTPHonoProtocolRequestHandlerBuilder.d.ts +15 -0
  109. package/dist/esm/target/lib/mcp-server/http/hono/MCPHTTPHonoProtocolRequestHandlerBuilder.js +88 -0
  110. package/dist/esm/target/lib/mcp-server/http/hono/types.d.ts +3 -0
  111. package/dist/esm/target/lib/mcp-server/http/hono/types.js +1 -0
  112. package/dist/esm/target/lib/mcp-server/stdio/MCPStdioRequestHandler.d.ts +31 -0
  113. package/dist/esm/target/lib/mcp-server/stdio/MCPStdioRequestHandler.js +108 -0
  114. package/dist/esm/target/lib/mcp-server/stdio/MCPStdioUCClientConfirmManager.d.ts +7 -0
  115. package/dist/esm/target/lib/mcp-server/stdio/MCPStdioUCClientConfirmManager.js +36 -0
  116. package/dist/esm/target/lib/mcp-server/stdio/consts.d.ts +2 -0
  117. package/dist/esm/target/lib/mcp-server/stdio/consts.js +3 -0
  118. package/dist/esm/target/lib/mcp-server/stdio/funcs.d.ts +2 -0
  119. package/dist/esm/target/lib/mcp-server/stdio/funcs.js +10 -0
  120. package/dist/esm/target/lib/mcp-server/stdio/input.d.ts +10 -0
  121. package/dist/esm/target/lib/mcp-server/stdio/input.js +15 -0
  122. package/dist/esm/target/lib/mcp-server/types.d.ts +2 -0
  123. package/dist/esm/target/lib/mcp-server/types.js +1 -0
  124. package/dist/esm/target/lib/openapi/OpenAPISpecBuilder.d.ts +25 -0
  125. package/dist/esm/target/lib/openapi/OpenAPISpecBuilder.js +135 -0
  126. package/dist/esm/target/lib/openapi/funcs.d.ts +11 -0
  127. package/dist/esm/target/lib/openapi/funcs.js +148 -0
  128. package/dist/esm/target/lib/openapi/types.d.ts +98 -0
  129. package/dist/esm/target/lib/openapi/types.js +1 -0
  130. package/dist/esm/target/lib/rn/input.d.ts +3 -0
  131. package/dist/esm/target/lib/server/AuthCookieCreator.d.ts +2 -1
  132. package/dist/esm/target/lib/server/ServerBooter.d.ts +4 -2
  133. package/dist/esm/target/lib/server/ServerBooter.js +44 -11
  134. package/dist/esm/target/lib/server/ServerManager.d.ts +29 -9
  135. package/dist/esm/target/lib/server/ServerRequestHandler.d.ts +10 -6
  136. package/dist/esm/target/lib/server/ServerRequestHandler.js +35 -25
  137. package/dist/esm/target/lib/server/consts.d.ts +4 -0
  138. package/dist/esm/target/lib/server/consts.js +26 -0
  139. package/dist/esm/target/lib/server-express/CORSMiddlewareBuilder.d.ts +15 -0
  140. package/dist/esm/target/lib/server-express/CORSMiddlewareBuilder.js +55 -0
  141. package/dist/esm/target/lib/server-express/funcs.d.ts +2 -1
  142. package/dist/esm/target/lib/server-express/funcs.js +6 -5
  143. package/dist/esm/target/lib/server-hono/CORSMiddlewareBuilder.d.ts +14 -0
  144. package/dist/esm/target/lib/server-hono/CORSMiddlewareBuilder.js +46 -0
  145. package/dist/esm/target/lib/server-hono/funcs.d.ts +2 -1
  146. package/dist/esm/target/lib/server-hono/funcs.js +6 -3
  147. package/dist/esm/target/lib/shared.d.ts +5 -0
  148. package/dist/esm/target/lib/shared.js +3 -1
  149. package/dist/esm/target/nextjs-server/NextJSServerManager.d.ts +5 -1
  150. package/dist/esm/target/nextjs-server/NextJSServerManager.js +6 -0
  151. package/dist/esm/target/node-express-server/NodeExpressServerManager.d.ts +12 -4
  152. package/dist/esm/target/node-express-server/NodeExpressServerManager.js +34 -15
  153. package/dist/esm/target/node-hono-server/NodeHonoServerManager.d.ts +11 -3
  154. package/dist/esm/target/node-hono-server/NodeHonoServerManager.js +31 -12
  155. package/dist/esm/target/{node-mcp-server/NodeLocalStdioMCPServerManager.d.ts → node-mcp-server-stdio/NodeMCPStdioServerManager.d.ts} +12 -21
  156. package/dist/esm/target/node-mcp-server-stdio/NodeMCPStdioServerManager.js +108 -0
  157. package/dist/esm/testing/impl/newNodeAppTester.js +5 -0
  158. package/dist/esm/uc/UC.d.ts +2 -0
  159. package/dist/esm/uc/UC.js +16 -1
  160. package/dist/esm/uc/cardinality.d.ts +7 -0
  161. package/dist/esm/uc/cardinality.js +14 -0
  162. package/dist/esm/uc/examples.d.ts +2 -0
  163. package/dist/esm/uc/examples.js +12 -0
  164. package/dist/esm/uc/helpers/UCOutputReader.d.ts +2 -2
  165. package/dist/esm/uc/helpers/UCOutputReader.js +2 -2
  166. package/dist/esm/uc/index.d.ts +2 -0
  167. package/dist/esm/uc/index.js +2 -0
  168. package/dist/esm/uc/input-field.d.ts +3 -6
  169. package/dist/esm/uc/input-field.js +5 -21
  170. package/dist/esm/uc/metadata.d.ts +7 -0
  171. package/dist/esm/uc/metadata.js +10 -0
  172. package/dist/esm/uc/opi.d.ts +3 -1
  173. package/dist/esm/uc/opi.js +4 -1
  174. package/dist/esm/uc/output-field.d.ts +14 -1
  175. package/dist/esm/uc/output-field.js +11 -1
  176. package/dist/esm/uc/utils/ucHTTPContract.js +1 -1
  177. package/dist/esm/utils/bundling/funcs.js +1 -1
  178. package/dist/esm/utils/bundling/vite/plugin.d.ts +1 -1
  179. package/dist/esm/utils/http/types.d.ts +5 -0
  180. package/dist/esm/utils/index.d.ts +2 -1
  181. package/dist/esm/utils/index.js +1 -0
  182. package/dist/esm/utils/streams/funcs.d.ts +2 -0
  183. package/dist/esm/utils/streams/funcs.js +10 -0
  184. package/package.json +25 -14
  185. package/dist/esm/target/node-mcp-server/NodeLocalStdioMCPServerManager.js +0 -183
  186. package/dist/esm/target/node-mcp-server/funcs.d.ts +0 -7
  187. package/dist/esm/target/node-mcp-server/funcs.js +0 -45
  188. package/dist/esm/target/node-mcp-server/types.d.ts +0 -19
  189. /package/dist/esm/{target/node-mcp-server/types.js → dt/targets/json-schema.js} +0 -0
@@ -9,6 +9,9 @@ export class TPassword extends TString {
9
9
  htmlInputType() {
10
10
  return 'password';
11
11
  }
12
+ jsonSchemaType() {
13
+ return { format: 'password', type: 'string' };
14
+ }
12
15
  isSensitive() {
13
16
  return true;
14
17
  }
@@ -1,5 +1,6 @@
1
1
  import type { TName } from '../base/TBase.js';
2
2
  import { TString, type TStringConstraints } from '../base/TString.js';
3
+ import type { JSONSchemaType } from '../targets/json-schema.js';
3
4
  import type { HTMLInputType } from '../targets/web.js';
4
5
  type Type = 'OPENSSH' | 'RSA';
5
6
  export declare const SSHPrivatekKeyTypes: Type[];
@@ -10,6 +11,7 @@ export declare class TSSHPrivateKey extends TString<SSHPrivateKey> {
10
11
  tName(): TName;
11
12
  example(): SSHPrivateKey;
12
13
  htmlInputType(): HTMLInputType;
14
+ jsonSchemaType(): JSONSchemaType;
13
15
  isPotentiallyLong(): boolean;
14
16
  isSensitive(): boolean;
15
17
  }
@@ -17,6 +17,9 @@ export class TSSHPrivateKey extends TString {
17
17
  htmlInputType() {
18
18
  return 'password';
19
19
  }
20
+ jsonSchemaType() {
21
+ return { format: 'password', type: 'string' };
22
+ }
20
23
  isPotentiallyLong() {
21
24
  return true;
22
25
  }
@@ -1,5 +1,6 @@
1
1
  import type { TName } from '../base/TBase.js';
2
2
  import { TString, type TStringConstraints } from '../base/TString.js';
3
+ import type { JSONSchemaType } from '../targets/json-schema.js';
3
4
  import type { RNInputMode } from '../targets/rn.js';
4
5
  import type { HTMLInputType } from '../targets/web.js';
5
6
  export type Time = `${number}${number}:${number}${number}` | `${number}${number}:${number}${number}:${number}${number}`;
@@ -9,5 +10,6 @@ export declare class TTime extends TString<Time> {
9
10
  tName(): TName;
10
11
  example(): Time;
11
12
  htmlInputType(): HTMLInputType;
13
+ jsonSchemaType(): JSONSchemaType;
12
14
  rnInputMode(): RNInputMode;
13
15
  }
@@ -16,6 +16,9 @@ export class TTime extends TString {
16
16
  htmlInputType() {
17
17
  return 'time';
18
18
  }
19
+ jsonSchemaType() {
20
+ return { format: 'time', type: 'string' };
21
+ }
19
22
  rnInputMode() {
20
23
  return 'numeric';
21
24
  }
@@ -1,5 +1,6 @@
1
1
  import type { TName } from '../base/TBase.js';
2
2
  import { TString, type TStringConstraints } from '../base/TString.js';
3
+ import type { JSONSchemaType } from '../targets/json-schema.js';
3
4
  import type { RNInputMode } from '../targets/rn.js';
4
5
  import type { HTMLInputType } from '../targets/web.js';
5
6
  import type { Validation } from '../Validation.js';
@@ -10,6 +11,7 @@ export declare class TURL extends TString<URL> {
10
11
  tName(): TName;
11
12
  example(): URL;
12
13
  htmlInputType(): HTMLInputType;
14
+ jsonSchemaType(): JSONSchemaType;
13
15
  rnInputMode(): RNInputMode;
14
16
  validate(): Validation;
15
17
  private isLocalhost;
@@ -17,6 +17,9 @@ export class TURL extends TString {
17
17
  htmlInputType() {
18
18
  return 'url';
19
19
  }
20
+ jsonSchemaType() {
21
+ return { format: 'uri', type: 'string' };
22
+ }
20
23
  rnInputMode() {
21
24
  return 'url';
22
25
  }
@@ -76,6 +76,7 @@ export { TUsername, type Username } from './final/TUsername.js';
76
76
  export { TUUID, type UUID } from './final/TUUID.js';
77
77
  export { TYear, type Year } from './final/TYear.js';
78
78
  export { TYesNo, type YesNo } from './final/TYesNo.js';
79
+ export type { JSONSchemaNumberFormat, JSONSchemaObject, JSONSchemaProperty, JSONSchemaStringFormat, JSONSchemaType, } from './targets/json-schema.js';
79
80
  export type { RNInputMode } from './targets/rn.js';
80
81
  export type { HTMLInputType } from './targets/web.js';
81
82
  export { Validation, type Violation, type ViolationFormat, type ViolationI18n, type ViolationI18nable, type ViolationType, } from './Validation.js';
@@ -0,0 +1,36 @@
1
+ import type { StringKeys } from '../../utils/index.js';
2
+ import type { DataType } from '../DataType.js';
3
+ export type JSONSchemaNumberFormat = 'double' | 'float' | 'int32' | 'int64';
4
+ export type JSONSchemaStringFormat = 'binary' | 'byte' | 'date' | 'date-time' | 'email' | 'hostname' | 'ipv4' | 'ipv6' | 'password' | 'time' | 'uuid' | 'uri';
5
+ export type JSONSchemaType = {
6
+ type: 'array' | ['array', 'null'];
7
+ items: JSONSchemaType;
8
+ maxItems?: number;
9
+ minItems?: number;
10
+ uniqueItems?: boolean;
11
+ } | {
12
+ type: 'boolean' | ['boolean', 'null'];
13
+ } | {
14
+ type: 'integer' | ['integer', 'null'];
15
+ } | {
16
+ type: 'number' | ['number', 'null'];
17
+ format?: JSONSchemaNumberFormat;
18
+ } | {
19
+ additionalProperties: false;
20
+ properties: Record<string, JSONSchemaType>;
21
+ required?: string[];
22
+ type: 'object' | ['object', 'null'];
23
+ } | {
24
+ type: 'string' | ['string', 'null'];
25
+ format?: JSONSchemaStringFormat;
26
+ };
27
+ export type JSONSchemaProperty<T extends DataType> = JSONSchemaType & {
28
+ enum?: (T | null)[];
29
+ examples?: T[];
30
+ };
31
+ export interface JSONSchemaObject<T extends object> {
32
+ additionalProperties: false;
33
+ properties: Record<StringKeys<T>, JSONSchemaProperty<any>>;
34
+ required?: StringKeys<T>[];
35
+ type: 'object' | ['object', 'null'];
36
+ }
@@ -1,4 +1,8 @@
1
1
  import type { ErrorMessage, HTTPStatusNumber } from '../dt/index.js';
2
+ import type { Class } from '../utils/index.js';
3
+ import type { CustomError } from './CustomError.js';
4
+ export declare const ERROR_HTTP_STATUS_MAP: Map<HTTPStatusNumber, Class<CustomError>>;
5
+ export declare function logDevWarning(message: ErrorMessage): void;
2
6
  export declare function isEmptyJSON(err: unknown): boolean;
3
7
  export declare function isInvalidJSON(err: unknown): boolean;
4
8
  export declare function throwCustomError(message: ErrorMessage, status: HTTPStatusNumber): never;
@@ -4,7 +4,7 @@ import { InternalServerError } from './InternalServerError.js';
4
4
  import { NotFoundError } from './NotFoundError.js';
5
5
  import { UnauthorizedError } from './UnauthorizedError.js';
6
6
  import { UnavailableError } from './UnavailableError.js';
7
- const ERROR_HTTP_STATUS_MAP = new Map([
7
+ export const ERROR_HTTP_STATUS_MAP = new Map([
8
8
  [400, IllegalArgumentError],
9
9
  [401, UnauthorizedError],
10
10
  [403, ForbiddenError],
@@ -12,6 +12,10 @@ const ERROR_HTTP_STATUS_MAP = new Map([
12
12
  [500, InternalServerError],
13
13
  [503, UnavailableError],
14
14
  ]);
15
+ export function logDevWarning(message) {
16
+ // biome-ignore lint/suspicious/noConsole: we want it
17
+ console.warn(`\x1b[1m\x1b[33m[WARNING] ${message}\x1b[0m`);
18
+ }
15
19
  export function isEmptyJSON(err) {
16
20
  return (err instanceof Error &&
17
21
  err.message.toLowerCase().includes('unexpected end of json input'));
@@ -1,7 +1,7 @@
1
1
  export { CustomError, type ServerError } from './CustomError.js';
2
2
  export { ForbiddenAsNotFoundError } from './ForbiddenAsNotFoundError.js';
3
3
  export { ForbiddenError } from './ForbiddenError.js';
4
- export { isEmptyJSON, isInvalidJSON, throwCustomError } from './funcs.js';
4
+ export { ERROR_HTTP_STATUS_MAP, isEmptyJSON, isInvalidJSON, logDevWarning, throwCustomError, } from './funcs.js';
5
5
  export { IllegalArgumentError } from './IllegalArgumentError.js';
6
6
  export { InternalServerError } from './InternalServerError.js';
7
7
  export { NotAvailableError } from './internal/NotAvailableError.js';
@@ -1,7 +1,7 @@
1
1
  export { CustomError } from './CustomError.js';
2
2
  export { ForbiddenAsNotFoundError } from './ForbiddenAsNotFoundError.js';
3
3
  export { ForbiddenError } from './ForbiddenError.js';
4
- export { isEmptyJSON, isInvalidJSON, throwCustomError } from './funcs.js';
4
+ export { ERROR_HTTP_STATUS_MAP, isEmptyJSON, isInvalidJSON, logDevWarning, throwCustomError, } from './funcs.js';
5
5
  export { IllegalArgumentError } from './IllegalArgumentError.js';
6
6
  export { InternalServerError } from './InternalServerError.js';
7
7
  export { NotAvailableError } from './internal/NotAvailableError.js';
@@ -17,6 +17,8 @@ export const I18nDE = {
17
17
  err_unauthorized: 'Nicht autorisiert',
18
18
  err_unavailable: 'Nicht verfügbar',
19
19
  err_unexpected: 'Unerwarteter Fehler',
20
+ res_200: 'OK',
21
+ res_204: 'Kein Inhalt',
20
22
  uc_client_confirm_cancel: 'Abbrechen',
21
23
  uc_client_confirm_confirm: 'Ja',
22
24
  uc_client_confirm_message: '',
@@ -17,6 +17,8 @@ export const I18nEN = {
17
17
  err_unauthorized: 'Unauthorized',
18
18
  err_unavailable: 'Unavailable',
19
19
  err_unexpected: 'Unexpected error',
20
+ res_200: 'OK',
21
+ res_204: 'No content',
20
22
  uc_client_confirm_cancel: 'Cancel',
21
23
  uc_client_confirm_confirm: 'Yes',
22
24
  uc_client_confirm_message: '',
@@ -17,6 +17,8 @@ export const I18nES = {
17
17
  err_unauthorized: 'No autorizado',
18
18
  err_unavailable: 'No disponible',
19
19
  err_unexpected: 'Error inesperado',
20
+ res_200: 'OK',
21
+ res_204: 'Sin contenido',
20
22
  uc_client_confirm_cancel: 'Cancelar',
21
23
  uc_client_confirm_confirm: 'Sí',
22
24
  uc_client_confirm_message: '',
@@ -17,6 +17,8 @@ export const I18nFR = {
17
17
  err_unauthorized: 'Non autorisé',
18
18
  err_unavailable: 'Non disponible',
19
19
  err_unexpected: 'Erreur inattendue',
20
+ res_200: 'OK',
21
+ res_204: 'Aucun contenu',
20
22
  uc_client_confirm_cancel: 'Annuler',
21
23
  uc_client_confirm_confirm: 'Oui',
22
24
  uc_client_confirm_message: '',
@@ -8,7 +8,7 @@ export type I18nLanguageCode = 'de' | 'en' | 'es' | 'fr';
8
8
  */
9
9
  export type I18nTranslation = string;
10
10
  export type I18nTranslationKey = string;
11
- export type I18nCoreKey = ViolationI18nable | `dt_FreeTextShort_constr_${keyof TStringConstraints}` | `dt_File_constr_${keyof TFileConstraints}` | `dt_YesNo_${YesNo}_${keyof UCWording}` | 'err_forbidden' | 'err_illegal_argument' | 'err_not_found' | 'err_uc_data_store_not_readable' | 'err_uc_data_store_not_writable' | 'err_unauthorized' | 'err_unavailable' | 'err_unexpected' | `uc_client_confirm_${keyof UCClientConfirmConfig}` | `uc_i_submit_${UCExecState}`;
11
+ export type I18nCoreKey = ViolationI18nable | `dt_FreeTextShort_constr_${keyof TStringConstraints}` | `dt_File_constr_${keyof TFileConstraints}` | `dt_YesNo_${YesNo}_${keyof UCWording}` | 'err_forbidden' | 'err_illegal_argument' | 'err_not_found' | 'err_uc_data_store_not_readable' | 'err_uc_data_store_not_writable' | 'err_unauthorized' | 'err_unavailable' | 'err_unexpected' | 'res_200' | 'res_204' | `uc_client_confirm_${keyof UCClientConfirmConfig}` | `uc_i_submit_${UCExecState}`;
12
12
  export type I18nCoreTranslations = Record<I18nCoreKey, I18nTranslation>;
13
13
  export type I18nSource = any;
14
14
  export type I18nSourceSafe = {
@@ -30,7 +30,10 @@ export * from './std/impl/UCDataStoreExternalResourceManager.js';
30
30
  export * from './std/index.js';
31
31
  export * from './target/index.js';
32
32
  export * from './target/lib/cli/CLIManager.js';
33
+ export * from './target/lib/client/AuthDataStore.js';
33
34
  export * from './target/lib/client/consts.js';
35
+ export * from './target/lib/client/impl/InMemoryAuthDataStore.js';
36
+ export * from './target/lib/client/impl/MixedServerClientManager.js';
34
37
  export * from './target/lib/client/ServerClientManager.js';
35
38
  export * from './target/lib/server/consts.js';
36
39
  export * from './target/lib/server/EntrypointsBuilder.js';
package/dist/esm/index.js CHANGED
@@ -31,7 +31,10 @@ export * from './std/impl/UCDataStoreExternalResourceManager.js';
31
31
  export * from './std/index.js';
32
32
  export * from './target/index.js';
33
33
  export * from './target/lib/cli/CLIManager.js';
34
+ export * from './target/lib/client/AuthDataStore.js';
34
35
  export * from './target/lib/client/consts.js';
36
+ export * from './target/lib/client/impl/InMemoryAuthDataStore.js';
37
+ export * from './target/lib/client/impl/MixedServerClientManager.js';
35
38
  export * from './target/lib/client/ServerClientManager.js';
36
39
  export * from './target/lib/server/consts.js';
37
40
  export * from './target/lib/server/EntrypointsBuilder.js';
@@ -1,3 +1,5 @@
1
+ export { MCPHTTPExpressFakeRequestHandlerBuilder } from './target/lib/mcp-server/http/express/MCPHTTPExpressFakeRequestHandlerBuilder.js';
2
+ export type { MCPHTTPExpressRequestHandlerBuilder } from './target/lib/mcp-server/http/express/types.js';
1
3
  export { buildHandler, init, mountHandler, toFile, toReq, toRes, } from './target/lib/server-express/funcs.js';
2
4
  export { HelmetMiddlewareBuilder } from './target/lib/server-express/HelmetMiddlewareBuilder.js';
3
5
  export { NodeExpressServerManager } from './target/node-express-server/NodeExpressServerManager.js';
@@ -1,3 +1,4 @@
1
+ export { MCPHTTPExpressFakeRequestHandlerBuilder } from './target/lib/mcp-server/http/express/MCPHTTPExpressFakeRequestHandlerBuilder.js';
1
2
  export { buildHandler, init, mountHandler, toFile, toReq, toRes, } from './target/lib/server-express/funcs.js';
2
3
  export { HelmetMiddlewareBuilder } from './target/lib/server-express/HelmetMiddlewareBuilder.js';
3
4
  export { NodeExpressServerManager } from './target/node-express-server/NodeExpressServerManager.js';
@@ -1,3 +1,5 @@
1
+ export { MCPHTTPHonoFakeRequestHandlerBuilder } from './target/lib/mcp-server/http/hono/MCPHTTPHonoFakeRequestHandlerBuilder.js';
2
+ export type { MCPHTTPHonoRequestHandlerBuilder } from './target/lib/mcp-server/http/hono/types.js';
1
3
  export { buildHandler, init, mountHandler, toReq, toRes, } from './target/lib/server-hono/funcs.js';
2
4
  export { NodeHonoServerManager } from './target/node-hono-server/NodeHonoServerManager.js';
3
5
  export { bindServer } from './utils/ioc/bindServer.js';
@@ -1,3 +1,4 @@
1
+ export { MCPHTTPHonoFakeRequestHandlerBuilder } from './target/lib/mcp-server/http/hono/MCPHTTPHonoFakeRequestHandlerBuilder.js';
1
2
  export { buildHandler, init, mountHandler, toReq, toRes, } from './target/lib/server-hono/funcs.js';
2
3
  export { NodeHonoServerManager } from './target/node-hono-server/NodeHonoServerManager.js';
3
4
  export { bindServer } from './utils/ioc/bindServer.js';
@@ -0,0 +1,3 @@
1
+ export { MCPHTTPExpressFakeRequestHandlerBuilder } from './target/lib/mcp-server/http/express/MCPHTTPExpressFakeRequestHandlerBuilder.js';
2
+ export { MCPHTTPExpressProtocolRequestHandlerBuilder } from './target/lib/mcp-server/http/express/MCPHTTPExpressProtocolRequestHandlerBuilder.js';
3
+ export type { MCPHTTPExpressRequestHandlerBuilder } from './target/lib/mcp-server/http/express/types.js';
@@ -0,0 +1,2 @@
1
+ export { MCPHTTPExpressFakeRequestHandlerBuilder } from './target/lib/mcp-server/http/express/MCPHTTPExpressFakeRequestHandlerBuilder.js';
2
+ export { MCPHTTPExpressProtocolRequestHandlerBuilder } from './target/lib/mcp-server/http/express/MCPHTTPExpressProtocolRequestHandlerBuilder.js';
@@ -0,0 +1,3 @@
1
+ export { MCPHTTPHonoFakeRequestHandlerBuilder } from './target/lib/mcp-server/http/hono/MCPHTTPHonoFakeRequestHandlerBuilder.js';
2
+ export { MCPHTTPHonoProtocolRequestHandlerBuilder } from './target/lib/mcp-server/http/hono/MCPHTTPHonoProtocolRequestHandlerBuilder.js';
3
+ export type { MCPHTTPHonoRequestHandlerBuilder } from './target/lib/mcp-server/http/hono/types.js';
@@ -0,0 +1,2 @@
1
+ export { MCPHTTPHonoFakeRequestHandlerBuilder } from './target/lib/mcp-server/http/hono/MCPHTTPHonoFakeRequestHandlerBuilder.js';
2
+ export { MCPHTTPHonoProtocolRequestHandlerBuilder } from './target/lib/mcp-server/http/hono/MCPHTTPHonoProtocolRequestHandlerBuilder.js';
@@ -1,2 +1,4 @@
1
1
  export { MCPServerBooter } from './target/lib/mcp-server/MCPServerBooter.js';
2
- export { NodeLocalStdioMCPServerManager } from './target/node-mcp-server/NodeLocalStdioMCPServerManager.js';
2
+ export { MCPStdioRequestHandler } from './target/lib/mcp-server/stdio/MCPStdioRequestHandler.js';
3
+ export { MCPStdioUCClientConfirmManager } from './target/lib/mcp-server/stdio/MCPStdioUCClientConfirmManager.js';
4
+ export { NodeMCPStdioServerManager } from './target/node-mcp-server-stdio/NodeMCPStdioServerManager.js';
@@ -1,2 +1,4 @@
1
1
  export { MCPServerBooter } from './target/lib/mcp-server/MCPServerBooter.js';
2
- export { NodeLocalStdioMCPServerManager } from './target/node-mcp-server/NodeLocalStdioMCPServerManager.js';
2
+ export { MCPStdioRequestHandler } from './target/lib/mcp-server/stdio/MCPStdioRequestHandler.js';
3
+ export { MCPStdioUCClientConfirmManager } from './target/lib/mcp-server/stdio/MCPStdioUCClientConfirmManager.js';
4
+ export { NodeMCPStdioServerManager } from './target/node-mcp-server-stdio/NodeMCPStdioServerManager.js';
@@ -1,4 +1,5 @@
1
1
  import type { AppName } from '../app/index.js';
2
+ import type { SemVerVersion } from '../dt/index.js';
2
3
  import type { UCName } from '../uc/index.js';
3
4
  export interface ProductAppReg {
4
5
  /**
@@ -25,6 +26,7 @@ export type ProductName = string;
25
26
  export interface ProductManifest {
26
27
  appReg: ProductAppReg[];
27
28
  name: ProductName;
29
+ version?: SemVerVersion;
28
30
  }
29
31
  export interface ProductWording {
30
32
  desc: string | null;
@@ -105,5 +105,7 @@ export declare const I18n: {
105
105
  uc_i_submit_idle: string;
106
106
  uc_i_submit_initializing: string;
107
107
  uc_i_submit_submitting: string;
108
+ res_200: string;
109
+ res_204: string;
108
110
  };
109
111
  };
@@ -1,4 +1,4 @@
1
- import type { I18n, I18nLanguageCode, I18nTranslationKey } from '../../i18n/index.js';
1
+ import { type I18n, type I18nLanguageCode, type I18nTranslationKey } from '../../i18n/index.js';
2
2
  import type { I18nManager, I18nManagerTOpts } from '../I18nManager.js';
3
3
  import type { Logger } from '../Logger.js';
4
4
  export declare class SimpleMapI18nManager implements I18nManager {
@@ -12,6 +12,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  };
13
13
  var SimpleMapI18nManager_1;
14
14
  import { inject, injectable } from 'inversify';
15
+ import { I18N_DEFAULT_LANG, } from '../../i18n/index.js';
15
16
  let SimpleMapI18nManager = class SimpleMapI18nManager {
16
17
  static { SimpleMapI18nManager_1 = this; }
17
18
  i18n;
@@ -28,8 +29,9 @@ let SimpleMapI18nManager = class SimpleMapI18nManager {
28
29
  throw new Error('I18n must define at least one lang');
29
30
  }
30
31
  this.entries = new Map();
31
- // biome-ignore lint/style/noNonNullAssertion: we want it
32
- this.currentLang = this.langs[0];
32
+ this.currentLang =
33
+ // biome-ignore lint/style/noNonNullAssertion: we want it
34
+ this.langs.find((l) => l === I18N_DEFAULT_LANG) ?? this.langs[0];
33
35
  }
34
36
  async add(key, value) {
35
37
  this.current().set(key, value);
@@ -1,10 +1,11 @@
1
+ import { logDevWarning } from '../../error/index.js';
1
2
  const UNSAFE_SETTING = 'UNSAFE_CHANGE_ME';
2
3
  export function unsafeDefaultSetting(suffix = '') {
3
4
  return `${UNSAFE_SETTING}${suffix}`;
4
5
  }
5
6
  export function assertSettingNotUnsafe(key, value) {
6
7
  if (typeof value === 'string' && value.startsWith(UNSAFE_SETTING)) {
7
- throw new Error(`"${key}" still has the unsafe default value. Please change it !`);
8
+ throw new Error(`"${key}" still has the unsafe default value`);
8
9
  }
9
10
  if (Array.isArray(value)) {
10
11
  for (const v of value) {
@@ -28,12 +29,10 @@ export function checkSettings(settings, throwIfViolations) {
28
29
  }
29
30
  }
30
31
  if (violations.length > 0) {
31
- // 1m : bold ; 33m : yellow/orange ; 0m : reset
32
- const message = `\x1b[1m\x1b[33m[WARNING] THE SETTINGS ARE NOT SAFE (THIS WILL THROW IN PROD) :\n${violations.join('\n')}\x1b[0m`;
32
+ const message = `Settings contain violations :\n${violations.join('\n')}`;
33
33
  if (throwIfViolations) {
34
34
  throw new Error(message);
35
35
  }
36
- // biome-ignore lint/suspicious/noConsole: we want it
37
- console.warn(message);
36
+ logDevWarning(message);
38
37
  }
39
38
  }
@@ -1,23 +1,27 @@
1
1
  import type { Hono } from 'hono';
2
2
  import type { AppManifest } from '../../app/index.js';
3
- import type { DirPath } from '../../dt/index.js';
3
+ import type { DirPath, URLPath } from '../../dt/index.js';
4
+ import type { ProductUCsLoaderOutput } from '../../product/index.js';
4
5
  import type { Configurable, SettingsManager } from '../../std/index.js';
5
6
  import type { UCDataStore, UCDef, UCHTTPContract, UCInput, UCManager, UCOPIBase } from '../../uc/index.js';
7
+ import type { OpenAPISpec } from '../lib/openapi/types.js';
6
8
  import { CustomerFacingErrorBuilder } from '../lib/server/CustomerFacingErrorBuilder.js';
7
9
  import type { ServerManager } from '../lib/server/ServerManager.js';
8
10
  import { ServerRequestHandler } from '../lib/server/ServerRequestHandler.js';
11
+ import { CORSMiddlewareBuilder } from '../lib/server-hono/CORSMiddlewareBuilder.js';
9
12
  export interface SyncEdgeWorkerHonoServerManagerSettings {
10
13
  sewhsm_bindings_uc_data_store: string | null;
11
14
  }
12
15
  type S = SyncEdgeWorkerHonoServerManagerSettings;
13
16
  export declare class SyncEdgeWorkerHonoServerManager implements Configurable<S>, ServerManager {
17
+ private corsMiddlewareBuilder;
14
18
  private customerFacingErrorBuilder;
15
19
  private serverRequestHandler;
16
20
  private settingsManager;
17
21
  private ucDataStore;
18
22
  private ucManager;
19
23
  protected runtime: Hono;
20
- constructor(customerFacingErrorBuilder: CustomerFacingErrorBuilder, serverRequestHandler: ServerRequestHandler, settingsManager: SettingsManager<S>, ucDataStore: UCDataStore, ucManager: UCManager);
24
+ constructor(corsMiddlewareBuilder: CORSMiddlewareBuilder, customerFacingErrorBuilder: CustomerFacingErrorBuilder, serverRequestHandler: ServerRequestHandler, settingsManager: SettingsManager<S>, ucDataStore: UCDataStore, ucManager: UCManager);
21
25
  s(): SyncEdgeWorkerHonoServerManagerSettings;
22
26
  getRuntime(): Hono;
23
27
  overrideUCManager(ucManager: UCManager): void;
@@ -25,6 +29,8 @@ export declare class SyncEdgeWorkerHonoServerManager implements Configurable<S>,
25
29
  initSync(): void;
26
30
  mount<I extends UCInput | undefined = undefined, OPI0 extends UCOPIBase | undefined = undefined, OPI1 extends UCOPIBase | undefined = undefined>(_appManifest: AppManifest, _ucd: UCDef<I, OPI0, OPI1>, _contract: UCHTTPContract): Promise<void>;
27
31
  mountSync<I extends UCInput | undefined = undefined, OPI0 extends UCOPIBase | undefined = undefined, OPI1 extends UCOPIBase | undefined = undefined>(appManifest: AppManifest, ucd: UCDef<I, OPI0, OPI1>, contract: UCHTTPContract): void;
32
+ mountMCP(_ucs: ProductUCsLoaderOutput, _at: URLPath): Promise<void>;
33
+ mountOpenAPISpec(_spec: OpenAPISpec, _at: URLPath): Promise<void>;
28
34
  mountStaticDir(_dirPath: DirPath): Promise<void>;
29
35
  start(): Promise<void>;
30
36
  stop(): Promise<void>;
@@ -11,18 +11,21 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
13
  import { inject, injectable } from 'inversify';
14
- import { NotAvailableError, NotCallableError } from '../../error/index.js';
14
+ import { NotAvailableError, NotCallableError, NotImplementedError, } from '../../error/index.js';
15
15
  import { CustomerFacingErrorBuilder } from '../lib/server/CustomerFacingErrorBuilder.js';
16
16
  import { ServerRequestHandler } from '../lib/server/ServerRequestHandler.js';
17
+ import { CORSMiddlewareBuilder } from '../lib/server-hono/CORSMiddlewareBuilder.js';
17
18
  import { buildHandler, init, mountHandler } from '../lib/server-hono/funcs.js';
18
19
  let SyncEdgeWorkerHonoServerManager = class SyncEdgeWorkerHonoServerManager {
20
+ corsMiddlewareBuilder;
19
21
  customerFacingErrorBuilder;
20
22
  serverRequestHandler;
21
23
  settingsManager;
22
24
  ucDataStore;
23
25
  ucManager;
24
26
  runtime;
25
- constructor(customerFacingErrorBuilder, serverRequestHandler, settingsManager, ucDataStore, ucManager) {
27
+ constructor(corsMiddlewareBuilder, customerFacingErrorBuilder, serverRequestHandler, settingsManager, ucDataStore, ucManager) {
28
+ this.corsMiddlewareBuilder = corsMiddlewareBuilder;
26
29
  this.customerFacingErrorBuilder = customerFacingErrorBuilder;
27
30
  this.serverRequestHandler = serverRequestHandler;
28
31
  this.settingsManager = settingsManager;
@@ -44,7 +47,7 @@ let SyncEdgeWorkerHonoServerManager = class SyncEdgeWorkerHonoServerManager {
44
47
  throw new NotCallableError('init', 'initSync', 'sync-only');
45
48
  }
46
49
  initSync() {
47
- this.runtime = init(this.customerFacingErrorBuilder);
50
+ this.runtime = init(this.corsMiddlewareBuilder, this.customerFacingErrorBuilder);
48
51
  }
49
52
  async mount(_appManifest, _ucd, _contract) {
50
53
  throw new NotCallableError('mount', 'mountSync', 'sync-only');
@@ -52,6 +55,12 @@ let SyncEdgeWorkerHonoServerManager = class SyncEdgeWorkerHonoServerManager {
52
55
  mountSync(appManifest, ucd, contract) {
53
56
  mountHandler(contract, this.runtime, buildHandler(appManifest, ucd, contract, this.serverRequestHandler, this.ucManager, (c) => this.beforeExec(c)));
54
57
  }
58
+ async mountMCP(_ucs, _at) {
59
+ throw new NotImplementedError('mountMCP');
60
+ }
61
+ async mountOpenAPISpec(_spec, _at) {
62
+ throw new NotImplementedError('mountOpenAPISpec');
63
+ }
55
64
  async mountStaticDir(_dirPath) {
56
65
  throw new NotAvailableError('mountStaticDir');
57
66
  }
@@ -81,12 +90,14 @@ let SyncEdgeWorkerHonoServerManager = class SyncEdgeWorkerHonoServerManager {
81
90
  };
82
91
  SyncEdgeWorkerHonoServerManager = __decorate([
83
92
  injectable(),
84
- __param(0, inject(CustomerFacingErrorBuilder)),
85
- __param(1, inject(ServerRequestHandler)),
86
- __param(2, inject('SettingsManager')),
87
- __param(3, inject('UCDataStore')),
88
- __param(4, inject('UCManager')),
89
- __metadata("design:paramtypes", [CustomerFacingErrorBuilder,
93
+ __param(0, inject(CORSMiddlewareBuilder)),
94
+ __param(1, inject(CustomerFacingErrorBuilder)),
95
+ __param(2, inject(ServerRequestHandler)),
96
+ __param(3, inject('SettingsManager')),
97
+ __param(4, inject('UCDataStore')),
98
+ __param(5, inject('UCManager')),
99
+ __metadata("design:paramtypes", [CORSMiddlewareBuilder,
100
+ CustomerFacingErrorBuilder,
90
101
  ServerRequestHandler, Object, Object, Object])
91
102
  ], SyncEdgeWorkerHonoServerManager);
92
103
  export { SyncEdgeWorkerHonoServerManager };
@@ -1 +1,2 @@
1
- export { TARGETS, type TargetName } from './lib/manifest.js';
1
+ export { TARGET_CAPABILITIES_SAMPLE, TARGETS, type TargetCapabilities, TargetCapability, type TargetDef, type TargetDefSrc, type TargetName, } from './lib/manifest.js';
2
+ export type { OpenAPISpec } from './lib/openapi/types.js';
@@ -1 +1 @@
1
- export { TARGETS } from './lib/manifest.js';
1
+ export { TARGET_CAPABILITIES_SAMPLE, TARGETS, TargetCapability, } from './lib/manifest.js';
@@ -0,0 +1,5 @@
1
+ import type { JWT } from '../../../dt/index.js';
2
+ export interface AuthDataStore {
3
+ get(): Promise<JWT | null>;
4
+ set(jwt: JWT | null): Promise<void>;
5
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ import type { JWT } from '../../../../dt/index.js';
2
+ import type { AuthDataStore } from '../AuthDataStore.js';
3
+ export declare class InMemoryAuthDataStore implements AuthDataStore {
4
+ private jwt;
5
+ get(): Promise<JWT | null>;
6
+ set(jwt: JWT | null): Promise<void>;
7
+ }
@@ -0,0 +1,20 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { injectable } from 'inversify';
8
+ let InMemoryAuthDataStore = class InMemoryAuthDataStore {
9
+ jwt = null;
10
+ async get() {
11
+ return this.jwt;
12
+ }
13
+ async set(jwt) {
14
+ this.jwt = jwt;
15
+ }
16
+ };
17
+ InMemoryAuthDataStore = __decorate([
18
+ injectable()
19
+ ], InMemoryAuthDataStore);
20
+ export { InMemoryAuthDataStore };
@@ -0,0 +1,15 @@
1
+ import type { ApiKey, JWT, URL } from '../../../../dt/index.js';
2
+ import { SettingsServerClientManager } from '../../../../std/impl/SettingsServerClientManager.js';
3
+ import type { HTTPAPICallerBasicAuth } from '../../../../std/index.js';
4
+ import type { AuthDataStore } from '../AuthDataStore.js';
5
+ import type { ServerClientManager, ServerClientManagerOpts } from '../ServerClientManager.js';
6
+ export declare class MixedServerClientManager implements ServerClientManager {
7
+ private authDataStore;
8
+ private settingsServerClientManager;
9
+ constructor(authDataStore: AuthDataStore, settingsServerClientManager: SettingsServerClientManager);
10
+ authApiKey(opts?: ServerClientManagerOpts): Promise<ApiKey | null>;
11
+ authBasic(opts?: ServerClientManagerOpts): Promise<HTTPAPICallerBasicAuth | null>;
12
+ authJWT(_opts?: ServerClientManagerOpts): Promise<JWT | null>;
13
+ baseURL(opts?: ServerClientManagerOpts): Promise<URL>;
14
+ publicApiKey(opts?: ServerClientManagerOpts): Promise<ApiKey | null>;
15
+ }