@planweave-ai/runtime 0.1.0
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/LICENSE +21 -0
- package/dist/autoRun/codexExecutor.d.ts +20 -0
- package/dist/autoRun/codexExecutor.d.ts.map +1 -0
- package/dist/autoRun/codexExecutor.js +196 -0
- package/dist/autoRun/codexExecutor.js.map +1 -0
- package/dist/autoRun/codexProtocol.d.ts +5 -0
- package/dist/autoRun/codexProtocol.d.ts.map +1 -0
- package/dist/autoRun/codexProtocol.js +72 -0
- package/dist/autoRun/codexProtocol.js.map +1 -0
- package/dist/autoRun/contract.d.ts +46 -0
- package/dist/autoRun/contract.d.ts.map +1 -0
- package/dist/autoRun/contract.js +18 -0
- package/dist/autoRun/contract.js.map +1 -0
- package/dist/autoRun/executorShared.d.ts +57 -0
- package/dist/autoRun/executorShared.d.ts.map +1 -0
- package/dist/autoRun/executorShared.js +179 -0
- package/dist/autoRun/executorShared.js.map +1 -0
- package/dist/autoRun/executors.d.ts +43 -0
- package/dist/autoRun/executors.d.ts.map +1 -0
- package/dist/autoRun/executors.js +201 -0
- package/dist/autoRun/executors.js.map +1 -0
- package/dist/autoRun/localReviewExecutor.d.ts +20 -0
- package/dist/autoRun/localReviewExecutor.d.ts.map +1 -0
- package/dist/autoRun/localReviewExecutor.js +133 -0
- package/dist/autoRun/localReviewExecutor.js.map +1 -0
- package/dist/autoRun/opencodeExecutor.d.ts +20 -0
- package/dist/autoRun/opencodeExecutor.d.ts.map +1 -0
- package/dist/autoRun/opencodeExecutor.js +211 -0
- package/dist/autoRun/opencodeExecutor.js.map +1 -0
- package/dist/autoRun/opencodeInvocation.d.ts +9 -0
- package/dist/autoRun/opencodeInvocation.d.ts.map +1 -0
- package/dist/autoRun/opencodeInvocation.js +53 -0
- package/dist/autoRun/opencodeInvocation.js.map +1 -0
- package/dist/autoRun/opencodeOutput.d.ts +11 -0
- package/dist/autoRun/opencodeOutput.d.ts.map +1 -0
- package/dist/autoRun/opencodeOutput.js +190 -0
- package/dist/autoRun/opencodeOutput.js.map +1 -0
- package/dist/autoRun/reviewResultContract.d.ts +8 -0
- package/dist/autoRun/reviewResultContract.d.ts.map +1 -0
- package/dist/autoRun/reviewResultContract.js +30 -0
- package/dist/autoRun/reviewResultContract.js.map +1 -0
- package/dist/autoRun/streamingExecutor.d.ts +21 -0
- package/dist/autoRun/streamingExecutor.d.ts.map +1 -0
- package/dist/autoRun/streamingExecutor.js +40 -0
- package/dist/autoRun/streamingExecutor.js.map +1 -0
- package/dist/autoRun/tmuxExecutor.d.ts +36 -0
- package/dist/autoRun/tmuxExecutor.d.ts.map +1 -0
- package/dist/autoRun/tmuxExecutor.js +203 -0
- package/dist/autoRun/tmuxExecutor.js.map +1 -0
- package/dist/autoRun/tmuxRunnerScript.d.ts +2 -0
- package/dist/autoRun/tmuxRunnerScript.d.ts.map +1 -0
- package/dist/autoRun/tmuxRunnerScript.js +72 -0
- package/dist/autoRun/tmuxRunnerScript.js.map +1 -0
- package/dist/desktop/canvasApi.d.ts +18 -0
- package/dist/desktop/canvasApi.d.ts.map +1 -0
- package/dist/desktop/canvasApi.js +214 -0
- package/dist/desktop/canvasApi.js.map +1 -0
- package/dist/desktop/canvasDiagnostics.d.ts +3 -0
- package/dist/desktop/canvasDiagnostics.d.ts.map +1 -0
- package/dist/desktop/canvasDiagnostics.js +21 -0
- package/dist/desktop/canvasDiagnostics.js.map +1 -0
- package/dist/desktop/canvasRegistry.d.ts +17 -0
- package/dist/desktop/canvasRegistry.d.ts.map +1 -0
- package/dist/desktop/canvasRegistry.js +51 -0
- package/dist/desktop/canvasRegistry.js.map +1 -0
- package/dist/desktop/fileSyncApi.d.ts +8 -0
- package/dist/desktop/fileSyncApi.d.ts.map +1 -0
- package/dist/desktop/fileSyncApi.js +186 -0
- package/dist/desktop/fileSyncApi.js.map +1 -0
- package/dist/desktop/graph/draftModel.d.ts +8 -0
- package/dist/desktop/graph/draftModel.d.ts.map +1 -0
- package/dist/desktop/graph/draftModel.js +75 -0
- package/dist/desktop/graph/draftModel.js.map +1 -0
- package/dist/desktop/graph/editModel.d.ts +16 -0
- package/dist/desktop/graph/editModel.d.ts.map +1 -0
- package/dist/desktop/graph/editModel.js +273 -0
- package/dist/desktop/graph/editModel.js.map +1 -0
- package/dist/desktop/graph/graphHelpers.d.ts +17 -0
- package/dist/desktop/graph/graphHelpers.d.ts.map +1 -0
- package/dist/desktop/graph/graphHelpers.js +95 -0
- package/dist/desktop/graph/graphHelpers.js.map +1 -0
- package/dist/desktop/graph/projectCanvasAggregation.d.ts +10 -0
- package/dist/desktop/graph/projectCanvasAggregation.d.ts.map +1 -0
- package/dist/desktop/graph/projectCanvasAggregation.js +19 -0
- package/dist/desktop/graph/projectCanvasAggregation.js.map +1 -0
- package/dist/desktop/graph/readModel.d.ts +7 -0
- package/dist/desktop/graph/readModel.d.ts.map +1 -0
- package/dist/desktop/graph/readModel.js +154 -0
- package/dist/desktop/graph/readModel.js.map +1 -0
- package/dist/desktop/graph/searchModel.d.ts +3 -0
- package/dist/desktop/graph/searchModel.d.ts.map +1 -0
- package/dist/desktop/graph/searchModel.js +128 -0
- package/dist/desktop/graph/searchModel.js.map +1 -0
- package/dist/desktop/graph/statisticsModel.d.ts +3 -0
- package/dist/desktop/graph/statisticsModel.d.ts.map +1 -0
- package/dist/desktop/graph/statisticsModel.js +121 -0
- package/dist/desktop/graph/statisticsModel.js.map +1 -0
- package/dist/desktop/graph/todoModel.d.ts +4 -0
- package/dist/desktop/graph/todoModel.d.ts.map +1 -0
- package/dist/desktop/graph/todoModel.js +88 -0
- package/dist/desktop/graph/todoModel.js.map +1 -0
- package/dist/desktop/graphApi.d.ts +7 -0
- package/dist/desktop/graphApi.d.ts.map +1 -0
- package/dist/desktop/graphApi.js +7 -0
- package/dist/desktop/graphApi.js.map +1 -0
- package/dist/desktop/index.d.ts +12 -0
- package/dist/desktop/index.d.ts.map +1 -0
- package/dist/desktop/index.js +10 -0
- package/dist/desktop/index.js.map +1 -0
- package/dist/desktop/layoutApi.d.ts +10 -0
- package/dist/desktop/layoutApi.d.ts.map +1 -0
- package/dist/desktop/layoutApi.js +191 -0
- package/dist/desktop/layoutApi.js.map +1 -0
- package/dist/desktop/projectApi.d.ts +10 -0
- package/dist/desktop/projectApi.d.ts.map +1 -0
- package/dist/desktop/projectApi.js +99 -0
- package/dist/desktop/projectApi.js.map +1 -0
- package/dist/desktop/recordsApi.d.ts +7 -0
- package/dist/desktop/recordsApi.d.ts.map +1 -0
- package/dist/desktop/recordsApi.js +188 -0
- package/dist/desktop/recordsApi.js.map +1 -0
- package/dist/desktop/reviewPipelineApi.d.ts +5 -0
- package/dist/desktop/reviewPipelineApi.d.ts.map +1 -0
- package/dist/desktop/reviewPipelineApi.js +189 -0
- package/dist/desktop/reviewPipelineApi.js.map +1 -0
- package/dist/desktop/runApi.d.ts +8 -0
- package/dist/desktop/runApi.d.ts.map +1 -0
- package/dist/desktop/runApi.js +180 -0
- package/dist/desktop/runApi.js.map +1 -0
- package/dist/desktop/runRecordOutput.d.ts +14 -0
- package/dist/desktop/runRecordOutput.d.ts.map +1 -0
- package/dist/desktop/runRecordOutput.js +31 -0
- package/dist/desktop/runRecordOutput.js.map +1 -0
- package/dist/desktop/runStateStore.d.ts +9 -0
- package/dist/desktop/runStateStore.d.ts.map +1 -0
- package/dist/desktop/runStateStore.js +38 -0
- package/dist/desktop/runStateStore.js.map +1 -0
- package/dist/desktop/runStepState.d.ts +16 -0
- package/dist/desktop/runStepState.d.ts.map +1 -0
- package/dist/desktop/runStepState.js +94 -0
- package/dist/desktop/runStepState.js.map +1 -0
- package/dist/desktop/types/bridgeTypes.d.ts +115 -0
- package/dist/desktop/types/bridgeTypes.d.ts.map +1 -0
- package/dist/desktop/types/bridgeTypes.js +2 -0
- package/dist/desktop/types/bridgeTypes.js.map +1 -0
- package/dist/desktop/types/graphTypes.d.ts +201 -0
- package/dist/desktop/types/graphTypes.d.ts.map +1 -0
- package/dist/desktop/types/graphTypes.js +2 -0
- package/dist/desktop/types/graphTypes.js.map +1 -0
- package/dist/desktop/types/projectTypes.d.ts +19 -0
- package/dist/desktop/types/projectTypes.d.ts.map +1 -0
- package/dist/desktop/types/projectTypes.js +2 -0
- package/dist/desktop/types/projectTypes.js.map +1 -0
- package/dist/desktop/types/recordsTypes.d.ts +50 -0
- package/dist/desktop/types/recordsTypes.d.ts.map +1 -0
- package/dist/desktop/types/recordsTypes.js +2 -0
- package/dist/desktop/types/recordsTypes.js.map +1 -0
- package/dist/desktop/types/reviewPipelineTypes.d.ts +35 -0
- package/dist/desktop/types/reviewPipelineTypes.d.ts.map +1 -0
- package/dist/desktop/types/reviewPipelineTypes.js +2 -0
- package/dist/desktop/types/reviewPipelineTypes.js.map +1 -0
- package/dist/desktop/types/runTypes.d.ts +35 -0
- package/dist/desktop/types/runTypes.d.ts.map +1 -0
- package/dist/desktop/types/runTypes.js +2 -0
- package/dist/desktop/types/runTypes.js.map +1 -0
- package/dist/desktop/types/syncTypes.d.ts +22 -0
- package/dist/desktop/types/syncTypes.d.ts.map +1 -0
- package/dist/desktop/types/syncTypes.js +2 -0
- package/dist/desktop/types/syncTypes.js.map +1 -0
- package/dist/desktop/types.d.ts +8 -0
- package/dist/desktop/types.d.ts.map +1 -0
- package/dist/desktop/types.js +2 -0
- package/dist/desktop/types.js.map +1 -0
- package/dist/graph/compileTaskGraph.d.ts +8 -0
- package/dist/graph/compileTaskGraph.d.ts.map +1 -0
- package/dist/graph/compileTaskGraph.js +311 -0
- package/dist/graph/compileTaskGraph.js.map +1 -0
- package/dist/graph/editGraph.d.ts +49 -0
- package/dist/graph/editGraph.d.ts.map +1 -0
- package/dist/graph/editGraph.js +224 -0
- package/dist/graph/editGraph.js.map +1 -0
- package/dist/graph/mutation.d.ts +62 -0
- package/dist/graph/mutation.d.ts.map +1 -0
- package/dist/graph/mutation.js +158 -0
- package/dist/graph/mutation.js.map +1 -0
- package/dist/graph/session/applyOperation.d.ts +3 -0
- package/dist/graph/session/applyOperation.d.ts.map +1 -0
- package/dist/graph/session/applyOperation.js +101 -0
- package/dist/graph/session/applyOperation.js.map +1 -0
- package/dist/graph/session/fileQueue.d.ts +5 -0
- package/dist/graph/session/fileQueue.d.ts.map +1 -0
- package/dist/graph/session/fileQueue.js +26 -0
- package/dist/graph/session/fileQueue.js.map +1 -0
- package/dist/graph/session/graphIndexes.d.ts +15 -0
- package/dist/graph/session/graphIndexes.d.ts.map +1 -0
- package/dist/graph/session/graphIndexes.js +174 -0
- package/dist/graph/session/graphIndexes.js.map +1 -0
- package/dist/graph/session/manifestDiff.d.ts +3 -0
- package/dist/graph/session/manifestDiff.d.ts.map +1 -0
- package/dist/graph/session/manifestDiff.js +39 -0
- package/dist/graph/session/manifestDiff.js.map +1 -0
- package/dist/graph/session/rebuild.d.ts +4 -0
- package/dist/graph/session/rebuild.d.ts.map +1 -0
- package/dist/graph/session/rebuild.js +20 -0
- package/dist/graph/session/rebuild.js.map +1 -0
- package/dist/graph/session.d.ts +6 -0
- package/dist/graph/session.d.ts.map +1 -0
- package/dist/graph/session.js +97 -0
- package/dist/graph/session.js.map +1 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/dist/initWorkspace.d.ts +9 -0
- package/dist/initWorkspace.d.ts.map +1 -0
- package/dist/initWorkspace.js +108 -0
- package/dist/initWorkspace.js.map +1 -0
- package/dist/json.d.ts +3 -0
- package/dist/json.d.ts.map +1 -0
- package/dist/json.js +20 -0
- package/dist/json.js.map +1 -0
- package/dist/package/fileChanges.d.ts +14 -0
- package/dist/package/fileChanges.d.ts.map +1 -0
- package/dist/package/fileChanges.js +134 -0
- package/dist/package/fileChanges.js.map +1 -0
- package/dist/package/loadPackage.d.ts +8 -0
- package/dist/package/loadPackage.d.ts.map +1 -0
- package/dist/package/loadPackage.js +14 -0
- package/dist/package/loadPackage.js.map +1 -0
- package/dist/package/manifestEdit.d.ts +4 -0
- package/dist/package/manifestEdit.d.ts.map +1 -0
- package/dist/package/manifestEdit.js +198 -0
- package/dist/package/manifestEdit.js.map +1 -0
- package/dist/package/orphans.d.ts +6 -0
- package/dist/package/orphans.d.ts.map +1 -0
- package/dist/package/orphans.js +38 -0
- package/dist/package/orphans.js.map +1 -0
- package/dist/package/readMarkdown.d.ts +2 -0
- package/dist/package/readMarkdown.d.ts.map +1 -0
- package/dist/package/readMarkdown.js +5 -0
- package/dist/package/readMarkdown.js.map +1 -0
- package/dist/package/resolvePackagePath.d.ts +8 -0
- package/dist/package/resolvePackagePath.d.ts.map +1 -0
- package/dist/package/resolvePackagePath.js +56 -0
- package/dist/package/resolvePackagePath.js.map +1 -0
- package/dist/paths.d.ts +4 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +28 -0
- package/dist/paths.js.map +1 -0
- package/dist/project.d.ts +4 -0
- package/dist/project.d.ts.map +1 -0
- package/dist/project.js +35 -0
- package/dist/project.js.map +1 -0
- package/dist/projectId.d.ts +2 -0
- package/dist/projectId.d.ts.map +1 -0
- package/dist/projectId.js +16 -0
- package/dist/projectId.js.map +1 -0
- package/dist/projectPromptPolicy.d.ts +9 -0
- package/dist/projectPromptPolicy.d.ts.map +1 -0
- package/dist/projectPromptPolicy.js +73 -0
- package/dist/projectPromptPolicy.js.map +1 -0
- package/dist/prompt/getPrompt.d.ts +6 -0
- package/dist/prompt/getPrompt.d.ts.map +1 -0
- package/dist/prompt/getPrompt.js +5 -0
- package/dist/prompt/getPrompt.js.map +1 -0
- package/dist/prompt/refreshPrompt.d.ts +6 -0
- package/dist/prompt/refreshPrompt.d.ts.map +1 -0
- package/dist/prompt/refreshPrompt.js +9 -0
- package/dist/prompt/refreshPrompt.js.map +1 -0
- package/dist/prompt/refreshPrompts.d.ts +5 -0
- package/dist/prompt/refreshPrompts.d.ts.map +1 -0
- package/dist/prompt/refreshPrompts.js +17 -0
- package/dist/prompt/refreshPrompts.js.map +1 -0
- package/dist/prompt/renderManagedSections.d.ts +3 -0
- package/dist/prompt/renderManagedSections.d.ts.map +1 -0
- package/dist/prompt/renderManagedSections.js +4 -0
- package/dist/prompt/renderManagedSections.js.map +1 -0
- package/dist/prompt/sections.d.ts +15 -0
- package/dist/prompt/sections.d.ts.map +1 -0
- package/dist/prompt/sections.js +62 -0
- package/dist/prompt/sections.js.map +1 -0
- package/dist/schema/manifest.d.ts +192 -0
- package/dist/schema/manifest.d.ts.map +1 -0
- package/dist/schema/manifest.js +178 -0
- package/dist/schema/manifest.js.map +1 -0
- package/dist/state.d.ts +7 -0
- package/dist/state.d.ts.map +1 -0
- package/dist/state.js +139 -0
- package/dist/state.js.map +1 -0
- package/dist/taskManager/autoRun.d.ts +16 -0
- package/dist/taskManager/autoRun.d.ts.map +1 -0
- package/dist/taskManager/autoRun.js +228 -0
- package/dist/taskManager/autoRun.js.map +1 -0
- package/dist/taskManager/blockStatusMutations.d.ts +42 -0
- package/dist/taskManager/blockStatusMutations.d.ts.map +1 -0
- package/dist/taskManager/blockStatusMutations.js +88 -0
- package/dist/taskManager/blockStatusMutations.js.map +1 -0
- package/dist/taskManager/blockSubmission.d.ts +9 -0
- package/dist/taskManager/blockSubmission.d.ts.map +1 -0
- package/dist/taskManager/blockSubmission.js +124 -0
- package/dist/taskManager/blockSubmission.js.map +1 -0
- package/dist/taskManager/claimScheduler.d.ts +26 -0
- package/dist/taskManager/claimScheduler.d.ts.map +1 -0
- package/dist/taskManager/claimScheduler.js +286 -0
- package/dist/taskManager/claimScheduler.js.map +1 -0
- package/dist/taskManager/doctor.d.ts +6 -0
- package/dist/taskManager/doctor.d.ts.map +1 -0
- package/dist/taskManager/doctor.js +141 -0
- package/dist/taskManager/doctor.js.map +1 -0
- package/dist/taskManager/executionStatus.d.ts +74 -0
- package/dist/taskManager/executionStatus.d.ts.map +1 -0
- package/dist/taskManager/executionStatus.js +180 -0
- package/dist/taskManager/executionStatus.js.map +1 -0
- package/dist/taskManager/executorApi.d.ts +9 -0
- package/dist/taskManager/executorApi.d.ts.map +1 -0
- package/dist/taskManager/executorApi.js +87 -0
- package/dist/taskManager/executorApi.js.map +1 -0
- package/dist/taskManager/feedbackArtifacts.d.ts +14 -0
- package/dist/taskManager/feedbackArtifacts.d.ts.map +1 -0
- package/dist/taskManager/feedbackArtifacts.js +17 -0
- package/dist/taskManager/feedbackArtifacts.js.map +1 -0
- package/dist/taskManager/feedbackSubmission.d.ts +7 -0
- package/dist/taskManager/feedbackSubmission.d.ts.map +1 -0
- package/dist/taskManager/feedbackSubmission.js +136 -0
- package/dist/taskManager/feedbackSubmission.js.map +1 -0
- package/dist/taskManager/index.d.ts +12 -0
- package/dist/taskManager/index.d.ts.map +1 -0
- package/dist/taskManager/index.js +11 -0
- package/dist/taskManager/index.js.map +1 -0
- package/dist/taskManager/promptRenderer.d.ts +29 -0
- package/dist/taskManager/promptRenderer.d.ts.map +1 -0
- package/dist/taskManager/promptRenderer.js +191 -0
- package/dist/taskManager/promptRenderer.js.map +1 -0
- package/dist/taskManager/resultIndex.d.ts +15 -0
- package/dist/taskManager/resultIndex.d.ts.map +1 -0
- package/dist/taskManager/resultIndex.js +61 -0
- package/dist/taskManager/resultIndex.js.map +1 -0
- package/dist/taskManager/reviewHook.d.ts +10 -0
- package/dist/taskManager/reviewHook.d.ts.map +1 -0
- package/dist/taskManager/reviewHook.js +49 -0
- package/dist/taskManager/reviewHook.js.map +1 -0
- package/dist/taskManager/reviewRetry.d.ts +13 -0
- package/dist/taskManager/reviewRetry.d.ts.map +1 -0
- package/dist/taskManager/reviewRetry.js +112 -0
- package/dist/taskManager/reviewRetry.js.map +1 -0
- package/dist/taskManager/reviewSubmission.d.ts +8 -0
- package/dist/taskManager/reviewSubmission.d.ts.map +1 -0
- package/dist/taskManager/reviewSubmission.js +444 -0
- package/dist/taskManager/reviewSubmission.js.map +1 -0
- package/dist/taskManager/runtimeContext.d.ts +16 -0
- package/dist/taskManager/runtimeContext.d.ts.map +1 -0
- package/dist/taskManager/runtimeContext.js +31 -0
- package/dist/taskManager/runtimeContext.js.map +1 -0
- package/dist/taskManager/selectors.d.ts +20 -0
- package/dist/taskManager/selectors.d.ts.map +1 -0
- package/dist/taskManager/selectors.js +148 -0
- package/dist/taskManager/selectors.js.map +1 -0
- package/dist/tasks/dependencies.d.ts +5 -0
- package/dist/tasks/dependencies.d.ts.map +1 -0
- package/dist/tasks/dependencies.js +11 -0
- package/dist/tasks/dependencies.js.map +1 -0
- package/dist/tasks/parallelSafety.d.ts +3 -0
- package/dist/tasks/parallelSafety.d.ts.map +1 -0
- package/dist/tasks/parallelSafety.js +18 -0
- package/dist/tasks/parallelSafety.js.map +1 -0
- package/dist/types.d.ts +675 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +11 -0
- package/dist/types.js.map +1 -0
- package/dist/validatePackage.d.ts +5 -0
- package/dist/validatePackage.d.ts.map +1 -0
- package/dist/validatePackage.js +130 -0
- package/dist/validatePackage.js.map +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { parseBlockRef } from "../graph/compileTaskGraph.js";
|
|
3
|
+
export function getTask(graph, taskId) {
|
|
4
|
+
const task = graph.tasksById.get(taskId);
|
|
5
|
+
if (!task) {
|
|
6
|
+
throw new Error(`Task '${taskId}' does not exist.`);
|
|
7
|
+
}
|
|
8
|
+
return task;
|
|
9
|
+
}
|
|
10
|
+
export function getBlock(graph, ref) {
|
|
11
|
+
const block = graph.blocksByRef.get(ref);
|
|
12
|
+
if (!block) {
|
|
13
|
+
throw new Error(`Block '${ref}' does not exist.`);
|
|
14
|
+
}
|
|
15
|
+
return block;
|
|
16
|
+
}
|
|
17
|
+
export function taskDependenciesSatisfied(graph, state, taskId) {
|
|
18
|
+
return (graph.taskDependenciesByTask.get(taskId) ?? []).every((dependency) => state.tasks[dependency]?.status === "implemented");
|
|
19
|
+
}
|
|
20
|
+
export function blockDependenciesCompleted(graph, state, ref) {
|
|
21
|
+
return (graph.blockDependenciesByRef.get(ref) ?? []).every((dependency) => state.blocks[dependency]?.status === "completed");
|
|
22
|
+
}
|
|
23
|
+
export function isActiveFeedbackStatus(status) {
|
|
24
|
+
return status === "open" || status === "in_progress";
|
|
25
|
+
}
|
|
26
|
+
export function activeOpenFeedback(state) {
|
|
27
|
+
return Object.entries(state.feedback).filter(([, feedback]) => isActiveFeedbackStatus(feedback.status));
|
|
28
|
+
}
|
|
29
|
+
export function claimResultForBlock(ref, graph, reason) {
|
|
30
|
+
const { taskId, blockId } = parseBlockRef(ref);
|
|
31
|
+
const block = getBlock(graph, ref);
|
|
32
|
+
return {
|
|
33
|
+
kind: "block",
|
|
34
|
+
ref,
|
|
35
|
+
taskId,
|
|
36
|
+
blockId,
|
|
37
|
+
blockType: block.type,
|
|
38
|
+
reason
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export function normalizeClaimScope(scope) {
|
|
42
|
+
return scope ?? { kind: "project" };
|
|
43
|
+
}
|
|
44
|
+
export function validateClaimScope(scope, graph) {
|
|
45
|
+
if (scope.kind === "task" && !graph.tasksById.has(scope.taskId)) {
|
|
46
|
+
return { kind: "blocked", reason: `Task '${scope.taskId}' does not exist.` };
|
|
47
|
+
}
|
|
48
|
+
if (scope.kind === "block" && !graph.blocksByRef.has(scope.blockRef)) {
|
|
49
|
+
return { kind: "blocked", reason: `Block '${scope.blockRef}' does not exist.` };
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
export function blockInScope(ref, graph, scope) {
|
|
54
|
+
if (scope.kind === "project") {
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
if (scope.kind === "block") {
|
|
58
|
+
return ref === scope.blockRef;
|
|
59
|
+
}
|
|
60
|
+
return graph.blockTaskByRef.get(ref) === scope.taskId;
|
|
61
|
+
}
|
|
62
|
+
export function feedbackInScope(feedback, graph, scope) {
|
|
63
|
+
return blockInScope(feedback.sourceReviewBlockRef, graph, scope);
|
|
64
|
+
}
|
|
65
|
+
export function requiredImplementationRefs(graph, taskId) {
|
|
66
|
+
return (graph.blocksByTask.get(taskId) ?? []).filter((ref) => {
|
|
67
|
+
const block = graph.blocksByRef.get(ref);
|
|
68
|
+
return block?.type === "implementation";
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
export function requiredReviewRefs(graph, taskId) {
|
|
72
|
+
return (graph.blocksByTask.get(taskId) ?? []).filter((ref) => {
|
|
73
|
+
const block = graph.blocksByRef.get(ref);
|
|
74
|
+
return block?.type === "review" && block.review.required;
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
export function computeWorkRevision(graph, state, reviewBlockRef) {
|
|
78
|
+
const taskId = graph.blockTaskByRef.get(reviewBlockRef);
|
|
79
|
+
if (!taskId) {
|
|
80
|
+
throw new Error(`Review block '${reviewBlockRef}' does not belong to a task.`);
|
|
81
|
+
}
|
|
82
|
+
const material = {
|
|
83
|
+
runs: requiredImplementationRefs(graph, taskId).map((ref) => [ref, state.blocks[ref]?.lastRunId ?? null]),
|
|
84
|
+
feedback: Object.entries(state.feedback)
|
|
85
|
+
.filter(([, feedback]) => feedback.sourceReviewBlockRef === reviewBlockRef)
|
|
86
|
+
.map(([feedbackId, feedback]) => [feedbackId, feedback.latestSubmissionId])
|
|
87
|
+
};
|
|
88
|
+
return `rev-${createHash("sha256").update(JSON.stringify(material)).digest("hex").slice(0, 12)}`;
|
|
89
|
+
}
|
|
90
|
+
export function canClaimReviewBlock(graph, state, ref) {
|
|
91
|
+
const block = graph.blocksByRef.get(ref);
|
|
92
|
+
if (block?.type !== "review" || !block.review.required) {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
const taskId = graph.blockTaskByRef.get(ref);
|
|
96
|
+
if (!taskId) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
if (activeOpenFeedback(state).some(([, feedback]) => graph.blockTaskByRef.get(feedback.sourceReviewBlockRef) === taskId)) {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
if (!requiredImplementationRefs(graph, taskId).every((blockRef) => state.blocks[blockRef]?.status === "completed")) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
const workRevision = computeWorkRevision(graph, state, ref);
|
|
106
|
+
return state.blocks[ref]?.passedWorkRevision !== workRevision;
|
|
107
|
+
}
|
|
108
|
+
function refsConflict(graph, leftRef, rightRef) {
|
|
109
|
+
if (leftRef === rightRef) {
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
const leftTaskId = graph.blockTaskByRef.get(leftRef);
|
|
113
|
+
const rightTaskId = graph.blockTaskByRef.get(rightRef);
|
|
114
|
+
if (!leftTaskId || !rightTaskId) {
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
if (leftTaskId === rightTaskId || graph.taskReachable(leftTaskId, rightTaskId) || graph.taskReachable(rightTaskId, leftTaskId)) {
|
|
118
|
+
return true;
|
|
119
|
+
}
|
|
120
|
+
const leftLocks = new Set(graph.locksByBlockRef.get(leftRef) ?? []);
|
|
121
|
+
return (graph.locksByBlockRef.get(rightRef) ?? []).some((lock) => leftLocks.has(lock));
|
|
122
|
+
}
|
|
123
|
+
export function canDispatchImplementationBlock(graph, state, ref) {
|
|
124
|
+
const taskId = graph.blockTaskByRef.get(ref);
|
|
125
|
+
const block = graph.blocksByRef.get(ref);
|
|
126
|
+
if (!taskId || block?.type !== "implementation") {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
if (!graph.parallelSafeByBlockRef.get(ref) || state.blocks[ref]?.status !== "ready") {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
if (!taskDependenciesSatisfied(graph, state, taskId) || !blockDependenciesCompleted(graph, state, ref)) {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
return state.currentRefs.every((currentRef) => state.blocks[currentRef]?.status !== "in_progress" || !refsConflict(graph, ref, currentRef));
|
|
136
|
+
}
|
|
137
|
+
export function markClaimed(state, ref, graph) {
|
|
138
|
+
state.blocks[ref] = { ...state.blocks[ref], status: "in_progress" };
|
|
139
|
+
state.currentRefs = [ref];
|
|
140
|
+
const block = getBlock(graph, ref);
|
|
141
|
+
if (block.type === "review") {
|
|
142
|
+
state.currentReviewBlockRef = ref;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
export function openFeedbackForReview(state, reviewBlockRef) {
|
|
146
|
+
return (Object.entries(state.feedback).find(([, feedback]) => feedback.sourceReviewBlockRef === reviewBlockRef && (feedback.status === "open" || feedback.status === "in_progress")) ?? null);
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=selectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../src/taskManager/selectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAY7D,MAAM,UAAU,OAAO,CAAC,KAA6B,EAAE,MAAc;IACnE,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,mBAAmB,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAA6B,EAAE,GAAW;IACjE,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,mBAAmB,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAA6B,EAAE,KAAmB,EAAE,MAAc;IAC1G,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,aAAa,CAAC,CAAC;AACnI,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAA6B,EAAE,KAAmB,EAAE,GAAW;IACxG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,WAAW,CAAC,CAAC;AAC/H,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAkC;IACvE,OAAO,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,aAAa,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAmB;IACpD,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1G,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,GAAW,EACX,KAA6B,EAC7B,MAAkE;IAElE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACnC,OAAO;QACL,IAAI,EAAE,OAAO;QACb,GAAG;QACH,MAAM;QACN,OAAO;QACP,SAAS,EAAE,KAAK,CAAC,IAAI;QACrB,MAAM;KACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAkB;IACpD,OAAO,KAAK,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAiB,EAAE,KAA6B;IACjF,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,KAAK,CAAC,MAAM,mBAAmB,EAAE,CAAC;IAC/E,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,KAAK,CAAC,QAAQ,mBAAmB,EAAE,CAAC;IAClF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,KAA6B,EAAE,KAAiB;IACxF,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,GAAG,KAAK,KAAK,CAAC,QAAQ,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAA+B,EAAE,KAA6B,EAAE,KAAiB;IAC/G,OAAO,YAAY,CAAC,QAAQ,CAAC,oBAAoB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAA6B,EAAE,MAAc;IACtF,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3D,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,OAAO,KAAK,EAAE,IAAI,KAAK,gBAAgB,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAA6B,EAAE,MAAc;IAC9E,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3D,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,OAAO,KAAK,EAAE,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAA6B,EAAE,KAAmB,EAAE,cAAsB;IAC5G,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,cAAc,8BAA8B,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,QAAQ,GAAG;QACf,IAAI,EAAE,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC;QACzG,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;aACrC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,oBAAoB,KAAK,cAAc,CAAC;aAC1E,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;KAC9E,CAAC;IACF,OAAO,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAA6B,EAAE,KAAmB,EAAE,GAAW;IACjG,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,KAAK,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC;QACzH,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,WAAW,CAAC,EAAE,CAAC;QACnH,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,kBAAkB,KAAK,YAAY,CAAC;AAChE,CAAC;AAED,SAAS,YAAY,CAAC,KAA6B,EAAE,OAAe,EAAE,QAAgB;IACpF,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,UAAU,KAAK,WAAW,IAAI,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,CAAC;QAC/H,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACpE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,KAA6B,EAAE,KAAmB,EAAE,GAAW;IAC5G,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,EAAE,CAAC;QACpF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;QACvG,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,aAAa,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;AAC9I,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAmB,EAAE,GAAW,EAAE,KAA6B;IACzF,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACpE,KAAK,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,KAAK,CAAC,qBAAqB,GAAG,GAAG,CAAC;IACpC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAmB,EAAE,cAAsB;IAC/E,OAAO,CACL,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,oBAAoB,KAAK,cAAc,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,aAAa,CAAC,CACxI,IAAI,IAAI,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { CompiledExecutionGraph, PlanPackageManifest } from "../types.js";
|
|
2
|
+
export declare function dependencyIds(manifest: PlanPackageManifest, taskId: string, graph?: CompiledExecutionGraph): string[];
|
|
3
|
+
export declare function hasDependencyPath(manifest: PlanPackageManifest, fromTaskId: string, toTaskId: string, graph?: CompiledExecutionGraph): boolean;
|
|
4
|
+
export declare function tasksHaveDependencyRelationship(manifest: PlanPackageManifest, left: string, right: string, graph?: CompiledExecutionGraph): boolean;
|
|
5
|
+
//# sourceMappingURL=dependencies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../src/tasks/dependencies.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE/E,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,sBAAmD,GACzD,MAAM,EAAE,CAEV;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,mBAAmB,EAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,sBAAmD,GACzD,OAAO,CAET;AAED,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,sBAAmD,GACzD,OAAO,CAET"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { compileTaskGraph } from "../graph/compileTaskGraph.js";
|
|
2
|
+
export function dependencyIds(manifest, taskId, graph = compileTaskGraph(manifest)) {
|
|
3
|
+
return graph.taskDependenciesByTask.get(taskId) ?? [];
|
|
4
|
+
}
|
|
5
|
+
export function hasDependencyPath(manifest, fromTaskId, toTaskId, graph = compileTaskGraph(manifest)) {
|
|
6
|
+
return graph.taskReachable(fromTaskId, toTaskId);
|
|
7
|
+
}
|
|
8
|
+
export function tasksHaveDependencyRelationship(manifest, left, right, graph = compileTaskGraph(manifest)) {
|
|
9
|
+
return hasDependencyPath(manifest, left, right, graph) || hasDependencyPath(manifest, right, left, graph);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=dependencies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/tasks/dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,MAAM,UAAU,aAAa,CAC3B,QAA6B,EAC7B,MAAc,EACd,QAAgC,gBAAgB,CAAC,QAAQ,CAAC;IAE1D,OAAO,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,QAA6B,EAC7B,UAAkB,EAClB,QAAgB,EAChB,QAAgC,gBAAgB,CAAC,QAAQ,CAAC;IAE1D,OAAO,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,QAA6B,EAC7B,IAAY,EACZ,KAAa,EACb,QAAgC,gBAAgB,CAAC,QAAQ,CAAC;IAE1D,OAAO,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC5G,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { CompiledExecutionGraph, PlanPackageManifest } from "../types.js";
|
|
2
|
+
export declare function canShareParallelBatch(manifest: PlanPackageManifest, selected: string[], candidateRef: string, graph?: CompiledExecutionGraph): boolean;
|
|
3
|
+
//# sourceMappingURL=parallelSafety.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parallelSafety.d.ts","sourceRoot":"","sources":["../../src/tasks/parallelSafety.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE/E,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,mBAAmB,EAC7B,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,EAAE,MAAM,EACpB,KAAK,GAAE,sBAAmD,GACzD,OAAO,CAiBT"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { compileTaskGraph } from "../graph/compileTaskGraph.js";
|
|
2
|
+
export function canShareParallelBatch(manifest, selected, candidateRef, graph = compileTaskGraph(manifest)) {
|
|
3
|
+
if (!graph.parallelSafeByBlockRef.get(candidateRef)) {
|
|
4
|
+
return false;
|
|
5
|
+
}
|
|
6
|
+
const candidateTask = graph.blockTaskByRef.get(candidateRef);
|
|
7
|
+
const candidateLocks = new Set(graph.locksByBlockRef.get(candidateRef) ?? []);
|
|
8
|
+
return selected.every((selectedRef) => {
|
|
9
|
+
const selectedTask = graph.blockTaskByRef.get(selectedRef);
|
|
10
|
+
if (candidateTask &&
|
|
11
|
+
selectedTask &&
|
|
12
|
+
(graph.taskReachable(candidateTask, selectedTask) || graph.taskReachable(selectedTask, candidateTask))) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
return !(graph.locksByBlockRef.get(selectedRef) ?? []).some((lock) => candidateLocks.has(lock));
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=parallelSafety.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parallelSafety.js","sourceRoot":"","sources":["../../src/tasks/parallelSafety.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,MAAM,UAAU,qBAAqB,CACnC,QAA6B,EAC7B,QAAkB,EAClB,YAAoB,EACpB,QAAgC,gBAAgB,CAAC,QAAQ,CAAC;IAE1D,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9E,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE;QACpC,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3D,IACE,aAAa;YACb,YAAY;YACZ,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,YAAY,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,EACtG,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;AACL,CAAC"}
|