@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.
- package/dist/docs/404.html +2 -2
- package/dist/docs/assets/{app.CAeK13eM.js → app.BqkJwOZ-.js} +4 -4
- package/dist/docs/assets/chunks/@localSearchIndexroot.BnSgidYE.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.C9LbPHod.js → VPLocalSearchBox.BJAi2KiV.js} +1 -1
- package/dist/docs/assets/chunks/{arc.CmMq2zmS.js → arc.BZpXTgvV.js} +1 -1
- package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.CCXB8Uj5.js → architectureDiagram-Q4EWVU46.WYI-7F-Y.js} +1 -1
- package/dist/docs/assets/chunks/{baseUniq.CyQo6eLe.js → baseUniq.CZaUPpg0.js} +1 -1
- package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.JYq6w91N.js → blockDiagram-DXYQGD6D.D6UES2pD.js} +1 -1
- package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.BRV8GPJJ.js → c4Diagram-AHTNJAMY.cwebIe4i.js} +1 -1
- package/dist/docs/assets/chunks/channel.DdM5EfNW.js +1 -0
- package/dist/docs/assets/chunks/{chunk-4BX2VUAB.Bv4ooYQR.js → chunk-4BX2VUAB.fVyFnjxg.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-4TB4RGXK.t4JtKPcj.js → chunk-4TB4RGXK.BanufG1c.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-55IACEB6.34lCHj9Y.js → chunk-55IACEB6.VaSMz5-2.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-EDXVE4YY.BSwrPNrt.js → chunk-EDXVE4YY.CN2diZOM.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-FMBD7UC4.Beeun-R-.js → chunk-FMBD7UC4.g4ivypu3.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-OYMX7WX6.BUUFUcJc.js → chunk-OYMX7WX6.GZXKn9JJ.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-QZHKN3VN.B2XjHzN_.js → chunk-QZHKN3VN.itXxJZCd.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-YZCP3GAM.CLYG8znk.js → chunk-YZCP3GAM.-rw2GfvX.js} +1 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CjfGHeg2.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CjfGHeg2.js +1 -0
- package/dist/docs/assets/chunks/clone.wSOICb_f.js +1 -0
- package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.DVEa6fZp.js → cose-bilkent-S5V4N54A.CmaI5br0.js} +1 -1
- package/dist/docs/assets/chunks/{dagre-KV5264BT.C9PZQK-S.js → dagre-KV5264BT.4wY9S4Kt.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-5BDNPKRD.DoN0uv3Y.js → diagram-5BDNPKRD.Pc3c0u9W.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.Czv3duqx.js → diagram-G4DWMVQ6.CYrWz-nj.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-MMDJMWI5.BinJ5kWb.js → diagram-MMDJMWI5.Bgj5hukb.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-TYMM5635.DW326M4K.js → diagram-TYMM5635.DGMEXalS.js} +1 -1
- package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.U2pR_OA7.js → erDiagram-SMLLAGMA.GepTV9Im.js} +1 -1
- package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.ByWJXeYK.js → flowDiagram-DWJPFMVM.DVKywg3j.js} +1 -1
- package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.OquF0Rtg.js → ganttDiagram-T4ZO3ILL.C7qt9Mlo.js} +1 -1
- package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.Bpn01P7X.js → gitGraphDiagram-UUTBAWPF.U30_r82P.js} +1 -1
- package/dist/docs/assets/chunks/{graph.CNRB6ETL.js → graph.CyyMyAWv.js} +1 -1
- package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.CqhknMWi.js → infoDiagram-42DDH7IO.Dn9ACW3y.js} +1 -1
- package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.C6xpR2af.js → ishikawaDiagram-UXIWVN3A.DlIdIGOA.js} +1 -1
- package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.Cg5f7oB3.js → journeyDiagram-VCZTEJTY.DZj4vy4E.js} +1 -1
- package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.Cx9YTwlU.js → kanban-definition-6JOO6SKY.Dl63eMUV.js} +1 -1
- package/dist/docs/assets/chunks/{layout.ljS-wFtK.js → layout.BLHZLWPH.js} +1 -1
- package/dist/docs/assets/chunks/{linear.jSxNrsFC.js → linear.aXKGKaNw.js} +1 -1
- package/dist/docs/assets/chunks/{min.Cum8AlQw.js → min.zWnFcpcc.js} +1 -1
- package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.BLiysLpe.js → mindmap-definition-QFDTVHPH.Qs4MQBea.js} +1 -1
- package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.BoIDyuKF.js → pieDiagram-DEJITSTG.BmPHgsk7.js} +1 -1
- package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.DLkpDytR.js → quadrantDiagram-34T5L4WZ.D5MQ3gwA.js} +1 -1
- package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.DqTVqSu2.js → requirementDiagram-MS252O5E.CkdUFrO7.js} +1 -1
- package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.CG_6FF7j.js → sankeyDiagram-XADWPNL6.KZrljrAV.js} +1 -1
- package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.BIp9602K.js → sequenceDiagram-FGHM5R23.XMoEW-Lx.js} +1 -1
- package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.COSXsD9I.js → stateDiagram-FHFEXIEX.BmTzePLj.js} +1 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.Cu5X28zZ.js +1 -0
- package/dist/docs/assets/chunks/{theme.CXJ7PNwy.js → theme.BfQzpxsg.js} +2 -2
- package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.CXdVqkLq.js → timeline-definition-GMOUNBTQ.Dug0oamp.js} +1 -1
- package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.CZxGuc4r.js → vennDiagram-DHZGUBPP.BOTHrEFu.js} +1 -1
- package/dist/docs/assets/chunks/{wardley-RL74JXVD.3oVgfqQk.js → wardley-RL74JXVD.DXy2i1LS.js} +1 -1
- package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.6_irCgGJ.js → wardleyDiagram-NUSXRM2D.CoXKdfi6.js} +1 -1
- package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.TRPe92m3.js → xychartDiagram-5P7HB3ND.DXoSCjAW.js} +1 -1
- package/dist/docs/assets/{deployment.md.D2jQZuFx.js → deployment.md.D2YX7u_I.js} +1 -1
- package/dist/docs/assets/{guides_agent-to-agent.md.CD4T5FIl.js → guides_agent-to-agent.md.C6kPY8nu.js} +2 -2
- package/dist/docs/assets/{guides_cloud-agents.md.Cp1O3u-X.js → guides_cloud-agents.md.BPJqTZjT.js} +1 -1
- package/dist/docs/assets/{guides_grokbot-agents.md.CMhZNdEU.js → guides_grokbot-agents.md.CzV715v8.js} +1 -1
- package/dist/docs/assets/guides_hooks.md.BT9GLwEp.js +50 -0
- package/dist/docs/assets/guides_hooks.md.BT9GLwEp.lean.js +1 -0
- package/dist/docs/assets/{guides_jev.md.F5fAkkfN.js → guides_jev.md.DeSCqMaO.js} +6 -44
- package/dist/docs/assets/guides_jev.md.DeSCqMaO.lean.js +1 -0
- package/dist/docs/assets/reference_agent-config.md.BRxAlnRy.js +36 -0
- package/dist/docs/assets/{reference_agent-config.md.DGPyw7ms.lean.js → reference_agent-config.md.BRxAlnRy.lean.js} +1 -1
- package/dist/docs/assets/reference_artifacts.md.KRX0sAdt.js +18 -0
- package/dist/docs/assets/reference_artifacts.md.KRX0sAdt.lean.js +1 -0
- package/dist/docs/assets/reference_channels.md.DZr14vm7.js +23 -0
- package/dist/docs/assets/reference_channels.md.DZr14vm7.lean.js +1 -0
- package/dist/docs/assets/{reference_connections.md.Je9dMsdd.js → reference_connections.md.DJGUCxrr.js} +18 -30
- package/dist/docs/assets/{reference_connections.md.Je9dMsdd.lean.js → reference_connections.md.DJGUCxrr.lean.js} +1 -1
- package/dist/docs/assets/{reference_evals.md.DNJzM_yf.js → reference_evals.md.C6umwNC6.js} +6 -7
- package/dist/docs/assets/reference_evals.md.C6umwNC6.lean.js +1 -0
- package/dist/docs/assets/{reference_extensions.md.Cv5aLCz_.js → reference_extensions.md.DbNYu-DP.js} +3 -3
- package/dist/docs/assets/{reference_extensions.md.Cv5aLCz_.lean.js → reference_extensions.md.DbNYu-DP.lean.js} +1 -1
- package/dist/docs/assets/reference_hooks.md.BfOkhTU0.js +45 -0
- package/dist/docs/assets/{reference_hooks.md.B7uzNENk.lean.js → reference_hooks.md.BfOkhTU0.lean.js} +1 -1
- package/dist/docs/assets/reference_http-api.md.DdwtBeCj.js +11 -0
- package/dist/docs/assets/{reference_http-api.md.CduHavZ2.lean.js → reference_http-api.md.DdwtBeCj.lean.js} +1 -1
- package/dist/docs/assets/reference_instructions.md.B2mcIzT6.js +14 -0
- package/dist/docs/assets/reference_instructions.md.B2mcIzT6.lean.js +1 -0
- package/dist/docs/assets/reference_playground.md.CyrQD_n3.js +1 -0
- package/dist/docs/assets/reference_playground.md.CyrQD_n3.lean.js +1 -0
- package/dist/docs/assets/reference_project-layout.md.BEMzxAkq.js +19 -0
- package/dist/docs/assets/{reference_project-layout.md.BGhgpy9V.lean.js → reference_project-layout.md.BEMzxAkq.lean.js} +1 -1
- package/dist/docs/assets/reference_prompt.md.BFrqjHFL.js +9 -0
- package/dist/docs/assets/reference_prompt.md.BFrqjHFL.lean.js +1 -0
- package/dist/docs/assets/reference_schedules.md.BB9N3tRR.js +47 -0
- package/dist/docs/assets/reference_schedules.md.BB9N3tRR.lean.js +1 -0
- package/dist/docs/assets/reference_sessions.md.BBp-GIt-.js +1 -0
- package/dist/docs/assets/{reference_sessions.md.1_6Vyv7x.lean.js → reference_sessions.md.BBp-GIt-.lean.js} +1 -1
- package/dist/docs/assets/reference_skills.md.BVmi3UJ_.js +15 -0
- package/dist/docs/assets/{reference_skills.md.DjQkRefx.lean.js → reference_skills.md.BVmi3UJ_.lean.js} +1 -1
- package/dist/docs/assets/reference_subagents.md.DRoRy2Uj.js +10 -0
- package/dist/docs/assets/{reference_subagents.md.Dl16gcBj.lean.js → reference_subagents.md.DRoRy2Uj.lean.js} +1 -1
- package/dist/docs/assets/{reference_tools.md.B1dH1lpa.js → reference_tools.md.CgocLDX1.js} +9 -6
- package/dist/docs/assets/{reference_tools.md.B1dH1lpa.lean.js → reference_tools.md.CgocLDX1.lean.js} +1 -1
- package/dist/docs/assets/troubleshooting.md.HY95rCCz.js +1 -0
- package/dist/docs/building-with-agents.html +35 -35
- package/dist/docs/deployment.html +37 -37
- package/dist/docs/deployment.md +1 -1
- package/dist/docs/evals.html +35 -35
- package/dist/docs/guides/agent-to-agent.html +38 -38
- package/dist/docs/guides/agent-to-agent.md +11 -12
- package/dist/docs/guides/bitbucket.html +35 -35
- package/dist/docs/guides/cloud-agents.html +36 -36
- package/dist/docs/guides/cloud-agents.md +1 -1
- package/dist/docs/guides/convert-automation.html +35 -35
- package/dist/docs/guides/github.html +35 -35
- package/dist/docs/guides/gitlab.html +35 -35
- package/dist/docs/guides/grokbot-agents.html +37 -37
- package/dist/docs/guides/grokbot-agents.md +1 -1
- package/dist/docs/guides/hooks.html +109 -0
- package/dist/docs/guides/hooks.md +111 -0
- package/dist/docs/guides/improve.html +35 -35
- package/dist/docs/guides/jev.html +42 -80
- package/dist/docs/guides/jev.md +22 -79
- package/dist/docs/guides/mcp-oauth.html +36 -36
- package/dist/docs/guides/opentelemetry.html +35 -35
- package/dist/docs/guides/slack.html +35 -35
- package/dist/docs/guides/webhooks.html +35 -35
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +35 -35
- package/dist/docs/index.html +35 -35
- package/dist/docs/llms-full.txt +993 -1303
- package/dist/docs/llms.txt +8 -7
- package/dist/docs/quickstart.html +35 -35
- package/dist/docs/reference/agent-config.html +42 -46
- package/dist/docs/reference/agent-config.md +48 -81
- package/dist/docs/reference/artifacts.html +39 -40
- package/dist/docs/reference/artifacts.md +71 -70
- package/dist/docs/reference/channels.html +41 -61
- package/dist/docs/reference/channels.md +134 -201
- package/dist/docs/reference/cli.html +35 -35
- package/dist/docs/reference/connections.html +54 -66
- package/dist/docs/reference/connections.md +92 -128
- package/dist/docs/reference/evals.html +42 -43
- package/dist/docs/reference/evals.md +42 -50
- package/dist/docs/reference/extensions.html +38 -38
- package/dist/docs/reference/extensions.md +9 -13
- package/dist/docs/reference/hooks.html +39 -67
- package/dist/docs/reference/hooks.md +72 -146
- package/dist/docs/reference/http-api.html +39 -39
- package/dist/docs/reference/http-api.md +137 -161
- package/dist/docs/reference/instructions.html +39 -39
- package/dist/docs/reference/instructions.md +21 -36
- package/dist/docs/reference/playground.html +36 -36
- package/dist/docs/reference/playground.md +26 -43
- package/dist/docs/reference/project-layout.html +38 -38
- package/dist/docs/reference/project-layout.md +12 -17
- package/dist/docs/reference/prompt.html +42 -42
- package/dist/docs/reference/prompt.md +18 -13
- package/dist/docs/reference/schedules.html +56 -91
- package/dist/docs/reference/schedules.md +52 -99
- package/dist/docs/reference/sessions.html +36 -36
- package/dist/docs/reference/sessions.md +36 -40
- package/dist/docs/reference/skills.html +38 -38
- package/dist/docs/reference/skills.md +15 -26
- package/dist/docs/reference/subagents.html +38 -38
- package/dist/docs/reference/subagents.md +20 -30
- package/dist/docs/reference/tools.html +44 -41
- package/dist/docs/reference/tools.md +45 -64
- package/dist/docs/templates/agentic-owners.html +35 -35
- package/dist/docs/templates/pr-autofixer.html +35 -35
- package/dist/docs/templates/security-reviewer.html +35 -35
- package/dist/docs/templates/thermo-quality-review.html +35 -35
- package/dist/docs/templates/thermo-review.html +35 -35
- package/dist/docs/templates/triage.html +35 -35
- package/dist/docs/troubleshooting.html +36 -36
- package/dist/docs/troubleshooting.md +1 -1
- package/dist/playground/assets/{index-DSMAewbx.css → index-C61EWMBK.css} +1 -1
- package/dist/playground/index.html +2 -2
- package/docs/deployment.md +1 -1
- package/docs/guides/agent-to-agent.md +11 -12
- package/docs/guides/cloud-agents.md +1 -1
- package/docs/guides/grokbot-agents.md +1 -1
- package/docs/guides/hooks.md +116 -0
- package/docs/guides/jev.md +23 -80
- package/docs/reference/agent-config.md +48 -81
- package/docs/reference/artifacts.md +72 -71
- package/docs/reference/channels.md +135 -202
- package/docs/reference/connections.md +93 -129
- package/docs/reference/evals.md +43 -51
- package/docs/reference/extensions.md +9 -13
- package/docs/reference/hooks.md +72 -146
- package/docs/reference/http-api.md +137 -161
- package/docs/reference/instructions.md +22 -37
- package/docs/reference/playground.md +26 -43
- package/docs/reference/project-layout.md +12 -17
- package/docs/reference/prompt.md +20 -15
- package/docs/reference/schedules.md +52 -99
- package/docs/reference/sessions.md +36 -40
- package/docs/reference/skills.md +15 -26
- package/docs/reference/subagents.md +20 -30
- package/docs/reference/tools.md +45 -64
- package/docs/troubleshooting.md +1 -1
- package/package.json +1 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.Ck9E52Ls.js +0 -1
- package/dist/docs/assets/chunks/channel.BHiYmnZ4.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.Degh8l90.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.Degh8l90.js +0 -1
- package/dist/docs/assets/chunks/clone.BIywbczV.js +0 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.qrxrbFsX.js +0 -1
- package/dist/docs/assets/guides_jev.md.F5fAkkfN.lean.js +0 -1
- package/dist/docs/assets/reference_agent-config.md.DGPyw7ms.js +0 -40
- package/dist/docs/assets/reference_artifacts.md.Bu_4HmsD.js +0 -19
- package/dist/docs/assets/reference_artifacts.md.Bu_4HmsD.lean.js +0 -1
- package/dist/docs/assets/reference_channels.md.nFWbzAic.js +0 -43
- package/dist/docs/assets/reference_channels.md.nFWbzAic.lean.js +0 -1
- package/dist/docs/assets/reference_evals.md.DNJzM_yf.lean.js +0 -1
- package/dist/docs/assets/reference_hooks.md.B7uzNENk.js +0 -73
- package/dist/docs/assets/reference_http-api.md.CduHavZ2.js +0 -11
- package/dist/docs/assets/reference_instructions.md.CU1My5My.js +0 -14
- package/dist/docs/assets/reference_instructions.md.CU1My5My.lean.js +0 -1
- package/dist/docs/assets/reference_playground.md.Ch2d0Iqi.js +0 -1
- package/dist/docs/assets/reference_playground.md.Ch2d0Iqi.lean.js +0 -1
- package/dist/docs/assets/reference_project-layout.md.BGhgpy9V.js +0 -19
- package/dist/docs/assets/reference_prompt.md.Ccp0R53H.js +0 -1
- package/dist/docs/assets/reference_prompt.md.Ccp0R53H.lean.js +0 -1
- package/dist/docs/assets/reference_schedules.md.B2Nm6FaD.js +0 -82
- package/dist/docs/assets/reference_schedules.md.B2Nm6FaD.lean.js +0 -1
- package/dist/docs/assets/reference_sessions.md.1_6Vyv7x.js +0 -1
- package/dist/docs/assets/reference_skills.md.DjQkRefx.js +0 -15
- package/dist/docs/assets/reference_subagents.md.Dl16gcBj.js +0 -10
- package/dist/docs/assets/troubleshooting.md.mnfFG2Em.js +0 -1
- /package/dist/docs/assets/{deployment.md.D2jQZuFx.lean.js → deployment.md.D2YX7u_I.lean.js} +0 -0
- /package/dist/docs/assets/{guides_agent-to-agent.md.CD4T5FIl.lean.js → guides_agent-to-agent.md.C6kPY8nu.lean.js} +0 -0
- /package/dist/docs/assets/{guides_cloud-agents.md.Cp1O3u-X.lean.js → guides_cloud-agents.md.BPJqTZjT.lean.js} +0 -0
- /package/dist/docs/assets/{guides_grokbot-agents.md.CMhZNdEU.lean.js → guides_grokbot-agents.md.CzV715v8.lean.js} +0 -0
- /package/dist/docs/assets/{troubleshooting.md.mnfFG2Em.lean.js → troubleshooting.md.HY95rCCz.lean.js} +0 -0
- /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
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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 #
|
|
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.
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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
|
|
44
|
-
`
|
|
45
|
-
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
package/docs/reference/tools.md
CHANGED
|
@@ -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
|
|
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
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
|
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`.
|
|
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
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
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
|
|
252
|
-
|
|
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
|
|
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
|
-
|
|
289
|
-
when the call returns. Pass
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
`
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
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
|
-
##
|
|
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
|
package/docs/troubleshooting.md
CHANGED
|
@@ -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#
|
|
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.
|
|
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": {
|