@cursor/bdk 0.2.26 → 0.2.27

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 (149) hide show
  1. package/dist/docs/404.html +2 -2
  2. package/dist/docs/assets/{app.BITbgXMP.js → app.wA5xBBcd.js} +4 -4
  3. package/dist/docs/assets/changelog.md.BvHRIiMH.js +1 -0
  4. package/dist/docs/assets/{changelog.md.sdD6ctqK.lean.js → changelog.md.BvHRIiMH.lean.js} +1 -1
  5. package/dist/docs/assets/chunks/@localSearchIndexroot.BoDEJQWv.js +1 -0
  6. package/dist/docs/assets/chunks/{VPLocalSearchBox.3qo4-bX9.js → VPLocalSearchBox.C29HLCVL.js} +1 -1
  7. package/dist/docs/assets/chunks/{arc.CTrZocKU.js → arc.BOaoYWmh.js} +1 -1
  8. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.BkgIqxrv.js → architectureDiagram-Q4EWVU46.MfG0itQh.js} +1 -1
  9. package/dist/docs/assets/chunks/{baseUniq.5w0JfVgo.js → baseUniq.CUeJciCF.js} +1 -1
  10. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.BVLtPjQc.js → blockDiagram-DXYQGD6D.BrXMZRtK.js} +1 -1
  11. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.CQ7neZTW.js → c4Diagram-AHTNJAMY.DfkDHeB9.js} +1 -1
  12. package/dist/docs/assets/chunks/channel.D2BTz0L-.js +1 -0
  13. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.D-hJ7uKM.js → chunk-4BX2VUAB.xKz8CiXK.js} +1 -1
  14. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.RBYX5ywX.js → chunk-4TB4RGXK.kkfBh4zk.js} +1 -1
  15. package/dist/docs/assets/chunks/{chunk-55IACEB6.Br05HoEb.js → chunk-55IACEB6.BClJGb94.js} +1 -1
  16. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.BD_7QS60.js → chunk-EDXVE4YY.P9BpQ9L3.js} +1 -1
  17. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.BOPnMabX.js → chunk-FMBD7UC4.R4iYi58S.js} +1 -1
  18. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.DmGIdP8i.js → chunk-OYMX7WX6.Cpn8L1dw.js} +1 -1
  19. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.CGHmolCB.js → chunk-QZHKN3VN.BLftECqU.js} +1 -1
  20. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.C_Uhs25v.js → chunk-YZCP3GAM.BWDV1AYt.js} +1 -1
  21. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.DqByliAC.js +1 -0
  22. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.DqByliAC.js +1 -0
  23. package/dist/docs/assets/chunks/clone.CldT1lbQ.js +1 -0
  24. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.DsU6xpcZ.js → cose-bilkent-S5V4N54A.DGpAcJ55.js} +1 -1
  25. package/dist/docs/assets/chunks/{dagre-KV5264BT.BqQLDcoU.js → dagre-KV5264BT.BBXxGEaD.js} +1 -1
  26. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.Cgv8uUNF.js → diagram-5BDNPKRD.EKqOwmK2.js} +1 -1
  27. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.BXHPSXh_.js → diagram-G4DWMVQ6.CB8pdkoZ.js} +1 -1
  28. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.CgJzo8f_.js → diagram-MMDJMWI5.aHh4WGg9.js} +1 -1
  29. package/dist/docs/assets/chunks/{diagram-TYMM5635.CfiN6lgT.js → diagram-TYMM5635.YIsbRH20.js} +1 -1
  30. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.8n_hHzAd.js → erDiagram-SMLLAGMA.B3bTCW_e.js} +1 -1
  31. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.B2pb1Dv_.js → flowDiagram-DWJPFMVM.M81hXIXZ.js} +1 -1
  32. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.BFih4ucI.js → ganttDiagram-T4ZO3ILL.BKg7WY--.js} +1 -1
  33. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.CqZ8PTl8.js → gitGraphDiagram-UUTBAWPF.CLEMZgO3.js} +1 -1
  34. package/dist/docs/assets/chunks/{graph.0ufsI9gu.js → graph.DS38W_Q-.js} +1 -1
  35. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.BkPRFww4.js → infoDiagram-42DDH7IO.BTiWTi82.js} +1 -1
  36. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.DCRK-cVX.js → ishikawaDiagram-UXIWVN3A.DcqY_KQL.js} +1 -1
  37. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.BFyAJo33.js → journeyDiagram-VCZTEJTY.0lQNZ40U.js} +1 -1
  38. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.CmA2SoGc.js → kanban-definition-6JOO6SKY.L5sKlf7X.js} +1 -1
  39. package/dist/docs/assets/chunks/{layout.CYY-CbMr.js → layout.7u4gFhQa.js} +1 -1
  40. package/dist/docs/assets/chunks/{linear.DeeDV4Oq.js → linear.D5v33SOb.js} +1 -1
  41. package/dist/docs/assets/chunks/{min.BL3XTBN2.js → min.Dc9uCxf9.js} +1 -1
  42. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.BcbY-G6H.js → mindmap-definition-QFDTVHPH.B56nGoB_.js} +1 -1
  43. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.dzDcQnPE.js → pieDiagram-DEJITSTG.Cba8e8lS.js} +1 -1
  44. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.RxR0m5iK.js → quadrantDiagram-34T5L4WZ.2YjBycHF.js} +1 -1
  45. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.DflaXb6Q.js → requirementDiagram-MS252O5E.D4P5RqVI.js} +1 -1
  46. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.BteLKQAe.js → sankeyDiagram-XADWPNL6.C0Hn8NUm.js} +1 -1
  47. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.BD8jM8oz.js → sequenceDiagram-FGHM5R23.BZm7EaoT.js} +1 -1
  48. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.C8SBkbPH.js → stateDiagram-FHFEXIEX.DcR4f3X2.js} +1 -1
  49. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.Bb4oMe0P.js +1 -0
  50. package/dist/docs/assets/chunks/{theme.DiViIOLe.js → theme.DvfKzyXq.js} +2 -2
  51. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.D64XF5dV.js → timeline-definition-GMOUNBTQ.CgDh96vg.js} +1 -1
  52. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.CwmeYan-.js → vennDiagram-DHZGUBPP.B4fagbC8.js} +1 -1
  53. package/dist/docs/assets/chunks/{wardley-RL74JXVD.DmAlXlpu.js → wardley-RL74JXVD.Ck68omim.js} +1 -1
  54. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.5VJ2-5K0.js → wardleyDiagram-NUSXRM2D.DBUg0bvz.js} +1 -1
  55. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.Cl6_fZVC.js → xychartDiagram-5P7HB3ND.DnKSGQE1.js} +1 -1
  56. package/dist/docs/assets/{reference_agent-config.md.CGSx8COP.js → reference_agent-config.md.CZrbHOfT.js} +4 -4
  57. package/dist/docs/assets/{reference_agent-config.md.CGSx8COP.lean.js → reference_agent-config.md.CZrbHOfT.lean.js} +1 -1
  58. package/dist/docs/building-with-agents.html +35 -35
  59. package/dist/docs/changelog.html +36 -36
  60. package/dist/docs/changelog.md +28 -0
  61. package/dist/docs/deployment.html +35 -35
  62. package/dist/docs/evals.html +35 -35
  63. package/dist/docs/guides/agent-to-agent.html +35 -35
  64. package/dist/docs/guides/bitbucket.html +35 -35
  65. package/dist/docs/guides/cloud-agents.html +35 -35
  66. package/dist/docs/guides/convert-automation.html +35 -35
  67. package/dist/docs/guides/export-grokbot.html +35 -35
  68. package/dist/docs/guides/github.html +35 -35
  69. package/dist/docs/guides/gitlab.html +35 -35
  70. package/dist/docs/guides/grokbot-agents.html +35 -35
  71. package/dist/docs/guides/hooks.html +35 -35
  72. package/dist/docs/guides/improve.html +35 -35
  73. package/dist/docs/guides/jev.html +35 -35
  74. package/dist/docs/guides/mcp-oauth.html +35 -35
  75. package/dist/docs/guides/migrate.html +35 -35
  76. package/dist/docs/guides/opentelemetry.html +35 -35
  77. package/dist/docs/guides/pagerduty.html +35 -35
  78. package/dist/docs/guides/slack.html +35 -35
  79. package/dist/docs/guides/webhooks.html +35 -35
  80. package/dist/docs/hashmap.json +1 -1
  81. package/dist/docs/hillclimbing.html +35 -35
  82. package/dist/docs/index.html +35 -35
  83. package/dist/docs/llms-full.txt +37 -0
  84. package/dist/docs/quickstart.html +35 -35
  85. package/dist/docs/reference/agent-config.html +38 -38
  86. package/dist/docs/reference/agent-config.md +9 -0
  87. package/dist/docs/reference/artifacts.html +35 -35
  88. package/dist/docs/reference/channels.html +35 -35
  89. package/dist/docs/reference/cli.html +35 -35
  90. package/dist/docs/reference/connections.html +35 -35
  91. package/dist/docs/reference/evals.html +35 -35
  92. package/dist/docs/reference/extensions.html +35 -35
  93. package/dist/docs/reference/hooks.html +35 -35
  94. package/dist/docs/reference/http-api.html +35 -35
  95. package/dist/docs/reference/instructions.html +35 -35
  96. package/dist/docs/reference/memory.html +35 -35
  97. package/dist/docs/reference/playground.html +35 -35
  98. package/dist/docs/reference/project-layout.html +35 -35
  99. package/dist/docs/reference/prompt.html +35 -35
  100. package/dist/docs/reference/schedules.html +35 -35
  101. package/dist/docs/reference/sessions.html +35 -35
  102. package/dist/docs/reference/skills.html +35 -35
  103. package/dist/docs/reference/subagents.html +35 -35
  104. package/dist/docs/reference/tools.html +35 -35
  105. package/dist/docs/templates/agentic-owners.html +35 -35
  106. package/dist/docs/templates/grokbot-agents.html +35 -35
  107. package/dist/docs/templates/security-reviewer.html +35 -35
  108. package/dist/docs/templates/thermo-quality-review.html +35 -35
  109. package/dist/docs/templates/thermo-review.html +35 -35
  110. package/dist/docs/templates/triage.html +35 -35
  111. package/dist/docs/troubleshooting.html +35 -35
  112. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts +4 -1
  113. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts.map +1 -1
  114. package/dist/extensions/cursor-cloud-agents/lib/backend.js +1 -5
  115. package/dist/filesystem.d.ts +26 -5
  116. package/dist/filesystem.d.ts.map +1 -1
  117. package/dist/filesystem.js +91 -18
  118. package/dist/internal/discovery/agent.d.ts.map +1 -1
  119. package/dist/internal/discovery/agent.js +29 -9
  120. package/dist/internal/docs-site.d.ts +2 -5
  121. package/dist/internal/docs-site.d.ts.map +1 -1
  122. package/dist/internal/docs-site.js +2 -5
  123. package/dist/internal/sdk-runner.d.ts +6 -0
  124. package/dist/internal/sdk-runner.d.ts.map +1 -1
  125. package/dist/internal/sdk-runner.js +41 -1
  126. package/dist/internal/session-engine.d.ts +8 -3
  127. package/dist/internal/session-engine.d.ts.map +1 -1
  128. package/dist/internal/session-engine.js +64 -20
  129. package/dist/internal/workspace.d.ts +10 -0
  130. package/dist/internal/workspace.d.ts.map +1 -1
  131. package/dist/internal/workspace.js +47 -1
  132. package/dist/playground/assets/cursor-icons-16-DfKNljMZ.woff2 +0 -0
  133. package/dist/playground/assets/{index-DpbzbqFY.js → index-B3_YohwW.js} +38 -38
  134. package/dist/playground/assets/index-Cn3-adsJ.css +1 -0
  135. package/dist/playground/index.html +2 -2
  136. package/dist/types.d.ts +41 -7
  137. package/dist/types.d.ts.map +1 -1
  138. package/docs/changelog.md +28 -0
  139. package/docs/reference/agent-config.md +9 -0
  140. package/package.json +5 -2
  141. package/dist/docs/assets/changelog.md.sdD6ctqK.js +0 -1
  142. package/dist/docs/assets/chunks/@localSearchIndexroot.B45uCZp9.js +0 -1
  143. package/dist/docs/assets/chunks/channel.Cv2w64wj.js +0 -1
  144. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CtO2atCr.js +0 -1
  145. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CtO2atCr.js +0 -1
  146. package/dist/docs/assets/chunks/clone.hfsCtgP4.js +0 -1
  147. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.BLz7Qyo3.js +0 -1
  148. package/dist/playground/assets/cursor-icons-16-DmHBTm1-.woff2 +0 -0
  149. package/dist/playground/assets/index-CyPkf2y7.css +0 -1
@@ -9,51 +9,51 @@
9
9
  <link rel="preload stylesheet" href="/docs/assets/style.B9o0luvp.css" as="style">
10
10
  <link rel="preload stylesheet" href="/docs/vp-icons.css" as="style">
11
11
 
12
- <script type="module" src="/docs/assets/app.BITbgXMP.js"></script>
12
+ <script type="module" src="/docs/assets/app.wA5xBBcd.js"></script>
13
13
  <link rel="preload" href="/docs/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
14
14
  <link rel="modulepreload" href="/docs/assets/chunks/framework.BNw1pucY.js">
15
- <link rel="modulepreload" href="/docs/assets/chunks/theme.DiViIOLe.js">
15
+ <link rel="modulepreload" href="/docs/assets/chunks/theme.DvfKzyXq.js">
16
16
  <link rel="modulepreload" href="/docs/assets/chunks/katex.DkKDou_j.js">
17
- <link rel="modulepreload" href="/docs/assets/chunks/dagre-KV5264BT.BqQLDcoU.js">
18
- <link rel="modulepreload" href="/docs/assets/chunks/cose-bilkent-S5V4N54A.DsU6xpcZ.js">
19
- <link rel="modulepreload" href="/docs/assets/chunks/c4Diagram-AHTNJAMY.CQ7neZTW.js">
20
- <link rel="modulepreload" href="/docs/assets/chunks/flowDiagram-DWJPFMVM.B2pb1Dv_.js">
21
- <link rel="modulepreload" href="/docs/assets/chunks/erDiagram-SMLLAGMA.8n_hHzAd.js">
22
- <link rel="modulepreload" href="/docs/assets/chunks/gitGraphDiagram-UUTBAWPF.CqZ8PTl8.js">
23
- <link rel="modulepreload" href="/docs/assets/chunks/ganttDiagram-T4ZO3ILL.BFih4ucI.js">
24
- <link rel="modulepreload" href="/docs/assets/chunks/infoDiagram-42DDH7IO.BkPRFww4.js">
25
- <link rel="modulepreload" href="/docs/assets/chunks/pieDiagram-DEJITSTG.dzDcQnPE.js">
26
- <link rel="modulepreload" href="/docs/assets/chunks/quadrantDiagram-34T5L4WZ.RxR0m5iK.js">
27
- <link rel="modulepreload" href="/docs/assets/chunks/xychartDiagram-5P7HB3ND.Cl6_fZVC.js">
28
- <link rel="modulepreload" href="/docs/assets/chunks/requirementDiagram-MS252O5E.DflaXb6Q.js">
29
- <link rel="modulepreload" href="/docs/assets/chunks/sequenceDiagram-FGHM5R23.BD8jM8oz.js">
30
- <link rel="modulepreload" href="/docs/assets/chunks/classDiagram-6PBFFD2Q.CtO2atCr.js">
31
- <link rel="modulepreload" href="/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CtO2atCr.js">
32
- <link rel="modulepreload" href="/docs/assets/chunks/stateDiagram-FHFEXIEX.C8SBkbPH.js">
33
- <link rel="modulepreload" href="/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.BLz7Qyo3.js">
34
- <link rel="modulepreload" href="/docs/assets/chunks/journeyDiagram-VCZTEJTY.BFyAJo33.js">
35
- <link rel="modulepreload" href="/docs/assets/chunks/timeline-definition-GMOUNBTQ.D64XF5dV.js">
36
- <link rel="modulepreload" href="/docs/assets/chunks/mindmap-definition-QFDTVHPH.BcbY-G6H.js">
37
- <link rel="modulepreload" href="/docs/assets/chunks/kanban-definition-6JOO6SKY.CmA2SoGc.js">
38
- <link rel="modulepreload" href="/docs/assets/chunks/sankeyDiagram-XADWPNL6.BteLKQAe.js">
39
- <link rel="modulepreload" href="/docs/assets/chunks/diagram-TYMM5635.CfiN6lgT.js">
40
- <link rel="modulepreload" href="/docs/assets/chunks/diagram-MMDJMWI5.CgJzo8f_.js">
41
- <link rel="modulepreload" href="/docs/assets/chunks/blockDiagram-DXYQGD6D.BVLtPjQc.js">
42
- <link rel="modulepreload" href="/docs/assets/chunks/diagram-5BDNPKRD.Cgv8uUNF.js">
43
- <link rel="modulepreload" href="/docs/assets/chunks/architectureDiagram-Q4EWVU46.BkgIqxrv.js">
44
- <link rel="modulepreload" href="/docs/assets/chunks/ishikawaDiagram-UXIWVN3A.DCRK-cVX.js">
45
- <link rel="modulepreload" href="/docs/assets/chunks/vennDiagram-DHZGUBPP.CwmeYan-.js">
46
- <link rel="modulepreload" href="/docs/assets/chunks/diagram-G4DWMVQ6.BXHPSXh_.js">
47
- <link rel="modulepreload" href="/docs/assets/chunks/wardleyDiagram-NUSXRM2D.5VJ2-5K0.js">
17
+ <link rel="modulepreload" href="/docs/assets/chunks/dagre-KV5264BT.BBXxGEaD.js">
18
+ <link rel="modulepreload" href="/docs/assets/chunks/cose-bilkent-S5V4N54A.DGpAcJ55.js">
19
+ <link rel="modulepreload" href="/docs/assets/chunks/c4Diagram-AHTNJAMY.DfkDHeB9.js">
20
+ <link rel="modulepreload" href="/docs/assets/chunks/flowDiagram-DWJPFMVM.M81hXIXZ.js">
21
+ <link rel="modulepreload" href="/docs/assets/chunks/erDiagram-SMLLAGMA.B3bTCW_e.js">
22
+ <link rel="modulepreload" href="/docs/assets/chunks/gitGraphDiagram-UUTBAWPF.CLEMZgO3.js">
23
+ <link rel="modulepreload" href="/docs/assets/chunks/ganttDiagram-T4ZO3ILL.BKg7WY--.js">
24
+ <link rel="modulepreload" href="/docs/assets/chunks/infoDiagram-42DDH7IO.BTiWTi82.js">
25
+ <link rel="modulepreload" href="/docs/assets/chunks/pieDiagram-DEJITSTG.Cba8e8lS.js">
26
+ <link rel="modulepreload" href="/docs/assets/chunks/quadrantDiagram-34T5L4WZ.2YjBycHF.js">
27
+ <link rel="modulepreload" href="/docs/assets/chunks/xychartDiagram-5P7HB3ND.DnKSGQE1.js">
28
+ <link rel="modulepreload" href="/docs/assets/chunks/requirementDiagram-MS252O5E.D4P5RqVI.js">
29
+ <link rel="modulepreload" href="/docs/assets/chunks/sequenceDiagram-FGHM5R23.BZm7EaoT.js">
30
+ <link rel="modulepreload" href="/docs/assets/chunks/classDiagram-6PBFFD2Q.DqByliAC.js">
31
+ <link rel="modulepreload" href="/docs/assets/chunks/classDiagram-v2-HSJHXN6E.DqByliAC.js">
32
+ <link rel="modulepreload" href="/docs/assets/chunks/stateDiagram-FHFEXIEX.DcR4f3X2.js">
33
+ <link rel="modulepreload" href="/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.Bb4oMe0P.js">
34
+ <link rel="modulepreload" href="/docs/assets/chunks/journeyDiagram-VCZTEJTY.0lQNZ40U.js">
35
+ <link rel="modulepreload" href="/docs/assets/chunks/timeline-definition-GMOUNBTQ.CgDh96vg.js">
36
+ <link rel="modulepreload" href="/docs/assets/chunks/mindmap-definition-QFDTVHPH.B56nGoB_.js">
37
+ <link rel="modulepreload" href="/docs/assets/chunks/kanban-definition-6JOO6SKY.L5sKlf7X.js">
38
+ <link rel="modulepreload" href="/docs/assets/chunks/sankeyDiagram-XADWPNL6.C0Hn8NUm.js">
39
+ <link rel="modulepreload" href="/docs/assets/chunks/diagram-TYMM5635.YIsbRH20.js">
40
+ <link rel="modulepreload" href="/docs/assets/chunks/diagram-MMDJMWI5.aHh4WGg9.js">
41
+ <link rel="modulepreload" href="/docs/assets/chunks/blockDiagram-DXYQGD6D.BrXMZRtK.js">
42
+ <link rel="modulepreload" href="/docs/assets/chunks/diagram-5BDNPKRD.EKqOwmK2.js">
43
+ <link rel="modulepreload" href="/docs/assets/chunks/architectureDiagram-Q4EWVU46.MfG0itQh.js">
44
+ <link rel="modulepreload" href="/docs/assets/chunks/ishikawaDiagram-UXIWVN3A.DcqY_KQL.js">
45
+ <link rel="modulepreload" href="/docs/assets/chunks/vennDiagram-DHZGUBPP.B4fagbC8.js">
46
+ <link rel="modulepreload" href="/docs/assets/chunks/diagram-G4DWMVQ6.CB8pdkoZ.js">
47
+ <link rel="modulepreload" href="/docs/assets/chunks/wardleyDiagram-NUSXRM2D.DBUg0bvz.js">
48
48
  <link rel="modulepreload" href="/docs/assets/chunks/virtual_mermaid-config.DDnGl6nM.js">
49
- <link rel="modulepreload" href="/docs/assets/reference_agent-config.md.CGSx8COP.lean.js">
49
+ <link rel="modulepreload" href="/docs/assets/reference_agent-config.md.CZrbHOfT.lean.js">
50
50
  <script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
51
51
  <script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
52
52
  <link rel="alternate" type="text/plain" href="/docs/llms.txt">
53
53
  <link rel="alternate" type="text/markdown" href="/docs/reference/agent-config.md">
54
54
  </head>
55
55
  <body>
56
- <div id="app"><div class="Layout" data-v-738a160a><!--[--><!--]--><!--[--><span tabindex="-1" data-v-a98c2453></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-a98c2453>Skip to content</a><!--]--><!----><header class="VPNav" data-v-738a160a data-v-76ad4059><div class="VPNavBar" data-v-76ad4059 data-v-6fc2afcb><div class="wrapper" data-v-6fc2afcb><div class="container" data-v-6fc2afcb><div class="title" data-v-6fc2afcb><div class="VPNavBarTitle has-sidebar" data-v-6fc2afcb data-v-9e6caa3f><a class="title" href="/docs/" data-v-9e6caa3f><!--[--><!--]--><!----><span data-v-9e6caa3f>Bot Development Kit (BDK)</span><!--[--><!--[--><!--[--><!--[--><span class="bdk-version" title="BDK 0.2.26 (@cursor/bdk package)" data-v-d89e5038>0.2.26</span><!--]--><!--]--><!--]--><!--]--></a></div></div><div class="content" data-v-6fc2afcb><div class="content-body" data-v-6fc2afcb><!--[--><!--]--><div class="VPNavBarSearch search" data-v-6fc2afcb><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-6fc2afcb data-v-78f72f99><span id="main-nav-aria-label" class="visually-hidden" data-v-78f72f99> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/quickstart.html" tabindex="0" data-v-78f72f99 data-v-a7790978><!--[--><span data-v-a7790978>Quickstart</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/guides/mcp-oauth.html" tabindex="0" data-v-78f72f99 data-v-a7790978><!--[--><span data-v-a7790978>Guides</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/guides/github.html" tabindex="0" data-v-78f72f99 data-v-a7790978><!--[--><span data-v-a7790978>Integrations</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/templates/security-reviewer.html" tabindex="0" data-v-78f72f99 data-v-a7790978><!--[--><span data-v-a7790978>Templates</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/reference/project-layout.html" tabindex="0" data-v-78f72f99 data-v-a7790978><!--[--><span data-v-a7790978>Reference</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-6fc2afcb data-v-bf7c3d0f><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-bf7c3d0f data-v-e9e166e4 data-v-74f7b0ff><span class="check" data-v-74f7b0ff><span class="icon" data-v-74f7b0ff><!--[--><span class="vpi-sun sun" data-v-e9e166e4></span><span class="vpi-moon moon" data-v-e9e166e4></span><!--]--></span></span></button></div><!----><div class="VPFlyout VPNavBarExtra extra" data-v-6fc2afcb data-v-799c9281 data-v-070c9767><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-070c9767><span class="vpi-more-horizontal icon" data-v-070c9767></span></button><div class="menu" data-v-070c9767><div class="VPMenu" data-v-070c9767 data-v-c05d27ee><!----><!--[--><!--[--><!----><div class="group" data-v-799c9281><div class="item appearance" data-v-799c9281><p class="label" data-v-799c9281>Appearance</p><div class="appearance-action" data-v-799c9281><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-799c9281 data-v-e9e166e4 data-v-74f7b0ff><span class="check" data-v-74f7b0ff><span class="icon" data-v-74f7b0ff><!--[--><span class="vpi-sun sun" data-v-e9e166e4></span><span class="vpi-moon moon" data-v-e9e166e4></span><!--]--></span></span></button></div></div></div><!----><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-6fc2afcb data-v-2caaf84e><span class="container" data-v-2caaf84e><span class="top" data-v-2caaf84e></span><span class="middle" data-v-2caaf84e></span><span class="bottom" data-v-2caaf84e></span></span></button></div></div></div></div><div class="divider" data-v-6fc2afcb><div class="divider-line" data-v-6fc2afcb></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-738a160a data-v-e0cbfd80><div class="container" data-v-e0cbfd80><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-e0cbfd80><span class="vpi-align-left menu-icon" data-v-e0cbfd80></span><span class="menu-text" data-v-e0cbfd80>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-e0cbfd80 data-v-36e0b8e9><button data-v-36e0b8e9>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-738a160a data-v-2859715e><div class="curtain" data-v-2859715e></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-2859715e><span class="visually-hidden" id="sidebar-aria-label" data-v-2859715e> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-8ed949fd><section class="VPSidebarItem level-0" data-v-8ed949fd data-v-84325fb7><div class="item" role="button" tabindex="0" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><h2 class="text" data-v-84325fb7>Getting started</h2><!----></div><div class="items" data-v-84325fb7><!--[--><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/changelog.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Changelog</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/quickstart.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Building your first agent</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-8ed949fd><section class="VPSidebarItem level-0 collapsible" data-v-8ed949fd data-v-84325fb7><div class="item" role="button" tabindex="0" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><h2 class="text" data-v-84325fb7>Integrations</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-84325fb7><span class="vpi-chevron-right caret-icon" data-v-84325fb7></span></div></div><div class="items" data-v-84325fb7><!--[--><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/github.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>GitHub</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/slack.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Slack</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/webhooks.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Webhooks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/convert-automation.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Cursor Automations</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/opentelemetry.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>OpenTelemetry</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/gitlab.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>GitLab</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/bitbucket.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Bitbucket</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/pagerduty.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>PagerDuty</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-8ed949fd><section class="VPSidebarItem level-0 collapsible" data-v-8ed949fd data-v-84325fb7><div class="item" role="button" tabindex="0" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><h2 class="text" data-v-84325fb7>Extensions</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-84325fb7><span class="vpi-chevron-right caret-icon" data-v-84325fb7></span></div></div><div class="items" data-v-84325fb7><!--[--><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/extensions.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/cloud-agents.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Cloud agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/grokbot-agents.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Grok Bot agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/improve.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Self-improvement</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/jev.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Jev</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-8ed949fd><section class="VPSidebarItem level-0 collapsible" data-v-8ed949fd data-v-84325fb7><div class="item" role="button" tabindex="0" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><h2 class="text" data-v-84325fb7>Guides</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-84325fb7><span class="vpi-chevron-right caret-icon" data-v-84325fb7></span></div></div><div class="items" data-v-84325fb7><!--[--><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/mcp-oauth.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>MCP</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/hooks.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Hooks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/agent-to-agent.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Peer agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/deployment.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Deployment</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/export-grokbot.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Export a Grok Bot</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/migrate.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Early-alpha migration</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/evals.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Evals</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/hillclimbing.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Hillclimbing</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/building-with-agents.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Build with a coding agent</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/troubleshooting.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Troubleshooting</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-8ed949fd><section class="VPSidebarItem level-0 collapsible" data-v-8ed949fd data-v-84325fb7><div class="item" role="button" tabindex="0" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><h2 class="text" data-v-84325fb7>Templates</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-84325fb7><span class="vpi-chevron-right caret-icon" data-v-84325fb7></span></div></div><div class="items" data-v-84325fb7><!--[--><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/templates/grokbot-agents.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Grok Bot agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/templates/security-reviewer.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Security reviewer</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/templates/thermo-review.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Thermo review</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/templates/thermo-quality-review.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Thermo quality review</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/templates/agentic-owners.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Agentic Approver</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/templates/triage.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Triage agent</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-8ed949fd><section class="VPSidebarItem level-0 collapsible has-active" data-v-8ed949fd data-v-84325fb7><div class="item" role="button" tabindex="0" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><h2 class="text" data-v-84325fb7>Reference</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-84325fb7><span class="vpi-chevron-right caret-icon" data-v-84325fb7></span></div></div><div class="items" data-v-84325fb7><!--[--><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/project-layout.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Project layout</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/agent-config.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Agent config</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/instructions.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Instructions</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/tools.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Tools</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/prompt.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>prompt</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/skills.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Skills</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/connections.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>MCP Connections</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/subagents.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Subagents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/channels.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Channels</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/schedules.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Schedules & reminders</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/hooks.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Hooks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/memory.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Memory</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/evals.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Evals</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/artifacts.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Artifacts</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/sessions.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Sessions & streaming</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/playground.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Playground</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/cli.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>CLI</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/http-api.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>HTTP API</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-738a160a data-v-9f462cdf><div class="VPDoc has-sidebar has-aside" data-v-9f462cdf data-v-995f90b4><!--[--><!--]--><div class="container" data-v-995f90b4><div class="aside" data-v-995f90b4><div class="aside-curtain" data-v-995f90b4></div><div class="aside-container" data-v-995f90b4><div class="aside-content" data-v-995f90b4><div class="VPDocAside" data-v-995f90b4 data-v-10889960><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-10889960 data-v-afb61a88><div class="content" data-v-afb61a88><div class="outline-marker" data-v-afb61a88></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-afb61a88>On this page</div><ul class="VPDocOutlineItem root" data-v-afb61a88 data-v-0587367d><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-10889960></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-995f90b4><div class="content-container" data-v-995f90b4><!--[--><!--]--><main class="main" data-v-995f90b4><div style="position:relative;" class="vp-doc _docs_reference_agent-config" data-v-995f90b4><div><h1 id="agent-config" tabindex="-1">Agent config <a class="header-anchor" href="#agent-config" aria-label="Permalink to &quot;Agent config&quot;">​</a></h1><p><code>bot/agent.ts</code> default-exports <code>defineAgent(config)</code>: which model runs the agent and its local harness defaults. Everything is optional on the root agent.</p><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { defineAgent } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;@cursor/bdk&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
56
+ <div id="app"><div class="Layout" data-v-738a160a><!--[--><!--]--><!--[--><span tabindex="-1" data-v-a98c2453></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-a98c2453>Skip to content</a><!--]--><!----><header class="VPNav" data-v-738a160a data-v-76ad4059><div class="VPNavBar" data-v-76ad4059 data-v-6fc2afcb><div class="wrapper" data-v-6fc2afcb><div class="container" data-v-6fc2afcb><div class="title" data-v-6fc2afcb><div class="VPNavBarTitle has-sidebar" data-v-6fc2afcb data-v-9e6caa3f><a class="title" href="/docs/" data-v-9e6caa3f><!--[--><!--]--><!----><span data-v-9e6caa3f>Bot Development Kit (BDK)</span><!--[--><!--[--><!--[--><!--[--><span class="bdk-version" title="BDK 0.2.27 (@cursor/bdk package)" data-v-d89e5038>0.2.27</span><!--]--><!--]--><!--]--><!--]--></a></div></div><div class="content" data-v-6fc2afcb><div class="content-body" data-v-6fc2afcb><!--[--><!--]--><div class="VPNavBarSearch search" data-v-6fc2afcb><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-6fc2afcb data-v-78f72f99><span id="main-nav-aria-label" class="visually-hidden" data-v-78f72f99> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/quickstart.html" tabindex="0" data-v-78f72f99 data-v-a7790978><!--[--><span data-v-a7790978>Quickstart</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/guides/mcp-oauth.html" tabindex="0" data-v-78f72f99 data-v-a7790978><!--[--><span data-v-a7790978>Guides</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/guides/github.html" tabindex="0" data-v-78f72f99 data-v-a7790978><!--[--><span data-v-a7790978>Integrations</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/templates/security-reviewer.html" tabindex="0" data-v-78f72f99 data-v-a7790978><!--[--><span data-v-a7790978>Templates</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/reference/project-layout.html" tabindex="0" data-v-78f72f99 data-v-a7790978><!--[--><span data-v-a7790978>Reference</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-6fc2afcb data-v-bf7c3d0f><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-bf7c3d0f data-v-e9e166e4 data-v-74f7b0ff><span class="check" data-v-74f7b0ff><span class="icon" data-v-74f7b0ff><!--[--><span class="vpi-sun sun" data-v-e9e166e4></span><span class="vpi-moon moon" data-v-e9e166e4></span><!--]--></span></span></button></div><!----><div class="VPFlyout VPNavBarExtra extra" data-v-6fc2afcb data-v-799c9281 data-v-070c9767><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-070c9767><span class="vpi-more-horizontal icon" data-v-070c9767></span></button><div class="menu" data-v-070c9767><div class="VPMenu" data-v-070c9767 data-v-c05d27ee><!----><!--[--><!--[--><!----><div class="group" data-v-799c9281><div class="item appearance" data-v-799c9281><p class="label" data-v-799c9281>Appearance</p><div class="appearance-action" data-v-799c9281><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-799c9281 data-v-e9e166e4 data-v-74f7b0ff><span class="check" data-v-74f7b0ff><span class="icon" data-v-74f7b0ff><!--[--><span class="vpi-sun sun" data-v-e9e166e4></span><span class="vpi-moon moon" data-v-e9e166e4></span><!--]--></span></span></button></div></div></div><!----><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-6fc2afcb data-v-2caaf84e><span class="container" data-v-2caaf84e><span class="top" data-v-2caaf84e></span><span class="middle" data-v-2caaf84e></span><span class="bottom" data-v-2caaf84e></span></span></button></div></div></div></div><div class="divider" data-v-6fc2afcb><div class="divider-line" data-v-6fc2afcb></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-738a160a data-v-e0cbfd80><div class="container" data-v-e0cbfd80><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-e0cbfd80><span class="vpi-align-left menu-icon" data-v-e0cbfd80></span><span class="menu-text" data-v-e0cbfd80>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-e0cbfd80 data-v-36e0b8e9><button data-v-36e0b8e9>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-738a160a data-v-2859715e><div class="curtain" data-v-2859715e></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-2859715e><span class="visually-hidden" id="sidebar-aria-label" data-v-2859715e> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-8ed949fd><section class="VPSidebarItem level-0" data-v-8ed949fd data-v-84325fb7><div class="item" role="button" tabindex="0" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><h2 class="text" data-v-84325fb7>Getting started</h2><!----></div><div class="items" data-v-84325fb7><!--[--><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/changelog.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Changelog</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/quickstart.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Building your first agent</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-8ed949fd><section class="VPSidebarItem level-0 collapsible" data-v-8ed949fd data-v-84325fb7><div class="item" role="button" tabindex="0" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><h2 class="text" data-v-84325fb7>Integrations</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-84325fb7><span class="vpi-chevron-right caret-icon" data-v-84325fb7></span></div></div><div class="items" data-v-84325fb7><!--[--><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/github.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>GitHub</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/slack.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Slack</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/webhooks.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Webhooks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/convert-automation.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Cursor Automations</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/opentelemetry.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>OpenTelemetry</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/gitlab.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>GitLab</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/bitbucket.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Bitbucket</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/pagerduty.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>PagerDuty</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-8ed949fd><section class="VPSidebarItem level-0 collapsible" data-v-8ed949fd data-v-84325fb7><div class="item" role="button" tabindex="0" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><h2 class="text" data-v-84325fb7>Extensions</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-84325fb7><span class="vpi-chevron-right caret-icon" data-v-84325fb7></span></div></div><div class="items" data-v-84325fb7><!--[--><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/extensions.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/cloud-agents.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Cloud agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/grokbot-agents.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Grok Bot agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/improve.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Self-improvement</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/jev.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Jev</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-8ed949fd><section class="VPSidebarItem level-0 collapsible" data-v-8ed949fd data-v-84325fb7><div class="item" role="button" tabindex="0" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><h2 class="text" data-v-84325fb7>Guides</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-84325fb7><span class="vpi-chevron-right caret-icon" data-v-84325fb7></span></div></div><div class="items" data-v-84325fb7><!--[--><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/mcp-oauth.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>MCP</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/hooks.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Hooks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/agent-to-agent.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Peer agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/deployment.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Deployment</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/export-grokbot.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Export a Grok Bot</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/guides/migrate.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Early-alpha migration</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/evals.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Evals</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/hillclimbing.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Hillclimbing</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/building-with-agents.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Build with a coding agent</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/troubleshooting.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Troubleshooting</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-8ed949fd><section class="VPSidebarItem level-0 collapsible" data-v-8ed949fd data-v-84325fb7><div class="item" role="button" tabindex="0" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><h2 class="text" data-v-84325fb7>Templates</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-84325fb7><span class="vpi-chevron-right caret-icon" data-v-84325fb7></span></div></div><div class="items" data-v-84325fb7><!--[--><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/templates/grokbot-agents.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Grok Bot agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/templates/security-reviewer.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Security reviewer</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/templates/thermo-review.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Thermo review</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/templates/thermo-quality-review.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Thermo quality review</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/templates/agentic-owners.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Agentic Approver</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/templates/triage.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Triage agent</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-8ed949fd><section class="VPSidebarItem level-0 collapsible has-active" data-v-8ed949fd data-v-84325fb7><div class="item" role="button" tabindex="0" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><h2 class="text" data-v-84325fb7>Reference</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-84325fb7><span class="vpi-chevron-right caret-icon" data-v-84325fb7></span></div></div><div class="items" data-v-84325fb7><!--[--><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/project-layout.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Project layout</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/agent-config.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Agent config</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/instructions.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Instructions</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/tools.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Tools</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/prompt.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>prompt</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/skills.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Skills</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/connections.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>MCP Connections</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/subagents.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Subagents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/channels.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Channels</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/schedules.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Schedules & reminders</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/hooks.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Hooks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/memory.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Memory</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/evals.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Evals</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/artifacts.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Artifacts</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/sessions.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Sessions & streaming</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/playground.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>Playground</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/cli.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>CLI</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-84325fb7><div class="item" data-v-84325fb7><div class="indicator" data-v-84325fb7></div><a class="VPLink link link" href="/docs/reference/http-api.html" data-v-84325fb7><!--[--><p class="text" data-v-84325fb7>HTTP API</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-738a160a data-v-9f462cdf><div class="VPDoc has-sidebar has-aside" data-v-9f462cdf data-v-995f90b4><!--[--><!--]--><div class="container" data-v-995f90b4><div class="aside" data-v-995f90b4><div class="aside-curtain" data-v-995f90b4></div><div class="aside-container" data-v-995f90b4><div class="aside-content" data-v-995f90b4><div class="VPDocAside" data-v-995f90b4 data-v-10889960><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-10889960 data-v-afb61a88><div class="content" data-v-afb61a88><div class="outline-marker" data-v-afb61a88></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-afb61a88>On this page</div><ul class="VPDocOutlineItem root" data-v-afb61a88 data-v-0587367d><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-10889960></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-995f90b4><div class="content-container" data-v-995f90b4><!--[--><!--]--><main class="main" data-v-995f90b4><div style="position:relative;" class="vp-doc _docs_reference_agent-config" data-v-995f90b4><div><h1 id="agent-config" tabindex="-1">Agent config <a class="header-anchor" href="#agent-config" aria-label="Permalink to &quot;Agent config&quot;">​</a></h1><p><code>bot/agent.ts</code> default-exports <code>defineAgent(config)</code>: which model runs the agent and its local harness defaults. Everything is optional on the root agent.</p><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { defineAgent } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;@cursor/bdk&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
57
57
  <span class="line"></span>
58
58
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> default</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> defineAgent</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
59
59
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> model: {</span></span>
@@ -63,7 +63,7 @@
63
63
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { id: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;fast&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, value: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;true&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
64
64
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ],</span></span>
65
65
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }, </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// optional; this is the default</span></span>
66
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span></code></pre></div><h2 id="agent-fields" tabindex="-1">Agent fields <a class="header-anchor" href="#agent-fields" aria-label="Permalink to &quot;Agent fields&quot;">​</a></h2><table tabindex="0"><thead><tr><th>Field</th><th>Type</th><th>Meaning</th></tr></thead><tbody><tr><td><code>model</code></td><td>string or <code>{ id, params }</code></td><td>Cursor model for turns. Defaults to <code>grok-4.5</code> with <code>effort=high</code>, <code>fast=true</code> on the root agent. Subagents omit it to inherit.</td></tr><tr><td><code>name</code></td><td>string</td><td>Display name override. Defaults to the package name or directory name.</td></tr><tr><td><code>description</code></td><td>string</td><td>What the agent is for. Required on subagents; the parent model reads it to decide when to delegate. Documentation-only on the root.</td></tr><tr><td><code>instructions</code></td><td>string</td><td>Inline instructions. Prefer <code>instructions.md</code>; this exists for subagents and generated configs.</td></tr><tr><td><code>local</code></td><td><code>{ cwd?, workspaceDir?, sandbox? }</code></td><td>Local harness defaults. See <a href="#local-options">Local options</a>.</td></tr><tr><td><code>persistent</code></td><td>boolean</td><td>Keep one long-lived runtime for the hosted deployment. Defaults to <code>false</code>. See <a href="#persistent-hosting">Persistent hosting</a>.</td></tr><tr><td><code>hosting</code></td><td><code>{ egressDomains?, secretNames?, image? }</code></td><td>Managed-hosting declarations read by <code>bdk deploy</code>: the deployment&#39;s egress allowlist, the secret names the agent expects, and a container image for a <a href="#persistent-hosting">persistent agent</a>. Mounted <a href="./extensions.html#build-an-extension">extensions</a> add their own. Ignored by local serving.</td></tr><tr><td><code>concurrency</code></td><td><code>{ maxRunningTurns? }</code></td><td>Agent-wide concurrent turn limit. See <a href="#concurrency">Concurrency</a>.</td></tr><tr><td><code>builtinTools</code></td><td><code>{ reminders? }</code></td><td>Framework-provided model-facing tools, opted in per capability. See <a href="#built-in-tools">Built-in tools</a>.</td></tr><tr><td><code>tools</code></td><td><code>ToolName[]</code></td><td>Allowlist of built-in harness tools offered to the model. Unset = the model&#39;s full standard toolset. See <a href="#harness-tools">Harness tools</a>.</td></tr></tbody></table><h2 id="model" tabindex="-1">Model <a class="header-anchor" href="#model" aria-label="Permalink to &quot;Model&quot;">​</a></h2><p><code>model</code> is a Cursor model id string, or <code>{ id, params }</code>. Effort and speed are params, not id suffixes. BDK rejects suffix-style ids like <code>grok-4.5-fast</code>:</p><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">model</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
66
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span></code></pre></div><h2 id="agent-fields" tabindex="-1">Agent fields <a class="header-anchor" href="#agent-fields" aria-label="Permalink to &quot;Agent fields&quot;">​</a></h2><table tabindex="0"><thead><tr><th>Field</th><th>Type</th><th>Meaning</th></tr></thead><tbody><tr><td><code>model</code></td><td>string or <code>{ id, params }</code></td><td>Cursor model for turns. Defaults to <code>grok-4.5</code> with <code>effort=high</code>, <code>fast=true</code> on the root agent. Subagents omit it to inherit.</td></tr><tr><td><code>name</code></td><td>string</td><td>Display name override. Defaults to the package name or directory name.</td></tr><tr><td><code>description</code></td><td>string</td><td>What the agent is for. Required on subagents; the parent model reads it to decide when to delegate. Documentation-only on the root.</td></tr><tr><td><code>instructions</code></td><td>string</td><td>Inline instructions. Prefer <code>instructions.md</code>; this exists for subagents and generated configs.</td></tr><tr><td><code>local</code></td><td><code>{ cwd?, workspaceDir?, sandbox? }</code></td><td>Local harness defaults. See <a href="#local-options">Local options</a>.</td></tr><tr><td><code>persistent</code></td><td>boolean</td><td>Keep one long-lived runtime for the hosted deployment. Defaults to <code>false</code>. See <a href="#persistent-hosting">Persistent hosting</a>.</td></tr><tr><td><code>hosting</code></td><td><code>{ egressDomains?, secretNames?, image? }</code></td><td>Managed-hosting declarations read by <code>bdk deploy</code>: the deployment&#39;s egress allowlist, the secret names the agent expects, and a container image for a <a href="#persistent-hosting">persistent agent</a>. Mounted <a href="./extensions.html#build-an-extension">extensions</a> add their own. Ignored by local serving.</td></tr><tr><td><code>concurrency</code></td><td><code>{ maxRunningTurns? }</code></td><td>Agent-wide concurrent turn limit. See <a href="#concurrency">Concurrency</a>.</td></tr><tr><td><code>builtinTools</code></td><td><code>{ reminders? }</code></td><td>Framework-provided model-facing tools, opted in per capability. See <a href="#built-in-tools">Built-in tools</a>.</td></tr><tr><td><code>tools</code></td><td><code>ToolName[]</code></td><td>Allowlist of built-in harness tools offered to the model. Unset = the model&#39;s full standard toolset. See <a href="#harness-tools">Harness tools</a>.</td></tr><tr><td><code>fs</code></td><td><code>FileSystem</code> or <code>(ctx) =&gt; FileSystem</code></td><td>Custom file tree for the session. <code>root</code> is the deprecated name. See <a href="#custom-filesystem">Custom filesystem</a>.</td></tr><tr><td><code>skills</code></td><td><code>false</code> or <code>(ctx) =&gt; FileSystem</code></td><td>Replaces the skills tree mounted at <code>/agent/skills</code>, or turns that mount off.</td></tr></tbody></table><h2 id="model" tabindex="-1">Model <a class="header-anchor" href="#model" aria-label="Permalink to &quot;Model&quot;">​</a></h2><p><code>model</code> is a Cursor model id string, or <code>{ id, params }</code>. Effort and speed are params, not id suffixes. BDK rejects suffix-style ids like <code>grok-4.5-fast</code>:</p><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">model</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
67
67
  <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> id</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;grok-4.5&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
68
68
  <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> params</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: [</span></span>
69
69
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { id: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;effort&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, value: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;high&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
@@ -72,7 +72,7 @@
72
72
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p>A plain string works when you don&#39;t need params:</p><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">model</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;composer-2.5&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span></code></pre></div><h2 id="local-options" tabindex="-1">Local options <a class="header-anchor" href="#local-options" aria-label="Permalink to &quot;Local options&quot;">​</a></h2><p><code>local</code> sets local-harness defaults.</p><p><code>local.workspaceDir</code> points every session at one shared harness cwd, for agents that work inside an existing checkout. It takes precedence over <code>cwd</code>, and a per-send <code>workspaceDir</code> still wins over both. Sessions share a working tree, so a file one turn writes is visible to the next.</p><p><code>local.sandbox</code> runs the harness inside Cursor&#39;s local sandbox. It&#39;s off by default: shell then auto-approves and inherits the serve process environment, including any credentials the host holds. Turn it on for agents whose turns read untrusted input (webhook payloads, PR diffs, inbound chat); it&#39;s a tool boundary, not a prompt-level one.</p><h3 id="local-cwd" tabindex="-1">Local cwd <a class="header-anchor" href="#local-cwd" aria-label="Permalink to &quot;Local cwd&quot;">​</a></h3><p><code>local.cwd</code> sets the parent directory for local harness workspaces. Each session uses <code>&lt;cwd&gt;/&lt;sessionId&gt;</code> unless a per-send <code>workspaceDir</code> overrides it.</p><p>Session workspaces are real Cursor project directories. The harness loads <code>AGENTS.md</code> and <code>.cursor</code> config from ancestor directories. An agent nested in another git repo (a monorepo package) defaults to a per-project cache directory under <code>~/.cache</code> when you omit <code>cwd</code>, so the enclosing checkout does not leak rules, skills, or MCP servers into the turn. A standalone git root keeps the in-project session workspace. Point <code>cwd</code> at a checkout only when the agent should inherit that tree.</p><h2 id="persistent-hosting" tabindex="-1">Persistent hosting <a class="header-anchor" href="#persistent-hosting" aria-label="Permalink to &quot;Persistent hosting&quot;">​</a></h2><p>By default, a hosted deployment starts a runtime when an event arrives and stops it when the work ends. Set <code>persistent: true</code> to keep one long-lived runtime for the deployment instead, with its state directory on the runtime&#39;s own disk. On a redeploy, the new version starts beside the old one on the same state, and the old version stops after the new one takes over. Each team can have one persistent deployment. Local serving ignores the flag.</p><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> default</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> defineAgent</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
73
73
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> persistent: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
74
74
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> hosting: { image: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;incident-bot-base&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
75
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span></code></pre></div><p><code>hosting.image</code> names a container image that your team pushed with <code>bdk images push</code>. The agent runs inside that image instead of the default Node 22 image. Only persistent agents can use it, and <code>deploy</code> rejects <code>hosting.image</code> on any other agent. A deploy pins the image it finds, so after you push a new image under the same name, deploy again to pick it up.</p><h2 id="harness-tools" tabindex="-1">Harness tools <a class="header-anchor" href="#harness-tools" aria-label="Permalink to &quot;Harness tools&quot;">​</a></h2><p>Use <code>tools</code> to limit which built-in Cursor harness tools the model can call. Omit it to keep the standard toolset. When you set it, the model gets only the tools you list. An empty list disables all native built-in tools. New platform tools stay disabled until you add them.</p><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> default</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> defineAgent</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
75
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span></code></pre></div><p><code>hosting.image</code> names a container image that your team pushed with <code>bdk images push</code>. The agent runs inside that image instead of the default Node 22 image. Only persistent agents can use it, and <code>deploy</code> rejects <code>hosting.image</code> on any other agent. A deploy pins the image it finds, so after you push a new image under the same name, deploy again to pick it up.</p><h2 id="custom-filesystem" tabindex="-1">Custom filesystem <a class="header-anchor" href="#custom-filesystem" aria-label="Permalink to &quot;Custom filesystem&quot;">​</a></h2><p><code>fs</code> is mounted at <code>/</code>. BDK mounts <code>/tmp</code> and <code>/agent/skills</code> over it.</p><p><code>root</code> is the deprecated name of <code>fs</code>. Set one of them. A tree that already has <code>/agent/skills</code> fails session start unless <code>skills</code> is <code>false</code>.</p><h2 id="harness-tools" tabindex="-1">Harness tools <a class="header-anchor" href="#harness-tools" aria-label="Permalink to &quot;Harness tools&quot;">​</a></h2><p>Use <code>tools</code> to limit which built-in Cursor harness tools the model can call. Omit it to keep the standard toolset. When you set it, the model gets only the tools you list. An empty list disables all native built-in tools. New platform tools stay disabled until you add them.</p><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> default</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> defineAgent</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
76
76
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> model: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;composer-2.5&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
77
77
  <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // Read-only triage agent: search and read only.</span></span>
78
78
  <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // No shell, no edits, no subagents.</span></span>
@@ -91,7 +91,7 @@
91
91
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> project</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> await</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> loadProject</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;./my-agent&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
92
92
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(project.info.name);</span></span>
93
93
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(project.info.tools.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">map</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">((</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">tool</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> tool.name));</span></span></code></pre></div><p><code>loadProject</code> throws <code>ProjectLoadError</code> when discovery reports an error. Pass <code>{ strict: true }</code> to throw on a warning as well. <code>error.diagnostics</code> lists the findings. Each <code>path</code> is relative to the project directory. A path outside that directory starts with <code>../</code>. <code>loadProject</code> does not take <code>importModule</code>. <code>serve</code> still accepts <code>discovery.importModule</code> for that override.</p><p><code>info.local</code> is <code>{ cwd }</code> when the project sets a cwd. The serve banner reads <code>agents[].info</code>.</p><p><code>serve</code> accepts that <code>Project</code> or a directory path.</p><h2 id="related" tabindex="-1">Related <a class="header-anchor" href="#related" aria-label="Permalink to &quot;Related&quot;">​</a></h2><ul><li><a href="./instructions.html">Instructions</a>: the required half of a minimal agent</li><li><a href="./cli.html">CLI</a>: the <code>serve</code> flags <code>serve()</code> accepts</li><li><a href="./sessions.html">Sessions</a>: workspaces, identifiers, and turn admission</li><li><a href="./schedules.html">Schedules</a>: reminder tools opted in here</li></ul></div></div></main><footer class="VPDocFooter" data-v-995f90b4 data-v-8edf72db><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-8edf72db><span class="visually-hidden" id="doc-footer-aria-label" data-v-8edf72db>Pager</span><div class="pager" data-v-8edf72db><a class="VPLink link pager-link prev" href="/docs/reference/project-layout.html" data-v-8edf72db><!--[--><span class="desc" data-v-8edf72db>Previous page</span><span class="title" data-v-8edf72db>Project layout</span><!--]--></a></div><div class="pager" data-v-8edf72db><a class="VPLink link pager-link next" href="/docs/reference/instructions.html" data-v-8edf72db><!--[--><span class="desc" data-v-8edf72db>Next page</span><span class="title" data-v-8edf72db>Instructions</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
94
- <script>window.__VP_HASH_MAP__=JSON.parse("{\"building-with-agents.md\":\"FZXrY8Nk\",\"changelog.md\":\"sdD6ctqK\",\"deployment.md\":\"3MMWuPeV\",\"evals.md\":\"CHR34K1Y\",\"guides_agent-to-agent.md\":\"CwL5cwuE\",\"guides_bitbucket.md\":\"CKUayYtD\",\"guides_cloud-agents.md\":\"BzbzcOyj\",\"guides_convert-automation.md\":\"DMEX9nF-\",\"guides_export-grokbot.md\":\"qo5bxi4h\",\"guides_github.md\":\"TuNiZAOQ\",\"guides_gitlab.md\":\"CtNI4fSH\",\"guides_grokbot-agents.md\":\"BwAykJ7U\",\"guides_hooks.md\":\"B2XfGX50\",\"guides_improve.md\":\"CZKVt1cT\",\"guides_jev.md\":\"D7XH4JH3\",\"guides_mcp-oauth.md\":\"Cxq2TxBB\",\"guides_migrate.md\":\"CQlGaBKX\",\"guides_opentelemetry.md\":\"D4wO7_8v\",\"guides_pagerduty.md\":\"BHXMcMtx\",\"guides_slack.md\":\"ClIyi7FI\",\"guides_webhooks.md\":\"Cpdc3BDX\",\"hillclimbing.md\":\"Dxvd-0gT\",\"index.md\":\"CAnsLl8D\",\"quickstart.md\":\"D8JDfkKO\",\"reference_agent-config.md\":\"CGSx8COP\",\"reference_artifacts.md\":\"DLV9MZES\",\"reference_channels.md\":\"CNNIS6K7\",\"reference_cli.md\":\"1o_TqKdt\",\"reference_connections.md\":\"BJE2Zllp\",\"reference_evals.md\":\"Ccwp4x3o\",\"reference_extensions.md\":\"DKxTuCIw\",\"reference_hooks.md\":\"CROr0QgC\",\"reference_http-api.md\":\"Dji-DD_Z\",\"reference_instructions.md\":\"BYMVxAkw\",\"reference_memory.md\":\"BwyJXYZe\",\"reference_playground.md\":\"q4MI-0td\",\"reference_project-layout.md\":\"mFcS8yDD\",\"reference_prompt.md\":\"DqPh71XN\",\"reference_schedules.md\":\"BqWnJES4\",\"reference_sessions.md\":\"Bi6lHttM\",\"reference_skills.md\":\"Ckddg6KX\",\"reference_subagents.md\":\"ChNGh6HK\",\"reference_tools.md\":\"Bo0UfT0a\",\"templates_agentic-owners.md\":\"CTEnR0jp\",\"templates_grokbot-agents.md\":\"DgpPEs7B\",\"templates_security-reviewer.md\":\"Gh6EF9Us\",\"templates_thermo-quality-review.md\":\"B77UyTrX\",\"templates_thermo-review.md\":\"DRJ7mC5U\",\"templates_triage.md\":\"CNN6b0JZ\",\"troubleshooting.md\":\"DFnoTDlQ\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Bot Development Kit (BDK)\",\"description\":\"Build and serve bots and agents from versioned Markdown and TypeScript.\",\"base\":\"/docs/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"sdkVersion\":\"0.2.26\",\"nav\":[{\"text\":\"Quickstart\",\"link\":\"/quickstart\"},{\"text\":\"Guides\",\"link\":\"/guides/mcp-oauth\"},{\"text\":\"Integrations\",\"link\":\"/guides/github\"},{\"text\":\"Templates\",\"link\":\"/templates/security-reviewer\"},{\"text\":\"Reference\",\"link\":\"/reference/project-layout\"}],\"search\":{\"provider\":\"local\"},\"outline\":{\"level\":[2,3]},\"sidebar\":[{\"text\":\"Getting started\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"Changelog\",\"link\":\"/changelog\"},{\"text\":\"Building your first agent\",\"link\":\"/quickstart\"}]},{\"text\":\"Integrations\",\"collapsed\":false,\"items\":[{\"text\":\"GitHub\",\"link\":\"/guides/github\"},{\"text\":\"Slack\",\"link\":\"/guides/slack\"},{\"text\":\"Webhooks\",\"link\":\"/guides/webhooks\"},{\"text\":\"Cursor Automations\",\"link\":\"/guides/convert-automation\"},{\"text\":\"OpenTelemetry\",\"link\":\"/guides/opentelemetry\"},{\"text\":\"GitLab\",\"link\":\"/guides/gitlab\"},{\"text\":\"Bitbucket\",\"link\":\"/guides/bitbucket\"},{\"text\":\"PagerDuty\",\"link\":\"/guides/pagerduty\"}]},{\"text\":\"Extensions\",\"collapsed\":false,\"items\":[{\"text\":\"Overview\",\"link\":\"/reference/extensions\"},{\"text\":\"Cloud agents\",\"link\":\"/guides/cloud-agents\"},{\"text\":\"Grok Bot agents\",\"link\":\"/guides/grokbot-agents\"},{\"text\":\"Self-improvement\",\"link\":\"/guides/improve\"},{\"text\":\"Jev\",\"link\":\"/guides/jev\"}]},{\"text\":\"Guides\",\"collapsed\":false,\"items\":[{\"text\":\"MCP\",\"link\":\"/guides/mcp-oauth\"},{\"text\":\"Hooks\",\"link\":\"/guides/hooks\"},{\"text\":\"Peer agents\",\"link\":\"/guides/agent-to-agent\"},{\"text\":\"Deployment\",\"link\":\"/deployment\"},{\"text\":\"Export a Grok Bot\",\"link\":\"/guides/export-grokbot\"},{\"text\":\"Early-alpha migration\",\"link\":\"/guides/migrate\"},{\"text\":\"Evals\",\"link\":\"/evals\"},{\"text\":\"Hillclimbing\",\"link\":\"/hillclimbing\"},{\"text\":\"Build with a coding agent\",\"link\":\"/building-with-agents\"},{\"text\":\"Troubleshooting\",\"link\":\"/troubleshooting\"}]},{\"text\":\"Templates\",\"collapsed\":false,\"items\":[{\"text\":\"Grok Bot agents\",\"link\":\"/templates/grokbot-agents\"},{\"text\":\"Security reviewer\",\"link\":\"/templates/security-reviewer\"},{\"text\":\"Thermo review\",\"link\":\"/templates/thermo-review\"},{\"text\":\"Thermo quality review\",\"link\":\"/templates/thermo-quality-review\"},{\"text\":\"Agentic Approver\",\"link\":\"/templates/agentic-owners\"},{\"text\":\"Triage agent\",\"link\":\"/templates/triage\"}]},{\"text\":\"Reference\",\"collapsed\":false,\"items\":[{\"text\":\"Project layout\",\"link\":\"/reference/project-layout\"},{\"text\":\"Agent config\",\"link\":\"/reference/agent-config\"},{\"text\":\"Instructions\",\"link\":\"/reference/instructions\"},{\"text\":\"Tools\",\"link\":\"/reference/tools\"},{\"text\":\"prompt\",\"link\":\"/reference/prompt\"},{\"text\":\"Skills\",\"link\":\"/reference/skills\"},{\"text\":\"MCP Connections\",\"link\":\"/reference/connections\"},{\"text\":\"Subagents\",\"link\":\"/reference/subagents\"},{\"text\":\"Channels\",\"link\":\"/reference/channels\"},{\"text\":\"Schedules & reminders\",\"link\":\"/reference/schedules\"},{\"text\":\"Hooks\",\"link\":\"/reference/hooks\"},{\"text\":\"Memory\",\"link\":\"/reference/memory\"},{\"text\":\"Evals\",\"link\":\"/reference/evals\"},{\"text\":\"Artifacts\",\"link\":\"/reference/artifacts\"},{\"text\":\"Sessions & streaming\",\"link\":\"/reference/sessions\"},{\"text\":\"Playground\",\"link\":\"/reference/playground\"},{\"text\":\"CLI\",\"link\":\"/reference/cli\"},{\"text\":\"HTTP API\",\"link\":\"/reference/http-api\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
94
+ <script>window.__VP_HASH_MAP__=JSON.parse("{\"building-with-agents.md\":\"FZXrY8Nk\",\"changelog.md\":\"BvHRIiMH\",\"deployment.md\":\"3MMWuPeV\",\"evals.md\":\"CHR34K1Y\",\"guides_agent-to-agent.md\":\"CwL5cwuE\",\"guides_bitbucket.md\":\"CKUayYtD\",\"guides_cloud-agents.md\":\"BzbzcOyj\",\"guides_convert-automation.md\":\"DMEX9nF-\",\"guides_export-grokbot.md\":\"qo5bxi4h\",\"guides_github.md\":\"TuNiZAOQ\",\"guides_gitlab.md\":\"CtNI4fSH\",\"guides_grokbot-agents.md\":\"BwAykJ7U\",\"guides_hooks.md\":\"B2XfGX50\",\"guides_improve.md\":\"CZKVt1cT\",\"guides_jev.md\":\"D7XH4JH3\",\"guides_mcp-oauth.md\":\"Cxq2TxBB\",\"guides_migrate.md\":\"CQlGaBKX\",\"guides_opentelemetry.md\":\"D4wO7_8v\",\"guides_pagerduty.md\":\"BHXMcMtx\",\"guides_slack.md\":\"ClIyi7FI\",\"guides_webhooks.md\":\"Cpdc3BDX\",\"hillclimbing.md\":\"Dxvd-0gT\",\"index.md\":\"CAnsLl8D\",\"quickstart.md\":\"D8JDfkKO\",\"reference_agent-config.md\":\"CZrbHOfT\",\"reference_artifacts.md\":\"DLV9MZES\",\"reference_channels.md\":\"CNNIS6K7\",\"reference_cli.md\":\"1o_TqKdt\",\"reference_connections.md\":\"BJE2Zllp\",\"reference_evals.md\":\"Ccwp4x3o\",\"reference_extensions.md\":\"DKxTuCIw\",\"reference_hooks.md\":\"CROr0QgC\",\"reference_http-api.md\":\"Dji-DD_Z\",\"reference_instructions.md\":\"BYMVxAkw\",\"reference_memory.md\":\"BwyJXYZe\",\"reference_playground.md\":\"q4MI-0td\",\"reference_project-layout.md\":\"mFcS8yDD\",\"reference_prompt.md\":\"DqPh71XN\",\"reference_schedules.md\":\"BqWnJES4\",\"reference_sessions.md\":\"Bi6lHttM\",\"reference_skills.md\":\"Ckddg6KX\",\"reference_subagents.md\":\"ChNGh6HK\",\"reference_tools.md\":\"Bo0UfT0a\",\"templates_agentic-owners.md\":\"CTEnR0jp\",\"templates_grokbot-agents.md\":\"DgpPEs7B\",\"templates_security-reviewer.md\":\"Gh6EF9Us\",\"templates_thermo-quality-review.md\":\"B77UyTrX\",\"templates_thermo-review.md\":\"DRJ7mC5U\",\"templates_triage.md\":\"CNN6b0JZ\",\"troubleshooting.md\":\"DFnoTDlQ\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Bot Development Kit (BDK)\",\"description\":\"Build and serve bots and agents from versioned Markdown and TypeScript.\",\"base\":\"/docs/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"sdkVersion\":\"0.2.27\",\"nav\":[{\"text\":\"Quickstart\",\"link\":\"/quickstart\"},{\"text\":\"Guides\",\"link\":\"/guides/mcp-oauth\"},{\"text\":\"Integrations\",\"link\":\"/guides/github\"},{\"text\":\"Templates\",\"link\":\"/templates/security-reviewer\"},{\"text\":\"Reference\",\"link\":\"/reference/project-layout\"}],\"search\":{\"provider\":\"local\"},\"outline\":{\"level\":[2,3]},\"sidebar\":[{\"text\":\"Getting started\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"Changelog\",\"link\":\"/changelog\"},{\"text\":\"Building your first agent\",\"link\":\"/quickstart\"}]},{\"text\":\"Integrations\",\"collapsed\":false,\"items\":[{\"text\":\"GitHub\",\"link\":\"/guides/github\"},{\"text\":\"Slack\",\"link\":\"/guides/slack\"},{\"text\":\"Webhooks\",\"link\":\"/guides/webhooks\"},{\"text\":\"Cursor Automations\",\"link\":\"/guides/convert-automation\"},{\"text\":\"OpenTelemetry\",\"link\":\"/guides/opentelemetry\"},{\"text\":\"GitLab\",\"link\":\"/guides/gitlab\"},{\"text\":\"Bitbucket\",\"link\":\"/guides/bitbucket\"},{\"text\":\"PagerDuty\",\"link\":\"/guides/pagerduty\"}]},{\"text\":\"Extensions\",\"collapsed\":false,\"items\":[{\"text\":\"Overview\",\"link\":\"/reference/extensions\"},{\"text\":\"Cloud agents\",\"link\":\"/guides/cloud-agents\"},{\"text\":\"Grok Bot agents\",\"link\":\"/guides/grokbot-agents\"},{\"text\":\"Self-improvement\",\"link\":\"/guides/improve\"},{\"text\":\"Jev\",\"link\":\"/guides/jev\"}]},{\"text\":\"Guides\",\"collapsed\":false,\"items\":[{\"text\":\"MCP\",\"link\":\"/guides/mcp-oauth\"},{\"text\":\"Hooks\",\"link\":\"/guides/hooks\"},{\"text\":\"Peer agents\",\"link\":\"/guides/agent-to-agent\"},{\"text\":\"Deployment\",\"link\":\"/deployment\"},{\"text\":\"Export a Grok Bot\",\"link\":\"/guides/export-grokbot\"},{\"text\":\"Early-alpha migration\",\"link\":\"/guides/migrate\"},{\"text\":\"Evals\",\"link\":\"/evals\"},{\"text\":\"Hillclimbing\",\"link\":\"/hillclimbing\"},{\"text\":\"Build with a coding agent\",\"link\":\"/building-with-agents\"},{\"text\":\"Troubleshooting\",\"link\":\"/troubleshooting\"}]},{\"text\":\"Templates\",\"collapsed\":false,\"items\":[{\"text\":\"Grok Bot agents\",\"link\":\"/templates/grokbot-agents\"},{\"text\":\"Security reviewer\",\"link\":\"/templates/security-reviewer\"},{\"text\":\"Thermo review\",\"link\":\"/templates/thermo-review\"},{\"text\":\"Thermo quality review\",\"link\":\"/templates/thermo-quality-review\"},{\"text\":\"Agentic Approver\",\"link\":\"/templates/agentic-owners\"},{\"text\":\"Triage agent\",\"link\":\"/templates/triage\"}]},{\"text\":\"Reference\",\"collapsed\":false,\"items\":[{\"text\":\"Project layout\",\"link\":\"/reference/project-layout\"},{\"text\":\"Agent config\",\"link\":\"/reference/agent-config\"},{\"text\":\"Instructions\",\"link\":\"/reference/instructions\"},{\"text\":\"Tools\",\"link\":\"/reference/tools\"},{\"text\":\"prompt\",\"link\":\"/reference/prompt\"},{\"text\":\"Skills\",\"link\":\"/reference/skills\"},{\"text\":\"MCP Connections\",\"link\":\"/reference/connections\"},{\"text\":\"Subagents\",\"link\":\"/reference/subagents\"},{\"text\":\"Channels\",\"link\":\"/reference/channels\"},{\"text\":\"Schedules & reminders\",\"link\":\"/reference/schedules\"},{\"text\":\"Hooks\",\"link\":\"/reference/hooks\"},{\"text\":\"Memory\",\"link\":\"/reference/memory\"},{\"text\":\"Evals\",\"link\":\"/reference/evals\"},{\"text\":\"Artifacts\",\"link\":\"/reference/artifacts\"},{\"text\":\"Sessions & streaming\",\"link\":\"/reference/sessions\"},{\"text\":\"Playground\",\"link\":\"/reference/playground\"},{\"text\":\"CLI\",\"link\":\"/reference/cli\"},{\"text\":\"HTTP API\",\"link\":\"/reference/http-api\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
95
95
 
96
96
  </body>
97
97
  </html>
@@ -32,6 +32,8 @@ export default defineAgent({
32
32
  | `concurrency` | `{ maxRunningTurns? }` | Agent-wide concurrent turn limit. See [Concurrency](#concurrency). |
33
33
  | `builtinTools` | `{ reminders? }` | Framework-provided model-facing tools, opted in per capability. See [Built-in tools](#built-in-tools). |
34
34
  | `tools` | `ToolName[]` | Allowlist of built-in harness tools offered to the model. Unset = the model's full standard toolset. See [Harness tools](#harness-tools). |
35
+ | `fs` | `FileSystem` or `(ctx) => FileSystem` | Custom file tree for the session. `root` is the deprecated name. See [Custom filesystem](#custom-filesystem). |
36
+ | `skills` | `false` or `(ctx) => FileSystem` | Replaces the skills tree mounted at `/agent/skills`, or turns that mount off. |
35
37
 
36
38
  ## Model
37
39
 
@@ -109,6 +111,13 @@ rejects `hosting.image` on any other agent. A deploy pins the image it
109
111
  finds, so after you push a new image under the same name, deploy again
110
112
  to pick it up.
111
113
 
114
+ ## Custom filesystem
115
+
116
+ `fs` is mounted at `/`. BDK mounts `/tmp` and `/agent/skills` over it.
117
+
118
+ `root` is the deprecated name of `fs`. Set one of them. A tree that already
119
+ has `/agent/skills` fails session start unless `skills` is `false`.
120
+
112
121
  ## Harness tools
113
122
 
114
123
  Use `tools` to limit which built-in Cursor harness tools the model can