@t4h.framework/core 0.11.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/.ai/skills/framework-core/SKILL.md +5 -7
  2. package/.ai/skills/framework-workflow-creation/SKILL.md +4 -6
  3. package/.ai/skills/framework-workflow-testing/SKILL.md +1 -9
  4. package/CHANGELOG.md +68 -0
  5. package/README.md +77 -8
  6. package/dist/core.d.ts +2 -1
  7. package/dist/core.d.ts.map +1 -1
  8. package/dist/core.js +2 -1
  9. package/dist/core.js.map +1 -1
  10. package/dist/exceptions/AsyncActivityCallbackException.d.ts +13 -0
  11. package/dist/exceptions/AsyncActivityCallbackException.d.ts.map +1 -0
  12. package/dist/exceptions/AsyncActivityCallbackException.js +20 -0
  13. package/dist/exceptions/AsyncActivityCallbackException.js.map +1 -0
  14. package/dist/models/AsyncActivity.d.ts +2 -0
  15. package/dist/models/AsyncActivity.d.ts.map +1 -1
  16. package/dist/models/AsyncActivity.js.map +1 -1
  17. package/dist/models/AsyncActivityAdvanceResult.d.ts +3 -1
  18. package/dist/models/AsyncActivityAdvanceResult.d.ts.map +1 -1
  19. package/dist/models/AsyncActivityAdvanceResult.js +3 -1
  20. package/dist/models/AsyncActivityAdvanceResult.js.map +1 -1
  21. package/dist/models/AsyncActivityAwaitable.d.ts +1 -1
  22. package/dist/models/AsyncActivityAwaitable.d.ts.map +1 -1
  23. package/dist/models/AsyncActivityAwaitable.js +0 -2
  24. package/dist/models/AsyncActivityAwaitable.js.map +1 -1
  25. package/dist/models/History.d.ts +2 -17
  26. package/dist/models/History.d.ts.map +1 -1
  27. package/dist/models/History.js +8 -26
  28. package/dist/models/History.js.map +1 -1
  29. package/dist/models/Logger.d.ts.map +1 -1
  30. package/dist/models/Logger.js +1 -2
  31. package/dist/models/Logger.js.map +1 -1
  32. package/dist/testing/TestClock.d.ts.map +1 -1
  33. package/dist/testing/TestClock.js +35 -6
  34. package/dist/testing/TestClock.js.map +1 -1
  35. package/dist/testing/TestWorkflowEnvironment.d.ts.map +1 -1
  36. package/dist/testing/TestWorkflowEnvironment.js +4 -6
  37. package/dist/testing/TestWorkflowEnvironment.js.map +1 -1
  38. package/dist/testing/tools/resolve-activity.d.ts.map +1 -1
  39. package/dist/testing/tools/resolve-activity.js +1 -4
  40. package/dist/testing/tools/resolve-activity.js.map +1 -1
  41. package/dist/testing/tools/resolve-async-activity.d.ts +2 -3
  42. package/dist/testing/tools/resolve-async-activity.d.ts.map +1 -1
  43. package/dist/testing/tools/resolve-async-activity.js +36 -17
  44. package/dist/testing/tools/resolve-async-activity.js.map +1 -1
  45. package/dist/testing/tools/run-workflow-ticks.d.ts.map +1 -1
  46. package/dist/testing/tools/run-workflow-ticks.js +0 -6
  47. package/dist/testing/tools/run-workflow-ticks.js.map +1 -1
  48. package/dist/testing/tools/run-workflow.d.ts +0 -4
  49. package/dist/testing/tools/run-workflow.d.ts.map +1 -1
  50. package/dist/testing/tools/run-workflow.js +7 -17
  51. package/dist/testing/tools/run-workflow.js.map +1 -1
  52. package/dist/tools/AsyncActivityCallback.d.ts +32 -0
  53. package/dist/tools/AsyncActivityCallback.d.ts.map +1 -0
  54. package/dist/tools/AsyncActivityCallback.js +137 -0
  55. package/dist/tools/AsyncActivityCallback.js.map +1 -0
  56. package/dist/tools/Internals.d.ts +0 -2
  57. package/dist/tools/Internals.d.ts.map +1 -1
  58. package/dist/tools/Internals.js +1 -5
  59. package/dist/tools/Internals.js.map +1 -1
  60. package/package.json +1 -1
  61. package/dist/exceptions/TimerNotAllowedException.d.ts +0 -5
  62. package/dist/exceptions/TimerNotAllowedException.d.ts.map +0 -1
  63. package/dist/exceptions/TimerNotAllowedException.js +0 -9
  64. package/dist/exceptions/TimerNotAllowedException.js.map +0 -1
  65. package/dist/tools/Deterministic.d.ts +0 -7
  66. package/dist/tools/Deterministic.d.ts.map +0 -1
  67. package/dist/tools/Deterministic.js +0 -107
  68. package/dist/tools/Deterministic.js.map +0 -1
  69. package/dist/tools/clock.d.ts +0 -3
  70. package/dist/tools/clock.d.ts.map +0 -1
  71. package/dist/tools/clock.js +0 -11
  72. package/dist/tools/clock.js.map +0 -1
  73. package/dist/tools/random.d.ts +0 -3
  74. package/dist/tools/random.d.ts.map +0 -1
  75. package/dist/tools/random.js +0 -29
  76. package/dist/tools/random.js.map +0 -1
@@ -0,0 +1,137 @@
1
+ import crypto from 'node:crypto';
2
+ import { AsyncActivityCallbackAuthUnsupportedException, AsyncActivityCallbackAuthorizerMissingException, } from '../exceptions/AsyncActivityCallbackException.js';
3
+ export var AsyncActivityCallback;
4
+ (function (AsyncActivityCallback) {
5
+ function deriveToken(secret, activityId) {
6
+ return crypto
7
+ .createHmac('sha256', secret)
8
+ .update(activityId)
9
+ .digest('base64url');
10
+ }
11
+ AsyncActivityCallback.deriveToken = deriveToken;
12
+ function isTokenValid(secret, activityId, token) {
13
+ const expected = Buffer.from(deriveToken(secret, activityId));
14
+ const candidate = Buffer.from(token);
15
+ return (expected.length === candidate.length &&
16
+ crypto.timingSafeEqual(expected, candidate));
17
+ }
18
+ AsyncActivityCallback.isTokenValid = isTokenValid;
19
+ function getHeader(headers, name) {
20
+ const wanted = name.toLowerCase();
21
+ for (const [key, value] of Object.entries(headers)) {
22
+ if (key.toLowerCase() !== wanted)
23
+ continue;
24
+ if (Array.isArray(value))
25
+ return value[0];
26
+ return value;
27
+ }
28
+ return undefined;
29
+ }
30
+ AsyncActivityCallback.getHeader = getHeader;
31
+ const BEARER = /^Bearer\s+(.+)$/i;
32
+ function getBearerToken(headers, name = 'authorization') {
33
+ const value = getHeader(headers, name);
34
+ if (!value)
35
+ return undefined;
36
+ return BEARER.exec(value)?.[1]?.trim();
37
+ }
38
+ AsyncActivityCallback.getBearerToken = getBearerToken;
39
+ function flattenHeaders(headers) {
40
+ const result = {};
41
+ for (const [name, value] of Object.entries(headers)) {
42
+ if (value === undefined)
43
+ continue;
44
+ result[name.toLowerCase()] = Array.isArray(value)
45
+ ? value.join(', ')
46
+ : value;
47
+ }
48
+ return result;
49
+ }
50
+ AsyncActivityCallback.flattenHeaders = flattenHeaders;
51
+ const JSON_CONTENT_TYPE = /^application\/([\w.-]+\+)?json$/i;
52
+ const FORM_CONTENT_TYPE = 'application/x-www-form-urlencoded';
53
+ function parseBody(contentType, rawBody) {
54
+ if (!rawBody.length)
55
+ return undefined;
56
+ const type = contentType?.split(';')[0]?.trim().toLowerCase() ?? '';
57
+ if (JSON_CONTENT_TYPE.test(type))
58
+ try {
59
+ return JSON.parse(rawBody);
60
+ }
61
+ catch {
62
+ return rawBody;
63
+ }
64
+ if (type === FORM_CONTENT_TYPE) {
65
+ const params = new URLSearchParams(rawBody);
66
+ const result = {};
67
+ for (const key of new Set(params.keys())) {
68
+ const values = params.getAll(key);
69
+ result[key] = values.length === 1 ? values[0] : values;
70
+ }
71
+ return result;
72
+ }
73
+ return rawBody;
74
+ }
75
+ AsyncActivityCallback.parseBody = parseBody;
76
+ function toEvent(delivery) {
77
+ const headers = flattenHeaders(delivery.headers);
78
+ return {
79
+ method: delivery.method,
80
+ headers,
81
+ body: parseBody(headers['content-type'], delivery.rawBody),
82
+ rawBody: delivery.rawBody,
83
+ };
84
+ }
85
+ AsyncActivityCallback.toEvent = toEvent;
86
+ function timingSafeEqualString(expected, candidate) {
87
+ const a = Buffer.from(expected, 'utf8');
88
+ const b = Buffer.from(candidate, 'utf8');
89
+ if (a.length !== b.length)
90
+ return false;
91
+ return crypto.timingSafeEqual(a, b);
92
+ }
93
+ function verifyBasic(auth, delivery) {
94
+ const value = getHeader(delivery.headers, 'authorization');
95
+ if (!value)
96
+ return false;
97
+ const expected = `Basic ${Buffer.from(`${auth.username}:${auth.password}`).toString('base64')}`;
98
+ return timingSafeEqualString(expected, value);
99
+ }
100
+ function verifyHeader(auth, delivery) {
101
+ const value = getHeader(delivery.headers, auth.name);
102
+ if (!value)
103
+ return false;
104
+ return timingSafeEqualString(auth.value, value);
105
+ }
106
+ function verifyBearer(auth, delivery) {
107
+ const token = getBearerToken(delivery.headers);
108
+ if (!token)
109
+ return false;
110
+ return timingSafeEqualString(auth.token, token);
111
+ }
112
+ const KNOWN_TYPES = [
113
+ 'hmac',
114
+ 'basic',
115
+ 'header',
116
+ 'bearer',
117
+ 'jwt',
118
+ ];
119
+ const BUILT_IN = {
120
+ basic: verifyBasic,
121
+ header: verifyHeader,
122
+ bearer: verifyBearer,
123
+ };
124
+ async function authorize(auth, delivery, authorizers = {}) {
125
+ if (!auth)
126
+ return true;
127
+ const type = auth.type;
128
+ if (typeof type !== 'string' || !KNOWN_TYPES.includes(type))
129
+ throw new AsyncActivityCallbackAuthUnsupportedException(String(type));
130
+ const authorizer = { ...BUILT_IN, ...authorizers }[type];
131
+ if (!authorizer)
132
+ throw new AsyncActivityCallbackAuthorizerMissingException(type);
133
+ return authorizer(auth, delivery);
134
+ }
135
+ AsyncActivityCallback.authorize = authorize;
136
+ })(AsyncActivityCallback || (AsyncActivityCallback = {}));
137
+ //# sourceMappingURL=AsyncActivityCallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncActivityCallback.js","sourceRoot":"","sources":["../../src/tools/AsyncActivityCallback.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,6 @@ import { type Log } from '../models/Logger.js';
6
6
  import type { Workflow, WorkflowInput } from '../models/Workflow.js';
7
7
  export declare namespace Internals {
8
8
  interface WorkflowRunContext<TWorkflow extends Workflow<any, any>> {
9
- id: string;
10
- createdAt: number;
11
9
  claims: readonly ClaimProvider<any>[];
12
10
  history: readonly HistoryItem[];
13
11
  env: Env.Entries;
@@ -1 +1 @@
1
- {"version":3,"file":"Internals.d.ts","sourceRoot":"","sources":["../../src/tools/Internals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC1E,OAAO,EAAS,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAU,KAAK,GAAG,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAEpE,yBAAiB,SAAS,CAAC;IACzB,UAAiB,kBAAkB,CAAC,SAAS,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;QACtE,EAAE,EAAE,MAAM,CAAA;QACV,SAAS,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE,CAAA;QACrC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAA;QAC/B,GAAG,EAAE,GAAG,CAAC,OAAO,CAAA;QAChB,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;QAC/B,IAAI,EAAE,GAAG,EAAE,CAAA;KACZ;IAED,SAAgB,WAAW,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EACtD,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAc/B;IAED,UAAiB,kBAAkB;QACjC,EAAE,EAAE,MAAM,CAAA;QACV,MAAM,EAAE,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE,CAAA;QACrC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAA;KACjB;IAED,SAAgB,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,EAC/C,6BAA6B,EAAE,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,EACzD,OAAO,EAAE,kBAAkB,EAC3B,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,KAYvB;CACF"}
1
+ {"version":3,"file":"Internals.d.ts","sourceRoot":"","sources":["../../src/tools/Internals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC1E,OAAO,EAAS,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAU,KAAK,GAAG,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAEpE,yBAAiB,SAAS,CAAC;IACzB,UAAiB,kBAAkB,CAAC,SAAS,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;QACtE,MAAM,EAAE,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE,CAAA;QACrC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAA;QAC/B,GAAG,EAAE,GAAG,CAAC,OAAO,CAAA;QAChB,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;QAC/B,IAAI,EAAE,GAAG,EAAE,CAAA;KACZ;IAED,SAAgB,WAAW,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EACtD,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAS/B;IAED,UAAiB,kBAAkB;QACjC,EAAE,EAAE,MAAM,CAAA;QACV,MAAM,EAAE,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE,CAAA;QACrC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAA;KACjB;IAED,SAAgB,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,EAC/C,6BAA6B,EAAE,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,EACzD,OAAO,EAAE,kBAAkB,EAC3B,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,KAYvB;CACF"}
@@ -5,11 +5,7 @@ import { Logger } from '../models/Logger.js';
5
5
  export var Internals;
6
6
  (function (Internals) {
7
7
  function runWorkflow(workflow, context) {
8
- return Env.run(context.env, () => Claim.run(context.claims, () => History.run({
9
- history: context.history,
10
- seed: context.id,
11
- createdAt: context.createdAt,
12
- }, () => Logger.run(context.logs, () => workflow.fn(context.input)))));
8
+ return Env.run(context.env, () => Claim.run(context.claims, () => History.run(context.history, () => Logger.run(context.logs, () => workflow.fn(context.input)))));
13
9
  }
14
10
  Internals.runWorkflow = runWorkflow;
15
11
  function runActivity(activityOrActivityConstructor, context, fn) {
@@ -1 +1 @@
1
- {"version":3,"file":"Internals.js","sourceRoot":"","sources":["../../src/tools/Internals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAsB,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,OAAO,EAAoB,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,MAAM,EAAY,MAAM,qBAAqB,CAAA;AAGtD,MAAM,KAAW,SAAS,CAmDzB;AAnDD,WAAiB,SAAS;IAWxB,SAAgB,WAAW,CACzB,QAAW,EACX,OAA8B;QAE9B,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,CAC/B,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,CAC7B,OAAO,CAAC,GAAG,CACT;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,EAAE;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,EACD,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CACjE,CACF,CACF,CAAA;IACH,CAAC;IAhBe,qBAAW,cAgB1B,CAAA;IAQD,SAAgB,WAAW,CACzB,6BAAyD,EACzD,OAA2B,EAC3B,EAAsB;QAEtB,MAAM,QAAQ,GACZ,OAAO,6BAA6B,KAAK,UAAU;YACjD,CAAC,CAAC,IAAI,6BAA6B,EAAE;YACrC,CAAC,CAAC,6BAA6B,CAAA;QAEnC,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;QAExB,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,CAC/B,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAC9C,CAAA;IACH,CAAC;IAfe,qBAAW,cAe1B,CAAA;AACH,CAAC,EAnDgB,SAAS,KAAT,SAAS,QAmDzB"}
1
+ {"version":3,"file":"Internals.js","sourceRoot":"","sources":["../../src/tools/Internals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAsB,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,OAAO,EAAoB,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,MAAM,EAAY,MAAM,qBAAqB,CAAA;AAGtD,MAAM,KAAW,SAAS,CA4CzB;AA5CD,WAAiB,SAAS;IASxB,SAAgB,WAAW,CACzB,QAAW,EACX,OAA8B;QAE9B,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,CAC/B,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,CAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,CAChC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAC3D,CACF,CACF,CAAA;IACH,CAAC;IAXe,qBAAW,cAW1B,CAAA;IAQD,SAAgB,WAAW,CACzB,6BAAyD,EACzD,OAA2B,EAC3B,EAAsB;QAEtB,MAAM,QAAQ,GACZ,OAAO,6BAA6B,KAAK,UAAU;YACjD,CAAC,CAAC,IAAI,6BAA6B,EAAE;YACrC,CAAC,CAAC,6BAA6B,CAAA;QAEnC,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;QAExB,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,CAC/B,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAC9C,CAAA;IACH,CAAC;IAfe,qBAAW,cAe1B,CAAA;AACH,CAAC,EA5CgB,SAAS,KAAT,SAAS,QA4CzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@t4h.framework/core",
3
- "version": "0.11.0",
3
+ "version": "0.13.0",
4
4
  "description": "Core module for the T4H Framework",
5
5
  "homepage": "https://github.com/tech4humans-brasil/framework/tree/main/packages/core",
6
6
  "bugs": "https://github.com/tech4humans-brasil/framework/issues",
@@ -1,5 +0,0 @@
1
- export declare class TimerNotAllowedException extends Error {
2
- readonly timer: string;
3
- constructor(timer: string);
4
- }
5
- //# sourceMappingURL=TimerNotAllowedException.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimerNotAllowedException.d.ts","sourceRoot":"","sources":["../../src/exceptions/TimerNotAllowedException.ts"],"names":[],"mappings":"AAAA,qBAAa,wBAAyB,SAAQ,KAAK;aACd,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;CAKjD"}
@@ -1,9 +0,0 @@
1
- export class TimerNotAllowedException extends Error {
2
- timer;
3
- constructor(timer) {
4
- super(`${timer}() cannot be used inside a workflow.`);
5
- this.timer = timer;
6
- this.name = 'TimerNotAllowedException';
7
- }
8
- }
9
- //# sourceMappingURL=TimerNotAllowedException.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimerNotAllowedException.js","sourceRoot":"","sources":["../../src/exceptions/TimerNotAllowedException.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACd;IAAnC,YAAmC,KAAa;QAC9C,KAAK,CAAC,GAAG,KAAK,sCAAsC,CAAC,CAAA;QADpB,UAAK,GAAL,KAAK,CAAQ;QAG9C,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAA;IACxC,CAAC;CACF"}
@@ -1,7 +0,0 @@
1
- export declare namespace Deterministic {
2
- function realNow(): number;
3
- function hostNow(): number;
4
- function useHostClock(read: () => number | undefined): void;
5
- function install(): void;
6
- }
7
- //# sourceMappingURL=Deterministic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Deterministic.d.ts","sourceRoot":"","sources":["../../src/tools/Deterministic.ts"],"names":[],"mappings":"AAOA,yBAAiB,aAAa,CAAC;IAU7B,SAAgB,OAAO,IAAI,MAAM,CAEhC;IAED,SAAgB,OAAO,IAAI,MAAM,CAEhC;IAED,SAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,MAAM,GAAG,SAAS,QAE1D;IAUD,SAAgB,OAAO,SAUtB;CAgGF"}
@@ -1,107 +0,0 @@
1
- import { createRequire, syncBuiltinESMExports } from 'node:module';
2
- import { softNow } from './clock.js';
3
- import { random, uuid } from './random.js';
4
- import { TimerNotAllowedException } from '../exceptions/TimerNotAllowedException.js';
5
- import { History } from '../models/History.js';
6
- export var Deterministic;
7
- (function (Deterministic) {
8
- const require = createRequire(import.meta.url);
9
- const OriginalDate = globalThis.Date;
10
- const originalRandom = Math.random;
11
- let installed = false;
12
- let hostClock = () => undefined;
13
- function realNow() {
14
- return OriginalDate.now();
15
- }
16
- Deterministic.realNow = realNow;
17
- function hostNow() {
18
- return hostClock() ?? OriginalDate.now();
19
- }
20
- Deterministic.hostNow = hostNow;
21
- function useHostClock(read) {
22
- hostClock = read;
23
- }
24
- Deterministic.useHostClock = useHostClock;
25
- function nextRandom() {
26
- const store = History.peek();
27
- if (!store)
28
- return undefined;
29
- return random(store.seed, store.randomCalls++);
30
- }
31
- function install() {
32
- if (installed)
33
- return;
34
- installed = true;
35
- patchDate();
36
- patchRandom();
37
- patchRandomUUID();
38
- patchNodeRandomUUID();
39
- patchTimers();
40
- }
41
- Deterministic.install = install;
42
- function patchDate() {
43
- class DeterministicDate extends OriginalDate {
44
- constructor(...args) {
45
- if (args.length === 0)
46
- super(softNow() ?? hostNow());
47
- else
48
- super(...args);
49
- }
50
- static now() {
51
- return softNow() ?? hostNow();
52
- }
53
- static [Symbol.hasInstance](value) {
54
- return value instanceof OriginalDate;
55
- }
56
- }
57
- globalThis.Date = DeterministicDate;
58
- }
59
- function patchRandom() {
60
- Math.random = () => nextRandom() ?? originalRandom();
61
- }
62
- function nextUUID() {
63
- const store = History.peek();
64
- if (!store)
65
- return undefined;
66
- return uuid(() => random(store.seed, store.randomCalls++));
67
- }
68
- function patchRandomUUID() {
69
- const target = globalThis.crypto;
70
- if (!target?.randomUUID)
71
- return;
72
- const original = target.randomUUID.bind(target);
73
- target.randomUUID = () => nextUUID() ?? original();
74
- }
75
- function patchNodeRandomUUID() {
76
- const nodeCrypto = require('node:crypto');
77
- const original = nodeCrypto.randomUUID;
78
- nodeCrypto.randomUUID = (options => nextUUID() ??
79
- original(options));
80
- syncBuiltinESMExports();
81
- }
82
- function patchTimers() {
83
- globalThis.setTimeout = forbid('setTimeout', globalThis.setTimeout);
84
- globalThis.setInterval = forbid('setInterval', globalThis.setInterval);
85
- const timers = require('node:timers');
86
- timers.setTimeout = forbid('setTimeout', timers.setTimeout);
87
- timers.setInterval = forbid('setInterval', timers.setInterval);
88
- const promises = require('node:timers/promises');
89
- promises.setTimeout = forbid('setTimeout', promises.setTimeout);
90
- promises.setInterval = forbid('setInterval', promises.setInterval);
91
- syncBuiltinESMExports();
92
- }
93
- function forbid(name, original) {
94
- const patched = function (...args) {
95
- if (History.peek())
96
- throw new TimerNotAllowedException(name);
97
- return original.apply(this, args);
98
- };
99
- for (const key of Reflect.ownKeys(original)) {
100
- if (key === 'length' || key === 'name' || key === 'prototype')
101
- continue;
102
- Object.defineProperty(patched, key, Object.getOwnPropertyDescriptor(original, key));
103
- }
104
- return patched;
105
- }
106
- })(Deterministic || (Deterministic = {}));
107
- //# sourceMappingURL=Deterministic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Deterministic.js","sourceRoot":"","sources":["../../src/tools/Deterministic.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export declare function now(): number;
2
- export declare function softNow(): number | undefined;
3
- //# sourceMappingURL=clock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clock.d.ts","sourceRoot":"","sources":["../../src/tools/clock.ts"],"names":[],"mappings":"AAEA,wBAAgB,GAAG,IAAI,MAAM,CAO5B;AAED,wBAAgB,OAAO,IAAI,MAAM,GAAG,SAAS,CAE5C"}
@@ -1,11 +0,0 @@
1
- import { History } from '../models/History.js';
2
- export function now() {
3
- const value = softNow();
4
- if (value === undefined)
5
- throw new Error('Clock read outside of a workflow execution');
6
- return value;
7
- }
8
- export function softNow() {
9
- return History.peek()?.clock;
10
- }
11
- //# sourceMappingURL=clock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clock.js","sourceRoot":"","sources":["../../src/tools/clock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAE9C,MAAM,UAAU,GAAG;IACjB,MAAM,KAAK,GAAG,OAAO,EAAE,CAAA;IAEvB,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAE/D,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,OAAO,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,CAAA;AAC9B,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare function random(seed: string, call: number): number;
2
- export declare function uuid(next: () => number): string;
3
- //# sourceMappingURL=random.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../src/tools/random.ts"],"names":[],"mappings":"AAWA,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAOzD;AAMD,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,MAAM,GAAG,MAAM,CAe/C"}
@@ -1,29 +0,0 @@
1
- function hash(text) {
2
- let value = 0x811c9dc5;
3
- for (let index = 0; index < text.length; index++) {
4
- value ^= text.charCodeAt(index);
5
- value = Math.imul(value, 0x01000193);
6
- }
7
- return value >>> 0;
8
- }
9
- export function random(seed, call) {
10
- let state = (hash(seed) + Math.imul(call + 1, 0x6d2b79f5)) >>> 0;
11
- state = Math.imul(state ^ (state >>> 15), state | 1);
12
- state ^= state + Math.imul(state ^ (state >>> 7), state | 61);
13
- return ((state ^ (state >>> 14)) >>> 0) / 4294967296;
14
- }
15
- const hex = Array.from({ length: 256 }, (_, byte) => byte.toString(16).padStart(2, '0'));
16
- export function uuid(next) {
17
- const bytes = Array.from({ length: 16 }, () => Math.floor(next() * 256));
18
- bytes[6] = (bytes[6] & 0x0f) | 0x40;
19
- bytes[8] = (bytes[8] & 0x3f) | 0x80;
20
- const text = bytes.map(byte => hex[byte]).join('');
21
- return [
22
- text.slice(0, 8),
23
- text.slice(8, 12),
24
- text.slice(12, 16),
25
- text.slice(16, 20),
26
- text.slice(20),
27
- ].join('-');
28
- }
29
- //# sourceMappingURL=random.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"random.js","sourceRoot":"","sources":["../../src/tools/random.ts"],"names":[],"mappings":"AAAA,SAAS,IAAI,CAAC,IAAY;IACxB,IAAI,KAAK,GAAG,UAAU,CAAA;IAEtB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QAC/B,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;IACtC,CAAC;IAED,OAAO,KAAK,KAAK,CAAC,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,IAAY;IAC/C,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAA;IAEhE,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;IACpD,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAA;IAE7D,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAAA;AACtD,CAAC;AAED,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAClD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CACnC,CAAA;AAED,MAAM,UAAU,IAAI,CAAC,IAAkB;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;IAExE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;IACpC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;IAEpC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAElD,OAAO;QACL,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAChB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;KACf,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACb,CAAC"}