@cursor/july 0.1.104 → 0.1.107

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 (286) hide show
  1. package/dist/bin/agent-serve.js +1 -8
  2. package/dist/channels/bitbucket/types.d.ts +2 -4
  3. package/dist/channels/bitbucket/types.d.ts.map +1 -1
  4. package/dist/channels/deployments/deployments-channel.d.ts.map +1 -1
  5. package/dist/channels/deployments/deployments-channel.js +1 -0
  6. package/dist/channels/deployments/types.d.ts +7 -8
  7. package/dist/channels/deployments/types.d.ts.map +1 -1
  8. package/dist/channels/github/types.d.ts +2 -4
  9. package/dist/channels/github/types.d.ts.map +1 -1
  10. package/dist/channels/gitlab/types.d.ts +2 -5
  11. package/dist/channels/gitlab/types.d.ts.map +1 -1
  12. package/dist/channels/origin/types.d.ts +2 -3
  13. package/dist/channels/origin/types.d.ts.map +1 -1
  14. package/dist/channels/slack/defaults.d.ts.map +1 -1
  15. package/dist/channels/slack/defaults.js +3 -0
  16. package/dist/channels/slack/dispatch.d.ts.map +1 -1
  17. package/dist/channels/slack/dispatch.js +1 -1
  18. package/dist/channels/slack/live-delivery.d.ts.map +1 -1
  19. package/dist/channels/slack/live-delivery.js +48 -11
  20. package/dist/channels/slack/types.d.ts +4 -3
  21. package/dist/channels/slack/types.d.ts.map +1 -1
  22. package/dist/docs/404.html +3 -3
  23. package/dist/docs/ab.html +6 -6
  24. package/dist/docs/assets/{app.DbMWUyGb.js → app.CtuckIiL.js} +1 -1
  25. package/dist/docs/assets/chunks/@localSearchIndexroot.DXXZxiMv.js +1 -0
  26. package/dist/docs/assets/chunks/{VPLocalSearchBox.DcNeTh9o.js → VPLocalSearchBox.Bkkhnu8K.js} +2 -2
  27. package/dist/docs/assets/chunks/{theme.DMjhY3gl.js → theme.DhpIe0Pa.js} +2 -2
  28. package/dist/docs/assets/guides_grokbot-agents.md.DVqdhBKb.js +9 -0
  29. package/dist/docs/assets/guides_grokbot-agents.md.DVqdhBKb.lean.js +1 -0
  30. package/dist/docs/assets/{guides_opentelemetry.md.COh9jFVg.js → guides_opentelemetry.md.SCRMskno.js} +3 -3
  31. package/dist/docs/assets/{guides_opentelemetry.md.COh9jFVg.lean.js → guides_opentelemetry.md.SCRMskno.lean.js} +1 -1
  32. package/dist/docs/assets/index.md.BW_6tOgR.js +5 -0
  33. package/dist/docs/assets/index.md.BW_6tOgR.lean.js +1 -0
  34. package/dist/docs/assets/{reference_channels.md.DBGcaB7m.js → reference_channels.md.D-qTqwcq.js} +2 -2
  35. package/dist/docs/assets/{reference_channels.md.DBGcaB7m.lean.js → reference_channels.md.D-qTqwcq.lean.js} +1 -1
  36. package/dist/docs/assets/{reference_cli.md.CJNc_xYK.js → reference_cli.md.Dm67hd2D.js} +3 -2
  37. package/dist/docs/assets/{reference_extensions.md.DykHW3qL.js → reference_extensions.md.CGmMLblt.js} +1 -1
  38. package/dist/docs/assets/{skills_otel.md.CqhobH3B.js → skills_otel.md.B5Ddv1xH.js} +1 -1
  39. package/dist/docs/assets/{style.BRuM8477.css → style.DCD_zyg3.css} +1 -1
  40. package/dist/docs/assets/templates_grokbot-agents.md.c1s6Flp9.js +3 -0
  41. package/dist/docs/assets/templates_grokbot-agents.md.c1s6Flp9.lean.js +1 -0
  42. package/dist/docs/building-with-agents.html +6 -6
  43. package/dist/docs/concepts.html +5 -5
  44. package/dist/docs/deployment.html +6 -6
  45. package/dist/docs/evals.html +6 -6
  46. package/dist/docs/guides/agent-to-agent.html +6 -6
  47. package/dist/docs/guides/cloud-agents.html +6 -6
  48. package/dist/docs/guides/convert-automation.html +6 -6
  49. package/dist/docs/guides/github.html +6 -6
  50. package/dist/docs/guides/grokbot-agents.html +35 -0
  51. package/dist/docs/guides/grokbot-agents.md +88 -0
  52. package/dist/docs/guides/human-in-the-loop.html +6 -6
  53. package/dist/docs/guides/mcp-oauth.html +6 -6
  54. package/dist/docs/guides/opentelemetry.html +8 -8
  55. package/dist/docs/guides/opentelemetry.md +3 -4
  56. package/dist/docs/guides/slack.html +6 -6
  57. package/dist/docs/guides/webhooks.html +6 -6
  58. package/dist/docs/hashmap.json +1 -1
  59. package/dist/docs/hillclimbing.html +6 -6
  60. package/dist/docs/index.html +8 -8
  61. package/dist/docs/index.md +6 -1
  62. package/dist/docs/llms-full.txt +178 -30
  63. package/dist/docs/llms.txt +2 -0
  64. package/dist/docs/quickstart.html +6 -6
  65. package/dist/docs/reference/agent-config.html +6 -6
  66. package/dist/docs/reference/artifacts.html +6 -6
  67. package/dist/docs/reference/channels.html +7 -7
  68. package/dist/docs/reference/channels.md +11 -19
  69. package/dist/docs/reference/cli.html +10 -9
  70. package/dist/docs/reference/cli.md +7 -3
  71. package/dist/docs/reference/connections.html +6 -6
  72. package/dist/docs/reference/extensions.html +7 -7
  73. package/dist/docs/reference/extensions.md +2 -0
  74. package/dist/docs/reference/hooks.html +6 -6
  75. package/dist/docs/reference/http-api.html +6 -6
  76. package/dist/docs/reference/instructions.html +6 -6
  77. package/dist/docs/reference/playground.html +5 -5
  78. package/dist/docs/reference/project-layout.html +6 -6
  79. package/dist/docs/reference/prompt.html +6 -6
  80. package/dist/docs/reference/result.html +6 -6
  81. package/dist/docs/reference/schedules.html +6 -6
  82. package/dist/docs/reference/sessions.html +5 -5
  83. package/dist/docs/reference/skills.html +6 -6
  84. package/dist/docs/reference/subagents.html +6 -6
  85. package/dist/docs/reference/tools.html +6 -6
  86. package/dist/docs/scaffolding-agents.html +5 -5
  87. package/dist/docs/skills/ab.html +6 -6
  88. package/dist/docs/skills/create-agent.html +6 -6
  89. package/dist/docs/skills/debug.html +5 -5
  90. package/dist/docs/skills/evals.html +6 -6
  91. package/dist/docs/skills/framework-map.html +5 -5
  92. package/dist/docs/skills/github.html +6 -6
  93. package/dist/docs/skills/hillclimb.html +6 -6
  94. package/dist/docs/skills/index.html +5 -5
  95. package/dist/docs/skills/mcp-auth.html +6 -6
  96. package/dist/docs/skills/otel.html +8 -8
  97. package/dist/docs/skills/otel.md +3 -3
  98. package/dist/docs/skills/setup-slack.html +6 -6
  99. package/dist/docs/storage.html +6 -6
  100. package/dist/docs/templates/agentic-owners.html +6 -6
  101. package/dist/docs/templates/agents-md.html +6 -6
  102. package/dist/docs/templates/code-wiki.html +6 -6
  103. package/dist/docs/templates/demo.html +6 -6
  104. package/dist/docs/templates/grokbot-agents.html +29 -0
  105. package/dist/docs/templates/grokbot-agents.md +48 -0
  106. package/dist/docs/templates/pr-autofixer.html +6 -6
  107. package/dist/docs/templates/security-help.html +6 -6
  108. package/dist/docs/templates/security-reviewer.html +6 -6
  109. package/dist/docs/templates/triage.html +6 -6
  110. package/dist/docs/troubleshooting.html +5 -5
  111. package/dist/files.d.ts +7 -2
  112. package/dist/files.d.ts.map +1 -1
  113. package/dist/files.js +7 -2
  114. package/dist/index.d.ts +4 -5
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.js +3 -4
  117. package/dist/internal/cli-deploy.d.ts.map +1 -1
  118. package/dist/internal/cli-deploy.js +23 -11
  119. package/dist/internal/cursor/backend-client.d.ts +25 -0
  120. package/dist/internal/cursor/backend-client.d.ts.map +1 -1
  121. package/dist/internal/cursor/backend-client.js +57 -2
  122. package/dist/internal/cursor-agent-template.d.ts +1 -1
  123. package/dist/internal/cursor-agent-template.d.ts.map +1 -1
  124. package/dist/internal/cursor-agent-template.js +1 -0
  125. package/dist/internal/deploy-client.d.ts +8 -0
  126. package/dist/internal/deploy-client.d.ts.map +1 -1
  127. package/dist/internal/deploy-client.js +14 -0
  128. package/dist/internal/deploy-manifest.d.ts +3 -0
  129. package/dist/internal/deploy-manifest.d.ts.map +1 -1
  130. package/dist/internal/deploy-manifest.js +15 -12
  131. package/dist/internal/discovery/agent.d.ts.map +1 -1
  132. package/dist/internal/discovery/agent.js +1 -0
  133. package/dist/internal/discovery/info.d.ts.map +1 -1
  134. package/dist/internal/discovery/info.js +7 -3
  135. package/dist/internal/discovery/modules.d.ts +1 -1
  136. package/dist/internal/discovery/modules.d.ts.map +1 -1
  137. package/dist/internal/discovery/modules.js +1 -0
  138. package/dist/internal/discovery/project.d.ts.map +1 -1
  139. package/dist/internal/discovery/project.js +3 -0
  140. package/dist/internal/discovery/reminders.d.ts +7 -0
  141. package/dist/internal/discovery/reminders.d.ts.map +1 -0
  142. package/dist/internal/discovery/reminders.js +65 -0
  143. package/dist/internal/discovery/subagent.js +1 -0
  144. package/dist/internal/distribution.d.ts +5 -0
  145. package/dist/internal/distribution.d.ts.map +1 -1
  146. package/dist/internal/distribution.js +17 -0
  147. package/dist/internal/framework-file-storage.d.ts +3 -1
  148. package/dist/internal/framework-file-storage.d.ts.map +1 -1
  149. package/dist/internal/framework-file-storage.js +3 -1
  150. package/dist/internal/framework-storage-selection.d.ts +14 -3
  151. package/dist/internal/framework-storage-selection.d.ts.map +1 -1
  152. package/dist/internal/framework-storage-selection.js +36 -6
  153. package/dist/internal/guest-network.d.ts.map +1 -1
  154. package/dist/internal/guest-network.js +2 -0
  155. package/dist/internal/hosted-delivery-protocol.d.ts +48 -0
  156. package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
  157. package/dist/internal/hosted-delivery-protocol.js +60 -0
  158. package/dist/internal/hosted-delivery.d.ts +17 -0
  159. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  160. package/dist/internal/hosted-delivery.js +112 -19
  161. package/dist/internal/hosted-managed-automation.d.ts.map +1 -1
  162. package/dist/internal/hosted-managed-automation.js +27 -2
  163. package/dist/internal/init-project.d.ts.map +1 -1
  164. package/dist/internal/init-project.js +4 -1
  165. package/dist/internal/local-control-plane.d.ts +18 -2
  166. package/dist/internal/local-control-plane.d.ts.map +1 -1
  167. package/dist/internal/local-control-plane.js +199 -17
  168. package/dist/internal/reminder-control-plane-protocol.d.ts +187 -0
  169. package/dist/internal/reminder-control-plane-protocol.d.ts.map +1 -0
  170. package/dist/internal/reminder-control-plane-protocol.js +244 -0
  171. package/dist/internal/reminder-runner.d.ts +48 -6
  172. package/dist/internal/reminder-runner.d.ts.map +1 -1
  173. package/dist/internal/reminder-runner.js +336 -48
  174. package/dist/internal/reminder-schedule.d.ts +5 -2
  175. package/dist/internal/reminder-schedule.d.ts.map +1 -1
  176. package/dist/internal/reminder-schedule.js +8 -6
  177. package/dist/internal/reminder-store.d.ts +24 -7
  178. package/dist/internal/reminder-store.d.ts.map +1 -1
  179. package/dist/internal/reminder-store.js +6 -5
  180. package/dist/internal/request-error-status.d.ts +2 -0
  181. package/dist/internal/request-error-status.d.ts.map +1 -1
  182. package/dist/internal/request-error-status.js +22 -3
  183. package/dist/internal/scm/pr-url.d.ts +40 -0
  184. package/dist/internal/scm/pr-url.d.ts.map +1 -1
  185. package/dist/internal/scm/pr-url.js +93 -14
  186. package/dist/internal/sdk-runner.d.ts +12 -0
  187. package/dist/internal/sdk-runner.d.ts.map +1 -1
  188. package/dist/internal/sdk-runner.js +18 -0
  189. package/dist/internal/server.d.ts.map +1 -1
  190. package/dist/internal/server.js +78 -30
  191. package/dist/internal/session-engine.d.ts +12 -0
  192. package/dist/internal/session-engine.d.ts.map +1 -1
  193. package/dist/internal/session-engine.js +137 -52
  194. package/dist/internal/store-mirror.d.ts +2 -2
  195. package/dist/internal/store-mirror.js +2 -2
  196. package/dist/internal/tenant-slack/relay.d.ts +2 -0
  197. package/dist/internal/tenant-slack/relay.d.ts.map +1 -1
  198. package/dist/internal/tenant-slack/relay.js +18 -8
  199. package/dist/internal/workspace-sync.d.ts +31 -6
  200. package/dist/internal/workspace-sync.d.ts.map +1 -1
  201. package/dist/internal/workspace-sync.js +67 -12
  202. package/dist/internal/workspace.d.ts +9 -0
  203. package/dist/internal/workspace.d.ts.map +1 -1
  204. package/dist/internal/workspace.js +16 -0
  205. package/dist/playground/assets/index-Bq2HpEQB.js +67 -0
  206. package/dist/playground/assets/index-CZKKNlmb.css +1 -0
  207. package/dist/playground/index.html +2 -2
  208. package/dist/reminders.d.ts +24 -5
  209. package/dist/reminders.d.ts.map +1 -1
  210. package/dist/reminders.js +28 -5
  211. package/dist/types.d.ts +98 -28
  212. package/dist/types.d.ts.map +1 -1
  213. package/docs/README.md +6 -1
  214. package/docs/guides/grokbot-agents.md +93 -0
  215. package/docs/guides/opentelemetry.md +3 -4
  216. package/docs/reference/channels.md +11 -19
  217. package/docs/reference/cli.md +7 -3
  218. package/docs/reference/extensions.md +2 -0
  219. package/docs/templates/grokbot-agents.md +53 -0
  220. package/package.json +12 -3
  221. package/skills/otel/SKILL.md +3 -3
  222. package/src/bin/agent-serve.ts +1 -9
  223. package/src/channels/bitbucket/types.ts +2 -4
  224. package/src/channels/deployments/deployments-channel.ts +1 -0
  225. package/src/channels/deployments/types.ts +7 -8
  226. package/src/channels/github/types.ts +2 -4
  227. package/src/channels/gitlab/types.ts +2 -5
  228. package/src/channels/origin/types.ts +2 -3
  229. package/src/channels/slack/defaults.ts +3 -0
  230. package/src/channels/slack/dispatch.ts +1 -0
  231. package/src/channels/slack/live-delivery.ts +53 -12
  232. package/src/channels/slack/types.ts +4 -3
  233. package/src/files.ts +9 -2
  234. package/src/index.ts +6 -3
  235. package/src/internal/cli-deploy.ts +30 -12
  236. package/src/internal/cursor/backend-client.ts +90 -2
  237. package/src/internal/cursor-agent-template.ts +1 -0
  238. package/src/internal/deploy-client.ts +16 -0
  239. package/src/internal/deploy-manifest.ts +16 -11
  240. package/src/internal/discovery/agent.ts +1 -0
  241. package/src/internal/discovery/info.ts +6 -0
  242. package/src/internal/discovery/modules.ts +2 -4
  243. package/src/internal/discovery/project.ts +3 -0
  244. package/src/internal/discovery/reminders.ts +65 -0
  245. package/src/internal/discovery/subagent.ts +1 -0
  246. package/src/internal/distribution.ts +20 -0
  247. package/src/internal/framework-file-storage.ts +3 -1
  248. package/src/internal/framework-storage-selection.ts +43 -6
  249. package/src/internal/guest-network.ts +3 -0
  250. package/src/internal/hosted-delivery-protocol.ts +96 -0
  251. package/src/internal/hosted-delivery.ts +207 -28
  252. package/src/internal/hosted-managed-automation.ts +49 -5
  253. package/src/internal/init-project.ts +4 -1
  254. package/src/internal/local-control-plane.ts +281 -22
  255. package/src/internal/reminder-control-plane-protocol.ts +499 -0
  256. package/src/internal/reminder-runner.ts +421 -48
  257. package/src/internal/reminder-schedule.ts +11 -6
  258. package/src/internal/reminder-store.ts +27 -7
  259. package/src/internal/request-error-status.ts +27 -3
  260. package/src/internal/scm/pr-url.ts +167 -20
  261. package/src/internal/sdk-runner.ts +19 -0
  262. package/src/internal/server.ts +85 -16
  263. package/src/internal/session-engine.ts +173 -56
  264. package/src/internal/store-mirror.ts +2 -2
  265. package/src/internal/tenant-slack/relay.ts +28 -4
  266. package/src/internal/workspace-sync.ts +84 -12
  267. package/src/internal/workspace.ts +20 -0
  268. package/src/reminders.ts +35 -4
  269. package/src/types.ts +104 -28
  270. package/templates/grokbot-agents/README.md +26 -0
  271. package/templates/grokbot-agents/agent/agent.ts +6 -0
  272. package/templates/grokbot-agents/agent/extensions/grokbot.ts +5 -0
  273. package/templates/grokbot-agents/agent/instructions.md +7 -0
  274. package/templates/grokbot-agents/evals/evals.config.ts +5 -0
  275. package/templates/grokbot-agents/evals/grokbot-agents.eval.ts +18 -0
  276. package/templates/grokbot-agents/init.json +18 -0
  277. package/templates/grokbot-agents/package.json +17 -0
  278. package/templates/grokbot-agents/tsconfig.json +12 -0
  279. package/dist/docs/assets/chunks/@localSearchIndexroot.Bqsulb9K.js +0 -1
  280. package/dist/docs/assets/index.md.D75GWhPl.js +0 -5
  281. package/dist/docs/assets/index.md.D75GWhPl.lean.js +0 -1
  282. package/dist/playground/assets/index-8YiozU89.js +0 -67
  283. package/dist/playground/assets/index-MbMxXg-y.css +0 -1
  284. /package/dist/docs/assets/{reference_cli.md.CJNc_xYK.lean.js → reference_cli.md.Dm67hd2D.lean.js} +0 -0
  285. /package/dist/docs/assets/{reference_extensions.md.DykHW3qL.lean.js → reference_extensions.md.CGmMLblt.lean.js} +0 -0
  286. /package/dist/docs/assets/{skills_otel.md.CqhobH3B.lean.js → skills_otel.md.B5Ddv1xH.lean.js} +0 -0
@@ -4372,6 +4372,99 @@ key. Handlers you author replace the matching defaults (same as
4372
4372
 
4373
4373
  ---
4374
4374
 
4375
+ Source: /docs/guides/grokbot-agents.md
4376
+
4377
+ # Cursor Grok Bot agents
4378
+
4379
+ The `cursor-grokbot-agents` extension lets an agent send a message to
4380
+ one of your Grok Bot agents and read the reply. The Grok Bot keeps its
4381
+ own conversation, memory, and tools. Your agent stays where it is and
4382
+ consults that bot the way you would in the Grok Bot app.
4383
+
4384
+ This is different from moving this agent's turns onto a hosted Grok Bot.
4385
+ The extension keeps the agent where it is and lets it talk to *other*
4386
+ Grok Bot agents.
4387
+
4388
+ ## Mount it
4389
+
4390
+ The extension ships with `@cursor/july`. Mount it with one file.
4391
+
4392
+ ```ts
4393
+ // agent/extensions/grokbot.ts
4394
+ import cursorGrokBotAgents from "@cursor/july/extensions/cursor-grokbot-agents";
4395
+
4396
+ export default cursorGrokBotAgents({
4397
+ agents: [
4398
+ { name: "Plan Keeper", description: "Keeps or moves outdoor plans." },
4399
+ { name: "Chief of Staff", description: "Routes work and tracks priorities." },
4400
+ ],
4401
+ });
4402
+ ```
4403
+
4404
+ `agents` is the allowlist. List every Grok Bot the model may talk to;
4405
+ a name outside the list is refused. Calls run under the host's
4406
+ signed-in account (`agent-sdk login` or `CURSOR_API_KEY`). Keep
4407
+ approval on when you can't.
4408
+
4409
+ Start from the [Grok Bot agents template](/docs/templates/grokbot-agents.md)
4410
+ when you want a project that already mounts this.
4411
+
4412
+ ## What the agent can do
4413
+
4414
+ With the extension mounted, the agent can consult a Grok Bot and stay
4415
+ in its own conversation:
4416
+
4417
+ - **Ask.** Send a self-contained message to a Grok Bot by the name
4418
+ shown in the Grok Bot app. The message lands in your conversation
4419
+ with that bot. The tool waits for the bot's reply.
4420
+ - **Keep waiting.** A long turn returns `status: "running"`. Call check
4421
+ with the same name to read what arrived since the last look.
4422
+ - **Stop a turn.** Interrupt the bot's current work. The conversation
4423
+ stays; a later ask continues it.
4424
+ - **See who you can talk to.** List the configured bots and the ones
4425
+ this caller has already asked. Add a name to `agents` when you want
4426
+ the model to reach another bot.
4427
+
4428
+ A skill teaches the model when to bring a Grok Bot in, how to write a
4429
+ message the bot can act on alone, and how to wait or interrupt. The
4430
+ reply is what the Grok Bot sent to the person. If a turn finishes with
4431
+ no reply, the bot sent nothing; ask again with a clearer request, or
4432
+ open the bot in the Grok Bot app.
4433
+
4434
+ The tools reach Grok Bot agents on the signed-in account. A bot another
4435
+ user owns is out of reach. That separation is only as fine as your
4436
+ host's auth; a shared bearer token or `--allow-anonymous` makes every
4437
+ caller one principal, so use
4438
+ [authored auth](/docs/reference/channels.md#auth-policies) when callers
4439
+ need their own.
4440
+
4441
+ ## Configure it
4442
+
4443
+ | Option | What it controls |
4444
+ | --- | --- |
4445
+ | `agents` | The Grok Bot agents the model may talk to, by the name shown in the app. A lone entry is the default when a call names none. Omit `agents` to allow any name; an unknown name creates an empty Grok Bot on the account. |
4446
+ | `needsApproval` | Park asks for a [human decision](/docs/guides/human-in-the-loop.md). Defaults to `true` when no `agents` are configured, `false` otherwise. |
4447
+ | `apiKey` | A Cursor API key to call with instead of the host's own. |
4448
+
4449
+ ## Adjust it
4450
+
4451
+ To take a capability away, such as interrupting a turn, mount as a
4452
+ directory and disable that tool; see
4453
+ [overlays](/docs/reference/extensions.md#adjust-a-mounted-extension).
4454
+
4455
+ ## What's next
4456
+
4457
+ Continue with these pages:
4458
+
4459
+ - [Grok Bot agents template](/docs/templates/grokbot-agents.md): scaffold
4460
+ an agent that already mounts this
4461
+ - [Extensions](/docs/reference/extensions.md): how mounts, namespaces, and
4462
+ overrides work
4463
+ - [Human-in-the-loop approvals](/docs/guides/human-in-the-loop.md): where parked
4464
+ asks get approved
4465
+
4466
+ ---
4467
+
4375
4468
  Source: /docs/guides/human-in-the-loop.md
4376
4469
 
4377
4470
  # Human-in-the-loop approvals
@@ -4768,10 +4861,9 @@ is `serve({ otel })` over `agent/otel.ts` over env. An empty
4768
4861
  `defineOtel()` still records traces; export starts when
4769
4862
  `OTEL_EXPORTER_OTLP_*` or a factory-returned `exporters` list appears.
4770
4863
 
4771
- Hosted v2 binds deployment secrets after bake, onto the already-listening
4772
- process. Pass a factory so flush can re-read them. Spans record from
4773
- bake; the hosted handler flush constructs the OTLP client and sends the
4774
- queued batch.
4864
+ Hosted deployments can bind secrets after startup. Pass a factory so
4865
+ flush can re-read them. The hosted handler constructs the OTLP client
4866
+ when it flushes and sends the queued batch.
4775
4867
 
4776
4868
  ```ts
4777
4869
  export default defineOtel(() => resolveMyOtelConfig());
@@ -5785,10 +5877,11 @@ npx @cursor/july docs
5785
5877
  | Building a new agent with Cursor | [Scaffold an agent with Cursor](/docs/scaffolding-agents.md) |
5786
5878
  | Turning a Cursor Automation into a project | [Convert a Cursor Automation](/docs/guides/convert-automation.md) |
5787
5879
  | Wiring an agent to Slack | [Slack guide](/docs/guides/slack.md) |
5788
- | Starting from a packaged template | [Demo](/docs/templates/demo.md), [Code wiki](/docs/templates/code-wiki.md), [Living AGENTS.md](/docs/templates/agents-md.md), [Security reviewer](/docs/templates/security-reviewer.md), [Security help](/docs/templates/security-help.md), [Triage](/docs/templates/triage.md), or [Agentic Owners](/docs/templates/agentic-owners.md) |
5880
+ | Starting from a packaged template | [Demo](/docs/templates/demo.md), [Grok Bot agents](/docs/templates/grokbot-agents.md), [Code wiki](/docs/templates/code-wiki.md), [Living AGENTS.md](/docs/templates/agents-md.md), [Security reviewer](/docs/templates/security-reviewer.md), [Security help](/docs/templates/security-help.md), [Triage](/docs/templates/triage.md), or [Agentic Owners](/docs/templates/agentic-owners.md) |
5789
5881
  | Wiring an agent to GitHub webhooks | [GitHub guide](/docs/guides/github.md) |
5790
5882
  | Driving PRs from a cloud VM | [PR autofixer template](/docs/templates/pr-autofixer.md) |
5791
5883
  | Handing coding work to Cursor cloud agents | [Cursor cloud agents](/docs/guides/cloud-agents.md) |
5884
+ | Talking to your Grok Bot agents | [Cursor Grok Bot agents](/docs/guides/grokbot-agents.md) |
5792
5885
  | Driving an agent from Linear (or another tracker) | [Webhooks guide: Linear example](/docs/guides/webhooks.md#example-linear-as-the-control-plane) |
5793
5886
  | Making an existing agent measurably better | [Evals](/docs/evals.md), then [Hillclimbing](/docs/hillclimbing.md) |
5794
5887
  | Comparing variants on live traffic | [Live A/B metrics](/docs/ab.md) |
@@ -5812,6 +5905,8 @@ npx @cursor/july docs
5812
5905
 
5813
5906
  - [Record a walkthrough from a collected PR](/docs/templates/demo.md): host
5814
5907
  collects the PR, the model records, then comments.
5908
+ - [Talk to your Grok Bot agents](/docs/templates/grokbot-agents.md): name
5909
+ the bots, then consult them from this agent's own conversation.
5815
5910
  - [Keep a code wiki current after merge](/docs/templates/code-wiki.md):
5816
5911
  update in-repo `wiki/` pages when a pull request merges.
5817
5912
  - [Keep AGENTS.md current from last week's work](/docs/templates/agents-md.md):
@@ -5855,6 +5950,8 @@ npx @cursor/july docs
5855
5950
  server; agents can delegate to each other.
5856
5951
  - [Cursor cloud agents](/docs/guides/cloud-agents.md): let the agent launch
5857
5952
  and steer cloud agents through the `cursor-cloud-agents` extension.
5953
+ - [Cursor Grok Bot agents](/docs/guides/grokbot-agents.md): let the agent
5954
+ talk to Grok Bot agents through the `cursor-grokbot-agents` extension.
5858
5955
  - [OpenTelemetry](/docs/guides/opentelemetry.md): push session, turn, and
5859
5956
  tool traces to an OTLP collector you run.
5860
5957
 
@@ -6867,20 +6964,16 @@ events. Declare `events` and handle each one in `onEvent`. Each event
6867
6964
  carries `deploySourceUri` and `deployVersion`. Author
6868
6965
  `agent/channels/deployments.ts` with `deploymentsChannel()`.
6869
6966
 
6870
- Omit `deploySourceUris` on hosted v2. The control plane binds
6871
- `deploy_source` edges from the deploy's watched `repositories` and the
6872
- channel admits what it is sent, which is what makes it multi-tenant
6873
- safe.
6874
-
6875
- Name sources to narrow below that scope, or to drive the self-hosted
6876
- pull relay, which has no deploy scope to inherit. There, subscribe per
6877
- deploy source with `deploySourceUris` and narrow with `environments` /
6878
- `events`. Each entry must match `Deployment.deploy_source_uri` as your
6879
- deployment writer records it; matching is case-insensitive but
6967
+ On Cursor-managed hosting, omit `deploySourceUris`. The deployment's
6968
+ watched repositories bind the event scope automatically. Name sources
6969
+ to narrow the scope or to drive the self-hosted pull relay. Subscribe
6970
+ per deploy source with `deploySourceUris` and narrow with `environments`
6971
+ or `events`. Each entry must match `Deployment.deploy_source_uri` as
6972
+ your deployment writer records it. Matching is case-insensitive but
6880
6973
  otherwise literal. It uses the host credential. A restart resumes
6881
- rather than dropping events. An empty `deploySourceUris` list mounts
6882
- the channel but starts no pull, so an env-configured agent stays inert
6883
- until its deploy sources are set.
6974
+ rather than dropping events. An empty `deploySourceUris` list mounts the
6975
+ channel but starts no pull, so an env-configured agent stays inert until
6976
+ its deploy sources are set.
6884
6977
 
6885
6978
  **Change Monitors** (`@cursor/july/channels/change-monitors`): Change
6886
6979
  Monitor Checkpoint events. The channel publishes Factory
@@ -6889,18 +6982,14 @@ result (for example to the `issues` arm). The payload contains the
6889
6982
  full Checkpoint resource. This channel is scoped to Change Monitors,
6890
6983
  not generic Factory Checkpoints. There is no repository filter or
6891
6984
  resource filter. Author `agent/channels/change-monitors.ts` with
6892
- `changeMonitorsChannel()`. It uses the host credential. The v1 omitted
6893
- continuation is `none/v1`. A v2 agent defaults to
6894
- `change_monitors.checkpoint/v2`, which keys the session as
6895
- `cont:change_monitors:{checkpointName}`.
6985
+ `changeMonitorsChannel()`. It uses the host credential.
6896
6986
 
6897
6987
  **Issues** (`@cursor/july/channels/issues`): Factory issue events.
6898
6988
  The channel publishes `issue.created` for every Issue create. The
6899
6989
  agent filters if it needs a subset. The payload contains the full
6900
6990
  Issue resource. There is no repository filter or resource filter.
6901
6991
  Author `agent/channels/issues.ts` with `issuesChannel()`. It uses the
6902
- host credential. The v1 omitted continuation is `none/v1`. A v2 agent
6903
- defaults to `issues.issue/v2`, which keys the session by issue name.
6992
+ host credential.
6904
6993
 
6905
6994
  For other platforms like Discord or Teams, use the authored
6906
6995
  `defineChannel` webhook form.
@@ -7338,6 +7427,7 @@ non-zero when the reconstructed trajectory failed.
7338
7427
  ```bash
7339
7428
  agent-sdk init ./my-agent # scaffold package.json, tsconfig.json, agent/ + a demo tool
7340
7429
  agent-sdk init ./my-demo --template demo # record a PR walkthrough
7430
+ agent-sdk init ./grokbot --template grokbot-agents # talk to Grok Bot agents
7341
7431
  agent-sdk init ./code-wiki --template code-wiki # keep wiki pages current after merge
7342
7432
  agent-sdk init ./agents-md --template agents-md # keep AGENTS.md current from last week's PRs and Slack
7343
7433
  agent-sdk init ./my-reviewer --template security-reviewer # review PRs for security bugs
@@ -7359,7 +7449,7 @@ agent-sdk init # no directory: print the setup guide
7359
7449
  Templates may ship `init.json`. On a TTY, `init` asks those questions
7360
7450
  before writing files. `code-wiki`, `pr-autofixer`, `security-help`, and
7361
7451
  `agents-md` ask for GitHub repos. `agents-md` also asks for Slack
7362
- channels. Repeat
7452
+ channels. `grokbot-agents` asks for Grok Bot names. Repeat
7363
7453
  `--var id=value` to answer without a prompt.
7364
7454
  `--json` and non-TTY hosts skip the interview unless `--var` is set.
7365
7455
 
@@ -7597,14 +7687,17 @@ The command polls for up to ten minutes until the status reaches
7597
7687
 
7598
7688
  ## delete
7599
7689
 
7600
- `delete` removes a deployment.
7690
+ `delete` removes a hosted deployment. You can delete a deployment that
7691
+ still runs. The command frees the slug. A later deploy can use the same
7692
+ name. Spend stays on the archived service account.
7601
7693
 
7602
7694
  ```bash
7603
7695
  agent-sdk delete <slug> [--team <id>] [--no-wait] [--json]
7604
7696
  ```
7605
7697
 
7606
7698
  The command waits until the deployment is gone. `--no-wait` returns after
7607
- the delete request is accepted.
7699
+ the delete request is accepted. Architecture v2 slugs use the Agent SDK
7700
+ control plane. Architecture v1 slugs use the Agent Serve control plane.
7608
7701
 
7609
7702
  ## rotate-token
7610
7703
 
@@ -8464,6 +8557,8 @@ Continue with these pages:
8464
8557
 
8465
8558
  - [Cursor cloud agents](/docs/guides/cloud-agents.md): the extension that
8466
8559
  lets an agent launch and steer cloud agents
8560
+ - [Cursor Grok Bot agents](/docs/guides/grokbot-agents.md): the extension
8561
+ that lets an agent talk to Grok Bot agents
8467
8562
  - [Tools](/docs/reference/tools.md): the tool contract extensions contribute to
8468
8563
  - [Skills](/docs/reference/skills.md): the skill forms an extension can carry
8469
8564
  - [Project layout](/docs/reference/project-layout.md): where `agent/extensions/` sits
@@ -11206,9 +11301,9 @@ export default defineOtel({
11206
11301
  3. `serve(dir, { otel: { … } })`. `otel: false` disables env and
11207
11302
  authored config.
11208
11303
 
11209
- Hosted v2 secrets arrive after bake. Use `defineOtel(() => …)` so flush
11210
- re-resolves exporters. Authored `agent/otel.ts` records from process
11211
- start even when the factory returns no exporters yet.
11304
+ Hosted secrets can arrive after startup. Use `defineOtel(() => …)` so
11305
+ flush re-resolves exporters. Authored `agent/otel.ts` records from
11306
+ process start even when the factory returns no exporters yet.
11212
11307
 
11213
11308
  | Signal | Default |
11214
11309
  | --- | --- |
@@ -11949,6 +12044,59 @@ Playground and `/queue/pr` need the alias token. GitHub label and
11949
12044
 
11950
12045
  ---
11951
12046
 
12047
+ Source: /docs/templates/grokbot-agents.md
12048
+
12049
+ # Talk to your Grok Bot agents
12050
+
12051
+ This agent sends a message to a Grok Bot you already use and reads the
12052
+ reply. The Grok Bot keeps its conversation. This agent stays where it
12053
+ is.
12054
+
12055
+ ## Scaffold
12056
+
12057
+ ```bash
12058
+ npx @cursor/july init ./grokbot --template grokbot-agents
12059
+ ```
12060
+
12061
+ `init` asks for the names shown in the Grok Bot app. Every name is an
12062
+ allowlist entry. Pass `--var agents="Plan Keeper, Chief of Staff"` to
12063
+ skip the prompt.
12064
+
12065
+ The names land in `agent/extensions/grokbot.ts`. A name outside that
12066
+ list is refused.
12067
+
12068
+ ## Log in
12069
+
12070
+ Asks run under the signed-in account.
12071
+
12072
+ ```bash
12073
+ cd grokbot
12074
+ agent-sdk login
12075
+ agent-sdk dev
12076
+ ```
12077
+
12078
+ In the playground, ask it to talk to one of the names you entered.
12079
+
12080
+ ## What to edit
12081
+
12082
+ - `agent/extensions/grokbot.ts`: who it may talk to. Add `needsApproval: true` to park each ask.
12083
+ - `agent/instructions.md`: when to consult them
12084
+
12085
+ See [Cursor Grok Bot agents](/docs/guides/grokbot-agents.md) for the
12086
+ extension, and [Human-in-the-loop approvals](/docs/guides/human-in-the-loop.md)
12087
+ for where a parked ask gets approved.
12088
+
12089
+ ## Evals
12090
+
12091
+ ```bash
12092
+ agent-sdk eval
12093
+ ```
12094
+
12095
+ The smoke case asks who it can talk to. It must list the configured
12096
+ bots and not send a message.
12097
+
12098
+ ---
12099
+
11952
12100
  Source: /docs/templates/pr-autofixer.md
11953
12101
 
11954
12102
  # Fix pull requests on a Cursor cloud VM
@@ -27,6 +27,7 @@
27
27
  - [Keep AGENTS.md current from last week's work](/docs/templates/agents-md.md): Scaffold the agent, pick a repo and Slack channels, dispatch the weekly job, and deploy.
28
28
  - [Keep a code wiki current after merge](/docs/templates/code-wiki.md): Scaffold the agent, pick repos, replay a merged PR, and deploy.
29
29
  - [Record a walkthrough from a collected PR](/docs/templates/demo.md): Scaffold the agent, seed the PR on the host, record a walkthrough, and comment the result.
30
+ - [Talk to your Grok Bot agents](/docs/templates/grokbot-agents.md): Scaffold the agent, name the Grok Bot agents it may reach, and consult them from its own conversation.
30
31
  - [Fix pull requests on a Cursor cloud VM](/docs/templates/pr-autofixer.md): Scaffold the agent, point it at your repos, and opt in to auto-fix a PR.
31
32
  - [Answer security questions in Slack](/docs/templates/security-help.md): Scaffold the agent, connect Slack, and answer from your skills. Paste a GitHub pull request for a first look.
32
33
  - [Review pull requests for exploitable bugs](/docs/templates/security-reviewer.md): Scaffold the agent, pick repos, replay a PR, and deploy.
@@ -38,6 +39,7 @@
38
39
  - [Cursor cloud agents](/docs/guides/cloud-agents.md): Let an agent-sdk agent hand coding work to Cursor cloud agents and steer them: mount the extension, pick the repositories it may touch, and decide what needs approval.
39
40
  - [Convert a Cursor Automation](/docs/guides/convert-automation.md): Export a dashboard Automation into a local Agent SDK project, then review, validate, and run it.
40
41
  - [GitHub](/docs/guides/github.md): Wake your agent from pull requests, CI, and comments by pulling Cursor SCM events, with fixtures and replay for local tests.
42
+ - [Cursor Grok Bot agents](/docs/guides/grokbot-agents.md): Let an agent-sdk agent talk to your Grok Bot agents: mount the extension, name the bots it may reach, and decide what needs approval.
41
43
  - [Human-in-the-loop](/docs/guides/human-in-the-loop.md): Gate a tool call on human approval: park it, resolve it from the playground, HTTP, or Slack, and keep the turn alive throughout.
42
44
  - [Host MCP OAuth](/docs/guides/mcp-oauth.md): Authorize defineConnection({ url, oauth: true }) with agent-sdk mcp oauth, store tokens locally, and push MCP_OAUTH_* secrets to hosted deployments.
43
45
  - [OpenTelemetry](/docs/guides/opentelemetry.md): Push session, turn, and tool traces from the serve process to an OTLP collector you run.