@thymian/core 0.0.1 → 0.0.3-canary.20260125-996434f

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 (50) hide show
  1. package/README.md +8 -4
  2. package/dist/actions/format.action.d.ts +4 -0
  3. package/dist/actions/format.action.d.ts.map +1 -0
  4. package/dist/actions/format.action.js +2 -0
  5. package/dist/actions/format.action.js.map +1 -0
  6. package/dist/actions/index.d.ts +3 -0
  7. package/dist/actions/index.d.ts.map +1 -1
  8. package/dist/actions/index.js +1 -0
  9. package/dist/actions/index.js.map +1 -1
  10. package/dist/actions/load-format.action.d.ts +4 -1
  11. package/dist/actions/load-format.action.d.ts.map +1 -1
  12. package/dist/actions/load-format.action.js.map +1 -1
  13. package/dist/emitter/thymian-emitter.d.ts +9 -2
  14. package/dist/emitter/thymian-emitter.d.ts.map +1 -1
  15. package/dist/emitter/thymian-emitter.js +51 -12
  16. package/dist/emitter/thymian-emitter.js.map +1 -1
  17. package/dist/events/report.event.d.ts +3 -0
  18. package/dist/events/report.event.d.ts.map +1 -1
  19. package/dist/events/report.event.js +10 -0
  20. package/dist/events/report.event.js.map +1 -1
  21. package/dist/format/edges/edge.d.ts +1 -0
  22. package/dist/format/edges/edge.d.ts.map +1 -1
  23. package/dist/format/http-filter-expression-to-transaction-filter.d.ts +5 -0
  24. package/dist/format/http-filter-expression-to-transaction-filter.d.ts.map +1 -0
  25. package/dist/format/http-filter-expression-to-transaction-filter.js +88 -0
  26. package/dist/format/http-filter-expression-to-transaction-filter.js.map +1 -0
  27. package/dist/format/nodes/node.d.ts +1 -0
  28. package/dist/format/nodes/node.d.ts.map +1 -1
  29. package/dist/format/thymian-format.d.ts +36 -12
  30. package/dist/format/thymian-format.d.ts.map +1 -1
  31. package/dist/format/thymian-format.js +170 -33
  32. package/dist/format/thymian-format.js.map +1 -1
  33. package/dist/format/thymian-schema.d.ts +1 -0
  34. package/dist/format/thymian-schema.d.ts.map +1 -1
  35. package/dist/format/utils.d.ts +2 -2
  36. package/dist/format/utils.d.ts.map +1 -1
  37. package/dist/format/utils.js +9 -5
  38. package/dist/format/utils.js.map +1 -1
  39. package/dist/thymian-plugin.d.ts.map +1 -1
  40. package/dist/thymian-plugin.js +4 -2
  41. package/dist/thymian-plugin.js.map +1 -1
  42. package/dist/thymian.d.ts +8 -1
  43. package/dist/thymian.d.ts.map +1 -1
  44. package/dist/thymian.js +40 -27
  45. package/dist/thymian.js.map +1 -1
  46. package/dist/utils.d.ts +3 -1
  47. package/dist/utils.d.ts.map +1 -1
  48. package/dist/utils.js +9 -2
  49. package/dist/utils.js.map +1 -1
  50. package/package.json +2 -1
package/README.md CHANGED
@@ -1,7 +1,11 @@
1
- # core
1
+ # Thymian
2
2
 
3
- This library was generated with [Nx](https://nx.dev).
3
+ Add resilience and HTTP conformance to your API development workflow. Thymian is a lightweight, language-agnostic library that helps you build robust APIs.
4
4
 
5
- ## Building
5
+ ## @thymian/core
6
6
 
7
- Run `nx build core` to build the library.
7
+ Core framework for Thymian's plugin system.
8
+
9
+ ## Documentation
10
+
11
+ For comprehensive documentation, visit [Thymian Documentation](https://thymian.dev/).
@@ -0,0 +1,4 @@
1
+ import type { SerializedThymianFormat } from '../format/index.js';
2
+ import type { Action } from './action.js';
3
+ export type FormatAction = Action<SerializedThymianFormat, void>;
4
+ //# sourceMappingURL=format.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.action.d.ts","sourceRoot":"","sources":["../../src/actions/format.action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=format.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.action.js","sourceRoot":"","sources":["../../src/actions/format.action.ts"],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
1
  import type { CloseAction } from './close.action.js';
2
+ import type { FormatAction } from './format.action.js';
2
3
  import type { LoadFormatAction } from './load-format.action.js';
3
4
  import type { ReadyAction } from './ready.action.js';
4
5
  import type { RunAction } from './run.action.js';
@@ -7,9 +8,11 @@ export interface ThymianActions {
7
8
  'core.close': CloseAction;
8
9
  'core.load-format': LoadFormatAction;
9
10
  'core.run': RunAction;
11
+ 'core.format': FormatAction;
10
12
  }
11
13
  export type ThymianActionName = keyof ThymianActions;
12
14
  export * from './close.action.js';
15
+ export * from './format.action.js';
13
16
  export * from './load-format.action.js';
14
17
  export * from './ready.action.js';
15
18
  export * from './run.action.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,WAAW,CAAC;IAC1B,YAAY,EAAE,WAAW,CAAC;IAC1B,kBAAkB,EAAE,gBAAgB,CAAC;IACrC,UAAU,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,cAAc,CAAC;AAErD,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,WAAW,CAAC;IAC1B,YAAY,EAAE,WAAW,CAAC;IAC1B,kBAAkB,EAAE,gBAAgB,CAAC;IACrC,UAAU,EAAE,SAAS,CAAC;IACtB,aAAa,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,cAAc,CAAC;AAErD,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './close.action.js';
2
+ export * from './format.action.js';
2
3
  export * from './load-format.action.js';
3
4
  export * from './ready.action.js';
4
5
  export * from './run.action.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAcA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAgBA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
@@ -1,6 +1,9 @@
1
1
  import type { JSONSchemaType } from 'ajv/dist/2020.js';
2
2
  import type { SerializedThymianFormat } from '../format/index.js';
3
+ import type { HttpFilterExpression } from '../http-filter.js';
3
4
  import type { Action } from './action.js';
4
- export type LoadFormatAction = Action<void, SerializedThymianFormat>;
5
+ export type LoadFormatAction = Action<{
6
+ filter: HttpFilterExpression;
7
+ }, SerializedThymianFormat>;
5
8
  export declare const loadFormatActionSchema: JSONSchemaType<SerializedThymianFormat>;
6
9
  //# sourceMappingURL=load-format.action.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"load-format.action.d.ts","sourceRoot":"","sources":["../../src/actions/load-format.action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;AAKrE,eAAO,MAAM,sBAAsB,EAAE,cAAc,CAAC,uBAAuB,CAyD1E,CAAC"}
1
+ {"version":3,"file":"load-format.action.d.ts","sourceRoot":"","sources":["../../src/actions/load-format.action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,MAAM,gBAAgB,GAAG,MAAM,CACnC;IAAE,MAAM,EAAE,oBAAoB,CAAA;CAAE,EAChC,uBAAuB,CACxB,CAAC;AAKF,eAAO,MAAM,sBAAsB,EAAE,cAAc,CAAC,uBAAuB,CAyD1E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"load-format.action.js","sourceRoot":"","sources":["../../src/actions/load-format.action.ts"],"names":[],"mappings":"AAOA,6CAA6C;AAC7C,6DAA6D;AAC7D,mBAAmB;AACnB,MAAM,CAAC,MAAM,sBAAsB,GAA4C;IAC7E,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC;IACrD,UAAU,EAAE;QACV,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;SAChB;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;SAChB;QACD,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,QAAQ,EAAE,CAAC,KAAK,CAAC;gBACjB,UAAU,EAAE;oBACV,GAAG,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,KAAK;qBAChB;oBACD,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;qBACf;iBACF;aACF;SACF;QACD,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAC9B,UAAU,EAAE;oBACV,GAAG,EAAE;wBACH,IAAI,EAAE,QAAQ;qBACf;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;qBACf;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;qBACf;oBACD,UAAU,EAAE;wBACV,IAAI,EAAE,SAAS;qBAChB;oBACD,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;qBACf;iBACF;aACF;SACF;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"load-format.action.js","sourceRoot":"","sources":["../../src/actions/load-format.action.ts"],"names":[],"mappings":"AAWA,6CAA6C;AAC7C,6DAA6D;AAC7D,mBAAmB;AACnB,MAAM,CAAC,MAAM,sBAAsB,GAA4C;IAC7E,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC;IACrD,UAAU,EAAE;QACV,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;SAChB;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;SAChB;QACD,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,QAAQ,EAAE,CAAC,KAAK,CAAC;gBACjB,UAAU,EAAE;oBACV,GAAG,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,KAAK;qBAChB;oBACD,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;qBACf;iBACF;aACF;SACF;QACD,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAC9B,UAAU,EAAE;oBACV,GAAG,EAAE;wBACH,IAAI,EAAE,QAAQ;qBACf;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;qBACf;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;qBACf;oBACD,UAAU,EAAE;wBACV,IAAI,EAAE,SAAS;qBAChB;oBACD,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;qBACf;iBACF;aACF;SACF;KACF;CACF,CAAC"}
@@ -34,8 +34,15 @@ export declare class ThymianEmitter {
34
34
  private readonly logger;
35
35
  private readonly options;
36
36
  readonly source: string;
37
- constructor(logger: Logger, state: EmitterState, options?: Partial<ThymianEmitterOptions>);
38
- static newEmitterState(source?: string): EmitterState;
37
+ /**
38
+ * Multiplier for the hard timeout limit relative to the idle debounce time.
39
+ */
40
+ private static MAX_WAIT_MULTIPLIER;
41
+ constructor(logger?: Logger, state?: EmitterState, options?: Partial<ThymianEmitterOptions>);
42
+ static emptyEmitterState(source?: string): EmitterState;
43
+ shutdown(idleTimeMs?: number): Promise<void>;
44
+ private shutdownSubject;
45
+ completeSubjects(): void;
39
46
  on<Name extends ThymianEventName>(name: Name, handler: EventHandler<Name>): void;
40
47
  emit<Name extends ThymianEventName>(name: Name, payload: EventPayload<Name>): void;
41
48
  emitError(err: ThymianError, name?: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"thymian-emitter.d.ts","sourceRoot":"","sources":["../../src/emitter/thymian-emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thymian-emitter.d.ts","sourceRoot":"","sources":["../../src/emitter/thymian-emitter.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import deepmerge from '@fastify/deepmerge';
3
3
  import chalk from 'chalk';
4
- import { filter, firstValueFrom, merge, Subject, take, takeUntil, timer, toArray, } from 'rxjs';
4
+ import { debounceTime, filter, firstValueFrom, map, merge, race, Subject, take, takeUntil, timer, toArray, } from 'rxjs';
5
+ import { NoopLogger } from '../logger/noop.logger.js';
5
6
  import { isThymianError, ThymianBaseError, } from '../thymian.error.js';
6
7
  import { isActionEventWithName, isEventWithName, isResponseOf, } from './utils.js';
7
8
  const dm = deepmerge({ all: true });
@@ -16,7 +17,11 @@ export class ThymianEmitter {
16
17
  #listeners;
17
18
  // TODO: this is a problem
18
19
  #completed;
19
- constructor(logger, state, options = {}) {
20
+ /**
21
+ * Multiplier for the hard timeout limit relative to the idle debounce time.
22
+ */
23
+ static MAX_WAIT_MULTIPLIER = 5;
24
+ constructor(logger = new NoopLogger(), state = ThymianEmitter.emptyEmitterState(), options = {}) {
20
25
  this.logger = logger;
21
26
  this.options = {
22
27
  timeout: 1000,
@@ -35,7 +40,7 @@ export class ThymianEmitter {
35
40
  ThymianEmitter.#hasBeenInitialized = true;
36
41
  }
37
42
  }
38
- static newEmitterState(source = '') {
43
+ static emptyEmitterState(source = '') {
39
44
  return {
40
45
  source,
41
46
  events: new Subject(),
@@ -45,6 +50,29 @@ export class ThymianEmitter {
45
50
  completed: new Set(),
46
51
  };
47
52
  }
53
+ async shutdown(idleTimeMs = this.options.timeout) {
54
+ await Promise.all([
55
+ this.shutdownSubject(this.#events, idleTimeMs, 'events'),
56
+ this.shutdownSubject(this.#responses, idleTimeMs, 'responses'),
57
+ this.shutdownSubject(this.#errors, idleTimeMs, 'errors'),
58
+ ]);
59
+ }
60
+ async shutdownSubject(subject, waitFor, name = '', timeout = waitFor * ThymianEmitter.MAX_WAIT_MULTIPLIER) {
61
+ return new Promise((resolve) => {
62
+ race([
63
+ subject.pipe(debounceTime(waitFor), take(1), map(() => 'idle')),
64
+ timer(timeout).pipe(map(() => 'timeout')),
65
+ ]).subscribe((reason) => {
66
+ this.logger.debug(`Complete subject${name ? ' ' + name : name} due to ${reason}.`);
67
+ resolve();
68
+ });
69
+ });
70
+ }
71
+ completeSubjects() {
72
+ this.#events.complete();
73
+ this.#responses.complete();
74
+ this.#errors.complete();
75
+ }
48
76
  on(name, handler) {
49
77
  this.#events
50
78
  .pipe(filter(isEventWithName(name)))
@@ -169,6 +197,7 @@ export class ThymianEmitter {
169
197
  });
170
198
  }
171
199
  async emitAction(...args) {
200
+ const start = performance.now();
172
201
  const [name, payload, options] = args;
173
202
  const opts = {
174
203
  timeout: this.options.timeout,
@@ -188,13 +217,20 @@ export class ThymianEmitter {
188
217
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
189
218
  // @ts-expect-error
190
219
  this.#errors.pipe(filter(isResponseOf(name, event.id)))).pipe(takeUntil(timer(opts.timeout)), take(takeNum), toArray());
191
- queueMicrotask(() => {
192
- this.#events.next(event);
193
- });
194
- const results = (await firstValueFrom(responsesAndErrors));
220
+ const resultsPromise = firstValueFrom(responsesAndErrors);
221
+ // Yield execution to the event loop.
222
+ // This forces the event emission into the next microtask, ensuring that:
223
+ // 1. The 'resultsPromise' subscription is fully active.
224
+ // 2. The event emission does not run synchronously within the current stack frame.
225
+ await Promise.resolve();
226
+ this.#events.next(event);
227
+ const results = (await resultsPromise);
228
+ if (results.length === 0) {
229
+ this.logger.debug(`No response event received for action "${name}" within ${opts.timeout}ms.`);
230
+ }
195
231
  const errors = results.filter((r) => Object.hasOwn(r, 'error'));
196
232
  if (errors.length > 0 && typeof errors[0] !== 'undefined') {
197
- this.logger.error(`Received ${errors.length} error event${errors.length > 1 ? 's' : ''} from ${errors
233
+ this.logger.debug(`Received ${errors.length} error event${errors.length > 1 ? 's' : ''} from ${errors
198
234
  .map((err) => `"${err.source}"`)
199
235
  .join(', ')} while waiting for response event(s) for event "${name}".`);
200
236
  const { error } = errors[0];
@@ -206,12 +242,15 @@ export class ThymianEmitter {
206
242
  }
207
243
  }
208
244
  if (opts.strategy !== 'first' && results.length !== numOfListeners) {
209
- this.logger.debug(`Expected ${numOfListeners} response events for event "${name}" but got ${results.length}.`);
245
+ this.logger.warn(`Expected ${numOfListeners} response events for event "${name}" but got ${results.length}.`);
210
246
  }
211
- const payloads = results
212
- .map((msg) => msg.payload)
213
- .filter(Boolean);
247
+ const payloads = results.map((msg) => msg.payload);
214
248
  this.#completed.add(event.id);
249
+ const duration = performance.now() - start;
250
+ if (duration > opts.timeout) {
251
+ this.logger.warn(`Action "${name}" took ${duration}ms but timeout was set to ${opts.timeout}. Increase the timeout to avoid this warning.`);
252
+ }
253
+ this.logger.debug(`Action "${name}" was emitted and processed in ${performance.now() - start}ms.`);
215
254
  switch (opts.strategy) {
216
255
  case 'first':
217
256
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -1 +1 @@
1
- {"version":3,"file":"thymian-emitter.js","sourceRoot":"","sources":["../../src/emitter/thymian-emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thymian-emitter.js","sourceRoot":"","sources":["../../src/emitter/thymian-emitter.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,9 @@ export interface ThymianReport {
14
14
  timestamp?: number;
15
15
  details?: string;
16
16
  category?: string | 'No Category';
17
+ layoutOptions?: {
18
+ prefixSeverity?: boolean;
19
+ };
17
20
  location?: {
18
21
  reference?: ThymianFormatLocation;
19
22
  format?: {
@@ -1 +1 @@
1
- {"version":3,"file":"report.event.d.ts","sourceRoot":"","sources":["../../src/events/report.event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEvE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,qBAAqB,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IAClC,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,qBAAqB,CAAC;QAClC,MAAM,CAAC,EAAE;YACP,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;YAC7B,EAAE,EAAE,MAAM,CAAC;SACZ,CAAC;KACH,CAAC;CACH;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC;AAExC,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,WAAW,CA8H3D,CAAC"}
1
+ {"version":3,"file":"report.event.d.ts","sourceRoot":"","sources":["../../src/events/report.event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEvE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,qBAAqB,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IAClC,aAAa,CAAC,EAAE;QACd,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,qBAAqB,CAAC;QAClC,MAAM,CAAC,EAAE;YACP,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;YAC7B,EAAE,EAAE,MAAM,CAAC;SACZ,CAAC;KACH,CAAC;CACH;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC;AAExC,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,WAAW,CAwI3D,CAAC"}
@@ -9,6 +9,16 @@ export const thymianReportSchema = {
9
9
  category: { type: 'string', nullable: true },
10
10
  title: { type: 'string', nullable: false },
11
11
  timestamp: { type: 'integer', nullable: true },
12
+ layoutOptions: {
13
+ nullable: true,
14
+ type: 'object',
15
+ properties: {
16
+ prefixSeverity: {
17
+ type: 'boolean',
18
+ nullable: true,
19
+ },
20
+ },
21
+ },
12
22
  severity: {
13
23
  type: 'string',
14
24
  enum: ['info', 'hint', 'warn', 'error'],
@@ -1 +1 @@
1
- {"version":3,"file":"report.event.js","sourceRoot":"","sources":["../../src/events/report.event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.event.js","sourceRoot":"","sources":["../../src/events/report.event.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,6 @@ export interface ThymianBaseEdge {
4
4
  label: string;
5
5
  extensions?: Record<PropertyKey, unknown>;
6
6
  sourceLocation?: ThymianFormatLocation;
7
+ sourceName: string;
7
8
  }
8
9
  //# sourceMappingURL=edge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"edge.d.ts","sourceRoot":"","sources":["../../../src/format/edges/edge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1C,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC"}
1
+ {"version":3,"file":"edge.d.ts","sourceRoot":"","sources":["../../../src/format/edges/edge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1C,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,5 @@
1
+ import type { HttpFilterExpression } from '../http-filter.js';
2
+ import { ThymianFormat, type ThymianHttpTransaction } from './index.js';
3
+ export type TransactionFilterFn = (transaction: ThymianHttpTransaction, transactions: ThymianHttpTransaction[], format: ThymianFormat) => boolean;
4
+ export declare function httpFilterExpressionToTransactionFilter(expression: HttpFilterExpression): TransactionFilterFn;
5
+ //# sourceMappingURL=http-filter-expression-to-transaction-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-filter-expression-to-transaction-filter.d.ts","sourceRoot":"","sources":["../../src/format/http-filter-expression-to-transaction-filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAM9D,OAAO,EAAE,aAAa,EAAE,KAAK,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAExE,MAAM,MAAM,mBAAmB,GAAG,CAChC,WAAW,EAAE,sBAAsB,EACnC,YAAY,EAAE,sBAAsB,EAAE,EACtC,MAAM,EAAE,aAAa,KAClB,OAAO,CAAC;AAgHb,wBAAgB,uCAAuC,CACrD,UAAU,EAAE,oBAAoB,GAC/B,mBAAmB,CAErB"}
@@ -0,0 +1,88 @@
1
+ import { createFilterVisitor, visitHttpFilter, } from '../http-filter-visitor.js';
2
+ import { equalsIgnoreCase } from '../utils.js';
3
+ import { ThymianFormat } from './index.js';
4
+ const visitor = createFilterVisitor({
5
+ visitMethod({ method }) {
6
+ if (typeof method === 'undefined') {
7
+ return () => false;
8
+ }
9
+ return (transaction) => equalsIgnoreCase(transaction.thymianReq.method, method);
10
+ },
11
+ visitRequestHeader({ header }) {
12
+ if (typeof header === 'undefined') {
13
+ return () => false;
14
+ }
15
+ return (transaction) => equalsIgnoreCase(header, ...Object.keys(transaction.thymianReq.headers));
16
+ },
17
+ visitQueryParam({ param }) {
18
+ if (typeof param === 'undefined') {
19
+ return () => false;
20
+ }
21
+ return (transaction) => equalsIgnoreCase(param, ...Object.keys(transaction.thymianReq.queryParameters));
22
+ },
23
+ visitPath({ path }) {
24
+ if (typeof path === 'undefined') {
25
+ return () => false;
26
+ }
27
+ return (transaction) => transaction.thymianReq.path.endsWith(path);
28
+ },
29
+ visitHasResponse({ filter }) {
30
+ const nestedFilter = httpFilterExpressionToTransactionFilter(filter);
31
+ return (transaction, transactions, format) => nestedFilter(transaction, transactions, format);
32
+ },
33
+ visitIsAuthorized({ isAuthorized }) {
34
+ return (transaction, transactions, format) => format.requestIsSecured(transaction.thymianReqId) === isAuthorized;
35
+ },
36
+ visitOrigin({ origin }) {
37
+ return (transaction) => {
38
+ const req = transaction.thymianReq;
39
+ return `${req.protocol}://${req.host}:${req.port}` === origin;
40
+ };
41
+ },
42
+ visitHasBody({ hasBody }) {
43
+ return (transaction) => transaction.thymianReq.bodyRequired === hasBody;
44
+ },
45
+ visitPort({ port }) {
46
+ return (transaction) => transaction.thymianReq.port === port;
47
+ },
48
+ visitRequestMediaType({ mediaType }) {
49
+ return (transaction) => transaction.thymianReq.mediaType === mediaType;
50
+ },
51
+ visitUrl({ url }) {
52
+ return (transaction) => {
53
+ const req = transaction.thymianReq;
54
+ return (`${req.protocol}://${req.host}:${req.port}${req.path.startsWith('/') ? req.path : '/' + req.path}` === url);
55
+ };
56
+ },
57
+ visitProtocol({ protocol }) {
58
+ return (transaction) => transaction.thymianReq.protocol === protocol;
59
+ },
60
+ visitStatusCode({ code }) {
61
+ return (transaction) => transaction.thymianRes.statusCode === code;
62
+ },
63
+ visitHasResponseBody({ hasBody }) {
64
+ return (transaction) => !!transaction.thymianRes.schema === hasBody;
65
+ },
66
+ visitResponseHeader({ header }) {
67
+ if (typeof header === 'undefined') {
68
+ return () => false;
69
+ }
70
+ return (transaction) => equalsIgnoreCase(header, ...Object.keys(transaction.thymianRes.headers));
71
+ },
72
+ visitStatusCodeRange({ start, end }) {
73
+ return (transaction) => {
74
+ const statusCode = transaction.thymianRes.statusCode;
75
+ return (Number.isInteger(statusCode) && statusCode >= start && statusCode <= end);
76
+ };
77
+ },
78
+ visitResponseMediaType({ mediaType }) {
79
+ return (transaction) => transaction.thymianRes.mediaType === mediaType;
80
+ },
81
+ visitResponseTrailer() {
82
+ throw new Error('Response trailers are not currently supported.');
83
+ },
84
+ });
85
+ export function httpFilterExpressionToTransactionFilter(expression) {
86
+ return visitHttpFilter(expression, visitor);
87
+ }
88
+ //# sourceMappingURL=http-filter-expression-to-transaction-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-filter-expression-to-transaction-filter.js","sourceRoot":"","sources":["../../src/format/http-filter-expression-to-transaction-filter.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,6 @@ export interface ThymianBaseNode {
4
4
  label: string;
5
5
  extensions?: Record<PropertyKey, unknown>;
6
6
  sourceLocation?: ThymianFormatLocation;
7
+ sourceName: string;
7
8
  }
8
9
  //# sourceMappingURL=node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/format/nodes/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1C,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/format/nodes/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1C,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -1,6 +1,7 @@
1
1
  import { MultiDirectedGraph } from 'graphology';
2
2
  import type { SerializedGraph } from 'graphology-types';
3
3
  import type { HttpRequest, HttpResponse } from '../http.js';
4
+ import type { HttpFilterExpression } from '../http-filter.js';
4
5
  import { type PartialBy } from '../utils.js';
5
6
  import { type StringAndNumberProperties } from '../utils.js';
6
7
  import type { HasSample } from './edges/has-sample.edge.js';
@@ -46,40 +47,63 @@ export type ThymianEdge = ThymianEdges[keyof ThymianEdges];
46
47
  export type ThymianNodeType = keyof ThymianNodes;
47
48
  export type ThymianEdgeType = keyof ThymianEdges;
48
49
  export type ThymianGraph = MultiDirectedGraph<ThymianNode, ThymianEdge>;
49
- export type SerializedThymianFormat = SerializedGraph<ThymianNode, ThymianEdge>;
50
- export declare function thymianHttpRequestToLabel(req: PartialBy<ThymianHttpRequest, 'label'>): string;
51
- export declare function thymianHttpResponseToLabel(res: PartialBy<ThymianHttpResponse, 'label'>): string;
50
+ export type SerializedThymianFormat = SerializedGraph<ThymianNode, ThymianEdge, {
51
+ hash: string;
52
+ }>;
53
+ export type SerializedThymianFormatWithoutSourceName = SerializedGraph<PartialBy<ThymianNode, 'sourceName'>, PartialBy<ThymianEdge, 'sourceName'>, {
54
+ hash: string;
55
+ }>;
56
+ export declare function thymianHttpRequestToLabel(req: PartialBy<ThymianHttpRequest, 'label' | 'sourceName'>): string;
57
+ export declare function thymianHttpResponseToLabel(res: PartialBy<ThymianHttpResponse, 'label' | 'sourceName'>): string;
52
58
  export declare class ThymianFormat {
53
59
  readonly graph: ThymianGraph;
60
+ static readonly ignoredNodeProperties: string[];
54
61
  constructor(graph?: ThymianGraph);
55
- addEdge(source: string, target: string, edge: PartialBy<ThymianEdge, 'label'>): string;
62
+ addEdge(source: string, target: string, edge: PartialBy<ThymianEdge, 'label'>, options?: {
63
+ throwIfExists?: boolean;
64
+ }): string;
56
65
  addHttpLink(source: string, target: string, edge: PartialBy<HttpLink, 'type' | 'label'>): string;
57
- addResponseToRequest(requestId: string, response: PartialBy<ThymianHttpResponse, 'label'>, transaction?: Partial<HttpTransaction>): [string, string];
58
- addHttpTransaction(request: PartialBy<ThymianHttpRequest, 'label'>, response: PartialBy<ThymianHttpResponse, 'label'>): [string, string, string];
66
+ addResponseToRequest(requestId: string, response: PartialBy<ThymianHttpResponse, 'label'>, transaction?: Partial<HttpTransaction>, sourceName?: string): [string, string];
67
+ addHttpTransaction(request: PartialBy<ThymianHttpRequest, 'label' | 'sourceName'>, response: PartialBy<ThymianHttpResponse, 'label' | 'sourceName'>, sourceName: string): [string, string, string];
59
68
  addSecurityScheme(scheme: PartialBy<SecurityScheme, 'label'>): string;
60
69
  addRequest(request: PartialBy<ThymianHttpRequest, 'label'>): string;
61
70
  private addResponse;
62
- addNode(node: ThymianNode, id?: string): string;
71
+ addNode(node: ThymianNode, id?: string, options?: {
72
+ throwIfExists?: boolean;
73
+ }): string;
63
74
  getNode<T extends ThymianNode = ThymianNode>(id: string): T | undefined;
64
75
  getEdge<T extends ThymianEdge = ThymianEdge>(id: string): T | undefined;
65
76
  findNodeByExtension(extensionName: string, values: Record<PropertyKey, string | number | boolean>): ThymianNode | undefined;
66
77
  requestIsSecured(reqId: string): boolean;
67
78
  getHttpResponsesOf(reqId: string): [string, ThymianHttpResponse, string][];
68
79
  getNeighboursOfType<Type extends ThymianNodeType>(id: string, type: Type): [string, ThymianNodes[Type]][];
80
+ getThymianHttpRequestsWithResponses(): [
81
+ ThymianHttpRequest,
82
+ ThymianHttpResponse[],
83
+ string,
84
+ string[]
85
+ ][];
69
86
  getNodesByExtension(extensionName: string, values: Record<PropertyKey, string | number | boolean>): ThymianNode[];
87
+ getThymianHttpRequestsWithIds(): [ThymianHttpRequest, string][];
70
88
  getHttpTransactions(): [string, string, string][];
89
+ getThymianHttpRequests(): ThymianHttpRequest[];
90
+ getThymianHttpTransactionById(id: string): ThymianHttpTransaction | undefined;
71
91
  getThymianHttpTransactions(): ThymianHttpTransaction[];
72
92
  matchTransaction(req: HttpRequest, res: HttpResponse): [string, string, string] | undefined;
73
93
  matchHtpRequestByUrl(url: string): MatchResult | undefined;
74
94
  findNode<Type extends ThymianNodeType>(type: Type, properties: StringAndNumberProperties<ThymianNodes[Type]>): ThymianNodes[Type] | undefined;
75
- addSampleHttpRequest(request: HttpRequest): string;
76
- addSampleHttpResponse(response: HttpResponse): string;
77
- addSampleHttpTransaction(request: HttpRequest, response: HttpResponse): [string, string, string];
95
+ addSampleHttpRequest(request: HttpRequest, sourceName: string): string;
96
+ addSampleHttpResponse(response: HttpResponse, sourceName: string): string;
97
+ addSampleHttpTransaction(request: HttpRequest, response: HttpResponse, sourceName: string): [string, string, string];
98
+ toHash(): string;
78
99
  export(): SerializedThymianFormat;
79
- toJSON(): SerializedThymianFormat;
80
100
  merge(format: ThymianFormat): ThymianFormat;
81
- static fromHttpTransactions(transactions: [HttpRequest, HttpResponse][]): ThymianFormat;
101
+ filter(expression: HttpFilterExpression): ThymianFormat;
102
+ filter(fn: (transaction: ThymianHttpTransaction, transactions: ThymianHttpTransaction[]) => boolean): ThymianFormat;
103
+ static fromHttpTransactions(transactions: [HttpRequest, HttpResponse][], sourceName: string): ThymianFormat;
82
104
  static import(graph: SerializedThymianFormat): ThymianFormat;
105
+ static import(graph: SerializedThymianFormatWithoutSourceName, sourceName: string): ThymianFormat;
83
106
  private hash;
107
+ private hashObj;
84
108
  }
85
109
  //# sourceMappingURL=thymian-format.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"thymian-format.d.ts","sourceRoot":"","sources":["../../src/format/thymian-format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thymian-format.d.ts","sourceRoot":"","sources":["../../src/format/thymian-format.ts"],"names":[],"mappings":"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"}