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.
Files changed (147) hide show
  1. package/dist/REPL-6K5VPOC2.js +47 -0
  2. package/dist/{acp-VM2J53W4.js → acp-QZOLCDA5.js} +29 -29
  3. package/dist/{agentsValidate-GFWWYUUT.js → agentsValidate-WTSEY43P.js} +7 -7
  4. package/dist/{ask-PEAASZU5.js → ask-5ZZ4OGPD.js} +28 -28
  5. package/dist/{autoUpdater-3MO2ERDJ.js → autoUpdater-VMUVSMU5.js} +3 -3
  6. package/dist/{chunk-IHIHIPNE.js → chunk-3JMLHAXQ.js} +4 -4
  7. package/dist/{chunk-NDU2T5RK.js → chunk-4UHECP7Z.js} +2 -2
  8. package/dist/{chunk-F33UZKH2.js → chunk-5H4FGNYX.js} +2 -2
  9. package/dist/{chunk-VFIFN6QL.js → chunk-C74GKYBJ.js} +1 -1
  10. package/dist/{chunk-2PTOXRBC.js → chunk-CBJ6GW2R.js} +3 -3
  11. package/dist/{chunk-3BPMIKJM.js → chunk-CJWSI4HB.js} +3 -3
  12. package/dist/{chunk-YSGQ33QO.js → chunk-CMMWSXAT.js} +3 -3
  13. package/dist/{chunk-5F5QQXYO.js → chunk-CX4ZCXOT.js} +2 -2
  14. package/dist/{chunk-WYUAUOQL.js → chunk-D5B6P6W5.js} +4 -4
  15. package/dist/{chunk-ZTLEOE22.js → chunk-FX27A4PO.js} +78 -101
  16. package/dist/{chunk-ZTLEOE22.js.map → chunk-FX27A4PO.js.map} +2 -2
  17. package/dist/{chunk-POFRZWP7.js → chunk-GGZ2ZOJU.js} +1 -1
  18. package/dist/{chunk-POFRZWP7.js.map → chunk-GGZ2ZOJU.js.map} +1 -1
  19. package/dist/{chunk-UAPC4AG3.js → chunk-HLJUPG7B.js} +130 -34
  20. package/dist/chunk-HLJUPG7B.js.map +7 -0
  21. package/dist/{chunk-VINZKV6L.js → chunk-M7NCOW6Z.js} +3 -3
  22. package/dist/{chunk-PAZ5OZZ3.js → chunk-MSHWIJYD.js} +4 -4
  23. package/dist/{chunk-Q6D4CWM7.js → chunk-O6OVLSDT.js} +2 -2
  24. package/dist/{chunk-SV44GQBZ.js → chunk-OVRZG3WK.js} +2 -2
  25. package/dist/{chunk-ZBXRD5R5.js → chunk-QC2QS3JL.js} +3 -3
  26. package/dist/{chunk-DR3UKEHX.js → chunk-QP4OM5KA.js} +1 -1
  27. package/dist/{chunk-KXOZAPOR.js → chunk-RMKU4DVP.js} +165 -76
  28. package/dist/chunk-RMKU4DVP.js.map +7 -0
  29. package/dist/{chunk-4QZIAEFU.js → chunk-S6VKLRBA.js} +1 -1
  30. package/dist/{chunk-Q5VMFXN3.js → chunk-SEEKO5XX.js} +1 -1
  31. package/dist/{chunk-4HUEIGXE.js → chunk-SV2NALVC.js} +4 -4
  32. package/dist/{chunk-7D6P6FJI.js → chunk-SVVHXVZ7.js} +1 -1
  33. package/dist/{chunk-NV4KLIR4.js → chunk-TI3TEYDV.js} +1 -1
  34. package/dist/{chunk-65QK3573.js → chunk-UU6CASWY.js} +1 -1
  35. package/dist/{chunk-4YELTGBJ.js → chunk-WNIKFDDS.js} +3 -3
  36. package/dist/{chunk-FQBPNSQM.js → chunk-WXW6AHFI.js} +1 -1
  37. package/dist/{chunk-2TPHG5NF.js → chunk-YBAS546F.js} +2 -2
  38. package/dist/{chunk-4VNRS435.js → chunk-YMEQARK4.js} +1 -1
  39. package/dist/{chunk-KJAUAOX4.js → chunk-ZTZHCMM5.js} +3 -3
  40. package/dist/{cli-BMCKTX2V.js → cli-5TNOUCJC.js} +87 -87
  41. package/dist/commands-DNDA2GAQ.js +51 -0
  42. package/dist/{config-CKEF5MIR.js → config-EQVBDMNL.js} +4 -4
  43. package/dist/{context-CV3LBU7I.js → context-XHT72KYH.js} +6 -6
  44. package/dist/{customCommands-JK4SVCOD.js → customCommands-53PEYF2P.js} +4 -4
  45. package/dist/{env-2D5PYXT3.js → env-HHTIBIOA.js} +2 -2
  46. package/dist/{file-DTOJ46HD.js → file-2XL7UEI6.js} +4 -4
  47. package/dist/index.js +3 -3
  48. package/dist/{llm-3C5ICYYM.js → llm-YYDRZV6Q.js} +29 -29
  49. package/dist/{llmLazy-7NGDJTCJ.js → llmLazy-PVTHNKPQ.js} +1 -1
  50. package/dist/{loader-K64KKCLP.js → loader-634Z6H5T.js} +4 -4
  51. package/dist/{lsp-UIWT5EAB.js → lsp-JMLBYE4S.js} +6 -6
  52. package/dist/{lspAnchor-XM5HYD36.js → lspAnchor-P2NDRAWX.js} +6 -6
  53. package/dist/{mcp-WF3IJF4P.js → mcp-6YEWGGPW.js} +7 -7
  54. package/dist/{mentionProcessor-FBOG655N.js → mentionProcessor-AI6OPVWJ.js} +6 -6
  55. package/dist/{messages-S6BQMC7F.js → messages-22GI6CKF.js} +1 -1
  56. package/dist/{model-N6XZCIO2.js → model-2PA7FU7I.js} +5 -5
  57. package/dist/{openai-YJOBEGF4.js → openai-ZIPNVIW4.js} +5 -5
  58. package/dist/{outputStyles-UJISJCZB.js → outputStyles-VAHHX6FT.js} +4 -4
  59. package/dist/{pluginRuntime-B5FLWZCB.js → pluginRuntime-BWIVSSHB.js} +6 -6
  60. package/dist/{pluginValidation-YLGUCTSN.js → pluginValidation-RYP223MH.js} +6 -6
  61. package/dist/prompts-5SV5E55O.js +53 -0
  62. package/dist/{pybAgentSessionLoad-ZIJOJP53.js → pybAgentSessionLoad-FQS7F6IV.js} +4 -4
  63. package/dist/{pybAgentSessionResume-32HYMEZD.js → pybAgentSessionResume-UA6AH2NL.js} +4 -4
  64. package/dist/{pybAgentStreamJsonSession-33GITQPO.js → pybAgentStreamJsonSession-BGOJGD7K.js} +1 -1
  65. package/dist/{pybHooks-XQH57YXB.js → pybHooks-G76HSRFU.js} +4 -4
  66. package/dist/query-EDHQCMV3.js +55 -0
  67. package/dist/{registry-AWWHDPCP.js → registry-Z5GTIAFL.js} +5 -5
  68. package/dist/{ripgrep-HM6FRMPY.js → ripgrep-IP3FA5AC.js} +3 -3
  69. package/dist/{skillMarketplace-RFELE7ZN.js → skillMarketplace-X6IPYOGR.js} +3 -3
  70. package/dist/{state-3MIS3KPI.js → state-WBOCU46K.js} +2 -2
  71. package/dist/{theme-3W3YPAC4.js → theme-OU2JB33D.js} +5 -5
  72. package/dist/{toolPermissionSettings-Q7A55J23.js → toolPermissionSettings-AAQWI466.js} +6 -6
  73. package/dist/tools-MEBWWJWC.js +52 -0
  74. package/dist/{userInput-Y5GXDITH.js → userInput-YDGTG4S4.js} +30 -30
  75. package/package.json +1 -1
  76. package/dist/REPL-7KQEJZQW.js +0 -47
  77. package/dist/chunk-KXOZAPOR.js.map +0 -7
  78. package/dist/chunk-UAPC4AG3.js.map +0 -7
  79. package/dist/commands-MTPBHNKM.js +0 -51
  80. package/dist/prompts-YL2Q36DH.js +0 -53
  81. package/dist/query-UI6I2555.js +0 -55
  82. package/dist/tools-VFHVJUG3.js +0 -52
  83. /package/dist/{REPL-7KQEJZQW.js.map → REPL-6K5VPOC2.js.map} +0 -0
  84. /package/dist/{acp-VM2J53W4.js.map → acp-QZOLCDA5.js.map} +0 -0
  85. /package/dist/{agentsValidate-GFWWYUUT.js.map → agentsValidate-WTSEY43P.js.map} +0 -0
  86. /package/dist/{ask-PEAASZU5.js.map → ask-5ZZ4OGPD.js.map} +0 -0
  87. /package/dist/{autoUpdater-3MO2ERDJ.js.map → autoUpdater-VMUVSMU5.js.map} +0 -0
  88. /package/dist/{chunk-IHIHIPNE.js.map → chunk-3JMLHAXQ.js.map} +0 -0
  89. /package/dist/{chunk-NDU2T5RK.js.map → chunk-4UHECP7Z.js.map} +0 -0
  90. /package/dist/{chunk-F33UZKH2.js.map → chunk-5H4FGNYX.js.map} +0 -0
  91. /package/dist/{chunk-VFIFN6QL.js.map → chunk-C74GKYBJ.js.map} +0 -0
  92. /package/dist/{chunk-2PTOXRBC.js.map → chunk-CBJ6GW2R.js.map} +0 -0
  93. /package/dist/{chunk-3BPMIKJM.js.map → chunk-CJWSI4HB.js.map} +0 -0
  94. /package/dist/{chunk-YSGQ33QO.js.map → chunk-CMMWSXAT.js.map} +0 -0
  95. /package/dist/{chunk-5F5QQXYO.js.map → chunk-CX4ZCXOT.js.map} +0 -0
  96. /package/dist/{chunk-WYUAUOQL.js.map → chunk-D5B6P6W5.js.map} +0 -0
  97. /package/dist/{chunk-VINZKV6L.js.map → chunk-M7NCOW6Z.js.map} +0 -0
  98. /package/dist/{chunk-PAZ5OZZ3.js.map → chunk-MSHWIJYD.js.map} +0 -0
  99. /package/dist/{chunk-Q6D4CWM7.js.map → chunk-O6OVLSDT.js.map} +0 -0
  100. /package/dist/{chunk-SV44GQBZ.js.map → chunk-OVRZG3WK.js.map} +0 -0
  101. /package/dist/{chunk-ZBXRD5R5.js.map → chunk-QC2QS3JL.js.map} +0 -0
  102. /package/dist/{chunk-DR3UKEHX.js.map → chunk-QP4OM5KA.js.map} +0 -0
  103. /package/dist/{chunk-4QZIAEFU.js.map → chunk-S6VKLRBA.js.map} +0 -0
  104. /package/dist/{chunk-Q5VMFXN3.js.map → chunk-SEEKO5XX.js.map} +0 -0
  105. /package/dist/{chunk-4HUEIGXE.js.map → chunk-SV2NALVC.js.map} +0 -0
  106. /package/dist/{chunk-7D6P6FJI.js.map → chunk-SVVHXVZ7.js.map} +0 -0
  107. /package/dist/{chunk-NV4KLIR4.js.map → chunk-TI3TEYDV.js.map} +0 -0
  108. /package/dist/{chunk-65QK3573.js.map → chunk-UU6CASWY.js.map} +0 -0
  109. /package/dist/{chunk-4YELTGBJ.js.map → chunk-WNIKFDDS.js.map} +0 -0
  110. /package/dist/{chunk-FQBPNSQM.js.map → chunk-WXW6AHFI.js.map} +0 -0
  111. /package/dist/{chunk-2TPHG5NF.js.map → chunk-YBAS546F.js.map} +0 -0
  112. /package/dist/{chunk-4VNRS435.js.map → chunk-YMEQARK4.js.map} +0 -0
  113. /package/dist/{chunk-KJAUAOX4.js.map → chunk-ZTZHCMM5.js.map} +0 -0
  114. /package/dist/{cli-BMCKTX2V.js.map → cli-5TNOUCJC.js.map} +0 -0
  115. /package/dist/{commands-MTPBHNKM.js.map → commands-DNDA2GAQ.js.map} +0 -0
  116. /package/dist/{config-CKEF5MIR.js.map → config-EQVBDMNL.js.map} +0 -0
  117. /package/dist/{context-CV3LBU7I.js.map → context-XHT72KYH.js.map} +0 -0
  118. /package/dist/{customCommands-JK4SVCOD.js.map → customCommands-53PEYF2P.js.map} +0 -0
  119. /package/dist/{env-2D5PYXT3.js.map → env-HHTIBIOA.js.map} +0 -0
  120. /package/dist/{file-DTOJ46HD.js.map → file-2XL7UEI6.js.map} +0 -0
  121. /package/dist/{llm-3C5ICYYM.js.map → llm-YYDRZV6Q.js.map} +0 -0
  122. /package/dist/{llmLazy-7NGDJTCJ.js.map → llmLazy-PVTHNKPQ.js.map} +0 -0
  123. /package/dist/{loader-K64KKCLP.js.map → loader-634Z6H5T.js.map} +0 -0
  124. /package/dist/{lsp-UIWT5EAB.js.map → lsp-JMLBYE4S.js.map} +0 -0
  125. /package/dist/{lspAnchor-XM5HYD36.js.map → lspAnchor-P2NDRAWX.js.map} +0 -0
  126. /package/dist/{mcp-WF3IJF4P.js.map → mcp-6YEWGGPW.js.map} +0 -0
  127. /package/dist/{mentionProcessor-FBOG655N.js.map → mentionProcessor-AI6OPVWJ.js.map} +0 -0
  128. /package/dist/{messages-S6BQMC7F.js.map → messages-22GI6CKF.js.map} +0 -0
  129. /package/dist/{model-N6XZCIO2.js.map → model-2PA7FU7I.js.map} +0 -0
  130. /package/dist/{openai-YJOBEGF4.js.map → openai-ZIPNVIW4.js.map} +0 -0
  131. /package/dist/{outputStyles-UJISJCZB.js.map → outputStyles-VAHHX6FT.js.map} +0 -0
  132. /package/dist/{pluginRuntime-B5FLWZCB.js.map → pluginRuntime-BWIVSSHB.js.map} +0 -0
  133. /package/dist/{pluginValidation-YLGUCTSN.js.map → pluginValidation-RYP223MH.js.map} +0 -0
  134. /package/dist/{prompts-YL2Q36DH.js.map → prompts-5SV5E55O.js.map} +0 -0
  135. /package/dist/{pybAgentSessionLoad-ZIJOJP53.js.map → pybAgentSessionLoad-FQS7F6IV.js.map} +0 -0
  136. /package/dist/{pybAgentSessionResume-32HYMEZD.js.map → pybAgentSessionResume-UA6AH2NL.js.map} +0 -0
  137. /package/dist/{pybAgentStreamJsonSession-33GITQPO.js.map → pybAgentStreamJsonSession-BGOJGD7K.js.map} +0 -0
  138. /package/dist/{pybHooks-XQH57YXB.js.map → pybHooks-G76HSRFU.js.map} +0 -0
  139. /package/dist/{query-UI6I2555.js.map → query-EDHQCMV3.js.map} +0 -0
  140. /package/dist/{registry-AWWHDPCP.js.map → registry-Z5GTIAFL.js.map} +0 -0
  141. /package/dist/{ripgrep-HM6FRMPY.js.map → ripgrep-IP3FA5AC.js.map} +0 -0
  142. /package/dist/{skillMarketplace-RFELE7ZN.js.map → skillMarketplace-X6IPYOGR.js.map} +0 -0
  143. /package/dist/{state-3MIS3KPI.js.map → state-WBOCU46K.js.map} +0 -0
  144. /package/dist/{theme-3W3YPAC4.js.map → theme-OU2JB33D.js.map} +0 -0
  145. /package/dist/{toolPermissionSettings-Q7A55J23.js.map → toolPermissionSettings-AAQWI466.js.map} +0 -0
  146. /package/dist/{tools-VFHVJUG3.js.map → tools-MEBWWJWC.js.map} +0 -0
  147. /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-KXOZAPOR.js";
31
+ } from "./chunk-RMKU4DVP.js";
32
32
  import {
33
33
  queryLLM
34
- } from "./chunk-IHIHIPNE.js";
34
+ } from "./chunk-3JMLHAXQ.js";
35
35
  import {
36
36
  FallbackToolUseRejectedMessage,
37
37
  MCPTool,
38
38
  getClients,
39
39
  getMCPTools
40
- } from "./chunk-PAZ5OZZ3.js";
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-UAPC4AG3.js";
50
+ } from "./chunk-HLJUPG7B.js";
51
51
  import {
52
52
  getActiveAgents,
53
53
  getAgentByType,
54
54
  getAvailableAgentTypes
55
- } from "./chunk-Q6D4CWM7.js";
55
+ } from "./chunk-O6OVLSDT.js";
56
56
  import {
57
57
  INTERRUPT_MESSAGE,
58
58
  createAssistantMessage,
59
59
  createUserMessage,
60
60
  getLastAssistantMessageId
61
- } from "./chunk-4VNRS435.js";
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-2TPHG5NF.js";
68
+ } from "./chunk-YBAS546F.js";
69
69
  import {
70
70
  LspFacade,
71
71
  formatDiagnosticsPretty
72
- } from "./chunk-4HUEIGXE.js";
72
+ } from "./chunk-SV2NALVC.js";
73
73
  import {
74
74
  getModelManager
75
- } from "./chunk-KJAUAOX4.js";
75
+ } from "./chunk-ZTZHCMM5.js";
76
76
  import {
77
77
  getContext
78
- } from "./chunk-WYUAUOQL.js";
78
+ } from "./chunk-D5B6P6W5.js";
79
79
  import {
80
80
  filesToTree,
81
81
  ripGrepWithStatus
82
- } from "./chunk-65QK3573.js";
82
+ } from "./chunk-UU6CASWY.js";
83
83
  import {
84
84
  getTheme
85
- } from "./chunk-VFIFN6QL.js";
85
+ } from "./chunk-C74GKYBJ.js";
86
86
  import {
87
87
  debug
88
- } from "./chunk-7D6P6FJI.js";
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-FQBPNSQM.js";
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-3MIS3KPI.js");
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-UIWT5EAB.js");
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 getTaskDependencySummary(task) {
3004
+ function toTaskListItem(task) {
3005
3005
  return {
3006
- blocks: task.blocks ?? [],
3007
- blockedBy: task.blockedBy ?? [],
3008
- parent: task.parent,
3009
- related: task.related ?? []
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 toTaskSummary(task) {
3013
+ function toTaskDetail(task) {
3013
3014
  return {
3014
- task,
3015
- deps: getTaskDependencySummary(task)
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, priority, and dependencies.";
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
- - You need to add a task with structured fields (subject/title, status, priority, tags).
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 (blocks, blockedBy, parent, related) at creation time.
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
- When not to use:
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
- - Either subject or title is required.
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
- - Either subject or title is required.
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
- ## Priority and Status
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).optional(),
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
- }).refine((data) => data.subject || data.title);
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 ?? input.title;
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: input.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: toTaskSummary(task)
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 version/baseVersion before updating a task.
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: toTaskSummary(task)
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.task.status !== "archived");
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.task.status));
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 summaries = tasks.map(toTaskSummary);
3433
- const filtered = filterByStatus(summaries, input.status);
3434
- const readyBlocked = calculateReadyBlocked(
3435
- filtered.map((item) => item.task)
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/title/description/status/priority/tags).
3476
- 2. You need to adjust dependencies (blocks, blockedBy, parent, related).
3477
- 3. You need optimistic concurrency control with baseVersion/version.
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 requires the correct baseVersion or version when concurrency checks are enabled.
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
- - Use baseVersion or version for concurrency checks; allowMerge can relax conflicts.
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
- ## Priority and Status
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 version conflict.
3516
- Assistant: I'll refetch the task and retry with the latest baseVersion.
3517
- *Fetches task, then updates with baseVersion*
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 ?? input.title ?? existing.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: toTaskSummary(result.task)
3707
+ item: toTaskDetail(result.task)
3731
3708
  }
3732
3709
  };
3733
3710
  } catch (error) {