@toolproof-core/lib 1.0.33 → 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 +2 -2
- 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.map +1 -1
- package/dist/integrations/firebase/firebaseAdminHelpers.js +15 -12
- package/dist/integrations/firebase/firebaseAdminHelpers.js.map +1 -1
- package/dist/utils/bindInputRoleToResource.d.ts +4 -4
- package/dist/utils/bindInputRoleToResource.d.ts.map +1 -1
- package/dist/utils/bindInputRoleToResource.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 -5
- package/dist/utils/extractData.d.ts.map +1 -1
- package/dist/utils/extractData.js +6 -6
- package/dist/utils/extractData.js.map +1 -1
- package/dist/utils/roleSpec.d.ts +7 -2
- package/dist/utils/roleSpec.d.ts.map +1 -1
- package/dist/utils/roleSpec.js.map +1 -1
- package/dist/utils/strategyState.d.ts +5 -4
- package/dist/utils/strategyState.d.ts.map +1 -1
- package/dist/utils/strategyState.js.map +1 -1
- package/package.json +4 -4
- package/src/artifacts/artifacts.ts +2 -2
- package/src/integrations/firebase/createThreadedStrategy.ts +19 -0
- package/src/integrations/firebase/firebaseAdminHelpers.ts +21 -12
- package/src/utils/bindInputRoleToResource.ts +10 -9
- package/src/utils/creation/threadedStrategyCreation.ts +42 -0
- package/src/utils/extractData.ts +7 -7
- package/src/utils/roleSpec.ts +6 -2
- package/src/utils/strategyState.ts +12 -11
- 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 -9
- 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 -17
- package/dist/utils/creation/runnableStrategyCreation.js.map +0 -1
- package/src/integrations/firebase/createRunnableStrategy.ts +0 -18
- package/src/utils/creation/runnableStrategyCreation.ts +0 -28
|
@@ -21,8 +21,8 @@ export declare const CONSTANTS: {
|
|
|
21
21
|
readonly TYPE_ResourceType: "TYPE-ResourceType";
|
|
22
22
|
readonly TYPE_Tool: "TYPE-Tool";
|
|
23
23
|
readonly TYPE_Error: "TYPE-Error";
|
|
24
|
-
readonly
|
|
25
|
-
readonly
|
|
24
|
+
readonly TYPE_UnthreadedStrategy: "TYPE-UnthreadedStrategy";
|
|
25
|
+
readonly TYPE_ThreadedStrategy: "TYPE-ThreadedStrategy";
|
|
26
26
|
readonly TYPE_StrategyRun: "TYPE-StrategyRun";
|
|
27
27
|
readonly ROLE_Manual: "ROLE-Manual";
|
|
28
28
|
readonly ROLE_ErrorOutput: "ROLE-ErrorOutput";
|
|
@@ -23,8 +23,8 @@ export const CONSTANTS = {
|
|
|
23
23
|
TYPE_ResourceType: 'TYPE-ResourceType',
|
|
24
24
|
TYPE_Tool: 'TYPE-Tool',
|
|
25
25
|
TYPE_Error: 'TYPE-Error',
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
TYPE_UnthreadedStrategy: 'TYPE-UnthreadedStrategy',
|
|
27
|
+
TYPE_ThreadedStrategy: 'TYPE-ThreadedStrategy',
|
|
28
28
|
TYPE_StrategyRun: 'TYPE-StrategyRun',
|
|
29
29
|
ROLE_Manual: 'ROLE-Manual',
|
|
30
30
|
ROLE_ErrorOutput: 'ROLE-ErrorOutput',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../src/artifacts/artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,UAAU,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExF,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,GAAG,UAAU;IACb,WAAW,EAAE;QACT,OAAO,EAAE;YACL,YAAY,EAAE,cAAc;YAC5B,aAAa,EAAE,eAAe;SACjC;QACD,WAAW,EAAE;YACT,SAAS,EAAE,WAAW;YACtB,OAAO,EAAE,SAAS;SACrB;KACJ;IACD,MAAM,EAAE;QACJ,MAAM,EAAE;YACJ,gBAAgB,EAAE,kBAAkB;YACpC,kBAAkB,EAAE,oBAAoB;SAC3C;KACJ;IACD,MAAM,EAAE;QACJ,YAAY,EAAE,cAAc;QAC5B,YAAY,EAAE,cAAc;QAC5B,iBAAiB,EAAE,mBAAmB;QACtC,SAAS,EAAE,WAAW;QACtB,UAAU,EAAE,YAAY;QACxB,
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../src/artifacts/artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,UAAU,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExF,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,GAAG,UAAU;IACb,WAAW,EAAE;QACT,OAAO,EAAE;YACL,YAAY,EAAE,cAAc;YAC5B,aAAa,EAAE,eAAe;SACjC;QACD,WAAW,EAAE;YACT,SAAS,EAAE,WAAW;YACtB,OAAO,EAAE,SAAS;SACrB;KACJ;IACD,MAAM,EAAE;QACJ,MAAM,EAAE;YACJ,gBAAgB,EAAE,kBAAkB;YACpC,kBAAkB,EAAE,oBAAoB;SAC3C;KACJ;IACD,MAAM,EAAE;QACJ,YAAY,EAAE,cAAc;QAC5B,YAAY,EAAE,cAAc;QAC5B,iBAAiB,EAAE,mBAAmB;QACtC,SAAS,EAAE,WAAW;QACtB,UAAU,EAAE,YAAY;QACxB,uBAAuB,EAAE,yBAAyB;QAClD,qBAAqB,EAAE,uBAAuB;QAC9C,gBAAgB,EAAE,kBAAkB;QACpC,WAAW,EAAE,aAAa;QAC1B,gBAAgB,EAAE,kBAAkB;QACpC,uBAAuB,EAAE,yBAAyB;QAClD,wBAAwB,EAAE,0BAA0B;QACpD,mBAAmB,EAAE,qBAAqB;QAC1C,mBAAmB,EAAE,qBAAqB;QAC1C,qBAAqB,EAAE,uBAAuB;QAC9C,qBAAqB,EAAE,uBAAuB;QAC9C,aAAa,EAAE,eAAe;QAC9B,0BAA0B,EAAE,4BAA4B;QACxD,sBAAsB,EAAE,wBAAwB;QAChD,4BAA4B,EAAE,8BAA8B;QAC5D,yBAAyB,EAAE,2BAA2B;QACtD,2BAA2B,EAAE,6BAA6B;KAC7D;CACK,CAAC;AAEX,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,GAAG,SAAS;CACN,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type ThreadableStrategy, type ThreadedStrategyLike } from '../../utils/creation/threadedStrategyCreation.js';
|
|
2
|
+
export declare function createThreadedStrategy<TStrategyState>(strategy: ThreadableStrategy<TStrategyState>): ThreadedStrategyLike<TStrategyState>;
|
|
3
|
+
//# sourceMappingURL=createThreadedStrategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createThreadedStrategy.d.ts","sourceRoot":"","sources":["../../../src/integrations/firebase/createThreadedStrategy.ts"],"names":[],"mappings":"AACA,OAAO,EAGH,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC5B,MAAM,kDAAkD,CAAC;AAG1D,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,QAAQ,EAAE,kBAAkB,CAAC,cAAc,CAAC,GAAG,oBAAoB,CAAC,cAAc,CAAC,CASzI"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CONSTANTS } from '../../artifacts/artifacts.js';
|
|
2
|
+
import { buildThreadedStrategy, getThreadedStrategyStepGroups, } from '../../utils/creation/threadedStrategyCreation.js';
|
|
3
|
+
import { getNewId } from './firebaseAdminHelpers.js';
|
|
4
|
+
export function createThreadedStrategy(strategy) {
|
|
5
|
+
const threadStepGroups = getThreadedStrategyStepGroups(strategy);
|
|
6
|
+
const strategyId = getNewId(CONSTANTS.Names.StrategyId);
|
|
7
|
+
return buildThreadedStrategy(threadStepGroups, strategyId, strategy);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=createThreadedStrategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createThreadedStrategy.js","sourceRoot":"","sources":["../../../src/integrations/firebase/createThreadedStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EACH,qBAAqB,EACrB,6BAA6B,GAGhC,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,MAAM,UAAU,sBAAsB,CAAiB,QAA4C;IAC/F,MAAM,gBAAgB,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAExD,OAAO,qBAAqB,CACxB,gBAAgB,EAChB,UAAU,EACV,QAAQ,CACX,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebaseAdminHelpers.d.ts","sourceRoot":"","sources":["../../../src/integrations/firebase/firebaseAdminHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"firebaseAdminHelpers.d.ts","sourceRoot":"","sources":["../../../src/integrations/firebase/firebaseAdminHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIR,cAAc,EACd,QAAQ,EACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACR,MAAM,EACN,gBAAgB,EAChB,eAAe,EAClB,MAAM,sBAAsB,CAAC;AAI9B,KAAK,sBAAsB,CAAC,CAAC,SAAS,QAAQ,IAAI,MAAM,GAAG;IAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AAUvF,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CASzE;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAQvF;AAED,wBAAsB,aAAa,CAC/B,eAAe,EAAE,cAAc,EAAE,GAClC,OAAO,CAAC,eAAe,CAAC,CA4J1B"}
|
|
@@ -26,7 +26,7 @@ export async function listResources(resourceTypeIds) {
|
|
|
26
26
|
const bucketResources = storageAdmin.bucket(CONSTANTS.Persistence.Buckets.tp_resources);
|
|
27
27
|
const bucketStrategies = storageAdmin.bucket(CONSTANTS.Persistence.Buckets.tp_strategies);
|
|
28
28
|
async function fetchFilesUnder(resourceTypeId) {
|
|
29
|
-
const bucket = resourceTypeId === CONSTANTS.Cosmos.
|
|
29
|
+
const bucket = resourceTypeId === CONSTANTS.Cosmos.TYPE_ThreadedStrategy
|
|
30
30
|
? bucketStrategies
|
|
31
31
|
: bucketResources;
|
|
32
32
|
const prefix = `${resourceTypeId}/`;
|
|
@@ -111,9 +111,7 @@ export async function listResources(resourceTypeIds) {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
const id = root.id;
|
|
114
|
-
const
|
|
115
|
-
const toolStepId = root.creationContext.toolStepId;
|
|
116
|
-
const resourceShellKind = root.resourceShellKind;
|
|
114
|
+
const provenance = root.provenance;
|
|
117
115
|
const versionRaw = root.version;
|
|
118
116
|
const version = typeof versionRaw === 'number'
|
|
119
117
|
? versionRaw
|
|
@@ -122,9 +120,6 @@ export async function listResources(resourceTypeIds) {
|
|
|
122
120
|
const timestamp = root.timestamp;
|
|
123
121
|
const missing = [
|
|
124
122
|
['id', id],
|
|
125
|
-
['resourceRoleId', resourceRoleId],
|
|
126
|
-
['toolStepId', toolStepId],
|
|
127
|
-
['resourceShellKind', resourceShellKind],
|
|
128
123
|
['version', Number.isFinite(version) ? String(version) : ''],
|
|
129
124
|
['timestamp', timestamp],
|
|
130
125
|
['path', resourcePath],
|
|
@@ -133,14 +128,22 @@ export async function listResources(resourceTypeIds) {
|
|
|
133
128
|
const keys = missing.map(([key]) => key).join(', ');
|
|
134
129
|
throw new Error(`Missing required metadata keys [${keys}] for resource file: ${name}`);
|
|
135
130
|
}
|
|
131
|
+
if (!provenance || typeof provenance !== 'object' || typeof provenance.resourceProvenanceKind !== 'string') {
|
|
132
|
+
throw new Error(`Missing required metadata key [provenance] for resource file: ${name}`);
|
|
133
|
+
}
|
|
134
|
+
if (provenance.resourceProvenanceKind === 'strategy') {
|
|
135
|
+
const creationContext = provenance.creationContext;
|
|
136
|
+
if (!creationContext ||
|
|
137
|
+
typeof creationContext !== 'object' ||
|
|
138
|
+
typeof creationContext.roleName !== 'string' ||
|
|
139
|
+
typeof creationContext.toolStepPath !== 'string') {
|
|
140
|
+
throw new Error(`Missing required strategy provenance creationContext for resource file: ${name}`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
136
143
|
return {
|
|
137
144
|
id,
|
|
138
145
|
resourceTypeId,
|
|
139
|
-
|
|
140
|
-
resourceRoleId,
|
|
141
|
-
toolStepId,
|
|
142
|
-
},
|
|
143
|
-
resourceShellKind,
|
|
146
|
+
provenance,
|
|
144
147
|
version,
|
|
145
148
|
timestamp: timestamp,
|
|
146
149
|
path: resourcePath,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebaseAdminHelpers.js","sourceRoot":"","sources":["../../../src/integrations/firebase/firebaseAdminHelpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"firebaseAdminHelpers.js","sourceRoot":"","sources":["../../../src/integrations/firebase/firebaseAdminHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CreationContext, Resource } from '@toolproof-core/schema';
|
|
2
|
-
import { type
|
|
3
|
-
export declare function bindInputResInStrategyState(strategyState:
|
|
4
|
-
export declare function bindInputRefInStrategyState(strategyState:
|
|
5
|
-
export declare function clearInputBindingInStrategyState(strategyState:
|
|
2
|
+
import { type StrategyStateLike } from './strategyState.js';
|
|
3
|
+
export declare function bindInputResInStrategyState<TStrategyState extends StrategyStateLike>(strategyState: TStrategyState, target: CreationContext, resource: Resource): TStrategyState;
|
|
4
|
+
export declare function bindInputRefInStrategyState<TStrategyState extends StrategyStateLike>(strategyState: TStrategyState, target: CreationContext, source: CreationContext): TStrategyState;
|
|
5
|
+
export declare function clearInputBindingInStrategyState<TStrategyState extends StrategyStateLike>(strategyState: TStrategyState, target: CreationContext): TStrategyState;
|
|
6
6
|
//# sourceMappingURL=bindInputRoleToResource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bindInputRoleToResource.d.ts","sourceRoot":"","sources":["../../src/utils/bindInputRoleToResource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,eAAe,EACf,QAAQ,EAGX,MAAM,wBAAwB,CAAC;AAChC,OAAO,
|
|
1
|
+
{"version":3,"file":"bindInputRoleToResource.d.ts","sourceRoot":"","sources":["../../src/utils/bindInputRoleToResource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,eAAe,EACf,QAAQ,EAGX,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAKH,KAAK,iBAAiB,EACzB,MAAM,oBAAoB,CAAC;AAG5B,wBAAgB,2BAA2B,CAAC,cAAc,SAAS,iBAAiB,EAChF,aAAa,EAAE,cAAc,EAC7B,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,QAAQ,GACnB,cAAc,CAQhB;AAED,wBAAgB,2BAA2B,CAAC,cAAc,SAAS,iBAAiB,EAChF,aAAa,EAAE,cAAc,EAC7B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,eAAe,GACxB,cAAc,CAahB;AAED,wBAAgB,gCAAgC,CAAC,cAAc,SAAS,iBAAiB,EACrF,aAAa,EAAE,cAAc,EAC7B,MAAM,EAAE,eAAe,GACxB,cAAc,CAEhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bindInputRoleToResource.js","sourceRoot":"","sources":["../../src/utils/bindInputRoleToResource.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"bindInputRoleToResource.js","sourceRoot":"","sources":["../../src/utils/bindInputRoleToResource.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,GAGxB,MAAM,oBAAoB,CAAC;AAG5B,MAAM,UAAU,2BAA2B,CACvC,aAA6B,EAC7B,MAAuB,EACvB,QAAkB;IAElB,MAAM,KAAK,GAAe;QACtB,sBAAsB,EAAE,YAAY;QACpC,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,OAAO,EAAE,QAAQ,CAAC,OAAO;KAC5B,CAAC;IAEF,OAAO,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,2BAA2B,CACvC,aAA6B,EAC7B,MAAuB,EACvB,MAAuB;IAEvB,MAAM,WAAW,GAAG,qBAAqB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACjE,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,uCAAuC,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvG,CAAC;IAED,MAAM,KAAK,GAAmB;QAC1B,sBAAsB,EAAE,gBAAgB;QACxC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC5B,CAAC;IAEF,OAAO,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC5C,aAA6B,EAC7B,MAAuB;IAEvB,OAAO,uBAAuB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -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,8 +1,8 @@
|
|
|
1
|
-
import type { RoleName,
|
|
2
|
-
import { type ToolRoleDescriptor } from './roleSpec.js';
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
5
|
-
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>;
|
|
6
6
|
export declare function extractSingleNonErrorOutputTypeId(tool: Tool): ResourceTypeId | null;
|
|
7
7
|
export declare function extractResourceMapForType<TResource extends Resource = Resource>(resourcesByType: Partial<Record<ResourceTypeId, TResource[]>>, resourceTypeId: ResourceTypeId): Map<ResourceId, TResource>;
|
|
8
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,QAAQ,EAER,
|
|
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,19 +1,19 @@
|
|
|
1
1
|
import { CONSTANTS } from '../artifacts/artifacts.js';
|
|
2
2
|
import { extractToolStepsFromStrategy, getInputRoleEntries, getOutputRoleEntries, toToolRoleDescriptor, } from './roleSpec.js';
|
|
3
|
-
export function
|
|
4
|
-
const toolSteps =
|
|
3
|
+
export function extractToolIdsFromUnthreadedStrategy(unthreadedStrategy) {
|
|
4
|
+
const toolSteps = extractToolStepsFromUnthreadedStrategy(unthreadedStrategy);
|
|
5
5
|
const ids = new Set();
|
|
6
6
|
for (const jStep of toolSteps) {
|
|
7
7
|
ids.add(jStep.toolId);
|
|
8
8
|
}
|
|
9
9
|
return Array.from(ids);
|
|
10
10
|
}
|
|
11
|
-
export function
|
|
12
|
-
return extractToolStepsFromStrategy(
|
|
11
|
+
export function extractToolStepsFromUnthreadedStrategy(unthreadedStrategy) {
|
|
12
|
+
return extractToolStepsFromStrategy(unthreadedStrategy);
|
|
13
13
|
}
|
|
14
|
-
export function
|
|
14
|
+
export function extractRoleMapFromUnthreadedStrategy(unthreadedStrategy, toolMap) {
|
|
15
15
|
const roleMap = new Map();
|
|
16
|
-
const toolIds =
|
|
16
|
+
const toolIds = extractToolIdsFromUnthreadedStrategy(unthreadedStrategy);
|
|
17
17
|
for (const toolId of toolIds) {
|
|
18
18
|
const tool = toolMap.get(toolId);
|
|
19
19
|
if (!tool)
|
|
@@ -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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"}
|
package/dist/utils/roleSpec.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import type { RoleName, RoleValue,
|
|
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
|
+
};
|
|
2
7
|
export interface ToolRoleDescriptor extends RoleValue {
|
|
3
8
|
id: RoleName;
|
|
4
9
|
name: string;
|
|
@@ -8,5 +13,5 @@ export declare function getOutputRoleEntries(tool: Tool): Array<[RoleName, RoleV
|
|
|
8
13
|
export declare function getInputRoleNames(tool: Tool): RoleName[];
|
|
9
14
|
export declare function getOutputRoleNames(tool: Tool): RoleName[];
|
|
10
15
|
export declare function toToolRoleDescriptor([roleName, roleValue]: [RoleName, RoleValue]): ToolRoleDescriptor;
|
|
11
|
-
export declare function extractToolStepsFromStrategy(strategy:
|
|
16
|
+
export declare function extractToolStepsFromStrategy(strategy: StrategyStepGraph): ToolStep[];
|
|
12
17
|
//# sourceMappingURL=roleSpec.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roleSpec.d.ts","sourceRoot":"","sources":["../../src/utils/roleSpec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,QAAQ,EACR,SAAS,EACT,
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roleSpec.js","sourceRoot":"","sources":["../../src/utils/roleSpec.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { CreationContext, Strategy, StrategyStateInputEntry, StrategyStateInputEntryByRoleName } from '@toolproof-core/schema';
|
|
2
2
|
export type StrategyState = Strategy['strategyState'];
|
|
3
|
-
export
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function
|
|
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;
|
|
7
8
|
//# sourceMappingURL=strategyState.d.ts.map
|
|
@@ -1 +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;
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategyState.js","sourceRoot":"","sources":["../../src/utils/strategyState.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"strategyState.js","sourceRoot":"","sources":["../../src/utils/strategyState.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,sBAAsB,CAClC,aAAgC,EAChC,YAA6C;IAE7C,OAAO,aAAa,CAAC,YAAY,CAAkD,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,qBAAqB,CACjC,aAAgC,EAChC,OAAwB;IAExB,OAAO,sBAAsB,CAAC,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,qBAAqB,CACjC,aAA6B,EAC7B,OAAwB,EACxB,KAA8B;IAE9B,MAAM,MAAM,GAAG,sBAAsB,CAAC,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAEjF,OAAO;QACH,GAAG,aAAa;QAChB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YACpB,GAAG,MAAM;YACT,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK;SAC5B;KACc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,uBAAuB,CACnC,aAA6B,EAC7B,OAAwB;IAExB,MAAM,MAAM,GAAG,sBAAsB,CAAC,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3E,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC;QAC3C,OAAO,aAAa,CAAC;IACzB,CAAC;IAED,MAAM,UAAU,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IACjC,OAAO,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEpC,OAAO;QACH,GAAG,aAAa;QAChB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,UAAU;KACnB,CAAC;AACxB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toolproof-core/lib",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.34",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [],
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
"types": "./dist/integrations/firebase/createStep.d.ts",
|
|
28
28
|
"import": "./dist/integrations/firebase/createStep.js"
|
|
29
29
|
},
|
|
30
|
-
"./create-
|
|
31
|
-
"types": "./dist/integrations/firebase/
|
|
32
|
-
"import": "./dist/integrations/firebase/
|
|
30
|
+
"./create-threaded-strategy": {
|
|
31
|
+
"types": "./dist/integrations/firebase/createThreadedStrategy.d.ts",
|
|
32
|
+
"import": "./dist/integrations/firebase/createThreadedStrategy.js"
|
|
33
33
|
},
|
|
34
34
|
"./resolve-resource-chain": {
|
|
35
35
|
"types": "./dist/utils/resolveResourceChain.d.ts",
|
|
@@ -24,8 +24,8 @@ export const CONSTANTS = {
|
|
|
24
24
|
TYPE_ResourceType: 'TYPE-ResourceType',
|
|
25
25
|
TYPE_Tool: 'TYPE-Tool',
|
|
26
26
|
TYPE_Error: 'TYPE-Error',
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
TYPE_UnthreadedStrategy: 'TYPE-UnthreadedStrategy',
|
|
28
|
+
TYPE_ThreadedStrategy: 'TYPE-ThreadedStrategy',
|
|
29
29
|
TYPE_StrategyRun: 'TYPE-StrategyRun',
|
|
30
30
|
ROLE_Manual: 'ROLE-Manual',
|
|
31
31
|
ROLE_ErrorOutput: 'ROLE-ErrorOutput',
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CONSTANTS } from '../../artifacts/artifacts.js';
|
|
2
|
+
import {
|
|
3
|
+
buildThreadedStrategy,
|
|
4
|
+
getThreadedStrategyStepGroups,
|
|
5
|
+
type ThreadableStrategy,
|
|
6
|
+
type ThreadedStrategyLike,
|
|
7
|
+
} from '../../utils/creation/threadedStrategyCreation.js';
|
|
8
|
+
import { getNewId } from './firebaseAdminHelpers.js';
|
|
9
|
+
|
|
10
|
+
export function createThreadedStrategy<TStrategyState>(strategy: ThreadableStrategy<TStrategyState>): ThreadedStrategyLike<TStrategyState> {
|
|
11
|
+
const threadStepGroups = getThreadedStrategyStepGroups(strategy);
|
|
12
|
+
const strategyId = getNewId(CONSTANTS.Names.StrategyId);
|
|
13
|
+
|
|
14
|
+
return buildThreadedStrategy(
|
|
15
|
+
threadStepGroups,
|
|
16
|
+
strategyId,
|
|
17
|
+
strategy,
|
|
18
|
+
);
|
|
19
|
+
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type {
|
|
2
|
+
CreationContext,
|
|
2
3
|
Resource,
|
|
4
|
+
ResourceProvenance,
|
|
3
5
|
ResourceTypeId,
|
|
4
6
|
StepKind,
|
|
5
7
|
} from '@toolproof-core/schema';
|
|
@@ -51,7 +53,7 @@ export async function listResources(
|
|
|
51
53
|
async function fetchFilesUnder(
|
|
52
54
|
resourceTypeId: ResourceTypeId,
|
|
53
55
|
): Promise<Array<{ data: unknown; meta: any; name: string }>> {
|
|
54
|
-
const bucket = resourceTypeId === CONSTANTS.Cosmos.
|
|
56
|
+
const bucket = resourceTypeId === CONSTANTS.Cosmos.TYPE_ThreadedStrategy
|
|
55
57
|
? bucketStrategies
|
|
56
58
|
: bucketResources;
|
|
57
59
|
const prefix = `${resourceTypeId}/`;
|
|
@@ -148,9 +150,7 @@ export async function listResources(
|
|
|
148
150
|
}
|
|
149
151
|
|
|
150
152
|
const id = root.id;
|
|
151
|
-
const
|
|
152
|
-
const toolStepId = root.creationContext.toolStepId;
|
|
153
|
-
const resourceShellKind = root.resourceShellKind;
|
|
153
|
+
const provenance = root.provenance as ResourceProvenance | undefined;
|
|
154
154
|
const versionRaw = root.version;
|
|
155
155
|
const version = typeof versionRaw === 'number'
|
|
156
156
|
? versionRaw
|
|
@@ -160,9 +160,6 @@ export async function listResources(
|
|
|
160
160
|
|
|
161
161
|
const missing = [
|
|
162
162
|
['id', id],
|
|
163
|
-
['resourceRoleId', resourceRoleId],
|
|
164
|
-
['toolStepId', toolStepId],
|
|
165
|
-
['resourceShellKind', resourceShellKind],
|
|
166
163
|
['version', Number.isFinite(version) ? String(version) : ''],
|
|
167
164
|
['timestamp', timestamp],
|
|
168
165
|
['path', resourcePath],
|
|
@@ -173,14 +170,26 @@ export async function listResources(
|
|
|
173
170
|
throw new Error(`Missing required metadata keys [${keys}] for resource file: ${name}`);
|
|
174
171
|
}
|
|
175
172
|
|
|
173
|
+
if (!provenance || typeof provenance !== 'object' || typeof provenance.resourceProvenanceKind !== 'string') {
|
|
174
|
+
throw new Error(`Missing required metadata key [provenance] for resource file: ${name}`);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
if (provenance.resourceProvenanceKind === 'strategy') {
|
|
178
|
+
const creationContext = (provenance as { creationContext?: CreationContext }).creationContext;
|
|
179
|
+
if (
|
|
180
|
+
!creationContext ||
|
|
181
|
+
typeof creationContext !== 'object' ||
|
|
182
|
+
typeof creationContext.roleName !== 'string' ||
|
|
183
|
+
typeof creationContext.toolStepPath !== 'string'
|
|
184
|
+
) {
|
|
185
|
+
throw new Error(`Missing required strategy provenance creationContext for resource file: ${name}`);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
176
189
|
return {
|
|
177
190
|
id,
|
|
178
191
|
resourceTypeId,
|
|
179
|
-
|
|
180
|
-
resourceRoleId,
|
|
181
|
-
toolStepId,
|
|
182
|
-
},
|
|
183
|
-
resourceShellKind,
|
|
192
|
+
provenance,
|
|
184
193
|
version,
|
|
185
194
|
timestamp: timestamp as string,
|
|
186
195
|
path: resourcePath as string,
|
|
@@ -9,14 +9,15 @@ import {
|
|
|
9
9
|
getStrategyStateEntry,
|
|
10
10
|
setStrategyStateEntry,
|
|
11
11
|
type StrategyState,
|
|
12
|
+
type StrategyStateLike,
|
|
12
13
|
} from './strategyState.js';
|
|
13
14
|
|
|
14
15
|
|
|
15
|
-
export function bindInputResInStrategyState(
|
|
16
|
-
strategyState:
|
|
16
|
+
export function bindInputResInStrategyState<TStrategyState extends StrategyStateLike>(
|
|
17
|
+
strategyState: TStrategyState,
|
|
17
18
|
target: CreationContext,
|
|
18
19
|
resource: Resource
|
|
19
|
-
):
|
|
20
|
+
): TStrategyState {
|
|
20
21
|
const entry: ValueInput = {
|
|
21
22
|
strategyStateInputKind: 'valueInput',
|
|
22
23
|
resourceTypeId: resource.resourceTypeId,
|
|
@@ -26,11 +27,11 @@ export function bindInputResInStrategyState(
|
|
|
26
27
|
return setStrategyStateEntry(strategyState, target, entry);
|
|
27
28
|
}
|
|
28
29
|
|
|
29
|
-
export function bindInputRefInStrategyState(
|
|
30
|
-
strategyState:
|
|
30
|
+
export function bindInputRefInStrategyState<TStrategyState extends StrategyStateLike>(
|
|
31
|
+
strategyState: TStrategyState,
|
|
31
32
|
target: CreationContext,
|
|
32
33
|
source: CreationContext
|
|
33
|
-
):
|
|
34
|
+
): TStrategyState {
|
|
34
35
|
const sourceEntry = getStrategyStateEntry(strategyState, source);
|
|
35
36
|
if (!sourceEntry) {
|
|
36
37
|
throw new Error(`resourceEntry not found for source (${source.toolStepPath}, ${source.roleName})`);
|
|
@@ -45,9 +46,9 @@ export function bindInputRefInStrategyState(
|
|
|
45
46
|
return setStrategyStateEntry(strategyState, target, entry);
|
|
46
47
|
}
|
|
47
48
|
|
|
48
|
-
export function clearInputBindingInStrategyState(
|
|
49
|
-
strategyState:
|
|
49
|
+
export function clearInputBindingInStrategyState<TStrategyState extends StrategyStateLike>(
|
|
50
|
+
strategyState: TStrategyState,
|
|
50
51
|
target: CreationContext
|
|
51
|
-
):
|
|
52
|
+
): TStrategyState {
|
|
52
53
|
return clearStrategyStateEntry(strategyState, target);
|
|
53
54
|
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
Step,
|
|
3
|
+
StrategyId,
|
|
4
|
+
} from '@toolproof-core/schema';
|
|
5
|
+
import { getIndependentThreads } from '../parallelizeSteps.js';
|
|
6
|
+
import { CONSTANTS } from '../../artifacts/artifacts.js';
|
|
7
|
+
|
|
8
|
+
export type ThreadableStrategy<TStrategyState = unknown> = {
|
|
9
|
+
id: StrategyId;
|
|
10
|
+
strategyState: TStrategyState;
|
|
11
|
+
} & (
|
|
12
|
+
| { steps: Step[] }
|
|
13
|
+
| { stepsByThreadIndex: Step[][] }
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
export type ThreadedStrategyLike<TStrategyState = unknown> = {
|
|
17
|
+
id: StrategyId;
|
|
18
|
+
strategyKind: typeof CONSTANTS.Enums.StrategyKind.threaded;
|
|
19
|
+
stepsByThreadIndex: Step[][];
|
|
20
|
+
strategyState: TStrategyState;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export function getThreadedStrategyStepGroups<TStrategyState>(strategy: ThreadableStrategy<TStrategyState>): Step[][] {
|
|
24
|
+
if ('steps' in strategy) {
|
|
25
|
+
return getIndependentThreads(strategy.steps, strategy.strategyState as any);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return strategy.stepsByThreadIndex;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export function buildThreadedStrategy<TStrategyState>(
|
|
32
|
+
threadStepGroups: Step[][],
|
|
33
|
+
threadedStrategyId: StrategyId,
|
|
34
|
+
strategy: ThreadableStrategy<TStrategyState>,
|
|
35
|
+
): ThreadedStrategyLike<TStrategyState> {
|
|
36
|
+
return {
|
|
37
|
+
id: threadedStrategyId,
|
|
38
|
+
strategyKind: CONSTANTS.Enums.StrategyKind.threaded,
|
|
39
|
+
stepsByThreadIndex: threadStepGroups,
|
|
40
|
+
strategyState: strategy.strategyState,
|
|
41
|
+
};
|
|
42
|
+
}
|