@agimon-ai/doompi-task 0.0.1-alpha.12 → 0.0.1-alpha.121
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/README.md +123 -15
- package/dist/apiContracts.cjs +54 -0
- package/dist/apiContracts.cjs.map +1 -0
- package/dist/apiContracts.d.mts +53 -0
- package/dist/apiContracts.d.mts.map +1 -0
- package/dist/apiContracts.mjs +49 -0
- package/dist/apiContracts.mjs.map +1 -0
- package/dist/commands.cjs +4 -1
- package/dist/commands.d.mts +20 -2
- package/dist/commands.d.mts.map +1 -0
- package/dist/commands.mjs +2 -1
- package/dist/config-BPNE_wEU.cjs +173 -0
- package/dist/config-BPNE_wEU.cjs.map +1 -0
- package/dist/config-DmsCPDuF.mjs +72 -0
- package/dist/config-DmsCPDuF.mjs.map +1 -0
- package/dist/config.cjs +19 -1
- package/dist/config.d.mts +2 -2
- package/dist/config.mjs +2 -1
- package/dist/delegation-3hMdTFXF.cjs +661 -0
- package/dist/delegation-3hMdTFXF.cjs.map +1 -0
- package/dist/delegation-BiOy3_7g.mjs +7 -0
- package/dist/delegation-BiOy3_7g.mjs.map +1 -0
- package/dist/delegation-CkGbRaOl.mjs +626 -0
- package/dist/delegation-CkGbRaOl.mjs.map +1 -0
- package/dist/delegation-LDpHP2CC.cjs +12 -0
- package/dist/delegation-LDpHP2CC.cjs.map +1 -0
- package/dist/delegation-Ot2xltLi.d.mts +6 -0
- package/dist/delegation-Ot2xltLi.d.mts.map +1 -0
- package/dist/delegationManager.cjs +10 -0
- package/dist/delegationManager.d.mts +3 -0
- package/dist/delegationManager.mjs +3 -0
- package/dist/delegationPlatform-Cfn-Lqew.cjs +95 -0
- package/dist/delegationPlatform-Cfn-Lqew.cjs.map +1 -0
- package/dist/delegationPlatform-DZ4SZ8a5.mjs +64 -0
- package/dist/delegationPlatform-DZ4SZ8a5.mjs.map +1 -0
- package/dist/extensions/mcp-ui.mjs +23 -0
- package/dist/extensions/mcp-ui.mjs.map +1 -0
- package/dist/extensions/mcp.cjs +1876 -0
- package/dist/extensions/mcp.cjs.map +1 -0
- package/dist/extensions/mcp.d.mts +5 -0
- package/dist/extensions/mcp.d.mts.map +1 -0
- package/dist/extensions/mcp.mjs +1846 -0
- package/dist/extensions/mcp.mjs.map +1 -0
- package/dist/extensions/pi.cjs +437 -1
- package/dist/extensions/pi.cjs.map +1 -1
- package/dist/extensions/pi.d.mts +5 -2
- package/dist/extensions/pi.d.mts.map +1 -0
- package/dist/extensions/pi.mjs +432 -1
- package/dist/extensions/pi.mjs.map +1 -1
- package/dist/extensions/server.cjs +380 -0
- package/dist/extensions/server.cjs.map +1 -0
- package/dist/extensions/server.d.mts +5 -0
- package/dist/extensions/server.d.mts.map +1 -0
- package/dist/extensions/server.mjs +375 -0
- package/dist/extensions/server.mjs.map +1 -0
- package/dist/extensions/web.mjs +1013 -0
- package/dist/extensions/web.mjs.map +1 -0
- package/dist/format.cli-ChQsP1MQ.cjs +393 -0
- package/dist/format.cli-ChQsP1MQ.cjs.map +1 -0
- package/dist/format.cli-Cnc591eb.mjs +322 -0
- package/dist/format.cli-Cnc591eb.mjs.map +1 -0
- package/dist/{services/delegation/manager.d.mts → index-3-3ZJlaH.d.mts} +35 -31
- package/dist/index-3-3ZJlaH.d.mts.map +1 -0
- package/dist/{adapters/store/taskStore.d.cts → index-B7oVjSey.d.mts} +11 -28
- package/dist/index-B7oVjSey.d.mts.map +1 -0
- package/dist/{services/store/reconcile.d.cts → index-BNMm9g0K.d.mts} +4 -4
- package/dist/index-BNMm9g0K.d.mts.map +1 -0
- package/dist/{commands/task/responseEnvelope.d.cts → index-C3DgOhEm.d.mts} +17 -5
- package/dist/index-C3DgOhEm.d.mts.map +1 -0
- package/dist/{types/config.d.cts → index-D4goIk4Z.d.mts} +8 -3
- package/dist/index-D4goIk4Z.d.mts.map +1 -0
- package/dist/{services/store/reducer.d.cts → index-DIpc6_uJ.d.mts} +5 -5
- package/dist/index-DIpc6_uJ.d.mts.map +1 -0
- package/dist/{adapters/store/paths.d.cts → index-XY9VPmfm.d.mts} +6 -6
- package/dist/index-XY9VPmfm.d.mts.map +1 -0
- package/dist/index.cjs +106 -1
- package/dist/index.d.mts +16 -16
- package/dist/index.mjs +16 -1
- package/dist/invariants-DhjEjBPU.cjs +79 -0
- package/dist/invariants-DhjEjBPU.cjs.map +1 -0
- package/dist/invariants-q_UamF7D.mjs +62 -0
- package/dist/invariants-q_UamF7D.mjs.map +1 -0
- package/dist/logSinkTelemetry-C5QjZipw.mjs +41 -0
- package/dist/logSinkTelemetry-C5QjZipw.mjs.map +1 -0
- package/dist/logSinkTelemetry-CqiTuh3a.cjs +52 -0
- package/dist/logSinkTelemetry-CqiTuh3a.cjs.map +1 -0
- package/dist/logSinkTelemetry.cjs +6 -1
- package/dist/logSinkTelemetry.d.mts +23 -2
- package/dist/logSinkTelemetry.d.mts.map +1 -0
- package/dist/logSinkTelemetry.mjs +3 -1
- package/dist/paths-Bg8EEbk1.mjs +218 -0
- package/dist/paths-Bg8EEbk1.mjs.map +1 -0
- package/dist/paths-BsFVRulr.cjs +320 -0
- package/dist/paths-BsFVRulr.cjs.map +1 -0
- package/dist/processLiveness-Ccd9wenT.mjs +20 -0
- package/dist/processLiveness-Ccd9wenT.mjs.map +1 -0
- package/dist/processLiveness-umpNgsPR.cjs +25 -0
- package/dist/processLiveness-umpNgsPR.cjs.map +1 -0
- package/dist/promptGuidelines-DaxWrqud.d.mts +14 -0
- package/dist/promptGuidelines-DaxWrqud.d.mts.map +1 -0
- package/dist/promptGuidelines-g4QT8GNM.mjs +26 -0
- package/dist/promptGuidelines-g4QT8GNM.mjs.map +1 -0
- package/dist/promptGuidelines-j_SZTzlH.cjs +31 -0
- package/dist/promptGuidelines-j_SZTzlH.cjs.map +1 -0
- package/dist/reconcile-BcD-hTbd.mjs +63 -0
- package/dist/reconcile-BcD-hTbd.mjs.map +1 -0
- package/dist/reconcile-cRL0NjDr.cjs +80 -0
- package/dist/reconcile-cRL0NjDr.cjs.map +1 -0
- package/dist/reducer-BEfJFM5L.mjs +345 -0
- package/dist/reducer-BEfJFM5L.mjs.map +1 -0
- package/dist/reducer-BV0YIZ2o.cjs +380 -0
- package/dist/reducer-BV0YIZ2o.cjs.map +1 -0
- package/dist/root.cli-swHZqusx.d.mts +56 -0
- package/dist/root.cli-swHZqusx.d.mts.map +1 -0
- package/dist/selectors-BaS6dObz.mjs +142 -0
- package/dist/selectors-BaS6dObz.mjs.map +1 -0
- package/dist/{tui/selectors.d.cts → selectors-DPDPPjH3.d.mts} +11 -4
- package/dist/selectors-DPDPPjH3.d.mts.map +1 -0
- package/dist/selectors-b-69vb4W.cjs +189 -0
- package/dist/selectors-b-69vb4W.cjs.map +1 -0
- package/dist/storeInvariants.cjs +5 -0
- package/dist/storeInvariants.d.mts +23 -0
- package/dist/storeInvariants.d.mts.map +1 -0
- package/dist/storeInvariants.mjs +2 -0
- package/dist/storePaths.cjs +14 -0
- package/dist/storePaths.d.mts +2 -0
- package/dist/storePaths.mjs +2 -0
- package/dist/storeProcessLiveness.cjs +3 -0
- package/dist/{services/store/processLiveness.d.cts → storeProcessLiveness.d.mts} +3 -4
- package/dist/storeProcessLiveness.d.mts.map +1 -0
- package/dist/storeProcessLiveness.mjs +2 -0
- package/dist/storeReconcile.cjs +5 -0
- package/dist/storeReconcile.d.mts +2 -0
- package/dist/storeReconcile.mjs +2 -0
- package/dist/storeReducer.cjs +8 -0
- package/dist/storeReducer.d.mts +2 -0
- package/dist/storeReducer.mjs +2 -0
- package/dist/storeTaskGraph.cjs +7 -0
- package/dist/storeTaskGraph.d.mts +2 -0
- package/dist/storeTaskGraph.mjs +2 -0
- package/dist/storeTaskStore.cjs +3 -0
- package/dist/storeTaskStore.d.mts +2 -0
- package/dist/storeTaskStore.mjs +2 -0
- package/dist/storeTypes.cjs +6 -0
- package/dist/storeTypes.d.mts +2 -0
- package/dist/storeTypes.mjs +2 -0
- package/dist/task-B4aF5J9s.mjs +6 -0
- package/dist/task-B4aF5J9s.mjs.map +1 -0
- package/dist/task-CXF9VULl.cjs +49 -0
- package/dist/task-CXF9VULl.cjs.map +1 -0
- package/dist/task-CkFjC3Fo.d.mts +5 -0
- package/dist/task-CkFjC3Fo.d.mts.map +1 -0
- package/dist/{schemas/task.d.mts → task-DHSvdK6E.d.mts} +33 -17
- package/dist/task-DHSvdK6E.d.mts.map +1 -0
- package/dist/task-DKHKuems.mjs +116 -0
- package/dist/task-DKHKuems.mjs.map +1 -0
- package/dist/task-DaagqdPK.cjs +11 -0
- package/dist/task-DaagqdPK.cjs.map +1 -0
- package/dist/task-Dqy88_rr.cjs +193 -0
- package/dist/task-Dqy88_rr.cjs.map +1 -0
- package/dist/task-giCbpKzV.mjs +26 -0
- package/dist/task-giCbpKzV.mjs.map +1 -0
- package/dist/{services/store/types.d.mts → task-hLh4BOO7.d.mts} +37 -15
- package/dist/task-hLh4BOO7.d.mts.map +1 -0
- package/dist/task-space.cli-BH4Iy_7m.cjs +372 -0
- package/dist/task-space.cli-BH4Iy_7m.cjs.map +1 -0
- package/dist/task-space.cli-CMYNjgOW.mjs +355 -0
- package/dist/task-space.cli-CMYNjgOW.mjs.map +1 -0
- package/dist/task.cli-BM34E7GG.mjs +157 -0
- package/dist/task.cli-BM34E7GG.mjs.map +1 -0
- package/dist/task.cli-CiTkjUaX.cjs +174 -0
- package/dist/task.cli-CiTkjUaX.cjs.map +1 -0
- package/dist/taskGraph-BOQvT0-M.mjs +63 -0
- package/dist/taskGraph-BOQvT0-M.mjs.map +1 -0
- package/dist/taskGraph-BskRslrr.cjs +92 -0
- package/dist/taskGraph-BskRslrr.cjs.map +1 -0
- package/dist/{services/store/taskGraph.d.cts → taskGraph-YQXCfXTn.d.mts} +4 -4
- package/dist/taskGraph-YQXCfXTn.d.mts.map +1 -0
- package/dist/taskOverlay-B5wJHiml.cjs +175 -0
- package/dist/taskOverlay-B5wJHiml.cjs.map +1 -0
- package/dist/taskOverlay-CljDoTj_.mjs +164 -0
- package/dist/taskOverlay-CljDoTj_.mjs.map +1 -0
- package/dist/taskResult-D2G7b4w-.cjs +224 -0
- package/dist/taskResult-D2G7b4w-.cjs.map +1 -0
- package/dist/taskResult-edBAAKSH.mjs +165 -0
- package/dist/taskResult-edBAAKSH.mjs.map +1 -0
- package/dist/taskStore-CFx12KJk.mjs +213 -0
- package/dist/taskStore-CFx12KJk.mjs.map +1 -0
- package/dist/taskStore-T1pPy-UJ.cjs +220 -0
- package/dist/taskStore-T1pPy-UJ.cjs.map +1 -0
- package/dist/tasks.cli-8VvuN9YQ.cjs +40 -0
- package/dist/tasks.cli-8VvuN9YQ.cjs.map +1 -0
- package/dist/tasks.cli-BZj83YD_.mjs +29 -0
- package/dist/tasks.cli-BZj83YD_.mjs.map +1 -0
- package/dist/telemetry-DOyZLj8E.d.mts +36 -0
- package/dist/telemetry-DOyZLj8E.d.mts.map +1 -0
- package/dist/telemetry-I4md7Xzz.cjs +31 -0
- package/dist/telemetry-I4md7Xzz.cjs.map +1 -0
- package/dist/telemetry-PmX_1Y8a.mjs +26 -0
- package/dist/telemetry-PmX_1Y8a.mjs.map +1 -0
- package/dist/toolPromptGuidelines.cjs +3 -0
- package/dist/toolPromptGuidelines.d.mts +2 -0
- package/dist/toolPromptGuidelines.mjs +2 -0
- package/dist/toolResponseEnvelope.cjs +12 -0
- package/dist/toolResponseEnvelope.d.mts +2 -0
- package/dist/toolResponseEnvelope.mjs +2 -0
- package/dist/toolSchema.cjs +17 -0
- package/dist/toolSchema.d.mts +3 -0
- package/dist/toolSchema.mjs +3 -0
- package/dist/toolTaskTool.cjs +6 -0
- package/dist/toolTaskTool.d.mts +3 -0
- package/dist/toolTaskTool.mjs +3 -0
- package/dist/tuiFormat.cjs +14 -0
- package/dist/tuiFormat.d.mts +61 -0
- package/dist/tuiFormat.d.mts.map +1 -0
- package/dist/tuiFormat.mjs +2 -0
- package/dist/tuiSelectors.cjs +10 -0
- package/dist/tuiSelectors.d.mts +2 -0
- package/dist/tuiSelectors.mjs +2 -0
- package/dist/tuiTaskOverlay.cjs +4 -0
- package/dist/{tui/taskOverlay.d.cts → tuiTaskOverlay.d.mts} +9 -8
- package/dist/tuiTaskOverlay.d.mts.map +1 -0
- package/dist/tuiTaskOverlay.mjs +2 -0
- package/dist/tuiTaskSpace.cjs +5 -0
- package/dist/{tui/taskSpace.d.cts → tuiTaskSpace.d.mts} +11 -13
- package/dist/tuiTaskSpace.d.mts.map +1 -0
- package/dist/tuiTaskSpace.mjs +2 -0
- package/package.json +175 -109
- package/src/types/webTasks.ts +24 -0
- package/dist/_virtual/_rolldown/runtime.cjs +0 -1
- package/dist/adapters/pi/extension.cjs +0 -3
- package/dist/adapters/pi/extension.cjs.map +0 -1
- package/dist/adapters/pi/extension.d.cts +0 -12
- package/dist/adapters/pi/extension.d.cts.map +0 -1
- package/dist/adapters/pi/extension.d.mts +0 -12
- package/dist/adapters/pi/extension.d.mts.map +0 -1
- package/dist/adapters/pi/extension.mjs +0 -3
- package/dist/adapters/pi/extension.mjs.map +0 -1
- package/dist/adapters/store/paths.cjs +0 -2
- package/dist/adapters/store/paths.cjs.map +0 -1
- package/dist/adapters/store/paths.d.cts.map +0 -1
- package/dist/adapters/store/paths.d.mts +0 -26
- package/dist/adapters/store/paths.d.mts.map +0 -1
- package/dist/adapters/store/paths.mjs +0 -2
- package/dist/adapters/store/paths.mjs.map +0 -1
- package/dist/adapters/store/taskStore.cjs +0 -2
- package/dist/adapters/store/taskStore.cjs.map +0 -1
- package/dist/adapters/store/taskStore.d.cts.map +0 -1
- package/dist/adapters/store/taskStore.d.mts +0 -87
- package/dist/adapters/store/taskStore.d.mts.map +0 -1
- package/dist/adapters/store/taskStore.mjs +0 -2
- package/dist/adapters/store/taskStore.mjs.map +0 -1
- package/dist/adapters/telemetry/logSinkTelemetry.cjs +0 -2
- package/dist/adapters/telemetry/logSinkTelemetry.cjs.map +0 -1
- package/dist/adapters/telemetry/logSinkTelemetry.d.cts +0 -52
- package/dist/adapters/telemetry/logSinkTelemetry.d.cts.map +0 -1
- package/dist/adapters/telemetry/logSinkTelemetry.d.mts +0 -52
- package/dist/adapters/telemetry/logSinkTelemetry.d.mts.map +0 -1
- package/dist/adapters/telemetry/logSinkTelemetry.mjs +0 -2
- package/dist/adapters/telemetry/logSinkTelemetry.mjs.map +0 -1
- package/dist/commands/index.cjs +0 -2
- package/dist/commands/index.cjs.map +0 -1
- package/dist/commands/index.d.cts +0 -15
- package/dist/commands/index.d.cts.map +0 -1
- package/dist/commands/index.d.mts +0 -15
- package/dist/commands/index.d.mts.map +0 -1
- package/dist/commands/index.mjs +0 -2
- package/dist/commands/index.mjs.map +0 -1
- package/dist/commands/task/promptGuidelines.cjs +0 -2
- package/dist/commands/task/promptGuidelines.cjs.map +0 -1
- package/dist/commands/task/promptGuidelines.d.cts +0 -5
- package/dist/commands/task/promptGuidelines.d.cts.map +0 -1
- package/dist/commands/task/promptGuidelines.d.mts +0 -5
- package/dist/commands/task/promptGuidelines.d.mts.map +0 -1
- package/dist/commands/task/promptGuidelines.mjs +0 -2
- package/dist/commands/task/promptGuidelines.mjs.map +0 -1
- package/dist/commands/task/responseEnvelope.cjs +0 -6
- package/dist/commands/task/responseEnvelope.cjs.map +0 -1
- package/dist/commands/task/responseEnvelope.d.cts.map +0 -1
- package/dist/commands/task/responseEnvelope.d.mts +0 -39
- package/dist/commands/task/responseEnvelope.d.mts.map +0 -1
- package/dist/commands/task/responseEnvelope.mjs +0 -6
- package/dist/commands/task/responseEnvelope.mjs.map +0 -1
- package/dist/commands/task/taskTool.cjs +0 -3
- package/dist/commands/task/taskTool.cjs.map +0 -1
- package/dist/commands/task/taskTool.d.cts +0 -18
- package/dist/commands/task/taskTool.d.cts.map +0 -1
- package/dist/commands/task/taskTool.d.mts +0 -18
- package/dist/commands/task/taskTool.d.mts.map +0 -1
- package/dist/commands/task/taskTool.mjs +0 -3
- package/dist/commands/task/taskTool.mjs.map +0 -1
- package/dist/commands.d.cts +0 -2
- package/dist/config.d.cts +0 -2
- package/dist/delegation/manager.cjs +0 -1
- package/dist/delegation/manager.d.cts +0 -2
- package/dist/delegation/manager.d.mts +0 -2
- package/dist/delegation/manager.mjs +0 -1
- package/dist/extension.cjs +0 -1
- package/dist/extension.d.cts +0 -2
- package/dist/extension.d.mts +0 -2
- package/dist/extension.mjs +0 -1
- package/dist/extensions/doom.cjs +0 -2
- package/dist/extensions/doom.cjs.map +0 -1
- package/dist/extensions/doom.d.cts +0 -6
- package/dist/extensions/doom.d.cts.map +0 -1
- package/dist/extensions/doom.d.mts +0 -7
- package/dist/extensions/doom.d.mts.map +0 -1
- package/dist/extensions/doom.mjs +0 -2
- package/dist/extensions/doom.mjs.map +0 -1
- package/dist/extensions/pi.d.cts +0 -2
- package/dist/index.d.cts +0 -16
- package/dist/logSinkTelemetry.d.cts +0 -2
- package/dist/schemas/task.cjs +0 -2
- package/dist/schemas/task.cjs.map +0 -1
- package/dist/schemas/task.d.cts +0 -86
- package/dist/schemas/task.d.cts.map +0 -1
- package/dist/schemas/task.d.mts.map +0 -1
- package/dist/schemas/task.mjs +0 -2
- package/dist/schemas/task.mjs.map +0 -1
- package/dist/services/delegation/manager.cjs +0 -6
- package/dist/services/delegation/manager.cjs.map +0 -1
- package/dist/services/delegation/manager.d.cts +0 -188
- package/dist/services/delegation/manager.d.cts.map +0 -1
- package/dist/services/delegation/manager.d.mts.map +0 -1
- package/dist/services/delegation/manager.mjs +0 -6
- package/dist/services/delegation/manager.mjs.map +0 -1
- package/dist/services/narration/taskNarration.cjs +0 -2
- package/dist/services/narration/taskNarration.cjs.map +0 -1
- package/dist/services/narration/taskNarration.mjs +0 -2
- package/dist/services/narration/taskNarration.mjs.map +0 -1
- package/dist/services/store/invariants.cjs +0 -2
- package/dist/services/store/invariants.cjs.map +0 -1
- package/dist/services/store/invariants.d.cts +0 -14
- package/dist/services/store/invariants.d.cts.map +0 -1
- package/dist/services/store/invariants.d.mts +0 -14
- package/dist/services/store/invariants.d.mts.map +0 -1
- package/dist/services/store/invariants.mjs +0 -2
- package/dist/services/store/invariants.mjs.map +0 -1
- package/dist/services/store/paths.cjs +0 -1
- package/dist/services/store/paths.mjs +0 -1
- package/dist/services/store/processLiveness.cjs +0 -2
- package/dist/services/store/processLiveness.cjs.map +0 -1
- package/dist/services/store/processLiveness.d.cts.map +0 -1
- package/dist/services/store/processLiveness.d.mts +0 -12
- package/dist/services/store/processLiveness.d.mts.map +0 -1
- package/dist/services/store/processLiveness.mjs +0 -2
- package/dist/services/store/processLiveness.mjs.map +0 -1
- package/dist/services/store/reconcile.cjs +0 -2
- package/dist/services/store/reconcile.cjs.map +0 -1
- package/dist/services/store/reconcile.d.cts.map +0 -1
- package/dist/services/store/reconcile.d.mts +0 -34
- package/dist/services/store/reconcile.d.mts.map +0 -1
- package/dist/services/store/reconcile.mjs +0 -2
- package/dist/services/store/reconcile.mjs.map +0 -1
- package/dist/services/store/reducer.cjs +0 -3
- package/dist/services/store/reducer.cjs.map +0 -1
- package/dist/services/store/reducer.d.cts.map +0 -1
- package/dist/services/store/reducer.d.mts +0 -72
- package/dist/services/store/reducer.d.mts.map +0 -1
- package/dist/services/store/reducer.mjs +0 -3
- package/dist/services/store/reducer.mjs.map +0 -1
- package/dist/services/store/taskGraph.cjs +0 -2
- package/dist/services/store/taskGraph.cjs.map +0 -1
- package/dist/services/store/taskGraph.d.cts.map +0 -1
- package/dist/services/store/taskGraph.d.mts +0 -25
- package/dist/services/store/taskGraph.d.mts.map +0 -1
- package/dist/services/store/taskGraph.mjs +0 -2
- package/dist/services/store/taskGraph.mjs.map +0 -1
- package/dist/services/store/taskStore.cjs +0 -1
- package/dist/services/store/taskStore.d.cts +0 -2
- package/dist/services/store/taskStore.d.mts +0 -2
- package/dist/services/store/taskStore.mjs +0 -1
- package/dist/services/store/types.cjs +0 -2
- package/dist/services/store/types.cjs.map +0 -1
- package/dist/services/store/types.d.cts +0 -165
- package/dist/services/store/types.d.cts.map +0 -1
- package/dist/services/store/types.d.mts.map +0 -1
- package/dist/services/store/types.mjs +0 -2
- package/dist/services/store/types.mjs.map +0 -1
- package/dist/store/invariants.cjs +0 -1
- package/dist/store/invariants.d.cts +0 -2
- package/dist/store/invariants.d.mts +0 -2
- package/dist/store/invariants.mjs +0 -1
- package/dist/store/paths.cjs +0 -1
- package/dist/store/paths.d.cts +0 -2
- package/dist/store/paths.d.mts +0 -2
- package/dist/store/paths.mjs +0 -1
- package/dist/store/processLiveness.cjs +0 -1
- package/dist/store/processLiveness.d.cts +0 -2
- package/dist/store/processLiveness.d.mts +0 -2
- package/dist/store/processLiveness.mjs +0 -1
- package/dist/store/reconcile.cjs +0 -1
- package/dist/store/reconcile.d.cts +0 -2
- package/dist/store/reconcile.d.mts +0 -2
- package/dist/store/reconcile.mjs +0 -1
- package/dist/store/reducer.cjs +0 -1
- package/dist/store/reducer.d.cts +0 -2
- package/dist/store/reducer.d.mts +0 -2
- package/dist/store/reducer.mjs +0 -1
- package/dist/store/taskGraph.cjs +0 -1
- package/dist/store/taskGraph.d.cts +0 -2
- package/dist/store/taskGraph.d.mts +0 -2
- package/dist/store/taskGraph.mjs +0 -1
- package/dist/store/taskStore.cjs +0 -1
- package/dist/store/taskStore.d.cts +0 -3
- package/dist/store/taskStore.d.mts +0 -3
- package/dist/store/taskStore.mjs +0 -1
- package/dist/store/types.cjs +0 -1
- package/dist/store/types.d.cts +0 -2
- package/dist/store/types.d.mts +0 -2
- package/dist/store/types.mjs +0 -1
- package/dist/tool/promptGuidelines.cjs +0 -1
- package/dist/tool/promptGuidelines.d.cts +0 -2
- package/dist/tool/promptGuidelines.d.mts +0 -2
- package/dist/tool/promptGuidelines.mjs +0 -1
- package/dist/tool/responseEnvelope.cjs +0 -1
- package/dist/tool/responseEnvelope.d.cts +0 -2
- package/dist/tool/responseEnvelope.d.mts +0 -2
- package/dist/tool/responseEnvelope.mjs +0 -1
- package/dist/tool/schema.cjs +0 -1
- package/dist/tool/schema.d.cts +0 -2
- package/dist/tool/schema.d.mts +0 -2
- package/dist/tool/schema.mjs +0 -1
- package/dist/tool/taskTool.cjs +0 -1
- package/dist/tool/taskTool.d.cts +0 -3
- package/dist/tool/taskTool.d.mts +0 -3
- package/dist/tool/taskTool.mjs +0 -1
- package/dist/tui/format.cjs +0 -4
- package/dist/tui/format.cjs.map +0 -1
- package/dist/tui/format.d.cts +0 -62
- package/dist/tui/format.d.cts.map +0 -1
- package/dist/tui/format.d.mts +0 -62
- package/dist/tui/format.d.mts.map +0 -1
- package/dist/tui/format.mjs +0 -4
- package/dist/tui/format.mjs.map +0 -1
- package/dist/tui/selectors.cjs +0 -2
- package/dist/tui/selectors.cjs.map +0 -1
- package/dist/tui/selectors.d.cts.map +0 -1
- package/dist/tui/selectors.d.mts +0 -53
- package/dist/tui/selectors.d.mts.map +0 -1
- package/dist/tui/selectors.mjs +0 -2
- package/dist/tui/selectors.mjs.map +0 -1
- package/dist/tui/taskOverlay.cjs +0 -2
- package/dist/tui/taskOverlay.cjs.map +0 -1
- package/dist/tui/taskOverlay.d.cts.map +0 -1
- package/dist/tui/taskOverlay.d.mts +0 -38
- package/dist/tui/taskOverlay.d.mts.map +0 -1
- package/dist/tui/taskOverlay.mjs +0 -2
- package/dist/tui/taskOverlay.mjs.map +0 -1
- package/dist/tui/taskSpace.cjs +0 -5
- package/dist/tui/taskSpace.cjs.map +0 -1
- package/dist/tui/taskSpace.d.cts.map +0 -1
- package/dist/tui/taskSpace.d.mts +0 -62
- package/dist/tui/taskSpace.d.mts.map +0 -1
- package/dist/tui/taskSpace.mjs +0 -5
- package/dist/tui/taskSpace.mjs.map +0 -1
- package/dist/types/config.cjs +0 -2
- package/dist/types/config.cjs.map +0 -1
- package/dist/types/config.d.cts.map +0 -1
- package/dist/types/config.d.mts +0 -38
- package/dist/types/config.d.mts.map +0 -1
- package/dist/types/config.mjs +0 -2
- package/dist/types/config.mjs.map +0 -1
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { n as canonicalizeTasks } from "./invariants-q_UamF7D.mjs";
|
|
2
|
+
//#region src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.ts
|
|
3
|
+
function visibleTasks(tasks) {
|
|
4
|
+
return canonicalizeTasks(tasks).filter((task) => task.status !== "deleted");
|
|
5
|
+
}
|
|
6
|
+
function indexStatuses(tasks) {
|
|
7
|
+
return new Map(tasks.map((task) => [task.id, task.status]));
|
|
8
|
+
}
|
|
9
|
+
function hasUnresolvedBlocker(task, statuses) {
|
|
10
|
+
return task.blockedBy?.some((id) => {
|
|
11
|
+
const status = statuses.get(id);
|
|
12
|
+
return status !== void 0 && status !== "completed" && status !== "deleted";
|
|
13
|
+
}) ?? false;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Derive all overlay-facing state in O(tasks + dependency edges).
|
|
17
|
+
*
|
|
18
|
+
* The id index replaces one full task-list scan per dependency, while the
|
|
19
|
+
* ordered pass keeps group ordering identical to the source document.
|
|
20
|
+
*/
|
|
21
|
+
function deriveTaskProjection(tasks) {
|
|
22
|
+
const canonical = canonicalizeTasks(tasks);
|
|
23
|
+
const statuses = indexStatuses(canonical);
|
|
24
|
+
const visible = [];
|
|
25
|
+
const counts = {
|
|
26
|
+
total: 0,
|
|
27
|
+
completed: 0,
|
|
28
|
+
inProgress: 0,
|
|
29
|
+
pending: 0,
|
|
30
|
+
failed: 0,
|
|
31
|
+
blocked: 0
|
|
32
|
+
};
|
|
33
|
+
const groups = {
|
|
34
|
+
inProgress: [],
|
|
35
|
+
blocked: [],
|
|
36
|
+
pending: [],
|
|
37
|
+
completed: [],
|
|
38
|
+
failed: []
|
|
39
|
+
};
|
|
40
|
+
let showIds = false;
|
|
41
|
+
for (const task of canonical) {
|
|
42
|
+
if (task.status === "deleted") continue;
|
|
43
|
+
visible.push(task);
|
|
44
|
+
counts.total += 1;
|
|
45
|
+
showIds ||= Boolean(task.blockedBy?.length);
|
|
46
|
+
switch (task.status) {
|
|
47
|
+
case "in_progress":
|
|
48
|
+
counts.inProgress += 1;
|
|
49
|
+
groups.inProgress.push(task);
|
|
50
|
+
break;
|
|
51
|
+
case "pending":
|
|
52
|
+
counts.pending += 1;
|
|
53
|
+
if (hasUnresolvedBlocker(task, statuses)) {
|
|
54
|
+
counts.blocked += 1;
|
|
55
|
+
groups.blocked.push(task);
|
|
56
|
+
} else groups.pending.push(task);
|
|
57
|
+
break;
|
|
58
|
+
case "failed":
|
|
59
|
+
counts.failed += 1;
|
|
60
|
+
groups.failed.push(task);
|
|
61
|
+
break;
|
|
62
|
+
case "completed":
|
|
63
|
+
counts.completed += 1;
|
|
64
|
+
groups.completed.push(task);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
visible,
|
|
69
|
+
counts,
|
|
70
|
+
groups,
|
|
71
|
+
showIds,
|
|
72
|
+
hasActiveWork: counts.inProgress > 0
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
function countTasks(tasks) {
|
|
76
|
+
return deriveTaskProjection(tasks).counts;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Group tasks for display.
|
|
80
|
+
*
|
|
81
|
+
* Blocked tasks split out of `pending` because a reader scanning the overlay
|
|
82
|
+
* needs to know at a glance what is actually actionable right now.
|
|
83
|
+
*/
|
|
84
|
+
function groupTasks(tasks) {
|
|
85
|
+
return deriveTaskProjection(tasks).groups;
|
|
86
|
+
}
|
|
87
|
+
/** Ids are only worth the visual noise once dependencies are in play. */
|
|
88
|
+
function shouldShowIds(tasks) {
|
|
89
|
+
return tasks.some((task) => task.status !== "deleted" && Boolean(task.blockedBy?.length));
|
|
90
|
+
}
|
|
91
|
+
function hasActiveWork(tasks) {
|
|
92
|
+
return tasks.some((task) => task.status === "in_progress");
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Choose which rows fit the overlay budget.
|
|
96
|
+
*
|
|
97
|
+
* Active work wins limited space: in-progress first, then failed, blocked, and
|
|
98
|
+
* pending. Selected rows are always returned in source order, however, so a
|
|
99
|
+
* status update does not reshuffle an otherwise unchanged overlay.
|
|
100
|
+
*/
|
|
101
|
+
function selectOverlayLayoutFromProjection(projection, budget) {
|
|
102
|
+
const { groups, visible: sourceOrder } = projection;
|
|
103
|
+
const active = [
|
|
104
|
+
...groups.inProgress,
|
|
105
|
+
...groups.failed,
|
|
106
|
+
...groups.blocked,
|
|
107
|
+
...groups.pending
|
|
108
|
+
];
|
|
109
|
+
if (budget <= 0) return {
|
|
110
|
+
visible: [],
|
|
111
|
+
hiddenCompleted: groups.completed.length,
|
|
112
|
+
truncatedTail: active.length
|
|
113
|
+
};
|
|
114
|
+
if (sourceOrder.length <= budget) return {
|
|
115
|
+
visible: sourceOrder,
|
|
116
|
+
hiddenCompleted: 0,
|
|
117
|
+
truncatedTail: 0
|
|
118
|
+
};
|
|
119
|
+
if (active.length <= budget) {
|
|
120
|
+
const remaining = budget - active.length;
|
|
121
|
+
const shownCompleted = groups.completed.slice(0, remaining);
|
|
122
|
+
const selected = /* @__PURE__ */ new Set([...active, ...shownCompleted]);
|
|
123
|
+
return {
|
|
124
|
+
visible: sourceOrder.filter((task) => selected.has(task)),
|
|
125
|
+
hiddenCompleted: groups.completed.length - shownCompleted.length,
|
|
126
|
+
truncatedTail: 0
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
const selected = new Set(active.slice(0, budget));
|
|
130
|
+
return {
|
|
131
|
+
visible: sourceOrder.filter((task) => selected.has(task)),
|
|
132
|
+
hiddenCompleted: groups.completed.length,
|
|
133
|
+
truncatedTail: active.length - budget
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
function selectOverlayLayout(tasks, budget) {
|
|
137
|
+
return selectOverlayLayoutFromProjection(deriveTaskProjection(tasks), budget);
|
|
138
|
+
}
|
|
139
|
+
//#endregion
|
|
140
|
+
export { selectOverlayLayout as a, visibleTasks as c, hasActiveWork as i, deriveTaskProjection as n, selectOverlayLayoutFromProjection as o, groupTasks as r, shouldShowIds as s, countTasks as t };
|
|
141
|
+
|
|
142
|
+
//# sourceMappingURL=selectors-BaS6dObz.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectors-BaS6dObz.mjs","names":[],"sources":["../src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.ts"],"sourcesContent":["import type { Task } from '../../../../../../models/task';\nimport { canonicalizeTasks } from '../../../../../../services/invariants';\n\nexport interface TaskCounts {\n total: number;\n completed: number;\n inProgress: number;\n pending: number;\n failed: number;\n blocked: number;\n}\n\nexport interface TaskGroups {\n inProgress: Task[];\n blocked: Task[];\n pending: Task[];\n completed: Task[];\n failed: Task[];\n}\n\nexport interface TaskProjection {\n visible: Task[];\n counts: TaskCounts;\n groups: TaskGroups;\n showIds: boolean;\n hasActiveWork: boolean;\n}\n\nexport function visibleTasks(tasks: readonly Task[]): Task[] {\n return canonicalizeTasks(tasks).filter((task) => task.status !== 'deleted');\n}\n\nfunction indexStatuses(tasks: readonly Task[]): Map<number, Task['status']> {\n return new Map(tasks.map((task) => [task.id, task.status]));\n}\n\nfunction hasUnresolvedBlocker(task: Task, statuses: ReadonlyMap<number, Task['status']>): boolean {\n return (\n task.blockedBy?.some((id) => {\n const status = statuses.get(id);\n return status !== undefined && status !== 'completed' && status !== 'deleted';\n }) ?? false\n );\n}\n\n/**\n * Derive all overlay-facing state in O(tasks + dependency edges).\n *\n * The id index replaces one full task-list scan per dependency, while the\n * ordered pass keeps group ordering identical to the source document.\n */\nexport function deriveTaskProjection(tasks: readonly Task[]): TaskProjection {\n const canonical = canonicalizeTasks(tasks);\n const statuses = indexStatuses(canonical);\n const visible: Task[] = [];\n const counts: TaskCounts = { total: 0, completed: 0, inProgress: 0, pending: 0, failed: 0, blocked: 0 };\n const groups: TaskGroups = { inProgress: [], blocked: [], pending: [], completed: [], failed: [] };\n let showIds = false;\n\n for (const task of canonical) {\n if (task.status === 'deleted') continue;\n\n visible.push(task);\n counts.total += 1;\n showIds ||= Boolean(task.blockedBy?.length);\n\n switch (task.status) {\n case 'in_progress':\n counts.inProgress += 1;\n groups.inProgress.push(task);\n break;\n case 'pending': {\n counts.pending += 1;\n if (hasUnresolvedBlocker(task, statuses)) {\n counts.blocked += 1;\n groups.blocked.push(task);\n } else {\n groups.pending.push(task);\n }\n break;\n }\n case 'failed':\n counts.failed += 1;\n groups.failed.push(task);\n break;\n case 'completed':\n counts.completed += 1;\n groups.completed.push(task);\n break;\n }\n }\n\n return { visible, counts, groups, showIds, hasActiveWork: counts.inProgress > 0 };\n}\n\nexport function countTasks(tasks: readonly Task[]): TaskCounts {\n return deriveTaskProjection(tasks).counts;\n}\n\n/**\n * Group tasks for display.\n *\n * Blocked tasks split out of `pending` because a reader scanning the overlay\n * needs to know at a glance what is actually actionable right now.\n */\nexport function groupTasks(tasks: readonly Task[]): TaskGroups {\n return deriveTaskProjection(tasks).groups;\n}\n\n/** Ids are only worth the visual noise once dependencies are in play. */\nexport function shouldShowIds(tasks: readonly Task[]): boolean {\n return tasks.some((task) => task.status !== 'deleted' && Boolean(task.blockedBy?.length));\n}\n\nexport function hasActiveWork(tasks: readonly Task[]): boolean {\n return tasks.some((task) => task.status === 'in_progress');\n}\n\nexport interface OverlayLayout {\n visible: Task[];\n hiddenCompleted: number;\n truncatedTail: number;\n}\n\n/**\n * Choose which rows fit the overlay budget.\n *\n * Active work wins limited space: in-progress first, then failed, blocked, and\n * pending. Selected rows are always returned in source order, however, so a\n * status update does not reshuffle an otherwise unchanged overlay.\n */\nexport function selectOverlayLayoutFromProjection(projection: TaskProjection, budget: number): OverlayLayout {\n const { groups, visible: sourceOrder } = projection;\n const active = [...groups.inProgress, ...groups.failed, ...groups.blocked, ...groups.pending];\n if (budget <= 0) {\n return {\n visible: [],\n hiddenCompleted: groups.completed.length,\n truncatedTail: active.length,\n };\n }\n if (sourceOrder.length <= budget) {\n return { visible: sourceOrder, hiddenCompleted: 0, truncatedTail: 0 };\n }\n\n if (active.length <= budget) {\n const remaining = budget - active.length;\n const shownCompleted = groups.completed.slice(0, remaining);\n const selected = new Set([...active, ...shownCompleted]);\n return {\n visible: sourceOrder.filter((task) => selected.has(task)),\n hiddenCompleted: groups.completed.length - shownCompleted.length,\n truncatedTail: 0,\n };\n }\n\n const selected = new Set(active.slice(0, budget));\n return {\n visible: sourceOrder.filter((task) => selected.has(task)),\n hiddenCompleted: groups.completed.length,\n truncatedTail: active.length - budget,\n };\n}\n\nexport function selectOverlayLayout(tasks: readonly Task[], budget: number): OverlayLayout {\n return selectOverlayLayoutFromProjection(deriveTaskProjection(tasks), budget);\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Task } from "
|
|
2
|
-
//#region src/
|
|
1
|
+
import { s as Task } from "./task-hLh4BOO7.mjs";
|
|
2
|
+
//#region src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.d.ts
|
|
3
3
|
interface TaskCounts {
|
|
4
4
|
total: number;
|
|
5
5
|
completed: number;
|
|
@@ -46,8 +46,15 @@ interface OverlayLayout {
|
|
|
46
46
|
hiddenCompleted: number;
|
|
47
47
|
truncatedTail: number;
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Choose which rows fit the overlay budget.
|
|
51
|
+
*
|
|
52
|
+
* Active work wins limited space: in-progress first, then failed, blocked, and
|
|
53
|
+
* pending. Selected rows are always returned in source order, however, so a
|
|
54
|
+
* status update does not reshuffle an otherwise unchanged overlay.
|
|
55
|
+
*/
|
|
49
56
|
declare function selectOverlayLayoutFromProjection(projection: TaskProjection, budget: number): OverlayLayout;
|
|
50
57
|
declare function selectOverlayLayout(tasks: readonly Task[], budget: number): OverlayLayout;
|
|
51
58
|
//#endregion
|
|
52
|
-
export {
|
|
53
|
-
//# sourceMappingURL=selectors.d.
|
|
59
|
+
export { countTasks as a, hasActiveWork as c, shouldShowIds as d, visibleTasks as f, TaskProjection as i, selectOverlayLayout as l, TaskCounts as n, deriveTaskProjection as o, TaskGroups as r, groupTasks as s, OverlayLayout as t, selectOverlayLayoutFromProjection as u };
|
|
60
|
+
//# sourceMappingURL=selectors-DPDPPjH3.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectors-DPDPPjH3.d.mts","names":[],"sources":["../src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.ts"],"mappings":";;UAGiB;EACf;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf,YAAY;EACZ,SAAS;EACT,SAAS;EACT,WAAW;EACX,QAAQ;;UAGO;EACf,SAAS;EACT,QAAQ;EACR,QAAQ;EACR;EACA;;iBAGc,aAAa,gBAAgB,SAAS;;;;;;;iBAuBtC,qBAAqB,gBAAgB,SAAS;iBA4C9C,WAAW,gBAAgB,SAAS;;;;;;;iBAUpC,WAAW,gBAAgB,SAAS;;iBAKpC,cAAc,gBAAgB;iBAI9B,cAAc,gBAAgB;UAI7B;EACf,SAAS;EACT;EACA;;;;;;;;;iBAUc,kCAAkC,YAAY,gBAAgB,iBAAiB;iBAiC/E,oBAAoB,gBAAgB,QAAQ,iBAAiB"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
const require_invariants = require("./invariants-DhjEjBPU.cjs");
|
|
2
|
+
//#region src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.ts
|
|
3
|
+
function visibleTasks(tasks) {
|
|
4
|
+
return require_invariants.canonicalizeTasks(tasks).filter((task) => task.status !== "deleted");
|
|
5
|
+
}
|
|
6
|
+
function indexStatuses(tasks) {
|
|
7
|
+
return new Map(tasks.map((task) => [task.id, task.status]));
|
|
8
|
+
}
|
|
9
|
+
function hasUnresolvedBlocker(task, statuses) {
|
|
10
|
+
return task.blockedBy?.some((id) => {
|
|
11
|
+
const status = statuses.get(id);
|
|
12
|
+
return status !== void 0 && status !== "completed" && status !== "deleted";
|
|
13
|
+
}) ?? false;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Derive all overlay-facing state in O(tasks + dependency edges).
|
|
17
|
+
*
|
|
18
|
+
* The id index replaces one full task-list scan per dependency, while the
|
|
19
|
+
* ordered pass keeps group ordering identical to the source document.
|
|
20
|
+
*/
|
|
21
|
+
function deriveTaskProjection(tasks) {
|
|
22
|
+
const canonical = require_invariants.canonicalizeTasks(tasks);
|
|
23
|
+
const statuses = indexStatuses(canonical);
|
|
24
|
+
const visible = [];
|
|
25
|
+
const counts = {
|
|
26
|
+
total: 0,
|
|
27
|
+
completed: 0,
|
|
28
|
+
inProgress: 0,
|
|
29
|
+
pending: 0,
|
|
30
|
+
failed: 0,
|
|
31
|
+
blocked: 0
|
|
32
|
+
};
|
|
33
|
+
const groups = {
|
|
34
|
+
inProgress: [],
|
|
35
|
+
blocked: [],
|
|
36
|
+
pending: [],
|
|
37
|
+
completed: [],
|
|
38
|
+
failed: []
|
|
39
|
+
};
|
|
40
|
+
let showIds = false;
|
|
41
|
+
for (const task of canonical) {
|
|
42
|
+
if (task.status === "deleted") continue;
|
|
43
|
+
visible.push(task);
|
|
44
|
+
counts.total += 1;
|
|
45
|
+
showIds ||= Boolean(task.blockedBy?.length);
|
|
46
|
+
switch (task.status) {
|
|
47
|
+
case "in_progress":
|
|
48
|
+
counts.inProgress += 1;
|
|
49
|
+
groups.inProgress.push(task);
|
|
50
|
+
break;
|
|
51
|
+
case "pending":
|
|
52
|
+
counts.pending += 1;
|
|
53
|
+
if (hasUnresolvedBlocker(task, statuses)) {
|
|
54
|
+
counts.blocked += 1;
|
|
55
|
+
groups.blocked.push(task);
|
|
56
|
+
} else groups.pending.push(task);
|
|
57
|
+
break;
|
|
58
|
+
case "failed":
|
|
59
|
+
counts.failed += 1;
|
|
60
|
+
groups.failed.push(task);
|
|
61
|
+
break;
|
|
62
|
+
case "completed":
|
|
63
|
+
counts.completed += 1;
|
|
64
|
+
groups.completed.push(task);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
visible,
|
|
69
|
+
counts,
|
|
70
|
+
groups,
|
|
71
|
+
showIds,
|
|
72
|
+
hasActiveWork: counts.inProgress > 0
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
function countTasks(tasks) {
|
|
76
|
+
return deriveTaskProjection(tasks).counts;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Group tasks for display.
|
|
80
|
+
*
|
|
81
|
+
* Blocked tasks split out of `pending` because a reader scanning the overlay
|
|
82
|
+
* needs to know at a glance what is actually actionable right now.
|
|
83
|
+
*/
|
|
84
|
+
function groupTasks(tasks) {
|
|
85
|
+
return deriveTaskProjection(tasks).groups;
|
|
86
|
+
}
|
|
87
|
+
/** Ids are only worth the visual noise once dependencies are in play. */
|
|
88
|
+
function shouldShowIds(tasks) {
|
|
89
|
+
return tasks.some((task) => task.status !== "deleted" && Boolean(task.blockedBy?.length));
|
|
90
|
+
}
|
|
91
|
+
function hasActiveWork(tasks) {
|
|
92
|
+
return tasks.some((task) => task.status === "in_progress");
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Choose which rows fit the overlay budget.
|
|
96
|
+
*
|
|
97
|
+
* Active work wins limited space: in-progress first, then failed, blocked, and
|
|
98
|
+
* pending. Selected rows are always returned in source order, however, so a
|
|
99
|
+
* status update does not reshuffle an otherwise unchanged overlay.
|
|
100
|
+
*/
|
|
101
|
+
function selectOverlayLayoutFromProjection(projection, budget) {
|
|
102
|
+
const { groups, visible: sourceOrder } = projection;
|
|
103
|
+
const active = [
|
|
104
|
+
...groups.inProgress,
|
|
105
|
+
...groups.failed,
|
|
106
|
+
...groups.blocked,
|
|
107
|
+
...groups.pending
|
|
108
|
+
];
|
|
109
|
+
if (budget <= 0) return {
|
|
110
|
+
visible: [],
|
|
111
|
+
hiddenCompleted: groups.completed.length,
|
|
112
|
+
truncatedTail: active.length
|
|
113
|
+
};
|
|
114
|
+
if (sourceOrder.length <= budget) return {
|
|
115
|
+
visible: sourceOrder,
|
|
116
|
+
hiddenCompleted: 0,
|
|
117
|
+
truncatedTail: 0
|
|
118
|
+
};
|
|
119
|
+
if (active.length <= budget) {
|
|
120
|
+
const remaining = budget - active.length;
|
|
121
|
+
const shownCompleted = groups.completed.slice(0, remaining);
|
|
122
|
+
const selected = /* @__PURE__ */ new Set([...active, ...shownCompleted]);
|
|
123
|
+
return {
|
|
124
|
+
visible: sourceOrder.filter((task) => selected.has(task)),
|
|
125
|
+
hiddenCompleted: groups.completed.length - shownCompleted.length,
|
|
126
|
+
truncatedTail: 0
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
const selected = new Set(active.slice(0, budget));
|
|
130
|
+
return {
|
|
131
|
+
visible: sourceOrder.filter((task) => selected.has(task)),
|
|
132
|
+
hiddenCompleted: groups.completed.length,
|
|
133
|
+
truncatedTail: active.length - budget
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
function selectOverlayLayout(tasks, budget) {
|
|
137
|
+
return selectOverlayLayoutFromProjection(deriveTaskProjection(tasks), budget);
|
|
138
|
+
}
|
|
139
|
+
//#endregion
|
|
140
|
+
Object.defineProperty(exports, "countTasks", {
|
|
141
|
+
enumerable: true,
|
|
142
|
+
get: function() {
|
|
143
|
+
return countTasks;
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
Object.defineProperty(exports, "deriveTaskProjection", {
|
|
147
|
+
enumerable: true,
|
|
148
|
+
get: function() {
|
|
149
|
+
return deriveTaskProjection;
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
Object.defineProperty(exports, "groupTasks", {
|
|
153
|
+
enumerable: true,
|
|
154
|
+
get: function() {
|
|
155
|
+
return groupTasks;
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
Object.defineProperty(exports, "hasActiveWork", {
|
|
159
|
+
enumerable: true,
|
|
160
|
+
get: function() {
|
|
161
|
+
return hasActiveWork;
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
Object.defineProperty(exports, "selectOverlayLayout", {
|
|
165
|
+
enumerable: true,
|
|
166
|
+
get: function() {
|
|
167
|
+
return selectOverlayLayout;
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
Object.defineProperty(exports, "selectOverlayLayoutFromProjection", {
|
|
171
|
+
enumerable: true,
|
|
172
|
+
get: function() {
|
|
173
|
+
return selectOverlayLayoutFromProjection;
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
Object.defineProperty(exports, "shouldShowIds", {
|
|
177
|
+
enumerable: true,
|
|
178
|
+
get: function() {
|
|
179
|
+
return shouldShowIds;
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
Object.defineProperty(exports, "visibleTasks", {
|
|
183
|
+
enumerable: true,
|
|
184
|
+
get: function() {
|
|
185
|
+
return visibleTasks;
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
|
|
189
|
+
//# sourceMappingURL=selectors-b-69vb4W.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectors-b-69vb4W.cjs","names":["canonicalizeTasks"],"sources":["../src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.ts"],"sourcesContent":["import type { Task } from '../../../../../../models/task';\nimport { canonicalizeTasks } from '../../../../../../services/invariants';\n\nexport interface TaskCounts {\n total: number;\n completed: number;\n inProgress: number;\n pending: number;\n failed: number;\n blocked: number;\n}\n\nexport interface TaskGroups {\n inProgress: Task[];\n blocked: Task[];\n pending: Task[];\n completed: Task[];\n failed: Task[];\n}\n\nexport interface TaskProjection {\n visible: Task[];\n counts: TaskCounts;\n groups: TaskGroups;\n showIds: boolean;\n hasActiveWork: boolean;\n}\n\nexport function visibleTasks(tasks: readonly Task[]): Task[] {\n return canonicalizeTasks(tasks).filter((task) => task.status !== 'deleted');\n}\n\nfunction indexStatuses(tasks: readonly Task[]): Map<number, Task['status']> {\n return new Map(tasks.map((task) => [task.id, task.status]));\n}\n\nfunction hasUnresolvedBlocker(task: Task, statuses: ReadonlyMap<number, Task['status']>): boolean {\n return (\n task.blockedBy?.some((id) => {\n const status = statuses.get(id);\n return status !== undefined && status !== 'completed' && status !== 'deleted';\n }) ?? false\n );\n}\n\n/**\n * Derive all overlay-facing state in O(tasks + dependency edges).\n *\n * The id index replaces one full task-list scan per dependency, while the\n * ordered pass keeps group ordering identical to the source document.\n */\nexport function deriveTaskProjection(tasks: readonly Task[]): TaskProjection {\n const canonical = canonicalizeTasks(tasks);\n const statuses = indexStatuses(canonical);\n const visible: Task[] = [];\n const counts: TaskCounts = { total: 0, completed: 0, inProgress: 0, pending: 0, failed: 0, blocked: 0 };\n const groups: TaskGroups = { inProgress: [], blocked: [], pending: [], completed: [], failed: [] };\n let showIds = false;\n\n for (const task of canonical) {\n if (task.status === 'deleted') continue;\n\n visible.push(task);\n counts.total += 1;\n showIds ||= Boolean(task.blockedBy?.length);\n\n switch (task.status) {\n case 'in_progress':\n counts.inProgress += 1;\n groups.inProgress.push(task);\n break;\n case 'pending': {\n counts.pending += 1;\n if (hasUnresolvedBlocker(task, statuses)) {\n counts.blocked += 1;\n groups.blocked.push(task);\n } else {\n groups.pending.push(task);\n }\n break;\n }\n case 'failed':\n counts.failed += 1;\n groups.failed.push(task);\n break;\n case 'completed':\n counts.completed += 1;\n groups.completed.push(task);\n break;\n }\n }\n\n return { visible, counts, groups, showIds, hasActiveWork: counts.inProgress > 0 };\n}\n\nexport function countTasks(tasks: readonly Task[]): TaskCounts {\n return deriveTaskProjection(tasks).counts;\n}\n\n/**\n * Group tasks for display.\n *\n * Blocked tasks split out of `pending` because a reader scanning the overlay\n * needs to know at a glance what is actually actionable right now.\n */\nexport function groupTasks(tasks: readonly Task[]): TaskGroups {\n return deriveTaskProjection(tasks).groups;\n}\n\n/** Ids are only worth the visual noise once dependencies are in play. */\nexport function shouldShowIds(tasks: readonly Task[]): boolean {\n return tasks.some((task) => task.status !== 'deleted' && Boolean(task.blockedBy?.length));\n}\n\nexport function hasActiveWork(tasks: readonly Task[]): boolean {\n return tasks.some((task) => task.status === 'in_progress');\n}\n\nexport interface OverlayLayout {\n visible: Task[];\n hiddenCompleted: number;\n truncatedTail: number;\n}\n\n/**\n * Choose which rows fit the overlay budget.\n *\n * Active work wins limited space: in-progress first, then failed, blocked, and\n * pending. Selected rows are always returned in source order, however, so a\n * status update does not reshuffle an otherwise unchanged overlay.\n */\nexport function selectOverlayLayoutFromProjection(projection: TaskProjection, budget: number): OverlayLayout {\n const { groups, visible: sourceOrder } = projection;\n const active = [...groups.inProgress, ...groups.failed, ...groups.blocked, ...groups.pending];\n if (budget <= 0) {\n return {\n visible: [],\n hiddenCompleted: groups.completed.length,\n truncatedTail: active.length,\n };\n }\n if (sourceOrder.length <= budget) {\n return { visible: sourceOrder, hiddenCompleted: 0, truncatedTail: 0 };\n }\n\n if (active.length <= budget) {\n const remaining = budget - active.length;\n const shownCompleted = groups.completed.slice(0, remaining);\n const selected = new Set([...active, ...shownCompleted]);\n return {\n visible: sourceOrder.filter((task) => selected.has(task)),\n hiddenCompleted: groups.completed.length - shownCompleted.length,\n truncatedTail: 0,\n };\n }\n\n const selected = new Set(active.slice(0, budget));\n return {\n visible: sourceOrder.filter((task) => selected.has(task)),\n hiddenCompleted: groups.completed.length,\n truncatedTail: active.length - budget,\n };\n}\n\nexport function selectOverlayLayout(tasks: readonly Task[], budget: number): OverlayLayout {\n return selectOverlayLayoutFromProjection(deriveTaskProjection(tasks), budget);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_invariants = require("./invariants-DhjEjBPU.cjs");
|
|
3
|
+
exports.VALID_TRANSITIONS = require_invariants.VALID_TRANSITIONS;
|
|
4
|
+
exports.canonicalizeTasks = require_invariants.canonicalizeTasks;
|
|
5
|
+
exports.isTransitionValid = require_invariants.isTransitionValid;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { h as TaskStatus, s as Task } from "./task-hLh4BOO7.mjs";
|
|
2
|
+
//#region src/services/invariants/index.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Collapse a malformed snapshot to one row per task id.
|
|
5
|
+
*
|
|
6
|
+
* Normal writes replace tasks in place, but older or externally edited stores
|
|
7
|
+
* can contain both a stale and a current copy. Prefer the copy with the newest
|
|
8
|
+
* ISO update timestamp; equal or missing timestamps use the later array entry.
|
|
9
|
+
* The winning row keeps the id's original position so repair does not reorder
|
|
10
|
+
* an otherwise stable task list.
|
|
11
|
+
*/
|
|
12
|
+
export declare function canonicalizeTasks(tasks: readonly Task[]): Task[];
|
|
13
|
+
/**
|
|
14
|
+
* Allowed forward transitions per source status.
|
|
15
|
+
*
|
|
16
|
+
* `failed` is recoverable (a delegation can be retried) so it may return to
|
|
17
|
+
* pending or in_progress. `completed` is one-way to `deleted`; `deleted` is a
|
|
18
|
+
* terminal tombstone.
|
|
19
|
+
*/
|
|
20
|
+
export declare const VALID_TRANSITIONS: Record<TaskStatus, ReadonlySet<TaskStatus>>;
|
|
21
|
+
export declare function isTransitionValid(from: TaskStatus, to: TaskStatus): boolean;
|
|
22
|
+
//#endregion
|
|
23
|
+
//# sourceMappingURL=storeInvariants.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storeInvariants.d.mts","names":[],"sources":["../src/services/invariants/index.ts"],"mappings":";;;;;;;;;;;wBAWgB,kBAAkB,gBAAgB,SAAS;;;;;;;;qBA4B9C,mBAAmB,OAAO,YAAY,YAAY;wBAQ/C,kBAAkB,MAAM,YAAY,IAAI"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_paths = require("./paths-BsFVRulr.cjs");
|
|
3
|
+
exports.STORE_PATH_ENV = require_paths.STORE_PATH_ENV;
|
|
4
|
+
exports.hasStorePathOverride = require_paths.hasStorePathOverride;
|
|
5
|
+
exports.lockPathFor = require_paths.lockPathFor;
|
|
6
|
+
exports.removeLegacyStoreDirectory = require_paths.removeLegacyStoreDirectory;
|
|
7
|
+
exports.removeLegacyStoreDirectoryAsync = require_paths.removeLegacyStoreDirectoryAsync;
|
|
8
|
+
exports.resolveLegacyStoreDirectory = require_paths.resolveLegacyStoreDirectory;
|
|
9
|
+
exports.resolveLegacyStoreDirectoryAsync = require_paths.resolveLegacyStoreDirectoryAsync;
|
|
10
|
+
exports.resolveSessionKey = require_paths.resolveSessionKey;
|
|
11
|
+
exports.resolveStorePath = require_paths.resolveStorePath;
|
|
12
|
+
exports.sweepStoreFiles = require_paths.sweepStoreFiles;
|
|
13
|
+
exports.sweepStoreFilesAsync = require_paths.sweepStoreFilesAsync;
|
|
14
|
+
exports.tempPathFor = require_paths.tempPathFor;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as removeLegacyStoreDirectory, c as resolveLegacyStoreDirectoryAsync, d as sweepStoreFiles, f as sweepStoreFilesAsync, i as lockPathFor, l as resolveSessionKey, n as StoreSweepResult, o as removeLegacyStoreDirectoryAsync, p as tempPathFor, r as hasStorePathOverride, s as resolveLegacyStoreDirectory, t as STORE_PATH_ENV, u as resolveStorePath } from "./index-XY9VPmfm.mjs";
|
|
2
|
+
export { STORE_PATH_ENV, StoreSweepResult, hasStorePathOverride, lockPathFor, removeLegacyStoreDirectory, removeLegacyStoreDirectoryAsync, resolveLegacyStoreDirectory, resolveLegacyStoreDirectoryAsync, resolveSessionKey, resolveStorePath, sweepStoreFiles, sweepStoreFilesAsync, tempPathFor };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as removeLegacyStoreDirectoryAsync, c as resolveSessionKey, d as sweepStoreFilesAsync, f as tempPathFor, i as removeLegacyStoreDirectory, l as resolveStorePath, n as hasStorePathOverride, o as resolveLegacyStoreDirectory, r as lockPathFor, s as resolveLegacyStoreDirectoryAsync, t as STORE_PATH_ENV, u as sweepStoreFiles } from "./paths-Bg8EEbk1.mjs";
|
|
2
|
+
export { STORE_PATH_ENV, hasStorePathOverride, lockPathFor, removeLegacyStoreDirectory, removeLegacyStoreDirectoryAsync, resolveLegacyStoreDirectory, resolveLegacyStoreDirectoryAsync, resolveSessionKey, resolveStorePath, sweepStoreFiles, sweepStoreFilesAsync, tempPathFor };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region src/services/
|
|
1
|
+
//#region src/services/processLiveness/index.d.ts
|
|
2
2
|
/**
|
|
3
3
|
* Is a process still running?
|
|
4
4
|
*
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
* signal. EPERM means the process exists but belongs to another user, which
|
|
7
7
|
* still counts as alive.
|
|
8
8
|
*/
|
|
9
|
-
declare function isProcessAlive(pid: number): boolean;
|
|
9
|
+
export declare function isProcessAlive(pid: number): boolean;
|
|
10
10
|
//#endregion
|
|
11
|
-
|
|
12
|
-
//# sourceMappingURL=processLiveness.d.cts.map
|
|
11
|
+
//# sourceMappingURL=storeProcessLiveness.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storeProcessLiveness.d.mts","names":[],"sources":["../src/services/processLiveness/index.ts"],"mappings":";;;;;;;;wBAOgB,eAAe"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_reconcile = require("./reconcile-cRL0NjDr.cjs");
|
|
3
|
+
exports.ERR_ORPHANED_BY_RESTART = require_reconcile.ERR_ORPHANED_BY_RESTART;
|
|
4
|
+
exports.ERR_ORPHANED_BY_SESSION = require_reconcile.ERR_ORPHANED_BY_SESSION;
|
|
5
|
+
exports.reconcileOrphanedDelegations = require_reconcile.reconcileOrphanedDelegations;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as reconcileOrphanedDelegations, i as ReconcileSelf, n as ERR_ORPHANED_BY_SESSION, r as ReconcileResult, t as ERR_ORPHANED_BY_RESTART } from "./index-BNMm9g0K.mjs";
|
|
2
|
+
export { ERR_ORPHANED_BY_RESTART, ERR_ORPHANED_BY_SESSION, ReconcileResult, ReconcileSelf, reconcileOrphanedDelegations };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_reducer = require("./reducer-BV0YIZ2o.cjs");
|
|
3
|
+
exports.MAX_UPSERT_ITEMS = require_reducer.MAX_UPSERT_ITEMS;
|
|
4
|
+
exports.REF_PATTERN = require_reducer.REF_PATTERN;
|
|
5
|
+
exports.applyTaskMutation = require_reducer.applyTaskMutation;
|
|
6
|
+
exports.formatUpsertFailure = require_reducer.formatUpsertFailure;
|
|
7
|
+
exports.isCommittingOp = require_reducer.isCommittingOp;
|
|
8
|
+
exports.singleItemOutcome = require_reducer.singleItemOutcome;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as ReducerAction, c as isCommittingOp, i as REF_PATTERN, l as singleItemOutcome, n as MAX_UPSERT_ITEMS, o as applyTaskMutation, r as Op, s as formatUpsertFailure, t as ApplyResult } from "./index-DIpc6_uJ.mjs";
|
|
2
|
+
export { ApplyResult, MAX_UPSERT_ITEMS, Op, REF_PATTERN, ReducerAction, applyTaskMutation, formatUpsertFailure, isCommittingOp, singleItemOutcome };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as isCommittingOp, i as formatUpsertFailure, n as REF_PATTERN, o as singleItemOutcome, r as applyTaskMutation, t as MAX_UPSERT_ITEMS } from "./reducer-BEfJFM5L.mjs";
|
|
2
|
+
export { MAX_UPSERT_ITEMS, REF_PATTERN, applyTaskMutation, formatUpsertFailure, isCommittingOp, singleItemOutcome };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_taskGraph = require("./taskGraph-BskRslrr.cjs");
|
|
3
|
+
exports.deriveBlocks = require_taskGraph.deriveBlocks;
|
|
4
|
+
exports.detectCycle = require_taskGraph.detectCycle;
|
|
5
|
+
exports.isBlocked = require_taskGraph.isBlocked;
|
|
6
|
+
exports.isTaskListComplete = require_taskGraph.isTaskListComplete;
|
|
7
|
+
exports.unresolvedBlockers = require_taskGraph.unresolvedBlockers;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_task = require("./task-CXF9VULl.cjs");
|
|
3
|
+
exports.DELETED_STATUS = require_task.DELETED_STATUS;
|
|
4
|
+
exports.STORE_SCHEMA_VERSION = require_task.STORE_SCHEMA_VERSION;
|
|
5
|
+
exports.emptyDocument = require_task.emptyDocument;
|
|
6
|
+
exports.isDelegationActive = require_task.isDelegationActive;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { _ as UpsertSummary, a as DepToken, c as TaskAction, d as TaskDetails, f as TaskDocument, g as UpsertItemOutcome, h as TaskStatus, i as DelegationState, l as TaskAssignment, m as TaskMutationParams, n as DELETED_STATUS, o as STORE_SCHEMA_VERSION, p as TaskItemMutation, r as DelegationResult, s as Task, t as AssignmentSummary, u as TaskDelegation, v as emptyDocument, y as isDelegationActive } from "./task-hLh4BOO7.mjs";
|
|
2
|
+
export { AssignmentSummary, DELETED_STATUS, DelegationResult, DelegationState, DepToken, STORE_SCHEMA_VERSION, Task, TaskAction, TaskAssignment, TaskDelegation, TaskDetails, TaskDocument, TaskItemMutation, TaskMutationParams, TaskStatus, UpsertItemOutcome, UpsertSummary, emptyDocument, isDelegationActive };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-B4aF5J9s.mjs","names":[],"sources":["../src/constants/task.ts"],"sourcesContent":["export const COMMAND_NAME = 'tasks';\n"],"mappings":";AAAA,MAAa,eAAe"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
//#region src/models/task.ts
|
|
2
|
+
const DELETED_STATUS = "deleted";
|
|
3
|
+
const STORE_SCHEMA_VERSION = 1;
|
|
4
|
+
function emptyDocument() {
|
|
5
|
+
return {
|
|
6
|
+
version: 1,
|
|
7
|
+
rev: 0,
|
|
8
|
+
nextId: 1,
|
|
9
|
+
tasks: []
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* A delegation is "live" while the owning run may still produce a response.
|
|
14
|
+
*
|
|
15
|
+
* Takes the delegation shape rather than `Task` so the cockpit's `WebTask`,
|
|
16
|
+
* which carries the state as a plain string, answers the question the same way
|
|
17
|
+
* the store does.
|
|
18
|
+
*/
|
|
19
|
+
function isDelegationActive(task) {
|
|
20
|
+
const state = task.delegation?.state;
|
|
21
|
+
return state === "requested" || state === "running";
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
Object.defineProperty(exports, "DELETED_STATUS", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function() {
|
|
27
|
+
return DELETED_STATUS;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "STORE_SCHEMA_VERSION", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function() {
|
|
33
|
+
return STORE_SCHEMA_VERSION;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "emptyDocument", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function() {
|
|
39
|
+
return emptyDocument;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "isDelegationActive", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function() {
|
|
45
|
+
return isDelegationActive;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=task-CXF9VULl.cjs.map
|