@agimon-ai/doompi-task 0.0.1-alpha.80 → 0.0.1-alpha.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{src/schemas/apiContracts.cjs → apiContracts.cjs} +6 -3
- package/dist/apiContracts.cjs.map +1 -0
- package/dist/{src/schemas/apiContracts.d.mts.map → apiContracts.d.mts.map} +1 -1
- package/dist/{src/schemas/apiContracts.mjs → apiContracts.mjs} +2 -2
- package/dist/apiContracts.mjs.map +1 -0
- package/dist/commands.cjs +1 -1
- package/dist/commands.d.mts +20 -2
- package/dist/commands.d.mts.map +1 -0
- package/dist/commands.mjs +1 -1
- package/dist/{src/services/config/index.cjs → config-BPNE_wEU.cjs} +103 -18
- package/dist/config-BPNE_wEU.cjs.map +1 -0
- package/dist/{src/services/config/index.mjs → config-DmsCPDuF.mjs} +2 -2
- package/dist/config-DmsCPDuF.mjs.map +1 -0
- package/dist/config.cjs +18 -18
- package/dist/config.d.mts +1 -1
- package/dist/config.mjs +1 -1
- package/dist/{src/types/delegation.mjs → delegation-BiOy3_7g.mjs} +2 -2
- package/dist/delegation-BiOy3_7g.mjs.map +1 -0
- package/dist/{src/services/delegation/index.cjs → delegation-BtzyLnYM.cjs} +43 -14
- package/dist/delegation-BtzyLnYM.cjs.map +1 -0
- package/dist/{src/services/delegation/index.mjs → delegation-CTFGZtwp.mjs} +7 -7
- package/dist/delegation-CTFGZtwp.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/{src/services/contextContribution/index.cjs → delegationPlatform-Cfn-Lqew.cjs} +51 -7
- package/dist/delegationPlatform-Cfn-Lqew.cjs.map +1 -0
- package/dist/{src/services/contextContribution/index.mjs → delegationPlatform-DZ4SZ8a5.mjs} +20 -2
- package/dist/delegationPlatform-DZ4SZ8a5.mjs.map +1 -0
- package/dist/extensions/mcp.cjs +7 -7
- package/dist/extensions/mcp.cjs.map +1 -1
- package/dist/extensions/mcp.d.mts +1 -1
- package/dist/extensions/mcp.d.mts.map +1 -1
- package/dist/extensions/mcp.mjs +2 -2
- package/dist/extensions/mcp.mjs.map +1 -1
- package/dist/extensions/pi.cjs +408 -21
- package/dist/extensions/pi.cjs.map +1 -1
- package/dist/extensions/pi.d.mts +1 -1
- package/dist/extensions/pi.d.mts.map +1 -1
- package/dist/extensions/pi.mjs +399 -12
- package/dist/extensions/pi.mjs.map +1 -1
- package/dist/extensions/server.cjs +339 -16
- package/dist/extensions/server.cjs.map +1 -1
- package/dist/extensions/server.d.mts +1 -1
- package/dist/extensions/server.d.mts.map +1 -1
- package/dist/extensions/server.mjs +330 -7
- package/dist/extensions/server.mjs.map +1 -1
- package/dist/{src/extensions/workspaces/sessions/(frontend)/_shared/format.cli.cjs → format.cli-CKxfl-lR.cjs} +76 -16
- package/dist/format.cli-CKxfl-lR.cjs.map +1 -0
- package/dist/{src/extensions/workspaces/sessions/(frontend)/_shared/format.cli.mjs → format.cli-CuTlvk8J.mjs} +4 -4
- package/dist/format.cli-CuTlvk8J.mjs.map +1 -0
- package/dist/{src/services/taskStore/index.d.cts → index-B7oVjSey.d.mts} +7 -6
- package/dist/index-B7oVjSey.d.mts.map +1 -0
- package/dist/{src/services/reconcile/index.d.cts → index-BNMm9g0K.d.mts} +8 -7
- package/dist/index-BNMm9g0K.d.mts.map +1 -0
- package/dist/{src/services/delegation/index.d.cts → index-BUmf786V.d.mts} +17 -18
- package/dist/index-BUmf786V.d.mts.map +1 -0
- package/dist/index-C3DgOhEm.d.mts +51 -0
- package/dist/index-C3DgOhEm.d.mts.map +1 -0
- package/dist/index-D4goIk4Z.d.mts +43 -0
- package/dist/index-D4goIk4Z.d.mts.map +1 -0
- package/dist/{src/services/reducer/index.d.cts → index-DIpc6_uJ.d.mts} +12 -11
- package/dist/index-DIpc6_uJ.d.mts.map +1 -0
- package/dist/index-XY9VPmfm.d.mts +26 -0
- package/dist/index-XY9VPmfm.d.mts.map +1 -0
- package/dist/index.cjs +88 -88
- package/dist/index.d.mts +15 -15
- package/dist/index.mjs +15 -15
- package/dist/{src/services/invariants/index.cjs → invariants-DhjEjBPU.cjs} +19 -4
- package/dist/invariants-DhjEjBPU.cjs.map +1 -0
- package/dist/{src/services/invariants/index.mjs → invariants-q_UamF7D.mjs} +2 -2
- package/dist/invariants-q_UamF7D.mjs.map +1 -0
- package/dist/{src/services/logSinkTelemetry/index.mjs → logSinkTelemetry-C5QjZipw.mjs} +3 -3
- package/dist/logSinkTelemetry-C5QjZipw.mjs.map +1 -0
- package/dist/{src/services/logSinkTelemetry/index.cjs → logSinkTelemetry-CqiTuh3a.cjs} +14 -5
- package/dist/logSinkTelemetry-CqiTuh3a.cjs.map +1 -0
- package/dist/logSinkTelemetry.cjs +4 -4
- package/dist/logSinkTelemetry.d.mts +23 -3
- package/dist/logSinkTelemetry.d.mts.map +1 -0
- package/dist/logSinkTelemetry.mjs +2 -2
- package/dist/{src/services/paths/index.mjs → paths-Bg8EEbk1.mjs} +4 -4
- package/dist/paths-Bg8EEbk1.mjs.map +1 -0
- package/dist/{src/services/paths/index.cjs → paths-BsFVRulr.cjs} +109 -22
- package/dist/paths-BsFVRulr.cjs.map +1 -0
- package/dist/{src/services/processLiveness/index.mjs → processLiveness-Ccd9wenT.mjs} +2 -2
- package/dist/processLiveness-Ccd9wenT.mjs.map +1 -0
- package/dist/{src/services/processLiveness/index.cjs → processLiveness-umpNgsPR.cjs} +7 -2
- package/dist/processLiveness-umpNgsPR.cjs.map +1 -0
- package/dist/{src/constants/promptGuidelines.d.cts → promptGuidelines-DaxWrqud.d.mts} +3 -2
- package/dist/promptGuidelines-DaxWrqud.d.mts.map +1 -0
- package/dist/{src/constants/promptGuidelines.mjs → promptGuidelines-g4QT8GNM.mjs} +2 -2
- package/dist/promptGuidelines-g4QT8GNM.mjs.map +1 -0
- package/dist/{src/constants/promptGuidelines.cjs → promptGuidelines-j_SZTzlH.cjs} +7 -2
- package/dist/promptGuidelines-j_SZTzlH.cjs.map +1 -0
- package/dist/{src/services/reconcile/index.mjs → reconcile-BcD-hTbd.mjs} +4 -4
- package/dist/reconcile-BcD-hTbd.mjs.map +1 -0
- package/dist/{src/services/reconcile/index.cjs → reconcile-cRL0NjDr.cjs} +22 -7
- package/dist/reconcile-cRL0NjDr.cjs.map +1 -0
- package/dist/{src/services/reducer/index.mjs → reducer-BEfJFM5L.mjs} +5 -5
- package/dist/reducer-BEfJFM5L.mjs.map +1 -0
- package/dist/{src/services/reducer/index.cjs → reducer-BV0YIZ2o.cjs} +41 -11
- package/dist/reducer-BV0YIZ2o.cjs.map +1 -0
- package/dist/root.cli-BfEKqt8s.d.mts +56 -0
- package/dist/root.cli-BfEKqt8s.d.mts.map +1 -0
- package/dist/{src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.mjs → selectors-BaS6dObz.mjs} +3 -3
- package/dist/selectors-BaS6dObz.mjs.map +1 -0
- package/dist/{src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.d.mts → selectors-DPDPPjH3.d.mts} +15 -14
- package/dist/selectors-DPDPPjH3.d.mts.map +1 -0
- package/dist/{src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.cjs → selectors-b-69vb4W.cjs} +52 -12
- package/dist/selectors-b-69vb4W.cjs.map +1 -0
- package/dist/storeInvariants.cjs +5 -0
- package/dist/{src/services/invariants/index.d.cts → storeInvariants.d.mts} +2 -2
- 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/{src/services/processLiveness/index.d.mts → storeProcessLiveness.d.mts} +1 -1
- 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/{store-task-graph.cjs → storeTaskGraph.cjs} +1 -1
- 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/{store-types.cjs → storeTypes.cjs} +1 -1
- package/dist/storeTypes.d.mts +2 -0
- package/dist/storeTypes.mjs +2 -0
- package/dist/{src/constants/task.mjs → task-B4aF5J9s.mjs} +2 -2
- package/dist/task-B4aF5J9s.mjs.map +1 -0
- package/dist/{src/models/task.cjs → task-CXF9VULl.cjs} +25 -5
- 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/{src/schemas/task.d.cts → task-DHSvdK6E.d.mts} +19 -20
- package/dist/task-DHSvdK6E.d.mts.map +1 -0
- package/dist/{src/schemas/task.mjs → task-DKHKuems.mjs} +3 -4
- 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/{src/schemas/task.cjs → task-Dqy88_rr.cjs} +80 -17
- package/dist/task-Dqy88_rr.cjs.map +1 -0
- package/dist/{src/models/task.mjs → task-giCbpKzV.mjs} +2 -2
- package/dist/task-giCbpKzV.mjs.map +1 -0
- package/dist/{src/models/task.d.mts → task-hLh4BOO7.d.mts} +21 -20
- package/dist/task-hLh4BOO7.d.mts.map +1 -0
- package/dist/{src/extensions/workspaces/sessions/(frontend)/overlay/_lib/task-space.cli.cjs → task-space.cli-BdDqn-_h.cjs} +33 -19
- package/dist/task-space.cli-BdDqn-_h.cjs.map +1 -0
- package/dist/{src/extensions/workspaces/sessions/(frontend)/overlay/_lib/task-space.cli.mjs → task-space.cli-DowNll0k.mjs} +9 -9
- package/dist/task-space.cli-DowNll0k.mjs.map +1 -0
- package/dist/{src/extensions/workspaces/sessions/(backend)/tool/_lib/task.cli.mjs → task.cli-BM34E7GG.mjs} +10 -10
- package/dist/task.cli-BM34E7GG.mjs.map +1 -0
- package/dist/{src/extensions/workspaces/sessions/(backend)/tool/_lib/task.cli.cjs → task.cli-CiTkjUaX.cjs} +37 -23
- package/dist/task.cli-CiTkjUaX.cjs.map +1 -0
- package/dist/{src/models/taskGraph.mjs → taskGraph-BOQvT0-M.mjs} +2 -2
- package/dist/taskGraph-BOQvT0-M.mjs.map +1 -0
- package/dist/{src/models/taskGraph.cjs → taskGraph-BskRslrr.cjs} +31 -6
- package/dist/taskGraph-BskRslrr.cjs.map +1 -0
- package/dist/{src/models/taskGraph.d.mts → taskGraph-YQXCfXTn.d.mts} +8 -7
- package/dist/taskGraph-YQXCfXTn.d.mts.map +1 -0
- package/dist/{src/extensions/workspaces/sessions/(frontend)/overlay/_lib/taskOverlay.cjs → taskOverlay-BKiu4cVj.cjs} +19 -9
- package/dist/taskOverlay-BKiu4cVj.cjs.map +1 -0
- package/dist/{src/extensions/workspaces/sessions/(frontend)/overlay/_lib/taskOverlay.mjs → taskOverlay-DVvLdTtf.mjs} +5 -5
- package/dist/taskOverlay-DVvLdTtf.mjs.map +1 -0
- package/dist/{src/services/taskResult/index.cjs → taskResult-D2G7b4w-.cjs} +62 -12
- package/dist/taskResult-D2G7b4w-.cjs.map +1 -0
- package/dist/{src/services/taskResult/index.mjs → taskResult-edBAAKSH.mjs} +3 -3
- package/dist/taskResult-edBAAKSH.mjs.map +1 -0
- package/dist/{src/services/taskStore/index.mjs → taskStore-CFx12KJk.mjs} +8 -8
- package/dist/taskStore-CFx12KJk.mjs.map +1 -0
- package/dist/{src/services/taskStore/index.cjs → taskStore-T1pPy-UJ.cjs} +21 -17
- package/dist/{src/services/taskStore/index.mjs.map → taskStore-T1pPy-UJ.cjs.map} +1 -1
- package/dist/{src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.cli.cjs → tasks.cli-8VvuN9YQ.cjs} +15 -5
- package/dist/tasks.cli-8VvuN9YQ.cjs.map +1 -0
- package/dist/{src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.cli.mjs → tasks.cli-BZj83YD_.mjs} +4 -4
- package/dist/tasks.cli-BZj83YD_.mjs.map +1 -0
- package/dist/{src/types/telemetry.d.mts → telemetry-DOyZLj8E.d.mts} +8 -7
- package/dist/telemetry-DOyZLj8E.d.mts.map +1 -0
- package/dist/{src/types/telemetry.cjs → telemetry-I4md7Xzz.cjs} +7 -2
- package/dist/telemetry-I4md7Xzz.cjs.map +1 -0
- package/dist/{src/types/telemetry.mjs → telemetry-PmX_1Y8a.mjs} +2 -2
- package/dist/telemetry-PmX_1Y8a.mjs.map +1 -0
- package/dist/{tool-prompt-guidelines.cjs → toolPromptGuidelines.cjs} +1 -1
- 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/{tool-schema.cjs → toolSchema.cjs} +2 -2
- package/dist/toolSchema.d.mts +3 -0
- package/dist/toolSchema.mjs +3 -0
- package/dist/{tool-task-tool.cjs → toolTaskTool.cjs} +2 -2
- package/dist/toolTaskTool.d.mts +3 -0
- package/dist/toolTaskTool.mjs +3 -0
- package/dist/{tui-format.cjs → tuiFormat.cjs} +1 -1
- package/dist/{src/extensions/workspaces/sessions/(frontend)/_shared/format.cli.d.cts → tuiFormat.d.mts} +4 -4
- package/dist/tuiFormat.d.mts.map +1 -0
- package/dist/tuiFormat.mjs +2 -0
- package/dist/{tui-selectors.cjs → tuiSelectors.cjs} +1 -1
- package/dist/tuiSelectors.d.mts +2 -0
- package/dist/tuiSelectors.mjs +2 -0
- package/dist/{tui-task-overlay.cjs → tuiTaskOverlay.cjs} +1 -1
- package/dist/{src/extensions/workspaces/sessions/(frontend)/overlay/_lib/taskOverlay.d.cts → tuiTaskOverlay.d.mts} +3 -3
- package/dist/tuiTaskOverlay.d.mts.map +1 -0
- package/dist/tuiTaskOverlay.mjs +2 -0
- package/dist/{tui-task-space.cjs → tuiTaskSpace.cjs} +2 -2
- package/dist/{src/extensions/workspaces/sessions/(frontend)/overlay/_lib/task-space.cli.d.mts → tuiTaskSpace.d.mts} +3 -4
- package/dist/tuiTaskSpace.d.mts.map +1 -0
- package/dist/tuiTaskSpace.mjs +2 -0
- package/package.json +95 -94
- package/dist/_virtual/_rolldown/runtime.cjs +0 -23
- package/dist/api-contracts.cjs +0 -7
- package/dist/api-contracts.d.cts +0 -2
- package/dist/api-contracts.d.mts +0 -2
- package/dist/api-contracts.mjs +0 -2
- package/dist/commands.d.cts +0 -2
- package/dist/config.d.cts +0 -2
- package/dist/delegation-manager.cjs +0 -10
- package/dist/delegation-manager.d.cts +0 -3
- package/dist/delegation-manager.d.mts +0 -3
- package/dist/delegation-manager.mjs +0 -3
- package/dist/extensions/mcp.d.cts +0 -5
- package/dist/extensions/mcp.d.cts.map +0 -1
- package/dist/extensions/pi.d.cts +0 -5
- package/dist/extensions/pi.d.cts.map +0 -1
- package/dist/extensions/server.d.cts +0 -5
- package/dist/extensions/server.d.cts.map +0 -1
- package/dist/index.d.cts +0 -16
- package/dist/logSinkTelemetry.d.cts +0 -3
- package/dist/src/constants/promptGuidelines.cjs.map +0 -1
- package/dist/src/constants/promptGuidelines.d.cts.map +0 -1
- package/dist/src/constants/promptGuidelines.d.mts +0 -13
- package/dist/src/constants/promptGuidelines.d.mts.map +0 -1
- package/dist/src/constants/promptGuidelines.mjs.map +0 -1
- package/dist/src/constants/task.cjs +0 -6
- package/dist/src/constants/task.cjs.map +0 -1
- package/dist/src/constants/task.d.cts +0 -4
- package/dist/src/constants/task.d.cts.map +0 -1
- package/dist/src/constants/task.d.mts +0 -4
- package/dist/src/constants/task.d.mts.map +0 -1
- package/dist/src/constants/task.mjs.map +0 -1
- package/dist/src/extensions/(backend)/channel/_lib/task-graph.cjs +0 -90
- package/dist/src/extensions/(backend)/channel/_lib/task-graph.cjs.map +0 -1
- package/dist/src/extensions/(backend)/channel/_lib/task-graph.mjs +0 -89
- package/dist/src/extensions/(backend)/channel/_lib/task-graph.mjs.map +0 -1
- package/dist/src/extensions/(backend)/channel/task-graph.server.cjs +0 -7
- package/dist/src/extensions/(backend)/channel/task-graph.server.cjs.map +0 -1
- package/dist/src/extensions/(backend)/channel/task-graph.server.mjs +0 -8
- package/dist/src/extensions/(backend)/channel/task-graph.server.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.cli.cjs +0 -317
- package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.cli.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.cli.d.cts +0 -39
- package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.cli.d.cts.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.cli.d.mts +0 -39
- package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.cli.d.mts.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.cli.mjs +0 -317
- package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.cli.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.server.cjs +0 -95
- package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.server.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.server.mjs +0 -95
- package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.server.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.cli.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.cli.d.cts +0 -20
- package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.cli.d.cts.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.cli.d.mts +0 -20
- package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.cli.d.mts.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.cli.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.server.cjs +0 -19
- package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.server.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.server.mjs +0 -19
- package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/tasks.server.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/command/tasks.cli.cjs +0 -8
- package/dist/src/extensions/workspaces/sessions/(backend)/command/tasks.cli.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/command/tasks.cli.mjs +0 -9
- package/dist/src/extensions/workspaces/sessions/(backend)/command/tasks.cli.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/command/tasks.server.cjs +0 -7
- package/dist/src/extensions/workspaces/sessions/(backend)/command/tasks.server.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/command/tasks.server.mjs +0 -8
- package/dist/src/extensions/workspaces/sessions/(backend)/command/tasks.server.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-compact.cli.cjs +0 -6
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-compact.cli.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-compact.cli.mjs +0 -6
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-compact.cli.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-start.cli.cjs +0 -6
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-start.cli.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-start.cli.mjs +0 -6
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-start.cli.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-tree.cli.cjs +0 -6
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-tree.cli.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-tree.cli.mjs +0 -6
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/session-tree.cli.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/tool-execution-end.cli.cjs +0 -6
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/tool-execution-end.cli.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/tool-execution-end.cli.mjs +0 -6
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/_lib/tool-execution-end.cli.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-compact.cli.cjs +0 -7
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-compact.cli.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-compact.cli.mjs +0 -8
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-compact.cli.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.cjs +0 -7
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.mjs +0 -8
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-tree.cli.cjs +0 -7
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-tree.cli.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-tree.cli.mjs +0 -8
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-tree.cli.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-execution-end.cli.cjs +0 -7
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-execution-end.cli.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-execution-end.cli.mjs +0 -8
- package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-execution-end.cli.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/task-board.server.cjs +0 -20
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/task-board.server.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/task-board.server.mjs +0 -20
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/task-board.server.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/task-board.server.cjs +0 -7
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/task-board.server.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/task-board.server.mjs +0 -8
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/task-board.server.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.cjs +0 -11
- package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.mjs +0 -12
- package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/root.server.cjs +0 -7
- package/dist/src/extensions/workspaces/sessions/(backend)/root.server.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/root.server.mjs +0 -8
- package/dist/src/extensions/workspaces/sessions/(backend)/root.server.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/task.cli.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/task.cli.d.cts +0 -25
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/task.cli.d.cts.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/task.cli.d.mts +0 -25
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/task.cli.d.mts.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/task.cli.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/task.server.cjs +0 -7
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/task.server.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/task.server.mjs +0 -8
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/task.server.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/task.cli.cjs +0 -7
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/task.cli.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/task.cli.mjs +0 -8
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/task.cli.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/task.server.cjs +0 -7
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/task.server.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/task.server.mjs +0 -8
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/task.server.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/_shared/format.cli.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/_shared/format.cli.d.cts.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/_shared/format.cli.d.mts +0 -61
- package/dist/src/extensions/workspaces/sessions/(frontend)/_shared/format.cli.d.mts.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/_shared/format.cli.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/message/doom-task-notify.cli.cjs +0 -9
- package/dist/src/extensions/workspaces/sessions/(frontend)/message/doom-task-notify.cli.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/message/doom-task-notify.cli.mjs +0 -9
- package/dist/src/extensions/workspaces/sessions/(frontend)/message/doom-task-notify.cli.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.d.cts +0 -59
- package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.d.cts.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.d.mts.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/selectors.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/task-space.cli.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/task-space.cli.d.cts +0 -61
- package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/task-space.cli.d.cts.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/task-space.cli.d.mts.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/task-space.cli.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/taskOverlay.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/taskOverlay.d.cts.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/taskOverlay.d.mts +0 -39
- package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/taskOverlay.d.mts.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/overlay/_lib/taskOverlay.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/tool/_lib/task.cli.cjs +0 -13
- package/dist/src/extensions/workspaces/sessions/(frontend)/tool/_lib/task.cli.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/tool/_lib/task.cli.mjs +0 -13
- package/dist/src/extensions/workspaces/sessions/(frontend)/tool/_lib/task.cli.mjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/tool/task.cli.cjs +0 -7
- package/dist/src/extensions/workspaces/sessions/(frontend)/tool/task.cli.cjs.map +0 -1
- package/dist/src/extensions/workspaces/sessions/(frontend)/tool/task.cli.mjs +0 -8
- package/dist/src/extensions/workspaces/sessions/(frontend)/tool/task.cli.mjs.map +0 -1
- package/dist/src/models/task.cjs.map +0 -1
- package/dist/src/models/task.d.cts +0 -186
- package/dist/src/models/task.d.cts.map +0 -1
- package/dist/src/models/task.d.mts.map +0 -1
- package/dist/src/models/task.mjs.map +0 -1
- package/dist/src/models/taskGraph.cjs.map +0 -1
- package/dist/src/models/taskGraph.d.cts +0 -24
- package/dist/src/models/taskGraph.d.cts.map +0 -1
- package/dist/src/models/taskGraph.d.mts.map +0 -1
- package/dist/src/models/taskGraph.mjs.map +0 -1
- package/dist/src/schemas/apiContracts.cjs.map +0 -1
- package/dist/src/schemas/apiContracts.d.cts +0 -53
- package/dist/src/schemas/apiContracts.d.cts.map +0 -1
- package/dist/src/schemas/apiContracts.mjs.map +0 -1
- package/dist/src/schemas/task.cjs.map +0 -1
- package/dist/src/schemas/task.d.cts.map +0 -1
- package/dist/src/schemas/task.d.mts +0 -103
- package/dist/src/schemas/task.d.mts.map +0 -1
- package/dist/src/schemas/task.mjs.map +0 -1
- package/dist/src/services/config/index.cjs.map +0 -1
- package/dist/src/services/config/index.d.cts +0 -42
- package/dist/src/services/config/index.d.cts.map +0 -1
- package/dist/src/services/config/index.d.mts +0 -42
- package/dist/src/services/config/index.d.mts.map +0 -1
- package/dist/src/services/config/index.mjs.map +0 -1
- package/dist/src/services/contextContribution/index.cjs.map +0 -1
- package/dist/src/services/contextContribution/index.mjs.map +0 -1
- package/dist/src/services/delegation/index.cjs.map +0 -1
- package/dist/src/services/delegation/index.d.cts.map +0 -1
- package/dist/src/services/delegation/index.d.mts +0 -192
- package/dist/src/services/delegation/index.d.mts.map +0 -1
- package/dist/src/services/delegation/index.mjs.map +0 -1
- package/dist/src/services/delegationPlatform/index.cjs +0 -23
- package/dist/src/services/delegationPlatform/index.cjs.map +0 -1
- package/dist/src/services/delegationPlatform/index.mjs +0 -21
- package/dist/src/services/delegationPlatform/index.mjs.map +0 -1
- package/dist/src/services/invariants/index.cjs.map +0 -1
- package/dist/src/services/invariants/index.d.cts.map +0 -1
- package/dist/src/services/invariants/index.d.mts +0 -23
- package/dist/src/services/invariants/index.d.mts.map +0 -1
- package/dist/src/services/invariants/index.mjs.map +0 -1
- package/dist/src/services/logSinkTelemetry/index.cjs.map +0 -1
- package/dist/src/services/logSinkTelemetry/index.d.cts +0 -23
- package/dist/src/services/logSinkTelemetry/index.d.cts.map +0 -1
- package/dist/src/services/logSinkTelemetry/index.d.mts +0 -23
- package/dist/src/services/logSinkTelemetry/index.d.mts.map +0 -1
- package/dist/src/services/logSinkTelemetry/index.mjs.map +0 -1
- package/dist/src/services/paths/index.cjs.map +0 -1
- package/dist/src/services/paths/index.d.cts +0 -25
- package/dist/src/services/paths/index.d.cts.map +0 -1
- package/dist/src/services/paths/index.d.mts +0 -25
- package/dist/src/services/paths/index.d.mts.map +0 -1
- package/dist/src/services/paths/index.mjs.map +0 -1
- package/dist/src/services/processLiveness/index.cjs.map +0 -1
- package/dist/src/services/processLiveness/index.d.cts +0 -11
- package/dist/src/services/processLiveness/index.d.cts.map +0 -1
- package/dist/src/services/processLiveness/index.d.mts.map +0 -1
- package/dist/src/services/processLiveness/index.mjs.map +0 -1
- package/dist/src/services/reconcile/index.cjs.map +0 -1
- package/dist/src/services/reconcile/index.d.cts.map +0 -1
- package/dist/src/services/reconcile/index.d.mts +0 -33
- package/dist/src/services/reconcile/index.d.mts.map +0 -1
- package/dist/src/services/reconcile/index.mjs.map +0 -1
- package/dist/src/services/reducer/index.cjs.map +0 -1
- package/dist/src/services/reducer/index.d.cts.map +0 -1
- package/dist/src/services/reducer/index.d.mts +0 -71
- package/dist/src/services/reducer/index.d.mts.map +0 -1
- package/dist/src/services/reducer/index.mjs.map +0 -1
- package/dist/src/services/taskNarration/index.cjs +0 -32
- package/dist/src/services/taskNarration/index.cjs.map +0 -1
- package/dist/src/services/taskNarration/index.mjs +0 -32
- package/dist/src/services/taskNarration/index.mjs.map +0 -1
- package/dist/src/services/taskResult/index.cjs.map +0 -1
- package/dist/src/services/taskResult/index.d.cts +0 -50
- package/dist/src/services/taskResult/index.d.cts.map +0 -1
- package/dist/src/services/taskResult/index.d.mts +0 -50
- package/dist/src/services/taskResult/index.d.mts.map +0 -1
- package/dist/src/services/taskResult/index.mjs.map +0 -1
- package/dist/src/services/taskStore/index.cjs.map +0 -1
- package/dist/src/services/taskStore/index.d.cts.map +0 -1
- package/dist/src/services/taskStore/index.d.mts +0 -69
- package/dist/src/services/taskStore/index.d.mts.map +0 -1
- package/dist/src/services/taskTool/index.cjs +0 -106
- package/dist/src/services/taskTool/index.cjs.map +0 -1
- package/dist/src/services/taskTool/index.mjs +0 -105
- package/dist/src/services/taskTool/index.mjs.map +0 -1
- package/dist/src/types/delegation.cjs +0 -7
- package/dist/src/types/delegation.cjs.map +0 -1
- package/dist/src/types/delegation.d.cts +0 -5
- package/dist/src/types/delegation.d.cts.map +0 -1
- package/dist/src/types/delegation.d.mts +0 -5
- package/dist/src/types/delegation.d.mts.map +0 -1
- package/dist/src/types/delegation.mjs.map +0 -1
- package/dist/src/types/telemetry.cjs.map +0 -1
- package/dist/src/types/telemetry.d.cts +0 -35
- package/dist/src/types/telemetry.d.cts.map +0 -1
- package/dist/src/types/telemetry.d.mts.map +0 -1
- package/dist/src/types/telemetry.mjs.map +0 -1
- package/dist/src/types/webTasks.cjs +0 -7
- package/dist/src/types/webTasks.cjs.map +0 -1
- package/dist/src/types/webTasks.mjs +0 -7
- package/dist/src/types/webTasks.mjs.map +0 -1
- package/dist/store-invariants.cjs +0 -5
- package/dist/store-invariants.d.cts +0 -2
- package/dist/store-invariants.d.mts +0 -2
- package/dist/store-invariants.mjs +0 -2
- package/dist/store-paths.cjs +0 -14
- package/dist/store-paths.d.cts +0 -2
- package/dist/store-paths.d.mts +0 -2
- package/dist/store-paths.mjs +0 -2
- package/dist/store-process-liveness.cjs +0 -3
- package/dist/store-process-liveness.d.cts +0 -2
- package/dist/store-process-liveness.d.mts +0 -2
- package/dist/store-process-liveness.mjs +0 -2
- package/dist/store-reconcile.cjs +0 -5
- package/dist/store-reconcile.d.cts +0 -2
- package/dist/store-reconcile.d.mts +0 -2
- package/dist/store-reconcile.mjs +0 -2
- package/dist/store-reducer.cjs +0 -8
- package/dist/store-reducer.d.cts +0 -2
- package/dist/store-reducer.d.mts +0 -2
- package/dist/store-reducer.mjs +0 -2
- package/dist/store-task-graph.d.cts +0 -2
- package/dist/store-task-graph.d.mts +0 -2
- package/dist/store-task-graph.mjs +0 -2
- package/dist/store-task-store.cjs +0 -3
- package/dist/store-task-store.d.cts +0 -2
- package/dist/store-task-store.d.mts +0 -2
- package/dist/store-task-store.mjs +0 -2
- package/dist/store-types.d.cts +0 -2
- package/dist/store-types.d.mts +0 -2
- package/dist/store-types.mjs +0 -2
- package/dist/tool-prompt-guidelines.d.cts +0 -2
- package/dist/tool-prompt-guidelines.d.mts +0 -2
- package/dist/tool-prompt-guidelines.mjs +0 -2
- package/dist/tool-response-envelope.cjs +0 -12
- package/dist/tool-response-envelope.d.cts +0 -2
- package/dist/tool-response-envelope.d.mts +0 -2
- package/dist/tool-response-envelope.mjs +0 -2
- package/dist/tool-schema.d.cts +0 -3
- package/dist/tool-schema.d.mts +0 -3
- package/dist/tool-schema.mjs +0 -3
- package/dist/tool-task-tool.d.cts +0 -3
- package/dist/tool-task-tool.d.mts +0 -3
- package/dist/tool-task-tool.mjs +0 -3
- package/dist/tui-format.d.cts +0 -2
- package/dist/tui-format.d.mts +0 -2
- package/dist/tui-format.mjs +0 -2
- package/dist/tui-selectors.d.cts +0 -2
- package/dist/tui-selectors.d.mts +0 -2
- package/dist/tui-selectors.mjs +0 -2
- package/dist/tui-task-overlay.d.cts +0 -2
- package/dist/tui-task-overlay.d.mts +0 -2
- package/dist/tui-task-overlay.mjs +0 -2
- package/dist/tui-task-space.d.cts +0 -2
- package/dist/tui-task-space.d.mts +0 -2
- package/dist/tui-task-space.mjs +0 -2
- /package/dist/{src/schemas/apiContracts.d.mts → apiContracts.d.mts} +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import "
|
|
2
|
-
import { COMMAND_NAME } from "../constants/task.mjs";
|
|
1
|
+
import "./delegation-BiOy3_7g.mjs";
|
|
3
2
|
import { InlineAgentSchema } from "@agimon-ai/doompi-core/delegation";
|
|
4
3
|
import { Type } from "typebox";
|
|
5
4
|
//#region src/schemas/task.ts
|
|
@@ -112,6 +111,6 @@ const TaskParamsSchema = Type.Object({
|
|
|
112
111
|
includeDeleted: Type.Optional(Type.Boolean({ description: "list only: also return deleted tombstones. Default false." }))
|
|
113
112
|
});
|
|
114
113
|
//#endregion
|
|
115
|
-
export {
|
|
114
|
+
export { TASK_ACTION_FIELDS as a, TOOL_LABEL as c, TaskItemSchema as d, TaskParamsSchema as f, TASK_ACTIONS as i, TOOL_NAME as l, MSG_NO_TASKS as n, TASK_CONTEXTS as o, taskActionAcceptsField as p, MSG_UPSERT_FIELD_MISPLACED as r, TASK_STATUSES as s, ERR_REQUIRES_INTERACTIVE as t, TaskAssignmentSchema as u };
|
|
116
115
|
|
|
117
|
-
//# sourceMappingURL=task.mjs.map
|
|
116
|
+
//# sourceMappingURL=task-DKHKuems.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-DKHKuems.mjs","names":[],"sources":["../src/schemas/task.ts"],"sourcesContent":["export { COMMAND_NAME } from '../constants/task';\nimport { InlineAgentSchema } from '@agimon-ai/doompi-core/delegation';\nimport { type Static, Type } from 'typebox';\n\nimport type { TaskAction } from '../models/task';\nimport { MAX_BRIEF_FILES } from '../types/delegation';\n\nexport const TASK_ACTIONS = ['upsert', 'list', 'get', 'delete', 'clear', 'assign', 'cancel'] as const;\nexport const TASK_STATUSES = ['pending', 'in_progress', 'completed', 'failed', 'deleted'] as const;\nexport const TASK_CONTEXTS = ['fresh', 'fork'] as const;\n\nexport const TOOL_NAME = 'task';\nexport const TOOL_LABEL = 'Task';\n\nexport const ERR_REQUIRES_INTERACTIVE = '/tasks requires interactive mode';\nexport const MSG_NO_TASKS = 'No tasks yet. Ask the agent to add some!';\n\n/**\n * Which top-level fields each action accepts.\n *\n * The params object is flat and shared across every action, so the schema alone\n * cannot express \"upsert has no top-level id\". That gap matters: a call like\n * `{\"action\":\"upsert\",\"id\":3,\"tasks\":[{\"status\":\"completed\"}]}` would otherwise\n * silently create a duplicate task, because the entry itself carries no id.\n */\nexport const TASK_ACTION_FIELDS = {\n upsert: ['action', 'tasks'],\n list: ['action', 'status', 'includeDeleted'],\n get: ['action', 'id'],\n delete: ['action', 'id'],\n clear: ['action'],\n assign: ['action', 'assignments'],\n cancel: ['action', 'id'],\n} as const satisfies Record<TaskAction, readonly string[]>;\n\nexport function taskActionAcceptsField(action: TaskAction, field: string): boolean {\n return (TASK_ACTION_FIELDS[action] as readonly string[]).includes(field);\n}\n\n/** Correction hint appended when a per-task field lands at the top level. */\nexport const MSG_UPSERT_FIELD_MISPLACED =\n 'Per-task fields belong inside each tasks[] entry, not at the top level: {\"action\":\"upsert\",\"tasks\":[{\"id\":3,\"status\":\"completed\"}]}.';\n\n/**\n * A dependency target: an existing task id, or the `ref` of a task created\n * earlier in the same call.\n */\nconst DepTokenSchema = Type.Union([Type.Integer(), Type.String()]);\n\n/**\n * One entry of an upsert. `additionalProperties: false` is load-bearing: pi\n * validates tool arguments against this schema before `execute` runs, so a\n * stray `{\"action\":\"update\"}` inside an entry is rejected at the boundary.\n */\nexport const TaskItemSchema = Type.Object(\n {\n id: Type.Optional(\n Type.Integer({\n description:\n 'Existing task id to change. Omit to create. An unknown id fails only that entry; it never creates.',\n }),\n ),\n ref: Type.Optional(\n Type.String({\n description:\n 'Temporary name for a task created by this entry, so a LATER entry in this array can list it in blockedBy. Must start with a letter; never stored.',\n }),\n ),\n subject: Type.Optional(\n Type.String({\n description: 'Short imperative subject. Required when the entry has no id; on an entry with an id it renames.',\n }),\n ),\n description: Type.Optional(\n Type.String({ description: 'Long-form detail; becomes the brief handed to the subagent on assign.' }),\n ),\n activeForm: Type.Optional(\n Type.String({ description: \"Present-continuous label shown while in_progress (e.g. 'writing tests')\" }),\n ),\n status: Type.Optional(\n Type.String({\n enum: [...TASK_STATUSES],\n description:\n 'New entries default to pending and cannot start deleted; on an entry with an id the transition must be legal.',\n }),\n ),\n blockedBy: Type.Optional(\n Type.Array(DepTokenSchema, {\n description:\n 'Dependencies for a NEW entry: task ids, or refs of tasks created EARLIER in this array. On an entry with an id use addBlockedBy / removeBlockedBy instead.',\n }),\n ),\n addBlockedBy: Type.Optional(\n Type.Array(DepTokenSchema, {\n description: 'Dependencies to add (ids or earlier refs). Additive; do not resend the full array.',\n }),\n ),\n removeBlockedBy: Type.Optional(\n Type.Array(DepTokenSchema, {\n description: 'Dependencies to remove. Additive; do not resend the full array.',\n }),\n ),\n owner: Type.Optional(Type.String({ description: 'Owner label; assign sets it to the subagent name.' })),\n metadata: Type.Optional(\n Type.Record(Type.String(), Type.Unknown(), {\n description: 'Merged into the task; a null value deletes that key.',\n }),\n ),\n },\n { additionalProperties: false },\n);\n\n/** One task-to-agent handoff in a native assignment batch. */\nexport const TaskAssignmentSchema = Type.Object(\n {\n id: Type.Integer({ description: 'Pending, unblocked task id to delegate' }),\n agent: Type.String({ description: 'Exact discovered subagent name' }),\n inlineAgent: Type.Optional(InlineAgentSchema),\n instructions: Type.Optional(Type.String({ description: 'Extra instructions appended to this delegated brief' })),\n relevantFiles: Type.Optional(\n Type.Array(Type.String(), {\n description: `Files already read or located, relative to the working directory; at most ${MAX_BRIEF_FILES} are used.`,\n }),\n ),\n priorFindings: Type.Optional(\n Type.String({ description: 'Established facts this child should consume rather than re-derive' }),\n ),\n model: Type.Optional(Type.String({ description: 'Model override for this delegated run' })),\n context: Type.Optional(\n Type.String({\n enum: [...TASK_CONTEXTS],\n description: \"Starting context for this child: 'fresh' or 'fork'\",\n }),\n ),\n },\n { additionalProperties: false },\n);\n\n/**\n * Tool parameters. Every `description` doubles as LLM-facing prompt copy, so\n * wording changes here change model behaviour.\n */\nexport const TaskParamsSchema = Type.Object({\n action: Type.String({ enum: [...TASK_ACTIONS] }),\n tasks: Type.Optional(\n Type.Array(TaskItemSchema, {\n minItems: 1,\n description:\n 'upsert only. An entry with an id changes that task, an entry without an id creates one. Entries apply in array order, so a later entry can depend on an earlier one by ref.',\n }),\n ),\n assignments: Type.Optional(\n Type.Array(TaskAssignmentSchema, {\n minItems: 1,\n description: 'Required for assign, one entry per task, including when there is only one.',\n }),\n ),\n id: Type.Optional(\n Type.Integer({\n description:\n 'Task id, for get, delete and cancel. Not accepted by upsert or assign: those carry ids inside tasks[] and assignments[] entries.',\n }),\n ),\n status: Type.Optional(\n Type.String({\n enum: [...TASK_STATUSES],\n description: 'list only: return just the tasks in this status. To SET a status, upsert the task by id.',\n }),\n ),\n includeDeleted: Type.Optional(\n Type.Boolean({ description: 'list only: also return deleted tombstones. Default false.' }),\n ),\n});\n\nexport type TaskItemParams = Static<typeof TaskItemSchema>;\nexport type TaskAssignmentParams = Static<typeof TaskAssignmentSchema>;\nexport type TaskParams = Static<typeof TaskParamsSchema>;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-DaagqdPK.cjs","names":[],"sources":["../src/constants/task.ts"],"sourcesContent":["export const COMMAND_NAME = 'tasks';\n"],"mappings":";AAAA,MAAa,eAAe"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
require("
|
|
2
|
-
const require_task = require("../constants/task.cjs");
|
|
1
|
+
require("./delegation-LDpHP2CC.cjs");
|
|
3
2
|
let _agimon_ai_doompi_core_delegation = require("@agimon-ai/doompi-core/delegation");
|
|
4
3
|
let typebox = require("typebox");
|
|
5
4
|
//#region src/schemas/task.ts
|
|
@@ -112,19 +111,83 @@ const TaskParamsSchema = typebox.Type.Object({
|
|
|
112
111
|
includeDeleted: typebox.Type.Optional(typebox.Type.Boolean({ description: "list only: also return deleted tombstones. Default false." }))
|
|
113
112
|
});
|
|
114
113
|
//#endregion
|
|
115
|
-
exports
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
exports
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
exports
|
|
128
|
-
|
|
114
|
+
Object.defineProperty(exports, "ERR_REQUIRES_INTERACTIVE", {
|
|
115
|
+
enumerable: true,
|
|
116
|
+
get: function() {
|
|
117
|
+
return ERR_REQUIRES_INTERACTIVE;
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
Object.defineProperty(exports, "MSG_NO_TASKS", {
|
|
121
|
+
enumerable: true,
|
|
122
|
+
get: function() {
|
|
123
|
+
return MSG_NO_TASKS;
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
Object.defineProperty(exports, "MSG_UPSERT_FIELD_MISPLACED", {
|
|
127
|
+
enumerable: true,
|
|
128
|
+
get: function() {
|
|
129
|
+
return MSG_UPSERT_FIELD_MISPLACED;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
Object.defineProperty(exports, "TASK_ACTIONS", {
|
|
133
|
+
enumerable: true,
|
|
134
|
+
get: function() {
|
|
135
|
+
return TASK_ACTIONS;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
Object.defineProperty(exports, "TASK_ACTION_FIELDS", {
|
|
139
|
+
enumerable: true,
|
|
140
|
+
get: function() {
|
|
141
|
+
return TASK_ACTION_FIELDS;
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
Object.defineProperty(exports, "TASK_CONTEXTS", {
|
|
145
|
+
enumerable: true,
|
|
146
|
+
get: function() {
|
|
147
|
+
return TASK_CONTEXTS;
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
Object.defineProperty(exports, "TASK_STATUSES", {
|
|
151
|
+
enumerable: true,
|
|
152
|
+
get: function() {
|
|
153
|
+
return TASK_STATUSES;
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
Object.defineProperty(exports, "TOOL_LABEL", {
|
|
157
|
+
enumerable: true,
|
|
158
|
+
get: function() {
|
|
159
|
+
return TOOL_LABEL;
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
Object.defineProperty(exports, "TOOL_NAME", {
|
|
163
|
+
enumerable: true,
|
|
164
|
+
get: function() {
|
|
165
|
+
return TOOL_NAME;
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
Object.defineProperty(exports, "TaskAssignmentSchema", {
|
|
169
|
+
enumerable: true,
|
|
170
|
+
get: function() {
|
|
171
|
+
return TaskAssignmentSchema;
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
Object.defineProperty(exports, "TaskItemSchema", {
|
|
175
|
+
enumerable: true,
|
|
176
|
+
get: function() {
|
|
177
|
+
return TaskItemSchema;
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
Object.defineProperty(exports, "TaskParamsSchema", {
|
|
181
|
+
enumerable: true,
|
|
182
|
+
get: function() {
|
|
183
|
+
return TaskParamsSchema;
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
Object.defineProperty(exports, "taskActionAcceptsField", {
|
|
187
|
+
enumerable: true,
|
|
188
|
+
get: function() {
|
|
189
|
+
return taskActionAcceptsField;
|
|
190
|
+
}
|
|
191
|
+
});
|
|
129
192
|
|
|
130
|
-
//# sourceMappingURL=task.cjs.map
|
|
193
|
+
//# sourceMappingURL=task-Dqy88_rr.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-Dqy88_rr.cjs","names":["Type","InlineAgentSchema"],"sources":["../src/schemas/task.ts"],"sourcesContent":["export { COMMAND_NAME } from '../constants/task';\nimport { InlineAgentSchema } from '@agimon-ai/doompi-core/delegation';\nimport { type Static, Type } from 'typebox';\n\nimport type { TaskAction } from '../models/task';\nimport { MAX_BRIEF_FILES } from '../types/delegation';\n\nexport const TASK_ACTIONS = ['upsert', 'list', 'get', 'delete', 'clear', 'assign', 'cancel'] as const;\nexport const TASK_STATUSES = ['pending', 'in_progress', 'completed', 'failed', 'deleted'] as const;\nexport const TASK_CONTEXTS = ['fresh', 'fork'] as const;\n\nexport const TOOL_NAME = 'task';\nexport const TOOL_LABEL = 'Task';\n\nexport const ERR_REQUIRES_INTERACTIVE = '/tasks requires interactive mode';\nexport const MSG_NO_TASKS = 'No tasks yet. Ask the agent to add some!';\n\n/**\n * Which top-level fields each action accepts.\n *\n * The params object is flat and shared across every action, so the schema alone\n * cannot express \"upsert has no top-level id\". That gap matters: a call like\n * `{\"action\":\"upsert\",\"id\":3,\"tasks\":[{\"status\":\"completed\"}]}` would otherwise\n * silently create a duplicate task, because the entry itself carries no id.\n */\nexport const TASK_ACTION_FIELDS = {\n upsert: ['action', 'tasks'],\n list: ['action', 'status', 'includeDeleted'],\n get: ['action', 'id'],\n delete: ['action', 'id'],\n clear: ['action'],\n assign: ['action', 'assignments'],\n cancel: ['action', 'id'],\n} as const satisfies Record<TaskAction, readonly string[]>;\n\nexport function taskActionAcceptsField(action: TaskAction, field: string): boolean {\n return (TASK_ACTION_FIELDS[action] as readonly string[]).includes(field);\n}\n\n/** Correction hint appended when a per-task field lands at the top level. */\nexport const MSG_UPSERT_FIELD_MISPLACED =\n 'Per-task fields belong inside each tasks[] entry, not at the top level: {\"action\":\"upsert\",\"tasks\":[{\"id\":3,\"status\":\"completed\"}]}.';\n\n/**\n * A dependency target: an existing task id, or the `ref` of a task created\n * earlier in the same call.\n */\nconst DepTokenSchema = Type.Union([Type.Integer(), Type.String()]);\n\n/**\n * One entry of an upsert. `additionalProperties: false` is load-bearing: pi\n * validates tool arguments against this schema before `execute` runs, so a\n * stray `{\"action\":\"update\"}` inside an entry is rejected at the boundary.\n */\nexport const TaskItemSchema = Type.Object(\n {\n id: Type.Optional(\n Type.Integer({\n description:\n 'Existing task id to change. Omit to create. An unknown id fails only that entry; it never creates.',\n }),\n ),\n ref: Type.Optional(\n Type.String({\n description:\n 'Temporary name for a task created by this entry, so a LATER entry in this array can list it in blockedBy. Must start with a letter; never stored.',\n }),\n ),\n subject: Type.Optional(\n Type.String({\n description: 'Short imperative subject. Required when the entry has no id; on an entry with an id it renames.',\n }),\n ),\n description: Type.Optional(\n Type.String({ description: 'Long-form detail; becomes the brief handed to the subagent on assign.' }),\n ),\n activeForm: Type.Optional(\n Type.String({ description: \"Present-continuous label shown while in_progress (e.g. 'writing tests')\" }),\n ),\n status: Type.Optional(\n Type.String({\n enum: [...TASK_STATUSES],\n description:\n 'New entries default to pending and cannot start deleted; on an entry with an id the transition must be legal.',\n }),\n ),\n blockedBy: Type.Optional(\n Type.Array(DepTokenSchema, {\n description:\n 'Dependencies for a NEW entry: task ids, or refs of tasks created EARLIER in this array. On an entry with an id use addBlockedBy / removeBlockedBy instead.',\n }),\n ),\n addBlockedBy: Type.Optional(\n Type.Array(DepTokenSchema, {\n description: 'Dependencies to add (ids or earlier refs). Additive; do not resend the full array.',\n }),\n ),\n removeBlockedBy: Type.Optional(\n Type.Array(DepTokenSchema, {\n description: 'Dependencies to remove. Additive; do not resend the full array.',\n }),\n ),\n owner: Type.Optional(Type.String({ description: 'Owner label; assign sets it to the subagent name.' })),\n metadata: Type.Optional(\n Type.Record(Type.String(), Type.Unknown(), {\n description: 'Merged into the task; a null value deletes that key.',\n }),\n ),\n },\n { additionalProperties: false },\n);\n\n/** One task-to-agent handoff in a native assignment batch. */\nexport const TaskAssignmentSchema = Type.Object(\n {\n id: Type.Integer({ description: 'Pending, unblocked task id to delegate' }),\n agent: Type.String({ description: 'Exact discovered subagent name' }),\n inlineAgent: Type.Optional(InlineAgentSchema),\n instructions: Type.Optional(Type.String({ description: 'Extra instructions appended to this delegated brief' })),\n relevantFiles: Type.Optional(\n Type.Array(Type.String(), {\n description: `Files already read or located, relative to the working directory; at most ${MAX_BRIEF_FILES} are used.`,\n }),\n ),\n priorFindings: Type.Optional(\n Type.String({ description: 'Established facts this child should consume rather than re-derive' }),\n ),\n model: Type.Optional(Type.String({ description: 'Model override for this delegated run' })),\n context: Type.Optional(\n Type.String({\n enum: [...TASK_CONTEXTS],\n description: \"Starting context for this child: 'fresh' or 'fork'\",\n }),\n ),\n },\n { additionalProperties: false },\n);\n\n/**\n * Tool parameters. Every `description` doubles as LLM-facing prompt copy, so\n * wording changes here change model behaviour.\n */\nexport const TaskParamsSchema = Type.Object({\n action: Type.String({ enum: [...TASK_ACTIONS] }),\n tasks: Type.Optional(\n Type.Array(TaskItemSchema, {\n minItems: 1,\n description:\n 'upsert only. An entry with an id changes that task, an entry without an id creates one. Entries apply in array order, so a later entry can depend on an earlier one by ref.',\n }),\n ),\n assignments: Type.Optional(\n Type.Array(TaskAssignmentSchema, {\n minItems: 1,\n description: 'Required for assign, one entry per task, including when there is only one.',\n }),\n ),\n id: Type.Optional(\n Type.Integer({\n description:\n 'Task id, for get, delete and cancel. Not accepted by upsert or assign: those carry ids inside tasks[] and assignments[] entries.',\n }),\n ),\n status: Type.Optional(\n Type.String({\n enum: [...TASK_STATUSES],\n description: 'list only: return just the tasks in this status. To SET a status, upsert the task by id.',\n }),\n ),\n includeDeleted: Type.Optional(\n Type.Boolean({ description: 'list only: also return deleted tombstones. Default false.' }),\n ),\n});\n\nexport type TaskItemParams = Static<typeof TaskItemSchema>;\nexport type TaskAssignmentParams = Static<typeof TaskAssignmentSchema>;\nexport type TaskParams = Static<typeof TaskParamsSchema>;\n"],"mappings":"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"}
|
|
@@ -21,6 +21,6 @@ function isDelegationActive(task) {
|
|
|
21
21
|
return state === "requested" || state === "running";
|
|
22
22
|
}
|
|
23
23
|
//#endregion
|
|
24
|
-
export {
|
|
24
|
+
export { isDelegationActive as i, STORE_SCHEMA_VERSION as n, emptyDocument as r, DELETED_STATUS as t };
|
|
25
25
|
|
|
26
|
-
//# sourceMappingURL=task.mjs.map
|
|
26
|
+
//# sourceMappingURL=task-giCbpKzV.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-giCbpKzV.mjs","names":[],"sources":["../src/models/task.ts"],"sourcesContent":["/**\n * Domain types for the file-backed task store.\n *\n * The on-disk document is the durable source of truth (unlike rpiv-todo, which\n * replayed state from the transcript). Every field here round-trips through\n * JSON, so nothing may hold non-serializable values.\n */\n\nimport type { InlineAgent } from '@agimon-ai/doompi-core/delegation';\n\nexport type TaskStatus = 'pending' | 'in_progress' | 'completed' | 'failed' | 'deleted';\n\nexport const DELETED_STATUS: TaskStatus = 'deleted';\n\nexport type TaskAction = 'upsert' | 'list' | 'get' | 'delete' | 'clear' | 'assign' | 'cancel';\n\nexport type DelegationState = 'requested' | 'running' | 'completed' | 'failed' | 'cancelled';\n\n/** Terminal result of a delegated subagent run, copied off the delegation response. */\nexport interface DelegationResult {\n status: string;\n output?: string;\n outputPath?: string;\n sessionFile?: string;\n error?: string;\n durationMs?: number;\n toolCount?: number;\n}\n\n/**\n * Delegation bookkeeping attached to a task that was handed to a subagent.\n *\n * `pid` is the harness process that owns the run: it is the only way to tell an\n * genuinely-running delegation from one orphaned by a harness crash, since the\n * child dies with its parent but the file survives.\n */\nexport interface TaskDelegation {\n requestId: string;\n agent: string;\n state: DelegationState;\n sessionId?: string;\n pid?: number;\n runId?: string;\n model?: string;\n startedAt?: string;\n endedAt?: string;\n result?: DelegationResult;\n}\n\nexport interface Task {\n id: number;\n subject: string;\n description?: string;\n activeForm?: string;\n status: TaskStatus;\n blockedBy?: number[];\n owner?: string;\n metadata?: Record<string, unknown>;\n createdAt?: string;\n updatedAt?: string;\n delegation?: TaskDelegation;\n}\n\nexport const STORE_SCHEMA_VERSION = 1;\n\n/** The complete on-disk document. `rev` increments on every committed write. */\nexport interface TaskDocument {\n version: number;\n rev: number;\n nextId: number;\n tasks: Task[];\n}\n\nexport function emptyDocument(): TaskDocument {\n return { version: STORE_SCHEMA_VERSION, rev: 0, nextId: 1, tasks: [] };\n}\n\n/**\n * A dependency target inside an upsert item: an existing task id, or the `ref`\n * of a task created earlier in the same call.\n *\n * Refs must start with a letter (see `REF_PATTERN`), so a ref is structurally\n * unconfusable with a stringified id and the discrimination is just `typeof`.\n */\nexport type DepToken = number | string;\n\n/**\n * One entry of an `upsert` call. No `id` creates a task; an `id` updates one.\n *\n * `blockedBy` (absolute set) is create-only and `addBlockedBy`/`removeBlockedBy`\n * (additive merge) are update-only, matching the split the two former actions\n * had. A field used against the wrong kind fails that item rather than being\n * silently ignored.\n */\nexport interface TaskItemMutation {\n id?: number;\n ref?: string;\n subject?: string;\n description?: string;\n activeForm?: string;\n status?: TaskStatus;\n blockedBy?: DepToken[];\n addBlockedBy?: DepToken[];\n removeBlockedBy?: DepToken[];\n owner?: string;\n metadata?: Record<string, unknown>;\n}\n\n/**\n * What one upsert item did. `index` is its position in the request array, so a\n * model reading a partial result can tell which entries still need resending.\n *\n * `message` is unprefixed: the `item[N] failed:` framing belongs to the\n * formatter, because the Task Space overlay shows this text on its own.\n */\nexport type UpsertItemOutcome =\n | {\n index: number;\n kind: 'created';\n id: number;\n subject: string;\n status: TaskStatus;\n ref?: string;\n blockedBy?: number[];\n }\n | { index: number; kind: 'updated'; id: number; fromStatus: TaskStatus; toStatus: TaskStatus }\n | { index: number; kind: 'unchanged'; id: number; status: TaskStatus }\n | { index: number; kind: 'failed'; message: string; id?: number; ref?: string };\n\n/** Which tasks an upsert touched, so renderResult names them instead of guessing. */\nexport interface UpsertSummary {\n /** Ids of applied entries, in request order. A failed entry contributes nothing. */\n applied: number[];\n failed: number;\n}\n\n/** One task-to-agent handoff inside a native assignment batch. */\nexport interface TaskAssignment {\n id: number;\n agent: string;\n inlineAgent?: InlineAgent;\n instructions?: string;\n relevantFiles?: string[];\n priorFindings?: string;\n model?: string;\n context?: 'fresh' | 'fork';\n}\n\n/** Which assignment entries started, so renderResult can show one consolidated batch. */\nexport interface AssignmentSummary {\n /** Ids of successful entries, in request order. A failed entry contributes nothing. */\n assigned: number[];\n failed: number;\n}\n\n/**\n * Open-shape input bag the reducer accepts. The index signature lets the\n * runtime pass a TypeBox `Static<typeof TaskParamsSchema>` through without\n * casting each field.\n *\n * Per-task fields live on `tasks[]`, not here: a top-level `subject` or\n * `status` would be ambiguous once one call can carry many tasks.\n */\nexport interface TaskMutationParams {\n [key: string]: unknown;\n tasks?: TaskItemMutation[];\n /** `assign` only: independent task-to-agent handoffs dispatched by one tool call. */\n assignments?: TaskAssignment[];\n /** `list` filter only. To set a status, upsert the task by id. */\n status?: TaskStatus;\n /** `get`, `delete`, and `cancel` only. Assign ids live in `assignments[]`. */\n id?: number;\n includeDeleted?: boolean;\n}\n\n/** Snapshot returned under a tool result's `details` for renderResult. */\nexport interface TaskDetails {\n action: TaskAction;\n params: Record<string, unknown>;\n tasks: Task[];\n nextId: number;\n rev: number;\n error?: string;\n upsert?: UpsertSummary;\n assignment?: AssignmentSummary;\n}\n\n/**\n * A delegation is \"live\" while the owning run may still produce a response.\n *\n * Takes the delegation shape rather than `Task` so the cockpit's `WebTask`,\n * which carries the state as a plain string, answers the question the same way\n * the store does.\n */\nexport function isDelegationActive(task: { delegation?: { state?: string } }): boolean {\n const state = task.delegation?.state;\n return state === 'requested' || state === 'running';\n}\n"],"mappings":";AAYA,MAAa,iBAA6B;AAmD1C,MAAa,uBAAuB;AAUpC,SAAgB,gBAA8B;CAC5C,OAAO;EAAE,SAAA;EAA+B,KAAK;EAAG,QAAQ;EAAG,OAAO,CAAC;CAAE;AACvE;;;;;;;;AAuHA,SAAgB,mBAAmB,MAAoD;CACrF,MAAM,QAAQ,KAAK,YAAY;CAC/B,OAAO,UAAU,eAAe,UAAU;AAC5C"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { InlineAgent } from "@agimon-ai/doompi-core/delegation";
|
|
2
2
|
//#region src/models/task.d.ts
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
type TaskStatus = 'pending' | 'in_progress' | 'completed' | 'failed' | 'deleted';
|
|
4
|
+
declare const DELETED_STATUS: TaskStatus;
|
|
5
|
+
type TaskAction = 'upsert' | 'list' | 'get' | 'delete' | 'clear' | 'assign' | 'cancel';
|
|
6
|
+
type DelegationState = 'requested' | 'running' | 'completed' | 'failed' | 'cancelled';
|
|
7
7
|
/** Terminal result of a delegated subagent run, copied off the delegation response. */
|
|
8
|
-
|
|
8
|
+
interface DelegationResult {
|
|
9
9
|
status: string;
|
|
10
10
|
output?: string;
|
|
11
11
|
outputPath?: string;
|
|
@@ -21,7 +21,7 @@ export interface DelegationResult {
|
|
|
21
21
|
* genuinely-running delegation from one orphaned by a harness crash, since the
|
|
22
22
|
* child dies with its parent but the file survives.
|
|
23
23
|
*/
|
|
24
|
-
|
|
24
|
+
interface TaskDelegation {
|
|
25
25
|
requestId: string;
|
|
26
26
|
agent: string;
|
|
27
27
|
state: DelegationState;
|
|
@@ -33,7 +33,7 @@ export interface TaskDelegation {
|
|
|
33
33
|
endedAt?: string;
|
|
34
34
|
result?: DelegationResult;
|
|
35
35
|
}
|
|
36
|
-
|
|
36
|
+
interface Task {
|
|
37
37
|
id: number;
|
|
38
38
|
subject: string;
|
|
39
39
|
description?: string;
|
|
@@ -46,15 +46,15 @@ export interface Task {
|
|
|
46
46
|
updatedAt?: string;
|
|
47
47
|
delegation?: TaskDelegation;
|
|
48
48
|
}
|
|
49
|
-
|
|
49
|
+
declare const STORE_SCHEMA_VERSION = 1;
|
|
50
50
|
/** The complete on-disk document. `rev` increments on every committed write. */
|
|
51
|
-
|
|
51
|
+
interface TaskDocument {
|
|
52
52
|
version: number;
|
|
53
53
|
rev: number;
|
|
54
54
|
nextId: number;
|
|
55
55
|
tasks: Task[];
|
|
56
56
|
}
|
|
57
|
-
|
|
57
|
+
declare function emptyDocument(): TaskDocument;
|
|
58
58
|
/**
|
|
59
59
|
* A dependency target inside an upsert item: an existing task id, or the `ref`
|
|
60
60
|
* of a task created earlier in the same call.
|
|
@@ -62,7 +62,7 @@ export declare function emptyDocument(): TaskDocument;
|
|
|
62
62
|
* Refs must start with a letter (see `REF_PATTERN`), so a ref is structurally
|
|
63
63
|
* unconfusable with a stringified id and the discrimination is just `typeof`.
|
|
64
64
|
*/
|
|
65
|
-
|
|
65
|
+
type DepToken = number | string;
|
|
66
66
|
/**
|
|
67
67
|
* One entry of an `upsert` call. No `id` creates a task; an `id` updates one.
|
|
68
68
|
*
|
|
@@ -71,7 +71,7 @@ export type DepToken = number | string;
|
|
|
71
71
|
* had. A field used against the wrong kind fails that item rather than being
|
|
72
72
|
* silently ignored.
|
|
73
73
|
*/
|
|
74
|
-
|
|
74
|
+
interface TaskItemMutation {
|
|
75
75
|
id?: number;
|
|
76
76
|
ref?: string;
|
|
77
77
|
subject?: string;
|
|
@@ -91,7 +91,7 @@ export interface TaskItemMutation {
|
|
|
91
91
|
* `message` is unprefixed: the `item[N] failed:` framing belongs to the
|
|
92
92
|
* formatter, because the Task Space overlay shows this text on its own.
|
|
93
93
|
*/
|
|
94
|
-
|
|
94
|
+
type UpsertItemOutcome = {
|
|
95
95
|
index: number;
|
|
96
96
|
kind: 'created';
|
|
97
97
|
id: number;
|
|
@@ -118,13 +118,13 @@ export type UpsertItemOutcome = {
|
|
|
118
118
|
ref?: string;
|
|
119
119
|
};
|
|
120
120
|
/** Which tasks an upsert touched, so renderResult names them instead of guessing. */
|
|
121
|
-
|
|
121
|
+
interface UpsertSummary {
|
|
122
122
|
/** Ids of applied entries, in request order. A failed entry contributes nothing. */
|
|
123
123
|
applied: number[];
|
|
124
124
|
failed: number;
|
|
125
125
|
}
|
|
126
126
|
/** One task-to-agent handoff inside a native assignment batch. */
|
|
127
|
-
|
|
127
|
+
interface TaskAssignment {
|
|
128
128
|
id: number;
|
|
129
129
|
agent: string;
|
|
130
130
|
inlineAgent?: InlineAgent;
|
|
@@ -135,7 +135,7 @@ export interface TaskAssignment {
|
|
|
135
135
|
context?: 'fresh' | 'fork';
|
|
136
136
|
}
|
|
137
137
|
/** Which assignment entries started, so renderResult can show one consolidated batch. */
|
|
138
|
-
|
|
138
|
+
interface AssignmentSummary {
|
|
139
139
|
/** Ids of successful entries, in request order. A failed entry contributes nothing. */
|
|
140
140
|
assigned: number[];
|
|
141
141
|
failed: number;
|
|
@@ -148,7 +148,7 @@ export interface AssignmentSummary {
|
|
|
148
148
|
* Per-task fields live on `tasks[]`, not here: a top-level `subject` or
|
|
149
149
|
* `status` would be ambiguous once one call can carry many tasks.
|
|
150
150
|
*/
|
|
151
|
-
|
|
151
|
+
interface TaskMutationParams {
|
|
152
152
|
[key: string]: unknown;
|
|
153
153
|
tasks?: TaskItemMutation[];
|
|
154
154
|
/** `assign` only: independent task-to-agent handoffs dispatched by one tool call. */
|
|
@@ -160,7 +160,7 @@ export interface TaskMutationParams {
|
|
|
160
160
|
includeDeleted?: boolean;
|
|
161
161
|
}
|
|
162
162
|
/** Snapshot returned under a tool result's `details` for renderResult. */
|
|
163
|
-
|
|
163
|
+
interface TaskDetails {
|
|
164
164
|
action: TaskAction;
|
|
165
165
|
params: Record<string, unknown>;
|
|
166
166
|
tasks: Task[];
|
|
@@ -177,10 +177,11 @@ export interface TaskDetails {
|
|
|
177
177
|
* which carries the state as a plain string, answers the question the same way
|
|
178
178
|
* the store does.
|
|
179
179
|
*/
|
|
180
|
-
|
|
180
|
+
declare function isDelegationActive(task: {
|
|
181
181
|
delegation?: {
|
|
182
182
|
state?: string;
|
|
183
183
|
};
|
|
184
184
|
}): boolean;
|
|
185
185
|
//#endregion
|
|
186
|
-
|
|
186
|
+
export { UpsertSummary as _, DepToken as a, TaskAction as c, TaskDetails as d, TaskDocument as f, UpsertItemOutcome as g, TaskStatus as h, DelegationState as i, TaskAssignment as l, TaskMutationParams as m, DELETED_STATUS as n, STORE_SCHEMA_VERSION as o, TaskItemMutation as p, DelegationResult as r, Task as s, AssignmentSummary as t, TaskDelegation as u, emptyDocument as v, isDelegationActive as y };
|
|
187
|
+
//# sourceMappingURL=task-hLh4BOO7.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-hLh4BOO7.d.mts","names":[],"sources":["../src/models/task.ts"],"mappings":";;KAUY;cAEC,gBAAgB;KAEjB;KAEA;;UAGK;EACf;EACA;EACA;EACA;EACA;EACA;EACA;;;;;;;;;UAUe;EACf;EACA;EACA,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACA,SAAS;;UAGM;EACf;EACA;EACA;EACA;EACA,QAAQ;EACR;EACA;EACA,WAAW;EACX;EACA;EACA,aAAa;;cAGF;;UAGI;EACf;EACA;EACA;EACA,OAAO;;iBAGO,iBAAiB;;;;;;;;KAWrB;;;;;;;;;UAUK;EACf;EACA;EACA;EACA;EACA;EACA,SAAS;EACT,YAAY;EACZ,eAAe;EACf,kBAAkB;EAClB;EACA,WAAW;;;;;;;;;KAUD;EAEN;EACA;EACA;EACA;EACA,QAAQ;EACR;EACA;;EAEA;EAAe;EAAiB;EAAY,YAAY;EAAY,UAAU;;EAC9E;EAAe;EAAmB;EAAY,QAAQ;;EACtD;EAAe;EAAgB;EAAiB;EAAa;;;UAGlD;;EAEf;EACA;;;UAIe;EACf;EACA;EACA,cAAc;EACd;EACA;EACA;EACA;EACA;;;UAIe;;EAEf;EACA;;;;;;;;;;UAWe;GACd;EACD,QAAQ;;EAER,cAAc;;EAEd,SAAS;;EAET;EACA;;;UAIe;EACf,QAAQ;EACR,QAAQ;EACR,OAAO;EACP;EACA;EACA;EACA,SAAS;EACT,aAAa;;;;;;;;;iBAUC,mBAAmB;EAAQ;IAAe"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
const
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
let _earendil_works_pi_tui = require("@earendil-works/pi-tui");
|
|
1
|
+
const require_task = require("./task-Dqy88_rr.cjs");
|
|
2
|
+
const require_taskGraph = require("./taskGraph-BskRslrr.cjs");
|
|
3
|
+
const require_reducer = require("./reducer-BV0YIZ2o.cjs");
|
|
4
|
+
const require_selectors = require("./selectors-b-69vb4W.cjs");
|
|
5
|
+
const require_format_cli = require("./format.cli-CKxfl-lR.cjs");
|
|
7
6
|
let node_os = require("node:os");
|
|
8
|
-
let
|
|
7
|
+
let _earendil_works_pi_tui = require("@earendil-works/pi-tui");
|
|
8
|
+
let _agimon_ai_doompi_ui_doomOverlay = require("@agimon-ai/doompi-ui/doomOverlay");
|
|
9
9
|
let _agimon_ai_doompi_ui_rendering = require("@agimon-ai/doompi-ui/rendering");
|
|
10
10
|
//#region src/extensions/workspaces/sessions/(frontend)/overlay/_lib/task-space.cli.ts
|
|
11
11
|
/**
|
|
@@ -21,7 +21,7 @@ let _agimon_ai_doompi_ui_rendering = require("@agimon-ai/doompi-ui/rendering");
|
|
|
21
21
|
* task's id. That id is what keeps creating a task a tool-only path: an entry
|
|
22
22
|
* without one would create rather than be rejected.
|
|
23
23
|
*/
|
|
24
|
-
const TASK_SPACE_OVERLAY_OPTIONS =
|
|
24
|
+
const TASK_SPACE_OVERLAY_OPTIONS = _agimon_ai_doompi_ui_doomOverlay.DOOM_FULLSCREEN_UI_OPTIONS.overlayOptions;
|
|
25
25
|
const KEY_BACKSPACE = "";
|
|
26
26
|
const KEY_ENTER = "\r";
|
|
27
27
|
const KEY_NEWLINE = "\n";
|
|
@@ -112,7 +112,7 @@ function wrap(text, width) {
|
|
|
112
112
|
* Rendering is pure: `render(width)` reads the live store and returns lines with
|
|
113
113
|
* no side effects, so the fidelity job can capture it and unit tests can assert on it.
|
|
114
114
|
*/
|
|
115
|
-
var TaskSpaceComponent = class extends
|
|
115
|
+
var TaskSpaceComponent = class extends _agimon_ai_doompi_ui_doomOverlay.DoomOverlay {
|
|
116
116
|
options;
|
|
117
117
|
done;
|
|
118
118
|
unwatch;
|
|
@@ -145,14 +145,14 @@ var TaskSpaceComponent = class extends _agimon_ai_doompi_ui_doom_overlay.DoomOve
|
|
|
145
145
|
/** Commits through the same reducer the task tool uses, so both paths share every invariant. */
|
|
146
146
|
commit(item) {
|
|
147
147
|
this.options.store.mutate((document) => {
|
|
148
|
-
const result =
|
|
149
|
-
if (!
|
|
148
|
+
const result = require_reducer.applyTaskMutation(document, "upsert", { tasks: [item] });
|
|
149
|
+
if (!require_reducer.isCommittingOp(result.op)) return { value: result.op };
|
|
150
150
|
return {
|
|
151
151
|
document: result.document,
|
|
152
152
|
value: result.op
|
|
153
153
|
};
|
|
154
154
|
}).then((outcome) => {
|
|
155
|
-
const single =
|
|
155
|
+
const single = require_reducer.singleItemOutcome(outcome.value);
|
|
156
156
|
this.notice = single?.kind === "failed" ? single.message : void 0;
|
|
157
157
|
this.tui.requestRender();
|
|
158
158
|
}).catch((error) => {
|
|
@@ -308,7 +308,7 @@ var TaskSpaceComponent = class extends _agimon_ai_doompi_ui_doom_overlay.DoomOve
|
|
|
308
308
|
getChrome() {
|
|
309
309
|
return {
|
|
310
310
|
title: TITLE,
|
|
311
|
-
accent:
|
|
311
|
+
accent: _agimon_ai_doompi_ui_doomOverlay.DOOM_OVERLAY_ACCENT,
|
|
312
312
|
breadcrumb: BREADCRUMB,
|
|
313
313
|
headerRight: `${this.headerSummary()} · ${LIST_HEADER_RIGHT}`,
|
|
314
314
|
footer: this.hintLine(LIST_HINTS)
|
|
@@ -347,12 +347,26 @@ var TaskSpaceComponent = class extends _agimon_ai_doompi_ui_doom_overlay.DoomOve
|
|
|
347
347
|
}
|
|
348
348
|
};
|
|
349
349
|
async function openTaskSpace(ctx, options) {
|
|
350
|
-
await ctx.ui.custom((tui, theme, _keybindings, done) => new TaskSpaceComponent(tui, theme, options, done),
|
|
350
|
+
await ctx.ui.custom((tui, theme, _keybindings, done) => new TaskSpaceComponent(tui, theme, options, done), _agimon_ai_doompi_ui_doomOverlay.DOOM_FULLSCREEN_UI_OPTIONS);
|
|
351
351
|
}
|
|
352
352
|
//#endregion
|
|
353
|
-
exports
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
353
|
+
Object.defineProperty(exports, "TASK_SPACE_OVERLAY_OPTIONS", {
|
|
354
|
+
enumerable: true,
|
|
355
|
+
get: function() {
|
|
356
|
+
return TASK_SPACE_OVERLAY_OPTIONS;
|
|
357
|
+
}
|
|
358
|
+
});
|
|
359
|
+
Object.defineProperty(exports, "TaskSpaceComponent", {
|
|
360
|
+
enumerable: true,
|
|
361
|
+
get: function() {
|
|
362
|
+
return TaskSpaceComponent;
|
|
363
|
+
}
|
|
364
|
+
});
|
|
365
|
+
Object.defineProperty(exports, "openTaskSpace", {
|
|
366
|
+
enumerable: true,
|
|
367
|
+
get: function() {
|
|
368
|
+
return openTaskSpace;
|
|
369
|
+
}
|
|
370
|
+
});
|
|
357
371
|
|
|
358
|
-
//# sourceMappingURL=task-space.cli.cjs.map
|
|
372
|
+
//# sourceMappingURL=task-space.cli-BdDqn-_h.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-space.cli-BdDqn-_h.cjs","names":["DOOM_FULLSCREEN_UI_OPTIONS","homedir","visibleWidth","truncateToWidth","fitStyledLine","DoomOverlay","visibleTasks","applyTaskMutation","isCommittingOp","singleItemOutcome","matchesKey","TASK_STATUSES","MSG_NO_TASKS","overlayStatusGlyph","isBlocked","STATUS_LABEL","countTasks","DOOM_OVERLAY_ACCENT"],"sources":["../src/extensions/workspaces/sessions/(frontend)/overlay/_lib/task-space.cli.ts"],"sourcesContent":["/**\n * Task Space: the `SPC t l` overlay.\n *\n * The task list and detail pane render from plain values so the whole surface\n * can be asserted as text without a live terminal.\n *\n * The overlay reads the store on every render rather than caching rows, so an\n * external write by a delegated child shows up without closing the overlay.\n *\n * Every commit it makes is a single-entry `upsert` that carries the selected\n * task's id. That id is what keeps creating a task a tool-only path: an entry\n * without one would create rather than be rejected.\n */\n\nimport { homedir } from 'node:os';\n\nimport {\n DOOM_FULLSCREEN_UI_OPTIONS,\n DOOM_OVERLAY_ACCENT,\n DoomOverlay,\n type DoomOverlayChrome,\n type DoomOverlayTui,\n} from '@agimon-ai/doompi-ui/doomOverlay';\nimport { fitStyledLine } from '@agimon-ai/doompi-ui/rendering';\nimport type { ExtensionContext, Theme } from '@earendil-works/pi-coding-agent';\nimport { matchesKey, truncateToWidth, visibleWidth } from '@earendil-works/pi-tui';\n\nimport type { Task, TaskItemMutation } from '../../../../../../models/task';\nimport { isBlocked } from '../../../../../../models/taskGraph';\nimport { MSG_NO_TASKS, TASK_STATUSES } from '../../../../../../schemas/task';\nimport { applyTaskMutation, isCommittingOp, type Op, singleItemOutcome } from '../../../../../../services/reducer';\nimport type { TaskStore } from '../../../../../../services/taskStore';\nimport { overlayStatusGlyph, STATUS_LABEL } from '../../_shared/format.cli';\nimport { countTasks, visibleTasks } from '.././_lib/selectors';\n\nexport const TASK_SPACE_OVERLAY_OPTIONS = DOOM_FULLSCREEN_UI_OPTIONS.overlayOptions;\n\nexport interface TaskSpaceOptions {\n store: TaskStore;\n}\n\ntype EditMode = 'browse' | 'status' | 'subject';\n\nconst KEY_BACKSPACE = '\\x7f';\nconst KEY_ENTER = '\\r';\nconst KEY_NEWLINE = '\\n';\nconst FIRST_PRINTABLE_CODE_POINT = 0x20;\nconst DELETE_CODE_POINT = 0x7f;\n\n/**\n * Keystrokes that carry no text: escape sequences, control keys, delete.\n * Indexed rather than iterated so surrogate pairs stay intact; both halves sit\n * far above the control range, so no emoji is ever mistaken for one.\n */\nfunction isControlInput(data: string): boolean {\n for (let index = 0; index < data.length; index++) {\n const code = data.charCodeAt(index);\n if (code < FIRST_PRINTABLE_CODE_POINT || code === DELETE_CODE_POINT) return true;\n }\n return false;\n}\n\n/**\n * Store path for the list heading: home collapses to `~`, and an over-long path\n * loses leading segments rather than its tail, because the file name identifies\n * the store while `/var/folders/...` does not.\n */\nfunction storeLabel(storePath: string, width: number): string {\n const home = homedir();\n const abbreviated = home && storePath.startsWith(home) ? `~${storePath.slice(home.length)}` : storePath;\n if (visibleWidth(abbreviated) <= width) return abbreviated;\n\n const segments = abbreviated.split('/');\n let tail = segments.pop() ?? abbreviated;\n while (segments.length > 0) {\n const candidate = `${segments[segments.length - 1]}/${tail}`;\n if (visibleWidth(`…/${candidate}`) > width) break;\n tail = candidate;\n segments.pop();\n }\n return truncateToWidth(`…/${tail}`, width, '');\n}\n\n/** Neither palette name is exported, so take both from the theme's methods. */\ntype ThemeBg = Parameters<Theme['bg']>[0];\ntype ThemeColor = Parameters<Theme['fg']>[0];\n\n/** Each task occupies a heading row and a metadata row beneath it. */\nconst ROWS_PER_TASK = 2;\n/** Hanging indent for the metadata row: clears marker, glyph and id. */\nconst META_INDENT = 6;\n\nconst MIN_WIDTH = 48;\n/** A third for the list, two thirds for the task being read or edited. */\nconst LIST_PANE_RATIO = 1 / 3;\n/** One blank column each side of the pane divider so neither column touches it. */\nconst PANE_GUTTER = 1;\nconst MIN_PANE_WIDTH = 18;\nconst SELECTION_MARKER = '›';\nconst CURRENT_MARKER = '▸';\nconst CURSOR_BLOCK = '█';\nconst ELLIPSIS = '…';\nconst NO_VALUE = 'none';\n\nconst TITLE = 'TASK SPACE';\nconst BREADCRUMB = 'SPC › t › t / tasks';\n/** Key/label pairs rendered as capped keys, matching the mockup's footer. */\nconst LIST_HINTS: readonly (readonly [string, string])[] = [\n ['↑↓', 'select'],\n ['enter', 'edit subject'],\n ['s', 'status'],\n ['esc', 'close'],\n];\nconst LIST_HEADER_RIGHT = 'esc close';\nconst STATUS_HINT = 'STATUS s cycles · enter commits';\nconst SUBJECT_HINT = 'SUBJECT enter commits · esc cancels';\nfunction fitRow(text: string, width: number): string {\n return fitStyledLine(text, width, ELLIPSIS);\n}\n\nfunction rightAligned(left: string, right: string, width: number): string {\n const rightWidth = visibleWidth(right);\n const leftWidth = Math.max(0, width - rightWidth - 1);\n return fitRow(left, leftWidth) + ' '.repeat(Math.max(1, width - leftWidth - rightWidth)) + fitRow(right, rightWidth);\n}\n\nfunction wrap(text: string, width: number): string[] {\n if (width <= 0) return [];\n const lines: string[] = [];\n let current = '';\n for (const word of text.split(/\\s+/).filter(Boolean)) {\n if (current.length === 0) current = word;\n else if (current.length + 1 + word.length <= width) current += ` ${word}`;\n else {\n lines.push(current);\n current = word;\n }\n }\n if (current.length > 0) lines.push(current);\n return lines;\n}\n\n/**\n * Task Space overlay component.\n *\n * Rendering is pure: `render(width)` reads the live store and returns lines with\n * no side effects, so the fidelity job can capture it and unit tests can assert on it.\n */\nexport class TaskSpaceComponent extends DoomOverlay {\n private readonly options: TaskSpaceOptions;\n private readonly done: (result: undefined) => void;\n private readonly unwatch: () => void;\n\n private mode: EditMode = 'browse';\n private selected = 0;\n private statusIndex = 0;\n private draft = '';\n private notice: string | undefined;\n private bodyHeight = 1;\n\n constructor(tui: DoomOverlayTui, theme: Theme, options: TaskSpaceOptions, done: (result: undefined) => void) {\n super(tui, theme);\n this.options = options;\n this.done = done;\n this.unwatch = options.store.onExternalChange(() => this.tui.requestRender());\n }\n\n private tasks(): Task[] {\n return visibleTasks(this.options.store.snapshot.tasks);\n }\n\n private selectedTask(): Task | undefined {\n const tasks = this.tasks();\n if (tasks.length === 0) return undefined;\n return tasks[Math.min(this.selected, tasks.length - 1)];\n }\n\n private move(delta: number): void {\n const tasks = this.tasks();\n if (tasks.length === 0) return;\n this.selected = Math.max(0, Math.min(tasks.length - 1, this.selected + delta));\n this.tui.requestRender();\n }\n\n /** Commits through the same reducer the task tool uses, so both paths share every invariant. */\n private commit(item: TaskItemMutation): void {\n this.options.store\n .mutate<Op>((document) => {\n const result = applyTaskMutation(document, 'upsert', { tasks: [item] });\n // A rejected mutation must not reach the writer: committing it would\n // bump `rev` for an edit that never happened.\n if (!isCommittingOp(result.op)) return { value: result.op };\n return { document: result.document, value: result.op };\n })\n .then((outcome) => {\n // The reducer's message is unprefixed, so the notice reads\n // \"subject must not be blank\" rather than \"item[0] failed: ...\".\n const single = singleItemOutcome(outcome.value);\n this.notice = single?.kind === 'failed' ? single.message : undefined;\n this.tui.requestRender();\n })\n .catch((error: unknown) => {\n // Shown in the overlay rather than swallowed: a rejected write means the\n // edit the operator just made never landed.\n this.notice = error instanceof Error ? error.message : String(error);\n this.tui.requestRender();\n });\n }\n\n private handleStatusInput(data: string): void {\n const task = this.selectedTask();\n if (matchesKey(data, 'up')) this.statusIndex = Math.max(0, this.statusIndex - 1);\n else if (matchesKey(data, 'down')) this.statusIndex = Math.min(TASK_STATUSES.length - 1, this.statusIndex + 1);\n else if (data === 's') this.statusIndex = (this.statusIndex + 1) % TASK_STATUSES.length;\n else if (data === KEY_ENTER || data === KEY_NEWLINE) {\n this.mode = 'browse';\n if (task) this.commit({ id: task.id, status: TASK_STATUSES[this.statusIndex] });\n } else if (matchesKey(data, 'escape')) this.mode = 'browse';\n this.tui.requestRender();\n }\n\n private handleSubjectInput(data: string): void {\n const task = this.selectedTask();\n if (data === KEY_ENTER || data === KEY_NEWLINE) {\n this.mode = 'browse';\n if (task) this.commit({ id: task.id, subject: this.draft });\n } else if (matchesKey(data, 'escape')) this.mode = 'browse';\n else if (data === KEY_BACKSPACE) this.draft = this.draft.slice(0, -1);\n else if (!isControlInput(data)) this.draft += data;\n this.tui.requestRender();\n }\n\n handleInput(data: string): void {\n if (this.mode === 'status') {\n this.handleStatusInput(data);\n return;\n }\n if (this.mode === 'subject') {\n this.handleSubjectInput(data);\n return;\n }\n\n if (matchesKey(data, 'escape') || matchesKey(data, 'ctrl+c')) {\n this.done(undefined);\n return;\n }\n if (matchesKey(data, 'up')) {\n this.move(-1);\n return;\n }\n if (matchesKey(data, 'down')) {\n this.move(1);\n return;\n }\n\n const task = this.selectedTask();\n if (!task) return;\n if (data === 's') {\n this.mode = 'status';\n this.statusIndex = Math.max(0, TASK_STATUSES.indexOf(task.status));\n this.tui.requestRender();\n return;\n }\n if (data === KEY_ENTER || data === KEY_NEWLINE) {\n this.mode = 'subject';\n this.draft = task.subject;\n this.tui.requestRender();\n }\n }\n\n /**\n * A padded, background-filled chip. Foreground is applied inside the fill so\n * the colour closes with it, rather than a reset stripping the background\n * partway through the label.\n */\n private badge(text: string, background: ThemeBg, colour: ThemeColor = 'text'): string {\n return this.theme.bg(background, this.theme.fg(colour, ` ${text} `));\n }\n\n /** Footer hints as capped keys: `[ enter ] edit subject`, per the mockup. */\n private hintLine(hints: readonly (readonly [string, string])[]): string {\n return hints\n .map(([key, label]) => `${this.badge(key, 'selectedBg')}${this.theme.fg('dim', ` ${label}`)}`)\n .join(this.theme.fg('dim', ' '));\n }\n\n private listLines(width: number): string[] {\n const tasks = this.tasks();\n const label = this.theme.bold('TASKS');\n const pathWidth = Math.max(0, width - visibleWidth('TASKS') - 2);\n const lines = [`${label} ${this.theme.fg('dim', storeLabel(this.options.store.storePath, pathWidth))}`, ''];\n if (tasks.length === 0) {\n lines.push(this.theme.fg('dim', MSG_NO_TASKS));\n return lines;\n }\n\n // Two rows per task: at a third of the width a single row left the subject\n // with a handful of columns once owner and state took their share.\n const budget = Math.max(1, Math.floor((this.bodyHeight - lines.length) / ROWS_PER_TASK));\n const start = Math.max(0, Math.min(this.selected - budget + 1, Math.max(0, tasks.length - budget)));\n for (const [offset, task] of tasks.slice(start, start + budget).entries()) {\n const index = start + offset;\n const active = index === Math.min(this.selected, tasks.length - 1);\n const marker = active ? this.theme.fg('accent', SELECTION_MARKER) : ' ';\n const subject = active ? this.theme.bold(task.subject) : task.subject;\n const glyph = overlayStatusGlyph(task.status, this.theme);\n const owner = task.owner ?? task.delegation?.agent ?? NO_VALUE;\n const blocked = task.status === 'pending' && isBlocked(this.options.store.snapshot.tasks, task);\n const state = blocked\n ? this.theme.fg('warning', `blocked by ${(task.blockedBy ?? []).map((id) => `#${id}`).join(', ')}`)\n : this.theme.fg('dim', STATUS_LABEL[task.status]);\n // Subject owns the first row outright; the metadata hangs under it.\n const heading = `${marker} ${glyph} ${this.theme.fg('dim', `#${task.id}`)} ${subject}`;\n const meta = `${' '.repeat(META_INDENT)}${this.badge(owner, 'userMessageBg', 'muted')} ${state}`;\n // Every task sits on a band, the selected one a shade lighter, as in the\n // mockup; the marker stays so selection survives themes with no background.\n const background: ThemeBg = active ? 'selectedBg' : 'userMessageBg';\n for (const row of [heading, meta]) {\n lines.push(this.theme.bg(background, fitRow(row, width)));\n }\n }\n return lines;\n }\n\n private statusLines(task: Task, width: number): string[] {\n if (this.mode !== 'status') {\n const glyph = overlayStatusGlyph(task.status, this.theme);\n return [this.theme.fg('dim', 'STATUS'), `${glyph} ${STATUS_LABEL[task.status]}`];\n }\n // Editing draws the picker as a filled panel, so the whole option list reads\n // as one surface rather than five loose rows.\n const lines = [this.theme.fg('dim', STATUS_HINT)];\n for (const [index, status] of TASK_STATUSES.entries()) {\n const selected = index === this.statusIndex;\n const marker = selected ? this.theme.fg('accent', CURRENT_MARKER) : ' ';\n const label = selected ? this.theme.bold(this.theme.fg('accent', status)) : this.theme.fg('muted', status);\n const current = status === task.status ? this.theme.fg('dim', 'current') : '';\n const row = rightAligned(` ${marker} ${label}`, current, width);\n lines.push(this.theme.bg(selected ? 'selectedBg' : 'userMessageBg', row));\n }\n return lines;\n }\n\n /** The subject as an input: a filled field with a caret, as in the mockup. */\n private subjectField(task: Task, width: number): string[] {\n const editing = this.mode === 'subject';\n const value = editing ? `${this.draft}${CURSOR_BLOCK}` : task.subject;\n return [\n this.theme.fg('dim', editing ? SUBJECT_HINT : 'SUBJECT'),\n this.theme.bg(editing ? 'selectedBg' : 'userMessageBg', fitRow(` ${value}`, width)),\n ];\n }\n\n private detailLines(width: number): string[] {\n const task = this.selectedTask();\n if (!task) return [this.theme.fg('dim', 'No task selected')];\n\n const editing = this.mode === 'subject' || this.mode === 'status';\n const badge = editing ? this.badge('EDIT', 'toolSuccessBg', 'warning') : '';\n const lines = [rightAligned(this.theme.bold(this.theme.fg('accent', `TASK #${task.id}`)), badge, width), ''];\n lines.push(...this.subjectField(task, width));\n lines.push('', ...this.statusLines(task, width), '');\n\n if (task.activeForm) lines.push(this.theme.fg('dim', 'ACTIVE FORM'), task.activeForm, '');\n const owner = task.owner ?? task.delegation?.agent ?? NO_VALUE;\n const delegated = task.delegation?.runId ? this.theme.fg('success', `delegated run ${task.delegation.runId}`) : '';\n lines.push(\n this.theme.fg('dim', 'OWNER'),\n delegated ? `${owner} ${this.theme.fg('dim', '·')} ${delegated}` : owner,\n '',\n );\n lines.push(\n this.theme.fg('dim', 'BLOCKED BY'),\n task.blockedBy?.length ? task.blockedBy.map((id) => `#${id}`).join(' · ') : NO_VALUE,\n );\n if (task.description) lines.push('', this.theme.fg('dim', 'DESCRIPTION'), ...wrap(task.description, width));\n if (this.notice) lines.push('', this.theme.fg('error', this.notice));\n return lines;\n }\n\n private headerSummary(): string {\n const counts = countTasks(this.options.store.snapshot.tasks);\n const summary = [`${counts.completed}/${counts.total} completed`];\n if (counts.inProgress > 0) summary.push(`${counts.inProgress} in progress`);\n if (counts.blocked > 0) summary.push(`${counts.blocked} blocked`);\n if (counts.failed > 0) summary.push(`${counts.failed} failed`);\n return summary.join(' · ');\n }\n\n protected getChrome(): DoomOverlayChrome {\n return {\n title: TITLE,\n accent: DOOM_OVERLAY_ACCENT,\n breadcrumb: BREADCRUMB,\n headerRight: `${this.headerSummary()} · ${LIST_HEADER_RIGHT}`,\n footer: this.hintLine(LIST_HINTS),\n };\n }\n\n protected renderBody(width: number, height: number): string[] {\n this.bodyHeight = height;\n if (width < MIN_WIDTH) return this.renderStacked(width, height);\n\n const leftWidth = Math.max(MIN_PANE_WIDTH, Math.floor((width - 1) * LIST_PANE_RATIO));\n const rightWidth = Math.max(1, width - leftWidth - 1);\n // Each column gives up one column to the gutter, so content never abuts the\n // divider: a long store path used to run straight into the detail heading.\n const leftContent = Math.max(1, leftWidth - PANE_GUTTER);\n const rightContent = Math.max(1, rightWidth - PANE_GUTTER);\n const left = this.listLines(leftContent);\n const right = this.detailLines(rightContent);\n\n const divider = this.theme.fg('borderMuted', '│');\n return Array.from({ length: height }, (_, index) => {\n const row = `${fitRow(left[index] ?? '', leftContent)} ${divider} ${fitRow(right[index] ?? '', rightContent)}`;\n return truncateToWidth(row, width, ELLIPSIS);\n });\n }\n\n private renderStacked(width: number, height: number): string[] {\n const topHeight = Math.max(1, Math.floor((height - 1) / 2));\n const bottomHeight = Math.max(0, height - topHeight - 1);\n this.bodyHeight = topHeight;\n const top = this.listLines(width);\n const bottom = this.detailLines(width);\n return [\n ...top.slice(0, topHeight),\n ...Array.from({ length: Math.max(0, topHeight - top.length) }, () => ''),\n this.theme.fg('borderMuted', '─'.repeat(width)),\n ...bottom.slice(0, bottomHeight),\n ];\n }\n\n dispose(): void {\n this.unwatch();\n }\n}\n\nexport async function openTaskSpace(ctx: ExtensionContext, options: TaskSpaceOptions): Promise<void> {\n await ctx.ui.custom<undefined>(\n (tui, theme, _keybindings, done) => new TaskSpaceComponent(tui, theme, options, done),\n DOOM_FULLSCREEN_UI_OPTIONS,\n );\n}\n\nexport default openTaskSpace;\n"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { matchesKey, truncateToWidth, visibleWidth } from "@earendil-works/pi-tui";
|
|
1
|
+
import { n as MSG_NO_TASKS, s as TASK_STATUSES } from "./task-DKHKuems.mjs";
|
|
2
|
+
import { r as isBlocked } from "./taskGraph-BOQvT0-M.mjs";
|
|
3
|
+
import { a as isCommittingOp, o as singleItemOutcome, r as applyTaskMutation } from "./reducer-BEfJFM5L.mjs";
|
|
4
|
+
import { c as visibleTasks, t as countTasks } from "./selectors-BaS6dObz.mjs";
|
|
5
|
+
import { a as STATUS_LABEL, u as overlayStatusGlyph } from "./format.cli-CuTlvk8J.mjs";
|
|
7
6
|
import { homedir } from "node:os";
|
|
8
|
-
import {
|
|
7
|
+
import { matchesKey, truncateToWidth, visibleWidth } from "@earendil-works/pi-tui";
|
|
8
|
+
import { DOOM_FULLSCREEN_UI_OPTIONS, DOOM_OVERLAY_ACCENT, DoomOverlay } from "@agimon-ai/doompi-ui/doomOverlay";
|
|
9
9
|
import { fitStyledLine } from "@agimon-ai/doompi-ui/rendering";
|
|
10
10
|
//#region src/extensions/workspaces/sessions/(frontend)/overlay/_lib/task-space.cli.ts
|
|
11
11
|
/**
|
|
@@ -350,6 +350,6 @@ async function openTaskSpace(ctx, options) {
|
|
|
350
350
|
await ctx.ui.custom((tui, theme, _keybindings, done) => new TaskSpaceComponent(tui, theme, options, done), DOOM_FULLSCREEN_UI_OPTIONS);
|
|
351
351
|
}
|
|
352
352
|
//#endregion
|
|
353
|
-
export {
|
|
353
|
+
export { TaskSpaceComponent as n, openTaskSpace as r, TASK_SPACE_OVERLAY_OPTIONS as t };
|
|
354
354
|
|
|
355
|
-
//# sourceMappingURL=task-space.cli.mjs.map
|
|
355
|
+
//# sourceMappingURL=task-space.cli-DowNll0k.mjs.map
|