@haibun/core 1.43.0 → 1.44.1

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 (116) hide show
  1. package/build/applyEffectFeatures.d.ts +3 -0
  2. package/build/applyEffectFeatures.d.ts.map +1 -0
  3. package/build/applyEffectFeatures.js +32 -0
  4. package/build/applyEffectFeatures.js.map +1 -0
  5. package/build/currentVersion.d.ts +1 -1
  6. package/build/currentVersion.js +2 -1
  7. package/build/lib/ConnectedLogger.d.ts +4 -3
  8. package/build/lib/ConnectedLogger.d.ts.map +1 -1
  9. package/build/lib/ConnectedLogger.js +1 -1
  10. package/build/lib/ConnectedLogger.js.map +1 -1
  11. package/build/lib/Logger.d.ts +10 -18
  12. package/build/lib/Logger.d.ts.map +1 -1
  13. package/build/lib/Logger.js +19 -17
  14. package/build/lib/Logger.js.map +1 -1
  15. package/build/lib/TestLogger.d.ts +1 -0
  16. package/build/lib/TestLogger.d.ts.map +1 -1
  17. package/build/lib/TestLogger.js +1 -0
  18. package/build/lib/TestLogger.js.map +1 -1
  19. package/build/lib/Timer.d.ts +1 -1
  20. package/build/lib/Timer.d.ts.map +1 -1
  21. package/build/lib/Timer.js +2 -3
  22. package/build/lib/Timer.js.map +1 -1
  23. package/build/lib/contexts.d.ts +3 -12
  24. package/build/lib/contexts.d.ts.map +1 -1
  25. package/build/lib/contexts.js +1 -20
  26. package/build/lib/contexts.js.map +1 -1
  27. package/build/lib/defs.d.ts +51 -77
  28. package/build/lib/defs.d.ts.map +1 -1
  29. package/build/lib/defs.js +8 -20
  30. package/build/lib/defs.js.map +1 -1
  31. package/build/lib/features.d.ts.map +1 -1
  32. package/build/lib/features.js +3 -3
  33. package/build/lib/features.js.map +1 -1
  34. package/build/lib/interfaces/TArtifactRequestStepTopic.d.ts +53 -0
  35. package/build/lib/interfaces/TArtifactRequestStepTopic.d.ts.map +1 -0
  36. package/build/lib/interfaces/TArtifactRequestStepTopic.js +2 -0
  37. package/build/lib/interfaces/TArtifactRequestStepTopic.js.map +1 -0
  38. package/build/lib/interfaces/TMessageContext.d.ts +22 -0
  39. package/build/lib/interfaces/TMessageContext.d.ts.map +1 -0
  40. package/build/lib/interfaces/TMessageContext.js +2 -0
  41. package/build/lib/interfaces/TMessageContext.js.map +1 -0
  42. package/build/lib/interfaces/artifacts.d.ts +43 -0
  43. package/build/lib/interfaces/artifacts.d.ts.map +1 -0
  44. package/build/lib/interfaces/artifacts.js +2 -0
  45. package/build/lib/interfaces/artifacts.js.map +1 -0
  46. package/build/lib/interfaces/logger.d.ts +20 -86
  47. package/build/lib/interfaces/logger.d.ts.map +1 -1
  48. package/build/lib/interfaces/logger.js +16 -2
  49. package/build/lib/interfaces/logger.js.map +1 -1
  50. package/build/lib/interfaces/messageContexts.d.ts +10 -0
  51. package/build/lib/interfaces/messageContexts.d.ts.map +1 -0
  52. package/build/lib/interfaces/messageContexts.js +2 -0
  53. package/build/lib/interfaces/messageContexts.js.map +1 -0
  54. package/build/lib/namedVars.d.ts.map +1 -1
  55. package/build/lib/namedVars.js +6 -17
  56. package/build/lib/namedVars.js.map +1 -1
  57. package/build/lib/resolver-features.d.ts.map +1 -1
  58. package/build/lib/test/SetTimeStepper.d.ts.map +1 -1
  59. package/build/lib/test/SetTimeStepper.js +2 -2
  60. package/build/lib/test/SetTimeStepper.js.map +1 -1
  61. package/build/lib/test/TestSteps.d.ts +2 -4
  62. package/build/lib/test/TestSteps.d.ts.map +1 -1
  63. package/build/lib/test/TestSteps.js +5 -5
  64. package/build/lib/test/TestSteps.js.map +1 -1
  65. package/build/lib/test/TestStepsWithOptions.d.ts +2 -29
  66. package/build/lib/test/TestStepsWithOptions.d.ts.map +1 -1
  67. package/build/lib/test/TestStepsWithOptions.js +3 -20
  68. package/build/lib/test/TestStepsWithOptions.js.map +1 -1
  69. package/build/lib/test/lib.d.ts +1 -1
  70. package/build/lib/test/lib.d.ts.map +1 -1
  71. package/build/lib/test/lib.js +2 -3
  72. package/build/lib/test/lib.js.map +1 -1
  73. package/build/lib/util/index.d.ts +16 -21
  74. package/build/lib/util/index.d.ts.map +1 -1
  75. package/build/lib/util/index.js +25 -53
  76. package/build/lib/util/index.js.map +1 -1
  77. package/build/lib/util/workspace-lib.d.ts +1 -2
  78. package/build/lib/util/workspace-lib.d.ts.map +1 -1
  79. package/build/lib/util/workspace-lib.js +0 -12
  80. package/build/lib/util/workspace-lib.js.map +1 -1
  81. package/build/phases/Executor.d.ts +12 -14
  82. package/build/phases/Executor.d.ts.map +1 -1
  83. package/build/phases/Executor.js +84 -85
  84. package/build/phases/Executor.js.map +1 -1
  85. package/build/phases/Resolver.d.ts.map +1 -1
  86. package/build/phases/Resolver.js +7 -6
  87. package/build/phases/Resolver.js.map +1 -1
  88. package/build/phases/collector.d.ts +0 -1
  89. package/build/phases/collector.d.ts.map +1 -1
  90. package/build/runner.d.ts +4 -8
  91. package/build/runner.d.ts.map +1 -1
  92. package/build/runner.js +17 -32
  93. package/build/runner.js.map +1 -1
  94. package/build/steps/conformance.d.ts +2 -4
  95. package/build/steps/conformance.d.ts.map +1 -1
  96. package/build/steps/conformance.js +1 -1
  97. package/build/steps/conformance.js.map +1 -1
  98. package/build/steps/credentials.d.ts +1 -3
  99. package/build/steps/credentials.d.ts.map +1 -1
  100. package/build/steps/credentials.js +4 -4
  101. package/build/steps/credentials.js.map +1 -1
  102. package/build/steps/haibun.d.ts +5 -7
  103. package/build/steps/haibun.d.ts.map +1 -1
  104. package/build/steps/haibun.js +26 -33
  105. package/build/steps/haibun.js.map +1 -1
  106. package/build/steps/lib/parse.js +1 -1
  107. package/build/steps/lib/parse.js.map +1 -1
  108. package/build/steps/parse.d.ts +4 -6
  109. package/build/steps/parse.d.ts.map +1 -1
  110. package/build/steps/parse.js +5 -5
  111. package/build/steps/parse.js.map +1 -1
  112. package/build/steps/vars.d.ts +91 -109
  113. package/build/steps/vars.d.ts.map +1 -1
  114. package/build/steps/vars.js +46 -28
  115. package/build/steps/vars.js.map +1 -1
  116. package/package.json +1 -1
@@ -0,0 +1,3 @@
1
+ import { TWorld, TResolvedFeature, AStepper } from './lib/defs.js';
2
+ export declare function applyEffectFeatures(world: TWorld, resolvedFeatures: TResolvedFeature[], steppers: AStepper[]): Promise<TResolvedFeature[]>;
3
+ //# sourceMappingURL=applyEffectFeatures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyEffectFeatures.d.ts","sourceRoot":"","sources":["../src/applyEffectFeatures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAyC,MAAM,eAAe,CAAC;AAI1G,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA4BhJ"}
@@ -0,0 +1,32 @@
1
+ import { getNamedToVars } from './lib/namedVars.js';
2
+ import { constructorName } from './lib/util/index.js';
3
+ export async function applyEffectFeatures(world, resolvedFeatures, steppers) {
4
+ const appliedFeatures = [];
5
+ for (const feature of resolvedFeatures) {
6
+ const featureSteps = [];
7
+ const newFeature = { ...feature, featureSteps: [] };
8
+ const appliers = [];
9
+ for (const featureStep of feature.featureSteps) {
10
+ let newSteps = [featureStep];
11
+ const action = featureStep.action;
12
+ const stepper = steppers.find((s) => constructorName(s) === action.stepperName);
13
+ if (stepper?.steps[action.actionName].applyEffect) {
14
+ const applier = stepper?.steps[action.actionName];
15
+ appliers.push({ applier, namedWithVars: getNamedToVars(featureStep.action, world, featureStep) });
16
+ }
17
+ else if (appliers.length > 0) {
18
+ newSteps = [];
19
+ for (const a of appliers) {
20
+ const applied = await a.applier.applyEffect(a.namedWithVars, featureStep, steppers);
21
+ if (applied.length < 1)
22
+ throw Error('wtw');
23
+ newSteps.push(...applied);
24
+ }
25
+ }
26
+ featureSteps.push(...newSteps);
27
+ }
28
+ appliedFeatures.push({ ...newFeature, featureSteps });
29
+ }
30
+ return appliedFeatures;
31
+ }
32
+ //# sourceMappingURL=applyEffectFeatures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyEffectFeatures.js","sourceRoot":"","sources":["../src/applyEffectFeatures.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAa,EAAE,gBAAoC,EAAE,QAAoB;IAClH,MAAM,eAAe,GAAG,EAAE,CAAC;IAE3B,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;QACxC,MAAM,YAAY,GAAmB,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;QACpD,MAAM,QAAQ,GAA2D,EAAE,CAAC;QAC5E,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAChD,IAAI,QAAQ,GAAG,CAAC,WAAW,CAAC,CAAC;YAC7B,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;YAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,WAAW,CAAC,CAAC;YAEhF,IAAI,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;gBACnD,MAAM,OAAO,GAAG,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;YACnG,CAAC;iBAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,QAAQ,GAAG,EAAE,CAAC;gBACd,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;oBACpF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;wBAAE,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC3C,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;gBAC3B,CAAC;YACF,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,eAAe,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,eAAe,CAAC;AACxB,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const currentVersion = "1.43.0";
1
+ export declare const currentVersion = "1.44.1";
2
2
  //# sourceMappingURL=currentVersion.d.ts.map
@@ -1 +1,2 @@
1
- export const currentVersion = '1.43.0';
1
+ export const currentVersion = '1.44.1';
2
+ //# sourceMappingURL=currentVersion.js.map
@@ -1,12 +1,13 @@
1
1
  import Logger from './Logger.js';
2
- import { IConnectedLogger, ILoggerKeepAlive, ILogOutput, TLogLevel, TMessageContext } from './interfaces/logger.js';
3
- import { TTag } from './defs.js';
2
+ import { IConnectedLogger, ILoggerKeepAlive, ILogOutput, TLogLevel } from './interfaces/logger.js';
3
+ import { TMessageContext } from './interfaces/messageContexts.js';
4
+ import { TAnyFixme, TTag } from './defs.js';
4
5
  export declare class ConnectedLogger extends Logger implements IConnectedLogger {
5
6
  keepalive?: ILoggerKeepAlive;
6
7
  constructor(output: ILogOutput, tag: TTag);
7
8
  connect(): Promise<void>;
8
9
  disconnect(): Promise<void>;
9
10
  addKeepalive(keepAlive: ILoggerKeepAlive): void;
10
- out(level: TLogLevel, message: any, mctx?: TMessageContext): void;
11
+ out(level: TLogLevel, message: TAnyFixme, mctx?: TMessageContext): void;
11
12
  }
12
13
  //# sourceMappingURL=ConnectedLogger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectedLogger.d.ts","sourceRoot":"","sources":["../../src/lib/ConnectedLogger.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAc,MAAM,wBAAwB,CAAC;AAChI,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,qBAAa,eAAgB,SAAQ,MAAO,YAAW,gBAAgB;IACrE,SAAS,CAAC,EAAE,gBAAgB,CAAC;gBACjB,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI;IAInC,OAAO;IAIP,UAAU;IAIhB,YAAY,CAAC,SAAS,EAAE,gBAAgB;IAIxC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,eAAe;CAI3D"}
1
+ {"version":3,"file":"ConnectedLogger.d.ts","sourceRoot":"","sources":["../../src/lib/ConnectedLogger.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAc,MAAM,wBAAwB,CAAC;AAC/G,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE5C,qBAAa,eAAgB,SAAQ,MAAO,YAAW,gBAAgB;IACtE,SAAS,CAAC,EAAE,gBAAgB,CAAC;gBACjB,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI;IAInC,OAAO;IAIP,UAAU;IAIhB,YAAY,CAAC,SAAS,EAAE,gBAAgB;IAIxC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,eAAe;CAIhE"}
@@ -16,7 +16,7 @@ export class ConnectedLogger extends Logger {
16
16
  }
17
17
  out(level, message, mctx) {
18
18
  const content = { message, level, mctx };
19
- console.error('fixme; topic changed to context');
19
+ console.error(`fixme; topic changed to context ${content}`);
20
20
  }
21
21
  }
22
22
  //# sourceMappingURL=ConnectedLogger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectedLogger.js","sourceRoot":"","sources":["../../src/lib/ConnectedLogger.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAIjC,MAAM,OAAO,eAAgB,SAAQ,MAAM;IACzC,SAAS,CAAoB;IAC7B,YAAY,MAAkB,EAAE,GAAS;QACvC,MAAM,GAAG,GAAe,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QACxC,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IACD,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,YAAY,CAAC,SAA2B;QACtC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,GAAG,CAAC,KAAgB,EAAE,OAAY,EAAE,IAAsB;QACxD,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACnD,CAAC;CACF"}
1
+ {"version":3,"file":"ConnectedLogger.js","sourceRoot":"","sources":["../../src/lib/ConnectedLogger.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAKjC,MAAM,OAAO,eAAgB,SAAQ,MAAM;IAC1C,SAAS,CAAoB;IAC7B,YAAY,MAAkB,EAAE,GAAS;QACxC,MAAM,GAAG,GAAe,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QACxC,KAAK,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC;IACD,KAAK,CAAC,OAAO;QACZ,MAAM,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,UAAU;QACf,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,YAAY,CAAC,SAA2B;QACvC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,GAAG,CAAC,KAAgB,EAAE,OAAkB,EAAE,IAAsB;QAC/D,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;CACD"}
@@ -1,5 +1,7 @@
1
- import { TAnyFixme, TTag } from './defs.js';
2
- import { ILogger, ILogOutput, TActionStage, TArtifact, TArtifactMessageContext, TArtifactType, TLogArgs, TLogHistory, TLogLevel, TMessageContext, TOutputEnv } from './interfaces/logger.js';
1
+ import { TWorld, TAnyFixme } from './defs.js';
2
+ import { TArtifact } from './interfaces/artifacts.js';
3
+ import { ILogger, ILogOutput, TLogArgs, TLogLevel, TOutputEnv, EExecutionMessageType } from './interfaces/logger.js';
4
+ import { TMessageContext } from './interfaces/messageContexts.js';
3
5
  export declare const LOGGER_LOG: {
4
6
  level: string;
5
7
  };
@@ -25,31 +27,21 @@ export default class Logger implements ILogger, ILogOutput {
25
27
  subscribers: ILogOutput[];
26
28
  follow: string | undefined;
27
29
  static lastLevel: any;
28
- static traceHistory: TLogHistory[];
29
30
  constructor(conf: TConf);
30
31
  addSubscriber(subscriber: ILogOutput): void;
32
+ removeSubscriber(subscriber: ILogOutput): void;
31
33
  static shouldLogLevel(level: number, name: TLogLevel): boolean;
32
- static shouldLogFollow(match: string, tag: TTag): boolean;
33
34
  out(level: TLogLevel, args: TLogArgs, messageContext?: TMessageContext): void;
34
35
  debug: (args: TLogArgs, mctx?: TMessageContext) => void;
35
36
  log: (args: TLogArgs, mctx?: TMessageContext) => void;
36
37
  info: (args: TLogArgs, mctx?: TMessageContext) => void;
37
38
  warn: (args: TLogArgs, mctx?: TMessageContext) => void;
38
39
  error: (args: TLogArgs, mctx?: TMessageContext) => void;
39
- static logContext({ details, stage, type, path, event, tag, content }: {
40
- details: TAnyFixme;
41
- stage: TActionStage;
42
- type: TArtifactType;
43
- path?: string;
44
- content?: string;
45
- event: string;
46
- tag: TTag;
47
- }): TArtifactMessageContext;
48
- static logArtifact({ type, path, content }: {
49
- type: TArtifactType;
50
- path?: string;
51
- content?: string;
52
- }): TArtifact;
53
40
  }
41
+ export declare const topicArtifactLogger: (world: TWorld) => <T extends TArtifact>(message: TLogArgs, data: {
42
+ incident: EExecutionMessageType;
43
+ artifact?: T;
44
+ incidentDetails?: TAnyFixme;
45
+ }, level?: TLogLevel) => void;
54
46
  export {};
55
47
  //# sourceMappingURL=Logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/lib/Logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,uBAAuB,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAG7L,eAAO,MAAM,UAAU;;CAAmB,CAAC;AAC3C,eAAO,MAAM,cAAc;;CAAoB,CAAC;AAChD,eAAO,MAAM,aAAa;;;;;;;CAOzB,CAAC;AAEF,KAAK,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACjD,KAAK,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;AAEjC,MAAM,CAAC,OAAO,OAAO,MAAO,YAAW,OAAO,EAAE,UAAU;IACxD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAK;IAC9B,GAAG,EAAE,UAAU,GAAG,SAAS,CAAC;IAC5B,WAAW,EAAE,UAAU,EAAE,CAAM;IAC/B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,SAAS,MAAa;IAC7B,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,CAAM;gBAE5B,IAAI,EAAE,KAAK;IAYvB,aAAa,CAAC,UAAU,EAAE,UAAU;IAGpC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS;IAGpD,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;IAO/C,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,eAAe;IAqBtE,KAAK,SAAU,QAAQ,SAAS,eAAe,UAAmC;IAClF,GAAG,SAAU,QAAQ,SAAS,eAAe,UAAiC;IAC9E,IAAI,SAAU,QAAQ,SAAS,eAAe,UAAkC;IAChF,IAAI,SAAU,QAAQ,SAAS,eAAe,UAAkC;IAChF,KAAK,SAAU,QAAQ,SAAS,eAAe,UAAmC;IAElF,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,aAAa,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,IAAI,CAAA;KAAE,GAAG,uBAAuB;IAG5N,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;KAAE,GAAG,SAAS;CAGlH"}
1
+ {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/lib/Logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACrH,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGlE,eAAO,MAAM,UAAU;;CAAmB,CAAC;AAC3C,eAAO,MAAM,cAAc;;CAAoB,CAAC;AAChD,eAAO,MAAM,aAAa;;;;;;;CAOzB,CAAC;AAEF,KAAK,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACjD,KAAK,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;AAEjC,MAAM,CAAC,OAAO,OAAO,MAAO,YAAW,OAAO,EAAE,UAAU;IACzD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAK;IAC9B,GAAG,EAAE,UAAU,GAAG,SAAS,CAAC;IAC5B,WAAW,EAAE,UAAU,EAAE,CAAM;IAC/B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,SAAS,MAAa;gBAEjB,IAAI,EAAE,KAAK;IAYvB,aAAa,CAAC,UAAU,EAAE,UAAU;IAGpC,gBAAgB,CAAC,UAAU,EAAE,UAAU;IAGvC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS;IAGpD,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,eAAe;IAwBtE,KAAK,GAAI,MAAM,QAAQ,EAAE,OAAO,eAAe,UAAmC;IAClF,GAAG,GAAI,MAAM,QAAQ,EAAE,OAAO,eAAe,UAAiC;IAC9E,IAAI,GAAI,MAAM,QAAQ,EAAE,OAAO,eAAe,UAAkC;IAChF,IAAI,GAAI,MAAM,QAAQ,EAAE,OAAO,eAAe,UAAkC;IAChF,KAAK,GAAI,MAAM,QAAQ,EAAE,OAAO,eAAe,UAAmC;CAClF;AAGD,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,MAAM,CAAC,SAAS,SAAS,EACzE,SAAS,QAAQ,EACjB,MAAM;IAAE,QAAQ,EAAE,qBAAqB,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAAC,eAAe,CAAC,EAAE,SAAS,CAAA;CAAE,EACpF,QAAO,SAAiB,KACtB,IAOF,CAAA"}
@@ -15,7 +15,6 @@ export default class Logger {
15
15
  subscribers = [];
16
16
  follow;
17
17
  static lastLevel = undefined;
18
- static traceHistory = [];
19
18
  constructor(conf) {
20
19
  // passed a log level and possibly a follow
21
20
  if (conf.level) {
@@ -32,16 +31,12 @@ export default class Logger {
32
31
  addSubscriber(subscriber) {
33
32
  this.subscribers.push(subscriber);
34
33
  }
34
+ removeSubscriber(subscriber) {
35
+ this.subscribers = this.subscribers.filter((sub) => JSON.stringify(sub) !== JSON.stringify(subscriber));
36
+ }
35
37
  static shouldLogLevel(level, name) {
36
38
  return LOGGER_LEVELS[name] >= level;
37
39
  }
38
- static shouldLogFollow(match, tag) {
39
- if (!match || !tag) {
40
- return true;
41
- }
42
- const res = new RegExp(match).test(`${tag.sequence}`);
43
- return res;
44
- }
45
40
  out(level, args, messageContext) {
46
41
  for (const subscriber of this.subscribers) {
47
42
  subscriber.out(level, args, messageContext);
@@ -51,9 +46,13 @@ export default class Logger {
51
46
  return;
52
47
  }
53
48
  const stack = Error().stack?.split('\n');
54
- const caller = stack[Math.min((stack?.length || 1) - 1, 4)]?.replace(/.*\(/, '')?.replace(process.cwd(), '').replace(')', '').replace(/.*\//, '').replace(/\.ts:/, ':');
55
- Logger.traceHistory.push({ messageContext, message: args, level, caller });
56
- if (!Logger.shouldLogLevel(this.level, level) && Logger.shouldLogFollow(this.follow, this.env?.tag)) {
49
+ const caller = stack[Math.min((stack?.length || 1) - 1, 4)]
50
+ ?.replace(/.*\(/, '')
51
+ ?.replace(process.cwd(), '')
52
+ .replace(')', '')
53
+ .replace(/.*\//, '')
54
+ .replace(/\.ts:/, ':');
55
+ if (!Logger.shouldLogLevel(this.level, level)) {
57
56
  return;
58
57
  }
59
58
  const showLevel = Logger.lastLevel === level ? level.substring(0, 1).padStart(1 + level.length / 2) : level;
@@ -67,11 +66,14 @@ export default class Logger {
67
66
  info = (args, mctx) => this.out('info', args, mctx);
68
67
  warn = (args, mctx) => this.out('warn', args, mctx);
69
68
  error = (args, mctx) => this.out('error', args, mctx);
70
- static logContext({ details, stage, type, path, event, tag, content }) {
71
- return { topic: { ...details, event, stage }, artifact: { type, path, content }, tag };
72
- }
73
- static logArtifact({ type, path, content }) {
74
- return { type, path, content };
75
- }
76
69
  }
70
+ // Convenience function to create a log with message context and artifact
71
+ export const topicArtifactLogger = (world) => (message, data, level = 'log') => {
72
+ const context = {
73
+ incident: data.incident,
74
+ artifact: data.artifact,
75
+ incidentDetails: data.incidentDetails,
76
+ };
77
+ world.logger[level](message, context);
78
+ };
77
79
  //# sourceMappingURL=Logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/lib/Logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/lib/Logger.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,6 @@ export default class TestLogger implements ILogger {
6
6
  warn: () => any;
7
7
  error: () => any;
8
8
  addSubscriber: () => any;
9
+ removeSubscriber: () => any;
9
10
  }
10
11
  //# sourceMappingURL=TestLogger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TestLogger.d.ts","sourceRoot":"","sources":["../../src/lib/TestLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,UAAW,YAAW,OAAO;IAChD,KAAK,YAAU;IACf,GAAG,YAAU;IACb,IAAI,YAAU;IACd,IAAI,YAAU;IACd,KAAK,YAAU;IACf,aAAa,YAAU;CACxB"}
1
+ {"version":3,"file":"TestLogger.d.ts","sourceRoot":"","sources":["../../src/lib/TestLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,UAAW,YAAW,OAAO;IACjD,KAAK,YAAU;IACf,GAAG,YAAU;IACb,IAAI,YAAU;IACd,IAAI,YAAU;IACd,KAAK,YAAU;IACf,aAAa,YAAU;IACvB,gBAAgB,YAAU;CAC1B"}
@@ -6,5 +6,6 @@ export default class TestLogger {
6
6
  warn = nothin;
7
7
  error = nothin;
8
8
  addSubscriber = nothin;
9
+ removeSubscriber = nothin;
9
10
  }
10
11
  //# sourceMappingURL=TestLogger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TestLogger.js","sourceRoot":"","sources":["../../src/lib/TestLogger.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;AAC/B,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,KAAK,GAAG,MAAM,CAAC;IACf,GAAG,GAAG,MAAM,CAAC;IACb,IAAI,GAAG,MAAM,CAAC;IACd,IAAI,GAAG,MAAM,CAAC;IACd,KAAK,GAAG,MAAM,CAAC;IACf,aAAa,GAAG,MAAM,CAAC;CACxB"}
1
+ {"version":3,"file":"TestLogger.js","sourceRoot":"","sources":["../../src/lib/TestLogger.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;AAC/B,MAAM,CAAC,OAAO,OAAO,UAAU;IAC9B,KAAK,GAAG,MAAM,CAAC;IACf,GAAG,GAAG,MAAM,CAAC;IACb,IAAI,GAAG,MAAM,CAAC;IACd,IAAI,GAAG,MAAM,CAAC;IACd,KAAK,GAAG,MAAM,CAAC;IACf,aAAa,GAAG,MAAM,CAAC;IACvB,gBAAgB,GAAG,MAAM,CAAC;CAC1B"}
@@ -1,7 +1,7 @@
1
1
  export declare class Timer {
2
2
  static startTime: Date;
3
3
  static key: string;
4
- static START_TIME: [number, number];
4
+ static START_TIME: number;
5
5
  static setKey(newKey: string): void;
6
6
  since(): number;
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Timer.d.ts","sourceRoot":"","sources":["../../src/lib/Timer.ts"],"names":[],"mappings":"AAAA,qBAAa,KAAK;IAChB,MAAM,CAAC,SAAS,OAAc;IAC9B,MAAM,CAAC,GAAG,SAAkC;IAC5C,MAAM,CAAC,UAAU,mBAAoB;IACrC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM;IAI5B,KAAK;CAIN"}
1
+ {"version":3,"file":"Timer.d.ts","sourceRoot":"","sources":["../../src/lib/Timer.ts"],"names":[],"mappings":"AAAA,qBAAa,KAAK;IACjB,MAAM,CAAC,SAAS,OAAc;IAC9B,MAAM,CAAC,GAAG,SAAkC;IAC5C,MAAM,CAAC,UAAU,SAAc;IAC/B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM;IAI5B,KAAK;CAGL"}
@@ -1,13 +1,12 @@
1
1
  export class Timer {
2
2
  static startTime = new Date();
3
3
  static key = `${Timer.startTime.getTime()}`;
4
- static START_TIME = process.hrtime();
4
+ static START_TIME = Date.now();
5
5
  static setKey(newKey) {
6
6
  Timer.key = newKey;
7
7
  }
8
8
  since() {
9
- const [s, ns] = process.hrtime(Timer.START_TIME);
10
- return s + ns / 1000000000;
9
+ return Date.now() - Timer.START_TIME;
11
10
  }
12
11
  }
13
12
  //# sourceMappingURL=Timer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Timer.js","sourceRoot":"","sources":["../../src/lib/Timer.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,KAAK;IAChB,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC9B,MAAM,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;IAC5C,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IACrC,MAAM,CAAC,MAAM,CAAC,MAAc;QAC1B,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC;IACrB,CAAC;IAED,KAAK;QACH,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC;IAC7B,CAAC"}
1
+ {"version":3,"file":"Timer.js","sourceRoot":"","sources":["../../src/lib/Timer.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,KAAK;IACjB,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC9B,MAAM,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;IAC5C,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,MAAM,CAAC,MAAM,CAAC,MAAc;QAC3B,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC;IACpB,CAAC;IAED,KAAK;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;IACtC,CAAC"}
@@ -1,8 +1,8 @@
1
- import { TTag, WorkspaceBuilder } from './defs.js';
1
+ import { TAnyFixme, TTag } from './defs.js';
2
2
  export declare class Context {
3
3
  private context;
4
4
  values: {
5
- [name: string]: any;
5
+ [name: string]: TAnyFixme;
6
6
  };
7
7
  constructor(context: string, initial?: {
8
8
  [name: string]: string;
@@ -11,7 +11,7 @@ export declare class Context {
11
11
  set(name: string, value: string | boolean | object): void;
12
12
  setOnly(name: string, value: string | boolean | object): void;
13
13
  get(name: string): any;
14
- concat(name: string, value: any): void;
14
+ concat(name: string, value: TAnyFixme): void;
15
15
  unset(name: string): void;
16
16
  }
17
17
  export declare class WorldContext extends Context {
@@ -19,13 +19,4 @@ export declare class WorldContext extends Context {
19
19
  [name: string]: string;
20
20
  });
21
21
  }
22
- export declare class WorkspaceContext extends Context {
23
- constructor(context: string, initial?: {
24
- [name: string]: string;
25
- });
26
- builder: WorkspaceBuilder | undefined;
27
- createPath(path: string): any;
28
- addBuilder(what: WorkspaceBuilder): void;
29
- getBuilder(): WorkspaceBuilder;
30
- }
31
22
  //# sourceMappingURL=contexts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contexts.d.ts","sourceRoot":"","sources":["../../src/lib/contexts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEnD,qBAAa,OAAO;IAGP,OAAO,CAAC,OAAO;IAF3B,MAAM,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;gBAEZ,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;IAIzE,QAAQ;IAIR,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM;IAGlD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM;IAMtD,GAAG,CAAC,IAAI,EAAE,MAAM;IAGhB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAI/B,KAAK,CAAC,IAAI,EAAE,MAAM;CAGlB;AAED,qBAAa,YAAa,SAAQ,OAAO;gBAC5B,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;CAG3D;AAED,qBAAa,gBAAiB,SAAQ,OAAO;gBAChC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;IAGjE,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAa;IAClD,UAAU,CAAC,IAAI,EAAE,MAAM;IAIvB,UAAU,CAAC,IAAI,EAAE,gBAAgB;IAGjC,UAAU,IAAI,gBAAgB;CAM9B"}
1
+ {"version":3,"file":"contexts.d.ts","sourceRoot":"","sources":["../../src/lib/contexts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE5C,qBAAa,OAAO;IAGP,OAAO,CAAC,OAAO;IAF3B,MAAM,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;gBAElB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;IAIzE,QAAQ;IAIR,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM;IAGlD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM;IAMtD,GAAG,CAAC,IAAI,EAAE,MAAM;IAGhB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS;IAIrC,KAAK,CAAC,IAAI,EAAE,MAAM;CAGlB;AAED,qBAAa,YAAa,SAAQ,OAAO;gBAC5B,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;CAG3D"}
@@ -30,26 +30,7 @@ export class Context {
30
30
  }
31
31
  export class WorldContext extends Context {
32
32
  constructor(tag, initial) {
33
- super(`world ${tag}`, initial);
34
- }
35
- }
36
- export class WorkspaceContext extends Context {
37
- constructor(context, initial) {
38
- super(`workspace ${context}`, initial);
39
- }
40
- builder = undefined;
41
- createPath(path) {
42
- this.values[path] = new WorkspaceContext(`path ${path}`);
43
- return this.values[path];
44
- }
45
- addBuilder(what) {
46
- this.builder = what;
47
- }
48
- getBuilder() {
49
- if (!this.builder) {
50
- throw Error('no builder');
51
- }
52
- return this.builder;
33
+ super(`world ${JSON.stringify(tag)}`, initial);
53
34
  }
54
35
  }
55
36
  //# sourceMappingURL=contexts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contexts.js","sourceRoot":"","sources":["../../src/lib/contexts.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,OAAO;IAGC;IAFpB,MAAM,CAA0B;IAEhC,YAAoB,OAAe,EAAE,OAAoC;QAArD,YAAO,GAAP,OAAO,CAAQ;QAClC,IAAI,CAAC,MAAM,GAAG,OAAO,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,QAAQ;QACP,OAAO,WAAW,IAAI,CAAC,OAAO,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC;IACxD,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,KAAgC;QACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,IAAY,EAAE,KAAgC;QACrD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,GAAG,IAAI,sBAAsB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,GAAG,CAAC,IAAY;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,CAAC,IAAY,EAAE,KAAU;QAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,KAAK,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACD;AAED,MAAM,OAAO,YAAa,SAAQ,OAAO;IACxC,YAAY,GAAS,EAAE,OAAoC;QAC1D,KAAK,CAAC,SAAS,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;CACD;AAED,MAAM,OAAO,gBAAiB,SAAQ,OAAO;IAC5C,YAAY,OAAe,EAAE,OAAoC;QAChE,KAAK,CAAC,aAAa,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,GAAiC,SAAS,CAAC;IAClD,UAAU,CAAC,IAAY;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,gBAAgB,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,UAAU,CAAC,IAAsB;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACrB,CAAC;IACD,UAAU;QACT,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC,OAAQ,CAAC;IACtB,CAAC;CACD"}
1
+ {"version":3,"file":"contexts.js","sourceRoot":"","sources":["../../src/lib/contexts.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,OAAO;IAGC;IAFpB,MAAM,CAAgC;IAEtC,YAAoB,OAAe,EAAE,OAAoC;QAArD,YAAO,GAAP,OAAO,CAAQ;QAClC,IAAI,CAAC,MAAM,GAAG,OAAO,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,QAAQ;QACP,OAAO,WAAW,IAAI,CAAC,OAAO,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC;IACxD,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,KAAgC;QACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,IAAY,EAAE,KAAgC;QACrD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,GAAG,IAAI,sBAAsB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,GAAG,CAAC,IAAY;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,CAAC,IAAY,EAAE,KAAgB;QACpC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,KAAK,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACD;AAED,MAAM,OAAO,YAAa,SAAQ,OAAO;IACxC,YAAY,GAAS,EAAE,OAAoC;QAC1D,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;CACD"}
@@ -1,5 +1,6 @@
1
- import { WorkspaceContext, WorldContext } from './contexts.js';
2
- import { ILogger, TMessageContext } from './interfaces/logger.js';
1
+ import { WorldContext } from './contexts.js';
2
+ import { ILogger } from './interfaces/logger.js';
3
+ import { TMessageContext } from './interfaces/messageContexts.js';
3
4
  import { Timer } from './Timer.js';
4
5
  export type TSpecl = {
5
6
  steppers: string[];
@@ -10,13 +11,20 @@ export type TSpecl = {
10
11
  };
11
12
  };
12
13
  };
13
- options: TOptions;
14
14
  };
15
- type TBaseOptions = {
15
+ export type TBaseOptions = {
16
16
  DEST: string;
17
- };
18
- export type TOptions = TBaseOptions & {
19
- [name: string]: TOptionValue;
17
+ KEY?: string;
18
+ DESCRIPTION?: string;
19
+ LOG_LEVEL?: string;
20
+ LOG_FOLLOW?: string;
21
+ STAY?: string;
22
+ SETTING?: string;
23
+ [CONTINUE_AFTER_ERROR]?: boolean;
24
+ envVariables?: TEnvVariables;
25
+ };
26
+ export type TEnvVariables = {
27
+ [name: string]: string;
20
28
  };
21
29
  export type TOptionValue = TAnyFixme;
22
30
  export interface IHasOptions {
@@ -27,40 +35,22 @@ export interface IHasOptions {
27
35
  default?: string;
28
36
  desc: string;
29
37
  parse: (input: string, existing?: TOptionValue) => {
30
- error?: string;
31
- env?: TOptions;
38
+ parseError?: string;
39
+ env?: TEnvVariables;
32
40
  result?: TAnyFixme;
33
41
  };
34
42
  };
35
43
  };
36
44
  }
37
- export declare const HANDLER_USAGE: {
38
- readonly EXCLUSIVE: "exclusive";
39
- readonly FALLBACK: "fallback";
40
- };
41
- export type THandlerUsage = (typeof HANDLER_USAGE)[keyof typeof HANDLER_USAGE];
42
- export interface IHandler {
43
- usage?: THandlerUsage;
44
- handle: Function;
45
- }
46
- export interface ISourcedHandler extends IHandler {
47
- stepper: AStepper;
48
- }
49
- export type THandlers = {
50
- [handlesName: string]: IHandler;
51
- };
52
- export interface IHasHandlers extends AStepper {
53
- handlers: THandlers;
54
- }
55
- export declare const isHasHandlers: (s: IHasHandlers) => s is IHasHandlers;
56
- export interface IHasBuilder {
57
- finalize: (workspace: WorkspaceContext) => void;
45
+ export interface IProcessFeatureResults extends AStepper {
46
+ processFeatureResult: (executorResult: TExecutorResult) => Promise<void>;
58
47
  }
48
+ export declare const isProcessFeatureResults: (s: AStepper) => s is IProcessFeatureResults;
59
49
  export type TModuleOptions = {
60
50
  [name: string]: string;
61
51
  };
62
52
  export type TProtoOptions = {
63
- options: TOptions;
53
+ options: TBaseOptions;
64
54
  moduleOptions: TModuleOptions;
65
55
  };
66
56
  export type TBase = string[];
@@ -69,13 +59,12 @@ export type TWorld = {
69
59
  shared: WorldContext;
70
60
  runtime: TRuntime;
71
61
  logger: ILogger;
72
- options: TOptions;
62
+ options: TBaseOptions;
73
63
  moduleOptions: TModuleOptions;
74
64
  timer: Timer;
75
65
  bases: TBase;
76
66
  };
77
67
  export type TFeatureMeta = {
78
- type: string;
79
68
  base: string;
80
69
  name: string;
81
70
  path: string;
@@ -93,7 +82,9 @@ export type TExpandedLine = {
93
82
  feature: TFeature;
94
83
  };
95
84
  export type TFeatures = TFeature[];
96
- export type TResolvedFeature = TExpandedFeature & {
85
+ export type TResolvedFeature = {
86
+ path: string;
87
+ base: string;
97
88
  name: string;
98
89
  featureSteps: TFeatureStep[];
99
90
  };
@@ -106,22 +97,12 @@ export type TTag = {
106
97
  trace: boolean;
107
98
  };
108
99
  export type TFeatureStep = {
109
- source: TFeature;
100
+ path: string;
110
101
  in: string;
111
102
  seq: number;
112
103
  action: TStepAction;
113
104
  };
114
105
  export type TAction = (named: TNamed, featureStep: TFeatureStep) => Promise<TActionResult>;
115
- export type TRequiresResult = {
116
- includes?: string[];
117
- };
118
- export type TFinalize = (workspace: WorkspaceContext) => void;
119
- export declare abstract class WorkspaceBuilder {
120
- private name;
121
- constructor(name: string);
122
- abstract addControl(...args: TAnyFixme): any;
123
- abstract finalize(): TAnyFixme;
124
- }
125
106
  export type TStepperStep = {
126
107
  match?: RegExp;
127
108
  gwta?: string;
@@ -129,7 +110,7 @@ export type TStepperStep = {
129
110
  action: TAction;
130
111
  applyEffect?: TApplyEffect;
131
112
  };
132
- export type TApplyEffect = (named: TNamed, resolvedFeatures: TResolvedFeature[]) => Promise<TResolvedFeature[]>;
113
+ export type TApplyEffect = (named: TNamed, featureStep: TFeatureStep, steppers: AStepper[]) => Promise<TFeatureStep[]>;
133
114
  export interface CStepper {
134
115
  new (): AStepper;
135
116
  prototype: {
@@ -144,11 +125,25 @@ export type TAnyFixme = any;
144
125
  export type TSteppers = {
145
126
  [name: string]: AStepper;
146
127
  };
128
+ export type TEndFeature = {
129
+ world: TWorld;
130
+ shouldClose: boolean;
131
+ isLast: boolean;
132
+ okSoFar: boolean;
133
+ continueAfterError: boolean;
134
+ stayOnFailure: boolean;
135
+ thisFeatureOK: boolean;
136
+ };
137
+ export interface IStepperCycles {
138
+ startExecution?(): Promise<void>;
139
+ startFeature?(): Promise<void>;
140
+ endFeature?(endedWith?: TEndFeature): Promise<void>;
141
+ onFailure?(result: TStepResult, step: TFeatureStep): Promise<void | TMessageContext>;
142
+ endExecution?(): Promise<void>;
143
+ }
147
144
  export declare abstract class AStepper {
148
145
  world?: TWorld;
149
- close?(): void;
150
- endFeature?(): Promise<void>;
151
- onFailure?(result: TStepResult, step: TFeatureStep): Promise<void | TMessageContext>;
146
+ cycles?: IStepperCycles;
152
147
  setWorld(world: TWorld, steppers: AStepper[]): Promise<void>;
153
148
  abstract steps: {
154
149
  [name: string]: TStepperStep;
@@ -181,33 +176,22 @@ export type TExecutorResult = {
181
176
  ok: boolean;
182
177
  tag: TTag;
183
178
  shared: WorldContext;
184
- topics?: TActionResultTopics;
179
+ topics?: TMessageContext;
185
180
  featureResults?: TFeatureResult[];
186
181
  failure?: {
187
182
  stage: string;
188
183
  error: TExecutorResultError;
189
184
  };
185
+ steppers: AStepper[];
190
186
  };
191
187
  export type TOKActionResult = {
192
188
  ok: true;
193
- topics?: TActionResultTopics;
194
- };
195
- export type TActionResultTopics = {
196
- [topic: string]: {
197
- summary: string;
198
- details?: TAnyFixme;
199
- report?: {
200
- html?: string;
201
- image?: string;
202
- video?: string;
203
- };
204
- };
189
+ messageContext?: TMessageContext;
205
190
  };
206
191
  export type TNotOKActionResult = {
207
192
  ok: false;
208
193
  message: string;
209
- error?: Error;
210
- topics?: TActionResultTopics;
194
+ messageContext?: TMessageContext;
211
195
  };
212
196
  export type TTrace = {
213
197
  [name: string]: {
@@ -249,36 +233,26 @@ export type TStepResult = {
249
233
  ok: boolean;
250
234
  actionResult: TStepActionResult;
251
235
  in: string;
252
- sourcePath: string;
236
+ path: string;
253
237
  seq: number;
254
238
  };
255
239
  export type TRuntime = {
256
240
  [name: string]: TAnyFixme;
257
241
  };
258
- export interface IResultOutput {
259
- writeOutput(result: TExecutorResult, args: TAnyFixme): Promise<TAnyFixme>;
260
- }
261
242
  export declare const HAIBUN = "HAIBUN";
262
243
  export declare const BASE_PREFIX = "HAIBUN_";
263
244
  export declare const CAPTURE = "capture";
264
- export declare const DEFAULT_DEST = "default";
265
245
  export declare const BASE_DOMAINS: {
266
246
  name: string;
267
247
  resolve: (inp: string) => string;
268
248
  }[];
269
- export type TEndFeatureCallbackParams = {
270
- world: TWorld;
271
- result: TFeatureResult;
272
- steppers: AStepper[];
273
- startOffset: number;
274
- };
275
- export type TEndFeatureCallback = (params: TEndFeatureCallbackParams) => Promise<void>;
276
249
  export declare const STAY_ALWAYS = "always";
277
250
  export declare const STAY_FAILURE = "failure";
278
251
  export declare const STAY = "STAY";
279
- export declare function versionedSchema(schema: string): string;
280
252
  export declare const CHECK_YES = "\u2705";
281
253
  export declare const CHECK_NO = "\u274C";
282
254
  export declare const STEP_DELAY = "STEP_DELAY";
255
+ export declare const DEFAULT_DEST = "default";
256
+ export declare const CONTINUE_AFTER_ERROR = "CONTINUE_AFTER_ERROR";
283
257
  export {};
284
258
  //# sourceMappingURL=defs.d.ts.map