@toolproof-core/lib 1.0.14 → 1.0.16
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/dist/artifacts/artifacts.d.ts +3 -3
- package/dist/integrations/firebase/createRunnableStrategy.d.ts +3 -0
- package/dist/integrations/firebase/createRunnableStrategy.d.ts.map +1 -0
- package/dist/integrations/firebase/createRunnableStrategy.js +10 -0
- package/dist/integrations/firebase/createRunnableStrategy.js.map +1 -0
- package/dist/integrations/firebase/createStep.d.ts +11 -0
- package/dist/integrations/firebase/createStep.d.ts.map +1 -0
- package/dist/integrations/firebase/createStep.js +43 -0
- package/dist/integrations/firebase/createStep.js.map +1 -0
- package/dist/integrations/firebase/firebaseAdminHelpers.d.ts +6 -0
- package/dist/integrations/firebase/firebaseAdminHelpers.d.ts.map +1 -0
- package/dist/integrations/firebase/firebaseAdminHelpers.js +154 -0
- package/dist/integrations/firebase/firebaseAdminHelpers.js.map +1 -0
- package/dist/integrations/firebase/firebaseAdminInit.d.ts +4 -0
- package/dist/integrations/firebase/firebaseAdminInit.d.ts.map +1 -0
- package/{src/_lib/setup/firebaseAdminInit.ts → dist/integrations/firebase/firebaseAdminInit.js} +33 -38
- package/dist/integrations/firebase/firebaseAdminInit.js.map +1 -0
- package/dist/utils/creation/resourceCreation.d.ts +9 -0
- package/dist/utils/creation/resourceCreation.d.ts.map +1 -0
- package/dist/utils/creation/resourceCreation.js +62 -0
- package/dist/utils/creation/resourceCreation.js.map +1 -0
- package/dist/utils/creation/runnableStrategyCreation.d.ts +4 -0
- package/dist/utils/creation/runnableStrategyCreation.d.ts.map +1 -0
- package/dist/utils/creation/runnableStrategyCreation.js +27 -0
- package/dist/utils/creation/runnableStrategyCreation.js.map +1 -0
- package/dist/utils/creation/stepCreation.d.ts +34 -0
- package/dist/utils/creation/stepCreation.d.ts.map +1 -0
- package/dist/utils/creation/stepCreation.js +89 -0
- package/dist/utils/creation/stepCreation.js.map +1 -0
- package/dist/utils/extractData.js +3 -3
- package/dist/utils/extractData.js.map +1 -1
- package/package.json +12 -12
- package/src/integrations/firebase/createRunnableStrategy.ts +20 -0
- package/src/integrations/firebase/createStep.ts +71 -0
- package/src/{firebase → integrations/firebase}/firebaseAdminHelpers.ts +87 -49
- package/src/integrations/firebase/firebaseAdminInit.ts +39 -0
- package/src/utils/{createResource.ts → creation/resourceCreation.ts} +9 -11
- package/src/utils/creation/runnableStrategyCreation.ts +46 -0
- package/src/utils/creation/stepCreation.ts +159 -0
- package/src/utils/extractData.ts +3 -3
- package/tsconfig.tsbuildinfo +1 -1
- package/src/utils/createRunnableStrategy.ts +0 -31
- package/src/utils/createStep.ts +0 -111
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
RawStrategyJson,
|
|
3
|
-
RunnableStrategyJson,
|
|
4
|
-
StrategyThreadDictJson
|
|
5
|
-
} from '@toolproof-core/schema';
|
|
6
|
-
import { CONSTANTS } from '../artifacts/artifacts.js';
|
|
7
|
-
import { getNewIdentity } from '../firebase/firebaseAdminHelpers.js';
|
|
8
|
-
import { getIndependentThreads } from './parallelizeSteps.js';
|
|
9
|
-
|
|
10
|
-
export function createRunnableStrategy(rawStrategy: RawStrategyJson): RunnableStrategyJson {
|
|
11
|
-
const runnableStrategyIdentity = getNewIdentity(CONSTANTS.Names.RunnableStrategyIdentity);
|
|
12
|
-
const steps = rawStrategy.steps;
|
|
13
|
-
const strategyState = rawStrategy.strategyState;
|
|
14
|
-
|
|
15
|
-
const threadStepGroups = getIndependentThreads(steps, strategyState);
|
|
16
|
-
const strategyThreadDict: StrategyThreadDictJson = {};
|
|
17
|
-
|
|
18
|
-
for (const group of threadStepGroups) {
|
|
19
|
-
const threadIdentity = getNewIdentity(CONSTANTS.Names.StrategyThreadIdentity);
|
|
20
|
-
strategyThreadDict[threadIdentity] = group;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return {
|
|
24
|
-
identity: runnableStrategyIdentity,
|
|
25
|
-
runnableStrategyContext: {
|
|
26
|
-
status: CONSTANTS.Enums.RunnableStrategyStatus.pending,
|
|
27
|
-
},
|
|
28
|
-
strategyThreadDict,
|
|
29
|
-
strategyState,
|
|
30
|
-
};
|
|
31
|
-
}
|
package/src/utils/createStep.ts
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
BranchStepJson,
|
|
3
|
-
CaseJson,
|
|
4
|
-
ForStepJson,
|
|
5
|
-
JobJson,
|
|
6
|
-
JobStepJson,
|
|
7
|
-
ResourceRoleIdentityJson,
|
|
8
|
-
WhileStepJson,
|
|
9
|
-
} from '@toolproof-core/schema';
|
|
10
|
-
import { CONSTANTS } from '../artifacts/artifacts.js';
|
|
11
|
-
import { getNewStepIdentity } from '../firebase/firebaseAdminHelpers.js';
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
function assertNonEmpty<T>(arr: T[], msg: string): asserts arr is [T, ...T[]] {
|
|
15
|
-
if (arr.length === 0) throw new Error(msg);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
export function createJobStepFromJob(job: JobJson): JobStepJson {
|
|
20
|
-
const inputBindings = Object.keys(job.roles.inputDict) as ResourceRoleIdentityJson[];
|
|
21
|
-
const outputBindings = Object.keys(job.roles.outputDict) as ResourceRoleIdentityJson[];
|
|
22
|
-
|
|
23
|
-
return {
|
|
24
|
-
identity: getNewStepIdentity(CONSTANTS.Enums.StepKind.job),
|
|
25
|
-
stepKind: CONSTANTS.Enums.StepKind.job,
|
|
26
|
-
jobHandle: job.identity,
|
|
27
|
-
roleBindings: {
|
|
28
|
-
inputBindings,
|
|
29
|
-
outputBindings,
|
|
30
|
-
},
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
export function createLoopStepFromJobPair(
|
|
36
|
-
whatJob: JobJson,
|
|
37
|
-
whenJob: JobJson,
|
|
38
|
-
stepKind: typeof CONSTANTS.Enums.StepKind.for | typeof CONSTANTS.Enums.StepKind.while
|
|
39
|
-
): ForStepJson | WhileStepJson {
|
|
40
|
-
const what = createJobStepFromJob(whatJob);
|
|
41
|
-
const when = createJobStepFromJob(whenJob);
|
|
42
|
-
|
|
43
|
-
if (stepKind === CONSTANTS.Enums.StepKind.for) {
|
|
44
|
-
return {
|
|
45
|
-
identity: getNewStepIdentity(CONSTANTS.Enums.StepKind.for),
|
|
46
|
-
stepKind: CONSTANTS.Enums.StepKind.for,
|
|
47
|
-
case: { what, when },
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return {
|
|
52
|
-
identity: getNewStepIdentity(CONSTANTS.Enums.StepKind.while),
|
|
53
|
-
stepKind: CONSTANTS.Enums.StepKind.while,
|
|
54
|
-
case: { what, when },
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
export function createBranchStepFromJobPairs(
|
|
60
|
-
cases: Array<{ whatJob: JobJson; whenJob: JobJson }>
|
|
61
|
-
): BranchStepJson {
|
|
62
|
-
const resolved = cases.map(({ whatJob, whenJob }) => {
|
|
63
|
-
const what = createJobStepFromJob(whatJob);
|
|
64
|
-
const when = createJobStepFromJob(whenJob);
|
|
65
|
-
return { what, when } satisfies CaseJson;
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
assertNonEmpty(resolved, 'createBranchStepFromJobPairs requires at least one case'); // ATTENTION_IMPURE
|
|
69
|
-
|
|
70
|
-
return {
|
|
71
|
-
identity: getNewStepIdentity(CONSTANTS.Enums.StepKind.branch),
|
|
72
|
-
stepKind: CONSTANTS.Enums.StepKind.branch,
|
|
73
|
-
cases: resolved,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
export function cloneForStep(forStep: ForStepJson): ForStepJson {
|
|
79
|
-
return {
|
|
80
|
-
identity: getNewStepIdentity(CONSTANTS.Enums.StepKind.for),
|
|
81
|
-
stepKind: CONSTANTS.Enums.StepKind.for,
|
|
82
|
-
case: {
|
|
83
|
-
what: {
|
|
84
|
-
...forStep.case.what,
|
|
85
|
-
identity: getNewStepIdentity(CONSTANTS.Enums.StepKind.job),
|
|
86
|
-
},
|
|
87
|
-
when: {
|
|
88
|
-
...forStep.case.when,
|
|
89
|
-
identity: getNewStepIdentity(CONSTANTS.Enums.StepKind.job),
|
|
90
|
-
},
|
|
91
|
-
},
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
export function cloneWhileStep(whileStep: WhileStepJson): WhileStepJson {
|
|
97
|
-
return {
|
|
98
|
-
identity: getNewStepIdentity(CONSTANTS.Enums.StepKind.while),
|
|
99
|
-
stepKind: CONSTANTS.Enums.StepKind.while,
|
|
100
|
-
case: {
|
|
101
|
-
what: {
|
|
102
|
-
...whileStep.case.what,
|
|
103
|
-
identity: getNewStepIdentity(CONSTANTS.Enums.StepKind.job),
|
|
104
|
-
},
|
|
105
|
-
when: {
|
|
106
|
-
...whileStep.case.when,
|
|
107
|
-
identity: getNewStepIdentity(CONSTANTS.Enums.StepKind.job),
|
|
108
|
-
},
|
|
109
|
-
},
|
|
110
|
-
};
|
|
111
|
-
}
|