@cursor/july 0.1.113 → 0.1.114

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 (229) hide show
  1. package/dist/docs/404.html +2 -2
  2. package/dist/docs/assets/{app.CAeK13eM.js → app.BqkJwOZ-.js} +4 -4
  3. package/dist/docs/assets/chunks/@localSearchIndexroot.BnSgidYE.js +1 -0
  4. package/dist/docs/assets/chunks/{VPLocalSearchBox.C9LbPHod.js → VPLocalSearchBox.BJAi2KiV.js} +1 -1
  5. package/dist/docs/assets/chunks/{arc.CmMq2zmS.js → arc.BZpXTgvV.js} +1 -1
  6. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.CCXB8Uj5.js → architectureDiagram-Q4EWVU46.WYI-7F-Y.js} +1 -1
  7. package/dist/docs/assets/chunks/{baseUniq.CyQo6eLe.js → baseUniq.CZaUPpg0.js} +1 -1
  8. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.JYq6w91N.js → blockDiagram-DXYQGD6D.D6UES2pD.js} +1 -1
  9. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.BRV8GPJJ.js → c4Diagram-AHTNJAMY.cwebIe4i.js} +1 -1
  10. package/dist/docs/assets/chunks/channel.DdM5EfNW.js +1 -0
  11. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.Bv4ooYQR.js → chunk-4BX2VUAB.fVyFnjxg.js} +1 -1
  12. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.t4JtKPcj.js → chunk-4TB4RGXK.BanufG1c.js} +1 -1
  13. package/dist/docs/assets/chunks/{chunk-55IACEB6.34lCHj9Y.js → chunk-55IACEB6.VaSMz5-2.js} +1 -1
  14. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.BSwrPNrt.js → chunk-EDXVE4YY.CN2diZOM.js} +1 -1
  15. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.Beeun-R-.js → chunk-FMBD7UC4.g4ivypu3.js} +1 -1
  16. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.BUUFUcJc.js → chunk-OYMX7WX6.GZXKn9JJ.js} +1 -1
  17. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.B2XjHzN_.js → chunk-QZHKN3VN.itXxJZCd.js} +1 -1
  18. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.CLYG8znk.js → chunk-YZCP3GAM.-rw2GfvX.js} +1 -1
  19. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CjfGHeg2.js +1 -0
  20. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CjfGHeg2.js +1 -0
  21. package/dist/docs/assets/chunks/clone.wSOICb_f.js +1 -0
  22. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.DVEa6fZp.js → cose-bilkent-S5V4N54A.CmaI5br0.js} +1 -1
  23. package/dist/docs/assets/chunks/{dagre-KV5264BT.C9PZQK-S.js → dagre-KV5264BT.4wY9S4Kt.js} +1 -1
  24. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.DoN0uv3Y.js → diagram-5BDNPKRD.Pc3c0u9W.js} +1 -1
  25. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.Czv3duqx.js → diagram-G4DWMVQ6.CYrWz-nj.js} +1 -1
  26. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.BinJ5kWb.js → diagram-MMDJMWI5.Bgj5hukb.js} +1 -1
  27. package/dist/docs/assets/chunks/{diagram-TYMM5635.DW326M4K.js → diagram-TYMM5635.DGMEXalS.js} +1 -1
  28. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.U2pR_OA7.js → erDiagram-SMLLAGMA.GepTV9Im.js} +1 -1
  29. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.ByWJXeYK.js → flowDiagram-DWJPFMVM.DVKywg3j.js} +1 -1
  30. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.OquF0Rtg.js → ganttDiagram-T4ZO3ILL.C7qt9Mlo.js} +1 -1
  31. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.Bpn01P7X.js → gitGraphDiagram-UUTBAWPF.U30_r82P.js} +1 -1
  32. package/dist/docs/assets/chunks/{graph.CNRB6ETL.js → graph.CyyMyAWv.js} +1 -1
  33. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.CqhknMWi.js → infoDiagram-42DDH7IO.Dn9ACW3y.js} +1 -1
  34. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.C6xpR2af.js → ishikawaDiagram-UXIWVN3A.DlIdIGOA.js} +1 -1
  35. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.Cg5f7oB3.js → journeyDiagram-VCZTEJTY.DZj4vy4E.js} +1 -1
  36. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.Cx9YTwlU.js → kanban-definition-6JOO6SKY.Dl63eMUV.js} +1 -1
  37. package/dist/docs/assets/chunks/{layout.ljS-wFtK.js → layout.BLHZLWPH.js} +1 -1
  38. package/dist/docs/assets/chunks/{linear.jSxNrsFC.js → linear.aXKGKaNw.js} +1 -1
  39. package/dist/docs/assets/chunks/{min.Cum8AlQw.js → min.zWnFcpcc.js} +1 -1
  40. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.BLiysLpe.js → mindmap-definition-QFDTVHPH.Qs4MQBea.js} +1 -1
  41. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.BoIDyuKF.js → pieDiagram-DEJITSTG.BmPHgsk7.js} +1 -1
  42. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.DLkpDytR.js → quadrantDiagram-34T5L4WZ.D5MQ3gwA.js} +1 -1
  43. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.DqTVqSu2.js → requirementDiagram-MS252O5E.CkdUFrO7.js} +1 -1
  44. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.CG_6FF7j.js → sankeyDiagram-XADWPNL6.KZrljrAV.js} +1 -1
  45. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.BIp9602K.js → sequenceDiagram-FGHM5R23.XMoEW-Lx.js} +1 -1
  46. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.COSXsD9I.js → stateDiagram-FHFEXIEX.BmTzePLj.js} +1 -1
  47. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.Cu5X28zZ.js +1 -0
  48. package/dist/docs/assets/chunks/{theme.CXJ7PNwy.js → theme.BfQzpxsg.js} +2 -2
  49. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.CXdVqkLq.js → timeline-definition-GMOUNBTQ.Dug0oamp.js} +1 -1
  50. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.CZxGuc4r.js → vennDiagram-DHZGUBPP.BOTHrEFu.js} +1 -1
  51. package/dist/docs/assets/chunks/{wardley-RL74JXVD.3oVgfqQk.js → wardley-RL74JXVD.DXy2i1LS.js} +1 -1
  52. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.6_irCgGJ.js → wardleyDiagram-NUSXRM2D.CoXKdfi6.js} +1 -1
  53. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.TRPe92m3.js → xychartDiagram-5P7HB3ND.DXoSCjAW.js} +1 -1
  54. package/dist/docs/assets/{deployment.md.D2jQZuFx.js → deployment.md.D2YX7u_I.js} +1 -1
  55. package/dist/docs/assets/{guides_agent-to-agent.md.CD4T5FIl.js → guides_agent-to-agent.md.C6kPY8nu.js} +2 -2
  56. package/dist/docs/assets/{guides_cloud-agents.md.Cp1O3u-X.js → guides_cloud-agents.md.BPJqTZjT.js} +1 -1
  57. package/dist/docs/assets/{guides_grokbot-agents.md.CMhZNdEU.js → guides_grokbot-agents.md.CzV715v8.js} +1 -1
  58. package/dist/docs/assets/guides_hooks.md.BT9GLwEp.js +50 -0
  59. package/dist/docs/assets/guides_hooks.md.BT9GLwEp.lean.js +1 -0
  60. package/dist/docs/assets/{guides_jev.md.F5fAkkfN.js → guides_jev.md.DeSCqMaO.js} +6 -44
  61. package/dist/docs/assets/guides_jev.md.DeSCqMaO.lean.js +1 -0
  62. package/dist/docs/assets/reference_agent-config.md.BRxAlnRy.js +36 -0
  63. package/dist/docs/assets/{reference_agent-config.md.DGPyw7ms.lean.js → reference_agent-config.md.BRxAlnRy.lean.js} +1 -1
  64. package/dist/docs/assets/reference_artifacts.md.KRX0sAdt.js +18 -0
  65. package/dist/docs/assets/reference_artifacts.md.KRX0sAdt.lean.js +1 -0
  66. package/dist/docs/assets/reference_channels.md.DZr14vm7.js +23 -0
  67. package/dist/docs/assets/reference_channels.md.DZr14vm7.lean.js +1 -0
  68. package/dist/docs/assets/{reference_connections.md.Je9dMsdd.js → reference_connections.md.DJGUCxrr.js} +18 -30
  69. package/dist/docs/assets/{reference_connections.md.Je9dMsdd.lean.js → reference_connections.md.DJGUCxrr.lean.js} +1 -1
  70. package/dist/docs/assets/{reference_evals.md.DNJzM_yf.js → reference_evals.md.C6umwNC6.js} +6 -7
  71. package/dist/docs/assets/reference_evals.md.C6umwNC6.lean.js +1 -0
  72. package/dist/docs/assets/{reference_extensions.md.Cv5aLCz_.js → reference_extensions.md.DbNYu-DP.js} +3 -3
  73. package/dist/docs/assets/{reference_extensions.md.Cv5aLCz_.lean.js → reference_extensions.md.DbNYu-DP.lean.js} +1 -1
  74. package/dist/docs/assets/reference_hooks.md.BfOkhTU0.js +45 -0
  75. package/dist/docs/assets/{reference_hooks.md.B7uzNENk.lean.js → reference_hooks.md.BfOkhTU0.lean.js} +1 -1
  76. package/dist/docs/assets/reference_http-api.md.DdwtBeCj.js +11 -0
  77. package/dist/docs/assets/{reference_http-api.md.CduHavZ2.lean.js → reference_http-api.md.DdwtBeCj.lean.js} +1 -1
  78. package/dist/docs/assets/reference_instructions.md.B2mcIzT6.js +14 -0
  79. package/dist/docs/assets/reference_instructions.md.B2mcIzT6.lean.js +1 -0
  80. package/dist/docs/assets/reference_playground.md.CyrQD_n3.js +1 -0
  81. package/dist/docs/assets/reference_playground.md.CyrQD_n3.lean.js +1 -0
  82. package/dist/docs/assets/reference_project-layout.md.BEMzxAkq.js +19 -0
  83. package/dist/docs/assets/{reference_project-layout.md.BGhgpy9V.lean.js → reference_project-layout.md.BEMzxAkq.lean.js} +1 -1
  84. package/dist/docs/assets/reference_prompt.md.BFrqjHFL.js +9 -0
  85. package/dist/docs/assets/reference_prompt.md.BFrqjHFL.lean.js +1 -0
  86. package/dist/docs/assets/reference_schedules.md.BB9N3tRR.js +47 -0
  87. package/dist/docs/assets/reference_schedules.md.BB9N3tRR.lean.js +1 -0
  88. package/dist/docs/assets/reference_sessions.md.BBp-GIt-.js +1 -0
  89. package/dist/docs/assets/{reference_sessions.md.1_6Vyv7x.lean.js → reference_sessions.md.BBp-GIt-.lean.js} +1 -1
  90. package/dist/docs/assets/reference_skills.md.BVmi3UJ_.js +15 -0
  91. package/dist/docs/assets/{reference_skills.md.DjQkRefx.lean.js → reference_skills.md.BVmi3UJ_.lean.js} +1 -1
  92. package/dist/docs/assets/reference_subagents.md.DRoRy2Uj.js +10 -0
  93. package/dist/docs/assets/{reference_subagents.md.Dl16gcBj.lean.js → reference_subagents.md.DRoRy2Uj.lean.js} +1 -1
  94. package/dist/docs/assets/{reference_tools.md.B1dH1lpa.js → reference_tools.md.CgocLDX1.js} +9 -6
  95. package/dist/docs/assets/{reference_tools.md.B1dH1lpa.lean.js → reference_tools.md.CgocLDX1.lean.js} +1 -1
  96. package/dist/docs/assets/troubleshooting.md.HY95rCCz.js +1 -0
  97. package/dist/docs/building-with-agents.html +35 -35
  98. package/dist/docs/deployment.html +37 -37
  99. package/dist/docs/deployment.md +1 -1
  100. package/dist/docs/evals.html +35 -35
  101. package/dist/docs/guides/agent-to-agent.html +38 -38
  102. package/dist/docs/guides/agent-to-agent.md +11 -12
  103. package/dist/docs/guides/bitbucket.html +35 -35
  104. package/dist/docs/guides/cloud-agents.html +36 -36
  105. package/dist/docs/guides/cloud-agents.md +1 -1
  106. package/dist/docs/guides/convert-automation.html +35 -35
  107. package/dist/docs/guides/github.html +35 -35
  108. package/dist/docs/guides/gitlab.html +35 -35
  109. package/dist/docs/guides/grokbot-agents.html +37 -37
  110. package/dist/docs/guides/grokbot-agents.md +1 -1
  111. package/dist/docs/guides/hooks.html +109 -0
  112. package/dist/docs/guides/hooks.md +111 -0
  113. package/dist/docs/guides/improve.html +35 -35
  114. package/dist/docs/guides/jev.html +42 -80
  115. package/dist/docs/guides/jev.md +22 -79
  116. package/dist/docs/guides/mcp-oauth.html +36 -36
  117. package/dist/docs/guides/opentelemetry.html +35 -35
  118. package/dist/docs/guides/slack.html +35 -35
  119. package/dist/docs/guides/webhooks.html +35 -35
  120. package/dist/docs/hashmap.json +1 -1
  121. package/dist/docs/hillclimbing.html +35 -35
  122. package/dist/docs/index.html +35 -35
  123. package/dist/docs/llms-full.txt +993 -1303
  124. package/dist/docs/llms.txt +8 -7
  125. package/dist/docs/quickstart.html +35 -35
  126. package/dist/docs/reference/agent-config.html +42 -46
  127. package/dist/docs/reference/agent-config.md +48 -81
  128. package/dist/docs/reference/artifacts.html +39 -40
  129. package/dist/docs/reference/artifacts.md +71 -70
  130. package/dist/docs/reference/channels.html +41 -61
  131. package/dist/docs/reference/channels.md +134 -201
  132. package/dist/docs/reference/cli.html +35 -35
  133. package/dist/docs/reference/connections.html +54 -66
  134. package/dist/docs/reference/connections.md +92 -128
  135. package/dist/docs/reference/evals.html +42 -43
  136. package/dist/docs/reference/evals.md +42 -50
  137. package/dist/docs/reference/extensions.html +38 -38
  138. package/dist/docs/reference/extensions.md +9 -13
  139. package/dist/docs/reference/hooks.html +39 -67
  140. package/dist/docs/reference/hooks.md +72 -146
  141. package/dist/docs/reference/http-api.html +39 -39
  142. package/dist/docs/reference/http-api.md +137 -161
  143. package/dist/docs/reference/instructions.html +39 -39
  144. package/dist/docs/reference/instructions.md +21 -36
  145. package/dist/docs/reference/playground.html +36 -36
  146. package/dist/docs/reference/playground.md +26 -43
  147. package/dist/docs/reference/project-layout.html +38 -38
  148. package/dist/docs/reference/project-layout.md +12 -17
  149. package/dist/docs/reference/prompt.html +42 -42
  150. package/dist/docs/reference/prompt.md +18 -13
  151. package/dist/docs/reference/schedules.html +56 -91
  152. package/dist/docs/reference/schedules.md +52 -99
  153. package/dist/docs/reference/sessions.html +36 -36
  154. package/dist/docs/reference/sessions.md +36 -40
  155. package/dist/docs/reference/skills.html +38 -38
  156. package/dist/docs/reference/skills.md +15 -26
  157. package/dist/docs/reference/subagents.html +38 -38
  158. package/dist/docs/reference/subagents.md +20 -30
  159. package/dist/docs/reference/tools.html +44 -41
  160. package/dist/docs/reference/tools.md +45 -64
  161. package/dist/docs/templates/agentic-owners.html +35 -35
  162. package/dist/docs/templates/pr-autofixer.html +35 -35
  163. package/dist/docs/templates/security-reviewer.html +35 -35
  164. package/dist/docs/templates/thermo-quality-review.html +35 -35
  165. package/dist/docs/templates/thermo-review.html +35 -35
  166. package/dist/docs/templates/triage.html +35 -35
  167. package/dist/docs/troubleshooting.html +36 -36
  168. package/dist/docs/troubleshooting.md +1 -1
  169. package/dist/playground/assets/{index-DSMAewbx.css → index-C61EWMBK.css} +1 -1
  170. package/dist/playground/index.html +2 -2
  171. package/docs/deployment.md +1 -1
  172. package/docs/guides/agent-to-agent.md +11 -12
  173. package/docs/guides/cloud-agents.md +1 -1
  174. package/docs/guides/grokbot-agents.md +1 -1
  175. package/docs/guides/hooks.md +116 -0
  176. package/docs/guides/jev.md +23 -80
  177. package/docs/reference/agent-config.md +48 -81
  178. package/docs/reference/artifacts.md +72 -71
  179. package/docs/reference/channels.md +135 -202
  180. package/docs/reference/connections.md +93 -129
  181. package/docs/reference/evals.md +43 -51
  182. package/docs/reference/extensions.md +9 -13
  183. package/docs/reference/hooks.md +72 -146
  184. package/docs/reference/http-api.md +137 -161
  185. package/docs/reference/instructions.md +22 -37
  186. package/docs/reference/playground.md +26 -43
  187. package/docs/reference/project-layout.md +12 -17
  188. package/docs/reference/prompt.md +20 -15
  189. package/docs/reference/schedules.md +52 -99
  190. package/docs/reference/sessions.md +36 -40
  191. package/docs/reference/skills.md +15 -26
  192. package/docs/reference/subagents.md +20 -30
  193. package/docs/reference/tools.md +45 -64
  194. package/docs/troubleshooting.md +1 -1
  195. package/package.json +1 -1
  196. package/dist/docs/assets/chunks/@localSearchIndexroot.Ck9E52Ls.js +0 -1
  197. package/dist/docs/assets/chunks/channel.BHiYmnZ4.js +0 -1
  198. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.Degh8l90.js +0 -1
  199. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.Degh8l90.js +0 -1
  200. package/dist/docs/assets/chunks/clone.BIywbczV.js +0 -1
  201. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.qrxrbFsX.js +0 -1
  202. package/dist/docs/assets/guides_jev.md.F5fAkkfN.lean.js +0 -1
  203. package/dist/docs/assets/reference_agent-config.md.DGPyw7ms.js +0 -40
  204. package/dist/docs/assets/reference_artifacts.md.Bu_4HmsD.js +0 -19
  205. package/dist/docs/assets/reference_artifacts.md.Bu_4HmsD.lean.js +0 -1
  206. package/dist/docs/assets/reference_channels.md.nFWbzAic.js +0 -43
  207. package/dist/docs/assets/reference_channels.md.nFWbzAic.lean.js +0 -1
  208. package/dist/docs/assets/reference_evals.md.DNJzM_yf.lean.js +0 -1
  209. package/dist/docs/assets/reference_hooks.md.B7uzNENk.js +0 -73
  210. package/dist/docs/assets/reference_http-api.md.CduHavZ2.js +0 -11
  211. package/dist/docs/assets/reference_instructions.md.CU1My5My.js +0 -14
  212. package/dist/docs/assets/reference_instructions.md.CU1My5My.lean.js +0 -1
  213. package/dist/docs/assets/reference_playground.md.Ch2d0Iqi.js +0 -1
  214. package/dist/docs/assets/reference_playground.md.Ch2d0Iqi.lean.js +0 -1
  215. package/dist/docs/assets/reference_project-layout.md.BGhgpy9V.js +0 -19
  216. package/dist/docs/assets/reference_prompt.md.Ccp0R53H.js +0 -1
  217. package/dist/docs/assets/reference_prompt.md.Ccp0R53H.lean.js +0 -1
  218. package/dist/docs/assets/reference_schedules.md.B2Nm6FaD.js +0 -82
  219. package/dist/docs/assets/reference_schedules.md.B2Nm6FaD.lean.js +0 -1
  220. package/dist/docs/assets/reference_sessions.md.1_6Vyv7x.js +0 -1
  221. package/dist/docs/assets/reference_skills.md.DjQkRefx.js +0 -15
  222. package/dist/docs/assets/reference_subagents.md.Dl16gcBj.js +0 -10
  223. package/dist/docs/assets/troubleshooting.md.mnfFG2Em.js +0 -1
  224. /package/dist/docs/assets/{deployment.md.D2jQZuFx.lean.js → deployment.md.D2YX7u_I.lean.js} +0 -0
  225. /package/dist/docs/assets/{guides_agent-to-agent.md.CD4T5FIl.lean.js → guides_agent-to-agent.md.C6kPY8nu.lean.js} +0 -0
  226. /package/dist/docs/assets/{guides_cloud-agents.md.Cp1O3u-X.lean.js → guides_cloud-agents.md.BPJqTZjT.lean.js} +0 -0
  227. /package/dist/docs/assets/{guides_grokbot-agents.md.CMhZNdEU.lean.js → guides_grokbot-agents.md.CzV715v8.lean.js} +0 -0
  228. /package/dist/docs/assets/{troubleshooting.md.mnfFG2Em.lean.js → troubleshooting.md.HY95rCCz.lean.js} +0 -0
  229. /package/dist/playground/assets/{index-De_lpFxE.js → index-CrMWlgUU.js} +0 -0
@@ -6,16 +6,15 @@ description: "Specialist child agents the model delegates to mid-turn, each its
6
6
  # Subagents
7
7
 
8
8
  A subagent is a specialist child agent the model can delegate to
9
- mid-turn. Each one is its own directory under `agent/subagents/<id>/`,
10
- with the same `agent.ts` + `instructions.md` shape as the root. On the
11
- Cursor harness, subagents run as SDK custom subagents: the parent model
12
- delegates through the harness `task` tool, and the stream records
13
- `subagent.called` and `subagent.completed`.
9
+ mid-turn. Each one lives under `agent/subagents/<id>/` with a required
10
+ `agent.ts`. Add `instructions.md` or inline `instructions` in `agent.ts`
11
+ for a custom prompt. The parent model delegates through the `task` tool,
12
+ and the stream records `subagent.called` and `subagent.completed`.
14
13
 
15
14
  ```text
16
15
  agent/subagents/researcher/
17
16
  ├── agent.ts # description (required), model (optional)
18
- └── instructions.md # the subagent's own system prompt
17
+ └── instructions.md # optional custom system prompt
19
18
  ```
20
19
 
21
20
  ```ts
@@ -31,44 +30,35 @@ export default defineAgent({
31
30
 
32
31
  ## Subagent rules
33
32
 
34
- `description` is required. It's the only thing the parent model reads
35
- when deciding whether to delegate, so write it as a routing rule
36
- ("Background research: …"), the same discipline as a
37
- [skill](./skills.md) description. `model` is optional; omit it to
38
- inherit the parent's model, or set it to run the specialist on a
39
- different one.
33
+ `description` is required. The parent model uses it to decide whether
34
+ to delegate, so write it as a routing rule ("Background research: …"),
35
+ following the same discipline as a [skill](./skills.md) description.
36
+ `model` is optional; omit it to inherit the parent's model, or set it
37
+ to run the specialist on a different model.
40
38
 
41
39
  Subagents inherit the parent's execution surface. Every per-subagent
42
40
  capability directory is reported as a warning and ignored: `tools/`,
43
- `skills/`, `mcp-connections/` (and the legacy `connections/` alias),
44
- `host-connections/`, `channels/`, `schedules/`, `hooks/`, `sandbox/`,
45
- and nested `subagents/`.
41
+ `skills/`, `extensions/`, `mcp-connections/`, `host-connections/`,
42
+ `channels/`, `schedules/`, `reminders/`, `hooks/`, `sandbox/`, and
43
+ nested `subagents/`.
46
44
 
47
45
  Delegation needs both halves: the description makes it possible, and the
48
46
  parent's [instructions](./instructions.md) make it happen. "When a
49
47
  request needs background research, delegate to the `researcher`
50
- subagent."
48
+ subagent." The parent routes; the specialist executes.
51
49
 
52
- ## Subagent or peer?
50
+ ## Subagents and peers
53
51
 
54
52
  Subagents split one job into roles inside a single agent. When the
55
53
  specialist is independently useful, with its own tools, sessions, and
56
54
  playground, make it a full agent. See
57
55
  [Peer agents](../guides/agent-to-agent.md#peer-or-subagent).
58
56
 
59
- ## Patterns
60
-
61
- Fan-out reviews: a PR-approval agent can delegate to two review
62
- subagents that read a host-prepared `pr/` evidence tree and report
63
- prioritized findings, which the parent embeds in its approval comment.
64
-
65
- Keep the parent lean: a subagent with focused instructions usually
66
- works better than a longer parent prompt with conditional sections. The
67
- parent routes; the specialist executes.
68
-
69
- ## What's next
70
-
71
- Continue with these pages:
57
+ ## Related
72
58
 
73
59
  - [Skills](./skills.md): when a procedure is enough and a child agent
74
60
  is overkill
61
+ - [Peer agents](../guides/agent-to-agent.md): independently useful
62
+ specialists
63
+ - [Agent config](./agent-config.md#harness-tools): `"task"` on the
64
+ parent's tool allowlist
@@ -8,18 +8,16 @@ description: "Define typed actions the model can call, gate the sensitive ones o
8
8
  A tool is a typed action the model can call: hit an API, run a query,
9
9
  write a file. Each file in `agent/tools/` defines one tool, and the
10
10
  filename becomes the tool name the model sees. Tools come in two
11
- execution flavors: server tools run in-process on the serve host, and
11
+ execution flavors: server tools run on the serving host, and
12
12
  agent tools run as scripts where the agent runs. Every server tool can
13
13
  also be called directly, with no model turn.
14
14
 
15
15
  ## Define a server tool
16
16
 
17
- By default, `execute` runs in-process on the serving host with full
18
- access to `process.env` and your `agent/lib/` code. Local turns call
19
- server tools as SDK custom tools. Cloud turns reach them over
20
- authenticated HTTP MCP back to the serve host when `--public-url` or
21
- `--cloud-tools-url` is set; without either, the server warns at startup
22
- and cloud turns omit them.
17
+ By default, `execute` runs on the serving host with full access to
18
+ `process.env` and your `agent/lib/` code. Set `--public-url` or
19
+ `--cloud-tools-url` to make server tools available to cloud turns;
20
+ without either, startup warns and cloud turns omit them.
23
21
 
24
22
  ```ts
25
23
  // agent/tools/inspect_pr.ts
@@ -178,7 +176,7 @@ check nothing.
178
176
  ## Define an agent tool
179
177
 
180
178
  Set `execution: "agent"` and the tool materializes as a shell script
181
- that runs where the Cursor agent runs: the local harness workspace or
179
+ that runs where the Cursor agent runs: the local session workspace or
182
180
  the cloud VM. The script receives JSON arguments on stdin and prints its
183
181
  result on stdout. Use this flavor when the tool must run next to the
184
182
  checkout the agent works in; on cloud, server tools stay available too
@@ -201,23 +199,16 @@ printf '%s\\n' "$message"
201
199
  ```
202
200
 
203
201
  On the local runtime, scripts land in the session workspace with a
204
- catalog in `AGENTS.md`. On cloud, the catalog and script bodies travel
205
- on the first prompt.
202
+ catalog in `AGENTS.md`.
206
203
 
207
204
  ## Tools from an MCP connection, advertised by name
208
205
 
209
- Authored `agent/tools/` files are one catalog for every session. When
210
- the tools should come from an MCP server, including per-tenant toolsets
211
- resolved at runtime, declare the connection with
212
- `advertiseTools: true` (plus per-session `auth` when the credential
213
- depends on who the session is for) and the engine synthesizes named 1:1
214
- passthrough server tools from the connection's live `listTools` on every
215
- local turn. See
216
- [MCP Connections](connections.md#advertise-tools).
217
- Advertised tools ride the same execution path as authored server tools,
218
- and [direct tool calls](#call-a-tool-without-a-model-turn) address them
219
- by the same model-facing names: the call's session identity resolves the
220
- advertised listing when the authored lookup misses.
206
+ Set `advertiseTools: true` on a connection to expose its MCP tools by
207
+ name. Add per-session `auth` when credentials depend on the caller.
208
+ Model calls and [direct tool calls](#call-a-tool-without-a-model-turn)
209
+ use the same exposed names. See
210
+ [MCP connections](./connections.md#advertise-tools) for the full
211
+ contract.
221
212
 
222
213
  ## Gate a tool on human approval
223
214
 
@@ -248,8 +239,8 @@ runtime only, and parked calls don't survive a host restart.
248
239
  ## Call a tool without a model turn
249
240
 
250
241
  Server tools can be called deterministically. You pick the tool and the
251
- input. Validation and execution behave exactly as they would for a
252
- model-initiated call, and no Cursor API key is needed.
242
+ input. Validation and execution match a model-initiated call, and no
243
+ Cursor API key is needed.
253
244
 
254
245
  Over HTTP, with the same auth chain as the session API:
255
246
 
@@ -275,51 +266,43 @@ agent-sdk call inspect_pr \
275
266
  Programmatically, `callTool(toolName, input, options?)` is available on
276
267
  the serve handle, on channel route handlers and `onStart` args, and on
277
268
  schedule `run` handlers, so a channel can mix deterministic calls with
278
- model turns, fetching PR metadata deterministically and then `send()`ing
279
- the review prompt:
269
+ model turns:
280
270
 
281
271
  ```ts
282
272
  const outcome = await handle.callTool("inspect_pr", {
283
273
  prUrl: "https://github.com/acme/checkout/pull/42",
284
274
  });
275
+ if (outcome.isError) {
276
+ return outcome;
277
+ }
285
278
  // { toolName, callId, isError, result, durationMs }
286
279
  ```
287
280
 
288
- By default the call runs against an ephemeral workspace and is removed
289
- when the call returns. Pass a `sessionId` (a body field over
290
- HTTP, `--session` on the CLI, `options.sessionId` programmatically) to
291
- run inside an existing session instead: the tool sees that session's
292
- workspace, and the call is recorded on the session's event stream.
293
- While a model turn is running, a session-bound call is admitted by its
294
- effect: a read-effect call (a declared `effect: "read"`, or an advertised
295
- MCP tool whose server annotates it read-only) runs alongside the turn,
296
- reading the workspace as the turn has left it, and is recorded under its
297
- own per-call `turnId` so trajectories keep it apart from the turn's own
298
- calls; a write-effect call including an undeclared tool, which counts
299
- as a write returns `409 session_busy` until the turn finishes, because
300
- a running turn owns the workspace. When the
301
- session's harness cwd cannot be materialized, a read-effect call runs
302
- in a scratch workspace instead and the outcome carries
303
- `scratchWorkspace: true`; a write-effect call fails with
304
- `workspace_unavailable`.
305
-
306
- A session can also be addressed by its continuation token: an optional
307
- `continuationToken` (`<channelId>:<key>`, as `/v1/sessions` lists it;
308
- mutually exclusive with `sessionId`). A token that maps to a live
309
- session behaves exactly like passing that session's id — same ownership
310
- check, same busy semantics, same event recording. A token with no
311
- session behind it runs the call scratch-bound with the token's channel
312
- id and continuation key as the call's session identity, so a deployment
313
- whose tools resolve state from the continuation key can serve it with
314
- no live session. Malformed tokens are rejected with
315
- `400 invalid_continuation_token`.
316
-
317
- The error semantics match the model path. Unknown tools are rejected
318
- with the available names, agent-execution tools cannot be called on the
319
- host (`400`), schema-invalid input is a `400` before the tool body runs
320
- (Zod validates; plain JSON Schema passes through unvalidated), and a
321
- tool body that throws reports `isError: true` in the same envelope the
322
- model would see.
281
+ Omit both identifiers to run against an ephemeral workspace that is
282
+ removed when the call returns. Pass `sessionId` (HTTP body, `--session`,
283
+ or `options.sessionId`) or `continuationToken` (`<channelId>:<key>` as
284
+ `/v1/sessions` lists it) to bind the call. The two are mutually
285
+ exclusive.
286
+
287
+ | Rule | What happens |
288
+ | --- | --- |
289
+ | Existing `sessionId`, or a token that maps to an existing session | Session workspace, owner check, and event recording |
290
+ | Token with no matching session | Scratch workspace; the token's channel id and key are the call identity |
291
+ | Busy session, `effect: "read"` (or an advertised MCP tool marked read-only) | Runs alongside the turn, reading the workspace as the turn left it; recorded under its own `turnId` |
292
+ | Busy session, write or undeclared | `409 session_busy` until the turn finishes |
293
+ | Session workspace cannot be created, read | Scratch workspace; the outcome has `scratchWorkspace: true` |
294
+ | Session workspace cannot be created, write | `500 workspace_unavailable` |
295
+
296
+ | Error | When |
297
+ | --- | --- |
298
+ | `404 unknown_tool` | Name is not a callable server tool; the response lists available names |
299
+ | `400 tool_not_callable` | Agent-execution tools cannot run on the host |
300
+ | `400 invalid_tool_input` | Zod rejected the input before `execute`. Plain JSON Schema is forwarded unvalidated |
301
+ | `400 invalid_continuation_token` | Malformed token, or passed together with `sessionId` |
302
+ | `404 session_not_found` | `sessionId` does not exist |
303
+ | `409 session_busy` | Write-effect call while a model turn is running |
304
+ | `500 workspace_unavailable` | Write-effect call when the session workspace cannot be created |
305
+ | `isError: true` | The tool body threw; same envelope the model would see |
323
306
 
324
307
  ## Design habits
325
308
 
@@ -337,9 +320,7 @@ wrong, no instruction change fixes it.
337
320
  Gate side effects with `needsApproval`. Declare each tool's `effect` so
338
321
  dry-run sessions can execute reads and stub writes.
339
322
 
340
- ## What's next
341
-
342
- Continue with these pages:
323
+ ## Related
343
324
 
344
325
  - [MCP connections](./connections.md): tools that come from MCP servers
345
326
  instead
@@ -32,7 +32,7 @@ Match the visible symptom below. If `agent-sdk` is not on `PATH`, use
32
32
  | File reads and greps fail repeatedly with `NGHTTP2_FRAME_SIZE_ERROR` | Run the agent under Node 22.13 or newer, never Bun. |
33
33
  | The turn immediately reports a missing API key | Set `CURSOR_API_KEY`, `CURSOR_API_KEY_FILE`, or `CURSOR_SERVICE_ACCOUNT_KEY`, or run `agent-sdk login`. |
34
34
  | Login succeeds but the model host rejects the key | Point login and model traffic at the same API host; check `CURSOR_API_BASE_URL` and `CURSOR_BACKEND_URL`. |
35
- | Cloud turns cannot reach local tools or skills | Give the cloud runtime a reachable `--public-url` and protected tool bridge, or move the required capability into the cloud checkout. See [agent runtime](./reference/agent-config.md#choose-a-runtime). |
35
+ | Cloud turns cannot reach local tools or skills | Give the cloud runtime a reachable `--public-url` and protected tool bridge, or move the required capability into the cloud checkout. See [agent runtime](./reference/agent-config.md#runtime). |
36
36
 
37
37
  ## A turn behaves unexpectedly
38
38
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cursor/july",
3
- "version": "0.1.113",
3
+ "version": "0.1.114",
4
4
  "description": "(early alpha) Filesystem-first framework for defining Cursor agents as markdown and TypeScript and serving them over channels with the Cursor SDK.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "repository": {