@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
@@ -8,8 +8,8 @@
8
8
  />
9
9
  <meta name="viewport" content="width=device-width, initial-scale=1" />
10
10
  <title>agent-serve playground</title>
11
- <script type="module" crossorigin src="./assets/index-BnNN1-EK.js"></script>
12
- <link rel="stylesheet" crossorigin href="./assets/index-DBQCwFp0.css">
11
+ <script type="module" crossorigin src="./assets/index-ZqNoT8Ie.js"></script>
12
+ <link rel="stylesheet" crossorigin href="./assets/index-B6C9S9nG.css">
13
13
  </head>
14
14
  <body>
15
15
  <div id="root"></div>
@@ -1,43 +1,37 @@
1
1
  /**
2
2
  * Durable session KV contract: key families plus a tolerant SessionRecord
3
- * decoder. This is the lockstep surface for the control plane (see
4
- * `backend/server/src/agentServe/durableSessionProtocol.ts`) so a dashboard
5
- * list can read Bugbot KV without importing `@cursor/july`.
3
+ * decoder. Architecture v1 remains in lockstep with the Bugbot-backed control
4
+ * plane. Architecture v2 uses the same key shape under its AgentSDK root.
6
5
  *
7
6
  * Additive JSON only — unknown fields are ignored.
8
7
  */
8
+ /** Legacy architecture-v1 storage root. */
9
+ export declare const STORAGE_KEY_ROOT: "agentkit/v1";
9
10
  /**
10
- * Framework-owned key root. All {@link storageKeys} values live under this
11
- * prefix so a shared store can route or namespace Agent SDK data.
11
+ * Architecture-v2 storage root. Hard cutoff: v2 writes and reads this
12
+ * prefix only. Existing `agentkit/v1` v2 objects are not migrated.
12
13
  */
13
- export declare const STORAGE_KEY_ROOT: "agentkit/v1";
14
+ export declare const AGENTSDK_STORAGE_KEY_ROOT: "agentsdk/v1";
14
15
  /**
15
- * The framework-owned key scheme. Keys are a **stable, versioned contract**
16
- * under {@link STORAGE_KEY_ROOT}: sinks may treat them as opaque strings, or
17
- * route on prefixes (e.g. event chunks to object storage, everything else
18
- * to a database). Channel ids and continuation tokens are the only segments
19
- * that may contain caller-controlled characters; they are URI-encoded, and
20
- * a segment whose encoding exceeds {@link MAX_KEY_SEGMENT_BYTES} is replaced
21
- * by a `sha256:…` digest — so every minted key has a bounded length that any
22
- * backend (VARCHAR columns, btree index tuples, S3 key limits) can store,
23
- * no matter what a caller stuffs into a token. The substitution is
24
- * deterministic: writes and continuation lookups build the same key.
16
+ * Build the framework-owned key scheme under one versioned root. Channel ids
17
+ * and continuation tokens are URI-encoded, and oversized segments are
18
+ * replaced by a deterministic `sha256:…` digest.
25
19
  *
26
20
  * | Key | Value |
27
21
  * | --- | --- |
28
- * | `agentkit/v1/{agent}/session/{sessionId}` | `SessionRecord` |
29
- * | `agentkit/v1/{agent}/session-events/{sessionId}/{index}` | `SessionEvent[]` chunk (index = first event's index, zero-padded) |
30
- * | `agentkit/v1/{agent}/session-runs/{sessionPublicId}` | One session-level hosted-execution log (executions[] + lastFailure) |
31
- * | `agentkit/v1/{agent}/logs/{logId}` | Hosted engine stdout/stderr tee (on-disk `start.log`; `ses_…` after send, `wf:{workflowId}` on admission failure) |
32
- * | `agentkit/v1/{agent}/continuation/{channelId}/{token}` | `{ sessionId }` |
33
- * | `agentkit/v1/{agent}/kv/{key}` | Author JSON via `HostContext.kv` |
22
+ * | `{root}/{agent}/session/{sessionId}` | `SessionRecord` |
23
+ * | `{root}/{agent}/session-events/{sessionId}/{index}` | `SessionEvent[]` chunk (index = first event's index, zero-padded) |
24
+ * | `{root}/{agent}/session-runs/{sessionPublicId}` | One session-level hosted-execution log (executions[] + lastFailure) |
25
+ * | `{root}/{agent}/logs/{logId}` | Hosted engine stdout/stderr tee (on-disk `start.log`; `ses_…` after send, `wf:{workflowId}` on admission failure) |
26
+ * | `{root}/{agent}/continuation/{channelId}/{token}` | `{ sessionId }` |
27
+ * | `{root}/{agent}/kv/{key}` | Author JSON via `HostContext.kv` |
34
28
  *
35
29
  * The `eval-runs` / `ab-samples` / `ab-snapshot` families are minted only
36
30
  * by the tables `defineStorage` derives over the KV core; a backend that
37
31
  * authors dedicated `StorageConfig.evals` / `StorageConfig.abs` groups never
38
32
  * sees them.
39
33
  */
40
- export declare const storageKeys: {
34
+ declare function createStorageKeys(root: string): {
41
35
  readonly session: (agent: string, sessionId: string) => string;
42
36
  readonly sessionPrefix: (agent: string) => string;
43
37
  readonly sessionEvents: (agent: string, sessionId: string, firstIndex: number) => string;
@@ -77,6 +71,12 @@ export declare const storageKeys: {
77
71
  /** Latest aggregate A/B snapshot (derived `abs` table, LWW). */
78
72
  readonly abSnapshot: (agent: string) => string;
79
73
  };
74
+ export type StorageKeys = ReturnType<typeof createStorageKeys>;
75
+ /** Architecture-v1 keys. Kept stable for existing deployments. */
76
+ export declare const storageKeys: StorageKeys;
77
+ /** Architecture-v2 keys. Hard cutoff onto {@link AGENTSDK_STORAGE_KEY_ROOT}. */
78
+ export declare const agentSdkStorageKeys: StorageKeys;
79
+ export declare function storageKeysForArchitecture(architecture: "v1" | "v2" | undefined): StorageKeys;
80
80
  /**
81
81
  * Max bytes a caller-controlled key segment may occupy after URI-encoding.
82
82
  * Chosen so full keys stay well under common backend limits (Postgres btree
@@ -146,4 +146,5 @@ export declare function summarizeDurableSessionRecord(args: {
146
146
  * might write. Both this package and the CP decoder must accept it.
147
147
  */
148
148
  export declare const GOLDEN_DURABLE_SESSION_RECORD: Record<string, unknown>;
149
+ export {};
149
150
  //# sourceMappingURL=storage-protocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage-protocol.d.ts","sourceRoot":"","sources":["../src/storage-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage-protocol.d.ts","sourceRoot":"","sources":["../src/storage-protocol.ts"],"names":[],"mappings":"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"}
@@ -1,88 +1,91 @@
1
1
  /**
2
2
  * Durable session KV contract: key families plus a tolerant SessionRecord
3
- * decoder. This is the lockstep surface for the control plane (see
4
- * `backend/server/src/agentServe/durableSessionProtocol.ts`) so a dashboard
5
- * list can read Bugbot KV without importing `@cursor/july`.
3
+ * decoder. Architecture v1 remains in lockstep with the Bugbot-backed control
4
+ * plane. Architecture v2 uses the same key shape under its AgentSDK root.
6
5
  *
7
6
  * Additive JSON only — unknown fields are ignored.
8
7
  */
9
8
  import { createHash } from "node:crypto";
9
+ /** Legacy architecture-v1 storage root. */
10
+ export const STORAGE_KEY_ROOT = "agentkit/v1";
10
11
  /**
11
- * Framework-owned key root. All {@link storageKeys} values live under this
12
- * prefix so a shared store can route or namespace Agent SDK data.
12
+ * Architecture-v2 storage root. Hard cutoff: v2 writes and reads this
13
+ * prefix only. Existing `agentkit/v1` v2 objects are not migrated.
13
14
  */
14
- export const STORAGE_KEY_ROOT = "agentkit/v1";
15
+ export const AGENTSDK_STORAGE_KEY_ROOT = "agentsdk/v1";
15
16
  /**
16
- * Exact session-record keys: `agentkit/v1/{agent}/session/{sessionId}`.
17
+ * Exact session-record keys: `{agentkit|agentsdk}/v1/{agent}/session/{sessionId}`.
17
18
  * Rejects `session-events/` and the CP-owned `_cp` agent name.
18
19
  */
19
- const DURABLE_SESSION_RECORD_KEY_RE = /^agentkit\/v1\/([^/]+)\/session\/([^/]+)$/;
20
+ const DURABLE_SESSION_RECORD_KEY_RE = /^(agentkit|agentsdk)\/v1\/([^/]+)\/session\/([^/]+)$/;
20
21
  /**
21
- * The framework-owned key scheme. Keys are a **stable, versioned contract**
22
- * under {@link STORAGE_KEY_ROOT}: sinks may treat them as opaque strings, or
23
- * route on prefixes (e.g. event chunks to object storage, everything else
24
- * to a database). Channel ids and continuation tokens are the only segments
25
- * that may contain caller-controlled characters; they are URI-encoded, and
26
- * a segment whose encoding exceeds {@link MAX_KEY_SEGMENT_BYTES} is replaced
27
- * by a `sha256:…` digest — so every minted key has a bounded length that any
28
- * backend (VARCHAR columns, btree index tuples, S3 key limits) can store,
29
- * no matter what a caller stuffs into a token. The substitution is
30
- * deterministic: writes and continuation lookups build the same key.
22
+ * Build the framework-owned key scheme under one versioned root. Channel ids
23
+ * and continuation tokens are URI-encoded, and oversized segments are
24
+ * replaced by a deterministic `sha256:…` digest.
31
25
  *
32
26
  * | Key | Value |
33
27
  * | --- | --- |
34
- * | `agentkit/v1/{agent}/session/{sessionId}` | `SessionRecord` |
35
- * | `agentkit/v1/{agent}/session-events/{sessionId}/{index}` | `SessionEvent[]` chunk (index = first event's index, zero-padded) |
36
- * | `agentkit/v1/{agent}/session-runs/{sessionPublicId}` | One session-level hosted-execution log (executions[] + lastFailure) |
37
- * | `agentkit/v1/{agent}/logs/{logId}` | Hosted engine stdout/stderr tee (on-disk `start.log`; `ses_…` after send, `wf:{workflowId}` on admission failure) |
38
- * | `agentkit/v1/{agent}/continuation/{channelId}/{token}` | `{ sessionId }` |
39
- * | `agentkit/v1/{agent}/kv/{key}` | Author JSON via `HostContext.kv` |
28
+ * | `{root}/{agent}/session/{sessionId}` | `SessionRecord` |
29
+ * | `{root}/{agent}/session-events/{sessionId}/{index}` | `SessionEvent[]` chunk (index = first event's index, zero-padded) |
30
+ * | `{root}/{agent}/session-runs/{sessionPublicId}` | One session-level hosted-execution log (executions[] + lastFailure) |
31
+ * | `{root}/{agent}/logs/{logId}` | Hosted engine stdout/stderr tee (on-disk `start.log`; `ses_…` after send, `wf:{workflowId}` on admission failure) |
32
+ * | `{root}/{agent}/continuation/{channelId}/{token}` | `{ sessionId }` |
33
+ * | `{root}/{agent}/kv/{key}` | Author JSON via `HostContext.kv` |
40
34
  *
41
35
  * The `eval-runs` / `ab-samples` / `ab-snapshot` families are minted only
42
36
  * by the tables `defineStorage` derives over the KV core; a backend that
43
37
  * authors dedicated `StorageConfig.evals` / `StorageConfig.abs` groups never
44
38
  * sees them.
45
39
  */
46
- export const storageKeys = {
47
- session: (agent, sessionId) => `${STORAGE_KEY_ROOT}/${agent}/session/${sessionId}`,
48
- sessionPrefix: (agent) => `${STORAGE_KEY_ROOT}/${agent}/session/`,
49
- sessionEvents: (agent, sessionId, firstIndex) => `${STORAGE_KEY_ROOT}/${agent}/session-events/${sessionId}/${String(firstIndex).padStart(8, "0")}`,
50
- sessionEventsPrefix: (agent, sessionId) => `${STORAGE_KEY_ROOT}/${agent}/session-events/${sessionId}/`,
51
- /**
52
- * One session-level hosted-execution log (v2 only). `sessionPublicId` is
53
- * the factory `ses_…` so a throw that never minted a July session still
54
- * lands under a stable key. Per-execution rows live inside the document.
55
- */
56
- sessionRun: (agent, sessionPublicId) => `${STORAGE_KEY_ROOT}/${agent}/session-runs/${keySegment(sessionPublicId)}`,
57
- sessionRunsPrefix: (agent) => `${STORAGE_KEY_ROOT}/${agent}/session-runs/`,
58
- /**
59
- * The v2 customer log: the engine stdout/stderr tee (on-disk `start.log`).
60
- * `logId` is the factory `ses_…` after a `send`, or
61
- * `wf:{workflowId}` / `wf:{workflowId}/{runId}` when admission fails
62
- * before a session exists. Skip/task admissions do not write this key.
63
- * Stored as raw UTF-8, not JSON the file store accepts 64 MiB
64
- * objects, and this key is flushed in snapshots, not per line.
65
- */
66
- log: (agent, logId) => `${STORAGE_KEY_ROOT}/${agent}/logs/${keySegment(logId)}`,
67
- logsPrefix: (agent) => `${STORAGE_KEY_ROOT}/${agent}/logs/`,
68
- continuation: (agent, channelId, continuationKey) => `${STORAGE_KEY_ROOT}/${agent}/continuation/${keySegment(channelId)}/${keySegment(continuationKey)}`,
69
- /**
70
- * Author-facing opaque JSON (see `HostContext.kv`). `key` is URI-encoded /
71
- * digested like other caller-controlled segments.
72
- */
73
- kv: (agent, key) => `${STORAGE_KEY_ROOT}/${agent}/kv/${keySegment(key)}`,
74
- kvPrefix: (agent) => `${STORAGE_KEY_ROOT}/${agent}/kv/`,
75
- /** One playground eval-run snapshot (derived `evals` table). */
76
- evalRun: (agent, runId) => `${STORAGE_KEY_ROOT}/${agent}/eval-runs/${keySegment(runId)}`,
77
- evalRunsPrefix: (agent) => `${STORAGE_KEY_ROOT}/${agent}/eval-runs/`,
78
- /**
79
- * One A/B metric sample (derived `abs` table); the segments mirror the
80
- * dedicated table's row identity (experiment + sessionId + at).
81
- */
82
- abSample: (agent, experiment, sessionId, at) => `${STORAGE_KEY_ROOT}/${agent}/ab-samples/${keySegment(experiment)}/${keySegment(sessionId)}/${keySegment(at)}`,
83
- /** Latest aggregate A/B snapshot (derived `abs` table, LWW). */
84
- abSnapshot: (agent) => `${STORAGE_KEY_ROOT}/${agent}/ab-snapshot`,
85
- };
40
+ function createStorageKeys(root) {
41
+ return {
42
+ session: (agent, sessionId) => `${root}/${agent}/session/${sessionId}`,
43
+ sessionPrefix: (agent) => `${root}/${agent}/session/`,
44
+ sessionEvents: (agent, sessionId, firstIndex) => `${root}/${agent}/session-events/${sessionId}/${String(firstIndex).padStart(8, "0")}`,
45
+ sessionEventsPrefix: (agent, sessionId) => `${root}/${agent}/session-events/${sessionId}/`,
46
+ /**
47
+ * One session-level hosted-execution log (v2 only). `sessionPublicId` is
48
+ * the factory `ses_…` so a throw that never minted a July session still
49
+ * lands under a stable key. Per-execution rows live inside the document.
50
+ */
51
+ sessionRun: (agent, sessionPublicId) => `${root}/${agent}/session-runs/${keySegment(sessionPublicId)}`,
52
+ sessionRunsPrefix: (agent) => `${root}/${agent}/session-runs/`,
53
+ /**
54
+ * The v2 customer log: the engine stdout/stderr tee (on-disk `start.log`).
55
+ * `logId` is the factory `ses_…` after a `send`, or
56
+ * `wf:{workflowId}` / `wf:{workflowId}/{runId}` when admission fails
57
+ * before a session exists. Skip/task admissions do not write this key.
58
+ * Stored as raw UTF-8, not JSON the file store accepts 64 MiB
59
+ * objects, and this key is flushed in snapshots, not per line.
60
+ */
61
+ log: (agent, logId) => `${root}/${agent}/logs/${keySegment(logId)}`,
62
+ logsPrefix: (agent) => `${root}/${agent}/logs/`,
63
+ continuation: (agent, channelId, continuationKey) => `${root}/${agent}/continuation/${keySegment(channelId)}/${keySegment(continuationKey)}`,
64
+ /**
65
+ * Author-facing opaque JSON (see `HostContext.kv`). `key` is URI-encoded /
66
+ * digested like other caller-controlled segments.
67
+ */
68
+ kv: (agent, key) => `${root}/${agent}/kv/${keySegment(key)}`,
69
+ kvPrefix: (agent) => `${root}/${agent}/kv/`,
70
+ /** One playground eval-run snapshot (derived `evals` table). */
71
+ evalRun: (agent, runId) => `${root}/${agent}/eval-runs/${keySegment(runId)}`,
72
+ evalRunsPrefix: (agent) => `${root}/${agent}/eval-runs/`,
73
+ /**
74
+ * One A/B metric sample (derived `abs` table); the segments mirror the
75
+ * dedicated table's row identity (experiment + sessionId + at).
76
+ */
77
+ abSample: (agent, experiment, sessionId, at) => `${root}/${agent}/ab-samples/${keySegment(experiment)}/${keySegment(sessionId)}/${keySegment(at)}`,
78
+ /** Latest aggregate A/B snapshot (derived `abs` table, LWW). */
79
+ abSnapshot: (agent) => `${root}/${agent}/ab-snapshot`,
80
+ };
81
+ }
82
+ /** Architecture-v1 keys. Kept stable for existing deployments. */
83
+ export const storageKeys = createStorageKeys(STORAGE_KEY_ROOT);
84
+ /** Architecture-v2 keys. Hard cutoff onto {@link AGENTSDK_STORAGE_KEY_ROOT}. */
85
+ export const agentSdkStorageKeys = createStorageKeys(AGENTSDK_STORAGE_KEY_ROOT);
86
+ export function storageKeysForArchitecture(architecture) {
87
+ return architecture === "v2" ? agentSdkStorageKeys : storageKeys;
88
+ }
86
89
  /**
87
90
  * Max bytes a caller-controlled key segment may occupy after URI-encoding.
88
91
  * Chosen so full keys stay well under common backend limits (Postgres btree
@@ -127,7 +130,7 @@ export function keySegment(raw) {
127
130
  }
128
131
  export function isDurableSessionRecordKey(key) {
129
132
  const match = DURABLE_SESSION_RECORD_KEY_RE.exec(key);
130
- return match !== null && match[1] !== "_cp";
133
+ return match !== null && match[2] !== "_cp";
131
134
  }
132
135
  function isRecord(value) {
133
136
  return typeof value === "object" && value !== null && !Array.isArray(value);
package/dist/storage.d.ts CHANGED
@@ -54,8 +54,8 @@ import type { ABMetricSample } from "./ab.js";
54
54
  import type { EvalRunSnapshot } from "./evals.js";
55
55
  import type { ABSnapshot } from "./internal/ab-snapshot.js";
56
56
  import type { JsonValue, KvCasResult, KvVersionedEntry } from "./types.js";
57
- export type { DurableSessionRecord, DurableSessionSummary, } from "./storage-protocol.js";
58
- export { frameworkStartLogId, GOLDEN_DURABLE_SESSION_RECORD, isDurableSessionRecordKey, keySegment, MAX_KEY_SEGMENT_BYTES, parseDurableSessionRecord, STORAGE_KEY_ROOT, storageKeys, summarizeDurableSessionRecord, } from "./storage-protocol.js";
57
+ export type { DurableSessionRecord, DurableSessionSummary, StorageKeys, } from "./storage-protocol.js";
58
+ export { AGENTSDK_STORAGE_KEY_ROOT, agentSdkStorageKeys, frameworkStartLogId, GOLDEN_DURABLE_SESSION_RECORD, isDurableSessionRecordKey, keySegment, MAX_KEY_SEGMENT_BYTES, parseDurableSessionRecord, STORAGE_KEY_ROOT, storageKeys, storageKeysForArchitecture, summarizeDurableSessionRecord, } from "./storage-protocol.js";
59
59
  /** One `{ key, value }` pair returned by {@link StorageConfig.list}. */
60
60
  export interface StorageEntry {
61
61
  key: string;
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
package/dist/storage.js CHANGED
@@ -61,7 +61,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
61
61
  };
62
62
  import { brandDefinition } from "./internal/brand.js";
63
63
  import { storageKeys } from "./storage-protocol.js";
64
- export { frameworkStartLogId, GOLDEN_DURABLE_SESSION_RECORD, isDurableSessionRecordKey, keySegment, MAX_KEY_SEGMENT_BYTES, parseDurableSessionRecord, STORAGE_KEY_ROOT, storageKeys, summarizeDurableSessionRecord, } from "./storage-protocol.js";
64
+ export { AGENTSDK_STORAGE_KEY_ROOT, agentSdkStorageKeys, frameworkStartLogId, GOLDEN_DURABLE_SESSION_RECORD, isDurableSessionRecordKey, keySegment, MAX_KEY_SEGMENT_BYTES, parseDurableSessionRecord, STORAGE_KEY_ROOT, storageKeys, storageKeysForArchitecture, summarizeDurableSessionRecord, } from "./storage-protocol.js";
65
65
  /**
66
66
  * Author the project storage sink (`agent/storage.ts`, default
67
67
  * export). See the module doc for semantics and an example.
package/dist/tools.d.ts CHANGED
@@ -52,8 +52,17 @@
52
52
  * ```
53
53
  */
54
54
  import type { z } from "zod";
55
+ import { forwardTimeArgument, missingTimeWindow, schemaTimeWindowKeys } from "./internal/as-of.js";
56
+ import { classifyAnnotationsEffect } from "./internal/tool-policy.js";
55
57
  import type { JsonObject, JsonSchemaObject, ToolContext, ToolDefinition, ToolEffectDeclaration, ToolExecuteResult, ToolNeedsApproval } from "./types.js";
56
58
  export type { HostMcpCallResult, HostMcpRegistry, HostMcpToolInfo, ToolConfig, ToolContext, ToolDefinition, ToolEffect, ToolEffectDeclaration, ToolExecuteResult, ToolExecution, ToolNeedsApproval, ToolResultContent, } from "./types.js";
59
+ /**
60
+ * Time-window and effect classifiers the host applies to every tool call.
61
+ * Re-exported for tools that reach other tools themselves (change-monitor
62
+ * `script`): inner calls skip the host gate, so the sandbox applies the same
63
+ * forward-time, omitted-window, and read-only filters.
64
+ */
65
+ export { classifyAnnotationsEffect, forwardTimeArgument, missingTimeWindow, schemaTimeWindowKeys, };
57
66
  /** Input type for `execute`: inferred from a zod schema, JSON otherwise. */
58
67
  export type ToolInput<TSchema> = TSchema extends z.ZodTypeAny ? z.infer<TSchema> : JsonObject;
59
68
  type ServerToolConfig<TSchema> = {
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,4EAA4E;AAC5E,MAAM,MAAM,SAAS,CAAC,OAAO,IAAI,OAAO,SAAS,CAAC,CAAC,UAAU,GACzD,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAChB,UAAU,CAAC;AAEf,KAAK,gBAAgB,CAAC,OAAO,IAAI;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC,UAAU,GAAG,gBAAgB,CAAC;IAC/C,aAAa,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD;;;OAGG;IACH,MAAM,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,0DAA0D;IAC1D,YAAY,CAAC,EACT,iBAAiB,GACjB,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,iBAAiB,CAAC,CAAC;IACvD,OAAO,EAAE,CACP,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,EACzB,GAAG,EAAE,WAAW,KACb,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpD,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,KAAK,eAAe,CAAC,OAAO,IAAI;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,CAAC,CAAC,UAAU,GAAG,gBAAgB,CAAC;IAC/C;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,uEAAuE;IACvE,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB;;;;OAIG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,YAAY,CAAC,EAAE,KAAK,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACxB,OAAO,SAAS,CAAC,CAAC,UAAU,GAAG,gBAAgB,GAAG,SAAS,GAAG,SAAS,EAEvE,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,GAC3D,cAAc,CAEhB"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB;;;;;GAKG;AACH,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,GACrB,CAAC;AAEF,4EAA4E;AAC5E,MAAM,MAAM,SAAS,CAAC,OAAO,IAAI,OAAO,SAAS,CAAC,CAAC,UAAU,GACzD,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAChB,UAAU,CAAC;AAEf,KAAK,gBAAgB,CAAC,OAAO,IAAI;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC,UAAU,GAAG,gBAAgB,CAAC;IAC/C,aAAa,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD;;;OAGG;IACH,MAAM,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,0DAA0D;IAC1D,YAAY,CAAC,EACT,iBAAiB,GACjB,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,iBAAiB,CAAC,CAAC;IACvD,OAAO,EAAE,CACP,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,EACzB,GAAG,EAAE,WAAW,KACb,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpD,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,KAAK,eAAe,CAAC,OAAO,IAAI;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,CAAC,CAAC,UAAU,GAAG,gBAAgB,CAAC;IAC/C;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,uEAAuE;IACvE,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB;;;;OAIG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,YAAY,CAAC,EAAE,KAAK,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACxB,OAAO,SAAS,CAAC,CAAC,UAAU,GAAG,gBAAgB,GAAG,SAAS,GAAG,SAAS,EAEvE,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,GAC3D,cAAc,CAEhB"}
package/dist/tools.js CHANGED
@@ -51,7 +51,16 @@
51
51
  * });
52
52
  * ```
53
53
  */
54
+ import { forwardTimeArgument, missingTimeWindow, schemaTimeWindowKeys, } from "./internal/as-of.js";
54
55
  import { brandDefinition } from "./internal/brand.js";
56
+ import { classifyAnnotationsEffect } from "./internal/tool-policy.js";
57
+ /**
58
+ * Time-window and effect classifiers the host applies to every tool call.
59
+ * Re-exported for tools that reach other tools themselves (change-monitor
60
+ * `script`): inner calls skip the host gate, so the sandbox applies the same
61
+ * forward-time, omitted-window, and read-only filters.
62
+ */
63
+ export { classifyAnnotationsEffect, forwardTimeArgument, missingTimeWindow, schemaTimeWindowKeys, };
55
64
  /**
56
65
  * Define a tool. With a zod `inputSchema` the input is validated before
57
66
  * `execute` runs and typed via inference; with a plain JSON Schema object
package/dist/types.d.ts CHANGED
@@ -25,7 +25,7 @@ export type JsonSchemaObject = Record<string, unknown>;
25
25
  * Discriminates the `define*` helper that produced a module's default export
26
26
  * so discovery can validate that a file landed in the right authored slot.
27
27
  */
28
- export type DefinitionKind = "agent" | "instructions" | "tool" | "skill" | "extension" | "disabled-tool" | "connection" | "channel" | "http-channel" | "schedule" | "reminder" | "hook" | "eval" | "ab" | "storage" | "artifacts" | "otel";
28
+ export type DefinitionKind = "agent" | "instructions" | "tool" | "skill" | "extension" | "disabled-tool" | "disabled-connection" | "connection" | "channel" | "http-channel" | "schedule" | "reminder" | "hook" | "eval" | "ab" | "storage" | "artifacts" | "otel";
29
29
  export interface BrandedDefinition<K extends DefinitionKind> {
30
30
  readonly __agentServe: K;
31
31
  }
@@ -720,6 +720,13 @@ export interface ToolContext {
720
720
  emit?: (payload: SessionEventPayload) => void;
721
721
  /** The session's frozen `asOf`, or the wall clock. Use instead of `Date.now()`. */
722
722
  now(): Date;
723
+ /**
724
+ * The session's frozen instant (ISO-8601), when it has one. Present exactly
725
+ * when this is an `asOf` session. A tool that reaches other tools itself —
726
+ * the script sandbox — reads it to apply the same forward-time guard to the
727
+ * calls it makes, which do not pass back through the host's gate.
728
+ */
729
+ asOf?: string;
723
730
  }
724
731
  /**
725
732
  * Where a tool's body runs.
@@ -893,21 +900,46 @@ export interface Extension<TConfig = undefined, TInput = TConfig> extends Extens
893
900
  /** The mounted configuration (schema defaults applied); throws before the mount. */
894
901
  readonly config: TConfig;
895
902
  }
896
- /** The mount-independent part of an {@link Extension}. */
903
+ /** The mount-independent part of an {@link Extension}: an agent-shaped tree. */
897
904
  export interface ExtensionDeclaration {
898
905
  readonly root: string;
899
906
  readonly description: string | undefined;
900
907
  }
908
+ /** A Cursor plugin directory declared by `cursorPlugin`. */
909
+ export interface CursorPluginDeclaration extends ExtensionDeclaration {
910
+ readonly layout: "cursor-plugin";
911
+ readonly variables: Record<string, string>;
912
+ }
901
913
  /** What `agent/extensions/<ns>.ts` default-exports. */
902
914
  export interface ExtensionMount extends BrandedDefinition<"extension"> {
903
- readonly extension: ExtensionDeclaration;
915
+ readonly extension: ExtensionDeclaration | CursorPluginDeclaration;
904
916
  readonly config: unknown;
905
917
  }
918
+ /** `cursorPlugin({ ... })`: mount a Cursor plugin directory as an extension. */
919
+ export interface CursorPluginOptions {
920
+ /**
921
+ * The plugin directory: the one holding `.cursor-plugin/plugin.json`
922
+ * (or `.claude-plugin/plugin.json` / `plugin.json`). A relative path
923
+ * resolves against the project root.
924
+ */
925
+ path: string;
926
+ /**
927
+ * Values for the `${NAME}` placeholders in the plugin's MCP config, the
928
+ * variables a Cursor install prompts for. Names the mount omits fall back
929
+ * to `process.env`; a placeholder nothing resolves fails discovery.
930
+ */
931
+ variables?: Record<string, string>;
932
+ }
906
933
  /**
907
934
  * `export default disableTool()` in a directory mount's `tools/<name>.ts`
908
935
  * removes the extension's `<ns>__<name>`.
909
936
  */
910
937
  export type DisabledToolDefinition = BrandedDefinition<"disabled-tool">;
938
+ /**
939
+ * `export default disableConnection()` in a directory mount's
940
+ * `mcp-connections/<server>.ts` removes the extension's `<ns>__<server>`.
941
+ */
942
+ export type DisabledConnectionDefinition = BrandedDefinition<"disabled-connection">;
911
943
  /** One mounted extension and the names it contributed. */
912
944
  export interface DiscoveredExtension {
913
945
  /** Mount namespace: the filename stem or directory name under `agent/extensions/`. */
@@ -917,6 +949,10 @@ export interface DiscoveredExtension {
917
949
  tools: string[];
918
950
  /** Composed skill names (`<ns>__<name>`), overrides applied. */
919
951
  skills: string[];
952
+ /** Composed MCP connection names (`<ns>__<server>`); Cursor plugin mounts. */
953
+ connections: string[];
954
+ /** Composed subagent names (`<ns>__<agent>`); Cursor plugin mounts. */
955
+ subagents: string[];
920
956
  }
921
957
  /**
922
958
  * Transport for an MCP connection, mirroring the Cursor SDK's