@cursor/bdk 0.2.2 → 0.2.4

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 (697) hide show
  1. package/AGENTS.md +1 -1
  2. package/dist/bin/agent-serve.js +32 -8
  3. package/dist/channels/github/auth.d.ts.map +1 -1
  4. package/dist/channels/github/auth.js +36 -5
  5. package/dist/channels/slack/attachments.d.ts +2 -1
  6. package/dist/channels/slack/attachments.d.ts.map +1 -1
  7. package/dist/channels/slack/attachments.js +19 -9
  8. package/dist/channels/slack/dispatch.d.ts.map +1 -1
  9. package/dist/channels/slack/dispatch.js +26 -24
  10. package/dist/channels/slack/thread-context.d.ts +21 -11
  11. package/dist/channels/slack/thread-context.d.ts.map +1 -1
  12. package/dist/channels/slack/thread-context.js +75 -27
  13. package/dist/connections.d.ts +1 -1
  14. package/dist/connections.js +1 -1
  15. package/dist/docs/404.html +2 -2
  16. package/dist/docs/assets/{app.DtYVVVyK.js → app.4kQ8Db_q.js} +4 -4
  17. package/dist/docs/assets/chunks/@localSearchIndexroot.CvuAJ0My.js +1 -0
  18. package/dist/docs/assets/chunks/{VPLocalSearchBox.D47xT7J4.js → VPLocalSearchBox.DY1RwB8Q.js} +1 -1
  19. package/dist/docs/assets/chunks/{arc.CDJ6xzxR.js → arc.CxE_fSPK.js} +1 -1
  20. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.l1Xnjd3N.js → architectureDiagram-Q4EWVU46.CPX426ui.js} +1 -1
  21. package/dist/docs/assets/chunks/{baseUniq.x-finShZ.js → baseUniq.CB52JrKG.js} +1 -1
  22. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.COC3qynH.js → blockDiagram-DXYQGD6D.J0cNaQCL.js} +1 -1
  23. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.DdQO850E.js → c4Diagram-AHTNJAMY.DJn3vEGT.js} +1 -1
  24. package/dist/docs/assets/chunks/channel.BoNycAoN.js +1 -0
  25. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.Dpn8omLk.js → chunk-4BX2VUAB.Dao618F6.js} +1 -1
  26. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.C0XWStUN.js → chunk-4TB4RGXK.QW8Rhjai.js} +1 -1
  27. package/dist/docs/assets/chunks/{chunk-55IACEB6.DsKSZfIM.js → chunk-55IACEB6.DfRLLKF_.js} +1 -1
  28. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.dNU6JDu6.js → chunk-EDXVE4YY.CIV2ApKQ.js} +1 -1
  29. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.DN41fxKE.js → chunk-FMBD7UC4.BEheSuxp.js} +1 -1
  30. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.COpKCZus.js → chunk-OYMX7WX6.CUN88ENB.js} +1 -1
  31. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.HDB-azx2.js → chunk-QZHKN3VN.CgqCs8b_.js} +1 -1
  32. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.DEeX_a2j.js → chunk-YZCP3GAM.iCH0nnTJ.js} +1 -1
  33. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.C4x07Gkj.js +1 -0
  34. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.C4x07Gkj.js +1 -0
  35. package/dist/docs/assets/chunks/clone.Db22cH_-.js +1 -0
  36. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.C3yGL2A8.js → cose-bilkent-S5V4N54A.BLcUxhWE.js} +1 -1
  37. package/dist/docs/assets/chunks/{dagre-KV5264BT.Bpl24en4.js → dagre-KV5264BT.Ep7LofOm.js} +1 -1
  38. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.nFco6seU.js → diagram-5BDNPKRD.Bzf4GSQ4.js} +1 -1
  39. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.DXhA6DWR.js → diagram-G4DWMVQ6.DD6Jh-eM.js} +1 -1
  40. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.8GoOYcwk.js → diagram-MMDJMWI5.oOIl8bWd.js} +1 -1
  41. package/dist/docs/assets/chunks/{diagram-TYMM5635.DDBlqvlJ.js → diagram-TYMM5635.DHs85Ade.js} +1 -1
  42. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.vl_N81P4.js → erDiagram-SMLLAGMA.BIb5ghCk.js} +1 -1
  43. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.Cteg8g7I.js → flowDiagram-DWJPFMVM.DV4paY9k.js} +1 -1
  44. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.D4aMhlMM.js → ganttDiagram-T4ZO3ILL.AyEKA6_v.js} +1 -1
  45. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.DF_J0D4q.js → gitGraphDiagram-UUTBAWPF.BltiCDFo.js} +1 -1
  46. package/dist/docs/assets/chunks/{graph.DJs0LDCf.js → graph.DzuEYGdC.js} +1 -1
  47. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.Bb-4RQwg.js → infoDiagram-42DDH7IO.BV2l981J.js} +1 -1
  48. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.DEtQRSbc.js → ishikawaDiagram-UXIWVN3A.BA4Izf-m.js} +1 -1
  49. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.DhQQ75FA.js → journeyDiagram-VCZTEJTY.DjaFbFS3.js} +1 -1
  50. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.C4gEw3Rk.js → kanban-definition-6JOO6SKY.CfTFieDs.js} +1 -1
  51. package/dist/docs/assets/chunks/{layout.DT-PGlXa.js → layout.DzfWqTBV.js} +1 -1
  52. package/dist/docs/assets/chunks/{linear.BMMe__JW.js → linear.BO6mpulV.js} +1 -1
  53. package/dist/docs/assets/chunks/{min.XyaU9K9Q.js → min.BGgTadgT.js} +1 -1
  54. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.CbBM6xZ-.js → mindmap-definition-QFDTVHPH.DPuIXVWY.js} +1 -1
  55. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.DFJoIVou.js → pieDiagram-DEJITSTG.BOnl3bBg.js} +1 -1
  56. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.CQjkDYqb.js → quadrantDiagram-34T5L4WZ.DNB6Ckdc.js} +1 -1
  57. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.D-mK-JQu.js → requirementDiagram-MS252O5E.D5-Qo7vb.js} +1 -1
  58. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.BStQInpd.js → sankeyDiagram-XADWPNL6.8t65cesf.js} +1 -1
  59. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.CA_eooPJ.js → sequenceDiagram-FGHM5R23.CaG07BdS.js} +1 -1
  60. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.BXl-b7ad.js → stateDiagram-FHFEXIEX.TKOweTB6.js} +1 -1
  61. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.CuqmyQc4.js +1 -0
  62. package/dist/docs/assets/chunks/{theme.q37tOs4x.js → theme.Dx-JhpTB.js} +2 -2
  63. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.vjuaGOSe.js → timeline-definition-GMOUNBTQ.fE53zQ2s.js} +1 -1
  64. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.BxduJl-F.js → vennDiagram-DHZGUBPP.DJsZZaJg.js} +1 -1
  65. package/dist/docs/assets/chunks/wardley-RL74JXVD.844kyrjl.js +162 -0
  66. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.D1z3ds0D.js → wardleyDiagram-NUSXRM2D.CMZ-Ru_t.js} +1 -1
  67. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.CRU5Ti9b.js → xychartDiagram-5P7HB3ND.XXrhBc7a.js} +1 -1
  68. package/dist/docs/assets/{deployment.md.nGo1yIsa.js → deployment.md.UhnJIMr-.js} +6 -9
  69. package/dist/docs/assets/{deployment.md.nGo1yIsa.lean.js → deployment.md.UhnJIMr-.lean.js} +1 -1
  70. package/dist/docs/assets/{guides_github.md.C2_DSWlE.js → guides_github.md.Bq9kQU9B.js} +9 -3
  71. package/dist/docs/assets/{guides_github.md.C2_DSWlE.lean.js → guides_github.md.Bq9kQU9B.lean.js} +1 -1
  72. package/dist/docs/assets/{guides_jev.md.BNDm14Gy.js → guides_jev.md.CRcgmjDb.js} +2 -2
  73. package/dist/docs/assets/{guides_jev.md.BNDm14Gy.lean.js → guides_jev.md.CRcgmjDb.lean.js} +1 -1
  74. package/dist/docs/assets/{guides_slack.md.ZbHQETOT.js → guides_slack.md.diqqXTTm.js} +2 -2
  75. package/dist/docs/assets/{guides_slack.md.ZbHQETOT.lean.js → guides_slack.md.diqqXTTm.lean.js} +1 -1
  76. package/dist/docs/assets/{quickstart.md.wG4shE1f.js → quickstart.md.CHpHPBUN.js} +5 -3
  77. package/dist/docs/assets/{quickstart.md.wG4shE1f.lean.js → quickstart.md.CHpHPBUN.lean.js} +1 -1
  78. package/dist/docs/assets/{reference_agent-config.md.DzGI777n.js → reference_agent-config.md.Cj5uBKp4.js} +1 -1
  79. package/dist/docs/assets/{reference_artifacts.md.CFMNPreZ.js → reference_artifacts.md.CQfKq8F2.js} +1 -1
  80. package/dist/docs/assets/reference_cli.md.DgeLTO18.js +91 -0
  81. package/dist/docs/assets/reference_cli.md.DgeLTO18.lean.js +1 -0
  82. package/dist/docs/assets/{reference_connections.md._XpKiOaF.js → reference_connections.md.COq--gAm.js} +7 -3
  83. package/dist/docs/assets/{reference_connections.md._XpKiOaF.lean.js → reference_connections.md.COq--gAm.lean.js} +1 -1
  84. package/dist/docs/assets/{reference_evals.md.DqNyHMA6.js → reference_evals.md.CJm3uCUm.js} +4 -4
  85. package/dist/docs/assets/{reference_evals.md.DqNyHMA6.lean.js → reference_evals.md.CJm3uCUm.lean.js} +1 -1
  86. package/dist/docs/assets/{reference_extensions.md.CPPrkWlJ.js → reference_extensions.md.pa2tN-e4.js} +4 -3
  87. package/dist/docs/assets/{reference_extensions.md.CPPrkWlJ.lean.js → reference_extensions.md.pa2tN-e4.lean.js} +1 -1
  88. package/dist/docs/assets/{reference_skills.md.CRFTxt9M.js → reference_skills.md.Cy00QMKS.js} +3 -3
  89. package/dist/docs/assets/{reference_skills.md.CRFTxt9M.lean.js → reference_skills.md.Cy00QMKS.lean.js} +1 -1
  90. package/dist/docs/assets/troubleshooting.md.Cw5PKa3t.js +1 -0
  91. package/dist/docs/assets/{troubleshooting.md.BzZSu1Gz.lean.js → troubleshooting.md.Cw5PKa3t.lean.js} +1 -1
  92. package/dist/docs/building-with-agents.html +35 -35
  93. package/dist/docs/deployment.html +41 -44
  94. package/dist/docs/deployment.md +49 -16
  95. package/dist/docs/evals.html +35 -35
  96. package/dist/docs/guides/agent-to-agent.html +35 -35
  97. package/dist/docs/guides/bitbucket.html +35 -35
  98. package/dist/docs/guides/cloud-agents.html +35 -35
  99. package/dist/docs/guides/convert-automation.html +35 -35
  100. package/dist/docs/guides/github.html +43 -37
  101. package/dist/docs/guides/github.md +34 -0
  102. package/dist/docs/guides/gitlab.html +35 -35
  103. package/dist/docs/guides/grokbot-agents.html +35 -35
  104. package/dist/docs/guides/hooks.html +35 -35
  105. package/dist/docs/guides/improve.html +35 -35
  106. package/dist/docs/guides/jev.html +37 -37
  107. package/dist/docs/guides/jev.md +7 -0
  108. package/dist/docs/guides/mcp-oauth.html +35 -35
  109. package/dist/docs/guides/opentelemetry.html +35 -35
  110. package/dist/docs/guides/slack.html +37 -37
  111. package/dist/docs/guides/slack.md +5 -0
  112. package/dist/docs/guides/webhooks.html +35 -35
  113. package/dist/docs/hashmap.json +1 -1
  114. package/dist/docs/hillclimbing.html +35 -35
  115. package/dist/docs/index.html +35 -35
  116. package/dist/docs/llms-full.txt +223 -94
  117. package/dist/docs/quickstart.html +40 -38
  118. package/dist/docs/quickstart.md +7 -1
  119. package/dist/docs/reference/agent-config.html +37 -37
  120. package/dist/docs/reference/agent-config.md +1 -1
  121. package/dist/docs/reference/artifacts.html +37 -37
  122. package/dist/docs/reference/artifacts.md +1 -1
  123. package/dist/docs/reference/channels.html +35 -35
  124. package/dist/docs/reference/cli.html +55 -61
  125. package/dist/docs/reference/cli.md +65 -63
  126. package/dist/docs/reference/connections.html +42 -38
  127. package/dist/docs/reference/connections.md +28 -2
  128. package/dist/docs/reference/evals.html +39 -39
  129. package/dist/docs/reference/evals.md +6 -7
  130. package/dist/docs/reference/extensions.html +39 -38
  131. package/dist/docs/reference/extensions.md +13 -0
  132. package/dist/docs/reference/hooks.html +35 -35
  133. package/dist/docs/reference/http-api.html +35 -35
  134. package/dist/docs/reference/instructions.html +35 -35
  135. package/dist/docs/reference/playground.html +35 -35
  136. package/dist/docs/reference/project-layout.html +35 -35
  137. package/dist/docs/reference/prompt.html +35 -35
  138. package/dist/docs/reference/schedules.html +35 -35
  139. package/dist/docs/reference/sessions.html +35 -35
  140. package/dist/docs/reference/skills.html +38 -38
  141. package/dist/docs/reference/subagents.html +35 -35
  142. package/dist/docs/reference/tools.html +35 -35
  143. package/dist/docs/templates/agentic-owners.html +35 -35
  144. package/dist/docs/templates/security-reviewer.html +35 -35
  145. package/dist/docs/templates/thermo-quality-review.html +35 -35
  146. package/dist/docs/templates/thermo-review.html +35 -35
  147. package/dist/docs/templates/triage.html +35 -35
  148. package/dist/docs/troubleshooting.html +36 -36
  149. package/dist/docs/troubleshooting.md +7 -3
  150. package/dist/extensions/cursor-grokbot-agents/extension.d.ts +77 -0
  151. package/dist/extensions/cursor-grokbot-agents/extension.d.ts.map +1 -0
  152. package/dist/extensions/cursor-grokbot-agents/extension.js +63 -0
  153. package/dist/extensions/cursor-grokbot-agents/lib/agents.d.ts +11 -0
  154. package/dist/extensions/cursor-grokbot-agents/lib/agents.d.ts.map +1 -0
  155. package/dist/extensions/cursor-grokbot-agents/lib/agents.js +31 -0
  156. package/dist/extensions/cursor-grokbot-agents/lib/backend.d.ts +56 -0
  157. package/dist/extensions/cursor-grokbot-agents/lib/backend.d.ts.map +1 -0
  158. package/dist/extensions/cursor-grokbot-agents/lib/backend.js +158 -0
  159. package/dist/extensions/cursor-grokbot-agents/lib/contacts.d.ts +28 -0
  160. package/dist/extensions/cursor-grokbot-agents/lib/contacts.d.ts.map +1 -0
  161. package/dist/extensions/cursor-grokbot-agents/lib/contacts.js +59 -0
  162. package/dist/extensions/cursor-grokbot-agents/lib/conversation.d.ts +53 -0
  163. package/dist/extensions/cursor-grokbot-agents/lib/conversation.d.ts.map +1 -0
  164. package/dist/extensions/cursor-grokbot-agents/lib/conversation.js +206 -0
  165. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts +4 -0
  166. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts.map +1 -0
  167. package/dist/extensions/cursor-grokbot-agents/lib/inputs.js +15 -0
  168. package/dist/extensions/cursor-grokbot-agents/lib/lock.d.ts +12 -0
  169. package/dist/extensions/cursor-grokbot-agents/lib/lock.d.ts.map +1 -0
  170. package/dist/extensions/cursor-grokbot-agents/lib/lock.js +25 -0
  171. package/dist/extensions/cursor-grokbot-agents/skills/consult.md +40 -0
  172. package/dist/extensions/cursor-grokbot-agents/tools/ask.d.ts +4 -0
  173. package/dist/extensions/cursor-grokbot-agents/tools/ask.d.ts.map +1 -0
  174. package/dist/extensions/cursor-grokbot-agents/tools/ask.js +37 -0
  175. package/dist/extensions/cursor-grokbot-agents/tools/check.d.ts +4 -0
  176. package/dist/extensions/cursor-grokbot-agents/tools/check.d.ts.map +1 -0
  177. package/dist/extensions/cursor-grokbot-agents/tools/check.js +32 -0
  178. package/dist/extensions/cursor-grokbot-agents/tools/interrupt.d.ts +4 -0
  179. package/dist/extensions/cursor-grokbot-agents/tools/interrupt.d.ts.map +1 -0
  180. package/dist/extensions/cursor-grokbot-agents/tools/interrupt.js +24 -0
  181. package/dist/extensions/cursor-grokbot-agents/tools/list.d.ts +4 -0
  182. package/dist/extensions/cursor-grokbot-agents/tools/list.d.ts.map +1 -0
  183. package/dist/extensions/cursor-grokbot-agents/tools/list.js +34 -0
  184. package/dist/extensions/jev/extension.d.ts +3 -0
  185. package/dist/extensions/jev/extension.d.ts.map +1 -1
  186. package/dist/extensions/jev/extension.js +10 -1
  187. package/dist/extensions/jev/lib/evaluate.d.ts +4 -0
  188. package/dist/extensions/jev/lib/evaluate.d.ts.map +1 -1
  189. package/dist/extensions/jev/lib/evaluate.js +6 -2
  190. package/dist/extensions.d.ts +4 -2
  191. package/dist/extensions.d.ts.map +1 -1
  192. package/dist/extensions.js +5 -2
  193. package/dist/internal/cli-ax.d.ts +1 -0
  194. package/dist/internal/cli-ax.d.ts.map +1 -1
  195. package/dist/internal/cli-ax.js +43 -10
  196. package/dist/internal/cli-deploy.d.ts +5 -1
  197. package/dist/internal/cli-deploy.d.ts.map +1 -1
  198. package/dist/internal/cli-deploy.js +41 -9
  199. package/dist/internal/cli-mcp-oauth.d.ts.map +1 -1
  200. package/dist/internal/cli-mcp-oauth.js +2 -1
  201. package/dist/internal/cli-skills.d.ts +1 -1
  202. package/dist/internal/cli-skills.d.ts.map +1 -1
  203. package/dist/internal/cli-skills.js +5 -5
  204. package/dist/internal/connection-env.d.ts +31 -0
  205. package/dist/internal/connection-env.d.ts.map +1 -0
  206. package/dist/internal/connection-env.js +84 -0
  207. package/dist/internal/cursor/backend-client.js +5 -0
  208. package/dist/internal/deploy-client.d.ts +30 -6
  209. package/dist/internal/deploy-client.d.ts.map +1 -1
  210. package/dist/internal/deploy-client.js +45 -9
  211. package/dist/internal/discovery/agent-config.d.ts +6 -5
  212. package/dist/internal/discovery/agent-config.d.ts.map +1 -1
  213. package/dist/internal/discovery/agent-config.js +29 -28
  214. package/dist/internal/discovery/agent.js +1 -1
  215. package/dist/internal/discovery/connections.d.ts.map +1 -1
  216. package/dist/internal/discovery/connections.js +11 -0
  217. package/dist/internal/discovery/extensions.d.ts.map +1 -1
  218. package/dist/internal/discovery/extensions.js +12 -0
  219. package/dist/internal/hosted-delivery-protocol.d.ts +36 -11
  220. package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
  221. package/dist/internal/hosted-delivery-protocol.js +31 -8
  222. package/dist/internal/hosted-delivery.d.ts +2 -2
  223. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  224. package/dist/internal/hosted-delivery.js +228 -48
  225. package/dist/internal/hosting.d.ts +10 -2
  226. package/dist/internal/hosting.d.ts.map +1 -1
  227. package/dist/internal/hosting.js +33 -3
  228. package/dist/internal/install-cursor-skills.d.ts +20 -24
  229. package/dist/internal/install-cursor-skills.d.ts.map +1 -1
  230. package/dist/internal/install-cursor-skills.js +50 -48
  231. package/dist/internal/legacy-command-guard.d.ts +2 -0
  232. package/dist/internal/legacy-command-guard.d.ts.map +1 -1
  233. package/dist/internal/legacy-command-guard.js +10 -1
  234. package/dist/internal/mcp-host.d.ts +6 -0
  235. package/dist/internal/mcp-host.d.ts.map +1 -1
  236. package/dist/internal/mcp-host.js +35 -16
  237. package/dist/internal/sdk-runner.d.ts +2 -0
  238. package/dist/internal/sdk-runner.d.ts.map +1 -1
  239. package/dist/internal/sdk-runner.js +10 -0
  240. package/dist/internal/server.d.ts.map +1 -1
  241. package/dist/internal/server.js +11 -1
  242. package/dist/internal/session-engine.d.ts.map +1 -1
  243. package/dist/internal/session-engine.js +9 -5
  244. package/dist/types.d.ts +29 -3
  245. package/dist/types.d.ts.map +1 -1
  246. package/docs/deployment.md +49 -16
  247. package/docs/guides/github.md +34 -0
  248. package/docs/guides/jev.md +7 -0
  249. package/docs/guides/slack.md +5 -0
  250. package/docs/quickstart.md +7 -1
  251. package/docs/reference/agent-config.md +1 -1
  252. package/docs/reference/artifacts.md +1 -1
  253. package/docs/reference/cli.md +65 -63
  254. package/docs/reference/connections.md +28 -2
  255. package/docs/reference/evals.md +6 -7
  256. package/docs/reference/extensions.md +13 -0
  257. package/docs/troubleshooting.md +7 -3
  258. package/package.json +1 -11
  259. package/scripts/install-cursor-skills.mjs +1 -1
  260. package/skills/create-agent/SKILL.md +1 -1
  261. package/skills/debug/SKILL.md +1 -1
  262. package/skills/deploy/SKILL.md +1 -1
  263. package/skills/evals/SKILL.md +1 -1
  264. package/skills/framework-map/SKILL.md +1 -1
  265. package/skills/github/SKILL.md +1 -1
  266. package/skills/hillclimb/SKILL.md +1 -1
  267. package/skills/mcp-auth/SKILL.md +1 -1
  268. package/skills/otel/SKILL.md +1 -1
  269. package/skills/setup-slack/SKILL.md +1 -1
  270. package/templates/agents-md/bot/lib/collect.ts +1 -4
  271. package/templates/code-wiki/bot/channels/github.ts +2 -2
  272. package/templates/demo/bot/channels/github.ts +5 -1
  273. package/templates/pr-autofixer/bot/lib/start-drive.ts +4 -4
  274. package/templates/triage/bot/lib/types.ts +6 -6
  275. package/dist/docs/assets/chunks/@localSearchIndexroot.BgTA2tV1.js +0 -1
  276. package/dist/docs/assets/chunks/channel.B2nMEx82.js +0 -1
  277. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.D8iCH2ve.js +0 -1
  278. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.D8iCH2ve.js +0 -1
  279. package/dist/docs/assets/chunks/clone.5XNLjby0.js +0 -1
  280. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.yGM2uLZQ.js +0 -1
  281. package/dist/docs/assets/chunks/wardley-RL74JXVD.DKfyIejL.js +0 -162
  282. package/dist/docs/assets/reference_cli.md.BK2QUH67.js +0 -97
  283. package/dist/docs/assets/reference_cli.md.BK2QUH67.lean.js +0 -1
  284. package/dist/docs/assets/troubleshooting.md.BzZSu1Gz.js +0 -1
  285. package/src/artifacts.ts +0 -68
  286. package/src/bin/agent-serve.ts +0 -1833
  287. package/src/channels/bitbucket/api.ts +0 -891
  288. package/src/channels/bitbucket/binding.ts +0 -417
  289. package/src/channels/bitbucket/bitbucket-channel.ts +0 -162
  290. package/src/channels/bitbucket/bitbucket-webhook.ts +0 -519
  291. package/src/channels/bitbucket/checks.ts +0 -146
  292. package/src/channels/bitbucket/cursor-account.ts +0 -106
  293. package/src/channels/bitbucket/defaults.ts +0 -100
  294. package/src/channels/bitbucket/events.ts +0 -74
  295. package/src/channels/bitbucket/index.ts +0 -51
  296. package/src/channels/bitbucket/replay.ts +0 -421
  297. package/src/channels/bitbucket/state.ts +0 -59
  298. package/src/channels/bitbucket/types.ts +0 -261
  299. package/src/channels/change-monitors/change-monitors-channel.ts +0 -63
  300. package/src/channels/change-monitors/index.ts +0 -8
  301. package/src/channels/change-monitors/types.ts +0 -42
  302. package/src/channels/checks.ts +0 -185
  303. package/src/channels/deployments/deployments-channel.ts +0 -224
  304. package/src/channels/deployments/index.ts +0 -25
  305. package/src/channels/deployments/types.ts +0 -92
  306. package/src/channels/github/api.ts +0 -526
  307. package/src/channels/github/auth.ts +0 -254
  308. package/src/channels/github/binding.ts +0 -233
  309. package/src/channels/github/checks.ts +0 -145
  310. package/src/channels/github/cursor-account.ts +0 -303
  311. package/src/channels/github/defaults.ts +0 -168
  312. package/src/channels/github/events.ts +0 -67
  313. package/src/channels/github/forward.ts +0 -359
  314. package/src/channels/github/github-channel.ts +0 -2334
  315. package/src/channels/github/index.ts +0 -54
  316. package/src/channels/github/progress.ts +0 -365
  317. package/src/channels/github/replay.ts +0 -372
  318. package/src/channels/github/state.ts +0 -124
  319. package/src/channels/github/types.ts +0 -590
  320. package/src/channels/gitlab/api.ts +0 -329
  321. package/src/channels/gitlab/binding.ts +0 -231
  322. package/src/channels/gitlab/checks.ts +0 -228
  323. package/src/channels/gitlab/cursor-account.ts +0 -105
  324. package/src/channels/gitlab/defaults.ts +0 -80
  325. package/src/channels/gitlab/events.ts +0 -37
  326. package/src/channels/gitlab/gitlab-channel.ts +0 -160
  327. package/src/channels/gitlab/gitlab-webhook.ts +0 -509
  328. package/src/channels/gitlab/index.ts +0 -44
  329. package/src/channels/gitlab/replay.ts +0 -328
  330. package/src/channels/gitlab/state.ts +0 -55
  331. package/src/channels/gitlab/types.ts +0 -247
  332. package/src/channels/issues/index.ts +0 -9
  333. package/src/channels/issues/issues-channel.ts +0 -45
  334. package/src/channels/issues/types.ts +0 -38
  335. package/src/channels/origin/api.ts +0 -507
  336. package/src/channels/origin/binding.ts +0 -114
  337. package/src/channels/origin/checks.ts +0 -250
  338. package/src/channels/origin/cursor-account.ts +0 -58
  339. package/src/channels/origin/defaults.ts +0 -140
  340. package/src/channels/origin/events.ts +0 -35
  341. package/src/channels/origin/index.ts +0 -35
  342. package/src/channels/origin/origin-channel.ts +0 -815
  343. package/src/channels/origin/origin-webhook.ts +0 -296
  344. package/src/channels/origin/reactions.ts +0 -72
  345. package/src/channels/origin/state.ts +0 -54
  346. package/src/channels/origin/types.ts +0 -295
  347. package/src/channels/slack/agentic-delivery.ts +0 -634
  348. package/src/channels/slack/agentic-posted.ts +0 -135
  349. package/src/channels/slack/agentic-signals.ts +0 -231
  350. package/src/channels/slack/api.ts +0 -761
  351. package/src/channels/slack/approvals.ts +0 -279
  352. package/src/channels/slack/assistant.ts +0 -76
  353. package/src/channels/slack/attachments.ts +0 -596
  354. package/src/channels/slack/auth.ts +0 -127
  355. package/src/channels/slack/blocks.ts +0 -131
  356. package/src/channels/slack/bot-mentions.ts +0 -318
  357. package/src/channels/slack/channel-watch.ts +0 -314
  358. package/src/channels/slack/cli-project.ts +0 -249
  359. package/src/channels/slack/code-fences.ts +0 -171
  360. package/src/channels/slack/constants.ts +0 -38
  361. package/src/channels/slack/credentials.ts +0 -88
  362. package/src/channels/slack/defaults.ts +0 -714
  363. package/src/channels/slack/dispatch.ts +0 -1060
  364. package/src/channels/slack/doctor.ts +0 -338
  365. package/src/channels/slack/eval-directive.ts +0 -306
  366. package/src/channels/slack/event-id-dedupe.ts +0 -30
  367. package/src/channels/slack/external-policy.ts +0 -75
  368. package/src/channels/slack/footer.ts +0 -106
  369. package/src/channels/slack/inbound.ts +0 -416
  370. package/src/channels/slack/index.ts +0 -53
  371. package/src/channels/slack/init.ts +0 -169
  372. package/src/channels/slack/interactive.ts +0 -406
  373. package/src/channels/slack/links.ts +0 -23
  374. package/src/channels/slack/live-delivery.ts +0 -489
  375. package/src/channels/slack/log.ts +0 -70
  376. package/src/channels/slack/manifest.ts +0 -240
  377. package/src/channels/slack/message-body.ts +0 -82
  378. package/src/channels/slack/nudge-carrier.ts +0 -224
  379. package/src/channels/slack/nudge-store.ts +0 -334
  380. package/src/channels/slack/paint-start.ts +0 -93
  381. package/src/channels/slack/placeholder.ts +0 -358
  382. package/src/channels/slack/pr-ref.ts +0 -74
  383. package/src/channels/slack/progress-delivery.ts +0 -138
  384. package/src/channels/slack/reasoning-card.ts +0 -125
  385. package/src/channels/slack/reasoning-chip.ts +0 -41
  386. package/src/channels/slack/recording-sink.ts +0 -167
  387. package/src/channels/slack/redact.ts +0 -6
  388. package/src/channels/slack/reply-options.ts +0 -279
  389. package/src/channels/slack/setup.ts +0 -125
  390. package/src/channels/slack/slack-channel.ts +0 -744
  391. package/src/channels/slack/socket-mode.ts +0 -140
  392. package/src/channels/slack/stop.ts +0 -25
  393. package/src/channels/slack/stream.ts +0 -66
  394. package/src/channels/slack/thread-context.ts +0 -485
  395. package/src/channels/slack/tool-approval-events.ts +0 -233
  396. package/src/channels/slack/tool-cards.ts +0 -198
  397. package/src/channels/slack/tool-chip.ts +0 -34
  398. package/src/channels/slack/types.ts +0 -787
  399. package/src/channels/slack/upload.ts +0 -137
  400. package/src/channels.ts +0 -543
  401. package/src/connections.ts +0 -153
  402. package/src/dashboard-session-url.ts +0 -30
  403. package/src/evals/assertions.ts +0 -688
  404. package/src/evals/expect.ts +0 -250
  405. package/src/evals/judge.ts +0 -329
  406. package/src/evals/loaders.ts +0 -111
  407. package/src/evals/matchers.ts +0 -223
  408. package/src/evals/reporters.ts +0 -257
  409. package/src/evals/results.ts +0 -130
  410. package/src/evals/run-facts.ts +0 -306
  411. package/src/evals.ts +0 -709
  412. package/src/extensions/cursor-cloud-agents/extension.ts +0 -131
  413. package/src/extensions/cursor-cloud-agents/lib/backend.ts +0 -386
  414. package/src/extensions/cursor-cloud-agents/lib/channels.ts +0 -11
  415. package/src/extensions/cursor-cloud-agents/lib/fleet.ts +0 -98
  416. package/src/extensions/cursor-cloud-agents/lib/inputs.ts +0 -5
  417. package/src/extensions/cursor-cloud-agents/lib/repos.ts +0 -80
  418. package/src/extensions/cursor-cloud-agents/lib/transcript.ts +0 -19
  419. package/src/extensions/cursor-cloud-agents/skills/handoff.md +0 -37
  420. package/src/extensions/cursor-cloud-agents/tools/cancel.ts +0 -21
  421. package/src/extensions/cursor-cloud-agents/tools/dump.ts +0 -47
  422. package/src/extensions/cursor-cloud-agents/tools/get.ts +0 -18
  423. package/src/extensions/cursor-cloud-agents/tools/launch.ts +0 -62
  424. package/src/extensions/cursor-cloud-agents/tools/list.ts +0 -31
  425. package/src/extensions/cursor-cloud-agents/tools/reply.ts +0 -36
  426. package/src/extensions/improve/extension.ts +0 -69
  427. package/src/extensions/improve/skills/yourself.ts +0 -50
  428. package/src/extensions/jev/extension.ts +0 -95
  429. package/src/extensions/jev/lib/evaluate.ts +0 -266
  430. package/src/extensions/jev/skills/gated-write.md +0 -25
  431. package/src/extensions/jev/skills/questions.md +0 -33
  432. package/src/extensions/jev/tools/evaluate.ts +0 -82
  433. package/src/extensions/slack-communication/evals/harness.ts +0 -705
  434. package/src/extensions/slack-communication/evals/slack-communication.eval.ts +0 -830
  435. package/src/extensions/slack-communication/evals/slack-placeholder.eval.ts +0 -172
  436. package/src/extensions/slack-communication/extension.ts +0 -44
  437. package/src/extensions/slack-communication/skills/slack-voice.ts +0 -56
  438. package/src/extensions/slack-communication/tools/delete-message.ts +0 -33
  439. package/src/extensions/slack-communication/tools/edit-message.ts +0 -42
  440. package/src/extensions/slack-communication/tools/post-card.ts +0 -28
  441. package/src/extensions/slack-communication/tools/post-file.ts +0 -82
  442. package/src/extensions/slack-communication/tools/post-update.ts +0 -40
  443. package/src/extensions/slack-communication/tools/react.ts +0 -30
  444. package/src/extensions/slack-communication/tools/set-status.ts +0 -21
  445. package/src/extensions.ts +0 -179
  446. package/src/files-backends/agent-store-presigned-url.ts +0 -11
  447. package/src/files-backends/cursor-hosted.ts +0 -1212
  448. package/src/files-backends/local-fs.ts +0 -163
  449. package/src/files.ts +0 -293
  450. package/src/filesystem.ts +0 -2005
  451. package/src/hooks.ts +0 -30
  452. package/src/index.ts +0 -259
  453. package/src/internal/advertise-tools.ts +0 -370
  454. package/src/internal/approval-gate.ts +0 -103
  455. package/src/internal/artifacts-store.ts +0 -836
  456. package/src/internal/as-of.ts +0 -257
  457. package/src/internal/auth.ts +0 -46
  458. package/src/internal/authored-alias-hooks.ts +0 -138
  459. package/src/internal/authored-loaders.ts +0 -188
  460. package/src/internal/bounded-int.ts +0 -24
  461. package/src/internal/bounded.ts +0 -25
  462. package/src/internal/brand.ts +0 -28
  463. package/src/internal/browser-origin-guard.ts +0 -67
  464. package/src/internal/builtin-tools/artifacts.ts +0 -62
  465. package/src/internal/builtin-tools/index.ts +0 -53
  466. package/src/internal/builtin-tools/reminders.ts +0 -145
  467. package/src/internal/channel-dispatch.ts +0 -129
  468. package/src/internal/channel-route-dispatch.ts +0 -58
  469. package/src/internal/channel-state.ts +0 -83
  470. package/src/internal/chat-client.ts +0 -594
  471. package/src/internal/cli-ax.ts +0 -2273
  472. package/src/internal/cli-bitbucket.ts +0 -438
  473. package/src/internal/cli-convert-automation.ts +0 -335
  474. package/src/internal/cli-cursor.ts +0 -282
  475. package/src/internal/cli-deploy.ts +0 -2486
  476. package/src/internal/cli-docs.ts +0 -192
  477. package/src/internal/cli-github.ts +0 -806
  478. package/src/internal/cli-gitlab.ts +0 -452
  479. package/src/internal/cli-images.ts +0 -672
  480. package/src/internal/cli-manifest.ts +0 -56
  481. package/src/internal/cli-mcp-oauth.ts +0 -395
  482. package/src/internal/cli-mcp.ts +0 -808
  483. package/src/internal/cli-skills.ts +0 -99
  484. package/src/internal/cli-slack-manual.ts +0 -418
  485. package/src/internal/cli-slack.ts +0 -874
  486. package/src/internal/cloud-merge.ts +0 -51
  487. package/src/internal/cloud-turn-cost.ts +0 -159
  488. package/src/internal/continuation-channel.ts +0 -233
  489. package/src/internal/continuation-identity.ts +0 -935
  490. package/src/internal/conversation-mirror.ts +0 -423
  491. package/src/internal/convert-automation/convert-workflow.ts +0 -1377
  492. package/src/internal/convert-automation/slug.ts +0 -29
  493. package/src/internal/convert-automation/types.ts +0 -212
  494. package/src/internal/cron.ts +0 -76
  495. package/src/internal/cursor/account-mcp.ts +0 -692
  496. package/src/internal/cursor/backend-client.ts +0 -978
  497. package/src/internal/cursor/bound-secret-file.ts +0 -101
  498. package/src/internal/cursor/credentials.ts +0 -560
  499. package/src/internal/cursor/cursor-api-transport.ts +0 -65
  500. package/src/internal/cursor/github-credentials.ts +0 -228
  501. package/src/internal/cursor/hosted-bound-secrets.ts +0 -71
  502. package/src/internal/cursor/hosted-deployment-secrets.ts +0 -100
  503. package/src/internal/cursor/hosted-store-secrets.ts +0 -152
  504. package/src/internal/cursor/session-token.ts +0 -111
  505. package/src/internal/cursor/store-api-client.ts +0 -323
  506. package/src/internal/cursor-account-mcp-auth.ts +0 -303
  507. package/src/internal/cursor-agent-template.ts +0 -50
  508. package/src/internal/cursor-deployment-relay.ts +0 -315
  509. package/src/internal/cursor-event-relay.ts +0 -675
  510. package/src/internal/cursor-relay-core.ts +0 -563
  511. package/src/internal/deferred-channel-session.ts +0 -61
  512. package/src/internal/deploy-client.ts +0 -1504
  513. package/src/internal/deploy-manifest.ts +0 -361
  514. package/src/internal/deploy-source.ts +0 -144
  515. package/src/internal/describe-error.ts +0 -32
  516. package/src/internal/dev-mode.ts +0 -20
  517. package/src/internal/discovery/agent-config.ts +0 -288
  518. package/src/internal/discovery/agent.ts +0 -381
  519. package/src/internal/discovery/channels.ts +0 -100
  520. package/src/internal/discovery/connections.ts +0 -505
  521. package/src/internal/discovery/context.ts +0 -38
  522. package/src/internal/discovery/cursor-plugin.ts +0 -628
  523. package/src/internal/discovery/extension-overlay.ts +0 -247
  524. package/src/internal/discovery/extensions.ts +0 -490
  525. package/src/internal/discovery/fs.ts +0 -103
  526. package/src/internal/discovery/hooks.ts +0 -63
  527. package/src/internal/discovery/info.ts +0 -174
  528. package/src/internal/discovery/instructions.ts +0 -98
  529. package/src/internal/discovery/modules.ts +0 -107
  530. package/src/internal/discovery/names.ts +0 -45
  531. package/src/internal/discovery/project.ts +0 -319
  532. package/src/internal/discovery/reminders.ts +0 -65
  533. package/src/internal/discovery/runtime.ts +0 -158
  534. package/src/internal/discovery/schedules.ts +0 -120
  535. package/src/internal/discovery/seed-files.ts +0 -34
  536. package/src/internal/discovery/services.ts +0 -151
  537. package/src/internal/discovery/skills.ts +0 -174
  538. package/src/internal/discovery/subagent.ts +0 -138
  539. package/src/internal/discovery/tools.ts +0 -170
  540. package/src/internal/discovery.ts +0 -27
  541. package/src/internal/distribution.ts +0 -126
  542. package/src/internal/docs-site.ts +0 -248
  543. package/src/internal/duration.ts +0 -37
  544. package/src/internal/env-file.ts +0 -83
  545. package/src/internal/eval-judge-model.ts +0 -142
  546. package/src/internal/eval-run-store.ts +0 -585
  547. package/src/internal/eval-runner.ts +0 -823
  548. package/src/internal/evals-client.ts +0 -475
  549. package/src/internal/event-log.ts +0 -342
  550. package/src/internal/event-mapper.ts +0 -811
  551. package/src/internal/expected-delivery-failure.ts +0 -34
  552. package/src/internal/factory-resource-channel.ts +0 -103
  553. package/src/internal/filesystem/errors.ts +0 -207
  554. package/src/internal/filesystem/format.ts +0 -253
  555. package/src/internal/filesystem/merge.ts +0 -192
  556. package/src/internal/filesystem/nearest.ts +0 -112
  557. package/src/internal/filesystem/scratch.ts +0 -239
  558. package/src/internal/filesystem/sdk-schemas.ts +0 -204
  559. package/src/internal/filesystem/tools.ts +0 -804
  560. package/src/internal/filesystem/walk.ts +0 -366
  561. package/src/internal/fixtures/units-server.ts +0 -52
  562. package/src/internal/framework-file-storage.ts +0 -357
  563. package/src/internal/framework-storage-selection.ts +0 -156
  564. package/src/internal/frontmatter.ts +0 -108
  565. package/src/internal/github-fanout.ts +0 -144
  566. package/src/internal/guest-network.ts +0 -391
  567. package/src/internal/handleAgentServeTrigger.ts +0 -286
  568. package/src/internal/host-files.ts +0 -341
  569. package/src/internal/host-kv.ts +0 -81
  570. package/src/internal/host-otel.ts +0 -231
  571. package/src/internal/host-platforms.ts +0 -170
  572. package/src/internal/hosted-admission-adapter.ts +0 -47
  573. package/src/internal/hosted-admission-context.ts +0 -37
  574. package/src/internal/hosted-catch-protocol.ts +0 -112
  575. package/src/internal/hosted-catch.ts +0 -179
  576. package/src/internal/hosted-delivery-protocol.ts +0 -787
  577. package/src/internal/hosted-delivery.ts +0 -1152
  578. package/src/internal/hosted-execution-diag.ts +0 -291
  579. package/src/internal/hosted-execution-flush.ts +0 -136
  580. package/src/internal/hosted-execution-latency.ts +0 -301
  581. package/src/internal/hosted-managed-automation.ts +0 -116
  582. package/src/internal/hosting.ts +0 -107
  583. package/src/internal/http-channel-define.ts +0 -25
  584. package/src/internal/http-channel.ts +0 -669
  585. package/src/internal/http-control-plane-session.ts +0 -110
  586. package/src/internal/ids.ts +0 -39
  587. package/src/internal/incoming-headers-to-fetch.ts +0 -45
  588. package/src/internal/init-interview.ts +0 -360
  589. package/src/internal/init-project.ts +0 -711
  590. package/src/internal/init-scaffold.ts +0 -182
  591. package/src/internal/inline-stdio-define-stub.ts +0 -4
  592. package/src/internal/inline-stdio-mcp.ts +0 -230
  593. package/src/internal/install-cursor-skills.ts +0 -601
  594. package/src/internal/is-record.ts +0 -3
  595. package/src/internal/json-schema.ts +0 -95
  596. package/src/internal/legacy-command-guard.ts +0 -54
  597. package/src/internal/listen-port.ts +0 -85
  598. package/src/internal/local-control-plane.ts +0 -442
  599. package/src/internal/local-env.ts +0 -59
  600. package/src/internal/local-ingress.ts +0 -90
  601. package/src/internal/log-ring.ts +0 -59
  602. package/src/internal/logs-client.ts +0 -477
  603. package/src/internal/map-pool.ts +0 -39
  604. package/src/internal/mcp-endpoint.ts +0 -747
  605. package/src/internal/mcp-host.ts +0 -481
  606. package/src/internal/mcp-oauth-on-demand.ts +0 -337
  607. package/src/internal/mcp-oauth-persist.ts +0 -118
  608. package/src/internal/mcp-oauth.ts +0 -549
  609. package/src/internal/net.ts +0 -29
  610. package/src/internal/open-browser.ts +0 -41
  611. package/src/internal/otel/attrs.ts +0 -16
  612. package/src/internal/otel/collector.ts +0 -937
  613. package/src/internal/otel/config.ts +0 -287
  614. package/src/internal/otel/http.ts +0 -122
  615. package/src/internal/otel/mcp.ts +0 -56
  616. package/src/internal/otel/propagation.ts +0 -17
  617. package/src/internal/otel/runtime.ts +0 -441
  618. package/src/internal/package-inline-stdio.ts +0 -114
  619. package/src/internal/peer-connections.ts +0 -96
  620. package/src/internal/platform-schedule-sync.ts +0 -75
  621. package/src/internal/platform-timers.ts +0 -365
  622. package/src/internal/playground/static.ts +0 -278
  623. package/src/internal/playground/toolchain.ts +0 -270
  624. package/src/internal/playground-proxy.ts +0 -564
  625. package/src/internal/process-memory-telemetry.ts +0 -334
  626. package/src/internal/project-layout.ts +0 -31
  627. package/src/internal/prompt-context.ts +0 -116
  628. package/src/internal/reminder-control-plane-protocol.ts +0 -482
  629. package/src/internal/reminder-runner.ts +0 -1559
  630. package/src/internal/reminder-schedule.ts +0 -104
  631. package/src/internal/reminder-store.ts +0 -176
  632. package/src/internal/request-error-status.ts +0 -95
  633. package/src/internal/request-headers.ts +0 -21
  634. package/src/internal/resolve-prod-target.ts +0 -334
  635. package/src/internal/resolved-connections.ts +0 -190
  636. package/src/internal/router.ts +0 -143
  637. package/src/internal/run-client.ts +0 -354
  638. package/src/internal/runtime-dispatch-runner.ts +0 -50
  639. package/src/internal/sanitize-mcp-tool-name.ts +0 -31
  640. package/src/internal/schedule-runner.ts +0 -154
  641. package/src/internal/scm/pr-url.ts +0 -245
  642. package/src/internal/sdk-runner.ts +0 -948
  643. package/src/internal/serve-restart.ts +0 -113
  644. package/src/internal/server.ts +0 -3135
  645. package/src/internal/session-cost.ts +0 -208
  646. package/src/internal/session-engine.ts +0 -5618
  647. package/src/internal/session-links.ts +0 -84
  648. package/src/internal/session-run-log.ts +0 -535
  649. package/src/internal/session-store.ts +0 -307
  650. package/src/internal/session-urls.ts +0 -32
  651. package/src/internal/sessions-client.ts +0 -239
  652. package/src/internal/skill-catalog.ts +0 -66
  653. package/src/internal/skills-sync.ts +0 -55
  654. package/src/internal/slack-provision-client.ts +0 -544
  655. package/src/internal/slack-thread-key.ts +0 -11
  656. package/src/internal/sleep.ts +0 -3
  657. package/src/internal/start-log-store.ts +0 -164
  658. package/src/internal/steering.ts +0 -17
  659. package/src/internal/storage-coordinator.ts +0 -800
  660. package/src/internal/storage-roles.ts +0 -86
  661. package/src/internal/storage.ts +0 -1
  662. package/src/internal/store-api-protocol.ts +0 -205
  663. package/src/internal/store-mirror.ts +0 -73
  664. package/src/internal/stream-progress.ts +0 -294
  665. package/src/internal/terminal-style.ts +0 -133
  666. package/src/internal/testing/factory-resource-fixtures.ts +0 -84
  667. package/src/internal/testing/scm-continuation-fixtures.ts +0 -285
  668. package/src/internal/tool-catalog.ts +0 -104
  669. package/src/internal/tool-policy.ts +0 -222
  670. package/src/internal/tool-result.ts +0 -50
  671. package/src/internal/trajectory.ts +0 -418
  672. package/src/internal/turn-cost.ts +0 -136
  673. package/src/internal/turn-governor.ts +0 -145
  674. package/src/internal/turn-lease-store.ts +0 -144
  675. package/src/internal/turn-outbox.ts +0 -77
  676. package/src/internal/update-check.ts +0 -517
  677. package/src/internal/v2-hosting.ts +0 -52
  678. package/src/internal/workspace-sync.ts +0 -114
  679. package/src/internal/workspace.ts +0 -505
  680. package/src/kv/memory-kv.ts +0 -94
  681. package/src/kv.ts +0 -18
  682. package/src/memory.ts +0 -487
  683. package/src/otel-public.ts +0 -24
  684. package/src/otel.ts +0 -320
  685. package/src/prompt.ts +0 -80
  686. package/src/reminders.ts +0 -65
  687. package/src/schedules.ts +0 -31
  688. package/src/skills.ts +0 -27
  689. package/src/storage-backends/cursor-hosted-v2.ts +0 -204
  690. package/src/storage-backends/cursor-hosted.ts +0 -388
  691. package/src/storage-backends/file-kv.ts +0 -276
  692. package/src/storage-protocol.ts +0 -261
  693. package/src/storage.ts +0 -408
  694. package/src/tools.ts +0 -166
  695. package/src/types.ts +0 -3766
  696. /package/dist/docs/assets/{reference_agent-config.md.DzGI777n.lean.js → reference_agent-config.md.Cj5uBKp4.lean.js} +0 -0
  697. /package/dist/docs/assets/{reference_artifacts.md.CFMNPreZ.lean.js → reference_artifacts.md.CQfKq8F2.lean.js} +0 -0
@@ -1,517 +0,0 @@
1
- /**
2
- * Outdated-version warning + `agent-sdk update`.
3
- *
4
- * Every CLI run of a published install compares its own version against the
5
- * npm registry's `latest` dist-tag and warns on stderr when behind. The
6
- * registry lookup is cached under the config dir
7
- * (`~/.config/agent-serve/update-check.json`) so most runs never touch the
8
- * network; a stale cache refreshes inline under a short timeout, and any
9
- * network failure is silent (the warning is best-effort, never a blocker).
10
- *
11
- * `agent-sdk update` re-runs the lookup fresh, figures out how this copy was
12
- * installed (global npm/pnpm/yarn/bun, or a project dependency), and runs the
13
- * matching install command.
14
- */
15
-
16
- import { spawn } from "node:child_process";
17
- import { mkdir, readFile, stat, writeFile } from "node:fs/promises";
18
- import { dirname, join, sep } from "node:path";
19
- import { z } from "zod";
20
- import { configDirPath } from "./cursor/credentials.js";
21
- import { describeError } from "./describe-error.js";
22
- import {
23
- CLI_COMMAND_NAME,
24
- isCompiledDistribution,
25
- PACKAGE_NAME,
26
- packageRootDir,
27
- packageVersion,
28
- } from "./distribution.js";
29
- import { stderrPalette } from "./terminal-style.js";
30
-
31
- const NPM_REGISTRY_URL = "https://registry.npmjs.org";
32
-
33
- /** Refresh the registry lookup at most this often. */
34
- const CHECK_INTERVAL_MS = 24 * 60 * 60 * 1000;
35
-
36
- /** Inline refresh budget; a slow registry must not stall the command. */
37
- const WARN_FETCH_TIMEOUT_MS = 1500;
38
-
39
- /** `agent-sdk update` runs interactively, so it can afford a real timeout. */
40
- const UPDATE_FETCH_TIMEOUT_MS = 10_000;
41
-
42
- // ============================================================================
43
- // Version comparison (plain semver triples + prerelease, no ranges)
44
- // ============================================================================
45
-
46
- interface ParsedVersion {
47
- release: [number, number, number];
48
- prerelease: string[];
49
- }
50
-
51
- function parseVersion(version: string): ParsedVersion | undefined {
52
- const match = /^v?(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?(?:\+.*)?$/.exec(version.trim());
53
- if (match === null) {
54
- return undefined;
55
- }
56
- return {
57
- release: [Number(match[1]), Number(match[2]), Number(match[3])],
58
- prerelease: match[4] === undefined ? [] : match[4].split("."),
59
- };
60
- }
61
-
62
- /**
63
- * Semver-style ordering: negative when `a < b`, 0 when equal, positive when
64
- * `a > b`. Unparseable versions compare equal (never warn on garbage).
65
- */
66
- export function compareVersions(a: string, b: string): number {
67
- const pa = parseVersion(a);
68
- const pb = parseVersion(b);
69
- if (pa === undefined || pb === undefined) {
70
- return 0;
71
- }
72
- for (let i = 0; i < 3; i++) {
73
- const diff = pa.release[i]! - pb.release[i]!;
74
- if (diff !== 0) {
75
- return diff;
76
- }
77
- }
78
- // A release outranks any prerelease of the same triple.
79
- if (pa.prerelease.length === 0 || pb.prerelease.length === 0) {
80
- return pb.prerelease.length - pa.prerelease.length;
81
- }
82
- const len = Math.max(pa.prerelease.length, pb.prerelease.length);
83
- for (let i = 0; i < len; i++) {
84
- const ia = pa.prerelease[i];
85
- const ib = pb.prerelease[i];
86
- // A longer prerelease list outranks its prefix (1.0.0-a.1 > 1.0.0-a).
87
- if (ia === undefined) {
88
- return -1;
89
- }
90
- if (ib === undefined) {
91
- return 1;
92
- }
93
- const na = /^\d+$/.test(ia) ? Number(ia) : undefined;
94
- const nb = /^\d+$/.test(ib) ? Number(ib) : undefined;
95
- if (na !== undefined && nb !== undefined) {
96
- if (na !== nb) {
97
- return na - nb;
98
- }
99
- } else if (na !== undefined) {
100
- return -1; // numeric identifiers sort before alphanumeric ones
101
- } else if (nb !== undefined) {
102
- return 1;
103
- } else if (ia !== ib) {
104
- return ia < ib ? -1 : 1;
105
- }
106
- }
107
- return 0;
108
- }
109
-
110
- // ============================================================================
111
- // Registry lookup
112
- // ============================================================================
113
-
114
- const distTagResponseSchema = z.object({ version: z.string() });
115
-
116
- /**
117
- * Latest published version of the package, from the registry's `latest`
118
- * dist-tag. Returns undefined on any failure (offline, 404 pre-publish, …).
119
- */
120
- export async function fetchLatestPublishedVersion(options?: {
121
- fetchImpl?: typeof fetch;
122
- timeoutMs?: number;
123
- packageName?: string;
124
- }): Promise<string | undefined> {
125
- const fetchImpl = options?.fetchImpl ?? fetch;
126
- const packageName = options?.packageName ?? PACKAGE_NAME;
127
- // Scoped names keep the `@` but encode the `/` for the registry path.
128
- const url = `${NPM_REGISTRY_URL}/${packageName.replace("/", "%2F")}/latest`;
129
- try {
130
- const response = await fetchImpl(url, {
131
- headers: { accept: "application/json" },
132
- signal: AbortSignal.timeout(options?.timeoutMs ?? WARN_FETCH_TIMEOUT_MS),
133
- });
134
- if (!response.ok) {
135
- return undefined;
136
- }
137
- const body = distTagResponseSchema.safeParse(await response.json());
138
- if (!body.success || parseVersion(body.data.version) === undefined) {
139
- return undefined;
140
- }
141
- return body.data.version;
142
- } catch {
143
- return undefined;
144
- }
145
- }
146
-
147
- // ============================================================================
148
- // Cache (one JSON file next to credentials.json)
149
- // ============================================================================
150
-
151
- const cacheSchema: z.ZodObject<
152
- { checkedAt: z.ZodNumber; latestVersion: z.ZodOptional<z.ZodString> },
153
- "strip"
154
- > = z.object({
155
- /** Epoch ms of the last registry lookup attempt (success or not). */
156
- checkedAt: z.number(),
157
- /** Last version the registry reported; absent when lookups keep failing. */
158
- latestVersion: z.string().optional(),
159
- });
160
-
161
- export type UpdateCheckCache = z.infer<typeof cacheSchema>;
162
-
163
- export function updateCheckCachePath(configDir?: string): string {
164
- return join(configDir ?? configDirPath(), "update-check.json");
165
- }
166
-
167
- export async function readUpdateCheckCache(
168
- configDir?: string,
169
- ): Promise<UpdateCheckCache | undefined> {
170
- let raw: string;
171
- try {
172
- raw = await readFile(updateCheckCachePath(configDir), "utf8");
173
- } catch {
174
- return undefined;
175
- }
176
- try {
177
- const parsed = cacheSchema.safeParse(JSON.parse(raw));
178
- return parsed.success ? parsed.data : undefined;
179
- } catch {
180
- return undefined;
181
- }
182
- }
183
-
184
- export async function writeUpdateCheckCache(
185
- cache: UpdateCheckCache,
186
- configDir?: string,
187
- ): Promise<void> {
188
- const path = updateCheckCachePath(configDir);
189
- try {
190
- await mkdir(dirname(path), { recursive: true, mode: 0o700 });
191
- await writeFile(path, `${JSON.stringify(cache, null, 2)}\n`);
192
- } catch {
193
- // Best-effort; a read-only config dir just means re-checking next run.
194
- }
195
- }
196
-
197
- // ============================================================================
198
- // The per-run warning
199
- // ============================================================================
200
-
201
- export interface WarnIfOutdatedOptions {
202
- /** Defaults to the running package's own version. */
203
- currentVersion?: string;
204
- /** Test seam; defaults to the shared config dir. */
205
- configDir?: string;
206
- fetchImpl?: typeof fetch;
207
- /** Test seam; defaults to Date.now(). */
208
- now?: number;
209
- env?: NodeJS.ProcessEnv;
210
- /** Defaults to process.stderr.write. */
211
- err?: (text: string) => void;
212
- /** Skip the source-checkout guard (tests exercise the full path). */
213
- force?: boolean;
214
- }
215
-
216
- /**
217
- * Print an outdated-version warning to stderr when a newer release exists.
218
- *
219
- * Never throws and never blocks longer than {@link WARN_FETCH_TIMEOUT_MS}.
220
- * Suppressed on source-checkout runs (there is no installed copy to update),
221
- * in CI, and via NO_UPDATE_NOTIFIER / AGENT_SERVE_NO_UPDATE_CHECK.
222
- */
223
- export async function warnIfOutdated(options?: WarnIfOutdatedOptions): Promise<void> {
224
- const env = options?.env ?? process.env;
225
- if (
226
- isTruthyEnv(env.AGENT_SERVE_NO_UPDATE_CHECK) ||
227
- isTruthyEnv(env.NO_UPDATE_NOTIFIER) ||
228
- isTruthyEnv(env.CI)
229
- ) {
230
- return;
231
- }
232
- if (options?.force !== true && !isCompiledDistribution()) {
233
- return;
234
- }
235
- const now = options?.now ?? Date.now();
236
- const currentVersion = options?.currentVersion ?? packageVersion();
237
-
238
- const cached = await readUpdateCheckCache(options?.configDir);
239
- let latestVersion = cached?.latestVersion;
240
- const fresh = cached !== undefined && now - cached.checkedAt < CHECK_INTERVAL_MS;
241
- if (!fresh) {
242
- const fetched = await fetchLatestPublishedVersion({
243
- fetchImpl: options?.fetchImpl,
244
- timeoutMs: WARN_FETCH_TIMEOUT_MS,
245
- });
246
- latestVersion = fetched ?? latestVersion;
247
- // checkedAt always advances so a flaky registry backs off to one
248
- // attempt per interval instead of one per command.
249
- await writeUpdateCheckCache({ checkedAt: now, latestVersion }, options?.configDir);
250
- }
251
-
252
- if (latestVersion === undefined || compareVersions(currentVersion, latestVersion) >= 0) {
253
- return;
254
- }
255
- const c = stderrPalette();
256
- const err = options?.err ?? ((text: string) => void process.stderr.write(text));
257
- err(
258
- `${c.yellow("warning:")} ${CLI_COMMAND_NAME} ${currentVersion} is outdated (latest is ${latestVersion}). Run \`${CLI_COMMAND_NAME} update\` to upgrade.\n`,
259
- );
260
- }
261
-
262
- function isTruthyEnv(value: string | undefined): boolean {
263
- return value !== undefined && value !== "" && value !== "0";
264
- }
265
-
266
- // ============================================================================
267
- // `agent-sdk update`
268
- // ============================================================================
269
-
270
- export interface UpdateCommand {
271
- cmd: string;
272
- args: string[];
273
- /** Working directory for local project installs. */
274
- cwd?: string;
275
- /** One-line human description of what will run and why. */
276
- reason: string;
277
- }
278
-
279
- /**
280
- * Figure out how the running copy was installed and which command upgrades
281
- * it. Detection is path-shape based (global stores have recognizable
282
- * layouts), then falls back to walking up to the project that declares the
283
- * dependency. Returns undefined for layouts we cannot safely upgrade
284
- * (npx cache, unrecognized stores).
285
- */
286
- export async function detectUpdateCommand(args: {
287
- packageRoot: string;
288
- packageName?: string;
289
- }): Promise<UpdateCommand | undefined> {
290
- const packageName = args.packageName ?? PACKAGE_NAME;
291
- const spec = `${packageName}@latest`;
292
- const posixRoot = args.packageRoot.split(sep).join("/");
293
-
294
- // npx / pnpm dlx caches are ephemeral; a fresh `npx agent-sdk` already
295
- // resolves latest, and upgrading the cache entry in place helps nobody.
296
- if (posixRoot.includes("/_npx/") || posixRoot.includes("/.pnpm-store/")) {
297
- return undefined;
298
- }
299
- if (posixRoot.includes("/pnpm/global/")) {
300
- return {
301
- cmd: "pnpm",
302
- args: ["add", "-g", spec],
303
- reason: "installed with pnpm --global",
304
- };
305
- }
306
- if (posixRoot.includes("/.bun/install/global/")) {
307
- return {
308
- cmd: "bun",
309
- args: ["add", "-g", spec],
310
- reason: "installed with bun --global",
311
- };
312
- }
313
- if (posixRoot.includes("/yarn/global/") || posixRoot.includes("/.config/yarn/global/")) {
314
- return {
315
- cmd: "yarn",
316
- args: ["global", "add", spec],
317
- reason: "installed with yarn global",
318
- };
319
- }
320
-
321
- // A project that depends on the package: upgrade the dependency there,
322
- // with whichever package manager the lockfile says the project uses.
323
- const projectDir = await findDependingProjectDir(args.packageRoot, packageName);
324
- if (projectDir !== undefined) {
325
- const pm = await detectProjectPackageManager(projectDir);
326
- const command =
327
- pm === "pnpm"
328
- ? { cmd: "pnpm", args: ["add", spec] }
329
- : pm === "yarn"
330
- ? { cmd: "yarn", args: ["add", spec] }
331
- : pm === "bun"
332
- ? { cmd: "bun", args: ["add", spec] }
333
- : { cmd: "npm", args: ["install", spec] };
334
- return {
335
- ...command,
336
- cwd: projectDir,
337
- reason: `project dependency in ${projectDir}`,
338
- };
339
- }
340
-
341
- // Global npm layout: <prefix>/lib/node_modules/<name> (or <prefix>\
342
- // node_modules\<name> on Windows), with no depending project above it.
343
- if (posixRoot.includes("/node_modules/")) {
344
- return {
345
- cmd: "npm",
346
- args: ["install", "-g", spec],
347
- reason: "installed with npm --global",
348
- };
349
- }
350
- return undefined;
351
- }
352
-
353
- /**
354
- * Nearest ancestor with a package.json that declares `packageName` as a
355
- * dependency. Skips directories inside node_modules (pnpm's virtual store
356
- * nests package.json files that are not the user's project).
357
- */
358
- async function findDependingProjectDir(
359
- packageRoot: string,
360
- packageName: string,
361
- ): Promise<string | undefined> {
362
- let dir = dirname(packageRoot);
363
- for (let depth = 0; depth < 30; depth++) {
364
- const parent = dirname(dir);
365
- if (parent === dir) {
366
- return undefined;
367
- }
368
- const inNodeModules = dir.split(sep).some(part => part === "node_modules" || part === ".pnpm");
369
- if (!inNodeModules && (await declaresDependency(dir, packageName))) {
370
- return dir;
371
- }
372
- dir = parent;
373
- }
374
- return undefined;
375
- }
376
-
377
- async function declaresDependency(dir: string, packageName: string): Promise<boolean> {
378
- let raw: string;
379
- try {
380
- raw = await readFile(join(dir, "package.json"), "utf8");
381
- } catch {
382
- return false;
383
- }
384
- const manifestSchema = z.object({
385
- dependencies: z.record(z.string()).optional(),
386
- devDependencies: z.record(z.string()).optional(),
387
- });
388
- try {
389
- const parsed = manifestSchema.safeParse(JSON.parse(raw));
390
- if (!parsed.success) {
391
- return false;
392
- }
393
- return (
394
- parsed.data.dependencies?.[packageName] !== undefined ||
395
- parsed.data.devDependencies?.[packageName] !== undefined
396
- );
397
- } catch {
398
- return false;
399
- }
400
- }
401
-
402
- async function detectProjectPackageManager(
403
- projectDir: string,
404
- ): Promise<"pnpm" | "yarn" | "bun" | "npm"> {
405
- const exists = async (file: string): Promise<boolean> => {
406
- try {
407
- await stat(join(projectDir, file));
408
- return true;
409
- } catch {
410
- return false;
411
- }
412
- };
413
- if (await exists("pnpm-lock.yaml")) {
414
- return "pnpm";
415
- }
416
- if (await exists("yarn.lock")) {
417
- return "yarn";
418
- }
419
- if ((await exists("bun.lock")) || (await exists("bun.lockb"))) {
420
- return "bun";
421
- }
422
- return "npm";
423
- }
424
-
425
- export interface UpdateCliOptions {
426
- /** Test seams. */
427
- fetchImpl?: typeof fetch;
428
- currentVersion?: string;
429
- packageRoot?: string;
430
- configDir?: string;
431
- runCommand?: (command: UpdateCommand) => Promise<number>;
432
- compiled?: boolean;
433
- out?: (text: string) => void;
434
- err?: (text: string) => void;
435
- }
436
-
437
- /** `agent-sdk update` — upgrade this install to the latest published version. */
438
- export async function cmdUpdate(options?: UpdateCliOptions): Promise<number> {
439
- const c = stderrPalette();
440
- const out = options?.out ?? ((text: string) => void process.stdout.write(text));
441
- const err = options?.err ?? ((text: string) => void process.stderr.write(text));
442
- const compiled = options?.compiled ?? isCompiledDistribution();
443
- if (!compiled) {
444
- err(
445
- `${CLI_COMMAND_NAME} is running from a source checkout, not an installed package; update it with git instead.\n`,
446
- );
447
- return 1;
448
- }
449
-
450
- const currentVersion = options?.currentVersion ?? packageVersion();
451
- const latestVersion = await fetchLatestPublishedVersion({
452
- fetchImpl: options?.fetchImpl,
453
- timeoutMs: UPDATE_FETCH_TIMEOUT_MS,
454
- });
455
- if (latestVersion === undefined) {
456
- err(
457
- `Could not reach the npm registry to look up the latest ${PACKAGE_NAME} version. Check your network and retry.\n`,
458
- );
459
- return 1;
460
- }
461
- if (compareVersions(currentVersion, latestVersion) >= 0) {
462
- out(`${CLI_COMMAND_NAME} ${currentVersion} is already the latest version.\n`);
463
- await writeUpdateCheckCache({ checkedAt: Date.now(), latestVersion }, options?.configDir);
464
- return 0;
465
- }
466
-
467
- const command = await detectUpdateCommand({
468
- packageRoot: options?.packageRoot ?? packageRootDir(),
469
- });
470
- if (command === undefined) {
471
- err(
472
- `${CLI_COMMAND_NAME} ${currentVersion} is outdated (latest is ${latestVersion}), but this install's layout was not recognized.\nUpgrade it yourself, e.g. \`npm install -g ${PACKAGE_NAME}@latest\` for a global install, or bump the ${PACKAGE_NAME} dependency in your project.\n`,
473
- );
474
- return 1;
475
- }
476
-
477
- const rendered = [command.cmd, ...command.args].join(" ");
478
- err(
479
- c.dim(
480
- `Updating ${CLI_COMMAND_NAME} ${currentVersion} → ${latestVersion} (${command.reason}):\n ${rendered}\n`,
481
- ),
482
- );
483
- const run = options?.runCommand ?? runUpdateCommand;
484
- let code: number;
485
- try {
486
- code = await run(command);
487
- } catch (error) {
488
- err(`\`${rendered}\` failed: ${describeError(error)}\n`);
489
- return 1;
490
- }
491
- if (code !== 0) {
492
- err(`\`${rendered}\` exited with code ${code}.\n`);
493
- return code;
494
- }
495
- await writeUpdateCheckCache({ checkedAt: Date.now(), latestVersion }, options?.configDir);
496
- out(`Updated ${CLI_COMMAND_NAME} to ${latestVersion}. New commands run the new version.\n`);
497
- return 0;
498
- }
499
-
500
- function runUpdateCommand(command: UpdateCommand): Promise<number> {
501
- return new Promise((resolve, reject) => {
502
- // Windows-only shell: npm/pnpm/yarn/bun are .cmd shims there, and Node
503
- // refuses to spawn .cmd files without a shell (EINVAL, CVE-2024-27980
504
- // hardening). Injection-safe: cmd and args are module-level constants
505
- // from detectUpdateCommand (never user or registry input).
506
- // nosemgrep: javascript.lang.security.audit.spawn-shell-true.spawn-shell-true
507
- const child = spawn(command.cmd, command.args, {
508
- stdio: "inherit",
509
- cwd: command.cwd,
510
- shell: process.platform === "win32",
511
- });
512
- child.on("error", reject);
513
- child.on("close", code => {
514
- resolve(code ?? 1);
515
- });
516
- });
517
- }
@@ -1,52 +0,0 @@
1
- import type { AgentArchitecture } from "../types.js";
2
- import {
3
- type CursorManagedV2StoreIds,
4
- requireCursorManagedV2StoreIdsSync,
5
- } from "./cursor/hosted-store-secrets.js";
6
- import { AGENT_SERVE_GENERATION_ENV_VAR } from "./cursor-relay-core.js";
7
-
8
- /**
9
- * Exported (as `1`) by the control plane's start script for a version
10
- * container of a persistent deployment. Its presence, not the agent's
11
- * `persistent` flag, is what tells the runtime it owns a durable state
12
- * directory.
13
- */
14
- export const AGENT_SERVE_PERSISTENT_ENV_VAR = "AGENT_SERVE_PERSISTENT";
15
-
16
- export type AgentV2Hosting =
17
- | { kind: "not-v2" }
18
- | { kind: "self-hosted" }
19
- | {
20
- kind: "cursor-managed";
21
- resolveStoreIds: () => CursorManagedV2StoreIds;
22
- }
23
- | {
24
- kind: "cursor-managed-persistent";
25
- };
26
-
27
- /**
28
- * Close the architecture/hosting inputs into a compiler-owned union.
29
- *
30
- * Managed freeze processes exist before task bind, so store resolution stays
31
- * lazy. Consumers can branch once on `kind`; managed storage operations then
32
- * receive a resolver whose successful result always contains both ids.
33
- */
34
- export function resolveAgentV2Hosting(input: {
35
- architecture: AgentArchitecture | undefined;
36
- env?: NodeJS.ProcessEnv;
37
- }): AgentV2Hosting {
38
- if (input.architecture !== "v2") {
39
- return { kind: "not-v2" };
40
- }
41
- const env = input.env ?? process.env;
42
- if (env[AGENT_SERVE_GENERATION_ENV_VAR] === undefined) {
43
- return { kind: "self-hosted" };
44
- }
45
- if (env[AGENT_SERVE_PERSISTENT_ENV_VAR] === "1") {
46
- return { kind: "cursor-managed-persistent" };
47
- }
48
- return {
49
- kind: "cursor-managed",
50
- resolveStoreIds: () => requireCursorManagedV2StoreIdsSync(env),
51
- };
52
- }
@@ -1,114 +0,0 @@
1
- /**
2
- * Sync workspace trees onto an Agent Store so cloud-runtime turns read
3
- * them from the store mount. Authored `agent/sandbox/workspace/**` seeds
4
- * land at store-root `workspace/<path>` (see `buildCloudWorkspaceSection`).
5
- * Per-turn `workspaceFiles` land at `sessions/<sessionId>/workspace/<path>`
6
- * (see `buildCloudSessionWorkspaceSection`). Personal-key local+cloud
7
- * nests both under `agent-serve/<agent>/`.
8
- */
9
-
10
- import { readFile } from "node:fs/promises";
11
- import { agentStoreKeys, type FileSink } from "../files.js";
12
- import { MEMORY_DIR_NAME } from "../memory.js";
13
- import type { SeedFile } from "../types.js";
14
- import { mirrorToStore, storeRelPath } from "./store-mirror.js";
15
-
16
- export type WorkspaceFileBody = string | { encoding: "base64"; data: string; mimeType?: string };
17
-
18
- /** Path or encoding that can never land. Distinct from a store outage. */
19
- export class WorkspaceFileRefusal extends Error {
20
- override readonly name = "WorkspaceFileRefusal";
21
- }
22
-
23
- /**
24
- * Mirror the seed tree onto the store at its authored relative paths and
25
- * delete keys no seed claims so redeploys drop removed files. Every seed
26
- * loads and validates before the store is touched.
27
- */
28
- export async function syncWorkspaceToStore(args: {
29
- sink: FileSink;
30
- seedFiles: readonly SeedFile[];
31
- /** Store-root directory that holds the seed tree. Defaults to `workspace/`. */
32
- workspacePrefix?: string;
33
- }): Promise<void> {
34
- const workspacePrefix = args.workspacePrefix ?? agentStoreKeys.workspacePrefix();
35
- const desired = new Map<string, Uint8Array>();
36
- for (const seed of args.seedFiles) {
37
- desired.set(
38
- agentStoreKeys.workspaceFile(workspaceRelPath(seed.relativePath), workspacePrefix),
39
- await readFile(seed.sourcePath),
40
- );
41
- }
42
- await mirrorToStore({ sink: args.sink, prefix: workspacePrefix, desired });
43
- }
44
-
45
- /**
46
- * Replace the session workspace prefix with this turn's `workspaceFiles`.
47
- * Keys the map does not claim are deleted so a later send cannot leave a
48
- * stale `pr.json`. Every path validates before the store is touched.
49
- * Returns the relative paths that landed, in send order.
50
- */
51
- export async function syncSessionWorkspaceFiles(args: {
52
- sink: FileSink;
53
- files: Record<string, WorkspaceFileBody>;
54
- workspacePrefix: string;
55
- }): Promise<string[]> {
56
- const desired = new Map<string, Uint8Array>();
57
- const relPaths: string[] = [];
58
- for (const [relativePath, contents] of Object.entries(args.files)) {
59
- const rel = workspaceRelPath(relativePath);
60
- desired.set(
61
- agentStoreKeys.workspaceFile(rel, args.workspacePrefix),
62
- workspaceFileBytes(relativePath, contents),
63
- );
64
- relPaths.push(rel);
65
- }
66
- await mirrorToStore({
67
- sink: args.sink,
68
- prefix: args.workspacePrefix,
69
- desired,
70
- });
71
- return relPaths;
72
- }
73
-
74
- /** Delete every key under the session workspace prefix. */
75
- export async function wipeSessionWorkspace(args: {
76
- sink: FileSink;
77
- workspacePrefix: string;
78
- }): Promise<void> {
79
- await mirrorToStore({
80
- sink: args.sink,
81
- prefix: args.workspacePrefix,
82
- desired: new Map(),
83
- });
84
- }
85
-
86
- /**
87
- * Same reservation as local materialization's `resolveWorkspaceWritePath`:
88
- * `memory/` is the shared cross-session journal, so a seed or send under it
89
- * fails the sync exactly as it fails a local first turn.
90
- */
91
- function workspaceRelPath(relPath: string): string {
92
- let rel: string;
93
- try {
94
- rel = storeRelPath(relPath, "workspace file");
95
- } catch (error) {
96
- throw new WorkspaceFileRefusal(error instanceof Error ? error.message : String(error));
97
- }
98
- if (rel.split("/", 1)[0] === MEMORY_DIR_NAME) {
99
- throw new WorkspaceFileRefusal(
100
- `"${MEMORY_DIR_NAME}" is reserved for shared session memory; refusing to sync ${relPath}`,
101
- );
102
- }
103
- return rel;
104
- }
105
-
106
- function workspaceFileBytes(relativePath: string, contents: WorkspaceFileBody): Uint8Array {
107
- if (typeof contents === "string") {
108
- return new TextEncoder().encode(contents);
109
- }
110
- if (contents.encoding === "base64") {
111
- return new Uint8Array(Buffer.from(contents.data, "base64"));
112
- }
113
- throw new WorkspaceFileRefusal(`Unsupported workspace file encoding for ${relativePath}`);
114
- }