pybao-cli 1.4.38 → 1.4.40
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/REPL-6K5VPOC2.js +47 -0
- package/dist/{acp-VM2J53W4.js → acp-QZOLCDA5.js} +29 -29
- package/dist/{agentsValidate-GFWWYUUT.js → agentsValidate-WTSEY43P.js} +7 -7
- package/dist/{ask-PEAASZU5.js → ask-5ZZ4OGPD.js} +28 -28
- package/dist/{autoUpdater-3MO2ERDJ.js → autoUpdater-VMUVSMU5.js} +3 -3
- package/dist/{chunk-IHIHIPNE.js → chunk-3JMLHAXQ.js} +4 -4
- package/dist/{chunk-NDU2T5RK.js → chunk-4UHECP7Z.js} +2 -2
- package/dist/{chunk-F33UZKH2.js → chunk-5H4FGNYX.js} +2 -2
- package/dist/{chunk-VFIFN6QL.js → chunk-C74GKYBJ.js} +1 -1
- package/dist/{chunk-2PTOXRBC.js → chunk-CBJ6GW2R.js} +3 -3
- package/dist/{chunk-3BPMIKJM.js → chunk-CJWSI4HB.js} +3 -3
- package/dist/{chunk-YSGQ33QO.js → chunk-CMMWSXAT.js} +3 -3
- package/dist/{chunk-5F5QQXYO.js → chunk-CX4ZCXOT.js} +2 -2
- package/dist/{chunk-WYUAUOQL.js → chunk-D5B6P6W5.js} +4 -4
- package/dist/{chunk-ZTLEOE22.js → chunk-FX27A4PO.js} +78 -101
- package/dist/{chunk-ZTLEOE22.js.map → chunk-FX27A4PO.js.map} +2 -2
- package/dist/{chunk-POFRZWP7.js → chunk-GGZ2ZOJU.js} +1 -1
- package/dist/{chunk-POFRZWP7.js.map → chunk-GGZ2ZOJU.js.map} +1 -1
- package/dist/{chunk-UAPC4AG3.js → chunk-HLJUPG7B.js} +130 -34
- package/dist/chunk-HLJUPG7B.js.map +7 -0
- package/dist/{chunk-VINZKV6L.js → chunk-M7NCOW6Z.js} +3 -3
- package/dist/{chunk-PAZ5OZZ3.js → chunk-MSHWIJYD.js} +4 -4
- package/dist/{chunk-Q6D4CWM7.js → chunk-O6OVLSDT.js} +2 -2
- package/dist/{chunk-SV44GQBZ.js → chunk-OVRZG3WK.js} +2 -2
- package/dist/{chunk-ZBXRD5R5.js → chunk-QC2QS3JL.js} +3 -3
- package/dist/{chunk-DR3UKEHX.js → chunk-QP4OM5KA.js} +1 -1
- package/dist/{chunk-KXOZAPOR.js → chunk-RMKU4DVP.js} +165 -76
- package/dist/chunk-RMKU4DVP.js.map +7 -0
- package/dist/{chunk-4QZIAEFU.js → chunk-S6VKLRBA.js} +1 -1
- package/dist/{chunk-Q5VMFXN3.js → chunk-SEEKO5XX.js} +1 -1
- package/dist/{chunk-4HUEIGXE.js → chunk-SV2NALVC.js} +4 -4
- package/dist/{chunk-7D6P6FJI.js → chunk-SVVHXVZ7.js} +1 -1
- package/dist/{chunk-NV4KLIR4.js → chunk-TI3TEYDV.js} +1 -1
- package/dist/{chunk-65QK3573.js → chunk-UU6CASWY.js} +1 -1
- package/dist/{chunk-4YELTGBJ.js → chunk-WNIKFDDS.js} +3 -3
- package/dist/{chunk-FQBPNSQM.js → chunk-WXW6AHFI.js} +1 -1
- package/dist/{chunk-2TPHG5NF.js → chunk-YBAS546F.js} +2 -2
- package/dist/{chunk-4VNRS435.js → chunk-YMEQARK4.js} +1 -1
- package/dist/{chunk-KJAUAOX4.js → chunk-ZTZHCMM5.js} +3 -3
- package/dist/{cli-BMCKTX2V.js → cli-5TNOUCJC.js} +87 -87
- package/dist/commands-DNDA2GAQ.js +51 -0
- package/dist/{config-CKEF5MIR.js → config-EQVBDMNL.js} +4 -4
- package/dist/{context-CV3LBU7I.js → context-XHT72KYH.js} +6 -6
- package/dist/{customCommands-JK4SVCOD.js → customCommands-53PEYF2P.js} +4 -4
- package/dist/{env-2D5PYXT3.js → env-HHTIBIOA.js} +2 -2
- package/dist/{file-DTOJ46HD.js → file-2XL7UEI6.js} +4 -4
- package/dist/index.js +3 -3
- package/dist/{llm-3C5ICYYM.js → llm-YYDRZV6Q.js} +29 -29
- package/dist/{llmLazy-7NGDJTCJ.js → llmLazy-PVTHNKPQ.js} +1 -1
- package/dist/{loader-K64KKCLP.js → loader-634Z6H5T.js} +4 -4
- package/dist/{lsp-UIWT5EAB.js → lsp-JMLBYE4S.js} +6 -6
- package/dist/{lspAnchor-XM5HYD36.js → lspAnchor-P2NDRAWX.js} +6 -6
- package/dist/{mcp-WF3IJF4P.js → mcp-6YEWGGPW.js} +7 -7
- package/dist/{mentionProcessor-FBOG655N.js → mentionProcessor-AI6OPVWJ.js} +6 -6
- package/dist/{messages-S6BQMC7F.js → messages-22GI6CKF.js} +1 -1
- package/dist/{model-N6XZCIO2.js → model-2PA7FU7I.js} +5 -5
- package/dist/{openai-YJOBEGF4.js → openai-ZIPNVIW4.js} +5 -5
- package/dist/{outputStyles-UJISJCZB.js → outputStyles-VAHHX6FT.js} +4 -4
- package/dist/{pluginRuntime-B5FLWZCB.js → pluginRuntime-BWIVSSHB.js} +6 -6
- package/dist/{pluginValidation-YLGUCTSN.js → pluginValidation-RYP223MH.js} +6 -6
- package/dist/prompts-5SV5E55O.js +53 -0
- package/dist/{pybAgentSessionLoad-ZIJOJP53.js → pybAgentSessionLoad-FQS7F6IV.js} +4 -4
- package/dist/{pybAgentSessionResume-32HYMEZD.js → pybAgentSessionResume-UA6AH2NL.js} +4 -4
- package/dist/{pybAgentStreamJsonSession-33GITQPO.js → pybAgentStreamJsonSession-BGOJGD7K.js} +1 -1
- package/dist/{pybHooks-XQH57YXB.js → pybHooks-G76HSRFU.js} +4 -4
- package/dist/query-EDHQCMV3.js +55 -0
- package/dist/{registry-AWWHDPCP.js → registry-Z5GTIAFL.js} +5 -5
- package/dist/{ripgrep-HM6FRMPY.js → ripgrep-IP3FA5AC.js} +3 -3
- package/dist/{skillMarketplace-RFELE7ZN.js → skillMarketplace-X6IPYOGR.js} +3 -3
- package/dist/{state-3MIS3KPI.js → state-WBOCU46K.js} +2 -2
- package/dist/{theme-3W3YPAC4.js → theme-OU2JB33D.js} +5 -5
- package/dist/{toolPermissionSettings-Q7A55J23.js → toolPermissionSettings-AAQWI466.js} +6 -6
- package/dist/tools-MEBWWJWC.js +52 -0
- package/dist/{userInput-Y5GXDITH.js → userInput-YDGTG4S4.js} +30 -30
- package/package.json +1 -1
- package/dist/REPL-7KQEJZQW.js +0 -47
- package/dist/chunk-KXOZAPOR.js.map +0 -7
- package/dist/chunk-UAPC4AG3.js.map +0 -7
- package/dist/commands-MTPBHNKM.js +0 -51
- package/dist/prompts-YL2Q36DH.js +0 -53
- package/dist/query-UI6I2555.js +0 -55
- package/dist/tools-VFHVJUG3.js +0 -52
- /package/dist/{REPL-7KQEJZQW.js.map → REPL-6K5VPOC2.js.map} +0 -0
- /package/dist/{acp-VM2J53W4.js.map → acp-QZOLCDA5.js.map} +0 -0
- /package/dist/{agentsValidate-GFWWYUUT.js.map → agentsValidate-WTSEY43P.js.map} +0 -0
- /package/dist/{ask-PEAASZU5.js.map → ask-5ZZ4OGPD.js.map} +0 -0
- /package/dist/{autoUpdater-3MO2ERDJ.js.map → autoUpdater-VMUVSMU5.js.map} +0 -0
- /package/dist/{chunk-IHIHIPNE.js.map → chunk-3JMLHAXQ.js.map} +0 -0
- /package/dist/{chunk-NDU2T5RK.js.map → chunk-4UHECP7Z.js.map} +0 -0
- /package/dist/{chunk-F33UZKH2.js.map → chunk-5H4FGNYX.js.map} +0 -0
- /package/dist/{chunk-VFIFN6QL.js.map → chunk-C74GKYBJ.js.map} +0 -0
- /package/dist/{chunk-2PTOXRBC.js.map → chunk-CBJ6GW2R.js.map} +0 -0
- /package/dist/{chunk-3BPMIKJM.js.map → chunk-CJWSI4HB.js.map} +0 -0
- /package/dist/{chunk-YSGQ33QO.js.map → chunk-CMMWSXAT.js.map} +0 -0
- /package/dist/{chunk-5F5QQXYO.js.map → chunk-CX4ZCXOT.js.map} +0 -0
- /package/dist/{chunk-WYUAUOQL.js.map → chunk-D5B6P6W5.js.map} +0 -0
- /package/dist/{chunk-VINZKV6L.js.map → chunk-M7NCOW6Z.js.map} +0 -0
- /package/dist/{chunk-PAZ5OZZ3.js.map → chunk-MSHWIJYD.js.map} +0 -0
- /package/dist/{chunk-Q6D4CWM7.js.map → chunk-O6OVLSDT.js.map} +0 -0
- /package/dist/{chunk-SV44GQBZ.js.map → chunk-OVRZG3WK.js.map} +0 -0
- /package/dist/{chunk-ZBXRD5R5.js.map → chunk-QC2QS3JL.js.map} +0 -0
- /package/dist/{chunk-DR3UKEHX.js.map → chunk-QP4OM5KA.js.map} +0 -0
- /package/dist/{chunk-4QZIAEFU.js.map → chunk-S6VKLRBA.js.map} +0 -0
- /package/dist/{chunk-Q5VMFXN3.js.map → chunk-SEEKO5XX.js.map} +0 -0
- /package/dist/{chunk-4HUEIGXE.js.map → chunk-SV2NALVC.js.map} +0 -0
- /package/dist/{chunk-7D6P6FJI.js.map → chunk-SVVHXVZ7.js.map} +0 -0
- /package/dist/{chunk-NV4KLIR4.js.map → chunk-TI3TEYDV.js.map} +0 -0
- /package/dist/{chunk-65QK3573.js.map → chunk-UU6CASWY.js.map} +0 -0
- /package/dist/{chunk-4YELTGBJ.js.map → chunk-WNIKFDDS.js.map} +0 -0
- /package/dist/{chunk-FQBPNSQM.js.map → chunk-WXW6AHFI.js.map} +0 -0
- /package/dist/{chunk-2TPHG5NF.js.map → chunk-YBAS546F.js.map} +0 -0
- /package/dist/{chunk-4VNRS435.js.map → chunk-YMEQARK4.js.map} +0 -0
- /package/dist/{chunk-KJAUAOX4.js.map → chunk-ZTZHCMM5.js.map} +0 -0
- /package/dist/{cli-BMCKTX2V.js.map → cli-5TNOUCJC.js.map} +0 -0
- /package/dist/{commands-MTPBHNKM.js.map → commands-DNDA2GAQ.js.map} +0 -0
- /package/dist/{config-CKEF5MIR.js.map → config-EQVBDMNL.js.map} +0 -0
- /package/dist/{context-CV3LBU7I.js.map → context-XHT72KYH.js.map} +0 -0
- /package/dist/{customCommands-JK4SVCOD.js.map → customCommands-53PEYF2P.js.map} +0 -0
- /package/dist/{env-2D5PYXT3.js.map → env-HHTIBIOA.js.map} +0 -0
- /package/dist/{file-DTOJ46HD.js.map → file-2XL7UEI6.js.map} +0 -0
- /package/dist/{llm-3C5ICYYM.js.map → llm-YYDRZV6Q.js.map} +0 -0
- /package/dist/{llmLazy-7NGDJTCJ.js.map → llmLazy-PVTHNKPQ.js.map} +0 -0
- /package/dist/{loader-K64KKCLP.js.map → loader-634Z6H5T.js.map} +0 -0
- /package/dist/{lsp-UIWT5EAB.js.map → lsp-JMLBYE4S.js.map} +0 -0
- /package/dist/{lspAnchor-XM5HYD36.js.map → lspAnchor-P2NDRAWX.js.map} +0 -0
- /package/dist/{mcp-WF3IJF4P.js.map → mcp-6YEWGGPW.js.map} +0 -0
- /package/dist/{mentionProcessor-FBOG655N.js.map → mentionProcessor-AI6OPVWJ.js.map} +0 -0
- /package/dist/{messages-S6BQMC7F.js.map → messages-22GI6CKF.js.map} +0 -0
- /package/dist/{model-N6XZCIO2.js.map → model-2PA7FU7I.js.map} +0 -0
- /package/dist/{openai-YJOBEGF4.js.map → openai-ZIPNVIW4.js.map} +0 -0
- /package/dist/{outputStyles-UJISJCZB.js.map → outputStyles-VAHHX6FT.js.map} +0 -0
- /package/dist/{pluginRuntime-B5FLWZCB.js.map → pluginRuntime-BWIVSSHB.js.map} +0 -0
- /package/dist/{pluginValidation-YLGUCTSN.js.map → pluginValidation-RYP223MH.js.map} +0 -0
- /package/dist/{prompts-YL2Q36DH.js.map → prompts-5SV5E55O.js.map} +0 -0
- /package/dist/{pybAgentSessionLoad-ZIJOJP53.js.map → pybAgentSessionLoad-FQS7F6IV.js.map} +0 -0
- /package/dist/{pybAgentSessionResume-32HYMEZD.js.map → pybAgentSessionResume-UA6AH2NL.js.map} +0 -0
- /package/dist/{pybAgentStreamJsonSession-33GITQPO.js.map → pybAgentStreamJsonSession-BGOJGD7K.js.map} +0 -0
- /package/dist/{pybHooks-XQH57YXB.js.map → pybHooks-G76HSRFU.js.map} +0 -0
- /package/dist/{query-UI6I2555.js.map → query-EDHQCMV3.js.map} +0 -0
- /package/dist/{registry-AWWHDPCP.js.map → registry-Z5GTIAFL.js.map} +0 -0
- /package/dist/{ripgrep-HM6FRMPY.js.map → ripgrep-IP3FA5AC.js.map} +0 -0
- /package/dist/{skillMarketplace-RFELE7ZN.js.map → skillMarketplace-X6IPYOGR.js.map} +0 -0
- /package/dist/{state-3MIS3KPI.js.map → state-WBOCU46K.js.map} +0 -0
- /package/dist/{theme-3W3YPAC4.js.map → theme-OU2JB33D.js.map} +0 -0
- /package/dist/{toolPermissionSettings-Q7A55J23.js.map → toolPermissionSettings-AAQWI466.js.map} +0 -0
- /package/dist/{tools-VFHVJUG3.js.map → tools-MEBWWJWC.js.map} +0 -0
- /package/dist/{userInput-Y5GXDITH.js.map → userInput-YDGTG4S4.js.map} +0 -0
|
@@ -28,16 +28,16 @@ import {
|
|
|
28
28
|
hasReadPermission,
|
|
29
29
|
hasWritePermission,
|
|
30
30
|
query
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-RMKU4DVP.js";
|
|
32
32
|
import {
|
|
33
33
|
queryLLM
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-3JMLHAXQ.js";
|
|
35
35
|
import {
|
|
36
36
|
FallbackToolUseRejectedMessage,
|
|
37
37
|
MCPTool,
|
|
38
38
|
getClients,
|
|
39
39
|
getMCPTools
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-MSHWIJYD.js";
|
|
41
41
|
import {
|
|
42
42
|
TaskStoreConflictError,
|
|
43
43
|
createTask,
|
|
@@ -47,45 +47,45 @@ import {
|
|
|
47
47
|
getTaskListPaths,
|
|
48
48
|
listTasks,
|
|
49
49
|
updateTask
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-HLJUPG7B.js";
|
|
51
51
|
import {
|
|
52
52
|
getActiveAgents,
|
|
53
53
|
getAgentByType,
|
|
54
54
|
getAvailableAgentTypes
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-O6OVLSDT.js";
|
|
56
56
|
import {
|
|
57
57
|
INTERRUPT_MESSAGE,
|
|
58
58
|
createAssistantMessage,
|
|
59
59
|
createUserMessage,
|
|
60
60
|
getLastAssistantMessageId
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-YMEQARK4.js";
|
|
62
62
|
import {
|
|
63
63
|
formatDuration,
|
|
64
64
|
formatNumber
|
|
65
65
|
} from "./chunk-OUXHGDLH.js";
|
|
66
66
|
import {
|
|
67
67
|
getAbsolutePath
|
|
68
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-YBAS546F.js";
|
|
69
69
|
import {
|
|
70
70
|
LspFacade,
|
|
71
71
|
formatDiagnosticsPretty
|
|
72
|
-
} from "./chunk-
|
|
72
|
+
} from "./chunk-SV2NALVC.js";
|
|
73
73
|
import {
|
|
74
74
|
getModelManager
|
|
75
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-ZTZHCMM5.js";
|
|
76
76
|
import {
|
|
77
77
|
getContext
|
|
78
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-D5B6P6W5.js";
|
|
79
79
|
import {
|
|
80
80
|
filesToTree,
|
|
81
81
|
ripGrepWithStatus
|
|
82
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-UU6CASWY.js";
|
|
83
83
|
import {
|
|
84
84
|
getTheme
|
|
85
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-C74GKYBJ.js";
|
|
86
86
|
import {
|
|
87
87
|
debug
|
|
88
|
-
} from "./chunk-
|
|
88
|
+
} from "./chunk-SVVHXVZ7.js";
|
|
89
89
|
import {
|
|
90
90
|
BunShell,
|
|
91
91
|
getCwd,
|
|
@@ -96,7 +96,7 @@ import {
|
|
|
96
96
|
overwriteLog,
|
|
97
97
|
readTaskOutput,
|
|
98
98
|
resolveXdgDataPath
|
|
99
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-WXW6AHFI.js";
|
|
100
100
|
|
|
101
101
|
// src/tools/index.ts
|
|
102
102
|
import { memoize as memoize2 } from "lodash-es";
|
|
@@ -775,7 +775,7 @@ async function analyzeOutputWithLsp(output, exitCode) {
|
|
|
775
775
|
if (exitCode !== 0 || errorCount > 0 || warningCount > 0) {
|
|
776
776
|
try {
|
|
777
777
|
const { isAbsolute: isAbsolute3, resolve: resolve4 } = await import("path");
|
|
778
|
-
const { getSessionRoot: getSessionRoot2 } = await import("./state-
|
|
778
|
+
const { getSessionRoot: getSessionRoot2 } = await import("./state-WBOCU46K.js");
|
|
779
779
|
const lines = output.split("\n");
|
|
780
780
|
const uniqueFiles = /* @__PURE__ */ new Set();
|
|
781
781
|
const lspSuggestions = [];
|
|
@@ -1148,7 +1148,7 @@ var DeleteTool = {
|
|
|
1148
1148
|
}
|
|
1149
1149
|
if (!force) {
|
|
1150
1150
|
try {
|
|
1151
|
-
const { LspFacade: LspFacade2 } = await import("./lsp-
|
|
1151
|
+
const { LspFacade: LspFacade2 } = await import("./lsp-JMLBYE4S.js");
|
|
1152
1152
|
const referenceDetail = await LspFacade2.checkFileReferences(fullPath);
|
|
1153
1153
|
if (referenceDetail) {
|
|
1154
1154
|
failedItems.push(
|
|
@@ -3001,18 +3001,31 @@ var TaskTool = {
|
|
|
3001
3001
|
import { z as z9 } from "zod";
|
|
3002
3002
|
|
|
3003
3003
|
// src/utils/session/taskToolUtils.ts
|
|
3004
|
-
function
|
|
3004
|
+
function toTaskListItem(task) {
|
|
3005
3005
|
return {
|
|
3006
|
-
|
|
3007
|
-
|
|
3008
|
-
|
|
3009
|
-
|
|
3006
|
+
id: task.id,
|
|
3007
|
+
subject: task.subject,
|
|
3008
|
+
status: task.status,
|
|
3009
|
+
owner: task.assignee,
|
|
3010
|
+
blockedBy: task.blockedBy ?? []
|
|
3010
3011
|
};
|
|
3011
3012
|
}
|
|
3012
|
-
function
|
|
3013
|
+
function toTaskDetail(task) {
|
|
3013
3014
|
return {
|
|
3014
|
-
task,
|
|
3015
|
-
|
|
3015
|
+
id: task.id,
|
|
3016
|
+
subject: task.subject,
|
|
3017
|
+
description: task.description,
|
|
3018
|
+
activeForm: task.activeForm,
|
|
3019
|
+
status: task.status,
|
|
3020
|
+
tags: task.tags,
|
|
3021
|
+
assignee: task.assignee,
|
|
3022
|
+
metadata: task.metadata,
|
|
3023
|
+
archived: task.archived,
|
|
3024
|
+
blocks: task.blocks ?? [],
|
|
3025
|
+
blockedBy: task.blockedBy ?? [],
|
|
3026
|
+
parent: task.parent,
|
|
3027
|
+
related: task.related ?? [],
|
|
3028
|
+
legacyTodoId: task.legacyTodoId
|
|
3016
3029
|
};
|
|
3017
3030
|
}
|
|
3018
3031
|
function createTaskToolError(params) {
|
|
@@ -3027,37 +3040,36 @@ function createTaskToolError(params) {
|
|
|
3027
3040
|
}
|
|
3028
3041
|
|
|
3029
3042
|
// src/tools/interaction/TaskCreateTool/prompt.ts
|
|
3030
|
-
var DESCRIPTION6 = "Create a new task in the task list with optional status
|
|
3043
|
+
var DESCRIPTION6 = "Create a new task in the task list with optional status and dependencies.";
|
|
3031
3044
|
var PROMPT6 = `Use this tool to create a new task in the current task list. It is the entry point for planning multi-step work.
|
|
3032
3045
|
|
|
3033
3046
|
## When to Use This Tool
|
|
3034
3047
|
Use this tool proactively in these scenarios:
|
|
3035
|
-
|
|
3036
|
-
1. You need to add a task with structured fields (subject/title, status, priority, tags).
|
|
3048
|
+
1. You need to add a task with structured fields (subject, status, tags).
|
|
3037
3049
|
2. You want to seed a plan for multi-step work before implementation starts.
|
|
3038
|
-
3. You need to define dependencies (
|
|
3050
|
+
3. You need to define dependencies (blockedBy, parent, related) at creation time.
|
|
3039
3051
|
4. You need to align with a user request to create a task list or plan.
|
|
3040
|
-
|
|
3052
|
+
|
|
3041
3053
|
## When NOT to Use This Tool
|
|
3042
3054
|
- You need to modify an existing task (use TaskUpdate).
|
|
3043
3055
|
Skip using this tool when:
|
|
3044
3056
|
1. You only need to read task data (use TaskGet or TaskList).
|
|
3045
3057
|
2. You need to modify an existing task (use TaskUpdate).
|
|
3046
3058
|
3. You are only reporting progress without changing any task fields.
|
|
3047
|
-
-
|
|
3059
|
+
- subject is required.
|
|
3048
3060
|
NOTE that you should not use this tool if you are only updating status or details of an existing task.
|
|
3049
3061
|
|
|
3050
3062
|
## Input Notes
|
|
3051
|
-
-
|
|
3063
|
+
- subject is required.
|
|
3052
3064
|
- listId is optional; omit to use the default list.
|
|
3053
3065
|
- Dependencies are validated for cycles; invalid cycles will be rejected.
|
|
3054
|
-
- baseVersion is set automatically for new tasks.
|
|
3055
3066
|
- status can be open, in_progress, blocked, done, or archived.
|
|
3067
|
+
- activeForm will be generated from subject if omitted.
|
|
3068
|
+
- blockedBy is always stored as an array (empty when not used).
|
|
3069
|
+
- description and blockedBy are kept separate in JSON; any joining is only for terminal rendering.
|
|
3070
|
+
- Task ordering relies on task id; do not use priority fields.
|
|
3056
3071
|
|
|
3057
|
-
##
|
|
3058
|
-
- Use high for critical blockers or the next critical step.
|
|
3059
|
-
- Use medium for standard implementation steps.
|
|
3060
|
-
- Use low for nice-to-have improvements or cleanup.
|
|
3072
|
+
## Status Notes
|
|
3061
3073
|
- Use blocked when dependencies prevent work and fill blockedBy.
|
|
3062
3074
|
|
|
3063
3075
|
## Examples of When to Use TaskCreate
|
|
@@ -3092,12 +3104,10 @@ Assistant: I'll create tasks with dependencies.
|
|
|
3092
3104
|
// src/tools/interaction/TaskCreateTool/TaskCreateTool.tsx
|
|
3093
3105
|
var inputSchema9 = z9.strictObject({
|
|
3094
3106
|
listId: z9.string().optional(),
|
|
3095
|
-
subject: z9.string().min(1)
|
|
3096
|
-
title: z9.string().min(1).optional(),
|
|
3107
|
+
subject: z9.string().min(1),
|
|
3097
3108
|
description: z9.string().optional(),
|
|
3098
3109
|
activeForm: z9.string().optional(),
|
|
3099
3110
|
status: z9.enum(["open", "in_progress", "blocked", "done", "archived"]).optional(),
|
|
3100
|
-
priority: z9.enum(["high", "medium", "low"]).optional(),
|
|
3101
3111
|
tags: z9.array(z9.string()).optional(),
|
|
3102
3112
|
assignee: z9.string().optional(),
|
|
3103
3113
|
metadata: z9.record(z9.string()).optional(),
|
|
@@ -3107,7 +3117,7 @@ var inputSchema9 = z9.strictObject({
|
|
|
3107
3117
|
parent: z9.string().optional(),
|
|
3108
3118
|
related: z9.array(z9.string()).optional(),
|
|
3109
3119
|
legacyTodoId: z9.string().optional()
|
|
3110
|
-
})
|
|
3120
|
+
});
|
|
3111
3121
|
var TaskCreateTool = {
|
|
3112
3122
|
name: "TaskCreate",
|
|
3113
3123
|
cachedDescription: DESCRIPTION6,
|
|
@@ -3141,19 +3151,7 @@ var TaskCreateTool = {
|
|
|
3141
3151
|
},
|
|
3142
3152
|
async *call(input) {
|
|
3143
3153
|
try {
|
|
3144
|
-
const subject = input.subject
|
|
3145
|
-
if (!subject) {
|
|
3146
|
-
yield {
|
|
3147
|
-
type: "result",
|
|
3148
|
-
data: createTaskToolError({
|
|
3149
|
-
type: "validation",
|
|
3150
|
-
code: "TASK_SUBJECT_REQUIRED",
|
|
3151
|
-
message: "Task subject is required"
|
|
3152
|
-
})
|
|
3153
|
-
};
|
|
3154
|
-
return;
|
|
3155
|
-
}
|
|
3156
|
-
const title = input.title ?? subject;
|
|
3154
|
+
const subject = input.subject;
|
|
3157
3155
|
const tasks = listTasks({ listId: input.listId });
|
|
3158
3156
|
const nextId = Math.max(
|
|
3159
3157
|
0,
|
|
@@ -3163,16 +3161,14 @@ var TaskCreateTool = {
|
|
|
3163
3161
|
const candidateTask = {
|
|
3164
3162
|
id: String(nextId),
|
|
3165
3163
|
subject,
|
|
3166
|
-
title,
|
|
3167
3164
|
description: input.description,
|
|
3168
3165
|
activeForm: input.activeForm,
|
|
3169
3166
|
status: input.status ?? "open",
|
|
3170
|
-
priority: input.priority,
|
|
3171
3167
|
tags: input.tags,
|
|
3172
3168
|
assignee: input.assignee,
|
|
3173
3169
|
metadata: input.metadata,
|
|
3174
3170
|
archived: input.archived,
|
|
3175
|
-
blocks:
|
|
3171
|
+
blocks: [],
|
|
3176
3172
|
blockedBy: input.blockedBy,
|
|
3177
3173
|
parent: input.parent,
|
|
3178
3174
|
related: input.related,
|
|
@@ -3199,16 +3195,13 @@ var TaskCreateTool = {
|
|
|
3199
3195
|
const task = createTask(
|
|
3200
3196
|
{
|
|
3201
3197
|
subject,
|
|
3202
|
-
title,
|
|
3203
3198
|
description: input.description,
|
|
3204
3199
|
activeForm: input.activeForm,
|
|
3205
3200
|
status: input.status,
|
|
3206
|
-
priority: input.priority,
|
|
3207
3201
|
tags: input.tags,
|
|
3208
3202
|
assignee: input.assignee,
|
|
3209
3203
|
metadata: input.metadata,
|
|
3210
3204
|
archived: input.archived,
|
|
3211
|
-
blocks: input.blocks,
|
|
3212
3205
|
blockedBy: input.blockedBy,
|
|
3213
3206
|
parent: input.parent,
|
|
3214
3207
|
related: input.related,
|
|
@@ -3227,7 +3220,7 @@ var TaskCreateTool = {
|
|
|
3227
3220
|
type: "result",
|
|
3228
3221
|
data: {
|
|
3229
3222
|
listId,
|
|
3230
|
-
item:
|
|
3223
|
+
item: toTaskDetail(task)
|
|
3231
3224
|
}
|
|
3232
3225
|
};
|
|
3233
3226
|
} catch (error) {
|
|
@@ -3254,7 +3247,7 @@ var PROMPT7 = `Use this tool to fetch a single task by id.
|
|
|
3254
3247
|
Use this tool proactively in these scenarios:
|
|
3255
3248
|
|
|
3256
3249
|
1. You need details for one task to confirm its fields, status, or dependencies.
|
|
3257
|
-
2. You need the latest
|
|
3250
|
+
2. You need the latest task details before updating a task.
|
|
3258
3251
|
|
|
3259
3252
|
## When NOT to Use This Tool
|
|
3260
3253
|
|
|
@@ -3332,7 +3325,7 @@ var TaskGetTool = {
|
|
|
3332
3325
|
type: "result",
|
|
3333
3326
|
data: {
|
|
3334
3327
|
listId,
|
|
3335
|
-
item:
|
|
3328
|
+
item: toTaskDetail(task)
|
|
3336
3329
|
}
|
|
3337
3330
|
};
|
|
3338
3331
|
}
|
|
@@ -3343,7 +3336,7 @@ import { z as z11 } from "zod";
|
|
|
3343
3336
|
|
|
3344
3337
|
// src/tools/interaction/TaskListTool/prompt.ts
|
|
3345
3338
|
var DESCRIPTION8 = "List tasks in a task list, optionally filtered by status with ready/blocked breakdown.";
|
|
3346
|
-
var PROMPT8 = `Use this tool to list tasks and understand readiness. It returns ready and blocked groupings to help prioritize work.
|
|
3339
|
+
var PROMPT8 = `Use this tool to list tasks and understand readiness. It returns ready and blocked groupings to help prioritize work. TaskList only returns id/subject/status/owner/blockedBy for summaries; use TaskGet for details.
|
|
3347
3340
|
|
|
3348
3341
|
## When to Use This Tool
|
|
3349
3342
|
Use this tool proactively in these scenarios:
|
|
@@ -3389,10 +3382,10 @@ var inputSchema11 = z11.strictObject({
|
|
|
3389
3382
|
});
|
|
3390
3383
|
var filterByStatus = (tasks, statuses) => {
|
|
3391
3384
|
if (!statuses || statuses.length === 0) {
|
|
3392
|
-
return tasks.filter((item) => item.
|
|
3385
|
+
return tasks.filter((item) => item.status !== "archived");
|
|
3393
3386
|
}
|
|
3394
3387
|
const allowed = new Set(statuses);
|
|
3395
|
-
return tasks.filter((item) => allowed.has(item.
|
|
3388
|
+
return tasks.filter((item) => allowed.has(item.status));
|
|
3396
3389
|
};
|
|
3397
3390
|
var TaskListTool = {
|
|
3398
3391
|
name: "TaskList",
|
|
@@ -3429,17 +3422,12 @@ var TaskListTool = {
|
|
|
3429
3422
|
try {
|
|
3430
3423
|
const { listId } = getTaskListPaths(input.listId);
|
|
3431
3424
|
const tasks = listTasks({ listId: input.listId });
|
|
3432
|
-
const
|
|
3433
|
-
const
|
|
3434
|
-
const
|
|
3435
|
-
|
|
3436
|
-
);
|
|
3437
|
-
const ready = readyBlocked.ready.map(toTaskSummary);
|
|
3438
|
-
const blocked = readyBlocked.blocked.map(toTaskSummary);
|
|
3425
|
+
const filtered = filterByStatus(tasks, input.status);
|
|
3426
|
+
const readyBlocked = calculateReadyBlocked(filtered);
|
|
3427
|
+
const ready = readyBlocked.ready.map(toTaskListItem);
|
|
3428
|
+
const blocked = readyBlocked.blocked.map(toTaskListItem);
|
|
3439
3429
|
const includeBlocked = input.includeBlocked !== false;
|
|
3440
|
-
const items = includeBlocked ? filtered : filtered.filter(
|
|
3441
|
-
(item) => ready.some((entry) => entry.task.id === item.task.id)
|
|
3442
|
-
);
|
|
3430
|
+
const items = includeBlocked ? filtered.map(toTaskListItem) : filtered.filter((item) => ready.some((entry) => entry.id === item.id)).map(toTaskListItem);
|
|
3443
3431
|
yield {
|
|
3444
3432
|
type: "result",
|
|
3445
3433
|
data: {
|
|
@@ -3472,9 +3460,9 @@ var PROMPT9 = `Use this tool to update an existing task. It is the primary way t
|
|
|
3472
3460
|
## When to Use This Tool
|
|
3473
3461
|
Use this tool proactively in these scenarios:
|
|
3474
3462
|
|
|
3475
|
-
1. You need to change task fields (subject/
|
|
3476
|
-
2. You need to adjust dependencies (
|
|
3477
|
-
3. You need
|
|
3463
|
+
1. You need to change task fields (subject/description/status/tags).
|
|
3464
|
+
2. You need to adjust dependencies (blockedBy, parent, related).
|
|
3465
|
+
3. You need to move a task across states (open \u2192 in_progress \u2192 done).
|
|
3478
3466
|
4. You are moving a task across states (open \u2192 in_progress \u2192 done).
|
|
3479
3467
|
|
|
3480
3468
|
## When NOT to Use This Tool
|
|
@@ -3483,16 +3471,20 @@ Skip using this tool when:
|
|
|
3483
3471
|
1. You need to create a new task (use TaskCreate).
|
|
3484
3472
|
2. You only need to read tasks (use TaskGet or TaskList).
|
|
3485
3473
|
|
|
3486
|
-
NOTE that TaskUpdate
|
|
3474
|
+
NOTE that TaskUpdate should be used when you need to persist task changes.
|
|
3487
3475
|
|
|
3488
3476
|
## Input Notes
|
|
3489
3477
|
- taskId is required.
|
|
3490
3478
|
- listId is optional; omit to use the default list.
|
|
3491
3479
|
- If you provide status=done/archived and a parent exists, parent must already be completed.
|
|
3492
3480
|
- Dependencies are validated for cycles; invalid cycles will be rejected.
|
|
3493
|
-
-
|
|
3481
|
+
- If an update fails due to a conflict, refetch the task and retry.
|
|
3482
|
+
- activeForm will be generated from subject if omitted.
|
|
3483
|
+
- blockedBy is always stored as an array (empty when not used).
|
|
3484
|
+
- description and blockedBy are kept separate in JSON; any joining is only for terminal rendering.
|
|
3485
|
+
- Task ordering relies on task id; do not use priority fields.
|
|
3494
3486
|
|
|
3495
|
-
##
|
|
3487
|
+
## Status Notes
|
|
3496
3488
|
- Use in_progress for the task you are actively working on.
|
|
3497
3489
|
- Use blocked when dependencies prevent progress and set blockedBy.
|
|
3498
3490
|
- Use done or archived only when all child/parent constraints are satisfied.
|
|
@@ -3512,9 +3504,9 @@ Assistant: I'll update dependencies.
|
|
|
3512
3504
|
</example>
|
|
3513
3505
|
|
|
3514
3506
|
<example>
|
|
3515
|
-
User: The task update failed due to
|
|
3516
|
-
Assistant: I'll refetch the task and retry
|
|
3517
|
-
*Fetches task, then updates
|
|
3507
|
+
User: The task update failed due to a conflict.
|
|
3508
|
+
Assistant: I'll refetch the task and retry the update.
|
|
3509
|
+
*Fetches task, then updates again*
|
|
3518
3510
|
</example>
|
|
3519
3511
|
`;
|
|
3520
3512
|
|
|
@@ -3523,12 +3515,6 @@ var isCompletedStatus = (status) => status === "done" || status === "archived";
|
|
|
3523
3515
|
var normalizeDeps = (items) => [...items ?? []].filter(Boolean).sort();
|
|
3524
3516
|
var depsChanged = (prev, next) => {
|
|
3525
3517
|
if (prev.parent !== next.parent) return true;
|
|
3526
|
-
const prevBlocks = normalizeDeps(prev.blocks);
|
|
3527
|
-
const nextBlocks = normalizeDeps(next.blocks);
|
|
3528
|
-
if (prevBlocks.length !== nextBlocks.length) return true;
|
|
3529
|
-
for (let i = 0; i < prevBlocks.length; i += 1) {
|
|
3530
|
-
if (prevBlocks[i] !== nextBlocks[i]) return true;
|
|
3531
|
-
}
|
|
3532
3518
|
const prevBlockedBy = normalizeDeps(prev.blockedBy);
|
|
3533
3519
|
const nextBlockedBy = normalizeDeps(next.blockedBy);
|
|
3534
3520
|
if (prevBlockedBy.length !== nextBlockedBy.length) return true;
|
|
@@ -3553,11 +3539,9 @@ var inputSchema12 = z12.strictObject({
|
|
|
3553
3539
|
listId: z12.string().optional(),
|
|
3554
3540
|
taskId: z12.string().min(1),
|
|
3555
3541
|
subject: z12.string().optional(),
|
|
3556
|
-
title: z12.string().optional(),
|
|
3557
3542
|
description: z12.string().optional(),
|
|
3558
3543
|
activeForm: z12.string().optional(),
|
|
3559
3544
|
status: z12.enum(["open", "in_progress", "blocked", "done", "archived"]).optional(),
|
|
3560
|
-
priority: z12.enum(["high", "medium", "low"]).optional(),
|
|
3561
3545
|
tags: z12.array(z12.string()).optional(),
|
|
3562
3546
|
assignee: z12.string().optional(),
|
|
3563
3547
|
metadata: z12.record(z12.string()).optional(),
|
|
@@ -3618,21 +3602,17 @@ var TaskUpdateTool = {
|
|
|
3618
3602
|
return;
|
|
3619
3603
|
}
|
|
3620
3604
|
const tasks = listTasks({ listId: input.listId });
|
|
3621
|
-
const subject = input.subject ??
|
|
3622
|
-
const title = input.title ?? input.subject ?? existing.title ?? existing.subject;
|
|
3605
|
+
const subject = input.subject ?? existing.subject;
|
|
3623
3606
|
const updatedTask = {
|
|
3624
3607
|
...existing,
|
|
3625
3608
|
subject,
|
|
3626
|
-
title,
|
|
3627
3609
|
description: input.description ?? existing.description,
|
|
3628
3610
|
activeForm: input.activeForm ?? existing.activeForm,
|
|
3629
3611
|
status: input.status ?? existing.status,
|
|
3630
|
-
priority: input.priority ?? existing.priority,
|
|
3631
3612
|
tags: input.tags ?? existing.tags,
|
|
3632
3613
|
assignee: input.assignee ?? existing.assignee,
|
|
3633
3614
|
metadata: input.metadata ?? existing.metadata,
|
|
3634
3615
|
archived: input.archived ?? existing.archived,
|
|
3635
|
-
blocks: input.blocks ?? existing.blocks,
|
|
3636
3616
|
blockedBy: input.blockedBy ?? existing.blockedBy,
|
|
3637
3617
|
parent: input.parent ?? existing.parent,
|
|
3638
3618
|
related: input.related ?? existing.related,
|
|
@@ -3681,16 +3661,13 @@ var TaskUpdateTool = {
|
|
|
3681
3661
|
input.taskId,
|
|
3682
3662
|
{
|
|
3683
3663
|
subject: input.subject,
|
|
3684
|
-
title: input.title,
|
|
3685
3664
|
description: input.description,
|
|
3686
3665
|
activeForm: input.activeForm,
|
|
3687
3666
|
status: input.status,
|
|
3688
|
-
priority: input.priority,
|
|
3689
3667
|
tags: input.tags,
|
|
3690
3668
|
assignee: input.assignee,
|
|
3691
3669
|
metadata: input.metadata,
|
|
3692
3670
|
archived: input.archived,
|
|
3693
|
-
blocks: input.blocks,
|
|
3694
3671
|
blockedBy: input.blockedBy,
|
|
3695
3672
|
parent: input.parent,
|
|
3696
3673
|
related: input.related,
|
|
@@ -3727,7 +3704,7 @@ var TaskUpdateTool = {
|
|
|
3727
3704
|
type: "result",
|
|
3728
3705
|
data: {
|
|
3729
3706
|
listId,
|
|
3730
|
-
item:
|
|
3707
|
+
item: toTaskDetail(result.task)
|
|
3731
3708
|
}
|
|
3732
3709
|
};
|
|
3733
3710
|
} catch (error) {
|