@webda/core 4.0.0-beta.6 → 4.0.0-beta.8

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 (143) hide show
  1. package/README.md +6 -5
  2. package/lib/application/application.d.ts +18 -0
  3. package/lib/application/application.d.ts.map +1 -1
  4. package/lib/application/application.js +49 -11
  5. package/lib/application/application.js.map +1 -1
  6. package/lib/application/iconfiguration.d.ts +31 -0
  7. package/lib/application/iconfiguration.d.ts.map +1 -1
  8. package/lib/application/iconfiguration.js.map +1 -1
  9. package/lib/application/unpackedapplication.d.ts.map +1 -1
  10. package/lib/application/unpackedapplication.js +7 -5
  11. package/lib/application/unpackedapplication.js.map +1 -1
  12. package/lib/bin/cli-phase.d.ts +18 -2
  13. package/lib/bin/cli-phase.d.ts.map +1 -1
  14. package/lib/bin/cli-phase.js +25 -0
  15. package/lib/bin/cli-phase.js.map +1 -1
  16. package/lib/bin/cli.d.ts +8 -0
  17. package/lib/bin/cli.d.ts.map +1 -1
  18. package/lib/bin/cli.js +94 -35
  19. package/lib/bin/cli.js.map +1 -1
  20. package/lib/configurations/configuration.service.d.ts +7 -0
  21. package/lib/configurations/configuration.service.d.ts.map +1 -1
  22. package/lib/configurations/configuration.service.js +18 -5
  23. package/lib/configurations/configuration.service.js.map +1 -1
  24. package/lib/configurations/kubernetesconfiguration.service.d.ts.map +1 -1
  25. package/lib/configurations/kubernetesconfiguration.service.js +1 -4
  26. package/lib/configurations/kubernetesconfiguration.service.js.map +1 -1
  27. package/lib/contexts/httpcontext.d.ts +15 -1
  28. package/lib/contexts/httpcontext.d.ts.map +1 -1
  29. package/lib/contexts/httpcontext.js +61 -19
  30. package/lib/contexts/httpcontext.js.map +1 -1
  31. package/lib/contexts/operationcontext.d.ts +6 -0
  32. package/lib/contexts/operationcontext.d.ts.map +1 -1
  33. package/lib/contexts/operationcontext.js +16 -2
  34. package/lib/contexts/operationcontext.js.map +1 -1
  35. package/lib/contexts/restcontext.d.ts +110 -0
  36. package/lib/contexts/restcontext.d.ts.map +1 -0
  37. package/lib/contexts/restcontext.js +247 -0
  38. package/lib/contexts/restcontext.js.map +1 -0
  39. package/lib/contexts/streamingcontext.d.ts +71 -0
  40. package/lib/contexts/streamingcontext.d.ts.map +1 -0
  41. package/lib/contexts/streamingcontext.js +93 -0
  42. package/lib/contexts/streamingcontext.js.map +1 -0
  43. package/lib/contexts/webcontext.d.ts +20 -0
  44. package/lib/contexts/webcontext.d.ts.map +1 -1
  45. package/lib/contexts/webcontext.js +43 -10
  46. package/lib/contexts/webcontext.js.map +1 -1
  47. package/lib/contexts/websocketcontext.d.ts +39 -0
  48. package/lib/contexts/websocketcontext.d.ts.map +1 -0
  49. package/lib/contexts/websocketcontext.js +67 -0
  50. package/lib/contexts/websocketcontext.js.map +1 -0
  51. package/lib/core/asyncqueue.d.ts +50 -0
  52. package/lib/core/asyncqueue.d.ts.map +1 -0
  53. package/lib/core/asyncqueue.js +96 -0
  54. package/lib/core/asyncqueue.js.map +1 -0
  55. package/lib/core/core.d.ts +18 -0
  56. package/lib/core/core.d.ts.map +1 -1
  57. package/lib/core/core.js +72 -7
  58. package/lib/core/core.js.map +1 -1
  59. package/lib/core/icore.d.ts +14 -1
  60. package/lib/core/icore.d.ts.map +1 -1
  61. package/lib/core/icore.js.map +1 -1
  62. package/lib/core/instancestorage.d.ts +1 -0
  63. package/lib/core/instancestorage.d.ts.map +1 -1
  64. package/lib/core/instancestorage.js +1 -0
  65. package/lib/core/instancestorage.js.map +1 -1
  66. package/lib/core/operations.d.ts +49 -6
  67. package/lib/core/operations.d.ts.map +1 -1
  68. package/lib/core/operations.js +187 -24
  69. package/lib/core/operations.js.map +1 -1
  70. package/lib/deployers/git.d.ts +4 -2
  71. package/lib/deployers/git.d.ts.map +1 -1
  72. package/lib/deployers/git.js +44 -5
  73. package/lib/deployers/git.js.map +1 -1
  74. package/lib/errors/errors.d.ts +15 -0
  75. package/lib/errors/errors.d.ts.map +1 -1
  76. package/lib/errors/errors.js +20 -0
  77. package/lib/errors/errors.js.map +1 -1
  78. package/lib/index.d.ts +5 -0
  79. package/lib/index.d.ts.map +1 -1
  80. package/lib/index.js +5 -0
  81. package/lib/index.js.map +1 -1
  82. package/lib/rest/restoperationstransport.service.d.ts +108 -0
  83. package/lib/rest/restoperationstransport.service.d.ts.map +1 -1
  84. package/lib/rest/restoperationstransport.service.js +360 -10
  85. package/lib/rest/restoperationstransport.service.js.map +1 -1
  86. package/lib/rest/router.service.d.ts +1 -1
  87. package/lib/rest/router.service.d.ts.map +1 -1
  88. package/lib/rest/router.service.js +5 -2
  89. package/lib/rest/router.service.js.map +1 -1
  90. package/lib/services/authenticatedencryption.d.ts +25 -0
  91. package/lib/services/authenticatedencryption.d.ts.map +1 -0
  92. package/lib/services/authenticatedencryption.js +56 -0
  93. package/lib/services/authenticatedencryption.js.map +1 -0
  94. package/lib/services/binary.service.d.ts +1 -1
  95. package/lib/services/binary.service.d.ts.map +1 -1
  96. package/lib/services/binary.service.js.map +1 -1
  97. package/lib/services/cloudbinary.d.ts.map +1 -1
  98. package/lib/services/cloudbinary.js +3 -2
  99. package/lib/services/cloudbinary.js.map +1 -1
  100. package/lib/services/command.d.ts +7 -1
  101. package/lib/services/command.d.ts.map +1 -1
  102. package/lib/services/command.js +4 -0
  103. package/lib/services/command.js.map +1 -1
  104. package/lib/services/cryptoservice.service.d.ts +405 -25
  105. package/lib/services/cryptoservice.service.d.ts.map +1 -1
  106. package/lib/services/cryptoservice.service.js +779 -72
  107. package/lib/services/cryptoservice.service.js.map +1 -1
  108. package/lib/services/httpserver.service.d.ts.map +1 -1
  109. package/lib/services/httpserver.service.js +20 -9
  110. package/lib/services/httpserver.service.js.map +1 -1
  111. package/lib/services/icryptoservice.d.ts +11 -0
  112. package/lib/services/icryptoservice.d.ts.map +1 -1
  113. package/lib/services/icryptoservice.js +2 -0
  114. package/lib/services/icryptoservice.js.map +1 -1
  115. package/lib/services/mailer.service.d.ts +4 -0
  116. package/lib/services/mailer.service.d.ts.map +1 -1
  117. package/lib/services/mailer.service.js +7 -1
  118. package/lib/services/mailer.service.js.map +1 -1
  119. package/lib/services/operationstransport.d.ts +13 -0
  120. package/lib/services/operationstransport.d.ts.map +1 -1
  121. package/lib/services/operationstransport.js +28 -6
  122. package/lib/services/operationstransport.js.map +1 -1
  123. package/lib/services/pki.encrypter.d.ts +214 -0
  124. package/lib/services/pki.encrypter.d.ts.map +1 -0
  125. package/lib/services/pki.encrypter.js +350 -0
  126. package/lib/services/pki.encrypter.js.map +1 -0
  127. package/lib/services/secretscheck.d.ts +120 -0
  128. package/lib/services/secretscheck.d.ts.map +1 -0
  129. package/lib/services/secretscheck.js +322 -0
  130. package/lib/services/secretscheck.js.map +1 -0
  131. package/lib/services/servicecommands.d.ts +8 -4
  132. package/lib/services/servicecommands.d.ts.map +1 -1
  133. package/lib/services/servicecommands.js +14 -5
  134. package/lib/services/servicecommands.js.map +1 -1
  135. package/lib/session/manager.model.d.ts +3 -1
  136. package/lib/session/manager.model.d.ts.map +1 -1
  137. package/lib/session/manager.model.js +6 -3
  138. package/lib/session/manager.model.js.map +1 -1
  139. package/lib/test/objects.d.ts.map +1 -1
  140. package/lib/test/objects.js +3 -1
  141. package/lib/test/objects.js.map +1 -1
  142. package/package.json +12 -11
  143. package/webda.module.json +135 -41
@@ -29,27 +29,177 @@ function checkOperationPermission(context, operationId, operation) {
29
29
  return true;
30
30
  }
31
31
  /**
32
- * Check whether the context's session is allowed to call an operation
32
+ * @returns the authorizers of the current instance
33
+ */
34
+ function useAuthorizers() {
35
+ const storage = useInstanceStorage();
36
+ storage.operationAuthorizers ??= new Set();
37
+ return storage.operationAuthorizers;
38
+ }
39
+ /**
40
+ * Register an operation authorizer
41
+ * @param fn - the authorizer
42
+ */
43
+ export function registerOperationAuthorizer(fn) {
44
+ useAuthorizers().add(fn);
45
+ }
46
+ /**
47
+ * Unregister an operation authorizer
48
+ * @param fn - the authorizer
49
+ */
50
+ export function unregisterOperationAuthorizer(fn) {
51
+ useAuthorizers().delete(fn);
52
+ }
53
+ /**
54
+ * @returns the registered operation authorizers
55
+ */
56
+ export function listOperationAuthorizers() {
57
+ return [...useAuthorizers()];
58
+ }
59
+ /**
60
+ * Run every authorizer; the first refusal wins
61
+ * @param context - the execution context
62
+ * @param operationId - the operation identifier
63
+ * @param operation - the operation definition
64
+ * @param options - input and probe mode
65
+ * @param options.input - the operation input
66
+ * @param options.probe - true to ask whether some input could be allowed
67
+ * @returns true when every authorizer allows, otherwise the refusal reason
68
+ * @throws WebdaError.HttpError thrown by an authorizer
69
+ */
70
+ async function runAuthorizers(context, operationId, operation, options) {
71
+ for (const authorizer of useAuthorizers()) {
72
+ let allowed;
73
+ try {
74
+ allowed = await authorizer(context, operationId, operation, options);
75
+ }
76
+ catch (err) {
77
+ if (err instanceof WebdaError.HttpError) {
78
+ throw err;
79
+ }
80
+ useLog("WARN", `Operation authorizer failed on ${operationId}`, err);
81
+ return err?.message ?? "authorizer error";
82
+ }
83
+ if (allowed !== true) {
84
+ return typeof allowed === "string" ? allowed : "refused";
85
+ }
86
+ }
87
+ return true;
88
+ }
89
+ /**
90
+ * Check whether the context is allowed to call an operation: the session `permission` then the authorizers
33
91
  *
34
- * Unlike {@link checkOperation}, this never throws: unknown operations and
35
- * permission queries that cannot be evaluated return false.
92
+ * Unlike {@link checkOperation}, this never throws: unknown operations, refusals and errors return false.
93
+ *
94
+ * Without `options` the authorizers are asked in probe mode ("could the caller call it with some input?"), for
95
+ * listings. With `options`, they decide on `options.input` exactly.
36
96
  *
37
97
  * @param context - the execution context holding the session
38
98
  * @param operationId - the operation identifier
39
- * @returns true if the operation exists and its permission (if any) accepts the session
99
+ * @param options - the operation input for an exact check
100
+ * @param options.input - the operation input
101
+ * @returns true if the operation exists and is allowed
40
102
  */
41
- export function canCallOperation(context, operationId) {
103
+ export async function canCallOperation(context, operationId, options) {
42
104
  const operation = useInstanceStorage().operations[operationId];
43
105
  if (!operation) {
44
106
  return false;
45
107
  }
46
108
  try {
47
- return checkOperationPermission(context, operationId, operation);
109
+ if (!checkOperationPermission(context, operationId, operation)) {
110
+ return false;
111
+ }
112
+ return ((await runAuthorizers(context, operationId, operation, {
113
+ input: options?.input,
114
+ probe: options === undefined
115
+ })) === true);
48
116
  }
49
117
  catch {
50
118
  return false;
51
119
  }
52
120
  }
121
+ /**
122
+ * JSON Schema keyword the compiler sets on a streamed `.input` or `.output` schema
123
+ */
124
+ export const STREAM_SCHEMA_KEYWORD = "x-webda-stream";
125
+ /**
126
+ * Streaming mode of an operation
127
+ * @param operation - the operation definition
128
+ * @returns its mode, `none` when unknown
129
+ */
130
+ export function getOperationStreaming(operation) {
131
+ if (operation?.streaming)
132
+ return operation.streaming;
133
+ const grpc = operation?.grpc;
134
+ return (typeof grpc === "object" && grpc?.streaming) || "none";
135
+ }
136
+ /**
137
+ * @param operation - the operation definition
138
+ * @returns true when the operation reads a stream of input messages
139
+ */
140
+ function hasStreamedInput(operation) {
141
+ const streaming = getOperationStreaming(operation);
142
+ return streaming === "client" || streaming === "bidi";
143
+ }
144
+ /**
145
+ * Derive the streaming mode at registration: explicit grpc.streaming, else the schema markers and generator flag
146
+ * @param definition - the operation being registered (input/output already resolved)
147
+ * @returns the mode
148
+ */
149
+ function computeStreaming(definition) {
150
+ if (typeof definition.grpc === "object" && definition.grpc?.streaming)
151
+ return definition.grpc.streaming;
152
+ const marked = (ref) => ref !== "void" && useApplication().getSchema(ref)?.[STREAM_SCHEMA_KEYWORD] === true;
153
+ const input = marked(definition.input);
154
+ const output = marked(definition.output) || definition.generator === true;
155
+ if (input && output)
156
+ return "bidi";
157
+ if (input)
158
+ return "client";
159
+ return output ? "server" : "none";
160
+ }
161
+ /**
162
+ * Turn an AJV validation error into the BadRequest an operation answers
163
+ * @param operationId - the operation
164
+ * @param err - the validation error
165
+ * @returns the error to throw
166
+ */
167
+ function invalidInput(operationId, err) {
168
+ // Include the failing attribute path (AJV `instancePath`) in the human
169
+ // message so the client can tell *which* field is invalid; attach the
170
+ // raw `errors[]` as structured `details` so consumers can map errors
171
+ // to fields without parsing the string.
172
+ const summary = err.errors
173
+ .map(e => {
174
+ const path = e.instancePath ||
175
+ (e.params && e.params.missingProperty ? `/${e.params.missingProperty}` : "/");
176
+ return `${path} ${e.message}`;
177
+ })
178
+ .join("; ");
179
+ return new WebdaError.BadRequest(`${operationId} InvalidInput: ${summary}`, { errors: err.errors });
180
+ }
181
+ /**
182
+ * The streamed input of an operation, each message validated against its input schema as it is read
183
+ * @param operationId - the operation
184
+ * @param schema - its input schema name
185
+ * @param source - the messages from the transport
186
+ * @returns the validated messages
187
+ */
188
+ async function* validatedStream(operationId, schema, source) {
189
+ for await (const item of source) {
190
+ if (schema && schema !== "void") {
191
+ try {
192
+ validateSchema(schema, item);
193
+ }
194
+ catch (err) {
195
+ if (err instanceof ValidationError)
196
+ throw invalidInput(operationId, err);
197
+ throw err;
198
+ }
199
+ }
200
+ yield item;
201
+ }
202
+ }
53
203
  /**
54
204
  * Serialize a primary key to the canonical string identifying an operation subject.
55
205
  *
@@ -267,10 +417,18 @@ function coerceMergedToSchema(schema, merged) {
267
417
  * @param operationId - the operation identifier
268
418
  */
269
419
  async function checkOperation(context, operationId) {
420
+ context.setExtension("operationResolvedInput", undefined);
270
421
  const operations = useInstanceStorage().operations;
271
422
  if (!checkOperationPermission(context, operationId, operations[operationId])) {
272
423
  throw new WebdaError.Forbidden(`${operationId} PermissionDenied`);
273
424
  }
425
+ if (hasStreamedInput(operations[operationId])) {
426
+ if (!context.getExtension("operationInputStream")) {
427
+ throw new WebdaError.BadRequest(`${operationId} expects a stream of messages (gRPC stream or WebSocket)`);
428
+ }
429
+ // Each message is validated as the operation reads it (resolveArguments)
430
+ return;
431
+ }
274
432
  try {
275
433
  if (operations[operationId].input && operations[operationId].input !== "void") {
276
434
  // Validate the merged (path params + request body) against the input schema.
@@ -300,23 +458,18 @@ async function checkOperation(context, operationId) {
300
458
  }
301
459
  catch (err) {
302
460
  if (err instanceof ValidationError) {
303
- // Include the failing attribute path (AJV `instancePath`) in the human
304
- // message so the client can tell *which* field is invalid; attach the
305
- // raw `errors[]` as structured `details` so consumers can map errors
306
- // to fields without parsing the string.
307
- const summary = err.errors
308
- .map(e => {
309
- const path = e.instancePath ||
310
- (e.params && e.params.missingProperty ? `/${e.params.missingProperty}` : "/");
311
- return `${path} ${e.message}`;
312
- })
313
- .join("; ");
314
- throw new WebdaError.BadRequest(`${operationId} InvalidInput: ${summary}`, {
315
- errors: err.errors
316
- });
461
+ throw invalidInput(operationId, err);
317
462
  }
318
463
  throw err;
319
464
  }
465
+ const authorized = await runAuthorizers(context, operationId, operations[operationId], {
466
+ input: context.getExtension("operationResolvedInput"),
467
+ probe: false
468
+ });
469
+ if (authorized !== true) {
470
+ useLog("DEBUG", `Operation ${operationId} refused by an authorizer`, authorized);
471
+ throw new WebdaError.Forbidden(`${operationId} PermissionDenied`);
472
+ }
320
473
  }
321
474
  /**
322
475
  * Resolve method arguments from the OperationContext using the operation's input schema metadata.
@@ -331,6 +484,10 @@ async function checkOperation(context, operationId) {
331
484
  * @returns an array of resolved arguments to pass to the operation method
332
485
  */
333
486
  export async function resolveArguments(context, operation) {
487
+ if (hasStreamedInput(operation)) {
488
+ const source = context.getExtension("operationInputStream");
489
+ return [validatedStream(operation.id, operation.input, source)];
490
+ }
334
491
  // Prefer the merged-and-coerced object that `checkOperation` left on the
335
492
  // context. Re-merging here would discard AJV's `coerceTypes` rewrites
336
493
  // (e.g. string `"0"` from a `{index}` URL slot back to a `number`).
@@ -426,11 +583,16 @@ export async function callOperation(context, operationId) {
426
583
  if (result !== undefined && result !== null) {
427
584
  if (typeof result[Symbol.asyncIterator] === "function") {
428
585
  // AsyncGenerator — stream each yielded value; flag it so contexts
429
- // (e.g. MCP) can tell streamed chunks from a single written result
586
+ // (e.g. MCP) can tell streamed chunks from a single written result.
587
+ // The generator body runs during iteration: iterate inside the context so useContext() keeps working
588
+ // after a yield, and wait whenever the client cannot take more (backpressure)
430
589
  context.setExtension("operationStreaming", true);
431
- for await (const chunk of result) {
432
- context.write(chunk);
433
- }
590
+ await runWithContext(context, async () => {
591
+ for await (const chunk of result) {
592
+ if (context.write(chunk) === false)
593
+ await context.drained();
594
+ }
595
+ });
434
596
  }
435
597
  else if (context.getOutput() === undefined) {
436
598
  // Normal return — write to context only if nothing written yet
@@ -528,6 +690,7 @@ export function registerOperation(operationId, definition) {
528
690
  operations[operationId][key] = "void";
529
691
  }
530
692
  });
693
+ operations[operationId].streaming = definition.streaming ?? computeStreaming(operations[operationId]);
531
694
  }
532
695
  /**
533
696
  * Decorator that registers a class method as an operation with optional configuration
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/core/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/core/operations.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { GitInformation } from "../application/iconfiguration.js";
2
2
  /**
3
3
  * Compute the snapshot version used when the current commit is not tagged with the package version
4
4
  *
5
- * The patch is incremented (or the prerelease dropped) and the build metadata is the date
5
+ * The patch is incremented (or the prerelease dropped) and the build metadata is the UTC date
6
6
  * as `yyyymmddHHMMssl`: `1.2.3` becomes `1.2.4+20261004130507009`
7
7
  *
8
8
  * @param version - the package version
@@ -16,7 +16,9 @@ export declare function nextSnapshotVersion(version: string, date?: Date): strin
16
16
  * The `GIT_INFO` environment variable (base64 JSON of {@link GitInformation}) takes precedence,
17
17
  * useful when building without the repository (containers). The version is the package version
18
18
  * when the current commit has the tag `<packageName>@<version>` or `v<version>`, otherwise a
19
- * snapshot version from {@link nextSnapshotVersion}.
19
+ * snapshot version from {@link nextSnapshotVersion} dated by `SOURCE_DATE_EPOCH` or the commit.
20
+ * Uncommitted changes add `dirty.<hash of the changes>` to the build metadata, so the same sources
21
+ * always give the same version.
20
22
  *
21
23
  * @param cwd - a folder within the repository
22
24
  * @param packageName - the package name, to find the version tag
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/deployers/git.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,IAAiB,GAAG,MAAM,CAWpF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,GAAE,MAAW,EAAE,OAAO,GAAE,MAAW,GAAG,cAAc,CA4B7G"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/deployers/git.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,IAAiB,GAAG,MAAM,CAYpF;AAuCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,GAAE,MAAW,EAAE,OAAO,GAAE,MAAW,GAAG,cAAc,CAkC7G"}
@@ -1,8 +1,11 @@
1
1
  import { execFileSync } from "node:child_process";
2
+ import { createHash } from "node:crypto";
3
+ import { lstatSync, readFileSync, readlinkSync } from "node:fs";
4
+ import { join } from "node:path";
2
5
  /**
3
6
  * Compute the snapshot version used when the current commit is not tagged with the package version
4
7
  *
5
- * The patch is incremented (or the prerelease dropped) and the build metadata is the date
8
+ * The patch is incremented (or the prerelease dropped) and the build metadata is the UTC date
6
9
  * as `yyyymmddHHMMssl`: `1.2.3` becomes `1.2.4+20261004130507009`
7
10
  *
8
11
  * @param version - the package version
@@ -16,17 +19,47 @@ export function nextSnapshotVersion(version, date = new Date()) {
16
19
  }
17
20
  const [, major, minor, patch, prerelease] = match;
18
21
  const pad = (value, length = 2) => value.toString().padStart(length, "0");
19
- const stamp = `${date.getFullYear()}${pad(date.getMonth() + 1)}${pad(date.getDate())}` +
20
- `${pad(date.getHours())}${pad(date.getMinutes())}${pad(date.getSeconds())}${pad(date.getMilliseconds(), 3)}`;
22
+ const stamp = `${date.getUTCFullYear()}${pad(date.getUTCMonth() + 1)}${pad(date.getUTCDate())}` +
23
+ `${pad(date.getUTCHours())}${pad(date.getUTCMinutes())}${pad(date.getUTCSeconds())}` +
24
+ pad(date.getUTCMilliseconds(), 3);
21
25
  return `${major}.${minor}.${prerelease ? patch : parseInt(patch) + 1}+${stamp}`;
22
26
  }
27
+ /**
28
+ * Hash the uncommitted changes of a repository: tracked changes against HEAD and untracked files
29
+ * that are not ignored
30
+ *
31
+ * @param root - the repository root
32
+ * @returns the first 8 hex characters of the hash, undefined when the working tree is clean
33
+ */
34
+ function uncommittedHash(root) {
35
+ const run = (...args) => execFileSync("git", args, { cwd: root, stdio: "pipe", maxBuffer: 1024 ** 3 });
36
+ // Fixed diff format: the user configuration (colors, prefixes, renames) must not change the hash
37
+ const diff = run("diff", "HEAD", "--binary", "--no-color", "--no-ext-diff", "--no-renames", "--src-prefix=a/", "--dst-prefix=b/");
38
+ const untracked = run("ls-files", "--others", "--exclude-standard", "-z")
39
+ .toString()
40
+ .split("\0")
41
+ .filter(file => file !== "")
42
+ .sort();
43
+ if (!diff.length && !untracked.length) {
44
+ return undefined;
45
+ }
46
+ const hash = createHash("sha256").update(diff);
47
+ for (const file of untracked) {
48
+ const path = join(root, file);
49
+ hash.update(`\0${file}\0`);
50
+ hash.update(lstatSync(path).isSymbolicLink() ? readlinkSync(path) : readFileSync(path));
51
+ }
52
+ return hash.digest("hex").substring(0, 8);
53
+ }
23
54
  /**
24
55
  * Retrieve the git information of a repository
25
56
  *
26
57
  * The `GIT_INFO` environment variable (base64 JSON of {@link GitInformation}) takes precedence,
27
58
  * useful when building without the repository (containers). The version is the package version
28
59
  * when the current commit has the tag `<packageName>@<version>` or `v<version>`, otherwise a
29
- * snapshot version from {@link nextSnapshotVersion}.
60
+ * snapshot version from {@link nextSnapshotVersion} dated by `SOURCE_DATE_EPOCH` or the commit.
61
+ * Uncommitted changes add `dirty.<hash of the changes>` to the build metadata, so the same sources
62
+ * always give the same version.
30
63
  *
31
64
  * @param cwd - a folder within the repository
32
65
  * @param packageName - the package name, to find the version tag
@@ -43,13 +76,19 @@ export function getGitInformation(cwd, packageName = "", version = "") {
43
76
  .split("\n")
44
77
  .filter(tag => tag !== "");
45
78
  const tag = [`${packageName}@${version}`, `v${version}`].find(candidate => tags.includes(candidate)) ?? "";
79
+ const epoch = process.env.SOURCE_DATE_EPOCH ?? git("log", "-1", "--format=%ct");
80
+ let gitVersion = tag ? version : nextSnapshotVersion(version, new Date(parseInt(epoch) * 1000));
81
+ const dirty = gitVersion ? uncommittedHash(git("rev-parse", "--show-toplevel")) : undefined;
82
+ if (dirty) {
83
+ gitVersion += `${gitVersion.includes("+") ? "." : "+"}dirty.${dirty}`;
84
+ }
46
85
  return {
47
86
  commit: git("rev-parse", "HEAD"),
48
87
  branch: git("rev-parse", "--abbrev-ref", "HEAD"),
49
88
  short: git("rev-parse", "--short", "HEAD"),
50
89
  tag,
51
90
  tags,
52
- version: tag ? version : nextSnapshotVersion(version)
91
+ version: gitVersion
53
92
  };
54
93
  }
55
94
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/deployers/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/deployers/git.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,13 @@ export declare class Forbidden extends HttpError {
55
55
  */
56
56
  constructor(message: string);
57
57
  }
58
+ /** HTTP 415 Unsupported Media Type error */
59
+ export declare class UnsupportedMediaType extends HttpError {
60
+ /** Create a new UnsupportedMediaType
61
+ * @param message - error message
62
+ */
63
+ constructor(message: string);
64
+ }
58
65
  /** HTTP 404 Not Found error */
59
66
  export declare class NotFound extends HttpError {
60
67
  /** Create a new NotFound
@@ -123,4 +130,12 @@ export declare class Redirect extends HttpError {
123
130
  */
124
131
  constructor(message: string, location: string);
125
132
  }
133
+ /**
134
+ * Raised inside a streaming operation when its client went away: thrown by the context's write() so the
135
+ * operation's generator is closed (its `finally` blocks run)
136
+ */
137
+ export declare class OperationCancelledError extends Error {
138
+ /** Create the cancellation error */
139
+ constructor();
140
+ }
126
141
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,YAAY,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAGxC;IAED;;;OAGG;IACH,OAAO,WAEN;IAED;;;OAGG;IACH,eAAe,WAEd;CACF;AAED,wFAAwF;AACxF,qBAAa,SAAU,SAAQ,SAAS;IAe7B,UAAU,EAAE,MAAM;IAd3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC;IAEd;;;;OAIG;IACH,YACE,OAAO,EAAE,MAAM,EACR,UAAU,GAAE,MAAY,EAC/B,OAAO,CAAC,EAAE,GAAG,EAOd;IAED;;;OAGG;IACH,eAAe,IAAI,MAAM,CAExB;CACF;AAED,kCAAkC;AAClC,qBAAa,YAAa,SAAQ,SAAS;IACzC;;OAEG;IACH,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,+BAA+B;AAC/B,qBAAa,SAAU,SAAQ,SAAS;IACtC;;OAEG;IACH,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,+BAA+B;AAC/B,qBAAa,QAAS,SAAQ,SAAS;IACrC;;OAEG;IACH,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,iCAAiC;AACjC,qBAAa,UAAW,SAAQ,SAAS;IACvC;;;OAGG;IACH,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAEzC;CACF;AAED,8BAA8B;AAC9B,qBAAa,QAAS,SAAQ,SAAS;IACrC;;OAEG;IACH,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,qCAAqC;AACrC,qBAAa,cAAe,SAAQ,SAAS;IAC3C;;OAEG;IACH,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,yCAAyC;AACzC,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C;;OAEG;IACH,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,uCAAuC;AACvC,qBAAa,eAAgB,SAAQ,SAAS;IAC5C;;OAEG;IACH,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,0BAA0B;AAC1B,qBAAa,IAAK,SAAQ,SAAS;IACjC;;OAEG;IACH,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,yCAAyC;AACzC,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C;;OAEG;IACH,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,SAAS;IAO5B,QAAQ,EAAE,MAAM;IANzB;;;OAGG;IACH,YACE,OAAO,EAAE,MAAM,EACR,QAAQ,EAAE,MAAM,EAGxB;CACF"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,YAAY,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAGxC;IAED;;;OAGG;IACH,OAAO,WAEN;IAED;;;OAGG;IACH,eAAe,WAEd;CACF;AAED,wFAAwF;AACxF,qBAAa,SAAU,SAAQ,SAAS;IAe7B,UAAU,EAAE,MAAM;IAd3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC;IAEd;;;;OAIG;IACH,YACE,OAAO,EAAE,MAAM,EACR,UAAU,GAAE,MAAY,EAC/B,OAAO,CAAC,EAAE,GAAG,EAOd;IAED;;;OAGG;IACH,eAAe,IAAI,MAAM,CAExB;CACF;AAED,kCAAkC;AAClC,qBAAa,YAAa,SAAQ,SAAS;IACzC;;OAEG;IACH,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,+BAA+B;AAC/B,qBAAa,SAAU,SAAQ,SAAS;IACtC;;OAEG;IACH,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,4CAA4C;AAC5C,qBAAa,oBAAqB,SAAQ,SAAS;IACjD;;OAEG;IACH,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,+BAA+B;AAC/B,qBAAa,QAAS,SAAQ,SAAS;IACrC;;OAEG;IACH,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,iCAAiC;AACjC,qBAAa,UAAW,SAAQ,SAAS;IACvC;;;OAGG;IACH,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAEzC;CACF;AAED,8BAA8B;AAC9B,qBAAa,QAAS,SAAQ,SAAS;IACrC;;OAEG;IACH,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,qCAAqC;AACrC,qBAAa,cAAe,SAAQ,SAAS;IAC3C;;OAEG;IACH,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,yCAAyC;AACzC,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C;;OAEG;IACH,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,uCAAuC;AACvC,qBAAa,eAAgB,SAAQ,SAAS;IAC5C;;OAEG;IACH,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,0BAA0B;AAC1B,qBAAa,IAAK,SAAQ,SAAS;IACjC;;OAEG;IACH,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,yCAAyC;AACzC,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C;;OAEG;IACH,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,SAAS;IAO5B,QAAQ,EAAE,MAAM;IANzB;;;OAGG;IACH,YACE,OAAO,EAAE,MAAM,EACR,QAAQ,EAAE,MAAM,EAGxB;CACF;AAED;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,oCAAoC;IACpC,cAGC;CACF"}
@@ -75,6 +75,15 @@ export class Forbidden extends HttpError {
75
75
  super(message, 403);
76
76
  }
77
77
  }
78
+ /** HTTP 415 Unsupported Media Type error */
79
+ export class UnsupportedMediaType extends HttpError {
80
+ /** Create a new UnsupportedMediaType
81
+ * @param message - error message
82
+ */
83
+ constructor(message) {
84
+ super(message, 415);
85
+ }
86
+ }
78
87
  /** HTTP 404 Not Found error */
79
88
  export class NotFound extends HttpError {
80
89
  /** Create a new NotFound
@@ -162,4 +171,15 @@ export class Redirect extends HttpError {
162
171
  this.location = location;
163
172
  }
164
173
  }
174
+ /**
175
+ * Raised inside a streaming operation when its client went away: thrown by the context's write() so the
176
+ * operation's generator is closed (its `finally` blocks run)
177
+ */
178
+ export class OperationCancelledError extends Error {
179
+ /** Create the cancellation error */
180
+ constructor() {
181
+ super("Cancelled");
182
+ this.name = "OperationCancelledError";
183
+ }
184
+ }
165
185
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -14,10 +14,13 @@ export * from "./contexts/icontext.js";
14
14
  export * from "./contexts/execution.js";
15
15
  export * from "./contexts/webcontext.js";
16
16
  export * from "./contexts/httpcontext.js";
17
+ export * from "./contexts/streamingcontext.js";
18
+ export * from "./contexts/websocketcontext.js";
17
19
  export * from "./contexts/globalcontext.js";
18
20
  export * from "./core/icore.js";
19
21
  export * from "./core/instancestorage.js";
20
22
  export * from "./core/operations.js";
23
+ export * from "./core/asyncqueue.js";
21
24
  export * from "./core/core.js";
22
25
  export * from "./core/hooks.js";
23
26
  export * from "./cache/cache.js";
@@ -64,6 +67,8 @@ export * from "./services/cloudbinary.js";
64
67
  export * from "./services/prometheus.service.js";
65
68
  export * from "./services/resource.service.js";
66
69
  export * from "./services/cryptoservice.service.js";
70
+ export * from "./services/secretscheck.js";
71
+ export * from "./services/pki.encrypter.js";
67
72
  export * from "./services/token.service.js";
68
73
  export * from "./models/refreshtoken.model.js";
69
74
  export * from "./services/serviceparameters.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -14,10 +14,13 @@ export * from "./contexts/icontext.js";
14
14
  export * from "./contexts/execution.js";
15
15
  export * from "./contexts/webcontext.js";
16
16
  export * from "./contexts/httpcontext.js";
17
+ export * from "./contexts/streamingcontext.js";
18
+ export * from "./contexts/websocketcontext.js";
17
19
  export * from "./contexts/globalcontext.js";
18
20
  export * from "./core/icore.js";
19
21
  export * from "./core/instancestorage.js";
20
22
  export * from "./core/operations.js";
23
+ export * from "./core/asyncqueue.js";
21
24
  export * from "./core/core.js";
22
25
  export * from "./core/hooks.js";
23
26
  export * from "./cache/cache.js";
@@ -63,6 +66,8 @@ export * from "./services/cloudbinary.js";
63
66
  export * from "./services/prometheus.service.js";
64
67
  export * from "./services/resource.service.js";
65
68
  export * from "./services/cryptoservice.service.js";
69
+ export * from "./services/secretscheck.js";
70
+ export * from "./services/pki.encrypter.js";
66
71
  export * from "./services/token.service.js";
67
72
  export * from "./models/refreshtoken.model.js";
68
73
  export * from "./services/serviceparameters.js";