@t4h.framework/core 0.9.0 → 0.9.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.
- package/.ai/skills/framework-core/SKILL.md +3 -4
- package/CHANGELOG.md +99 -0
- package/LICENSE +21 -0
- package/README.md +5 -8
- package/dist/activities/StartWorkflowActivity.d.ts +5 -6
- package/dist/activities/StartWorkflowActivity.d.ts.map +1 -1
- package/dist/activities/StartWorkflowActivity.js +12 -11
- package/dist/activities/StartWorkflowActivity.js.map +1 -1
- package/package.json +1 -1
- package/dist/models/ContinueAsNew.d.ts +0 -24
- package/dist/models/ContinueAsNew.d.ts.map +0 -1
- package/dist/models/ContinueAsNew.js +0 -28
- package/dist/models/ContinueAsNew.js.map +0 -1
- package/dist/models/ExecutionContext.d.ts +0 -8
- package/dist/models/ExecutionContext.d.ts.map +0 -1
- package/dist/models/ExecutionContext.js +0 -22
- package/dist/models/ExecutionContext.js.map +0 -1
- package/dist/testing/ActivityTesting.d.ts +0 -25
- package/dist/testing/ActivityTesting.d.ts.map +0 -1
- package/dist/testing/ActivityTesting.js +0 -74
- package/dist/testing/ActivityTesting.js.map +0 -1
- package/dist/testing/NonDeterministicWorkflowError.d.ts +0 -4
- package/dist/testing/NonDeterministicWorkflowError.d.ts.map +0 -1
- package/dist/testing/NonDeterministicWorkflowError.js +0 -7
- package/dist/testing/NonDeterministicWorkflowError.js.map +0 -1
- package/dist/testing/StrictGuard.d.ts +0 -4
- package/dist/testing/StrictGuard.d.ts.map +0 -1
- package/dist/testing/StrictGuard.js +0 -26
- package/dist/testing/StrictGuard.js.map +0 -1
- package/dist/testing/WorkflowTesting.d.ts +0 -6
- package/dist/testing/WorkflowTesting.d.ts.map +0 -1
- package/dist/testing/WorkflowTesting.js +0 -7
- package/dist/testing/WorkflowTesting.js.map +0 -1
- package/dist/testing/create-mock-claim.d.ts +0 -11
- package/dist/testing/create-mock-claim.d.ts.map +0 -1
- package/dist/testing/create-mock-claim.js +0 -26
- package/dist/testing/create-mock-claim.js.map +0 -1
- package/dist/testing/create-mock-claims.d.ts +0 -13
- package/dist/testing/create-mock-claims.d.ts.map +0 -1
- package/dist/testing/create-mock-claims.js +0 -8
- package/dist/testing/create-mock-claims.js.map +0 -1
- package/dist/testing/create-test-env.d.ts +0 -10
- package/dist/testing/create-test-env.d.ts.map +0 -1
- package/dist/testing/create-test-env.js +0 -7
- package/dist/testing/create-test-env.js.map +0 -1
- package/dist/testing/mock-async.d.ts +0 -48
- package/dist/testing/mock-async.d.ts.map +0 -1
- package/dist/testing/mock-async.js +0 -58
- package/dist/testing/mock-async.js.map +0 -1
- package/dist/testing/outcomes.d.ts +0 -12
- package/dist/testing/outcomes.d.ts.map +0 -1
- package/dist/testing/outcomes.js +0 -10
- package/dist/testing/outcomes.js.map +0 -1
- package/dist/testing/run-workflow.d.ts +0 -32
- package/dist/testing/run-workflow.d.ts.map +0 -1
- package/dist/testing/run-workflow.js +0 -160
- package/dist/testing/run-workflow.js.map +0 -1
- package/dist/testing/tools/serializable-clone.d.ts +0 -21
- package/dist/testing/tools/serializable-clone.d.ts.map +0 -1
- package/dist/testing/tools/serializable-clone.js +0 -77
- package/dist/testing/tools/serializable-clone.js.map +0 -1
- package/dist/testing/types.d.ts +0 -19
- package/dist/testing/types.d.ts.map +0 -1
- package/dist/testing/types.js +0 -2
- package/dist/testing/types.js.map +0 -1
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { type RunWorkflowOptions } from './run-workflow.js';
|
|
2
|
-
import type { Workflow, WorkflowInput } from '../models/Workflow.js';
|
|
3
|
-
export declare class WorkflowTesting {
|
|
4
|
-
static run<T extends Workflow<any, any>>(workflow: T, input?: WorkflowInput<T>, options?: RunWorkflowOptions): Promise<unknown>;
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=WorkflowTesting.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowTesting.d.ts","sourceRoot":"","sources":["../../src/testing/WorkflowTesting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAEpE,qBAAa,eAAe;WACN,GAAG,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAClD,QAAQ,EAAE,CAAC,EACX,KAAK,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,OAAO,CAAC,EAAE,kBAAkB;CAI/B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowTesting.js","sourceRoot":"","sources":["../../src/testing/WorkflowTesting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA2B,MAAM,mBAAmB,CAAA;AAGxE,MAAM,OAAO,eAAe;IACnB,MAAM,CAAC,KAAK,CAAC,GAAG,CACrB,QAAW,EACX,KAAwB,EACxB,OAA4B;QAE5B,OAAO,WAAW,CAAC,QAAQ,EAAE,KAAyB,EAAE,OAAO,CAAC,CAAA;IAClE,CAAC;CACF"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { ClaimProvider } from '../../models/Claim.js'
|
|
2
|
-
import type { ClaimConstructor } from '../types.js'
|
|
3
|
-
export declare function createMockClaim<T extends ClaimConstructor>(
|
|
4
|
-
ClaimClass: T,
|
|
5
|
-
implementation?: Partial<InstanceType<T>>,
|
|
6
|
-
): InstanceType<T>
|
|
7
|
-
export declare function mockClaim<T extends ClaimConstructor>(
|
|
8
|
-
ClaimClass: T,
|
|
9
|
-
implementation?: Partial<InstanceType<T>>,
|
|
10
|
-
): ClaimProvider<InstanceType<T>>
|
|
11
|
-
//# sourceMappingURL=create-mock-claim.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-mock-claim.d.ts","sourceRoot":"","sources":["../../src/testing/create-mock-claim.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,wBAAgB,eAAe,CAAC,CAAC,SAAS,gBAAgB,EACxD,UAAU,EAAE,CAAC,EACb,cAAc,GAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAM,GAC5C,YAAY,CAAC,CAAC,CAAC,CAuBjB;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,gBAAgB,EAClD,UAAU,EAAE,CAAC,EACb,cAAc,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACxC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAKhC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export function createMockClaim(ClaimClass, implementation = {}) {
|
|
2
|
-
const name = ClaimClass.name;
|
|
3
|
-
return new Proxy(implementation, {
|
|
4
|
-
get(target, propertyKey, receiver) {
|
|
5
|
-
if (propertyKey in target) {
|
|
6
|
-
const value = Reflect.get(target, propertyKey, receiver);
|
|
7
|
-
if (typeof value === 'function')
|
|
8
|
-
return value.bind(target);
|
|
9
|
-
return value;
|
|
10
|
-
}
|
|
11
|
-
if (propertyKey === 'then')
|
|
12
|
-
return undefined;
|
|
13
|
-
return (...args) => {
|
|
14
|
-
throw new Error(`Mock ${name}.${String(propertyKey)} was not implemented. ` +
|
|
15
|
-
`Provide it via mockClaim(${name}, { ${String(propertyKey)}: ... }).`);
|
|
16
|
-
};
|
|
17
|
-
},
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
export function mockClaim(ClaimClass, implementation) {
|
|
21
|
-
return {
|
|
22
|
-
provide: ClaimClass,
|
|
23
|
-
value: createMockClaim(ClaimClass, implementation ?? {}),
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=create-mock-claim.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-mock-claim.js","sourceRoot":"","sources":["../../src/testing/create-mock-claim.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,eAAe,CAC7B,UAAa,EACb,iBAA2C,EAAE;IAE7C,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;IAE5B,OAAO,IAAI,KAAK,CAAC,cAAwB,EAAE;QACzC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ;YAC/B,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;gBAExD,IAAI,OAAO,KAAK,KAAK,UAAU;oBAAE,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAE1D,OAAO,KAAK,CAAA;YACd,CAAC;YAED,IAAI,WAAW,KAAK,MAAM;gBAAE,OAAO,SAAS,CAAA;YAE5C,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE;gBAC5B,MAAM,IAAI,KAAK,CACb,QAAQ,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,wBAAwB;oBACzD,4BAA4B,IAAI,OAAO,MAAM,CAAC,WAAW,CAAC,WAAW,CACxE,CAAA;YACH,CAAC,CAAA;QACH,CAAC;KACF,CAAoB,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,UAAa,EACb,cAAyC;IAEzC,OAAO;QACL,OAAO,EAAE,UAAU;QACnB,KAAK,EAAE,eAAe,CAAC,UAAU,EAAE,cAAc,IAAI,EAAE,CAAC;KACzD,CAAA;AACH,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { ClaimConstructor } from '../types.js'
|
|
2
|
-
import type { ClaimProvider } from '../../models/Claim.js'
|
|
3
|
-
export declare function createMockClaims(
|
|
4
|
-
...providers: readonly ClaimProvider<any>[]
|
|
5
|
-
): readonly ClaimProvider<any>[]
|
|
6
|
-
export type MockClaimEntry = readonly [
|
|
7
|
-
claim: ClaimConstructor,
|
|
8
|
-
implementation?: Partial<InstanceType<ClaimConstructor>>,
|
|
9
|
-
]
|
|
10
|
-
export declare function createMockClaimsFromMap(
|
|
11
|
-
entries: readonly MockClaimEntry[],
|
|
12
|
-
): readonly ClaimProvider<any>[]
|
|
13
|
-
//# sourceMappingURL=create-mock-claims.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-mock-claims.d.ts","sourceRoot":"","sources":["../../src/testing/create-mock-claims.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,wBAAgB,gBAAgB,CAC9B,GAAG,SAAS,EAAE,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE,GAC1C,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE,CAE/B;AAED,MAAM,MAAM,cAAc,GAAG,SAAS;IACpC,KAAK,EAAE,gBAAgB;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;CACzD,CAAA;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,SAAS,cAAc,EAAE,GACjC,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE,CAI/B"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { mockClaim } from './create-mock-claim.js';
|
|
2
|
-
export function createMockClaims(...providers) {
|
|
3
|
-
return providers;
|
|
4
|
-
}
|
|
5
|
-
export function createMockClaimsFromMap(entries) {
|
|
6
|
-
return entries.map(([ClaimClass, implementation]) => mockClaim(ClaimClass, implementation ?? {}));
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=create-mock-claims.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-mock-claims.js","sourceRoot":"","sources":["../../src/testing/create-mock-claims.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAIlD,MAAM,UAAU,gBAAgB,CAC9B,GAAG,SAAwC;IAE3C,OAAO,SAAS,CAAA;AAClB,CAAC;AAOD,MAAM,UAAU,uBAAuB,CACrC,OAAkC;IAElC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,EAAE,CAClD,SAAS,CAAC,UAAU,EAAE,cAAc,IAAI,EAAE,CAAC,CAC5C,CAAA;AACH,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Env } from '../../models/Env.js'
|
|
2
|
-
export declare function createTestEnv(
|
|
3
|
-
overrides: Record<string, string | undefined>,
|
|
4
|
-
base?: Record<string, string | undefined>,
|
|
5
|
-
): Record<string, string | undefined>
|
|
6
|
-
export declare function createTestEnvEntries(
|
|
7
|
-
overrides: Record<string, string | undefined>,
|
|
8
|
-
base?: Record<string, string | undefined>,
|
|
9
|
-
): Env.Entries
|
|
10
|
-
//# sourceMappingURL=create-test-env.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-test-env.d.ts","sourceRoot":"","sources":["../../src/testing/create-test-env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAE3C,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC7C,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAM,GAC5C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAEpC;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC7C,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAM,GAC5C,GAAG,CAAC,OAAO,CAEb"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-test-env.js","sourceRoot":"","sources":["../../src/testing/create-test-env.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,aAAa,CAC3B,SAA6C,EAC7C,OAA2C,EAAE;IAE7C,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,EAAE,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,SAA6C,EAC7C,OAA2C,EAAE;IAE7C,OAAO,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;AACvC,CAAC"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import type { MockAsyncActivity } from '../types.js'
|
|
2
|
-
import {
|
|
3
|
-
AsyncActivity,
|
|
4
|
-
type AnyAsyncActivity,
|
|
5
|
-
} from '../../models/AsyncActivity.js'
|
|
6
|
-
import type { AsyncActivityResultPending } from '../../models/AsyncActivityAdvanceResult.js'
|
|
7
|
-
type InferSerializableOutput<T extends AnyAsyncActivity> =
|
|
8
|
-
T extends AsyncActivity<any, any, infer TSerializableOutput, any, any, any>
|
|
9
|
-
? TSerializableOutput
|
|
10
|
-
: unknown
|
|
11
|
-
type TypedOutcome<TOutput> =
|
|
12
|
-
| {
|
|
13
|
-
status: 'fulfilled'
|
|
14
|
-
output?: TOutput
|
|
15
|
-
}
|
|
16
|
-
| {
|
|
17
|
-
status: 'rejected'
|
|
18
|
-
reason?: unknown
|
|
19
|
-
}
|
|
20
|
-
| {
|
|
21
|
-
status: 'timeout'
|
|
22
|
-
}
|
|
23
|
-
interface OnContext {
|
|
24
|
-
callCount: number
|
|
25
|
-
input: unknown
|
|
26
|
-
pending: AsyncActivityResultPending
|
|
27
|
-
}
|
|
28
|
-
type OnCallback<T extends AnyAsyncActivity> = (
|
|
29
|
-
activity: T,
|
|
30
|
-
context: OnContext,
|
|
31
|
-
) =>
|
|
32
|
-
| TypedOutcome<InferSerializableOutput<T>>
|
|
33
|
-
| Promise<TypedOutcome<InferSerializableOutput<T>>>
|
|
34
|
-
type OnHandler<T extends AnyAsyncActivity> =
|
|
35
|
-
| TypedOutcome<InferSerializableOutput<T>>
|
|
36
|
-
| TypedOutcome<InferSerializableOutput<T>>[]
|
|
37
|
-
| OnCallback<T>
|
|
38
|
-
export interface MockAsyncBuilder extends MockAsyncActivity {
|
|
39
|
-
on<T extends AnyAsyncActivity>(
|
|
40
|
-
ActivityClass: new () => T,
|
|
41
|
-
handler: OnHandler<T>,
|
|
42
|
-
): MockAsyncBuilder
|
|
43
|
-
timeout(): MockAsyncBuilder
|
|
44
|
-
fallback(handler: MockAsyncActivity): MockAsyncBuilder
|
|
45
|
-
}
|
|
46
|
-
export declare function mockAsync(): MockAsyncBuilder
|
|
47
|
-
export {}
|
|
48
|
-
//# sourceMappingURL=mock-async.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mock-async.d.ts","sourceRoot":"","sources":["../../src/testing/mock-async.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,iBAAiB,EAElB,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,aAAa,EACb,KAAK,gBAAgB,EACtB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAA;AAEzF,KAAK,uBAAuB,CAAC,CAAC,SAAS,gBAAgB,IACrD,CAAC,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,mBAAmB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACvE,mBAAmB,GACnB,OAAO,CAAA;AAEb,KAAK,YAAY,CAAC,OAAO,IACrB;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACzC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAA;AAEzB,UAAU,SAAS;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,0BAA0B,CAAA;CACpC;AAED,KAAK,UAAU,CAAC,CAAC,SAAS,gBAAgB,IAAI,CAC5C,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,SAAS,KAEhB,YAAY,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAErD,KAAK,SAAS,CAAC,CAAC,SAAS,gBAAgB,IACrC,YAAY,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,GACxC,YAAY,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,GAC1C,UAAU,CAAC,CAAC,CAAC,CAAA;AAQjB,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,EAAE,CAAC,CAAC,SAAS,gBAAgB,EAC3B,aAAa,EAAE,UAAU,CAAC,EAC1B,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,GACpB,gBAAgB,CAAA;IAEnB,OAAO,IAAI,gBAAgB,CAAA;IAE3B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAAA;CACvD;AAED,wBAAgB,SAAS,IAAI,gBAAgB,CA+E5C"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { TestClock } from './TestClock.js';
|
|
2
|
-
import { AsyncActivity, } from '../models/AsyncActivity.js';
|
|
3
|
-
export function mockAsync() {
|
|
4
|
-
const entries = [];
|
|
5
|
-
let timeoutFallback = false;
|
|
6
|
-
let fallbackHandler;
|
|
7
|
-
const execute = async (activity, context) => {
|
|
8
|
-
for (const entry of entries) {
|
|
9
|
-
if (!(activity instanceof entry.ActivityClass))
|
|
10
|
-
continue;
|
|
11
|
-
const callCount = entry.callCount++;
|
|
12
|
-
const ctx = {
|
|
13
|
-
callCount,
|
|
14
|
-
input: context.input,
|
|
15
|
-
pending: context.pending,
|
|
16
|
-
};
|
|
17
|
-
if (typeof entry.handler === 'function') {
|
|
18
|
-
return entry.handler(activity, ctx);
|
|
19
|
-
}
|
|
20
|
-
if (Array.isArray(entry.handler)) {
|
|
21
|
-
const outcome = entry.handler[callCount];
|
|
22
|
-
if (outcome === undefined)
|
|
23
|
-
throw new Error(`mockAsync().on(${activity.constructor.name}): no outcome at call ${callCount} (${entry.handler.length} defined)`);
|
|
24
|
-
return outcome;
|
|
25
|
-
}
|
|
26
|
-
return entry.handler;
|
|
27
|
-
}
|
|
28
|
-
if (timeoutFallback && context.pending.timeoutAt) {
|
|
29
|
-
const target = context.pending.timeoutAt.getTime();
|
|
30
|
-
if (TestClock.isActive() && TestClock.now() < target)
|
|
31
|
-
TestClock.advance(target - TestClock.now());
|
|
32
|
-
return { status: 'timeout' };
|
|
33
|
-
}
|
|
34
|
-
if (fallbackHandler)
|
|
35
|
-
return fallbackHandler(activity, context);
|
|
36
|
-
throw new Error(`mockAsync(): no handler registered for "${activity.constructor.name}"`);
|
|
37
|
-
};
|
|
38
|
-
const builder = Object.assign(execute, {
|
|
39
|
-
on(ActivityClass, handler) {
|
|
40
|
-
entries.push({
|
|
41
|
-
ActivityClass: ActivityClass,
|
|
42
|
-
handler: handler,
|
|
43
|
-
callCount: 0,
|
|
44
|
-
});
|
|
45
|
-
return builder;
|
|
46
|
-
},
|
|
47
|
-
timeout() {
|
|
48
|
-
timeoutFallback = true;
|
|
49
|
-
return builder;
|
|
50
|
-
},
|
|
51
|
-
fallback(handler) {
|
|
52
|
-
fallbackHandler = handler;
|
|
53
|
-
return builder;
|
|
54
|
-
},
|
|
55
|
-
});
|
|
56
|
-
return builder;
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=mock-async.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mock-async.js","sourceRoot":"","sources":["../../src/testing/mock-async.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAM1C,OAAO,EACL,aAAa,GAEd,MAAM,4BAA4B,CAAA;AAgDnC,MAAM,UAAU,SAAS;IACvB,MAAM,OAAO,GAAc,EAAE,CAAA;IAC7B,IAAI,eAAe,GAAG,KAAK,CAAA;IAC3B,IAAI,eAA8C,CAAA;IAElD,MAAM,OAAO,GAAsB,KAAK,EACtC,QAA0B,EAC1B,OAAiC,EACF,EAAE;QACjC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,CAAC,QAAQ,YAAY,KAAK,CAAC,aAAa,CAAC;gBAAE,SAAQ;YAExD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;YACnC,MAAM,GAAG,GAAc;gBACrB,SAAS;gBACT,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAA;YAED,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBACxC,OAAQ,KAAK,CAAC,OAAwC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;YACvE,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;gBAExC,IAAI,OAAO,KAAK,SAAS;oBACvB,MAAM,IAAI,KAAK,CACb,kBAAkB,QAAQ,CAAC,WAAW,CAAC,IAAI,yBAAyB,SAAS,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,WAAW,CAClH,CAAA;gBAEH,OAAO,OAAO,CAAA;YAChB,CAAC;YAED,OAAO,KAAK,CAAC,OAAO,CAAA;QACtB,CAAC;QAED,IAAI,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;YAElD,IAAI,SAAS,CAAC,QAAQ,EAAE,IAAI,SAAS,CAAC,GAAG,EAAE,GAAG,MAAM;gBAClD,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,CAAA;YAE7C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;QAC9B,CAAC;QAED,IAAI,eAAe;YAAE,OAAO,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAE9D,MAAM,IAAI,KAAK,CACb,2CAA2C,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,CACxE,CAAA;IACH,CAAC,CAAA;IAED,MAAM,OAAO,GAAqB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QACvD,EAAE,CACA,aAA0B,EAC1B,OAAqB;YAErB,OAAO,CAAC,IAAI,CAAC;gBACX,aAAa,EAAE,aAA2C;gBAC1D,OAAO,EAAE,OAAsC;gBAC/C,SAAS,EAAE,CAAC;aACb,CAAC,CAAA;YAEF,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,OAAO;YACL,eAAe,GAAG,IAAI,CAAA;YACtB,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,QAAQ,CAAC,OAA0B;YACjC,eAAe,GAAG,OAAO,CAAA;YACzB,OAAO,OAAO,CAAA;QAChB,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export declare function fulfilled<T>(output?: T): {
|
|
2
|
-
status: 'fulfilled';
|
|
3
|
-
output?: T;
|
|
4
|
-
};
|
|
5
|
-
export declare function rejected(reason?: unknown): {
|
|
6
|
-
status: 'rejected';
|
|
7
|
-
reason?: unknown;
|
|
8
|
-
};
|
|
9
|
-
export declare function timeout(): {
|
|
10
|
-
status: 'timeout';
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=outcomes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"outcomes.d.ts","sourceRoot":"","sources":["../../src/testing/outcomes.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,CAAA;CAAE,CAE5E;AAED,wBAAgB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAEnF;AAED,wBAAgB,OAAO,IAAI;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAE/C"}
|
package/dist/testing/outcomes.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export function fulfilled(output) {
|
|
2
|
-
return { status: 'fulfilled', output };
|
|
3
|
-
}
|
|
4
|
-
export function rejected(reason) {
|
|
5
|
-
return { status: 'rejected', reason };
|
|
6
|
-
}
|
|
7
|
-
export function timeout() {
|
|
8
|
-
return { status: 'timeout' };
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=outcomes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"outcomes.js","sourceRoot":"","sources":["../../src/testing/outcomes.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS,CAAI,MAAU;IACrC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAgB;IACvC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;AAC9B,CAAC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { type TestClockRunOptions } from './TestClock.js';
|
|
2
|
-
import type { MockAsyncActivity } from './types.js';
|
|
3
|
-
import type { ClaimProvider } from '../models/Claim.js';
|
|
4
|
-
import type { Env } from '../models/Env.js';
|
|
5
|
-
import type { HistoryItem } from '../models/History.js';
|
|
6
|
-
import type { Log } from '../models/Logger.js';
|
|
7
|
-
import type { Workflow, WorkflowInput } from '../models/Workflow.js';
|
|
8
|
-
export type { AsyncActivityOutcome, MockAsyncActivity, MockAsyncActivityContext, } from './types.js';
|
|
9
|
-
export interface RunWorkflowOptions {
|
|
10
|
-
claims?: readonly ClaimProvider<any>[];
|
|
11
|
-
env?: Env.Entries;
|
|
12
|
-
mockAsyncActivity?: MockAsyncActivity;
|
|
13
|
-
maxTicks?: number;
|
|
14
|
-
logs?: Log[];
|
|
15
|
-
history?: HistoryItem[];
|
|
16
|
-
clock?: TestClockRunOptions | false;
|
|
17
|
-
strict?: boolean;
|
|
18
|
-
autoResolveTimeouts?: boolean;
|
|
19
|
-
}
|
|
20
|
-
export interface RunWorkflowResult<TOutput = unknown> {
|
|
21
|
-
output: TOutput;
|
|
22
|
-
history: readonly HistoryItem[];
|
|
23
|
-
logs: readonly Log[];
|
|
24
|
-
clockNow?: number;
|
|
25
|
-
}
|
|
26
|
-
export declare function runWorkflow<T extends Workflow<any, any>>(workflow: T, input: WorkflowInput<T>, options?: RunWorkflowOptions): Promise<unknown>;
|
|
27
|
-
export declare function runWorkflowDetailed<T extends Workflow<any, any>>(workflow: T, input: WorkflowInput<T>, options?: RunWorkflowOptions): Promise<RunWorkflowResult>;
|
|
28
|
-
export declare function runWorkflowTicks<T extends Workflow<any, any>>(workflow: T, input: WorkflowInput<T>, options: RunWorkflowOptions & {
|
|
29
|
-
history: HistoryItem[];
|
|
30
|
-
logs: Log[];
|
|
31
|
-
}): Promise<any>;
|
|
32
|
-
//# sourceMappingURL=run-workflow.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-workflow.d.ts","sourceRoot":"","sources":["../../src/testing/run-workflow.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpE,OAAO,KAAK,EAAwB,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAWzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAG9C,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAGpE,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE,CAAA;IACtC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IACjB,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACZ,OAAO,CAAC,EAAE,WAAW,EAAE,CAAA;IACvB,KAAK,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAA;IACnC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAiB,CAAC,OAAO,GAAG,OAAO;IAClD,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,SAAS,WAAW,EAAE,CAAA;IAC/B,IAAI,EAAE,SAAS,GAAG,EAAE,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAqBD,wBAAsB,WAAW,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAC5D,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,OAAO,GAAE,kBAAuB,oBAKjC;AAED,wBAAsB,mBAAmB,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EACpE,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAwB5B;AAED,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EACjE,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE,kBAAkB,GAAG;IAC5B,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,IAAI,EAAE,GAAG,EAAE,CAAA;CACZ,gBAkCF"}
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import { mockAsync } from './mock-async.js';
|
|
2
|
-
import { StrictGuard } from './StrictGuard.js';
|
|
3
|
-
import { TestClock } from './TestClock.js';
|
|
4
|
-
import { AsyncActivity, } from '../models/AsyncActivity.js';
|
|
5
|
-
import { AsyncActivityResultFulfilled, AsyncActivityResultPending, AsyncActivityResultRejected, } from '../models/AsyncActivityAdvanceResult.js';
|
|
6
|
-
import { PushActivity } from '../models/PushActivity.js';
|
|
7
|
-
import { SyncActivity } from '../models/SyncActivity.js';
|
|
8
|
-
import { Internals } from '../tools/Internals.js';
|
|
9
|
-
function resolveMockAsyncActivity(options) {
|
|
10
|
-
if (options.mockAsyncActivity !== undefined)
|
|
11
|
-
return options.mockAsyncActivity;
|
|
12
|
-
if (options.autoResolveTimeouts)
|
|
13
|
-
return mockAsync().timeout();
|
|
14
|
-
return undefined;
|
|
15
|
-
}
|
|
16
|
-
function runWithClock(clock, fn) {
|
|
17
|
-
if (clock === false || clock === undefined)
|
|
18
|
-
return fn();
|
|
19
|
-
return TestClock.run(clock, fn);
|
|
20
|
-
}
|
|
21
|
-
export async function runWorkflow(workflow, input, options = {}) {
|
|
22
|
-
const { output } = await runWorkflowDetailed(workflow, input, options);
|
|
23
|
-
return output;
|
|
24
|
-
}
|
|
25
|
-
export async function runWorkflowDetailed(workflow, input, options = {}) {
|
|
26
|
-
const history = options.history ?? [];
|
|
27
|
-
const logs = options.logs ?? [];
|
|
28
|
-
const restoreStrict = options.strict ? StrictGuard.install() : undefined;
|
|
29
|
-
let clockNow;
|
|
30
|
-
try {
|
|
31
|
-
const output = await runWithClock(options.clock, async () => {
|
|
32
|
-
const result = await runWorkflowTicks(workflow, input, {
|
|
33
|
-
...options,
|
|
34
|
-
history,
|
|
35
|
-
logs,
|
|
36
|
-
mockAsyncActivity: resolveMockAsyncActivity(options),
|
|
37
|
-
});
|
|
38
|
-
if (TestClock.isActive())
|
|
39
|
-
clockNow = TestClock.now();
|
|
40
|
-
return result;
|
|
41
|
-
});
|
|
42
|
-
return { output, history, logs, clockNow };
|
|
43
|
-
}
|
|
44
|
-
finally {
|
|
45
|
-
restoreStrict?.();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
export async function runWorkflowTicks(workflow, input, options) {
|
|
49
|
-
const claims = options.claims ?? [];
|
|
50
|
-
const env = options.env ?? {};
|
|
51
|
-
const maxTicks = options.maxTicks ?? 10_000;
|
|
52
|
-
const { history, logs } = options;
|
|
53
|
-
const mock = options.mockAsyncActivity;
|
|
54
|
-
const resolutionState = { callCount: 0 };
|
|
55
|
-
for (let tick = 0; tick < maxTicks; tick++) {
|
|
56
|
-
try {
|
|
57
|
-
return await Internals.runWorkflow(workflow, {
|
|
58
|
-
input,
|
|
59
|
-
claims,
|
|
60
|
-
env,
|
|
61
|
-
history,
|
|
62
|
-
logs,
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
catch (pushOrError) {
|
|
66
|
-
if (!(pushOrError instanceof PushActivity))
|
|
67
|
-
throw pushOrError;
|
|
68
|
-
const item = await resolveActivity(pushOrError, { claims, env }, mock, resolutionState);
|
|
69
|
-
history.push(item);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
throw new Error(`Workflow did not settle within ${maxTicks} ticks`);
|
|
73
|
-
}
|
|
74
|
-
async function resolveActivity(push, context, mockAsyncActivity, resolutionState) {
|
|
75
|
-
const activity = push.activity;
|
|
76
|
-
const activityContext = {
|
|
77
|
-
...context,
|
|
78
|
-
id: activity.id,
|
|
79
|
-
};
|
|
80
|
-
if (activity instanceof SyncActivity) {
|
|
81
|
-
const output = await Internals.runActivity(activity, activityContext, instance => instance.run(push.input));
|
|
82
|
-
return { id: activity.id, type: 'sync', output };
|
|
83
|
-
}
|
|
84
|
-
if (activity instanceof AsyncActivity) {
|
|
85
|
-
const bootstrap = await Internals.runActivity(activity, activityContext, instance => instance.bootstrap(push.input));
|
|
86
|
-
return resolveAsyncActivity(activity, bootstrap, activityContext, push.input, mockAsyncActivity, resolutionState);
|
|
87
|
-
}
|
|
88
|
-
throw new Error('Unknown activity type');
|
|
89
|
-
}
|
|
90
|
-
async function resolveAsyncActivity(activity, bootstrap, context, input, mockAsyncActivity, resolutionState) {
|
|
91
|
-
if (bootstrap instanceof AsyncActivityResultFulfilled)
|
|
92
|
-
return {
|
|
93
|
-
id: activity.id,
|
|
94
|
-
type: 'async',
|
|
95
|
-
status: 'fulfilled',
|
|
96
|
-
output: bootstrap.payload,
|
|
97
|
-
};
|
|
98
|
-
if (bootstrap instanceof AsyncActivityResultRejected)
|
|
99
|
-
return {
|
|
100
|
-
id: activity.id,
|
|
101
|
-
type: 'async',
|
|
102
|
-
status: 'rejected',
|
|
103
|
-
output: bootstrap.payload,
|
|
104
|
-
};
|
|
105
|
-
if (!(bootstrap instanceof AsyncActivityResultPending))
|
|
106
|
-
throw new Error('Unknown async activity result');
|
|
107
|
-
const name = activity.constructor.name;
|
|
108
|
-
if (!mockAsyncActivity)
|
|
109
|
-
throw new Error(`Async activity "${name}" is pending and no mockAsyncActivity was provided`);
|
|
110
|
-
const outcome = await mockAsyncActivity(activity, {
|
|
111
|
-
input,
|
|
112
|
-
pending: bootstrap,
|
|
113
|
-
callCount: resolutionState?.callCount ?? 0,
|
|
114
|
-
});
|
|
115
|
-
if (resolutionState)
|
|
116
|
-
resolutionState.callCount++;
|
|
117
|
-
return outcomeToHistoryItem(activity, outcome, bootstrap, context, name);
|
|
118
|
-
}
|
|
119
|
-
async function outcomeToHistoryItem(activity, outcome, pending, context, name) {
|
|
120
|
-
switch (outcome.status) {
|
|
121
|
-
case 'fulfilled':
|
|
122
|
-
return {
|
|
123
|
-
id: activity.id,
|
|
124
|
-
type: 'async',
|
|
125
|
-
status: 'fulfilled',
|
|
126
|
-
output: outcome.output,
|
|
127
|
-
};
|
|
128
|
-
case 'rejected':
|
|
129
|
-
return {
|
|
130
|
-
id: activity.id,
|
|
131
|
-
type: 'async',
|
|
132
|
-
status: 'rejected',
|
|
133
|
-
output: outcome.reason,
|
|
134
|
-
};
|
|
135
|
-
case 'timeout': {
|
|
136
|
-
const onTimeout = activity.onTimeout?.bind(activity);
|
|
137
|
-
if (!onTimeout)
|
|
138
|
-
throw new Error(`Async activity "${name}" timed out but defines no onTimeout handler`);
|
|
139
|
-
const result = await Internals.runActivity(activity, context, () => onTimeout(pending));
|
|
140
|
-
if (result instanceof AsyncActivityResultFulfilled)
|
|
141
|
-
return {
|
|
142
|
-
id: activity.id,
|
|
143
|
-
type: 'async',
|
|
144
|
-
status: 'fulfilled',
|
|
145
|
-
output: result.payload,
|
|
146
|
-
};
|
|
147
|
-
if (result instanceof AsyncActivityResultRejected)
|
|
148
|
-
return {
|
|
149
|
-
id: activity.id,
|
|
150
|
-
type: 'async',
|
|
151
|
-
status: 'rejected',
|
|
152
|
-
output: result.payload,
|
|
153
|
-
};
|
|
154
|
-
throw new Error(`Async activity "${name}" stayed pending after onTimeout`);
|
|
155
|
-
}
|
|
156
|
-
default:
|
|
157
|
-
throw new Error(`Unknown async activity outcome for "${name}"`);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
//# sourceMappingURL=run-workflow.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-workflow.js","sourceRoot":"","sources":["../../src/testing/run-workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Deep-clones a value for replay isolation while preserving the framework's
|
|
3
|
-
* value objects.
|
|
4
|
-
*
|
|
5
|
-
* The replay determinism check needs a fresh, isolated copy of the recorded
|
|
6
|
-
* history so the replay run never shares mutable state with the original run.
|
|
7
|
-
* `structuredClone` is unfit for that here: it drops prototypes, so any
|
|
8
|
-
* `SerializableClass` stored in history (e.g. the HTTP `Body`) would come back
|
|
9
|
-
* as a plain object without its methods, and replaying a workflow that reads
|
|
10
|
-
* it (`response.body.text()`) would throw `text is not a function`.
|
|
11
|
-
*
|
|
12
|
-
* Instead, each `SerializableClass` is round-tripped through its own
|
|
13
|
-
* `toSerializable` / `fromSerializable` hooks — the exact contract the runtime
|
|
14
|
-
* uses to persist and restore history — so the reconstructed instance keeps
|
|
15
|
-
* its behaviour (and misbehaving custom serializers surface here too). `Binary`
|
|
16
|
-
* leaves are shared by reference: their concrete, stream-backed
|
|
17
|
-
* implementations live in other packages and are treated as immutable during
|
|
18
|
-
* replay.
|
|
19
|
-
*/
|
|
20
|
-
export declare function serializableClone<T>(value: T): Promise<T>;
|
|
21
|
-
//# sourceMappingURL=serializable-clone.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serializable-clone.d.ts","sourceRoot":"","sources":["../../../src/testing/tools/serializable-clone.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAE/D"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { Binary } from '../../models/Binary.js';
|
|
2
|
-
import { SerializableClass, } from '../../models/SerializableHelper.js';
|
|
3
|
-
/**
|
|
4
|
-
* Deep-clones a value for replay isolation while preserving the framework's
|
|
5
|
-
* value objects.
|
|
6
|
-
*
|
|
7
|
-
* The replay determinism check needs a fresh, isolated copy of the recorded
|
|
8
|
-
* history so the replay run never shares mutable state with the original run.
|
|
9
|
-
* `structuredClone` is unfit for that here: it drops prototypes, so any
|
|
10
|
-
* `SerializableClass` stored in history (e.g. the HTTP `Body`) would come back
|
|
11
|
-
* as a plain object without its methods, and replaying a workflow that reads
|
|
12
|
-
* it (`response.body.text()`) would throw `text is not a function`.
|
|
13
|
-
*
|
|
14
|
-
* Instead, each `SerializableClass` is round-tripped through its own
|
|
15
|
-
* `toSerializable` / `fromSerializable` hooks — the exact contract the runtime
|
|
16
|
-
* uses to persist and restore history — so the reconstructed instance keeps
|
|
17
|
-
* its behaviour (and misbehaving custom serializers surface here too). `Binary`
|
|
18
|
-
* leaves are shared by reference: their concrete, stream-backed
|
|
19
|
-
* implementations live in other packages and are treated as immutable during
|
|
20
|
-
* replay.
|
|
21
|
-
*/
|
|
22
|
-
export async function serializableClone(value) {
|
|
23
|
-
return (await clone(value, new WeakMap()));
|
|
24
|
-
}
|
|
25
|
-
async function clone(value, seen) {
|
|
26
|
-
if (value === null || typeof value !== 'object')
|
|
27
|
-
return value;
|
|
28
|
-
// Leaf value object: shared by reference (immutable during replay, and its
|
|
29
|
-
// concrete serialization lives outside core).
|
|
30
|
-
if (value instanceof Binary)
|
|
31
|
-
return value;
|
|
32
|
-
// Rebuild via the same hooks the runtime uses, so the clone is a real
|
|
33
|
-
// instance with a working prototype.
|
|
34
|
-
if (value instanceof SerializableClass) {
|
|
35
|
-
const serializer = inner => clone(inner, seen);
|
|
36
|
-
const serialized = await value.toSerializable(serializer);
|
|
37
|
-
return value.constructor.fromSerializable(serialized, serializer);
|
|
38
|
-
}
|
|
39
|
-
if (value instanceof Date)
|
|
40
|
-
return new Date(value.getTime());
|
|
41
|
-
if (Buffer.isBuffer(value))
|
|
42
|
-
return Buffer.from(value);
|
|
43
|
-
if (value instanceof ArrayBuffer)
|
|
44
|
-
return value.slice(0);
|
|
45
|
-
if (ArrayBuffer.isView(value))
|
|
46
|
-
return value.slice();
|
|
47
|
-
const cached = seen.get(value);
|
|
48
|
-
if (cached)
|
|
49
|
-
return cached;
|
|
50
|
-
if (Array.isArray(value)) {
|
|
51
|
-
const result = [];
|
|
52
|
-
seen.set(value, result);
|
|
53
|
-
for (const item of value)
|
|
54
|
-
result.push(await clone(item, seen));
|
|
55
|
-
return result;
|
|
56
|
-
}
|
|
57
|
-
if (value instanceof Map) {
|
|
58
|
-
const result = new Map();
|
|
59
|
-
seen.set(value, result);
|
|
60
|
-
for (const [key, val] of value)
|
|
61
|
-
result.set(await clone(key, seen), await clone(val, seen));
|
|
62
|
-
return result;
|
|
63
|
-
}
|
|
64
|
-
if (value instanceof Set) {
|
|
65
|
-
const result = new Set();
|
|
66
|
-
seen.set(value, result);
|
|
67
|
-
for (const val of value)
|
|
68
|
-
result.add(await clone(val, seen));
|
|
69
|
-
return result;
|
|
70
|
-
}
|
|
71
|
-
const result = {};
|
|
72
|
-
seen.set(value, result);
|
|
73
|
-
for (const [key, val] of Object.entries(value))
|
|
74
|
-
result[key] = await clone(val, seen);
|
|
75
|
-
return result;
|
|
76
|
-
}
|
|
77
|
-
//# sourceMappingURL=serializable-clone.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serializable-clone.js","sourceRoot":"","sources":["../../../src/testing/tools/serializable-clone.ts"],"names":[],"mappings":"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"}
|
package/dist/testing/types.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { AnyAsyncActivity } from '../models/AsyncActivity.js';
|
|
2
|
-
import type { AsyncActivityResultPending } from '../models/AsyncActivityAdvanceResult.js';
|
|
3
|
-
export type AsyncActivityOutcome = {
|
|
4
|
-
status: 'fulfilled';
|
|
5
|
-
output?: unknown;
|
|
6
|
-
} | {
|
|
7
|
-
status: 'rejected';
|
|
8
|
-
reason?: unknown;
|
|
9
|
-
} | {
|
|
10
|
-
status: 'timeout';
|
|
11
|
-
};
|
|
12
|
-
export interface MockAsyncActivityContext {
|
|
13
|
-
input: unknown;
|
|
14
|
-
pending: AsyncActivityResultPending;
|
|
15
|
-
callCount: number;
|
|
16
|
-
}
|
|
17
|
-
export type MockAsyncActivity = (activity: AnyAsyncActivity, context: MockAsyncActivityContext) => AsyncActivityOutcome | Promise<AsyncActivityOutcome>;
|
|
18
|
-
export type ClaimConstructor = abstract new (...args: readonly any[]) => any;
|
|
19
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/testing/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAA;AAEzF,MAAM,MAAM,oBAAoB,GAC5B;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACzC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAA;AAEzB,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,0BAA0B,CAAA;IACnC,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC9B,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,wBAAwB,KAC9B,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;AAEzD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,MAAM,GAAG,IAAI,EAAE,SAAS,GAAG,EAAE,KAAK,GAAG,CAAA"}
|
package/dist/testing/types.js
DELETED