@cursor/july 0.1.101 → 0.1.102

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 (374) hide show
  1. package/README.md +27 -0
  2. package/dist/channels/slack/api.d.ts +1 -1
  3. package/dist/channels/slack/api.d.ts.map +1 -1
  4. package/dist/channels/slack/api.js +3 -1
  5. package/dist/channels/slack/assistant.d.ts +1 -1
  6. package/dist/channels/slack/assistant.d.ts.map +1 -1
  7. package/dist/channels/slack/dispatch.d.ts +3 -2
  8. package/dist/channels/slack/dispatch.d.ts.map +1 -1
  9. package/dist/channels/slack/dispatch.js +28 -8
  10. package/dist/channels/slack/inbound.d.ts +8 -0
  11. package/dist/channels/slack/inbound.d.ts.map +1 -1
  12. package/dist/channels/slack/inbound.js +28 -0
  13. package/dist/channels/slack/manifest.d.ts.map +1 -1
  14. package/dist/channels/slack/manifest.js +2 -1
  15. package/dist/docs/404.html +2 -2
  16. package/dist/docs/ab.html +4 -4
  17. package/dist/docs/assets/{app.BASO9Kih.js → app.CLA03RCz.js} +1 -1
  18. package/dist/docs/assets/chunks/@localSearchIndexroot.FAqdWIXo.js +1 -0
  19. package/dist/docs/assets/chunks/{VPLocalSearchBox.DwkqxoE0.js → VPLocalSearchBox.ifxv-cJV.js} +1 -1
  20. package/dist/docs/assets/chunks/{theme.CCil_13e.js → theme.DWCwM6p-.js} +2 -2
  21. package/dist/docs/assets/concepts.md.rPzW2HZN.js +1 -0
  22. package/dist/docs/assets/guides_cloud-agents.md.DumwWXba.js +9 -0
  23. package/dist/docs/assets/guides_cloud-agents.md.DumwWXba.lean.js +1 -0
  24. package/dist/docs/assets/{guides_cloud-runtime.md.CkYbjnAX.js → guides_cloud-runtime.md.BRirbRAN.js} +1 -1
  25. package/dist/docs/assets/index.md.Kiht7ell.js +5 -0
  26. package/dist/docs/assets/{index.md.Bb4k8kUm.lean.js → index.md.Kiht7ell.lean.js} +1 -1
  27. package/dist/docs/assets/reference_extensions.md.9WQMZe1l.js +56 -0
  28. package/dist/docs/assets/reference_extensions.md.9WQMZe1l.lean.js +1 -0
  29. package/dist/docs/assets/{reference_project-layout.md.Bv4KOtlB.js → reference_project-layout.md.CA6QP6Lw.js} +2 -2
  30. package/dist/docs/assets/{reference_project-layout.md.Bv4KOtlB.lean.js → reference_project-layout.md.CA6QP6Lw.lean.js} +1 -1
  31. package/dist/docs/assets/{reference_skills.md.BFW9retM.js → reference_skills.md.l2ezAcaN.js} +1 -1
  32. package/dist/docs/assets/{reference_tools.md.CvAHsdSp.js → reference_tools.md.B1up2r9W.js} +1 -1
  33. package/dist/docs/assets/skills_framework-map.md.DDa4MeEW.js +1 -0
  34. package/dist/docs/assets/{skills_framework-map.md.BTi817yv.lean.js → skills_framework-map.md.DDa4MeEW.lean.js} +1 -1
  35. package/dist/docs/building-with-agents.html +4 -4
  36. package/dist/docs/concepts.html +5 -5
  37. package/dist/docs/concepts.md +3 -3
  38. package/dist/docs/deployment.html +4 -4
  39. package/dist/docs/evals.html +4 -4
  40. package/dist/docs/guides/agent-to-agent.html +4 -4
  41. package/dist/docs/guides/cloud-agents.html +35 -0
  42. package/dist/docs/guides/cloud-agents.md +93 -0
  43. package/dist/docs/guides/cloud-runtime.html +6 -6
  44. package/dist/docs/guides/cloud-runtime.md +2 -0
  45. package/dist/docs/guides/convert-automation.html +4 -4
  46. package/dist/docs/guides/github.html +4 -4
  47. package/dist/docs/guides/human-in-the-loop.html +4 -4
  48. package/dist/docs/guides/mcp-oauth.html +4 -4
  49. package/dist/docs/guides/opentelemetry.html +5 -5
  50. package/dist/docs/guides/slack.html +4 -4
  51. package/dist/docs/guides/webhooks.html +4 -4
  52. package/dist/docs/hashmap.json +1 -1
  53. package/dist/docs/hillclimbing.html +4 -4
  54. package/dist/docs/index.html +6 -6
  55. package/dist/docs/index.md +5 -1
  56. package/dist/docs/llms-full.txt +321 -4
  57. package/dist/docs/llms.txt +2 -0
  58. package/dist/docs/quickstart.html +4 -4
  59. package/dist/docs/reference/agent-config.html +4 -4
  60. package/dist/docs/reference/artifacts.html +4 -4
  61. package/dist/docs/reference/channels.html +5 -5
  62. package/dist/docs/reference/cli.html +4 -4
  63. package/dist/docs/reference/connections.html +4 -4
  64. package/dist/docs/reference/extensions.html +82 -0
  65. package/dist/docs/reference/extensions.md +200 -0
  66. package/dist/docs/reference/hooks.html +4 -4
  67. package/dist/docs/reference/http-api.html +4 -4
  68. package/dist/docs/reference/instructions.html +4 -4
  69. package/dist/docs/reference/playground.html +4 -4
  70. package/dist/docs/reference/project-layout.html +6 -6
  71. package/dist/docs/reference/project-layout.md +3 -0
  72. package/dist/docs/reference/prompt.html +4 -4
  73. package/dist/docs/reference/schedules.html +4 -4
  74. package/dist/docs/reference/sessions.html +4 -4
  75. package/dist/docs/reference/skills.html +6 -6
  76. package/dist/docs/reference/skills.md +2 -0
  77. package/dist/docs/reference/subagents.html +5 -5
  78. package/dist/docs/reference/tools.html +6 -6
  79. package/dist/docs/reference/tools.md +2 -0
  80. package/dist/docs/scaffolding-agents.html +4 -4
  81. package/dist/docs/skills/ab.html +4 -4
  82. package/dist/docs/skills/create-agent.html +4 -4
  83. package/dist/docs/skills/debug.html +4 -4
  84. package/dist/docs/skills/evals.html +4 -4
  85. package/dist/docs/skills/framework-map.html +5 -5
  86. package/dist/docs/skills/framework-map.md +1 -0
  87. package/dist/docs/skills/github.html +4 -4
  88. package/dist/docs/skills/hillclimb.html +4 -4
  89. package/dist/docs/skills/index.html +4 -4
  90. package/dist/docs/skills/mcp-auth.html +4 -4
  91. package/dist/docs/skills/otel.html +4 -4
  92. package/dist/docs/skills/setup-slack.html +4 -4
  93. package/dist/docs/storage.html +4 -4
  94. package/dist/docs/templates/agentic-owners.html +4 -4
  95. package/dist/docs/templates/agents-md.html +4 -4
  96. package/dist/docs/templates/code-wiki.html +4 -4
  97. package/dist/docs/templates/demo.html +4 -4
  98. package/dist/docs/templates/pr-autofixer.html +4 -4
  99. package/dist/docs/templates/security-help.html +4 -4
  100. package/dist/docs/templates/security-reviewer.html +4 -4
  101. package/dist/docs/templates/triage.html +4 -4
  102. package/dist/docs/troubleshooting.html +4 -4
  103. package/dist/extensions/cursor-cloud-agents/extension.d.ts +9 -7
  104. package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
  105. package/dist/extensions/cursor-cloud-agents/extension.js +9 -7
  106. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts +78 -0
  107. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts.map +1 -0
  108. package/dist/extensions/cursor-cloud-agents/lib/backend.js +286 -0
  109. package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts +5 -0
  110. package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts.map +1 -0
  111. package/dist/extensions/cursor-cloud-agents/lib/inputs.js +4 -0
  112. package/dist/extensions/cursor-cloud-agents/lib/transcript.d.ts +8 -0
  113. package/dist/extensions/cursor-cloud-agents/lib/transcript.d.ts.map +1 -0
  114. package/dist/extensions/cursor-cloud-agents/lib/transcript.js +15 -0
  115. package/dist/extensions/cursor-cloud-agents/skills/handoff.md +21 -7
  116. package/dist/extensions/cursor-cloud-agents/tools/cancel.d.ts +4 -0
  117. package/dist/extensions/cursor-cloud-agents/tools/cancel.d.ts.map +1 -0
  118. package/dist/extensions/cursor-cloud-agents/tools/cancel.js +26 -0
  119. package/dist/extensions/cursor-cloud-agents/tools/dump.d.ts +4 -0
  120. package/dist/extensions/cursor-cloud-agents/tools/dump.d.ts.map +1 -0
  121. package/dist/extensions/cursor-cloud-agents/tools/dump.js +54 -0
  122. package/dist/extensions/cursor-cloud-agents/tools/get.d.ts +4 -0
  123. package/dist/extensions/cursor-cloud-agents/tools/get.d.ts.map +1 -0
  124. package/dist/extensions/cursor-cloud-agents/tools/get.js +25 -0
  125. package/dist/extensions/cursor-cloud-agents/tools/launch.d.ts.map +1 -1
  126. package/dist/extensions/cursor-cloud-agents/tools/launch.js +14 -38
  127. package/dist/extensions/cursor-cloud-agents/tools/list.js +1 -1
  128. package/dist/extensions/cursor-cloud-agents/tools/reply.d.ts +4 -0
  129. package/dist/extensions/cursor-cloud-agents/tools/reply.d.ts.map +1 -0
  130. package/dist/extensions/cursor-cloud-agents/tools/{follow_up.js → reply.js} +12 -14
  131. package/dist/extensions.d.ts +38 -14
  132. package/dist/extensions.d.ts.map +1 -1
  133. package/dist/extensions.js +49 -12
  134. package/dist/files-backends/cursor-hosted.d.ts +0 -8
  135. package/dist/files-backends/cursor-hosted.d.ts.map +1 -1
  136. package/dist/files-backends/cursor-hosted.js +1 -11
  137. package/dist/files.d.ts +5 -1
  138. package/dist/files.d.ts.map +1 -1
  139. package/dist/files.js +22 -18
  140. package/dist/index.d.ts +3 -3
  141. package/dist/index.d.ts.map +1 -1
  142. package/dist/index.js +2 -2
  143. package/dist/internal/conversation-mirror.d.ts.map +1 -1
  144. package/dist/internal/conversation-mirror.js +13 -15
  145. package/dist/internal/cursor/backend-client.d.ts +8 -1
  146. package/dist/internal/cursor/backend-client.d.ts.map +1 -1
  147. package/dist/internal/cursor/backend-client.js +25 -9
  148. package/dist/internal/cursor/hosted-store-secrets.d.ts +11 -0
  149. package/dist/internal/cursor/hosted-store-secrets.d.ts.map +1 -1
  150. package/dist/internal/cursor/hosted-store-secrets.js +15 -0
  151. package/dist/internal/discovery/ab.d.ts +9 -0
  152. package/dist/internal/discovery/ab.d.ts.map +1 -0
  153. package/dist/internal/discovery/ab.js +101 -0
  154. package/dist/internal/discovery/agent-config.d.ts +35 -0
  155. package/dist/internal/discovery/agent-config.d.ts.map +1 -0
  156. package/dist/internal/discovery/agent-config.js +173 -0
  157. package/dist/internal/discovery/agent.d.ts +11 -0
  158. package/dist/internal/discovery/agent.d.ts.map +1 -0
  159. package/dist/internal/discovery/agent.js +306 -0
  160. package/dist/internal/discovery/channels.d.ts +10 -0
  161. package/dist/internal/discovery/channels.d.ts.map +1 -0
  162. package/dist/internal/discovery/channels.js +97 -0
  163. package/dist/internal/discovery/connections.d.ts +17 -0
  164. package/dist/internal/discovery/connections.d.ts.map +1 -0
  165. package/dist/internal/discovery/connections.js +436 -0
  166. package/dist/internal/discovery/context.d.ts +20 -0
  167. package/dist/internal/discovery/context.d.ts.map +1 -0
  168. package/dist/internal/discovery/context.js +30 -0
  169. package/dist/internal/discovery/cursor-plugin.d.ts +25 -0
  170. package/dist/internal/discovery/cursor-plugin.d.ts.map +1 -0
  171. package/dist/internal/discovery/cursor-plugin.js +570 -0
  172. package/dist/internal/discovery/extensions.d.ts +19 -0
  173. package/dist/internal/discovery/extensions.d.ts.map +1 -0
  174. package/dist/internal/discovery/extensions.js +238 -0
  175. package/dist/internal/discovery/fs.d.ts +15 -0
  176. package/dist/internal/discovery/fs.d.ts.map +1 -0
  177. package/dist/internal/discovery/fs.js +115 -0
  178. package/dist/internal/discovery/hooks.d.ts +7 -0
  179. package/dist/internal/discovery/hooks.d.ts.map +1 -0
  180. package/dist/internal/discovery/hooks.js +48 -0
  181. package/dist/internal/discovery/info.d.ts +6 -0
  182. package/dist/internal/discovery/info.d.ts.map +1 -0
  183. package/dist/internal/discovery/info.js +141 -0
  184. package/dist/internal/discovery/instructions.d.ts +7 -0
  185. package/dist/internal/discovery/instructions.d.ts.map +1 -0
  186. package/dist/internal/discovery/instructions.js +95 -0
  187. package/dist/internal/discovery/modules.d.ts +20 -0
  188. package/dist/internal/discovery/modules.d.ts.map +1 -0
  189. package/dist/internal/discovery/modules.js +101 -0
  190. package/dist/internal/discovery/names.d.ts +12 -0
  191. package/dist/internal/discovery/names.d.ts.map +1 -0
  192. package/dist/internal/discovery/names.js +36 -0
  193. package/dist/internal/discovery/project.d.ts +53 -0
  194. package/dist/internal/discovery/project.d.ts.map +1 -0
  195. package/dist/internal/discovery/project.js +239 -0
  196. package/dist/internal/discovery/runtime.d.ts +34 -0
  197. package/dist/internal/discovery/runtime.d.ts.map +1 -0
  198. package/dist/internal/discovery/runtime.js +98 -0
  199. package/dist/internal/discovery/schedules.d.ts +7 -0
  200. package/dist/internal/discovery/schedules.d.ts.map +1 -0
  201. package/dist/internal/discovery/schedules.js +97 -0
  202. package/dist/internal/discovery/seed-files.d.ts +7 -0
  203. package/dist/internal/discovery/seed-files.d.ts.map +1 -0
  204. package/dist/internal/discovery/seed-files.js +41 -0
  205. package/dist/internal/discovery/services.d.ts +17 -0
  206. package/dist/internal/discovery/services.d.ts.map +1 -0
  207. package/dist/internal/discovery/services.js +104 -0
  208. package/dist/internal/discovery/skills.d.ts +16 -0
  209. package/dist/internal/discovery/skills.d.ts.map +1 -0
  210. package/dist/internal/discovery/skills.js +151 -0
  211. package/dist/internal/discovery/subagent.d.ts +13 -0
  212. package/dist/internal/discovery/subagent.d.ts.map +1 -0
  213. package/dist/internal/discovery/subagent.js +19 -0
  214. package/dist/internal/discovery/tools.d.ts +18 -0
  215. package/dist/internal/discovery/tools.d.ts.map +1 -0
  216. package/dist/internal/discovery/tools.js +159 -0
  217. package/dist/internal/discovery.d.ts +8 -62
  218. package/dist/internal/discovery.d.ts.map +1 -1
  219. package/dist/internal/discovery.js +8 -2505
  220. package/dist/internal/framework-file-storage.js +6 -6
  221. package/dist/internal/framework-storage-selection.d.ts.map +1 -1
  222. package/dist/internal/framework-storage-selection.js +8 -7
  223. package/dist/internal/frontmatter.d.ts +11 -3
  224. package/dist/internal/frontmatter.d.ts.map +1 -1
  225. package/dist/internal/frontmatter.js +29 -3
  226. package/dist/internal/mcp-host.d.ts.map +1 -1
  227. package/dist/internal/mcp-host.js +37 -20
  228. package/dist/internal/otel/collector.d.ts +13 -0
  229. package/dist/internal/otel/collector.d.ts.map +1 -1
  230. package/dist/internal/otel/collector.js +84 -17
  231. package/dist/internal/otel/http.d.ts.map +1 -1
  232. package/dist/internal/otel/http.js +2 -10
  233. package/dist/internal/otel/mcp.d.ts +16 -0
  234. package/dist/internal/otel/mcp.d.ts.map +1 -0
  235. package/dist/internal/otel/mcp.js +68 -0
  236. package/dist/internal/otel/propagation.d.ts +6 -0
  237. package/dist/internal/otel/propagation.d.ts.map +1 -0
  238. package/dist/internal/otel/propagation.js +14 -0
  239. package/dist/internal/otel/runtime.d.ts.map +1 -1
  240. package/dist/internal/otel/runtime.js +2 -0
  241. package/dist/internal/session-engine.d.ts +5 -0
  242. package/dist/internal/session-engine.d.ts.map +1 -1
  243. package/dist/internal/session-engine.js +68 -32
  244. package/dist/internal/session-run-log.d.ts +2 -1
  245. package/dist/internal/session-run-log.d.ts.map +1 -1
  246. package/dist/internal/session-run-log.js +13 -14
  247. package/dist/internal/start-log-store.d.ts +1 -1
  248. package/dist/internal/start-log-store.d.ts.map +1 -1
  249. package/dist/internal/start-log-store.js +12 -14
  250. package/dist/internal/storage-coordinator.d.ts +4 -1
  251. package/dist/internal/storage-coordinator.d.ts.map +1 -1
  252. package/dist/internal/storage-coordinator.js +15 -13
  253. package/dist/internal/tool-catalog.d.ts.map +1 -1
  254. package/dist/internal/tool-catalog.js +9 -6
  255. package/dist/internal/turn-cost.d.ts +14 -0
  256. package/dist/internal/turn-cost.d.ts.map +1 -1
  257. package/dist/internal/turn-cost.js +41 -9
  258. package/dist/internal/v2-hosting.d.ts +22 -0
  259. package/dist/internal/v2-hosting.d.ts.map +1 -0
  260. package/dist/internal/v2-hosting.js +23 -0
  261. package/dist/otel.d.ts +16 -0
  262. package/dist/otel.d.ts.map +1 -1
  263. package/dist/otel.js +26 -0
  264. package/dist/playground/assets/index-B6C9S9nG.css +1 -0
  265. package/dist/playground/index.html +2 -2
  266. package/dist/storage-protocol.d.ts +24 -23
  267. package/dist/storage-protocol.d.ts.map +1 -1
  268. package/dist/storage-protocol.js +68 -65
  269. package/dist/storage.d.ts +2 -2
  270. package/dist/storage.d.ts.map +1 -1
  271. package/dist/storage.js +1 -1
  272. package/dist/tools.d.ts +9 -0
  273. package/dist/tools.d.ts.map +1 -1
  274. package/dist/tools.js +9 -0
  275. package/dist/types.d.ts +39 -3
  276. package/dist/types.d.ts.map +1 -1
  277. package/docs/README.md +5 -1
  278. package/docs/concepts.md +3 -3
  279. package/docs/guides/cloud-agents.md +98 -0
  280. package/docs/guides/cloud-runtime.md +2 -0
  281. package/docs/reference/extensions.md +205 -0
  282. package/docs/reference/project-layout.md +3 -0
  283. package/docs/reference/skills.md +2 -0
  284. package/docs/reference/tools.md +2 -0
  285. package/package.json +1 -1
  286. package/skills/framework-map/SKILL.md +1 -0
  287. package/src/channels/slack/api.ts +4 -2
  288. package/src/channels/slack/assistant.ts +1 -1
  289. package/src/channels/slack/dispatch.ts +27 -2
  290. package/src/channels/slack/inbound.ts +37 -0
  291. package/src/channels/slack/manifest.ts +2 -1
  292. package/src/extensions/cursor-cloud-agents/extension.ts +9 -7
  293. package/src/extensions/cursor-cloud-agents/lib/backend.ts +395 -0
  294. package/src/extensions/cursor-cloud-agents/lib/inputs.ts +5 -0
  295. package/src/extensions/cursor-cloud-agents/lib/transcript.ts +23 -0
  296. package/src/extensions/cursor-cloud-agents/skills/handoff.md +21 -7
  297. package/src/extensions/cursor-cloud-agents/tools/cancel.ts +19 -0
  298. package/src/extensions/cursor-cloud-agents/tools/dump.ts +51 -0
  299. package/src/extensions/cursor-cloud-agents/tools/get.ts +18 -0
  300. package/src/extensions/cursor-cloud-agents/tools/launch.ts +22 -42
  301. package/src/extensions/cursor-cloud-agents/tools/list.ts +1 -1
  302. package/src/extensions/cursor-cloud-agents/tools/reply.ts +34 -0
  303. package/src/extensions.ts +55 -12
  304. package/src/files-backends/cursor-hosted.ts +1 -17
  305. package/src/files.ts +43 -34
  306. package/src/index.ts +10 -1
  307. package/src/internal/conversation-mirror.ts +23 -18
  308. package/src/internal/cursor/backend-client.ts +32 -10
  309. package/src/internal/cursor/hosted-store-secrets.ts +27 -0
  310. package/src/internal/discovery/ab.ts +111 -0
  311. package/src/internal/discovery/agent-config.ts +222 -0
  312. package/src/internal/discovery/agent.ts +360 -0
  313. package/src/internal/discovery/channels.ts +103 -0
  314. package/src/internal/discovery/connections.ts +540 -0
  315. package/src/internal/discovery/context.ts +46 -0
  316. package/src/internal/discovery/cursor-plugin.ts +708 -0
  317. package/src/internal/discovery/extensions.ts +348 -0
  318. package/src/internal/discovery/fs.ts +108 -0
  319. package/src/internal/discovery/hooks.ts +45 -0
  320. package/src/internal/discovery/info.ts +179 -0
  321. package/src/internal/discovery/instructions.ts +113 -0
  322. package/src/internal/discovery/modules.ts +107 -0
  323. package/src/internal/discovery/names.ts +44 -0
  324. package/src/internal/discovery/project.ts +270 -0
  325. package/src/internal/discovery/runtime.ts +159 -0
  326. package/src/internal/discovery/schedules.ts +94 -0
  327. package/src/internal/discovery/seed-files.ts +37 -0
  328. package/src/internal/discovery/services.ts +124 -0
  329. package/src/internal/discovery/skills.ts +176 -0
  330. package/src/internal/discovery/subagent.ts +29 -0
  331. package/src/internal/discovery/tools.ts +182 -0
  332. package/src/internal/discovery.ts +20 -3081
  333. package/src/internal/framework-file-storage.ts +6 -6
  334. package/src/internal/framework-storage-selection.ts +9 -9
  335. package/src/internal/frontmatter.ts +36 -3
  336. package/src/internal/mcp-host.ts +84 -31
  337. package/src/internal/otel/collector.ts +125 -25
  338. package/src/internal/otel/http.ts +2 -12
  339. package/src/internal/otel/mcp.ts +69 -0
  340. package/src/internal/otel/propagation.ts +17 -0
  341. package/src/internal/otel/runtime.ts +2 -0
  342. package/src/internal/session-engine.ts +96 -11
  343. package/src/internal/session-run-log.ts +17 -16
  344. package/src/internal/start-log-store.ts +13 -16
  345. package/src/internal/storage-coordinator.ts +19 -16
  346. package/src/internal/tool-catalog.ts +9 -6
  347. package/src/internal/turn-cost.ts +47 -4
  348. package/src/internal/v2-hosting.ts +38 -0
  349. package/src/otel.ts +38 -0
  350. package/src/storage-protocol.ts +101 -91
  351. package/src/storage.ts +4 -0
  352. package/src/tools.ts +18 -0
  353. package/src/types.ts +43 -2
  354. package/dist/docs/assets/chunks/@localSearchIndexroot.DbFXINq2.js +0 -1
  355. package/dist/docs/assets/concepts.md.lwAgBIMI.js +0 -1
  356. package/dist/docs/assets/index.md.Bb4k8kUm.js +0 -5
  357. package/dist/docs/assets/skills_framework-map.md.BTi817yv.js +0 -1
  358. package/dist/extensions/cursor-cloud-agents/lib/cloud.d.ts +0 -30
  359. package/dist/extensions/cursor-cloud-agents/lib/cloud.d.ts.map +0 -1
  360. package/dist/extensions/cursor-cloud-agents/lib/cloud.js +0 -45
  361. package/dist/extensions/cursor-cloud-agents/tools/follow_up.d.ts +0 -4
  362. package/dist/extensions/cursor-cloud-agents/tools/follow_up.d.ts.map +0 -1
  363. package/dist/extensions/cursor-cloud-agents/tools/status.d.ts +0 -4
  364. package/dist/extensions/cursor-cloud-agents/tools/status.d.ts.map +0 -1
  365. package/dist/extensions/cursor-cloud-agents/tools/status.js +0 -41
  366. package/dist/playground/assets/index-DBQCwFp0.css +0 -1
  367. package/src/extensions/cursor-cloud-agents/lib/cloud.ts +0 -79
  368. package/src/extensions/cursor-cloud-agents/tools/follow_up.ts +0 -29
  369. package/src/extensions/cursor-cloud-agents/tools/status.ts +0 -39
  370. /package/dist/docs/assets/{concepts.md.lwAgBIMI.lean.js → concepts.md.rPzW2HZN.lean.js} +0 -0
  371. /package/dist/docs/assets/{guides_cloud-runtime.md.CkYbjnAX.lean.js → guides_cloud-runtime.md.BRirbRAN.lean.js} +0 -0
  372. /package/dist/docs/assets/{reference_skills.md.BFW9retM.lean.js → reference_skills.md.l2ezAcaN.lean.js} +0 -0
  373. /package/dist/docs/assets/{reference_tools.md.CvAHsdSp.lean.js → reference_tools.md.B1up2r9W.lean.js} +0 -0
  374. /package/dist/playground/assets/{index-BnNN1-EK.js → index-ZqNoT8Ie.js} +0 -0
@@ -2,7 +2,8 @@
2
2
  * Minimal Connect-JSON client for the handful of `aiserver.v1.DashboardService`
3
3
  * RPCs agent-serve needs — `GetMe`, `ListSandMcpTools`, `ExecuteSandMcpTool`,
4
4
  * and the login-time key lifecycle (`CreateUserApiKey`, `ListUserApiKeys`,
5
- * `RevokeUserApiKey`).
5
+ * `RevokeUserApiKey`) — plus {@link CursorBackendClient.serviceRpc} for the
6
+ * odd unary call on another `aiserver.v1` service under the same token.
6
7
  *
7
8
  * Plain `fetch` POSTs with proto-JSON bodies and zod-validated responses:
8
9
  * agent-serve is a published package and should not pull the generated
@@ -26,7 +27,7 @@ import { z } from "zod";
26
27
  import { boundedToolAnnotations } from "../mcp-host.js";
27
28
  import { CURSOR_SESSION_EXCHANGE_PATH, CursorSessionExchangeError, exchangeCursorApiKeyForSession, SESSION_TOKEN_EXPIRY_LEEWAY_MS, } from "./session-token.js";
28
29
  const CLIENT_VERSION = "agent-serve-0.1.0";
29
- const SERVICE_PREFIX = "/aiserver.v1.DashboardService";
30
+ const DASHBOARD_SERVICE = "DashboardService";
30
31
  const LIST_TIMEOUT_MS = 60000;
31
32
  /** Backend-executed tools call out to third-party servers; be generous. */
32
33
  const EXECUTE_TIMEOUT_MS = 120000;
@@ -144,11 +145,11 @@ const executeResponseSchema = z.object({
144
145
  // Shared request machinery (used by the client and the login-time mint)
145
146
  // ============================================================================
146
147
  /** One DashboardService Connect-JSON POST; auth is the caller's bearer. */
147
- function dashboardRpc(args) {
148
+ function connectRpc(args) {
148
149
  return __awaiter(this, void 0, void 0, function* () {
149
150
  var _a;
150
151
  try {
151
- return yield args.fetchImpl(`${args.backendUrl}${SERVICE_PREFIX}/${args.method}`, {
152
+ return yield args.fetchImpl(`${args.backendUrl}/aiserver.v1.${args.service}/${args.method}`, {
152
153
  method: "POST",
153
154
  headers: Object.assign({ "content-type": "application/json", authorization: `Bearer ${args.bearer}`, "x-ghost-mode": "true", "x-cursor-client-version": CLIENT_VERSION, "x-cursor-client-type": "agent-serve", "x-request-id": randomUUID() }, args.extraHeaders),
154
155
  body: JSON.stringify((_a = args.body) !== null && _a !== void 0 ? _a : {}),
@@ -313,16 +314,27 @@ export class CursorBackendClient {
313
314
  return githubTokenResponseSchema.parse(parsed);
314
315
  });
315
316
  }
317
+ /**
318
+ * One unary Connect-JSON call on `aiserver.v1.<service>` with the same
319
+ * token exchange and 401 retry as the dashboard RPCs. Callers parse the
320
+ * proto-JSON response themselves.
321
+ */
322
+ serviceRpc(service, method, body, timeoutMs = LIST_TIMEOUT_MS) {
323
+ return this.rpc(method, body, timeoutMs, { service });
324
+ }
316
325
  rpc(method_1, body_1) {
317
326
  return __awaiter(this, arguments, void 0, function* (method, body, timeoutMs = LIST_TIMEOUT_MS, options) {
318
327
  var _a, _b;
328
+ var _c;
329
+ const service = (_c = options === null || options === void 0 ? void 0 : options.service) !== null && _c !== void 0 ? _c : DASHBOARD_SERVICE;
319
330
  const extraHeaders = (options === null || options === void 0 ? void 0 : options.teamId) === undefined
320
331
  ? undefined
321
332
  : { "x-cursor-team-id": String(options.teamId) };
322
333
  const bearer = yield this.getAccessToken();
323
- const first = yield dashboardRpc({
334
+ const first = yield connectRpc({
324
335
  fetchImpl: this.fetchImpl,
325
336
  backendUrl: this.backendUrl,
337
+ service,
326
338
  method,
327
339
  bearer,
328
340
  body,
@@ -340,9 +352,10 @@ export class CursorBackendClient {
340
352
  this.token = undefined;
341
353
  }
342
354
  const retryBearer = yield this.getAccessToken();
343
- const second = yield dashboardRpc({
355
+ const second = yield connectRpc({
344
356
  fetchImpl: this.fetchImpl,
345
357
  backendUrl: this.backendUrl,
358
+ service,
346
359
  method,
347
360
  bearer: retryBearer,
348
361
  body,
@@ -421,11 +434,12 @@ export class CursorBackendClient {
421
434
  export function createUserApiKeyWithSessionToken(args) {
422
435
  return __awaiter(this, void 0, void 0, function* () {
423
436
  var _a;
424
- const response = yield dashboardRpc({
437
+ const response = yield connectRpc({
425
438
  fetchImpl: (_a = args.fetchImpl) !== null && _a !== void 0 ? _a : fetch,
426
439
  backendUrl: args.backendUrl.endsWith("/")
427
440
  ? args.backendUrl.slice(0, -1)
428
441
  : args.backendUrl,
442
+ service: DASHBOARD_SERVICE,
429
443
  method: "CreateUserApiKey",
430
444
  bearer: args.sessionToken,
431
445
  body: { name: args.keyName },
@@ -463,9 +477,10 @@ export function revokeMintedUserApiKey(args) {
463
477
  const backendUrl = args.backendUrl.endsWith("/")
464
478
  ? args.backendUrl.slice(0, -1)
465
479
  : args.backendUrl;
466
- const listResponse = yield dashboardRpc({
480
+ const listResponse = yield connectRpc({
467
481
  fetchImpl,
468
482
  backendUrl,
483
+ service: DASHBOARD_SERVICE,
469
484
  method: "ListUserApiKeys",
470
485
  bearer: args.sessionToken,
471
486
  body: {},
@@ -479,9 +494,10 @@ export function revokeMintedUserApiKey(args) {
479
494
  // lagging replica — skip rather than touch any other key.
480
495
  return;
481
496
  }
482
- const revokeResponse = yield dashboardRpc({
497
+ const revokeResponse = yield connectRpc({
483
498
  fetchImpl,
484
499
  backendUrl,
500
+ service: DASHBOARD_SERVICE,
485
501
  method: "RevokeUserApiKey",
486
502
  bearer: args.sessionToken,
487
503
  body: { id: match.id },
@@ -12,4 +12,15 @@ export declare const DEFAULT_AGENT_SERVE_FRAMEWORK_STORE_SOURCE_ID_FILE = "/run/
12
12
  export declare function resolveDeploymentStoreSourceIdSync(env?: NodeJS.ProcessEnv): string | undefined;
13
13
  /** Engine framework store: env, then task-bind file. */
14
14
  export declare function resolveFrameworkStoreSourceIdSync(env?: NodeJS.ProcessEnv): string | undefined;
15
+ export type CursorManagedV2StoreIds = {
16
+ deploymentStoreSourceId: string;
17
+ frameworkStoreSourceId: string;
18
+ };
19
+ /**
20
+ * Resolve the complete managed-v2 store identity at the process boundary.
21
+ *
22
+ * Freeze snapshots construct storage before task bind, so callers keep this
23
+ * resolver lazy. Once an operation needs storage, both ids are mandatory.
24
+ */
25
+ export declare function requireCursorManagedV2StoreIdsSync(env?: NodeJS.ProcessEnv): CursorManagedV2StoreIds;
15
26
  //# sourceMappingURL=hosted-store-secrets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hosted-store-secrets.d.ts","sourceRoot":"","sources":["../../../src/internal/cursor/hosted-store-secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,eAAO,MAAM,wCAAwC,oDACF,CAAC;AAEpD,eAAO,MAAM,kDAAkD,8DACF,CAAC;AA4B9D,4DAA4D;AAC5D,wBAAgB,kCAAkC,CAChD,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,SAAS,CAUpB;AAED,wDAAwD;AACxD,wBAAgB,iCAAiC,CAC/C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,SAAS,CAUpB"}
1
+ {"version":3,"file":"hosted-store-secrets.d.ts","sourceRoot":"","sources":["../../../src/internal/cursor/hosted-store-secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,eAAO,MAAM,wCAAwC,oDACF,CAAC;AAEpD,eAAO,MAAM,kDAAkD,8DACF,CAAC;AA4B9D,4DAA4D;AAC5D,wBAAgB,kCAAkC,CAChD,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,SAAS,CAUpB;AAED,wDAAwD;AACxD,wBAAgB,iCAAiC,CAC/C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,SAAS,CAUpB;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAChD,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,uBAAuB,CAYzB"}
@@ -46,3 +46,18 @@ export function resolveFrameworkStoreSourceIdSync(env = process.env) {
46
46
  }
47
47
  return readBoundSecretFile(FRAMEWORK_STORE_SOURCE_ID_FILE_ENV, DEFAULT_AGENT_SERVE_FRAMEWORK_STORE_SOURCE_ID_FILE, env);
48
48
  }
49
+ /**
50
+ * Resolve the complete managed-v2 store identity at the process boundary.
51
+ *
52
+ * Freeze snapshots construct storage before task bind, so callers keep this
53
+ * resolver lazy. Once an operation needs storage, both ids are mandatory.
54
+ */
55
+ export function requireCursorManagedV2StoreIdsSync(env = process.env) {
56
+ const deploymentStoreSourceId = resolveDeploymentStoreSourceIdSync(env);
57
+ const frameworkStoreSourceId = resolveFrameworkStoreSourceIdSync(env);
58
+ if (deploymentStoreSourceId === undefined ||
59
+ frameworkStoreSourceId === undefined) {
60
+ throw new Error("Cursor-managed AgentSDK v2 requires AGENT_SERVE_STORE_SOURCE_ID and AGENT_SERVE_FRAMEWORK_STORE_SOURCE_ID");
61
+ }
62
+ return { deploymentStoreSourceId, frameworkStoreSourceId };
63
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * `agent/ab.ts` or `agent/ab/*.ts` plus `agent/ab.config.ts`: live A/B experiments.
3
+ */
4
+ import type { ABConfigFile } from "../../ab.js";
5
+ import type { DiscoveredAB } from "../../types.js";
6
+ import { type DiscoveryContext } from "./context.js";
7
+ export declare function loadABs(ctx: DiscoveryContext, agentDir: string): Promise<DiscoveredAB[]>;
8
+ export declare function loadABConfig(ctx: DiscoveryContext, agentDir: string): Promise<ABConfigFile | undefined>;
9
+ //# sourceMappingURL=ab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ab.d.ts","sourceRoot":"","sources":["../../../src/internal/discovery/ab.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,KAAK,gBAAgB,EAAe,MAAM,cAAc,CAAC;AAUlE,wBAAsB,OAAO,CAC3B,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,EAAE,CAAC,CA+CzB;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAyBnC"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * `agent/ab.ts` or `agent/ab/*.ts` plus `agent/ab.config.ts`: live A/B experiments.
3
+ */
4
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
+ return new (P || (P = Promise))(function (resolve, reject) {
7
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
11
+ });
12
+ };
13
+ import { basename, extname, join, relative } from "node:path";
14
+ import { displayPath } from "./context.js";
15
+ import { findModuleFile, isDirectory, isModuleFile, toPosix, walkFiles, } from "./fs.js";
16
+ import { importDefault } from "./modules.js";
17
+ export function loadABs(ctx, agentDir) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ const abs = [];
20
+ const seen = new Set();
21
+ const single = yield findModuleFile(agentDir, "ab");
22
+ if (single !== undefined) {
23
+ const definition = yield importDefault(ctx, single, "ab");
24
+ if (definition !== undefined) {
25
+ const name = resolveABName(definition, "ab");
26
+ seen.add(name);
27
+ abs.push({
28
+ name,
29
+ definition: definition,
30
+ });
31
+ }
32
+ }
33
+ const absDir = join(agentDir, "ab");
34
+ if (yield isDirectory(absDir)) {
35
+ for (const filePath of yield walkFiles(absDir)) {
36
+ if (!isModuleFile(basename(filePath))) {
37
+ continue;
38
+ }
39
+ const rel = toPosix(relative(absDir, filePath));
40
+ const stem = rel.slice(0, -extname(rel).length);
41
+ const definition = yield importDefault(ctx, filePath, "ab");
42
+ if (definition === undefined) {
43
+ continue;
44
+ }
45
+ const name = resolveABName(definition, stem);
46
+ if (seen.has(name)) {
47
+ ctx.diagnostics.push({
48
+ severity: "error",
49
+ path: displayPath(ctx, filePath),
50
+ message: `Duplicate A/B experiment name ${JSON.stringify(name)}.`,
51
+ });
52
+ continue;
53
+ }
54
+ seen.add(name);
55
+ abs.push({
56
+ name,
57
+ definition: definition,
58
+ });
59
+ }
60
+ }
61
+ return abs;
62
+ });
63
+ }
64
+ export function loadABConfig(ctx, agentDir) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ const path = yield findModuleFile(agentDir, "ab.config");
67
+ if (path === undefined) {
68
+ return undefined;
69
+ }
70
+ try {
71
+ const mod = yield ctx.importModule(path);
72
+ if (mod.default === null || typeof mod.default !== "object") {
73
+ ctx.diagnostics.push({
74
+ severity: "error",
75
+ path: displayPath(ctx, path),
76
+ message: "ab.config.ts must default-export defineABConfig({ ... }) from @cursor/july/ab.",
77
+ });
78
+ return undefined;
79
+ }
80
+ return mod.default;
81
+ }
82
+ catch (error) {
83
+ ctx.diagnostics.push({
84
+ severity: "error",
85
+ path: displayPath(ctx, path),
86
+ message: `Failed to load ab.config: ${error instanceof Error ? error.message : String(error)}`,
87
+ });
88
+ return undefined;
89
+ }
90
+ });
91
+ }
92
+ function resolveABName(definition, fallback) {
93
+ if (typeof definition === "object" &&
94
+ definition !== null &&
95
+ "name" in definition &&
96
+ typeof definition.name === "string" &&
97
+ definition.name.length > 0) {
98
+ return definition.name;
99
+ }
100
+ return fallback;
101
+ }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * `agent/agent.ts`: model, runtime architecture, working directory, hosting, and concurrency.
3
+ */
4
+ import { type AgentArchitecture, type AgentConcurrencyOptions, type AgentConfigDefinition, type AgentHostingOptions, type AgentRuntime, type ModelSetting } from "../../types.js";
5
+ import { type DiscoveryContext } from "./context.js";
6
+ export declare function runtimeArchitectureCompatibilityError(agent: {
7
+ runtime: AgentRuntime;
8
+ architecture?: AgentArchitecture;
9
+ }): string | undefined;
10
+ export declare function resolveArchitecture(ctx: DiscoveryContext, agentDir: string, architecture: AgentArchitecture | undefined): AgentArchitecture | undefined;
11
+ /** Absolute harness cwd parent, or undefined when unset / blank. */
12
+ export declare function resolveAgentCwd(ctx: DiscoveryContext, authored: string | undefined): string | undefined;
13
+ /**
14
+ * Nested git checkouts inherit ancestor AGENTS.md / .cursor rules and MCP.
15
+ * Point those harnesses at ~/.cache/agent-serve/<dir> unless the agent
16
+ * already set cwd or workspaceDir.
17
+ */
18
+ export declare function resolveLocalCwd(ctx: DiscoveryContext, authoredCwd: string | undefined, authoredWorkspaceDir: string | undefined): Promise<string | undefined>;
19
+ /**
20
+ * Validate the authored `hosting` block against the same grammar the
21
+ * backend enforces on deploy. Violations are warning diagnostics (reported
22
+ * by `agent-sdk validate`), not hard failures: the backend stays
23
+ * authoritative and `agent-sdk deploy` re-checks before any network call.
24
+ */
25
+ export declare function resolveHosting(ctx: DiscoveryContext, agentDir: string, hosting: AgentHostingOptions | undefined): AgentHostingOptions | undefined;
26
+ /**
27
+ * Validate the authored `concurrency` block. Invalid values are **error**
28
+ * diagnostics (serve refuses to start): silently dropping a turn ceiling
29
+ * would fail open to unlimited parallelism, the opposite of what the
30
+ * author asked for.
31
+ */
32
+ export declare function resolveConcurrency(ctx: DiscoveryContext, agentDir: string, concurrency: AgentConcurrencyOptions | undefined): AgentConcurrencyOptions | undefined;
33
+ export declare function loadAgentConfig(ctx: DiscoveryContext, agentDir: string, isRoot: boolean): Promise<AgentConfigDefinition | undefined>;
34
+ export declare function isValidModelSetting(model: unknown): model is ModelSetting;
35
+ //# sourceMappingURL=agent-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-config.d.ts","sourceRoot":"","sources":["../../../src/internal/discovery/agent-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,YAAY,EAEjB,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AASxB,OAAO,EAAE,KAAK,gBAAgB,EAAwB,MAAM,cAAc,CAAC;AAI3E,wBAAgB,qCAAqC,CAAC,KAAK,EAAE;IAC3D,OAAO,EAAE,YAAY,CAAC;IACtB,YAAY,CAAC,EAAE,iBAAiB,CAAC;CAClC,GAAG,MAAM,GAAG,SAAS,CAIrB;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,iBAAiB,GAAG,SAAS,GAC1C,iBAAiB,GAAG,SAAS,CAc/B;AAED,oEAAoE;AACpE,wBAAgB,eAAe,CAC7B,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,GAAG,SAAS,CASpB;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,gBAAgB,EACrB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,oBAAoB,EAAE,MAAM,GAAG,SAAS,GACvC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAY7B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,mBAAmB,GAAG,SAAS,GACvC,mBAAmB,GAAG,SAAS,CAyCjC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,uBAAuB,GAAG,SAAS,GAC/C,uBAAuB,GAAG,SAAS,CAmBrC;AAED,wBAAsB,eAAe,CACnC,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CA4B5C;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAUzE"}
@@ -0,0 +1,173 @@
1
+ /**
2
+ * `agent/agent.ts`: model, runtime architecture, working directory, hosting, and concurrency.
3
+ */
4
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
+ return new (P || (P = Promise))(function (resolve, reject) {
7
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
11
+ });
12
+ };
13
+ import { basename, isAbsolute, join, resolve } from "node:path";
14
+ import { MAX_RUNNING_TURNS_LIMIT, } from "../../types.js";
15
+ import { normalizePositiveInt } from "../bounded-int.js";
16
+ import { isReservedSecretName, MAX_EGRESS_DOMAINS, validateEgressDomain, validateSecretName, } from "../hosting.js";
17
+ import { defaultLocalHarnessCwd, isNestedInGitRepo } from "../workspace.js";
18
+ import { displayPath, isBlank } from "./context.js";
19
+ import { findModuleFile } from "./fs.js";
20
+ import { importDefault } from "./modules.js";
21
+ export function runtimeArchitectureCompatibilityError(agent) {
22
+ return agent.architecture === "v2" && agent.runtime === "grokbot"
23
+ ? 'architecture: "v2" cannot use runtime: "grokbot": the grokbot runtime executes through the signed-in account\'s hosted /v0/grokbot box, not a deployment-scoped v2 runtime.'
24
+ : undefined;
25
+ }
26
+ export function resolveArchitecture(ctx, agentDir, architecture) {
27
+ if (architecture === undefined ||
28
+ architecture === "v1" ||
29
+ architecture === "v2") {
30
+ return architecture;
31
+ }
32
+ ctx.diagnostics.push({
33
+ severity: "error",
34
+ path: displayPath(ctx, join(agentDir, "agent.ts")),
35
+ message: `architecture must be "v1" or "v2"; got ${JSON.stringify(architecture)}.`,
36
+ });
37
+ return undefined;
38
+ }
39
+ /** Absolute harness cwd parent, or undefined when unset / blank. */
40
+ export function resolveAgentCwd(ctx, authored) {
41
+ if (authored === undefined) {
42
+ return undefined;
43
+ }
44
+ const trimmed = authored.trim();
45
+ if (trimmed === "") {
46
+ return undefined;
47
+ }
48
+ return isAbsolute(trimmed) ? trimmed : resolve(ctx.rootDir, trimmed);
49
+ }
50
+ /**
51
+ * Nested git checkouts inherit ancestor AGENTS.md / .cursor rules and MCP.
52
+ * Point those harnesses at ~/.cache/agent-serve/<dir> unless the agent
53
+ * already set cwd or workspaceDir.
54
+ */
55
+ export function resolveLocalCwd(ctx, authoredCwd, authoredWorkspaceDir) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ const cwd = resolveAgentCwd(ctx, authoredCwd);
58
+ if (cwd !== undefined) {
59
+ return cwd;
60
+ }
61
+ if (resolveAgentCwd(ctx, authoredWorkspaceDir) !== undefined) {
62
+ return undefined;
63
+ }
64
+ if (!(yield isNestedInGitRepo(ctx.rootDir))) {
65
+ return undefined;
66
+ }
67
+ return defaultLocalHarnessCwd(basename(ctx.rootDir));
68
+ });
69
+ }
70
+ /**
71
+ * Validate the authored `hosting` block against the same grammar the
72
+ * backend enforces on deploy. Violations are warning diagnostics (reported
73
+ * by `agent-sdk validate`), not hard failures: the backend stays
74
+ * authoritative and `agent-sdk deploy` re-checks before any network call.
75
+ */
76
+ export function resolveHosting(ctx, agentDir, hosting) {
77
+ var _a, _b;
78
+ if (hosting === undefined) {
79
+ return undefined;
80
+ }
81
+ const agentPath = displayPath(ctx, join(agentDir, "agent.ts"));
82
+ const warn = (message) => {
83
+ ctx.diagnostics.push({ severity: "warning", path: agentPath, message });
84
+ };
85
+ const egressDomains = (_a = hosting.egressDomains) !== null && _a !== void 0 ? _a : [];
86
+ for (const domain of egressDomains) {
87
+ const domainError = validateEgressDomain(domain);
88
+ if (domainError !== undefined) {
89
+ warn(`hosting.egressDomains: ${domainError}`);
90
+ }
91
+ }
92
+ if (egressDomains.length > MAX_EGRESS_DOMAINS) {
93
+ warn(`hosting.egressDomains lists ${egressDomains.length} domains; deploys are capped at ${MAX_EGRESS_DOMAINS}.`);
94
+ }
95
+ for (const name of (_b = hosting.secretNames) !== null && _b !== void 0 ? _b : []) {
96
+ const nameError = validateSecretName(name);
97
+ if (nameError !== undefined) {
98
+ warn(`hosting.secretNames: ${nameError}`);
99
+ }
100
+ else if (isReservedSecretName(name)) {
101
+ warn(`hosting.secretNames: ${JSON.stringify(name)} is platform-managed (CURSOR_* / reserved hosted-storage names); omit it from secretNames.`);
102
+ }
103
+ }
104
+ return Object.assign(Object.assign({}, (hosting.egressDomains === undefined
105
+ ? {}
106
+ : { egressDomains: [...hosting.egressDomains] })), (hosting.secretNames === undefined
107
+ ? {}
108
+ : { secretNames: [...hosting.secretNames] }));
109
+ }
110
+ /**
111
+ * Validate the authored `concurrency` block. Invalid values are **error**
112
+ * diagnostics (serve refuses to start): silently dropping a turn ceiling
113
+ * would fail open to unlimited parallelism, the opposite of what the
114
+ * author asked for.
115
+ */
116
+ export function resolveConcurrency(ctx, agentDir, concurrency) {
117
+ if (concurrency === undefined || concurrency.maxRunningTurns === undefined) {
118
+ return undefined;
119
+ }
120
+ try {
121
+ return {
122
+ maxRunningTurns: normalizePositiveInt(concurrency.maxRunningTurns, {
123
+ label: "concurrency.maxRunningTurns",
124
+ max: MAX_RUNNING_TURNS_LIMIT,
125
+ }),
126
+ };
127
+ }
128
+ catch (error) {
129
+ ctx.diagnostics.push({
130
+ severity: "error",
131
+ path: displayPath(ctx, join(agentDir, "agent.ts")),
132
+ message: error instanceof Error ? error.message : String(error),
133
+ });
134
+ return undefined;
135
+ }
136
+ }
137
+ export function loadAgentConfig(ctx, agentDir, isRoot) {
138
+ return __awaiter(this, void 0, void 0, function* () {
139
+ const configPath = yield findModuleFile(agentDir, "agent");
140
+ if (configPath === undefined) {
141
+ ctx.diagnostics.push({
142
+ severity: "error",
143
+ path: displayPath(ctx, join(agentDir, "agent.ts")),
144
+ message: isRoot
145
+ ? "agent.ts is required on the root agent: default-export defineAgent({ ... })"
146
+ : "agent.ts is required on a subagent: default-export defineAgent({ description: ... })",
147
+ });
148
+ return undefined;
149
+ }
150
+ const definition = yield importDefault(ctx, configPath, "agent");
151
+ if (definition === undefined) {
152
+ return undefined;
153
+ }
154
+ const config = definition;
155
+ if (!isRoot && isBlank(config.description)) {
156
+ ctx.diagnostics.push({
157
+ severity: "error",
158
+ path: displayPath(ctx, configPath),
159
+ message: "Subagents require a description; the parent model reads it to decide when to delegate.",
160
+ });
161
+ }
162
+ return config;
163
+ });
164
+ }
165
+ export function isValidModelSetting(model) {
166
+ if (typeof model === "string") {
167
+ return model.trim() !== "";
168
+ }
169
+ return (typeof model === "object" &&
170
+ model !== null &&
171
+ typeof model.id === "string" &&
172
+ model.id.trim() !== "");
173
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Compile one `agent/` directory (and its subagents) into a {@link ResolvedAgent}.
3
+ */
4
+ import { type ResolvedAgent } from "../../types.js";
5
+ import { type DiscoveryContext } from "./context.js";
6
+ export declare function loadAgent(ctx: DiscoveryContext, agentDir: string, options: {
7
+ name: string;
8
+ isRoot: boolean;
9
+ }): Promise<ResolvedAgent>;
10
+ export declare function warnUnknownSlots(ctx: DiscoveryContext, agentDir: string): Promise<void>;
11
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/internal/discovery/agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAkBnE,OAAO,EAAE,KAAK,gBAAgB,EAAe,MAAM,cAAc,CAAC;AAelE,wBAAsB,SAAS,CAC7B,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GACzC,OAAO,CAAC,aAAa,CAAC,CAyNxB;AAqDD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CA4Cf"}