@toolproof-core/lib 1.0.32 → 1.0.34
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 +53 -53
- package/dist/artifacts/artifacts.d.ts.map +1 -1
- package/dist/artifacts/artifacts.js +2 -2
- package/dist/artifacts/artifacts.js.map +1 -1
- package/dist/integrations/firebase/createThreadedStrategy.d.ts +3 -0
- package/dist/integrations/firebase/createThreadedStrategy.d.ts.map +1 -0
- package/dist/integrations/firebase/createThreadedStrategy.js +9 -0
- package/dist/integrations/firebase/createThreadedStrategy.js.map +1 -0
- package/dist/integrations/firebase/firebaseAdminHelpers.d.ts +5 -1
- package/dist/integrations/firebase/firebaseAdminHelpers.d.ts.map +1 -1
- package/dist/integrations/firebase/firebaseAdminHelpers.js +15 -12
- package/dist/integrations/firebase/firebaseAdminHelpers.js.map +1 -1
- package/dist/types/types.d.ts +3 -1
- package/dist/types/types.d.ts.map +1 -1
- package/dist/utils/bindInputRoleToResource.d.ts +5 -4
- package/dist/utils/bindInputRoleToResource.d.ts.map +1 -1
- package/dist/utils/bindInputRoleToResource.js +15 -65
- package/dist/utils/bindInputRoleToResource.js.map +1 -1
- package/dist/utils/creation/resourceCreation.d.ts +19 -7
- package/dist/utils/creation/resourceCreation.d.ts.map +1 -1
- package/dist/utils/creation/resourceCreation.js +16 -12
- package/dist/utils/creation/resourceCreation.js.map +1 -1
- package/dist/utils/creation/stepCreation.d.ts +22 -5
- package/dist/utils/creation/stepCreation.d.ts.map +1 -1
- package/dist/utils/creation/stepCreation.js +3 -2
- package/dist/utils/creation/stepCreation.js.map +1 -1
- package/dist/utils/creation/threadedStrategyCreation.d.ts +19 -0
- package/dist/utils/creation/threadedStrategyCreation.d.ts.map +1 -0
- package/dist/utils/creation/threadedStrategyCreation.js +17 -0
- package/dist/utils/creation/threadedStrategyCreation.js.map +1 -0
- package/dist/utils/extractData.d.ts +5 -4
- package/dist/utils/extractData.d.ts.map +1 -1
- package/dist/utils/extractData.js +12 -54
- package/dist/utils/extractData.js.map +1 -1
- package/dist/utils/parallelizeSteps.d.ts +2 -1
- package/dist/utils/parallelizeSteps.d.ts.map +1 -1
- package/dist/utils/parallelizeSteps.js +17 -10
- package/dist/utils/parallelizeSteps.js.map +1 -1
- package/dist/utils/resolveResourceChain.d.ts +6 -10
- package/dist/utils/resolveResourceChain.d.ts.map +1 -1
- package/dist/utils/resolveResourceChain.js +12 -20
- package/dist/utils/resolveResourceChain.js.map +1 -1
- package/dist/utils/roleSpec.d.ts +17 -0
- package/dist/utils/roleSpec.d.ts.map +1 -0
- package/dist/utils/roleSpec.js +58 -0
- package/dist/utils/roleSpec.js.map +1 -0
- package/dist/utils/strategyState.d.ts +8 -0
- package/dist/utils/strategyState.d.ts.map +1 -0
- package/dist/utils/strategyState.js +29 -0
- package/dist/utils/strategyState.js.map +1 -0
- package/package.json +6 -6
- package/src/artifacts/artifacts.ts +2 -2
- package/src/integrations/firebase/createThreadedStrategy.ts +19 -0
- package/src/integrations/firebase/firebaseAdminHelpers.ts +23 -13
- package/src/types/types.ts +1 -1
- package/src/utils/bindInputRoleToResource.ts +33 -89
- package/src/utils/creation/resourceCreation.ts +40 -22
- package/src/utils/creation/stepCreation.ts +23 -17
- package/src/utils/creation/threadedStrategyCreation.ts +42 -0
- package/src/utils/extractData.ts +25 -67
- package/src/utils/parallelizeSteps.ts +24 -15
- package/src/utils/resolveResourceChain.ts +18 -32
- package/src/utils/roleSpec.ts +84 -0
- package/src/utils/strategyState.ts +57 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/integrations/firebase/createRunnableStrategy.d.ts +0 -3
- package/dist/integrations/firebase/createRunnableStrategy.d.ts.map +0 -1
- package/dist/integrations/firebase/createRunnableStrategy.js +0 -10
- package/dist/integrations/firebase/createRunnableStrategy.js.map +0 -1
- package/dist/utils/creation/runnableStrategyCreation.d.ts +0 -4
- package/dist/utils/creation/runnableStrategyCreation.d.ts.map +0 -1
- package/dist/utils/creation/runnableStrategyCreation.js +0 -23
- package/dist/utils/creation/runnableStrategyCreation.js.map +0 -1
- package/src/integrations/firebase/createRunnableStrategy.ts +0 -20
- package/src/utils/creation/runnableStrategyCreation.ts +0 -42
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resourceCreation.js","sourceRoot":"","sources":["../../../src/utils/creation/resourceCreation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resourceCreation.js","sourceRoot":"","sources":["../../../src/utils/creation/resourceCreation.ts"],"names":[],"mappings":"AAwBA,MAAM,UAAU,YAAY,CAAC,cAA8B,EAAE,EAAc;IACvE,OAAO,GAAG,cAAc,IAAI,EAAE,OAAO,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,qCAAqC,CACjD,eAAgC,EAChC,OAAgB,EAChB,SAAkB;IAElB,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,eAAe,CAAC;IAChE,MAAM,IAAI,GAAG,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAE9C,OAAO;QACH,EAAE;QACF,cAAc;QACd,UAAU,EAAE;YACR,sBAAsB,EAAE,UAAU;YAClC,aAAa,EAAE,eAAe,CAAC,aAAa,IAAK,sBAAwC;YACzF,eAAe;SAClB;QACD,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAChD,IAAI;QACJ,OAAO;KACV,CAAC;AACN,CAAC;AAED,MAAM,UAAU,oCAAoC,CAChD,cAA8B,EAC9B,OAAgB,EAChB,SAAkB;IAElB,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;IAC/D,MAAM,IAAI,GAAG,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAE9C,OAAO;QACH,EAAE;QACF,cAAc;QACd,UAAU,EAAE;YACR,sBAAsB,EAAE,UAAU;YAClC,aAAa,EAAE,cAAc,CAAC,aAAa,IAAK,sBAAwC;YACxF,eAAe;SAClB;QACD,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAChD,IAAI;QACJ,OAAO;KACV,CAAC;AACN,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC3C,SAA2C,EAC3C,OAAgB,EAChB,SAAkB;IAElB,IAAI,wBAAwB,IAAI,SAAS,IAAI,SAAS,CAAC,sBAAsB,KAAK,gBAAgB,EAAE,CAAC;QACjG,OAAO,oCAAoC,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO,qCAAqC,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,4BAA4B,CACxC,GAAe,EACf,eAA+B;IAE/B,OAAO;QACH,sBAAsB,EAAE,eAAe;KAC1C,CAAC;AACN,CAAC;AAED,MAAM,UAAU,oBAAoB,CAChC,EAAc,EACd,cAA8B,EAC9B,eAAgC;IAEhC,OAAO;QACH,EAAE;QACF,cAAc;QACd,sBAAsB,EAAE,gBAAgB;QACxC,YAAY,EAAE,eAAe,CAAC,YAAY;QAC1C,QAAQ,EAAE,eAAe,CAAC,QAAQ;QAClC,eAAe;KAClB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,qBAAqB,CACjC,EAAc,EACd,cAA8B,EAC9B,eAAgC;IAEhC,OAAO;QACH,EAAE;QACF,cAAc;QACd,eAAe;KAClB,CAAC;AACN,CAAC"}
|
|
@@ -1,5 +1,21 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BranchStep, ForStep, Tool, ToolStep, WhileStep } from '@toolproof-core/schema';
|
|
2
2
|
import { CONSTANTS } from '../../artifacts/artifacts.js';
|
|
3
|
+
type ToolStepId = string;
|
|
4
|
+
type BranchStepId = string;
|
|
5
|
+
type ForStepId = string;
|
|
6
|
+
type WhileStepId = string;
|
|
7
|
+
type ToolStepWithId = ToolStep & {
|
|
8
|
+
id: ToolStepId;
|
|
9
|
+
};
|
|
10
|
+
type BranchStepWithId = BranchStep & {
|
|
11
|
+
id: BranchStepId;
|
|
12
|
+
};
|
|
13
|
+
type ForStepWithId = ForStep & {
|
|
14
|
+
id: ForStepId;
|
|
15
|
+
};
|
|
16
|
+
type WhileStepWithId = WhileStep & {
|
|
17
|
+
id: WhileStepId;
|
|
18
|
+
};
|
|
3
19
|
export type LoopStepBuildIdentities = {
|
|
4
20
|
stepKind: typeof CONSTANTS.Enums.StepKind.for;
|
|
5
21
|
stepId: ForStepId;
|
|
@@ -15,20 +31,21 @@ export type BranchCaseBuildIdentities = {
|
|
|
15
31
|
whatId: ToolStepId;
|
|
16
32
|
whenId: ToolStepId;
|
|
17
33
|
};
|
|
18
|
-
export declare function buildToolStepFromTool(tool: Tool, id: ToolStepId):
|
|
34
|
+
export declare function buildToolStepFromTool(tool: Tool, id: ToolStepId): ToolStepWithId;
|
|
19
35
|
export declare function buildLoopStepFromToolPair(whatTool: Tool, whenTool: Tool, identities: LoopStepBuildIdentities): ForStep | WhileStep;
|
|
20
36
|
export declare function buildBranchStepFromToolPairs(cases: Array<{
|
|
21
37
|
whatTool: Tool;
|
|
22
38
|
whenTool: Tool;
|
|
23
|
-
}>, branchId: BranchStepId, caseIdentities: BranchCaseBuildIdentities[]):
|
|
39
|
+
}>, branchId: BranchStepId, caseIdentities: BranchCaseBuildIdentities[]): BranchStepWithId;
|
|
24
40
|
export declare function cloneForStepWithIdentities(forStep: ForStep, identities: {
|
|
25
41
|
stepId: ForStepId;
|
|
26
42
|
whatId: ToolStepId;
|
|
27
43
|
whenId: ToolStepId;
|
|
28
|
-
}):
|
|
44
|
+
}): ForStepWithId;
|
|
29
45
|
export declare function cloneWhileStepWithIdentities(whileStep: WhileStep, identities: {
|
|
30
46
|
stepId: WhileStepId;
|
|
31
47
|
whatId: ToolStepId;
|
|
32
48
|
whenId: ToolStepId;
|
|
33
|
-
}):
|
|
49
|
+
}): WhileStepWithId;
|
|
50
|
+
export {};
|
|
34
51
|
//# 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,UAAU,EAEV,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,SAAS,EACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,KAAK,UAAU,GAAG,MAAM,CAAC;AACzB,KAAK,YAAY,GAAG,MAAM,CAAC;AAC3B,KAAK,SAAS,GAAG,MAAM,CAAC;AACxB,KAAK,WAAW,GAAG,MAAM,CAAC;AAE1B,KAAK,cAAc,GAAG,QAAQ,GAAG;IAAE,EAAE,EAAE,UAAU,CAAA;CAAE,CAAC;AACpD,KAAK,gBAAgB,GAAG,UAAU,GAAG;IAAE,EAAE,EAAE,YAAY,CAAA;CAAE,CAAC;AAC1D,KAAK,aAAa,GAAG,OAAO,GAAG;IAAE,EAAE,EAAE,SAAS,CAAA;CAAE,CAAC;AACjD,KAAK,eAAe,GAAG,SAAS,GAAG;IAAE,EAAE,EAAE,WAAW,CAAA;CAAE,CAAC;AAEvD,MAAM,MAAM,uBAAuB,GAC7B;IACE,QAAQ,EAAE,OAAO,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC9C,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;CACtB,GACC;IACE,QAAQ,EAAE,OAAO,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;IAChD,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;CACtB,CAAC;AAEN,MAAM,MAAM,yBAAyB,GAAG;IACpC,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;CACtB,CAAC;AAeF,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,UAAU,GACf,cAAc,CAOhB;AAED,wBAAgB,yBAAyB,CACrC,QAAQ,EAAE,IAAI,EACd,QAAQ,EAAE,IAAI,EACd,UAAU,EAAE,uBAAuB,GACpC,OAAO,GAAG,SAAS,CAiBrB;AAED,wBAAgB,4BAA4B,CACxC,KAAK,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC,EAChD,QAAQ,EAAE,YAAY,EACtB,cAAc,EAAE,yBAAyB,EAAE,GAC5C,gBAAgB,CAwBlB;AAED,wBAAgB,0BAA0B,CACtC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE;IACR,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;CACtB,GACF,aAAa,CAef;AAED,wBAAgB,4BAA4B,CACxC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE;IACR,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;CACtB,GACF,eAAe,CAejB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CONSTANTS } from '../../artifacts/artifacts.js';
|
|
2
|
+
import { getInputRoleNames, getOutputRoleNames } from '../roleSpec.js';
|
|
2
3
|
function assertNonEmpty(arr, msg) {
|
|
3
4
|
if (arr.length === 0) {
|
|
4
5
|
throw new Error(msg);
|
|
@@ -6,8 +7,8 @@ function assertNonEmpty(arr, msg) {
|
|
|
6
7
|
}
|
|
7
8
|
function getRoleBindingSpec(tool) {
|
|
8
9
|
return {
|
|
9
|
-
inputBindings:
|
|
10
|
-
outputBindings:
|
|
10
|
+
inputBindings: getInputRoleNames(tool),
|
|
11
|
+
outputBindings: getOutputRoleNames(tool),
|
|
11
12
|
};
|
|
12
13
|
}
|
|
13
14
|
export function buildToolStepFromTool(tool, id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stepCreation.js","sourceRoot":"","sources":["../../../src/utils/creation/stepCreation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stepCreation.js","sourceRoot":"","sources":["../../../src/utils/creation/stepCreation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Step, StrategyId } from '@toolproof-core/schema';
|
|
2
|
+
import { CONSTANTS } from '../../artifacts/artifacts.js';
|
|
3
|
+
export type ThreadableStrategy<TStrategyState = unknown> = {
|
|
4
|
+
id: StrategyId;
|
|
5
|
+
strategyState: TStrategyState;
|
|
6
|
+
} & ({
|
|
7
|
+
steps: Step[];
|
|
8
|
+
} | {
|
|
9
|
+
stepsByThreadIndex: Step[][];
|
|
10
|
+
});
|
|
11
|
+
export type ThreadedStrategyLike<TStrategyState = unknown> = {
|
|
12
|
+
id: StrategyId;
|
|
13
|
+
strategyKind: typeof CONSTANTS.Enums.StrategyKind.threaded;
|
|
14
|
+
stepsByThreadIndex: Step[][];
|
|
15
|
+
strategyState: TStrategyState;
|
|
16
|
+
};
|
|
17
|
+
export declare function getThreadedStrategyStepGroups<TStrategyState>(strategy: ThreadableStrategy<TStrategyState>): Step[][];
|
|
18
|
+
export declare function buildThreadedStrategy<TStrategyState>(threadStepGroups: Step[][], threadedStrategyId: StrategyId, strategy: ThreadableStrategy<TStrategyState>): ThreadedStrategyLike<TStrategyState>;
|
|
19
|
+
//# sourceMappingURL=threadedStrategyCreation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"threadedStrategyCreation.d.ts","sourceRoot":"","sources":["../../../src/utils/creation/threadedStrategyCreation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,IAAI,EACJ,UAAU,EACb,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,MAAM,MAAM,kBAAkB,CAAC,cAAc,GAAG,OAAO,IAAI;IACvD,EAAE,EAAE,UAAU,CAAC;IACf,aAAa,EAAE,cAAc,CAAC;CACjC,GAAG,CACE;IAAE,KAAK,EAAE,IAAI,EAAE,CAAA;CAAE,GACjB;IAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,CAAA;CAAE,CACrC,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,cAAc,GAAG,OAAO,IAAI;IACzD,EAAE,EAAE,UAAU,CAAC;IACf,YAAY,EAAE,OAAO,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC;IAC3D,kBAAkB,EAAE,IAAI,EAAE,EAAE,CAAC;IAC7B,aAAa,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF,wBAAgB,6BAA6B,CAAC,cAAc,EAAE,QAAQ,EAAE,kBAAkB,CAAC,cAAc,CAAC,GAAG,IAAI,EAAE,EAAE,CAMpH;AAED,wBAAgB,qBAAqB,CAAC,cAAc,EAChD,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAC1B,kBAAkB,EAAE,UAAU,EAC9B,QAAQ,EAAE,kBAAkB,CAAC,cAAc,CAAC,GAC7C,oBAAoB,CAAC,cAAc,CAAC,CAOtC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { getIndependentThreads } from '../parallelizeSteps.js';
|
|
2
|
+
import { CONSTANTS } from '../../artifacts/artifacts.js';
|
|
3
|
+
export function getThreadedStrategyStepGroups(strategy) {
|
|
4
|
+
if ('steps' in strategy) {
|
|
5
|
+
return getIndependentThreads(strategy.steps, strategy.strategyState);
|
|
6
|
+
}
|
|
7
|
+
return strategy.stepsByThreadIndex;
|
|
8
|
+
}
|
|
9
|
+
export function buildThreadedStrategy(threadStepGroups, threadedStrategyId, strategy) {
|
|
10
|
+
return {
|
|
11
|
+
id: threadedStrategyId,
|
|
12
|
+
strategyKind: CONSTANTS.Enums.StrategyKind.threaded,
|
|
13
|
+
stepsByThreadIndex: threadStepGroups,
|
|
14
|
+
strategyState: strategy.strategyState,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=threadedStrategyCreation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"threadedStrategyCreation.js","sourceRoot":"","sources":["../../../src/utils/creation/threadedStrategyCreation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAiBzD,MAAM,UAAU,6BAA6B,CAAiB,QAA4C;IACtG,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;QACtB,OAAO,qBAAqB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAoB,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,QAAQ,CAAC,kBAAkB,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,qBAAqB,CACjC,gBAA0B,EAC1B,kBAA8B,EAC9B,QAA4C;IAE5C,OAAO;QACH,EAAE,EAAE,kBAAkB;QACtB,YAAY,EAAE,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ;QACnD,kBAAkB,EAAE,gBAAgB;QACpC,aAAa,EAAE,QAAQ,CAAC,aAAa;KACxC,CAAC;AACN,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
1
|
+
import type { RoleName, ToolId, Tool, ToolStep, ResourceId, ResourceTypeId, Resource } from '@toolproof-core/schema';
|
|
2
|
+
import { type StrategyStepGraph, type ToolRoleDescriptor } from './roleSpec.js';
|
|
3
|
+
export declare function extractToolIdsFromUnthreadedStrategy(unthreadedStrategy: StrategyStepGraph): ToolId[];
|
|
4
|
+
export declare function extractToolStepsFromUnthreadedStrategy(unthreadedStrategy: StrategyStepGraph): ToolStep[];
|
|
5
|
+
export declare function extractRoleMapFromUnthreadedStrategy(unthreadedStrategy: StrategyStepGraph, toolMap: Map<ToolId, Tool>): Map<RoleName, ToolRoleDescriptor>;
|
|
5
6
|
export declare function extractSingleNonErrorOutputTypeId(tool: Tool): ResourceTypeId | null;
|
|
6
7
|
export declare function extractResourceMapForType<TResource extends Resource = Resource>(resourcesByType: Partial<Record<ResourceTypeId, TResource[]>>, resourceTypeId: ResourceTypeId): Map<ResourceId, TResource>;
|
|
7
8
|
export declare function extractIdKeyedNucleusMapForType<TKey extends string = string, TNucleus extends {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractData.d.ts","sourceRoot":"","sources":["../../src/utils/extractData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,
|
|
1
|
+
{"version":3,"file":"extractData.d.ts","sourceRoot":"","sources":["../../src/utils/extractData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,QAAQ,EAER,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,cAAc,EACd,QAAQ,EACX,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAKH,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAC1B,MAAM,eAAe,CAAC;AAGvB,wBAAgB,oCAAoC,CAAC,kBAAkB,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAOpG;AAED,wBAAgB,sCAAsC,CAAC,kBAAkB,EAAE,iBAAiB,GAAG,QAAQ,EAAE,CAExG;AAGD,wBAAgB,oCAAoC,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAiBzJ;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,IAAI,GAAG,cAAc,GAAG,IAAI,CAQnF;AAID,wBAAgB,yBAAyB,CAAC,SAAS,SAAS,QAAQ,GAAG,QAAQ,EAC3E,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC,EAC7D,cAAc,EAAE,cAAc,GAC/B,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAS5B;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,QAAQ,GAAG,QAAQ,EAErC,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC,EAC7D,cAAc,EAAE,cAAc,GAC/B,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAwCrB"}
|
|
@@ -1,77 +1,35 @@
|
|
|
1
1
|
import { CONSTANTS } from '../artifacts/artifacts.js';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { extractToolStepsFromStrategy, getInputRoleEntries, getOutputRoleEntries, toToolRoleDescriptor, } from './roleSpec.js';
|
|
3
|
+
export function extractToolIdsFromUnthreadedStrategy(unthreadedStrategy) {
|
|
4
|
+
const toolSteps = extractToolStepsFromUnthreadedStrategy(unthreadedStrategy);
|
|
4
5
|
const ids = new Set();
|
|
5
6
|
for (const jStep of toolSteps) {
|
|
6
7
|
ids.add(jStep.toolId);
|
|
7
8
|
}
|
|
8
9
|
return Array.from(ids);
|
|
9
10
|
}
|
|
10
|
-
export function
|
|
11
|
-
|
|
12
|
-
const seen = new Set();
|
|
13
|
-
const addToolStep = (toolStep) => {
|
|
14
|
-
if (seen.has(toolStep.id)) {
|
|
15
|
-
throw new Error(`Duplicate tool step id encountered: ${toolStep.id}`);
|
|
16
|
-
}
|
|
17
|
-
seen.add(toolStep.id);
|
|
18
|
-
toolSteps.push(toolStep);
|
|
19
|
-
};
|
|
20
|
-
const visitStep = (step) => {
|
|
21
|
-
switch (step.stepKind) {
|
|
22
|
-
case CONSTANTS.Enums.StepKind.tool: {
|
|
23
|
-
addToolStep(step);
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
case CONSTANTS.Enums.StepKind.branch: {
|
|
27
|
-
for (const conditional of step.cases) {
|
|
28
|
-
addToolStep(conditional.when);
|
|
29
|
-
addToolStep(conditional.what);
|
|
30
|
-
}
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
case CONSTANTS.Enums.StepKind.while:
|
|
34
|
-
case CONSTANTS.Enums.StepKind.for: {
|
|
35
|
-
addToolStep(step.case.when);
|
|
36
|
-
addToolStep(step.case.what);
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
default: {
|
|
40
|
-
const _exhaustive = step;
|
|
41
|
-
return _exhaustive;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
for (const step of rawStrategy.steps) {
|
|
46
|
-
visitStep(step);
|
|
47
|
-
}
|
|
48
|
-
return toolSteps;
|
|
11
|
+
export function extractToolStepsFromUnthreadedStrategy(unthreadedStrategy) {
|
|
12
|
+
return extractToolStepsFromStrategy(unthreadedStrategy);
|
|
49
13
|
}
|
|
50
|
-
export function
|
|
14
|
+
export function extractRoleMapFromUnthreadedStrategy(unthreadedStrategy, toolMap) {
|
|
51
15
|
const roleMap = new Map();
|
|
52
|
-
const toolIds =
|
|
16
|
+
const toolIds = extractToolIdsFromUnthreadedStrategy(unthreadedStrategy);
|
|
53
17
|
for (const toolId of toolIds) {
|
|
54
18
|
const tool = toolMap.get(toolId);
|
|
55
19
|
if (!tool)
|
|
56
20
|
continue;
|
|
57
|
-
for (const
|
|
58
|
-
roleMap.set(
|
|
59
|
-
id: rid,
|
|
60
|
-
...role,
|
|
61
|
-
});
|
|
21
|
+
for (const entry of getInputRoleEntries(tool)) {
|
|
22
|
+
roleMap.set(entry[0], toToolRoleDescriptor(entry));
|
|
62
23
|
}
|
|
63
|
-
for (const
|
|
64
|
-
roleMap.set(
|
|
65
|
-
id: rid,
|
|
66
|
-
...role,
|
|
67
|
-
});
|
|
24
|
+
for (const entry of getOutputRoleEntries(tool)) {
|
|
25
|
+
roleMap.set(entry[0], toToolRoleDescriptor(entry));
|
|
68
26
|
}
|
|
69
27
|
}
|
|
70
28
|
return roleMap;
|
|
71
29
|
}
|
|
72
30
|
export function extractSingleNonErrorOutputTypeId(tool) {
|
|
73
31
|
const errorRoleId = CONSTANTS.Cosmos.ROLE_ErrorOutput;
|
|
74
|
-
const outputEntries =
|
|
32
|
+
const outputEntries = getOutputRoleEntries(tool).filter(([roleName]) => roleName !== errorRoleId);
|
|
75
33
|
if (!outputEntries || !outputEntries[0] || outputEntries.length !== 1) {
|
|
76
34
|
throw new Error(`Tool ${tool.id} must have exactly one non-error output role to be branchable/loopable`);
|
|
77
35
|
} // ATTENTION_PUREIFY
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractData.js","sourceRoot":"","sources":["../../src/utils/extractData.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extractData.js","sourceRoot":"","sources":["../../src/utils/extractData.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import type { Step
|
|
1
|
+
import type { Step } from '@toolproof-core/schema';
|
|
2
|
+
import type { StrategyState } from './strategyState.js';
|
|
2
3
|
export declare function getIndependentThreads(steps: Step[], strategyState: StrategyState): Step[][];
|
|
3
4
|
//# sourceMappingURL=parallelizeSteps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parallelizeSteps.d.ts","sourceRoot":"","sources":["../../src/utils/parallelizeSteps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"parallelizeSteps.d.ts","sourceRoot":"","sources":["../../src/utils/parallelizeSteps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIR,IAAI,EAEP,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAWxD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI,EAAE,EAAE,CAuK3F"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { CONSTANTS } from '../artifacts/artifacts.js';
|
|
2
|
+
function getToolStepId(toolStep) {
|
|
3
|
+
const maybeId = toolStep?.id;
|
|
4
|
+
return typeof maybeId === 'string' ? maybeId : undefined;
|
|
5
|
+
}
|
|
2
6
|
export function getIndependentThreads(steps, strategyState) {
|
|
3
7
|
const getOwnerLabel = (ownerIndex) => {
|
|
4
8
|
const step = steps[ownerIndex];
|
|
@@ -9,16 +13,17 @@ export function getIndependentThreads(steps, strategyState) {
|
|
|
9
13
|
const ownerToToolStepIds = new Map();
|
|
10
14
|
const toolStepById = new Map();
|
|
11
15
|
const addToolStep = (toolStep, ownerIndex) => {
|
|
12
|
-
|
|
16
|
+
const toolStepId = getToolStepId(toolStep);
|
|
17
|
+
if (!toolStepId || !toolStep)
|
|
13
18
|
return;
|
|
14
|
-
const existingOwner = toolStepIdToOwner.get(
|
|
19
|
+
const existingOwner = toolStepIdToOwner.get(toolStepId);
|
|
15
20
|
if (existingOwner !== undefined) {
|
|
16
|
-
throw new Error(`Duplicate toolStep.id '${
|
|
21
|
+
throw new Error(`Duplicate toolStep.id '${toolStepId}' found in ${getOwnerLabel(ownerIndex)} and ${getOwnerLabel(existingOwner)}`);
|
|
17
22
|
}
|
|
18
|
-
toolStepIdToOwner.set(
|
|
19
|
-
toolStepById.set(
|
|
23
|
+
toolStepIdToOwner.set(toolStepId, ownerIndex);
|
|
24
|
+
toolStepById.set(toolStepId, toolStep);
|
|
20
25
|
const bucket = ownerToToolStepIds.get(ownerIndex) ?? [];
|
|
21
|
-
bucket.push(
|
|
26
|
+
bucket.push(toolStepId);
|
|
22
27
|
ownerToToolStepIds.set(ownerIndex, bucket);
|
|
23
28
|
};
|
|
24
29
|
steps.forEach((step, ownerIndex) => {
|
|
@@ -68,15 +73,17 @@ export function getIndependentThreads(steps, strategyState) {
|
|
|
68
73
|
const bucket = strategyState?.[toolStepId] ?? {};
|
|
69
74
|
for (const inputRoleId of inputBindings) {
|
|
70
75
|
const entry = bucket?.[inputRoleId];
|
|
71
|
-
if (!entry || entry.
|
|
76
|
+
if (!entry || entry.strategyStateInputKind !== 'referenceInput')
|
|
72
77
|
continue;
|
|
73
|
-
const creatorToolStepId = entry?.
|
|
78
|
+
const creatorToolStepId = typeof entry?.toolStepPath === 'string'
|
|
79
|
+
? entry.toolStepPath
|
|
80
|
+
: undefined;
|
|
74
81
|
if (!creatorToolStepId) {
|
|
75
|
-
throw new Error(`Unresolvable
|
|
82
|
+
throw new Error(`Unresolvable referenceInput in toolStep '${toolStepId}' (${getOwnerLabel(ownerIndex)}): missing toolStepPath for role '${inputRoleId}'`);
|
|
76
83
|
}
|
|
77
84
|
const producerOwner = toolStepIdToOwner.get(creatorToolStepId);
|
|
78
85
|
if (producerOwner === undefined) {
|
|
79
|
-
throw new Error(`Unresolvable
|
|
86
|
+
throw new Error(`Unresolvable referenceInput in toolStep '${toolStepId}' (${getOwnerLabel(ownerIndex)}): creator toolStepPath '${creatorToolStepId}' not found in strategy steps`);
|
|
80
87
|
}
|
|
81
88
|
ensureOwner(producerOwner);
|
|
82
89
|
ownerAdj.get(ownerIndex).add(producerOwner);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parallelizeSteps.js","sourceRoot":"","sources":["../../src/utils/parallelizeSteps.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parallelizeSteps.js","sourceRoot":"","sources":["../../src/utils/parallelizeSteps.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAMtD,SAAS,aAAa,CAAC,QAA8B;IACjD,MAAM,OAAO,GAAI,QAAgD,EAAE,EAAE,CAAC;IACtE,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC;AAGD,MAAM,UAAU,qBAAqB,CAAC,KAAa,EAAE,aAA4B;IAG7E,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,2FAA2F;IAC3F,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC5D,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC/D,MAAM,YAAY,GAAG,IAAI,GAAG,EAA8B,CAAC;IAE3D,MAAM,WAAW,GAAG,CAAC,QAA8B,EAAE,UAAsB,EAAE,EAAE;QAC3E,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ;YAAE,OAAO;QAErC,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACX,0BAA0B,UAAU,cAAc,aAAa,CAAC,UAAU,CAAC,QAAQ,aAAa,CAAC,aAAa,CAAC,EAAE,CACpH,CAAC;QACN,CAAC;QAED,iBAAiB,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC9C,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,QAA0B,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE;QAC/B,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClD,WAAW,CAAC,IAAgB,EAAE,UAAU,CAAC,CAAC;YAC1C,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAe,CAAC;YAC7B,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YACzC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YACzC,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,IAAiB,CAAC;YAC/B,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YACzC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YACzC,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,IAAkB,CAAC;YAClC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;gBACxC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;gBACxC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO;QACX,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,sEAAsE;IACtE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;IACxD,+FAA+F;IAC/F,MAAM,SAAS,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEzD,MAAM,WAAW,GAAG,CAAC,UAAsB,EAAE,EAAE;QAC3C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,WAAW,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,4CAA4C;IAC5C,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,iBAAiB,EAAE,CAAC;QACvD,WAAW,CAAC,UAAU,CAAC,CAAC;QAExB,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,QAAQ,EAAE,eAAe,EAAE,aAAa,IAAI,EAAE,CAAC;QACrE,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC,UAAU,CAAC,IAAK,EAAU,CAAC;QAE1D,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,WAAW,CAAQ,CAAC;YAC3C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,sBAAsB,KAAK,gBAAgB;gBAAE,SAAS;YAE1E,MAAM,iBAAiB,GAAG,OAAO,KAAK,EAAE,YAAY,KAAK,QAAQ;gBAC7D,CAAC,CAAC,KAAK,CAAC,YAA0B;gBAClC,CAAC,CAAC,SAAS,CAAC;YAChB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CACX,4CAA4C,UAAU,MAAM,aAAa,CAAC,UAAU,CAAC,qCAAqC,WAAW,GAAG,CAC3I,CAAC;YACN,CAAC;YAED,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC/D,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CACX,4CAA4C,UAAU,MAAM,aAAa,CAAC,UAAU,CAAC,4BAA4B,iBAAiB,+BAA+B,CACpK,CAAC;YACN,CAAC;YAED,WAAW,CAAC,aAAa,CAAC,CAAC;YAC3B,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC7C,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC7C,SAAS,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAClD,CAAC;IACL,CAAC;IAED,oCAAoC;IACpC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAc,CAAC;IACtC,MAAM,UAAU,GAAmB,EAAE,CAAC;IAEtC,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;QAC/D,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,SAAS;QACtC,MAAM,SAAS,GAAiB,EAAE,CAAC;QACnC,MAAM,KAAK,GAAiB,CAAC,UAAU,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACzB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACtB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzB,CAAC;YACL,CAAC;QACL,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED,sFAAsF;IACtF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;QAC/C,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QAEhE,KAAK,MAAM,aAAa,IAAI,aAAa,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;gBAAE,SAAS;YAEvC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC;YACjD,KAAK,MAAM,aAAa,IAAI,IAAI,EAAE,CAAC;gBAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAChD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC5B,MAAM,IAAI,KAAK,CACX,uCAAuC,aAAa,CAAC,aAAa,CAAC,qCAAqC,aAAa,CAAC,aAAa,CAAC,EAAE,CACzI,CAAC;gBACN,CAAC;gBACD,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CACX,iCAAiC,aAAa,CAAC,aAAa,CAAC,eAAe,aAAa,CAAC,aAAa,CAAC,iDAAiD,CAC5J,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,UAAU;SACZ,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QAChB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QACrC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
import type { CreationContext,
|
|
2
|
-
import {
|
|
1
|
+
import type { CreationContext, ExternalInput, ValueInput } from '@toolproof-core/schema';
|
|
2
|
+
import { type StrategyState } from './strategyState.js';
|
|
3
3
|
export type ResolveResult = {
|
|
4
|
-
status:
|
|
5
|
-
entry:
|
|
4
|
+
status: 'valueInput';
|
|
5
|
+
entry: ValueInput;
|
|
6
6
|
path: CreationContext[];
|
|
7
7
|
} | {
|
|
8
|
-
status:
|
|
9
|
-
entry:
|
|
10
|
-
path: CreationContext[];
|
|
11
|
-
} | {
|
|
12
|
-
status: typeof CONSTANTS.Enums.ResourceShellKind.outputPotential;
|
|
13
|
-
entry: OutputPotentialShell;
|
|
8
|
+
status: 'externalInput';
|
|
9
|
+
entry: ExternalInput;
|
|
14
10
|
path: CreationContext[];
|
|
15
11
|
} | {
|
|
16
12
|
status: 'unresolved';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveResourceChain.d.ts","sourceRoot":"","sources":["../../src/utils/resolveResourceChain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"resolveResourceChain.d.ts","sourceRoot":"","sources":["../../src/utils/resolveResourceChain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,eAAe,EACf,aAAa,EAGb,UAAU,EACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE/E,MAAM,MAAM,aAAa,GACnB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,eAAe,EAAE,CAAA;CAAE,GACpE;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,eAAe,EAAE,CAAA;CAAE,GAC1E;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,WAAW,GAAG,OAAO,GAAG,gBAAgB,CAAC;IAAC,IAAI,EAAE,eAAe,EAAE,CAAA;CAAE,CAAC;AAE1G,wBAAgB,oBAAoB,CAChC,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,eAAe,EACtB,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7B,aAAa,CAiCf"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getStrategyStateEntry } from './strategyState.js';
|
|
2
2
|
export function resolveResourceChain(strategyState, start, opts) {
|
|
3
3
|
const maxDepth = opts?.maxDepth ?? 50;
|
|
4
4
|
const visited = new Set();
|
|
@@ -6,33 +6,25 @@ export function resolveResourceChain(strategyState, start, opts) {
|
|
|
6
6
|
let current = start;
|
|
7
7
|
for (let depth = 0; depth <= maxDepth; depth++) {
|
|
8
8
|
path.push(current);
|
|
9
|
-
const visitKey = `${current.
|
|
9
|
+
const visitKey = `${current.toolStepPath}::${current.roleName}`;
|
|
10
10
|
if (visited.has(visitKey)) {
|
|
11
11
|
return { status: 'unresolved', reason: 'cycle', path };
|
|
12
12
|
}
|
|
13
13
|
visited.add(visitKey);
|
|
14
|
-
const
|
|
15
|
-
if (!bucket)
|
|
16
|
-
return { status: 'unresolved', reason: 'not-found', path };
|
|
17
|
-
const entry = bucket[current.resourceRoleId];
|
|
14
|
+
const entry = getStrategyStateEntry(strategyState, current);
|
|
18
15
|
if (!entry)
|
|
19
16
|
return { status: 'unresolved', reason: 'not-found', path };
|
|
20
|
-
if (entry.
|
|
21
|
-
return { status:
|
|
22
|
-
}
|
|
23
|
-
if (entry.resourceShellKind === CONSTANTS.Enums.ResourceShellKind.externalInputPotential) {
|
|
24
|
-
return { status: CONSTANTS.Enums.ResourceShellKind.externalInputPotential, entry: entry, path };
|
|
25
|
-
}
|
|
26
|
-
if (entry.resourceShellKind === CONSTANTS.Enums.ResourceShellKind.outputPotential) {
|
|
27
|
-
return { status: CONSTANTS.Enums.ResourceShellKind.outputPotential, entry: entry, path };
|
|
17
|
+
if (entry.strategyStateInputKind === 'valueInput') {
|
|
18
|
+
return { status: 'valueInput', entry: entry, path };
|
|
28
19
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
current = entry.creationContext;
|
|
32
|
-
continue;
|
|
20
|
+
if (entry.strategyStateInputKind === 'externalInput') {
|
|
21
|
+
return { status: 'externalInput', entry: entry, path };
|
|
33
22
|
}
|
|
34
|
-
|
|
35
|
-
|
|
23
|
+
current = {
|
|
24
|
+
toolStepPath: entry.toolStepPath,
|
|
25
|
+
roleName: entry.roleName,
|
|
26
|
+
};
|
|
27
|
+
continue;
|
|
36
28
|
}
|
|
37
29
|
return { status: 'unresolved', reason: 'depth-exceeded', path };
|
|
38
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveResourceChain.js","sourceRoot":"","sources":["../../src/utils/resolveResourceChain.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveResourceChain.js","sourceRoot":"","sources":["../../src/utils/resolveResourceChain.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qBAAqB,EAAsB,MAAM,oBAAoB,CAAC;AAO/E,MAAM,UAAU,oBAAoB,CAChC,aAA4B,EAC5B,KAAsB,EACtB,IAA4B;IAE5B,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,IAAI,GAAsB,EAAE,CAAC;IACnC,IAAI,OAAO,GAAoB,KAAK,CAAC;IAErC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnB,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;QAChE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3D,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEtB,MAAM,KAAK,GAAG,qBAAqB,CAAC,aAAa,EAAE,OAAO,CAAwC,CAAC;QACnG,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAEvE,IAAI,KAAK,CAAC,sBAAsB,KAAK,YAAY,EAAE,CAAC;YAChD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACxD,CAAC;QACD,IAAI,KAAK,CAAC,sBAAsB,KAAK,eAAe,EAAE,CAAC;YACnD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3D,CAAC;QAED,OAAO,GAAG;YACN,YAAY,EAAG,KAAwB,CAAC,YAAY;YACpD,QAAQ,EAAG,KAAwB,CAAC,QAAQ;SAC/C,CAAC;QACF,SAAS;IAEb,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;AACpE,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { RoleName, RoleValue, Step, StepArrayArray, Tool, ToolStep } from '@toolproof-core/schema';
|
|
2
|
+
export type StrategyStepGraph = {
|
|
3
|
+
steps: Step[];
|
|
4
|
+
} | {
|
|
5
|
+
stepsByThreadIndex: StepArrayArray;
|
|
6
|
+
};
|
|
7
|
+
export interface ToolRoleDescriptor extends RoleValue {
|
|
8
|
+
id: RoleName;
|
|
9
|
+
name: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function getInputRoleEntries(tool: Tool): Array<[RoleName, RoleValue]>;
|
|
12
|
+
export declare function getOutputRoleEntries(tool: Tool): Array<[RoleName, RoleValue]>;
|
|
13
|
+
export declare function getInputRoleNames(tool: Tool): RoleName[];
|
|
14
|
+
export declare function getOutputRoleNames(tool: Tool): RoleName[];
|
|
15
|
+
export declare function toToolRoleDescriptor([roleName, roleValue]: [RoleName, RoleValue]): ToolRoleDescriptor;
|
|
16
|
+
export declare function extractToolStepsFromStrategy(strategy: StrategyStepGraph): ToolStep[];
|
|
17
|
+
//# sourceMappingURL=roleSpec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roleSpec.d.ts","sourceRoot":"","sources":["../../src/utils/roleSpec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,cAAc,EACd,IAAI,EACJ,QAAQ,EACX,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,iBAAiB,GACvB;IAAE,KAAK,EAAE,IAAI,EAAE,CAAA;CAAE,GACjB;IAAE,kBAAkB,EAAE,cAAc,CAAA;CAAE,CAAC;AAE7C,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACjD,EAAE,EAAE,QAAQ,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAE5E;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAE7E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,EAAE,CAExD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,EAAE,CAEzD;AAED,wBAAgB,oBAAoB,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,kBAAkB,CAMrG;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,QAAQ,EAAE,CAyCpF"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export function getInputRoleEntries(tool) {
|
|
2
|
+
return Object.entries(tool.roleSpec.inputRoleValueByName);
|
|
3
|
+
}
|
|
4
|
+
export function getOutputRoleEntries(tool) {
|
|
5
|
+
return Object.entries(tool.roleSpec.outputRoleValueByName);
|
|
6
|
+
}
|
|
7
|
+
export function getInputRoleNames(tool) {
|
|
8
|
+
return getInputRoleEntries(tool).map(([roleName]) => roleName);
|
|
9
|
+
}
|
|
10
|
+
export function getOutputRoleNames(tool) {
|
|
11
|
+
return getOutputRoleEntries(tool).map(([roleName]) => roleName);
|
|
12
|
+
}
|
|
13
|
+
export function toToolRoleDescriptor([roleName, roleValue]) {
|
|
14
|
+
return {
|
|
15
|
+
id: roleName,
|
|
16
|
+
name: roleName,
|
|
17
|
+
...roleValue,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export function extractToolStepsFromStrategy(strategy) {
|
|
21
|
+
const toolSteps = [];
|
|
22
|
+
const visitStep = (step) => {
|
|
23
|
+
switch (step.stepKind) {
|
|
24
|
+
case 'tool': {
|
|
25
|
+
toolSteps.push(step);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
case 'branch': {
|
|
29
|
+
for (const conditional of step.cases) {
|
|
30
|
+
toolSteps.push(conditional.when, conditional.what);
|
|
31
|
+
}
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
case 'while':
|
|
35
|
+
case 'for': {
|
|
36
|
+
toolSteps.push(step.case.when, step.case.what);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
default: {
|
|
40
|
+
const _exhaustive = step;
|
|
41
|
+
return _exhaustive;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
if ('steps' in strategy) {
|
|
46
|
+
for (const step of strategy.steps) {
|
|
47
|
+
visitStep(step);
|
|
48
|
+
}
|
|
49
|
+
return toolSteps;
|
|
50
|
+
}
|
|
51
|
+
for (const threadSteps of strategy.stepsByThreadIndex) {
|
|
52
|
+
for (const step of threadSteps) {
|
|
53
|
+
visitStep(step);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return toolSteps;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=roleSpec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roleSpec.js","sourceRoot":"","sources":["../../src/utils/roleSpec.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,mBAAmB,CAAC,IAAU;IAC1C,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAiC,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAU;IAC3C,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAiC,CAAC;AAC/F,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAU;IACxC,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAU;IACzC,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAwB;IAC7E,OAAO;QACH,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,GAAG,SAAS;KACf,CAAC;AACN,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,QAA2B;IACpE,MAAM,SAAS,GAAe,EAAE,CAAC;IAEjC,MAAM,SAAS,GAAG,CAAC,IAAU,EAAE,EAAE;QAC7B,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrB,OAAO;YACX,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACnC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;gBACvD,CAAC;gBACD,OAAO;YACX,CAAC;YACD,KAAK,OAAO,CAAC;YACb,KAAK,KAAK,CAAC,CAAC,CAAC;gBACT,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/C,OAAO;YACX,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACN,MAAM,WAAW,GAAU,IAAI,CAAC;gBAChC,OAAO,WAAW,CAAC;YACvB,CAAC;QACL,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAChC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QACpD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC7B,SAAS,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CreationContext, Strategy, StrategyStateInputEntry, StrategyStateInputEntryByRoleName } from '@toolproof-core/schema';
|
|
2
|
+
export type StrategyState = Strategy['strategyState'];
|
|
3
|
+
export type StrategyStateLike = Record<string, Record<string, unknown>>;
|
|
4
|
+
export declare function getStrategyStateBucket(strategyState: StrategyStateLike, toolStepPath: CreationContext['toolStepPath']): StrategyStateInputEntryByRoleName | undefined;
|
|
5
|
+
export declare function getStrategyStateEntry(strategyState: StrategyStateLike, context: CreationContext): StrategyStateInputEntry | undefined;
|
|
6
|
+
export declare function setStrategyStateEntry<TStrategyState extends StrategyStateLike>(strategyState: TStrategyState, context: CreationContext, entry: StrategyStateInputEntry): TStrategyState;
|
|
7
|
+
export declare function clearStrategyStateEntry<TStrategyState extends StrategyStateLike>(strategyState: TStrategyState, context: CreationContext): TStrategyState;
|
|
8
|
+
//# sourceMappingURL=strategyState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategyState.d.ts","sourceRoot":"","sources":["../../src/utils/strategyState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,eAAe,EACf,QAAQ,EACR,uBAAuB,EACvB,iCAAiC,EACpC,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AACtD,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAExE,wBAAgB,sBAAsB,CAClC,aAAa,EAAE,iBAAiB,EAChC,YAAY,EAAE,eAAe,CAAC,cAAc,CAAC,GAC9C,iCAAiC,GAAG,SAAS,CAE/C;AAED,wBAAgB,qBAAqB,CACjC,aAAa,EAAE,iBAAiB,EAChC,OAAO,EAAE,eAAe,GACzB,uBAAuB,GAAG,SAAS,CAErC;AAED,wBAAgB,qBAAqB,CAAC,cAAc,SAAS,iBAAiB,EAC1E,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,uBAAuB,GAC/B,cAAc,CAUhB;AAED,wBAAgB,uBAAuB,CAAC,cAAc,SAAS,iBAAiB,EAC5E,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,eAAe,GACzB,cAAc,CAahB"}
|