@toolproof-core/lib 1.0.26 → 1.0.28
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 +30 -30
- package/dist/integrations/firebase/createRunnableStrategy.js +4 -4
- package/dist/integrations/firebase/createRunnableStrategy.js.map +1 -1
- package/dist/integrations/firebase/createStep.js +17 -17
- package/dist/integrations/firebase/createStep.js.map +1 -1
- package/dist/integrations/firebase/firebaseAdminHelpers.d.ts +5 -5
- package/dist/integrations/firebase/firebaseAdminHelpers.d.ts.map +1 -1
- package/dist/integrations/firebase/firebaseAdminHelpers.js +11 -11
- package/dist/integrations/firebase/firebaseAdminHelpers.js.map +1 -1
- package/dist/types/types.d.ts +6 -6
- package/dist/types/types.d.ts.map +1 -1
- package/dist/utils/bindInputRoleToResource.js +2 -2
- package/dist/utils/bindInputRoleToResource.js.map +1 -1
- package/dist/utils/creation/resourceCreation.d.ts +5 -5
- package/dist/utils/creation/resourceCreation.d.ts.map +1 -1
- package/dist/utils/creation/resourceCreation.js +14 -14
- package/dist/utils/creation/resourceCreation.js.map +1 -1
- package/dist/utils/creation/runnableStrategyCreation.d.ts +2 -2
- package/dist/utils/creation/runnableStrategyCreation.d.ts.map +1 -1
- package/dist/utils/creation/runnableStrategyCreation.js +7 -7
- package/dist/utils/creation/runnableStrategyCreation.js.map +1 -1
- package/dist/utils/creation/stepCreation.d.ts +17 -17
- package/dist/utils/creation/stepCreation.d.ts.map +1 -1
- package/dist/utils/creation/stepCreation.js +20 -20
- package/dist/utils/creation/stepCreation.js.map +1 -1
- package/dist/utils/extractData.d.ts +9 -9
- package/dist/utils/extractData.d.ts.map +1 -1
- package/dist/utils/extractData.js +22 -22
- package/dist/utils/extractData.js.map +1 -1
- package/dist/utils/parallelizeSteps.js +7 -7
- package/dist/utils/parallelizeSteps.js.map +1 -1
- package/package.json +2 -2
- package/src/integrations/firebase/createRunnableStrategy.ts +4 -4
- package/src/integrations/firebase/createStep.ts +17 -17
- package/src/integrations/firebase/firebaseAdminHelpers.ts +18 -18
- package/src/types/types.ts +6 -6
- package/src/utils/bindInputRoleToResource.ts +2 -2
- package/src/utils/creation/resourceCreation.ts +19 -19
- package/src/utils/creation/runnableStrategyCreation.ts +10 -10
- package/src/utils/creation/stepCreation.ts +39 -39
- package/src/utils/extractData.ts +42 -42
- package/src/utils/parallelizeSteps.ts +14 -14
- package/toolproof-core-lib-1.0.27.tgz +0 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BranchStepIdJson, BranchStepJson, ForStepIdJson, ForStepJson, ToolJson, ToolStepIdJson, ToolStepJson, WhileStepIdJson, WhileStepJson } from '@toolproof-core/schema';
|
|
2
2
|
import { CONSTANTS } from '../../artifacts/artifacts.js';
|
|
3
3
|
export type LoopStepBuildIdentities = {
|
|
4
4
|
stepKind: typeof CONSTANTS.Enums.StepKind.for;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
stepId: ForStepIdJson;
|
|
6
|
+
whatId: ToolStepIdJson;
|
|
7
|
+
whenId: ToolStepIdJson;
|
|
8
8
|
} | {
|
|
9
9
|
stepKind: typeof CONSTANTS.Enums.StepKind.while;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
stepId: WhileStepIdJson;
|
|
11
|
+
whatId: ToolStepIdJson;
|
|
12
|
+
whenId: ToolStepIdJson;
|
|
13
13
|
};
|
|
14
14
|
export type BranchCaseBuildIdentities = {
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
whatId: ToolStepIdJson;
|
|
16
|
+
whenId: ToolStepIdJson;
|
|
17
17
|
};
|
|
18
|
-
export declare function buildToolStepFromTool(tool: ToolJson,
|
|
18
|
+
export declare function buildToolStepFromTool(tool: ToolJson, id: ToolStepIdJson): ToolStepJson;
|
|
19
19
|
export declare function buildLoopStepFromToolPair(whatTool: ToolJson, whenTool: ToolJson, identities: LoopStepBuildIdentities): ForStepJson | WhileStepJson;
|
|
20
20
|
export declare function buildBranchStepFromToolPairs(cases: Array<{
|
|
21
21
|
whatTool: ToolJson;
|
|
22
22
|
whenTool: ToolJson;
|
|
23
|
-
}>,
|
|
23
|
+
}>, branchId: BranchStepIdJson, caseIdentities: BranchCaseBuildIdentities[]): BranchStepJson;
|
|
24
24
|
export declare function cloneForStepWithIdentities(forStep: ForStepJson, identities: {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
stepId: ForStepIdJson;
|
|
26
|
+
whatId: ToolStepIdJson;
|
|
27
|
+
whenId: ToolStepIdJson;
|
|
28
28
|
}): ForStepJson;
|
|
29
29
|
export declare function cloneWhileStepWithIdentities(whileStep: WhileStepJson, identities: {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
stepId: WhileStepIdJson;
|
|
31
|
+
whatId: ToolStepIdJson;
|
|
32
|
+
whenId: ToolStepIdJson;
|
|
33
33
|
}): WhileStepJson;
|
|
34
34
|
//# sourceMappingURL=stepCreation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stepCreation.d.ts","sourceRoot":"","sources":["../../../src/utils/creation/stepCreation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,
|
|
1
|
+
{"version":3,"file":"stepCreation.d.ts","sourceRoot":"","sources":["../../../src/utils/creation/stepCreation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,gBAAgB,EAChB,cAAc,EAEd,aAAa,EACb,WAAW,EACX,QAAQ,EACR,cAAc,EACd,YAAY,EAEZ,eAAe,EACf,aAAa,EAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,MAAM,MAAM,uBAAuB,GAC7B;IACE,QAAQ,EAAE,OAAO,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC9C,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;CAC1B,GACC;IACE,QAAQ,EAAE,OAAO,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;IAChD,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEN,MAAM,MAAM,yBAAyB,GAAG;IACpC,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;CAC1B,CAAC;AAeF,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,QAAQ,EACd,EAAE,EAAE,cAAc,GACnB,YAAY,CAOd;AAED,wBAAgB,yBAAyB,CACrC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,uBAAuB,GACpC,WAAW,GAAG,aAAa,CAiB7B;AAED,wBAAgB,4BAA4B,CACxC,KAAK,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC,EACxD,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,EAAE,yBAAyB,EAAE,GAC5C,cAAc,CAwBhB;AAED,wBAAgB,0BAA0B,CACtC,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE;IACR,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;CAC1B,GACF,WAAW,CAeb;AAED,wBAAgB,4BAA4B,CACxC,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE;IACR,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;CAC1B,GACF,aAAa,CAef"}
|
|
@@ -6,82 +6,82 @@ function assertNonEmpty(arr, msg) {
|
|
|
6
6
|
}
|
|
7
7
|
function getRoleBindingSpec(tool) {
|
|
8
8
|
return {
|
|
9
|
-
inputBindings: Object.keys(tool.roleSpec.
|
|
10
|
-
outputBindings: Object.keys(tool.roleSpec.
|
|
9
|
+
inputBindings: Object.keys(tool.roleSpec.inputRoleValueById),
|
|
10
|
+
outputBindings: Object.keys(tool.roleSpec.outputRoleValueById),
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
|
-
export function buildToolStepFromTool(tool,
|
|
13
|
+
export function buildToolStepFromTool(tool, id) {
|
|
14
14
|
return {
|
|
15
|
-
|
|
15
|
+
id,
|
|
16
16
|
stepKind: CONSTANTS.Enums.StepKind.tool,
|
|
17
|
-
toolHandle: tool.
|
|
17
|
+
toolHandle: tool.id,
|
|
18
18
|
roleBindingSpec: getRoleBindingSpec(tool),
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
21
|
export function buildLoopStepFromToolPair(whatTool, whenTool, identities) {
|
|
22
|
-
const what = buildToolStepFromTool(whatTool, identities.
|
|
23
|
-
const when = buildToolStepFromTool(whenTool, identities.
|
|
22
|
+
const what = buildToolStepFromTool(whatTool, identities.whatId);
|
|
23
|
+
const when = buildToolStepFromTool(whenTool, identities.whenId);
|
|
24
24
|
if (identities.stepKind === CONSTANTS.Enums.StepKind.for) {
|
|
25
25
|
return {
|
|
26
|
-
|
|
26
|
+
id: identities.stepId,
|
|
27
27
|
stepKind: CONSTANTS.Enums.StepKind.for,
|
|
28
28
|
case: { what, when },
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
return {
|
|
32
|
-
|
|
32
|
+
id: identities.stepId,
|
|
33
33
|
stepKind: CONSTANTS.Enums.StepKind.while,
|
|
34
34
|
case: { what, when },
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
|
-
export function buildBranchStepFromToolPairs(cases,
|
|
37
|
+
export function buildBranchStepFromToolPairs(cases, branchId, caseIdentities) {
|
|
38
38
|
if (cases.length !== caseIdentities.length) {
|
|
39
|
-
throw new Error('buildBranchStepFromToolPairs requires one
|
|
39
|
+
throw new Error('buildBranchStepFromToolPairs requires one id pair per case');
|
|
40
40
|
}
|
|
41
41
|
const resolved = cases.map(({ whatTool, whenTool }, index) => {
|
|
42
42
|
const identities = caseIdentities[index];
|
|
43
43
|
if (!identities) {
|
|
44
44
|
throw new Error(`Missing case identities for case index ${index}`);
|
|
45
45
|
}
|
|
46
|
-
const what = buildToolStepFromTool(whatTool, identities.
|
|
47
|
-
const when = buildToolStepFromTool(whenTool, identities.
|
|
46
|
+
const what = buildToolStepFromTool(whatTool, identities.whatId);
|
|
47
|
+
const when = buildToolStepFromTool(whenTool, identities.whenId);
|
|
48
48
|
return { what, when };
|
|
49
49
|
});
|
|
50
50
|
assertNonEmpty(resolved, 'buildBranchStepFromToolPairs requires at least one case');
|
|
51
51
|
return {
|
|
52
|
-
|
|
52
|
+
id: branchId,
|
|
53
53
|
stepKind: CONSTANTS.Enums.StepKind.branch,
|
|
54
54
|
cases: resolved,
|
|
55
55
|
};
|
|
56
56
|
}
|
|
57
57
|
export function cloneForStepWithIdentities(forStep, identities) {
|
|
58
58
|
return {
|
|
59
|
-
|
|
59
|
+
id: identities.stepId,
|
|
60
60
|
stepKind: CONSTANTS.Enums.StepKind.for,
|
|
61
61
|
case: {
|
|
62
62
|
what: {
|
|
63
63
|
...forStep.case.what,
|
|
64
|
-
|
|
64
|
+
id: identities.whatId,
|
|
65
65
|
},
|
|
66
66
|
when: {
|
|
67
67
|
...forStep.case.when,
|
|
68
|
-
|
|
68
|
+
id: identities.whenId,
|
|
69
69
|
},
|
|
70
70
|
},
|
|
71
71
|
};
|
|
72
72
|
}
|
|
73
73
|
export function cloneWhileStepWithIdentities(whileStep, identities) {
|
|
74
74
|
return {
|
|
75
|
-
|
|
75
|
+
id: identities.stepId,
|
|
76
76
|
stepKind: CONSTANTS.Enums.StepKind.while,
|
|
77
77
|
case: {
|
|
78
78
|
what: {
|
|
79
79
|
...whileStep.case.what,
|
|
80
|
-
|
|
80
|
+
id: identities.whatId,
|
|
81
81
|
},
|
|
82
82
|
when: {
|
|
83
83
|
...whileStep.case.when,
|
|
84
|
-
|
|
84
|
+
id: identities.whenId,
|
|
85
85
|
},
|
|
86
86
|
},
|
|
87
87
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stepCreation.js","sourceRoot":"","sources":["../../../src/utils/creation/stepCreation.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAqBzD,SAAS,cAAc,CAAI,GAAQ,EAAE,GAAW;IAC5C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAc;IACtC,OAAO;QACH,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"stepCreation.js","sourceRoot":"","sources":["../../../src/utils/creation/stepCreation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type { RawStrategyJson,
|
|
2
|
-
export declare function extractToolHandlesFromRawStrategy(rawStrategy: RawStrategyJson):
|
|
1
|
+
import type { RawStrategyJson, ToolIdJson, ToolJson, ToolStepJson, ResourceRoleIdJson, ResourceRoleJson, ResourceIdJson, ResourceTypeIdJson, ResourceJson } from '@toolproof-core/schema';
|
|
2
|
+
export declare function extractToolHandlesFromRawStrategy(rawStrategy: RawStrategyJson): ToolIdJson[];
|
|
3
3
|
export declare function extractToolStepsFromRawStrategy(rawStrategy: RawStrategyJson): ToolStepJson[];
|
|
4
|
-
export declare function extractRoleMapFromRawStrategy(rawStrategy: RawStrategyJson, toolMap: Map<
|
|
5
|
-
export declare function extractSingleNonErrorOutputTypeHandle(tool: ToolJson):
|
|
6
|
-
export declare function extractResourceMapForType<TResource extends ResourceJson = ResourceJson>(resourcesByType: Partial<Record<
|
|
7
|
-
export declare function
|
|
8
|
-
|
|
4
|
+
export declare function extractRoleMapFromRawStrategy(rawStrategy: RawStrategyJson, toolMap: Map<ToolIdJson, ToolJson>): Map<ResourceRoleIdJson, ResourceRoleJson>;
|
|
5
|
+
export declare function extractSingleNonErrorOutputTypeHandle(tool: ToolJson): ResourceTypeIdJson | null;
|
|
6
|
+
export declare function extractResourceMapForType<TResource extends ResourceJson = ResourceJson>(resourcesByType: Partial<Record<ResourceTypeIdJson, TResource[]>>, resourceTypeHandle: ResourceTypeIdJson): Map<ResourceIdJson, TResource>;
|
|
7
|
+
export declare function extractIdKeyedNucleusMapForType<TKey extends string = string, TNucleus extends {
|
|
8
|
+
id: string | number | boolean;
|
|
9
9
|
} = {
|
|
10
|
-
|
|
11
|
-
}, TResource extends ResourceJson = ResourceJson>(resourcesByType: Partial<Record<
|
|
10
|
+
id: string | number | boolean;
|
|
11
|
+
}, TResource extends ResourceJson = ResourceJson>(resourcesByType: Partial<Record<ResourceTypeIdJson, TResource[]>>, resourceTypeHandle: ResourceTypeIdJson): Map<TKey, TNucleus>;
|
|
12
12
|
//# sourceMappingURL=extractData.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractData.d.ts","sourceRoot":"","sources":["../../src/utils/extractData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"extractData.d.ts","sourceRoot":"","sources":["../../src/utils/extractData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,eAAe,EACf,UAAU,EACV,QAAQ,EAER,YAAY,EAEZ,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACf,MAAM,wBAAwB,CAAC;AAIhC,wBAAgB,iCAAiC,CAAC,WAAW,EAAE,eAAe,GAAG,UAAU,EAAE,CAO5F;AAED,wBAAgB,+BAA+B,CAAC,WAAW,EAAE,eAAe,GAAG,YAAY,EAAE,CA2C5F;AAGD,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAuBzJ;AAED,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,QAAQ,GAAG,kBAAkB,GAAG,IAAI,CAQ/F;AAID,wBAAgB,yBAAyB,CAAC,SAAS,SAAS,YAAY,GAAG,YAAY,EACnF,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAC,EACjE,kBAAkB,EAAE,kBAAkB,GACvC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAShC;AAGD,wBAAgB,+BAA+B,CAC3C,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,QAAQ,SAAS;IAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,EACtF,SAAS,SAAS,YAAY,GAAG,YAAY,EAE7C,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAC,EACjE,kBAAkB,EAAE,kBAAkB,GACvC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAwCrB"}
|
|
@@ -11,10 +11,10 @@ export function extractToolStepsFromRawStrategy(rawStrategy) {
|
|
|
11
11
|
const toolSteps = [];
|
|
12
12
|
const seen = new Set();
|
|
13
13
|
const addToolStep = (toolStep) => {
|
|
14
|
-
if (seen.has(toolStep.
|
|
15
|
-
throw new Error(`Duplicate tool step
|
|
14
|
+
if (seen.has(toolStep.id)) {
|
|
15
|
+
throw new Error(`Duplicate tool step id encountered: ${toolStep.id}`);
|
|
16
16
|
}
|
|
17
|
-
seen.add(toolStep.
|
|
17
|
+
seen.add(toolStep.id);
|
|
18
18
|
toolSteps.push(toolStep);
|
|
19
19
|
};
|
|
20
20
|
const visitStep = (step) => {
|
|
@@ -54,15 +54,15 @@ export function extractRoleMapFromRawStrategy(rawStrategy, toolMap) {
|
|
|
54
54
|
const tool = toolMap.get(toolHandle);
|
|
55
55
|
if (!tool)
|
|
56
56
|
continue;
|
|
57
|
-
for (const [rid, role] of Object.entries(tool.roleSpec.
|
|
57
|
+
for (const [rid, role] of Object.entries(tool.roleSpec.inputRoleValueById)) {
|
|
58
58
|
roleMap.set(rid, {
|
|
59
|
-
|
|
59
|
+
id: rid,
|
|
60
60
|
...role,
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
|
-
for (const [rid, role] of Object.entries(tool.roleSpec.
|
|
63
|
+
for (const [rid, role] of Object.entries(tool.roleSpec.outputRoleValueById)) {
|
|
64
64
|
roleMap.set(rid, {
|
|
65
|
-
|
|
65
|
+
id: rid,
|
|
66
66
|
...role,
|
|
67
67
|
});
|
|
68
68
|
}
|
|
@@ -71,9 +71,9 @@ export function extractRoleMapFromRawStrategy(rawStrategy, toolMap) {
|
|
|
71
71
|
}
|
|
72
72
|
export function extractSingleNonErrorOutputTypeHandle(tool) {
|
|
73
73
|
const errorRoleId = CONSTANTS.Cosmos.ROLE_ErrorOutput;
|
|
74
|
-
const outputEntries = Object.entries(tool.roleSpec.
|
|
74
|
+
const outputEntries = Object.entries(tool.roleSpec.outputRoleValueById).filter(([roleId]) => roleId !== errorRoleId);
|
|
75
75
|
if (!outputEntries || !outputEntries[0] || outputEntries.length !== 1) {
|
|
76
|
-
throw new Error(`Tool ${tool.
|
|
76
|
+
throw new Error(`Tool ${tool.id} must have exactly one non-error output role to be branchable/loopable`);
|
|
77
77
|
} // ATTENTION_PUREIFY
|
|
78
78
|
const outputRole = outputEntries[0][1];
|
|
79
79
|
return outputRole.resourceTypeHandle;
|
|
@@ -82,33 +82,33 @@ export function extractResourceMapForType(resourcesByType, resourceTypeHandle) {
|
|
|
82
82
|
const resources = resourcesByType[resourceTypeHandle] ?? [];
|
|
83
83
|
const map = new Map();
|
|
84
84
|
for (const resource of resources) {
|
|
85
|
-
map.set(resource.
|
|
85
|
+
map.set(resource.id, resource);
|
|
86
86
|
}
|
|
87
87
|
return map;
|
|
88
88
|
}
|
|
89
|
-
// Only use this for resource types whose nuclei are entity-like objects with their own intrinsic
|
|
90
|
-
export function
|
|
89
|
+
// Only use this for resource types whose nuclei are entity-like objects with their own intrinsic id.
|
|
90
|
+
export function extractIdKeyedNucleusMapForType(resourcesByType, resourceTypeHandle) {
|
|
91
91
|
const resourceMap = extractResourceMapForType(resourcesByType, resourceTypeHandle);
|
|
92
92
|
const out = new Map();
|
|
93
93
|
for (const resource of resourceMap.values()) {
|
|
94
94
|
const data = resource.nucleus;
|
|
95
95
|
if (data === null || data === undefined) {
|
|
96
|
-
throw new Error(`Expected resource '${resource.
|
|
96
|
+
throw new Error(`Expected resource '${resource.id}' of type '${resourceTypeHandle}' to have a nucleus`);
|
|
97
97
|
}
|
|
98
98
|
if (typeof data !== 'object') {
|
|
99
|
-
throw new Error(`Expected resource '${resource.
|
|
99
|
+
throw new Error(`Expected resource '${resource.id}' of type '${resourceTypeHandle}' to have an object nucleus with id`);
|
|
100
100
|
}
|
|
101
|
-
const
|
|
102
|
-
if (
|
|
103
|
-
throw new Error(`Expected resource '${resource.
|
|
101
|
+
const maybeId = data.id;
|
|
102
|
+
if (maybeId === null || maybeId === undefined) {
|
|
103
|
+
throw new Error(`Expected resource '${resource.id}' of type '${resourceTypeHandle}' to have nucleus.id`);
|
|
104
104
|
}
|
|
105
|
-
if (typeof
|
|
106
|
-
typeof
|
|
107
|
-
typeof
|
|
108
|
-
throw new Error(`Expected resource '${resource.
|
|
105
|
+
if (typeof maybeId !== 'string' &&
|
|
106
|
+
typeof maybeId !== 'number' &&
|
|
107
|
+
typeof maybeId !== 'boolean') {
|
|
108
|
+
throw new Error(`Expected resource '${resource.id}' of type '${resourceTypeHandle}' to have nucleus.id as string, number, or boolean`);
|
|
109
109
|
}
|
|
110
110
|
const value = data;
|
|
111
|
-
const key = String(
|
|
111
|
+
const key = String(maybeId);
|
|
112
112
|
out.set(key, value);
|
|
113
113
|
}
|
|
114
114
|
return out;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractData.js","sourceRoot":"","sources":["../../src/utils/extractData.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,MAAM,UAAU,iCAAiC,CAAC,WAA4B;IAC1E,MAAM,SAAS,GAAG,+BAA+B,CAAC,WAAW,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"extractData.js","sourceRoot":"","sources":["../../src/utils/extractData.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,21 +4,21 @@ export function getIndependentThreads(steps, strategyState) {
|
|
|
4
4
|
const step = steps[ownerIndex];
|
|
5
5
|
return `steps[${ownerIndex}] stepKind=${step?.stepKind ?? 'unknown'}`;
|
|
6
6
|
};
|
|
7
|
-
// Map each toolStep.
|
|
7
|
+
// Map each toolStep.id (including macro-nested tool steps) to owning top-level step index.
|
|
8
8
|
const toolStepIdToOwner = new Map();
|
|
9
9
|
const ownerToToolStepIds = new Map();
|
|
10
10
|
const toolStepById = new Map();
|
|
11
11
|
const addToolStep = (toolStep, ownerIndex) => {
|
|
12
|
-
if (!toolStep?.
|
|
12
|
+
if (!toolStep?.id)
|
|
13
13
|
return;
|
|
14
|
-
const existingOwner = toolStepIdToOwner.get(toolStep.
|
|
14
|
+
const existingOwner = toolStepIdToOwner.get(toolStep.id);
|
|
15
15
|
if (existingOwner !== undefined) {
|
|
16
|
-
throw new Error(`Duplicate toolStep.
|
|
16
|
+
throw new Error(`Duplicate toolStep.id '${toolStep.id}' found in ${getOwnerLabel(ownerIndex)} and ${getOwnerLabel(existingOwner)}`);
|
|
17
17
|
}
|
|
18
|
-
toolStepIdToOwner.set(toolStep.
|
|
19
|
-
toolStepById.set(toolStep.
|
|
18
|
+
toolStepIdToOwner.set(toolStep.id, ownerIndex);
|
|
19
|
+
toolStepById.set(toolStep.id, toolStep);
|
|
20
20
|
const bucket = ownerToToolStepIds.get(ownerIndex) ?? [];
|
|
21
|
-
bucket.push(toolStep.
|
|
21
|
+
bucket.push(toolStep.id);
|
|
22
22
|
ownerToToolStepIds.set(ownerIndex, bucket);
|
|
23
23
|
};
|
|
24
24
|
steps.forEach((step, ownerIndex) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parallelizeSteps.js","sourceRoot":"","sources":["../../src/utils/parallelizeSteps.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,MAAM,UAAU,qBAAqB,CAAC,KAAiB,EAAE,aAAgC;IAGrF,MAAM,aAAa,GAAG,CAAC,UAAsB,EAAE,EAAE;QAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/B,OAAO,SAAS,UAAU,cAAe,IAAY,EAAE,QAAQ,IAAI,SAAS,EAAE,CAAC;IACnF,CAAC,CAAC;IAEF,
|
|
1
|
+
{"version":3,"file":"parallelizeSteps.js","sourceRoot":"","sources":["../../src/utils/parallelizeSteps.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toolproof-core/lib",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.28",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [],
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"@types/node": "^22.0.0"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@toolproof-core/schema": "^1.0.
|
|
55
|
+
"@toolproof-core/schema": "^1.0.41",
|
|
56
56
|
"firebase-admin": "^13.7.0"
|
|
57
57
|
},
|
|
58
58
|
"scripts": {
|
|
@@ -4,16 +4,16 @@ import {
|
|
|
4
4
|
buildRunnableStrategy,
|
|
5
5
|
getRunnableStrategyThreadGroups,
|
|
6
6
|
} from '../../utils/creation/runnableStrategyCreation.js';
|
|
7
|
-
import {
|
|
7
|
+
import { getNewId } from './firebaseAdminHelpers.js';
|
|
8
8
|
|
|
9
9
|
export function createRunnableStrategy(rawStrategy: RawStrategyJson): RunnableStrategyJson {
|
|
10
10
|
const threadStepGroups = getRunnableStrategyThreadGroups(rawStrategy);
|
|
11
|
-
const
|
|
12
|
-
const threadIdentities = threadStepGroups.map(() =>
|
|
11
|
+
const runnableStrategyId = getNewId(CONSTANTS.Names.RunnableStrategyId);
|
|
12
|
+
const threadIdentities = threadStepGroups.map(() => getNewId(CONSTANTS.Names.StrategyThreadId));
|
|
13
13
|
|
|
14
14
|
return buildRunnableStrategy(
|
|
15
15
|
rawStrategy,
|
|
16
|
-
|
|
16
|
+
runnableStrategyId,
|
|
17
17
|
threadStepGroups,
|
|
18
18
|
threadIdentities,
|
|
19
19
|
);
|
|
@@ -13,10 +13,10 @@ import {
|
|
|
13
13
|
cloneForStepWithIdentities,
|
|
14
14
|
cloneWhileStepWithIdentities,
|
|
15
15
|
} from '../../utils/creation/stepCreation.js';
|
|
16
|
-
import {
|
|
16
|
+
import { getNewStepId } from './firebaseAdminHelpers.js';
|
|
17
17
|
|
|
18
18
|
export function createToolStepFromTool(tool: ToolJson): ToolStepJson {
|
|
19
|
-
return buildToolStepFromTool(tool,
|
|
19
|
+
return buildToolStepFromTool(tool, getNewStepId(CONSTANTS.Enums.StepKind.tool));
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
export function createLoopStepFromToolPair(
|
|
@@ -27,17 +27,17 @@ export function createLoopStepFromToolPair(
|
|
|
27
27
|
if (stepKind === CONSTANTS.Enums.StepKind.for) {
|
|
28
28
|
return buildLoopStepFromToolPair(whatTool, whenTool, {
|
|
29
29
|
stepKind,
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
stepId: getNewStepId(CONSTANTS.Enums.StepKind.for),
|
|
31
|
+
whatId: getNewStepId(CONSTANTS.Enums.StepKind.tool),
|
|
32
|
+
whenId: getNewStepId(CONSTANTS.Enums.StepKind.tool),
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
return buildLoopStepFromToolPair(whatTool, whenTool, {
|
|
37
37
|
stepKind,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
stepId: getNewStepId(CONSTANTS.Enums.StepKind.while),
|
|
39
|
+
whatId: getNewStepId(CONSTANTS.Enums.StepKind.tool),
|
|
40
|
+
whenId: getNewStepId(CONSTANTS.Enums.StepKind.tool),
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
43
|
|
|
@@ -46,26 +46,26 @@ export function createBranchStepFromToolPairs(
|
|
|
46
46
|
): BranchStepJson {
|
|
47
47
|
return buildBranchStepFromToolPairs(
|
|
48
48
|
cases,
|
|
49
|
-
|
|
49
|
+
getNewStepId(CONSTANTS.Enums.StepKind.branch),
|
|
50
50
|
cases.map(() => ({
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
whatId: getNewStepId(CONSTANTS.Enums.StepKind.tool),
|
|
52
|
+
whenId: getNewStepId(CONSTANTS.Enums.StepKind.tool),
|
|
53
53
|
})),
|
|
54
54
|
);
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
export function cloneForStep(forStep: ForStepJson): ForStepJson {
|
|
58
58
|
return cloneForStepWithIdentities(forStep, {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
stepId: getNewStepId(CONSTANTS.Enums.StepKind.for),
|
|
60
|
+
whatId: getNewStepId(CONSTANTS.Enums.StepKind.tool),
|
|
61
|
+
whenId: getNewStepId(CONSTANTS.Enums.StepKind.tool),
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
export function cloneWhileStep(whileStep: WhileStepJson): WhileStepJson {
|
|
66
66
|
return cloneWhileStepWithIdentities(whileStep, {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
stepId: getNewStepId(CONSTANTS.Enums.StepKind.while),
|
|
68
|
+
whatId: getNewStepId(CONSTANTS.Enums.StepKind.tool),
|
|
69
|
+
whenId: getNewStepId(CONSTANTS.Enums.StepKind.tool),
|
|
70
70
|
});
|
|
71
71
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type {
|
|
2
2
|
ResourceJson,
|
|
3
|
-
|
|
3
|
+
ResourceTypeIdJson,
|
|
4
4
|
StepKindJson,
|
|
5
5
|
} from '@toolproof-core/schema';
|
|
6
6
|
import type {
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
IdName,
|
|
8
|
+
IdStringByIdName,
|
|
9
9
|
ResourcesByType,
|
|
10
|
-
|
|
10
|
+
StepIdStringByStepKind,
|
|
11
11
|
} from '../../types/types.js';
|
|
12
12
|
import { CONSTANTS, MAPPINGS } from '../../artifacts/artifacts.js';
|
|
13
13
|
import { dbAdmin, storageAdmin } from './firebaseAdminInit.js';
|
|
@@ -20,35 +20,35 @@ function capitalizeFirst(value: string): string {
|
|
|
20
20
|
return value.charAt(0).toUpperCase() + value.slice(1);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
export function
|
|
24
|
-
const prefix = MAPPINGS.
|
|
23
|
+
export function getNewId<K extends IdName>(idName: K): IdStringByIdName<K> {
|
|
24
|
+
const prefix = MAPPINGS.IdNameToIdPrefix[idName];
|
|
25
25
|
const docRef = dbAdmin
|
|
26
26
|
.collection(CONSTANTS.Persistence.Collections.resources)
|
|
27
|
-
.doc(
|
|
27
|
+
.doc(idName)
|
|
28
28
|
.collection(CONSTANTS.Persistence.Collections.members)
|
|
29
29
|
.doc();
|
|
30
30
|
|
|
31
|
-
return (prefix + docRef.id) as
|
|
31
|
+
return (prefix + docRef.id) as IdStringByIdName<K>;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
export function
|
|
35
|
-
const
|
|
34
|
+
export function getNewStepId<K extends StepKindJson>(stepKind: K): StepIdStringByStepKind<K> {
|
|
35
|
+
const idName = `${capitalizeFirst(stepKind)}StepId` as IdName;
|
|
36
36
|
|
|
37
|
-
if (!(
|
|
38
|
-
throw new Error(`No
|
|
37
|
+
if (!(idName in MAPPINGS.IdNameToIdPrefix)) {
|
|
38
|
+
throw new Error(`No IdNameToIdPrefix entry for derived step id name: ${idName}`);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
return
|
|
41
|
+
return getNewId(idName) as StepIdStringByStepKind<K>;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
export async function listResources(
|
|
45
|
-
resourceTypeHandles:
|
|
45
|
+
resourceTypeHandles: ResourceTypeIdJson[],
|
|
46
46
|
): Promise<ResourcesByType> {
|
|
47
47
|
const bucketResources = storageAdmin.bucket(CONSTANTS.Persistence.Buckets.tp_resources);
|
|
48
48
|
const bucketStrategies = storageAdmin.bucket(CONSTANTS.Persistence.Buckets.tp_strategies);
|
|
49
49
|
|
|
50
50
|
async function fetchFilesUnder(
|
|
51
|
-
resourceTypeHandle:
|
|
51
|
+
resourceTypeHandle: ResourceTypeIdJson,
|
|
52
52
|
): Promise<Array<{ data: unknown; meta: any; name: string }>> {
|
|
53
53
|
const bucket = resourceTypeHandle === CONSTANTS.Cosmos.TYPE_RunnableStrategy
|
|
54
54
|
? bucketStrategies
|
|
@@ -146,7 +146,7 @@ export async function listResources(
|
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
148
|
|
|
149
|
-
const
|
|
149
|
+
const id = root.id;
|
|
150
150
|
const resourceRoleHandle = root.creationContext.resourceRoleHandle;
|
|
151
151
|
const toolStepHandle = root.creationContext.toolStepHandle;
|
|
152
152
|
const resourceShellKind = root.resourceShellKind;
|
|
@@ -158,7 +158,7 @@ export async function listResources(
|
|
|
158
158
|
const timestamp = root.timestamp;
|
|
159
159
|
|
|
160
160
|
const missing = [
|
|
161
|
-
['
|
|
161
|
+
['id', id],
|
|
162
162
|
['resourceRoleHandle', resourceRoleHandle],
|
|
163
163
|
['toolStepHandle', toolStepHandle],
|
|
164
164
|
['resourceShellKind', resourceShellKind],
|
|
@@ -173,7 +173,7 @@ export async function listResources(
|
|
|
173
173
|
}
|
|
174
174
|
|
|
175
175
|
return {
|
|
176
|
-
|
|
176
|
+
id,
|
|
177
177
|
resourceTypeHandle,
|
|
178
178
|
creationContext: {
|
|
179
179
|
resourceRoleHandle,
|