@cursor/bdk 0.2.3 → 0.2.5

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 (760) hide show
  1. package/README.md +76 -1154
  2. package/dist/bin/agent-serve.js +9 -1
  3. package/dist/channels/slack/attachments.d.ts +2 -1
  4. package/dist/channels/slack/attachments.d.ts.map +1 -1
  5. package/dist/channels/slack/attachments.js +19 -9
  6. package/dist/channels/slack/dispatch.d.ts.map +1 -1
  7. package/dist/channels/slack/dispatch.js +26 -24
  8. package/dist/channels/slack/thread-context.d.ts +21 -11
  9. package/dist/channels/slack/thread-context.d.ts.map +1 -1
  10. package/dist/channels/slack/thread-context.js +75 -27
  11. package/dist/docs/404.html +2 -2
  12. package/dist/docs/assets/{app.BOIHhrKi.js → app.94Iu5dyD.js} +4 -4
  13. package/dist/docs/assets/{building-with-agents.md.-fcjCmJU.js → building-with-agents.md.BPjPFxFg.js} +2 -2
  14. package/dist/docs/assets/{building-with-agents.md.-fcjCmJU.lean.js → building-with-agents.md.BPjPFxFg.lean.js} +1 -1
  15. package/dist/docs/assets/chunks/@localSearchIndexroot.BITLoOQa.js +1 -0
  16. package/dist/docs/assets/chunks/{VPLocalSearchBox.D49zVZqM.js → VPLocalSearchBox.DTKFDlBr.js} +1 -1
  17. package/dist/docs/assets/chunks/{arc.hmjb-sc4.js → arc.DuzwHEeg.js} +1 -1
  18. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.CxEI1KqM.js → architectureDiagram-Q4EWVU46.C6lyhLs0.js} +1 -1
  19. package/dist/docs/assets/chunks/{baseUniq.DHHvBWoV.js → baseUniq.DUNEWlY8.js} +1 -1
  20. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.DnXW-3bu.js → blockDiagram-DXYQGD6D.CXOQGI0O.js} +1 -1
  21. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.e-47O2jM.js → c4Diagram-AHTNJAMY.BYdPE-Oe.js} +1 -1
  22. package/dist/docs/assets/chunks/channel.B46uXH41.js +1 -0
  23. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.3ry4pYXB.js → chunk-4BX2VUAB.YIV9HeX0.js} +1 -1
  24. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.DGIZFRx6.js → chunk-4TB4RGXK.BG80DEOc.js} +1 -1
  25. package/dist/docs/assets/chunks/{chunk-55IACEB6.DKBnqg9U.js → chunk-55IACEB6.BDKJSZQc.js} +1 -1
  26. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.BIU8Ue5k.js → chunk-EDXVE4YY.CtYnQqts.js} +1 -1
  27. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.DP-TFhjI.js → chunk-FMBD7UC4.CityOth-.js} +1 -1
  28. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.Ux0OYj5v.js → chunk-OYMX7WX6.CMD22CQX.js} +1 -1
  29. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.BzHMwYox.js → chunk-QZHKN3VN.WWpc3ND0.js} +1 -1
  30. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.D4OGAsSP.js → chunk-YZCP3GAM.BMg-yhj3.js} +1 -1
  31. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.0cmCFsSf.js +1 -0
  32. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.0cmCFsSf.js +1 -0
  33. package/dist/docs/assets/chunks/clone.1vTOFZT1.js +1 -0
  34. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.Jq_7BUNx.js → cose-bilkent-S5V4N54A.Buu_LC5q.js} +1 -1
  35. package/dist/docs/assets/chunks/{dagre-KV5264BT.Di-skR2x.js → dagre-KV5264BT.DW7onj6E.js} +1 -1
  36. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.DeREHIdH.js → diagram-5BDNPKRD.B3NxIbEV.js} +1 -1
  37. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.C7Kcqxro.js → diagram-G4DWMVQ6.BJvN6Vkv.js} +1 -1
  38. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.BK3eohyo.js → diagram-MMDJMWI5.wfRWrexs.js} +1 -1
  39. package/dist/docs/assets/chunks/{diagram-TYMM5635.C6TyymXT.js → diagram-TYMM5635.7QtjSYio.js} +1 -1
  40. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.DYGG-gGx.js → erDiagram-SMLLAGMA.jxPgDH1t.js} +1 -1
  41. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.C9nBcSV4.js → flowDiagram-DWJPFMVM.BhDWA-TO.js} +1 -1
  42. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.wAg_ymsp.js → ganttDiagram-T4ZO3ILL.Ijq8iYKv.js} +1 -1
  43. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.B87j9Oeg.js → gitGraphDiagram-UUTBAWPF.DXpfW4YG.js} +1 -1
  44. package/dist/docs/assets/chunks/{graph.CuFMj31w.js → graph.CoPlssRl.js} +1 -1
  45. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.P_mLGumP.js → infoDiagram-42DDH7IO.eJuv_EOz.js} +1 -1
  46. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.DyuL_MsT.js → ishikawaDiagram-UXIWVN3A._OEzenCR.js} +1 -1
  47. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.CtP09IoJ.js → journeyDiagram-VCZTEJTY.CwlTjirB.js} +1 -1
  48. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.BoeSYPZo.js → kanban-definition-6JOO6SKY.DSp_C8cZ.js} +1 -1
  49. package/dist/docs/assets/chunks/{layout.B0lMMtNo.js → layout.Bms9s7uB.js} +1 -1
  50. package/dist/docs/assets/chunks/{linear.HxRBiAFX.js → linear.BjnmB4je.js} +1 -1
  51. package/dist/docs/assets/chunks/{min.BGlFFHwS.js → min.CKkYlMsn.js} +1 -1
  52. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.JyLBD9M8.js → mindmap-definition-QFDTVHPH.T2d0vJ7X.js} +1 -1
  53. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.DnSmNZF8.js → pieDiagram-DEJITSTG.DU0RoCvx.js} +1 -1
  54. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.CUCnbfCa.js → quadrantDiagram-34T5L4WZ.9QZjM-x0.js} +1 -1
  55. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.py0IVUn5.js → requirementDiagram-MS252O5E.CZpylJMd.js} +1 -1
  56. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.Bkc-HWYp.js → sankeyDiagram-XADWPNL6.CnFdfW95.js} +1 -1
  57. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.Dqn8Mlv2.js → sequenceDiagram-FGHM5R23.-jC0PP1t.js} +1 -1
  58. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.JikkoQUU.js → stateDiagram-FHFEXIEX.DG7yBRUU.js} +1 -1
  59. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.CbsZcOOu.js +1 -0
  60. package/dist/docs/assets/chunks/{theme.b6HQ6zG_.js → theme.B3O9koXV.js} +2 -2
  61. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.BvpSXiBj.js → timeline-definition-GMOUNBTQ.Bf9u4Ebb.js} +1 -1
  62. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.CU7MVnZx.js → vennDiagram-DHZGUBPP.BjhbbYE6.js} +1 -1
  63. package/dist/docs/assets/chunks/{wardley-RL74JXVD.BKwC4ctG.js → wardley-RL74JXVD.DEA21akR.js} +1 -1
  64. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.BfaF6Uhe.js → wardleyDiagram-NUSXRM2D.8fRb4Nb5.js} +1 -1
  65. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.Bg5dcpj4.js → xychartDiagram-5P7HB3ND.DoOP3zZM.js} +1 -1
  66. package/dist/docs/assets/{deployment.md.BJ8i7Q6p.js → deployment.md.BdqTiGdc.js} +5 -5
  67. package/dist/docs/assets/{deployment.md.BJ8i7Q6p.lean.js → deployment.md.BdqTiGdc.lean.js} +1 -1
  68. package/dist/docs/assets/{evals.md.CCAtNcuL.js → evals.md.LRCSn6Ik.js} +2 -2
  69. package/dist/docs/assets/{evals.md.CCAtNcuL.lean.js → evals.md.LRCSn6Ik.lean.js} +1 -1
  70. package/dist/docs/assets/{guides_agent-to-agent.md.CGkicXeB.js → guides_agent-to-agent.md.Cps5NiCV.js} +2 -2
  71. package/dist/docs/assets/{guides_agent-to-agent.md.CGkicXeB.lean.js → guides_agent-to-agent.md.Cps5NiCV.lean.js} +1 -1
  72. package/dist/docs/assets/{guides_bitbucket.md.Cb3LPKt3.js → guides_bitbucket.md.BB6fqD-M.js} +2 -2
  73. package/dist/docs/assets/{guides_bitbucket.md.Cb3LPKt3.lean.js → guides_bitbucket.md.BB6fqD-M.lean.js} +1 -1
  74. package/dist/docs/assets/{guides_cloud-agents.md.BuEkDCwo.js → guides_cloud-agents.md.CWJjS9No.js} +2 -2
  75. package/dist/docs/assets/{guides_cloud-agents.md.BuEkDCwo.lean.js → guides_cloud-agents.md.CWJjS9No.lean.js} +1 -1
  76. package/dist/docs/assets/{guides_convert-automation.md.Ci-Y2iD5.js → guides_convert-automation.md.DMEX9nF-.js} +3 -3
  77. package/dist/docs/assets/{guides_convert-automation.md.Ci-Y2iD5.lean.js → guides_convert-automation.md.DMEX9nF-.lean.js} +1 -1
  78. package/dist/docs/assets/{guides_github.md.Bq9kQU9B.js → guides_github.md.Cr1Xlf-m.js} +3 -3
  79. package/dist/docs/assets/{guides_github.md.Bq9kQU9B.lean.js → guides_github.md.Cr1Xlf-m.lean.js} +1 -1
  80. package/dist/docs/assets/{guides_gitlab.md.BM27P43u.js → guides_gitlab.md.CMpmFi4M.js} +2 -2
  81. package/dist/docs/assets/{guides_gitlab.md.BM27P43u.lean.js → guides_gitlab.md.CMpmFi4M.lean.js} +1 -1
  82. package/dist/docs/assets/{guides_grokbot-agents.md.yxVbSlKA.js → guides_grokbot-agents.md.tD1smFhU.js} +2 -2
  83. package/dist/docs/assets/{guides_grokbot-agents.md.yxVbSlKA.lean.js → guides_grokbot-agents.md.tD1smFhU.lean.js} +1 -1
  84. package/dist/docs/assets/{guides_hooks.md.BWoiNaMq.js → guides_hooks.md.5Ce3NXxZ.js} +2 -2
  85. package/dist/docs/assets/{guides_hooks.md.BWoiNaMq.lean.js → guides_hooks.md.5Ce3NXxZ.lean.js} +1 -1
  86. package/dist/docs/assets/{guides_improve.md.COtL-6ft.js → guides_improve.md.CRrYq22s.js} +2 -2
  87. package/dist/docs/assets/{guides_improve.md.COtL-6ft.lean.js → guides_improve.md.CRrYq22s.lean.js} +1 -1
  88. package/dist/docs/assets/{guides_jev.md.BNDm14Gy.js → guides_jev.md.D7XH4JH3.js} +2 -2
  89. package/dist/docs/assets/{guides_mcp-oauth.md.Cu6mhZ_3.js → guides_mcp-oauth.md.DR3zhC9r.js} +2 -2
  90. package/dist/docs/assets/{guides_mcp-oauth.md.Cu6mhZ_3.lean.js → guides_mcp-oauth.md.DR3zhC9r.lean.js} +1 -1
  91. package/dist/docs/assets/{guides_opentelemetry.md.DLlIB5rv.js → guides_opentelemetry.md.jcPNrQbH.js} +8 -6
  92. package/dist/docs/assets/{guides_opentelemetry.md.DLlIB5rv.lean.js → guides_opentelemetry.md.jcPNrQbH.lean.js} +1 -1
  93. package/dist/docs/assets/{guides_slack.md.diqqXTTm.js → guides_slack.md.Bn-WupSE.js} +8 -8
  94. package/dist/docs/assets/{guides_slack.md.diqqXTTm.lean.js → guides_slack.md.Bn-WupSE.lean.js} +1 -1
  95. package/dist/docs/assets/{guides_webhooks.md.D0furjw0.js → guides_webhooks.md.BBvAm_VF.js} +2 -2
  96. package/dist/docs/assets/{guides_webhooks.md.D0furjw0.lean.js → guides_webhooks.md.BBvAm_VF.lean.js} +1 -1
  97. package/dist/docs/assets/{hillclimbing.md.Biy0m-Qb.js → hillclimbing.md.Dxvd-0gT.js} +2 -2
  98. package/dist/docs/assets/{hillclimbing.md.Biy0m-Qb.lean.js → hillclimbing.md.Dxvd-0gT.lean.js} +1 -1
  99. package/dist/docs/assets/index.md.Dxxr7pFa.js +27 -0
  100. package/dist/docs/assets/{index.md.CVc_oOA3.lean.js → index.md.Dxxr7pFa.lean.js} +1 -1
  101. package/dist/docs/assets/{quickstart.md.CHpHPBUN.js → quickstart.md.BK5gjHM2.js} +2 -2
  102. package/dist/docs/assets/{quickstart.md.CHpHPBUN.lean.js → quickstart.md.BK5gjHM2.lean.js} +1 -1
  103. package/dist/docs/assets/{reference_agent-config.md.DzGI777n.js → reference_agent-config.md.DrtLxWgR.js} +4 -4
  104. package/dist/docs/assets/{reference_agent-config.md.DzGI777n.lean.js → reference_agent-config.md.DrtLxWgR.lean.js} +1 -1
  105. package/dist/docs/assets/{reference_artifacts.md.CQfKq8F2.js → reference_artifacts.md.DLV9MZES.js} +2 -2
  106. package/dist/docs/assets/{reference_artifacts.md.CQfKq8F2.lean.js → reference_artifacts.md.DLV9MZES.lean.js} +1 -1
  107. package/dist/docs/assets/{reference_channels.md.mbNtKCiR.js → reference_channels.md.LbNIJBwd.js} +2 -2
  108. package/dist/docs/assets/{reference_channels.md.mbNtKCiR.lean.js → reference_channels.md.LbNIJBwd.lean.js} +1 -1
  109. package/dist/docs/assets/{reference_cli.md.DgeLTO18.js → reference_cli.md.BsgDqYPh.js} +4 -4
  110. package/dist/docs/assets/{reference_cli.md.DgeLTO18.lean.js → reference_cli.md.BsgDqYPh.lean.js} +1 -1
  111. package/dist/docs/assets/{reference_connections.md.COq--gAm.js → reference_connections.md.Bljpve-y.js} +4 -4
  112. package/dist/docs/assets/{reference_connections.md.COq--gAm.lean.js → reference_connections.md.Bljpve-y.lean.js} +1 -1
  113. package/dist/docs/assets/{reference_evals.md.CJm3uCUm.js → reference_evals.md.D5i8PuXJ.js} +2 -2
  114. package/dist/docs/assets/{reference_evals.md.CJm3uCUm.lean.js → reference_evals.md.D5i8PuXJ.lean.js} +1 -1
  115. package/dist/docs/assets/{reference_extensions.md.CPPrkWlJ.js → reference_extensions.md.OUacPetl.js} +5 -4
  116. package/dist/docs/assets/{reference_extensions.md.CPPrkWlJ.lean.js → reference_extensions.md.OUacPetl.lean.js} +1 -1
  117. package/dist/docs/assets/{reference_hooks.md.DbthhtIR.js → reference_hooks.md.C5LCJ1R3.js} +2 -2
  118. package/dist/docs/assets/{reference_hooks.md.DbthhtIR.lean.js → reference_hooks.md.C5LCJ1R3.lean.js} +1 -1
  119. package/dist/docs/assets/{reference_http-api.md.BZOvhCqY.js → reference_http-api.md.DbFNOubV.js} +1 -1
  120. package/dist/docs/assets/{reference_instructions.md.Bdwscs4G.js → reference_instructions.md.DrcHZXig.js} +2 -2
  121. package/dist/docs/assets/{reference_instructions.md.Bdwscs4G.lean.js → reference_instructions.md.DrcHZXig.lean.js} +1 -1
  122. package/dist/docs/assets/reference_playground.md.1hx0gcIu.js +1 -0
  123. package/dist/docs/assets/{reference_playground.md.BdQzRJc2.lean.js → reference_playground.md.1hx0gcIu.lean.js} +1 -1
  124. package/dist/docs/assets/{reference_project-layout.md.CpLQ9j4K.js → reference_project-layout.md.C2JMRh7p.js} +2 -2
  125. package/dist/docs/assets/{reference_prompt.md.BQZB4eaV.js → reference_prompt.md.DqPh71XN.js} +3 -3
  126. package/dist/docs/assets/{reference_prompt.md.BQZB4eaV.lean.js → reference_prompt.md.DqPh71XN.lean.js} +1 -1
  127. package/dist/docs/assets/{reference_schedules.md.BVU5EFbz.js → reference_schedules.md.BuJ8fgMa.js} +2 -2
  128. package/dist/docs/assets/{reference_schedules.md.BVU5EFbz.lean.js → reference_schedules.md.BuJ8fgMa.lean.js} +1 -1
  129. package/dist/docs/assets/reference_sessions.md.CM5zo3w4.js +1 -0
  130. package/dist/docs/assets/{reference_sessions.md.DeRUItHD.lean.js → reference_sessions.md.CM5zo3w4.lean.js} +1 -1
  131. package/dist/docs/assets/{reference_skills.md.Cy00QMKS.js → reference_skills.md.C0guGcH0.js} +4 -4
  132. package/dist/docs/assets/{reference_skills.md.Cy00QMKS.lean.js → reference_skills.md.C0guGcH0.lean.js} +1 -1
  133. package/dist/docs/assets/{reference_subagents.md.B8oyeXOI.js → reference_subagents.md.gmPt5J-M.js} +2 -2
  134. package/dist/docs/assets/{reference_subagents.md.B8oyeXOI.lean.js → reference_subagents.md.gmPt5J-M.lean.js} +1 -1
  135. package/dist/docs/assets/{reference_tools.md.hg2Wi5Bq.js → reference_tools.md.v3SXVSs_.js} +2 -2
  136. package/dist/docs/assets/{reference_tools.md.hg2Wi5Bq.lean.js → reference_tools.md.v3SXVSs_.lean.js} +1 -1
  137. package/dist/docs/assets/{templates_agentic-owners.md.BykUiZ8j.js → templates_agentic-owners.md.vtjfwxbf.js} +2 -2
  138. package/dist/docs/assets/{templates_agentic-owners.md.BykUiZ8j.lean.js → templates_agentic-owners.md.vtjfwxbf.lean.js} +1 -1
  139. package/dist/docs/assets/templates_grokbot-agents.md.2sydjFiO.js +5 -0
  140. package/dist/docs/assets/templates_grokbot-agents.md.2sydjFiO.lean.js +1 -0
  141. package/dist/docs/assets/{templates_security-reviewer.md.DXMmKl_o.js → templates_security-reviewer.md.CX9l9bcg.js} +2 -2
  142. package/dist/docs/assets/{templates_security-reviewer.md.DXMmKl_o.lean.js → templates_security-reviewer.md.CX9l9bcg.lean.js} +1 -1
  143. package/dist/docs/assets/{templates_thermo-quality-review.md.Dg1p1MsG.js → templates_thermo-quality-review.md.95qmTmr1.js} +2 -2
  144. package/dist/docs/assets/{templates_thermo-quality-review.md.Dg1p1MsG.lean.js → templates_thermo-quality-review.md.95qmTmr1.lean.js} +1 -1
  145. package/dist/docs/assets/{templates_thermo-review.md.Dlylkowj.js → templates_thermo-review.md.DQh6Q0C-.js} +2 -2
  146. package/dist/docs/assets/{templates_thermo-review.md.Dlylkowj.lean.js → templates_thermo-review.md.DQh6Q0C-.lean.js} +1 -1
  147. package/dist/docs/assets/{templates_triage.md.CvJyx81N.js → templates_triage.md.BFlQhWXf.js} +3 -3
  148. package/dist/docs/assets/{templates_triage.md.CvJyx81N.lean.js → templates_triage.md.BFlQhWXf.lean.js} +1 -1
  149. package/dist/docs/assets/troubleshooting.md.Bscj6ODe.js +1 -0
  150. package/dist/docs/assets/{troubleshooting.md.Cw5PKa3t.lean.js → troubleshooting.md.Bscj6ODe.lean.js} +1 -1
  151. package/dist/docs/building-with-agents.html +36 -36
  152. package/dist/docs/building-with-agents.md +0 -3
  153. package/dist/docs/deployment.html +39 -39
  154. package/dist/docs/deployment.md +6 -10
  155. package/dist/docs/evals.html +36 -36
  156. package/dist/docs/evals.md +0 -3
  157. package/dist/docs/guides/agent-to-agent.html +36 -36
  158. package/dist/docs/guides/agent-to-agent.md +0 -3
  159. package/dist/docs/guides/bitbucket.html +36 -36
  160. package/dist/docs/guides/bitbucket.md +0 -3
  161. package/dist/docs/guides/cloud-agents.html +36 -36
  162. package/dist/docs/guides/cloud-agents.md +0 -4
  163. package/dist/docs/guides/convert-automation.html +37 -37
  164. package/dist/docs/guides/convert-automation.md +2 -5
  165. package/dist/docs/guides/github.html +37 -37
  166. package/dist/docs/guides/github.md +1 -4
  167. package/dist/docs/guides/gitlab.html +36 -36
  168. package/dist/docs/guides/gitlab.md +0 -3
  169. package/dist/docs/guides/grokbot-agents.html +37 -37
  170. package/dist/docs/guides/grokbot-agents.md +1 -4
  171. package/dist/docs/guides/hooks.html +36 -36
  172. package/dist/docs/guides/hooks.md +0 -3
  173. package/dist/docs/guides/improve.html +36 -36
  174. package/dist/docs/guides/improve.md +0 -3
  175. package/dist/docs/guides/jev.html +37 -37
  176. package/dist/docs/guides/jev.md +7 -3
  177. package/dist/docs/guides/mcp-oauth.html +37 -37
  178. package/dist/docs/guides/mcp-oauth.md +1 -4
  179. package/dist/docs/guides/opentelemetry.html +42 -40
  180. package/dist/docs/guides/opentelemetry.md +4 -5
  181. package/dist/docs/guides/slack.html +43 -43
  182. package/dist/docs/guides/slack.md +14 -24
  183. package/dist/docs/guides/webhooks.html +36 -36
  184. package/dist/docs/guides/webhooks.md +0 -3
  185. package/dist/docs/hashmap.json +1 -1
  186. package/dist/docs/hillclimbing.html +36 -36
  187. package/dist/docs/hillclimbing.md +0 -3
  188. package/dist/docs/index.html +38 -38
  189. package/dist/docs/index.md +9 -16
  190. package/dist/docs/llms-full.txt +156 -220
  191. package/dist/docs/llms.txt +1 -0
  192. package/dist/docs/quickstart.html +36 -36
  193. package/dist/docs/quickstart.md +2 -7
  194. package/dist/docs/reference/agent-config.html +38 -38
  195. package/dist/docs/reference/agent-config.md +4 -7
  196. package/dist/docs/reference/artifacts.html +36 -36
  197. package/dist/docs/reference/artifacts.md +0 -3
  198. package/dist/docs/reference/channels.html +37 -37
  199. package/dist/docs/reference/channels.md +1 -6
  200. package/dist/docs/reference/cli.html +38 -38
  201. package/dist/docs/reference/cli.md +7 -14
  202. package/dist/docs/reference/connections.html +38 -38
  203. package/dist/docs/reference/connections.md +7 -10
  204. package/dist/docs/reference/evals.html +36 -36
  205. package/dist/docs/reference/evals.md +0 -3
  206. package/dist/docs/reference/extensions.html +40 -39
  207. package/dist/docs/reference/extensions.md +15 -5
  208. package/dist/docs/reference/hooks.html +36 -36
  209. package/dist/docs/reference/hooks.md +0 -3
  210. package/dist/docs/reference/http-api.html +37 -37
  211. package/dist/docs/reference/http-api.md +1 -1
  212. package/dist/docs/reference/instructions.html +36 -36
  213. package/dist/docs/reference/instructions.md +0 -3
  214. package/dist/docs/reference/playground.html +36 -36
  215. package/dist/docs/reference/playground.md +0 -3
  216. package/dist/docs/reference/project-layout.html +37 -37
  217. package/dist/docs/reference/project-layout.md +2 -2
  218. package/dist/docs/reference/prompt.html +37 -37
  219. package/dist/docs/reference/prompt.md +0 -3
  220. package/dist/docs/reference/schedules.html +36 -36
  221. package/dist/docs/reference/schedules.md +0 -3
  222. package/dist/docs/reference/sessions.html +36 -36
  223. package/dist/docs/reference/sessions.md +0 -3
  224. package/dist/docs/reference/skills.html +38 -38
  225. package/dist/docs/reference/skills.md +0 -3
  226. package/dist/docs/reference/subagents.html +36 -36
  227. package/dist/docs/reference/subagents.md +0 -3
  228. package/dist/docs/reference/tools.html +36 -36
  229. package/dist/docs/reference/tools.md +1 -5
  230. package/dist/docs/templates/agentic-owners.html +36 -36
  231. package/dist/docs/templates/agentic-owners.md +0 -3
  232. package/dist/docs/templates/grokbot-agents.html +64 -0
  233. package/dist/docs/templates/grokbot-agents.md +55 -0
  234. package/dist/docs/templates/security-reviewer.html +37 -37
  235. package/dist/docs/templates/security-reviewer.md +0 -3
  236. package/dist/docs/templates/thermo-quality-review.html +36 -36
  237. package/dist/docs/templates/thermo-quality-review.md +3 -6
  238. package/dist/docs/templates/thermo-review.html +36 -36
  239. package/dist/docs/templates/thermo-review.md +3 -5
  240. package/dist/docs/templates/triage.html +37 -37
  241. package/dist/docs/templates/triage.md +2 -3
  242. package/dist/docs/troubleshooting.html +36 -36
  243. package/dist/docs/troubleshooting.md +3 -7
  244. package/dist/extensions/jev/extension.d.ts +3 -0
  245. package/dist/extensions/jev/extension.d.ts.map +1 -1
  246. package/dist/extensions/jev/extension.js +10 -1
  247. package/dist/extensions/jev/lib/evaluate.d.ts +4 -0
  248. package/dist/extensions/jev/lib/evaluate.d.ts.map +1 -1
  249. package/dist/extensions/jev/lib/evaluate.js +6 -2
  250. package/dist/extensions.d.ts +4 -2
  251. package/dist/extensions.d.ts.map +1 -1
  252. package/dist/extensions.js +5 -2
  253. package/dist/internal/cli-deploy.d.ts.map +1 -1
  254. package/dist/internal/cli-deploy.js +19 -5
  255. package/dist/internal/discovery/agent-config.d.ts +6 -5
  256. package/dist/internal/discovery/agent-config.d.ts.map +1 -1
  257. package/dist/internal/discovery/agent-config.js +29 -28
  258. package/dist/internal/discovery/agent.js +1 -1
  259. package/dist/internal/discovery/extensions.d.ts.map +1 -1
  260. package/dist/internal/discovery/extensions.js +12 -0
  261. package/dist/internal/hosting.d.ts +8 -0
  262. package/dist/internal/hosting.d.ts.map +1 -1
  263. package/dist/internal/hosting.js +24 -0
  264. package/dist/types.d.ts +18 -2
  265. package/dist/types.d.ts.map +1 -1
  266. package/docs/README.md +9 -16
  267. package/docs/building-with-agents.md +0 -3
  268. package/docs/deployment.md +6 -10
  269. package/docs/evals.md +0 -3
  270. package/docs/guides/agent-to-agent.md +0 -3
  271. package/docs/guides/bitbucket.md +0 -3
  272. package/docs/guides/cloud-agents.md +0 -4
  273. package/docs/guides/convert-automation.md +2 -5
  274. package/docs/guides/github.md +1 -4
  275. package/docs/guides/gitlab.md +0 -3
  276. package/docs/guides/grokbot-agents.md +1 -4
  277. package/docs/guides/hooks.md +0 -3
  278. package/docs/guides/improve.md +0 -3
  279. package/docs/guides/jev.md +7 -3
  280. package/docs/guides/mcp-oauth.md +1 -4
  281. package/docs/guides/opentelemetry.md +4 -5
  282. package/docs/guides/slack.md +14 -24
  283. package/docs/guides/webhooks.md +0 -3
  284. package/docs/hillclimbing.md +0 -3
  285. package/docs/quickstart.md +2 -7
  286. package/docs/reference/agent-config.md +4 -7
  287. package/docs/reference/artifacts.md +0 -3
  288. package/docs/reference/channels.md +1 -6
  289. package/docs/reference/cli.md +7 -14
  290. package/docs/reference/connections.md +7 -10
  291. package/docs/reference/evals.md +0 -3
  292. package/docs/reference/extensions.md +15 -5
  293. package/docs/reference/hooks.md +0 -3
  294. package/docs/reference/http-api.md +1 -1
  295. package/docs/reference/instructions.md +0 -3
  296. package/docs/reference/playground.md +0 -3
  297. package/docs/reference/project-layout.md +2 -2
  298. package/docs/reference/prompt.md +0 -3
  299. package/docs/reference/schedules.md +0 -3
  300. package/docs/reference/sessions.md +0 -3
  301. package/docs/reference/skills.md +0 -3
  302. package/docs/reference/subagents.md +0 -3
  303. package/docs/reference/tools.md +1 -5
  304. package/docs/templates/agentic-owners.md +0 -3
  305. package/docs/templates/grokbot-agents.md +60 -0
  306. package/docs/templates/security-reviewer.md +0 -3
  307. package/docs/templates/thermo-quality-review.md +3 -6
  308. package/docs/templates/thermo-review.md +3 -5
  309. package/docs/templates/triage.md +2 -3
  310. package/docs/troubleshooting.md +3 -7
  311. package/package.json +2 -10
  312. package/templates/agentic-owners/README.md +0 -3
  313. package/templates/agents-md/README.md +4 -3
  314. package/templates/code-wiki/README.md +0 -3
  315. package/templates/demo/README.md +0 -3
  316. package/templates/grokbot-agents/README.md +4 -6
  317. package/templates/security-help/README.md +12 -6
  318. package/templates/security-reviewer/README.md +0 -3
  319. package/templates/thermo-quality-review/README.md +0 -3
  320. package/templates/thermo-review/README.md +0 -3
  321. package/templates/triage/README.md +0 -3
  322. package/templates/triage/overlays/jira/README.md +0 -3
  323. package/templates/triage/overlays/linear/README.md +0 -3
  324. package/dist/docs/assets/chunks/@localSearchIndexroot.D5L-b34G.js +0 -1
  325. package/dist/docs/assets/chunks/channel.BbOGaJQP.js +0 -1
  326. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.Db58HCb1.js +0 -1
  327. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.Db58HCb1.js +0 -1
  328. package/dist/docs/assets/chunks/clone.Co4MBflG.js +0 -1
  329. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.CMsKhrW0.js +0 -1
  330. package/dist/docs/assets/index.md.CVc_oOA3.js +0 -27
  331. package/dist/docs/assets/reference_playground.md.BdQzRJc2.js +0 -1
  332. package/dist/docs/assets/reference_sessions.md.DeRUItHD.js +0 -1
  333. package/dist/docs/assets/troubleshooting.md.Cw5PKa3t.js +0 -1
  334. package/src/artifacts.ts +0 -68
  335. package/src/bin/agent-serve.ts +0 -1854
  336. package/src/channels/bitbucket/api.ts +0 -891
  337. package/src/channels/bitbucket/binding.ts +0 -417
  338. package/src/channels/bitbucket/bitbucket-channel.ts +0 -162
  339. package/src/channels/bitbucket/bitbucket-webhook.ts +0 -519
  340. package/src/channels/bitbucket/checks.ts +0 -146
  341. package/src/channels/bitbucket/cursor-account.ts +0 -106
  342. package/src/channels/bitbucket/defaults.ts +0 -100
  343. package/src/channels/bitbucket/events.ts +0 -74
  344. package/src/channels/bitbucket/index.ts +0 -51
  345. package/src/channels/bitbucket/replay.ts +0 -421
  346. package/src/channels/bitbucket/state.ts +0 -59
  347. package/src/channels/bitbucket/types.ts +0 -261
  348. package/src/channels/change-monitors/change-monitors-channel.ts +0 -63
  349. package/src/channels/change-monitors/index.ts +0 -8
  350. package/src/channels/change-monitors/types.ts +0 -42
  351. package/src/channels/checks.ts +0 -185
  352. package/src/channels/deployments/deployments-channel.ts +0 -224
  353. package/src/channels/deployments/index.ts +0 -25
  354. package/src/channels/deployments/types.ts +0 -92
  355. package/src/channels/github/api.ts +0 -526
  356. package/src/channels/github/auth.ts +0 -293
  357. package/src/channels/github/binding.ts +0 -233
  358. package/src/channels/github/checks.ts +0 -145
  359. package/src/channels/github/cursor-account.ts +0 -303
  360. package/src/channels/github/defaults.ts +0 -168
  361. package/src/channels/github/events.ts +0 -67
  362. package/src/channels/github/forward.ts +0 -359
  363. package/src/channels/github/github-channel.ts +0 -2334
  364. package/src/channels/github/index.ts +0 -54
  365. package/src/channels/github/progress.ts +0 -365
  366. package/src/channels/github/replay.ts +0 -372
  367. package/src/channels/github/state.ts +0 -124
  368. package/src/channels/github/types.ts +0 -590
  369. package/src/channels/gitlab/api.ts +0 -329
  370. package/src/channels/gitlab/binding.ts +0 -231
  371. package/src/channels/gitlab/checks.ts +0 -228
  372. package/src/channels/gitlab/cursor-account.ts +0 -105
  373. package/src/channels/gitlab/defaults.ts +0 -80
  374. package/src/channels/gitlab/events.ts +0 -37
  375. package/src/channels/gitlab/gitlab-channel.ts +0 -160
  376. package/src/channels/gitlab/gitlab-webhook.ts +0 -509
  377. package/src/channels/gitlab/index.ts +0 -44
  378. package/src/channels/gitlab/replay.ts +0 -328
  379. package/src/channels/gitlab/state.ts +0 -55
  380. package/src/channels/gitlab/types.ts +0 -247
  381. package/src/channels/issues/index.ts +0 -9
  382. package/src/channels/issues/issues-channel.ts +0 -45
  383. package/src/channels/issues/types.ts +0 -38
  384. package/src/channels/origin/api.ts +0 -507
  385. package/src/channels/origin/binding.ts +0 -114
  386. package/src/channels/origin/checks.ts +0 -250
  387. package/src/channels/origin/cursor-account.ts +0 -58
  388. package/src/channels/origin/defaults.ts +0 -140
  389. package/src/channels/origin/events.ts +0 -35
  390. package/src/channels/origin/index.ts +0 -35
  391. package/src/channels/origin/origin-channel.ts +0 -815
  392. package/src/channels/origin/origin-webhook.ts +0 -296
  393. package/src/channels/origin/reactions.ts +0 -72
  394. package/src/channels/origin/state.ts +0 -54
  395. package/src/channels/origin/types.ts +0 -295
  396. package/src/channels/slack/agentic-delivery.ts +0 -634
  397. package/src/channels/slack/agentic-posted.ts +0 -135
  398. package/src/channels/slack/agentic-signals.ts +0 -231
  399. package/src/channels/slack/api.ts +0 -761
  400. package/src/channels/slack/approvals.ts +0 -279
  401. package/src/channels/slack/assistant.ts +0 -76
  402. package/src/channels/slack/attachments.ts +0 -596
  403. package/src/channels/slack/auth.ts +0 -127
  404. package/src/channels/slack/blocks.ts +0 -131
  405. package/src/channels/slack/bot-mentions.ts +0 -318
  406. package/src/channels/slack/channel-watch.ts +0 -314
  407. package/src/channels/slack/cli-project.ts +0 -249
  408. package/src/channels/slack/code-fences.ts +0 -171
  409. package/src/channels/slack/constants.ts +0 -38
  410. package/src/channels/slack/credentials.ts +0 -88
  411. package/src/channels/slack/defaults.ts +0 -714
  412. package/src/channels/slack/dispatch.ts +0 -1060
  413. package/src/channels/slack/doctor.ts +0 -338
  414. package/src/channels/slack/eval-directive.ts +0 -306
  415. package/src/channels/slack/event-id-dedupe.ts +0 -30
  416. package/src/channels/slack/external-policy.ts +0 -75
  417. package/src/channels/slack/footer.ts +0 -106
  418. package/src/channels/slack/inbound.ts +0 -416
  419. package/src/channels/slack/index.ts +0 -53
  420. package/src/channels/slack/init.ts +0 -169
  421. package/src/channels/slack/interactive.ts +0 -406
  422. package/src/channels/slack/links.ts +0 -23
  423. package/src/channels/slack/live-delivery.ts +0 -489
  424. package/src/channels/slack/log.ts +0 -70
  425. package/src/channels/slack/manifest.ts +0 -240
  426. package/src/channels/slack/message-body.ts +0 -82
  427. package/src/channels/slack/nudge-carrier.ts +0 -224
  428. package/src/channels/slack/nudge-store.ts +0 -334
  429. package/src/channels/slack/paint-start.ts +0 -93
  430. package/src/channels/slack/placeholder.ts +0 -358
  431. package/src/channels/slack/pr-ref.ts +0 -74
  432. package/src/channels/slack/progress-delivery.ts +0 -138
  433. package/src/channels/slack/reasoning-card.ts +0 -125
  434. package/src/channels/slack/reasoning-chip.ts +0 -41
  435. package/src/channels/slack/recording-sink.ts +0 -167
  436. package/src/channels/slack/redact.ts +0 -6
  437. package/src/channels/slack/reply-options.ts +0 -279
  438. package/src/channels/slack/setup.ts +0 -125
  439. package/src/channels/slack/slack-channel.ts +0 -744
  440. package/src/channels/slack/socket-mode.ts +0 -140
  441. package/src/channels/slack/stop.ts +0 -25
  442. package/src/channels/slack/stream.ts +0 -66
  443. package/src/channels/slack/thread-context.ts +0 -485
  444. package/src/channels/slack/tool-approval-events.ts +0 -233
  445. package/src/channels/slack/tool-cards.ts +0 -198
  446. package/src/channels/slack/tool-chip.ts +0 -34
  447. package/src/channels/slack/types.ts +0 -787
  448. package/src/channels/slack/upload.ts +0 -137
  449. package/src/channels.ts +0 -543
  450. package/src/connections.ts +0 -153
  451. package/src/dashboard-session-url.ts +0 -30
  452. package/src/evals/assertions.ts +0 -688
  453. package/src/evals/expect.ts +0 -250
  454. package/src/evals/judge.ts +0 -329
  455. package/src/evals/loaders.ts +0 -111
  456. package/src/evals/matchers.ts +0 -223
  457. package/src/evals/reporters.ts +0 -257
  458. package/src/evals/results.ts +0 -130
  459. package/src/evals/run-facts.ts +0 -306
  460. package/src/evals.ts +0 -709
  461. package/src/extensions/cursor-cloud-agents/extension.ts +0 -131
  462. package/src/extensions/cursor-cloud-agents/lib/backend.ts +0 -386
  463. package/src/extensions/cursor-cloud-agents/lib/channels.ts +0 -11
  464. package/src/extensions/cursor-cloud-agents/lib/fleet.ts +0 -98
  465. package/src/extensions/cursor-cloud-agents/lib/inputs.ts +0 -5
  466. package/src/extensions/cursor-cloud-agents/lib/repos.ts +0 -80
  467. package/src/extensions/cursor-cloud-agents/lib/transcript.ts +0 -19
  468. package/src/extensions/cursor-cloud-agents/skills/handoff.md +0 -37
  469. package/src/extensions/cursor-cloud-agents/tools/cancel.ts +0 -21
  470. package/src/extensions/cursor-cloud-agents/tools/dump.ts +0 -47
  471. package/src/extensions/cursor-cloud-agents/tools/get.ts +0 -18
  472. package/src/extensions/cursor-cloud-agents/tools/launch.ts +0 -62
  473. package/src/extensions/cursor-cloud-agents/tools/list.ts +0 -31
  474. package/src/extensions/cursor-cloud-agents/tools/reply.ts +0 -36
  475. package/src/extensions/cursor-grokbot-agents/extension.ts +0 -132
  476. package/src/extensions/cursor-grokbot-agents/lib/agents.ts +0 -42
  477. package/src/extensions/cursor-grokbot-agents/lib/backend.ts +0 -208
  478. package/src/extensions/cursor-grokbot-agents/lib/contacts.ts +0 -74
  479. package/src/extensions/cursor-grokbot-agents/lib/conversation.ts +0 -260
  480. package/src/extensions/cursor-grokbot-agents/lib/inputs.ts +0 -21
  481. package/src/extensions/cursor-grokbot-agents/lib/lock.ts +0 -26
  482. package/src/extensions/cursor-grokbot-agents/skills/consult.md +0 -40
  483. package/src/extensions/cursor-grokbot-agents/tools/ask.ts +0 -32
  484. package/src/extensions/cursor-grokbot-agents/tools/check.ts +0 -25
  485. package/src/extensions/cursor-grokbot-agents/tools/interrupt.ts +0 -17
  486. package/src/extensions/cursor-grokbot-agents/tools/list.ts +0 -26
  487. package/src/extensions/improve/extension.ts +0 -69
  488. package/src/extensions/improve/skills/yourself.ts +0 -50
  489. package/src/extensions/jev/extension.ts +0 -95
  490. package/src/extensions/jev/lib/evaluate.ts +0 -266
  491. package/src/extensions/jev/skills/gated-write.md +0 -25
  492. package/src/extensions/jev/skills/questions.md +0 -33
  493. package/src/extensions/jev/tools/evaluate.ts +0 -82
  494. package/src/extensions/slack-communication/evals/harness.ts +0 -705
  495. package/src/extensions/slack-communication/evals/slack-communication.eval.ts +0 -830
  496. package/src/extensions/slack-communication/evals/slack-placeholder.eval.ts +0 -172
  497. package/src/extensions/slack-communication/extension.ts +0 -44
  498. package/src/extensions/slack-communication/skills/slack-voice.ts +0 -56
  499. package/src/extensions/slack-communication/tools/delete-message.ts +0 -33
  500. package/src/extensions/slack-communication/tools/edit-message.ts +0 -42
  501. package/src/extensions/slack-communication/tools/post-card.ts +0 -28
  502. package/src/extensions/slack-communication/tools/post-file.ts +0 -82
  503. package/src/extensions/slack-communication/tools/post-update.ts +0 -40
  504. package/src/extensions/slack-communication/tools/react.ts +0 -30
  505. package/src/extensions/slack-communication/tools/set-status.ts +0 -21
  506. package/src/extensions.ts +0 -179
  507. package/src/files-backends/agent-store-presigned-url.ts +0 -11
  508. package/src/files-backends/cursor-hosted.ts +0 -1212
  509. package/src/files-backends/local-fs.ts +0 -163
  510. package/src/files.ts +0 -293
  511. package/src/filesystem.ts +0 -2005
  512. package/src/hooks.ts +0 -30
  513. package/src/index.ts +0 -259
  514. package/src/internal/advertise-tools.ts +0 -370
  515. package/src/internal/approval-gate.ts +0 -103
  516. package/src/internal/artifacts-store.ts +0 -836
  517. package/src/internal/as-of.ts +0 -257
  518. package/src/internal/auth.ts +0 -46
  519. package/src/internal/authored-alias-hooks.ts +0 -138
  520. package/src/internal/authored-loaders.ts +0 -188
  521. package/src/internal/bounded-int.ts +0 -24
  522. package/src/internal/bounded.ts +0 -25
  523. package/src/internal/brand.ts +0 -28
  524. package/src/internal/browser-origin-guard.ts +0 -67
  525. package/src/internal/builtin-tools/artifacts.ts +0 -62
  526. package/src/internal/builtin-tools/index.ts +0 -53
  527. package/src/internal/builtin-tools/reminders.ts +0 -145
  528. package/src/internal/channel-dispatch.ts +0 -129
  529. package/src/internal/channel-route-dispatch.ts +0 -58
  530. package/src/internal/channel-state.ts +0 -83
  531. package/src/internal/chat-client.ts +0 -594
  532. package/src/internal/cli-ax.ts +0 -2318
  533. package/src/internal/cli-bitbucket.ts +0 -438
  534. package/src/internal/cli-convert-automation.ts +0 -335
  535. package/src/internal/cli-cursor.ts +0 -282
  536. package/src/internal/cli-deploy.ts +0 -2519
  537. package/src/internal/cli-docs.ts +0 -192
  538. package/src/internal/cli-github.ts +0 -806
  539. package/src/internal/cli-gitlab.ts +0 -452
  540. package/src/internal/cli-images.ts +0 -672
  541. package/src/internal/cli-manifest.ts +0 -56
  542. package/src/internal/cli-mcp-oauth.ts +0 -396
  543. package/src/internal/cli-mcp.ts +0 -808
  544. package/src/internal/cli-skills.ts +0 -98
  545. package/src/internal/cli-slack-manual.ts +0 -418
  546. package/src/internal/cli-slack.ts +0 -874
  547. package/src/internal/cloud-merge.ts +0 -51
  548. package/src/internal/cloud-turn-cost.ts +0 -159
  549. package/src/internal/connection-env.ts +0 -106
  550. package/src/internal/continuation-channel.ts +0 -233
  551. package/src/internal/continuation-identity.ts +0 -935
  552. package/src/internal/conversation-mirror.ts +0 -423
  553. package/src/internal/convert-automation/convert-workflow.ts +0 -1377
  554. package/src/internal/convert-automation/slug.ts +0 -29
  555. package/src/internal/convert-automation/types.ts +0 -212
  556. package/src/internal/cron.ts +0 -76
  557. package/src/internal/cursor/account-mcp.ts +0 -692
  558. package/src/internal/cursor/backend-client.ts +0 -984
  559. package/src/internal/cursor/bound-secret-file.ts +0 -101
  560. package/src/internal/cursor/credentials.ts +0 -560
  561. package/src/internal/cursor/cursor-api-transport.ts +0 -65
  562. package/src/internal/cursor/github-credentials.ts +0 -228
  563. package/src/internal/cursor/hosted-bound-secrets.ts +0 -71
  564. package/src/internal/cursor/hosted-deployment-secrets.ts +0 -100
  565. package/src/internal/cursor/hosted-store-secrets.ts +0 -152
  566. package/src/internal/cursor/session-token.ts +0 -111
  567. package/src/internal/cursor/store-api-client.ts +0 -323
  568. package/src/internal/cursor-account-mcp-auth.ts +0 -303
  569. package/src/internal/cursor-agent-template.ts +0 -50
  570. package/src/internal/cursor-deployment-relay.ts +0 -315
  571. package/src/internal/cursor-event-relay.ts +0 -675
  572. package/src/internal/cursor-relay-core.ts +0 -563
  573. package/src/internal/deferred-channel-session.ts +0 -61
  574. package/src/internal/deploy-client.ts +0 -1574
  575. package/src/internal/deploy-manifest.ts +0 -361
  576. package/src/internal/deploy-source.ts +0 -144
  577. package/src/internal/describe-error.ts +0 -32
  578. package/src/internal/dev-mode.ts +0 -20
  579. package/src/internal/discovery/agent-config.ts +0 -288
  580. package/src/internal/discovery/agent.ts +0 -381
  581. package/src/internal/discovery/channels.ts +0 -100
  582. package/src/internal/discovery/connections.ts +0 -516
  583. package/src/internal/discovery/context.ts +0 -38
  584. package/src/internal/discovery/cursor-plugin.ts +0 -628
  585. package/src/internal/discovery/extension-overlay.ts +0 -247
  586. package/src/internal/discovery/extensions.ts +0 -490
  587. package/src/internal/discovery/fs.ts +0 -103
  588. package/src/internal/discovery/hooks.ts +0 -63
  589. package/src/internal/discovery/info.ts +0 -174
  590. package/src/internal/discovery/instructions.ts +0 -98
  591. package/src/internal/discovery/modules.ts +0 -107
  592. package/src/internal/discovery/names.ts +0 -45
  593. package/src/internal/discovery/project.ts +0 -319
  594. package/src/internal/discovery/reminders.ts +0 -65
  595. package/src/internal/discovery/runtime.ts +0 -158
  596. package/src/internal/discovery/schedules.ts +0 -120
  597. package/src/internal/discovery/seed-files.ts +0 -34
  598. package/src/internal/discovery/services.ts +0 -151
  599. package/src/internal/discovery/skills.ts +0 -174
  600. package/src/internal/discovery/subagent.ts +0 -138
  601. package/src/internal/discovery/tools.ts +0 -170
  602. package/src/internal/discovery.ts +0 -27
  603. package/src/internal/distribution.ts +0 -126
  604. package/src/internal/docs-site.ts +0 -248
  605. package/src/internal/duration.ts +0 -37
  606. package/src/internal/env-file.ts +0 -83
  607. package/src/internal/eval-judge-model.ts +0 -142
  608. package/src/internal/eval-run-store.ts +0 -585
  609. package/src/internal/eval-runner.ts +0 -823
  610. package/src/internal/evals-client.ts +0 -475
  611. package/src/internal/event-log.ts +0 -342
  612. package/src/internal/event-mapper.ts +0 -811
  613. package/src/internal/expected-delivery-failure.ts +0 -34
  614. package/src/internal/factory-resource-channel.ts +0 -103
  615. package/src/internal/filesystem/errors.ts +0 -207
  616. package/src/internal/filesystem/format.ts +0 -253
  617. package/src/internal/filesystem/merge.ts +0 -192
  618. package/src/internal/filesystem/nearest.ts +0 -112
  619. package/src/internal/filesystem/scratch.ts +0 -239
  620. package/src/internal/filesystem/sdk-schemas.ts +0 -204
  621. package/src/internal/filesystem/tools.ts +0 -804
  622. package/src/internal/filesystem/walk.ts +0 -366
  623. package/src/internal/fixtures/units-server.ts +0 -52
  624. package/src/internal/framework-file-storage.ts +0 -357
  625. package/src/internal/framework-storage-selection.ts +0 -156
  626. package/src/internal/frontmatter.ts +0 -108
  627. package/src/internal/github-fanout.ts +0 -144
  628. package/src/internal/guest-network.ts +0 -391
  629. package/src/internal/handleAgentServeTrigger.ts +0 -286
  630. package/src/internal/host-files.ts +0 -341
  631. package/src/internal/host-kv.ts +0 -81
  632. package/src/internal/host-otel.ts +0 -231
  633. package/src/internal/host-platforms.ts +0 -170
  634. package/src/internal/hosted-admission-adapter.ts +0 -47
  635. package/src/internal/hosted-admission-context.ts +0 -37
  636. package/src/internal/hosted-catch-protocol.ts +0 -112
  637. package/src/internal/hosted-catch.ts +0 -179
  638. package/src/internal/hosted-delivery-protocol.ts +0 -824
  639. package/src/internal/hosted-delivery.ts +0 -1410
  640. package/src/internal/hosted-execution-diag.ts +0 -291
  641. package/src/internal/hosted-execution-flush.ts +0 -136
  642. package/src/internal/hosted-execution-latency.ts +0 -301
  643. package/src/internal/hosted-managed-automation.ts +0 -116
  644. package/src/internal/hosting.ts +0 -114
  645. package/src/internal/http-channel-define.ts +0 -25
  646. package/src/internal/http-channel.ts +0 -669
  647. package/src/internal/http-control-plane-session.ts +0 -110
  648. package/src/internal/ids.ts +0 -39
  649. package/src/internal/incoming-headers-to-fetch.ts +0 -45
  650. package/src/internal/init-interview.ts +0 -360
  651. package/src/internal/init-project.ts +0 -711
  652. package/src/internal/init-scaffold.ts +0 -182
  653. package/src/internal/inline-stdio-define-stub.ts +0 -4
  654. package/src/internal/inline-stdio-mcp.ts +0 -230
  655. package/src/internal/install-cursor-skills.ts +0 -604
  656. package/src/internal/is-record.ts +0 -3
  657. package/src/internal/json-schema.ts +0 -95
  658. package/src/internal/legacy-command-guard.ts +0 -66
  659. package/src/internal/listen-port.ts +0 -85
  660. package/src/internal/local-control-plane.ts +0 -442
  661. package/src/internal/local-env.ts +0 -59
  662. package/src/internal/local-ingress.ts +0 -90
  663. package/src/internal/log-ring.ts +0 -59
  664. package/src/internal/logs-client.ts +0 -477
  665. package/src/internal/map-pool.ts +0 -39
  666. package/src/internal/mcp-endpoint.ts +0 -747
  667. package/src/internal/mcp-host.ts +0 -509
  668. package/src/internal/mcp-oauth-on-demand.ts +0 -337
  669. package/src/internal/mcp-oauth-persist.ts +0 -118
  670. package/src/internal/mcp-oauth.ts +0 -549
  671. package/src/internal/net.ts +0 -29
  672. package/src/internal/open-browser.ts +0 -41
  673. package/src/internal/otel/attrs.ts +0 -16
  674. package/src/internal/otel/collector.ts +0 -937
  675. package/src/internal/otel/config.ts +0 -287
  676. package/src/internal/otel/http.ts +0 -122
  677. package/src/internal/otel/mcp.ts +0 -56
  678. package/src/internal/otel/propagation.ts +0 -17
  679. package/src/internal/otel/runtime.ts +0 -441
  680. package/src/internal/package-inline-stdio.ts +0 -114
  681. package/src/internal/peer-connections.ts +0 -96
  682. package/src/internal/platform-schedule-sync.ts +0 -75
  683. package/src/internal/platform-timers.ts +0 -365
  684. package/src/internal/playground/static.ts +0 -278
  685. package/src/internal/playground/toolchain.ts +0 -270
  686. package/src/internal/playground-proxy.ts +0 -564
  687. package/src/internal/process-memory-telemetry.ts +0 -334
  688. package/src/internal/project-layout.ts +0 -31
  689. package/src/internal/prompt-context.ts +0 -116
  690. package/src/internal/reminder-control-plane-protocol.ts +0 -482
  691. package/src/internal/reminder-runner.ts +0 -1559
  692. package/src/internal/reminder-schedule.ts +0 -104
  693. package/src/internal/reminder-store.ts +0 -176
  694. package/src/internal/request-error-status.ts +0 -95
  695. package/src/internal/request-headers.ts +0 -21
  696. package/src/internal/resolve-prod-target.ts +0 -334
  697. package/src/internal/resolved-connections.ts +0 -190
  698. package/src/internal/router.ts +0 -143
  699. package/src/internal/run-client.ts +0 -354
  700. package/src/internal/runtime-dispatch-runner.ts +0 -50
  701. package/src/internal/sanitize-mcp-tool-name.ts +0 -31
  702. package/src/internal/schedule-runner.ts +0 -154
  703. package/src/internal/scm/pr-url.ts +0 -245
  704. package/src/internal/sdk-runner.ts +0 -959
  705. package/src/internal/serve-restart.ts +0 -113
  706. package/src/internal/server.ts +0 -3147
  707. package/src/internal/session-cost.ts +0 -208
  708. package/src/internal/session-engine.ts +0 -5622
  709. package/src/internal/session-links.ts +0 -84
  710. package/src/internal/session-run-log.ts +0 -535
  711. package/src/internal/session-store.ts +0 -307
  712. package/src/internal/session-urls.ts +0 -32
  713. package/src/internal/sessions-client.ts +0 -239
  714. package/src/internal/skill-catalog.ts +0 -66
  715. package/src/internal/skills-sync.ts +0 -55
  716. package/src/internal/slack-provision-client.ts +0 -544
  717. package/src/internal/slack-thread-key.ts +0 -11
  718. package/src/internal/sleep.ts +0 -3
  719. package/src/internal/start-log-store.ts +0 -164
  720. package/src/internal/steering.ts +0 -17
  721. package/src/internal/storage-coordinator.ts +0 -800
  722. package/src/internal/storage-roles.ts +0 -86
  723. package/src/internal/storage.ts +0 -1
  724. package/src/internal/store-api-protocol.ts +0 -205
  725. package/src/internal/store-mirror.ts +0 -73
  726. package/src/internal/stream-progress.ts +0 -294
  727. package/src/internal/terminal-style.ts +0 -133
  728. package/src/internal/testing/factory-resource-fixtures.ts +0 -84
  729. package/src/internal/testing/scm-continuation-fixtures.ts +0 -285
  730. package/src/internal/tool-catalog.ts +0 -104
  731. package/src/internal/tool-policy.ts +0 -222
  732. package/src/internal/tool-result.ts +0 -50
  733. package/src/internal/trajectory.ts +0 -418
  734. package/src/internal/turn-cost.ts +0 -136
  735. package/src/internal/turn-governor.ts +0 -145
  736. package/src/internal/turn-lease-store.ts +0 -144
  737. package/src/internal/turn-outbox.ts +0 -77
  738. package/src/internal/update-check.ts +0 -517
  739. package/src/internal/v2-hosting.ts +0 -52
  740. package/src/internal/workspace-sync.ts +0 -114
  741. package/src/internal/workspace.ts +0 -505
  742. package/src/kv/memory-kv.ts +0 -94
  743. package/src/kv.ts +0 -18
  744. package/src/memory.ts +0 -487
  745. package/src/otel-public.ts +0 -24
  746. package/src/otel.ts +0 -320
  747. package/src/prompt.ts +0 -80
  748. package/src/reminders.ts +0 -65
  749. package/src/schedules.ts +0 -31
  750. package/src/skills.ts +0 -27
  751. package/src/storage-backends/cursor-hosted-v2.ts +0 -204
  752. package/src/storage-backends/cursor-hosted.ts +0 -388
  753. package/src/storage-backends/file-kv.ts +0 -276
  754. package/src/storage-protocol.ts +0 -261
  755. package/src/storage.ts +0 -408
  756. package/src/tools.ts +0 -166
  757. package/src/types.ts +0 -3776
  758. /package/dist/docs/assets/{guides_jev.md.BNDm14Gy.lean.js → guides_jev.md.D7XH4JH3.lean.js} +0 -0
  759. /package/dist/docs/assets/{reference_http-api.md.BZOvhCqY.lean.js → reference_http-api.md.DbFNOubV.lean.js} +0 -0
  760. /package/dist/docs/assets/{reference_project-layout.md.CpLQ9j4K.lean.js → reference_project-layout.md.C2JMRh7p.lean.js} +0 -0
package/src/evals.ts DELETED
@@ -1,709 +0,0 @@
1
- /**
2
- * Filesystem-first evals for agent-serve projects.
3
- *
4
- * Author cases under evals/ as `*.eval.ts` files with {@link defineEval}.
5
- * One file may hold a single datapoint (`test`) or many (`cases`). Drive the
6
- * agent with `t.send(...)` and assert with `t.succeeded()`, `t.calledTool()`,
7
- * `t.messageIncludes(...)`, or `t.check(value, includes(...))`.
8
- *
9
- * ```ts
10
- * import { defineEval, includes } from "@cursor/bdk/evals";
11
- *
12
- * // One datapoint — id is the file path (evals/weather/nyc.eval.ts → weather/nyc)
13
- * export default defineEval({
14
- * description: "Weather tool is used for temperature questions.",
15
- * async test(t) {
16
- * await t.send("What's the temperature in NYC?");
17
- * t.succeeded();
18
- * t.calledTool("get_weather");
19
- * t.check(t.reply, includes(/°|F|C/));
20
- * },
21
- * });
22
- *
23
- * // Many datapoints in one file — ids are <fileId>/<case.id>
24
- * // evals/weather.eval.ts → weather/nyc, weather/paris
25
- * export default defineEval({
26
- * tags: ["smoke", "weather"],
27
- * cases: [
28
- * {
29
- * id: "nyc",
30
- * async test(t) {
31
- * await t.send("What's the temperature in NYC?");
32
- * t.succeeded();
33
- * t.calledTool("get_weather");
34
- * },
35
- * },
36
- * {
37
- * id: "paris",
38
- * async test(t) {
39
- * await t.send("What's the weather in Paris?");
40
- * t.succeeded();
41
- * t.calledTool("get_weather");
42
- * },
43
- * },
44
- * ],
45
- * });
46
- * ```
47
- *
48
- * ## Severity: gates and scores
49
- *
50
- * Every assertion returns a chainable handle, so severity rides on the
51
- * assertion instead of a separate thresholds map. Gates are hard (a miss fails
52
- * the eval and `eval` exits non-zero); soft assertions are tracked scores that
53
- * mark the eval `scored` and only fail the build under `--strict`:
54
- *
55
- * ```ts
56
- * t.succeeded(); // gate (default)
57
- * t.calledTool("get_weather").soft(); // tracked, no gate
58
- * t.check(t.reply, similarity("Sunny, 72F")).atLeast(0.8);
59
- * t.judge.closedQA("cites a source").atLeast(0.6); // LLM-graded
60
- * ```
61
- *
62
- * Matchers narrow tool assertions (`{ input, output, status, count }` accept a
63
- * literal, a RegExp, or a predicate), and each turn returned by `t.send(...)`
64
- * carries the same vocabulary scoped to that turn.
65
- */
66
-
67
- import type { EvalAssertionResult, EvalAssertions, EvalVerdict } from "./evals/assertions.js";
68
- import type { Expectation } from "./evals/expect.js";
69
- import type { EvalJudge, EvalJudgeConfig } from "./evals/judge.js";
70
- import type { EvalReporter } from "./evals/results.js";
71
- import { normalizePositiveInt } from "./internal/bounded-int.js";
72
- import { brandDefinition } from "./internal/brand.js";
73
- import type { AgentCloudOptions, SessionEvent } from "./types.js";
74
-
75
- // Assertion severity, the scoped assertion vocabulary, value assertion
76
- // builders, the judge surface, and result/reporter types are all part of the
77
- // authoring surface: one import (`@cursor/bdk/evals`) covers a whole eval file.
78
- export type {
79
- EvalAssertionHandle,
80
- EvalAssertionResult,
81
- EvalAssertionSeverity,
82
- EvalAssertions,
83
- EvalTaggedArtifactFact,
84
- EvalVerdict,
85
- } from "./evals/assertions.js";
86
- export { computeVerdict, verdictFailsRun } from "./evals/assertions.js";
87
- export type { EvalSchemaLike, Expectation } from "./evals/expect.js";
88
- export {
89
- equals,
90
- includes,
91
- matches,
92
- normalizedSimilarity,
93
- satisfies,
94
- similarity,
95
- } from "./evals/expect.js";
96
- export type {
97
- EvalJudge,
98
- EvalJudgeCallOptions,
99
- EvalJudgeConfig,
100
- EvalJudgeGraderName,
101
- } from "./evals/judge.js";
102
- // A custom judge built on `t.judge.model` embeds the same attacker-controlled
103
- // agent output the built-in graders do, so it needs the same two protections.
104
- export { EVAL_JUDGE_INJECTION_GUARD, fenceUntrusted } from "./evals/judge.js";
105
- export type {
106
- EvalCountMatcher,
107
- EvalEventMatcher,
108
- EvalEventOrderMatcher,
109
- EvalMatcher,
110
- EvalSubagentMatcher,
111
- EvalToolCallMatcher,
112
- EvalToolCallStatus,
113
- } from "./evals/matchers.js";
114
- export type {
115
- EvalReporter,
116
- EvalReporterEvalInfo,
117
- EvalReporterTarget,
118
- EvalRunResult,
119
- EvalRunSummary,
120
- } from "./evals/results.js";
121
- export type {
122
- EvalInputRequestFact,
123
- EvalRunFacts,
124
- EvalSubagentFact,
125
- EvalToolCallFact,
126
- } from "./evals/run-facts.js";
127
- export { deriveRunFacts } from "./evals/run-facts.js";
128
-
129
- /**
130
- * One settled turn. Carries the same assertion vocabulary as `t`, narrowed to
131
- * this turn's events, so an intermediate turn can be graded before the next
132
- * `send` overwrites `t.reply`:
133
- *
134
- * ```ts
135
- * const draft = await t.send("Draft the summary.");
136
- * draft.calledTool("read_file");
137
- * t.check(draft.message, includes("Summary"));
138
- * ```
139
- */
140
- export interface EvalTurnResult extends EvalAssertions {
141
- message: string;
142
- sessionId: string;
143
- events: SessionEvent[];
144
- /** Tool names requested during this turn, in order. */
145
- toolCalls: string[];
146
- ok: boolean;
147
- /** 1-based turn index within the case. */
148
- index: number;
149
- /** Throws when this turn failed. Only needed when later steps depend on it. */
150
- expectOk(): EvalTurnResult;
151
- }
152
-
153
- export interface EvalSendOptions {
154
- /** Absolute harness `cwd` for a new session (`SendMessageOptions.workspaceDir`). */
155
- workspaceDir?: string;
156
- /** Files seeded into the session workspace before the first turn. */
157
- workspaceFiles?: Record<string, string>;
158
- /**
159
- * Per-session cloud options merged over the agent's static `cloud` config
160
- * (create only). Use this to attach a pinned fixture repo for cloud evals
161
- * without putting it on the agent's default `cloud.repos`.
162
- */
163
- cloud?: AgentCloudOptions;
164
- }
165
-
166
- /**
167
- * The eval driver and assertion surface.
168
- *
169
- * `t` both drives the agent and grades it. Assertions on `t` read the whole run
170
- * once `test` finishes; assertions on the turn returned by `t.send(...)` read
171
- * only that turn. Recorded assertions never throw, so one run reports every
172
- * failure rather than dying on the first.
173
- */
174
- export interface EvalTestContext extends EvalAssertions {
175
- /** Send a turn and wait until the session parks (or fails). */
176
- send(message: string, options?: EvalSendOptions): Promise<EvalTurnResult>;
177
- /** Last assistant text, or null before the first send. */
178
- readonly reply: string | null;
179
- readonly sessionId: string | undefined;
180
- /** All events captured so far across turns. */
181
- readonly events: SessionEvent[];
182
- /** Turns settled so far, oldest first. */
183
- readonly turns: readonly EvalTurnResult[];
184
- /**
185
- * 1-based index of this run when {@link EvalConfig.iterations} /
186
- * {@link EvalDatapoint.iterations} expands a datapoint. Always `1` when
187
- * iterations is unset or `1`.
188
- */
189
- readonly iteration: number;
190
- /** Total iterations for this datapoint (default `1`). */
191
- readonly iterations: number;
192
- /** Aborts when the case hits its timeout. */
193
- readonly signal: AbortSignal;
194
- /**
195
- * LLM-as-judge assertions. Soft by default (tracked, never fatal); add a bar
196
- * with `.atLeast(0.7)` or promote with `.gate(0.8)`. Requires a judge model
197
- * from `defineEvalConfig({ judge })`, `defineEval({ judge })`, or the call.
198
- */
199
- readonly judge: EvalJudge;
200
- /**
201
- * Record a gate that must pass before the script can safely continue.
202
- * Returns `value` when it passes and stops the test body when it does not,
203
- * without adding a duplicate execution error.
204
- */
205
- require<T>(value: T, assertion: Expectation): Promise<T>;
206
- /**
207
- * End the case as skipped. Skipped cases are reported separately and never
208
- * change the exit code. Call it before sending messages.
209
- */
210
- skip(reason: string): never;
211
- /** Debug line (surfaced under `agent-sdk eval --verbose`). */
212
- log(message: string): void;
213
- /**
214
- * Structured score for the playground (and CLI). Values appear on the
215
- * case card; agents can further customize rendering via
216
- * `agent/playground/evals.tsx`.
217
- */
218
- metric(name: string, value: string | number): void;
219
- }
220
-
221
- /** Hard ceiling for {@link EvalConfig.iterations} / case `iterations`. */
222
- export const EVAL_MAX_ITERATIONS = 100;
223
-
224
- /** One runnable datapoint inside a multi-case {@link defineEval} file. */
225
- export interface EvalDatapoint {
226
- /**
227
- * Path segment under the file id. Must be a single segment (no `/`).
228
- * Full case id = `<fileId>/<id>` (e.g. file `weather.eval.ts` + `nyc` →
229
- * `weather/nyc`).
230
- */
231
- id: string;
232
- description?: string;
233
- tags?: string[];
234
- timeoutMs?: number;
235
- /**
236
- * How many times to run this datapoint (default `1`, or the file-level
237
- * {@link EvalConfig.iterations}). When greater than 1, discovery expands
238
- * to `<fileId>/<id>/1` … `<fileId>/<id>/<n>` so each iteration is its own
239
- * concurrent case.
240
- */
241
- iterations?: number;
242
- /** Free-form data carried onto the result and every reporter. */
243
- metadata?: Record<string, unknown>;
244
- /** Judge model for this datapoint (overrides `evals.config.ts`). */
245
- judge?: EvalJudgeConfig;
246
- /** Destinations for just this datapoint, in addition to config reporters. */
247
- reporters?: EvalReporter[];
248
- test: (t: EvalTestContext) => Promise<void>;
249
- }
250
-
251
- /**
252
- * Eval file config. Provide either a single {@link test} or a {@link cases}
253
- * array — not both.
254
- */
255
- export interface EvalConfig {
256
- description?: string;
257
- tags?: string[];
258
- timeoutMs?: number;
259
- /**
260
- * Default iterations for every datapoint in this file (default `1`).
261
- * Case-level {@link EvalDatapoint.iterations} overrides this.
262
- */
263
- iterations?: number;
264
- /** Free-form data carried onto every result in this file and to reporters. */
265
- metadata?: Record<string, unknown>;
266
- /** Judge model for this file (overrides `evals.config.ts`). */
267
- judge?: EvalJudgeConfig;
268
- /** Destinations for this file, in addition to config reporters. */
269
- reporters?: EvalReporter[];
270
- /** Single-datapoint shorthand. Case id = file path under `evals/`. */
271
- test?: (t: EvalTestContext) => Promise<void>;
272
- /** Multiple datapoints in this file. Each id = `<fileId>/<case.id>`. */
273
- cases?: EvalDatapoint[];
274
- }
275
-
276
- /** Normalized single datapoint used by the runner after discovery. */
277
- export interface EvalCaseDefinition {
278
- description?: string;
279
- tags?: string[];
280
- timeoutMs?: number;
281
- /** Total iterations configured for the authored datapoint. */
282
- iterations?: number;
283
- /** 1-based iteration index for this expanded runnable case. */
284
- iteration?: number;
285
- metadata?: Record<string, unknown>;
286
- judge?: EvalJudgeConfig;
287
- reporters?: EvalReporter[];
288
- test: (t: EvalTestContext) => Promise<void>;
289
- readonly __agentServe: "eval";
290
- }
291
-
292
- export type EvalDefinition = EvalConfig & { readonly __agentServe: "eval" };
293
-
294
- /**
295
- * Author an eval file. The path under `evals/` is the file id:
296
- * `evals/weather.eval.ts` → `weather`. With a single `test`, that is also
297
- * the case id. With `cases`, each datapoint is `<fileId>/<case.id>`.
298
- */
299
- export function normalizeEvalIterations(value: unknown): number {
300
- return normalizePositiveInt(value, {
301
- label: "defineEval: iterations",
302
- max: EVAL_MAX_ITERATIONS,
303
- });
304
- }
305
-
306
- export function defineEval(config: EvalConfig): EvalDefinition {
307
- const hasTest = typeof config.test === "function";
308
- const hasCases = config.cases !== undefined;
309
- if (hasTest && hasCases) {
310
- throw new Error("defineEval: set either test or cases, not both");
311
- }
312
- if (!hasTest && !hasCases) {
313
- throw new Error("defineEval requires test(t) or a non-empty cases array");
314
- }
315
- if (config.iterations !== undefined) {
316
- normalizeEvalIterations(config.iterations);
317
- }
318
- if (hasCases) {
319
- if (!Array.isArray(config.cases) || config.cases.length === 0) {
320
- throw new Error("defineEval: cases must be a non-empty array");
321
- }
322
- const seen = new Set<string>();
323
- for (const datapoint of config.cases) {
324
- validateDatapointId(datapoint.id);
325
- if (seen.has(datapoint.id)) {
326
- throw new Error(`defineEval: duplicate case id ${JSON.stringify(datapoint.id)}`);
327
- }
328
- seen.add(datapoint.id);
329
- if (typeof datapoint.test !== "function") {
330
- throw new Error(`defineEval: cases[${JSON.stringify(datapoint.id)}] requires test(t)`);
331
- }
332
- if (datapoint.iterations !== undefined) {
333
- normalizeEvalIterations(datapoint.iterations);
334
- }
335
- }
336
- }
337
- return brandDefinition("eval", config);
338
- }
339
-
340
- function validateDatapointId(id: unknown): asserts id is string {
341
- if (typeof id !== "string" || id.length === 0) {
342
- throw new Error("defineEval: each case needs a non-empty string id");
343
- }
344
- if (id.includes("/") || id.includes("\\") || id.includes("..")) {
345
- throw new Error(
346
- `defineEval: case id must be a single path segment (got ${JSON.stringify(id)})`,
347
- );
348
- }
349
- }
350
-
351
- /**
352
- * Expand a file-level definition into runnable datapoints.
353
- * Exported for tests and tooling.
354
- *
355
- * When `iterations` > 1, each authored datapoint expands to
356
- * `<fileId>/<case.id>/1` … `<fileId>/<case.id>/<n>` (single-test files
357
- * expand to `<fileId>/1` … `<fileId>/<n>`).
358
- */
359
- export function expandEvalDefinition(
360
- fileId: string,
361
- definition: EvalDefinition,
362
- ): Array<{ id: string; definition: EvalCaseDefinition }> {
363
- if (definition.cases !== undefined) {
364
- return definition.cases.flatMap(datapoint => {
365
- const description = datapoint.description ?? definition.description;
366
- const timeoutMs = datapoint.timeoutMs ?? definition.timeoutMs;
367
- const iterations = normalizeEvalIterations(
368
- datapoint.iterations ?? definition.iterations ?? 1,
369
- );
370
- const metadata =
371
- datapoint.metadata === undefined && definition.metadata === undefined
372
- ? undefined
373
- : { ...definition.metadata, ...datapoint.metadata };
374
- return expandIterations({
375
- baseId: `${fileId}/${datapoint.id}`,
376
- description,
377
- tags: datapoint.tags ?? definition.tags,
378
- timeoutMs,
379
- iterations,
380
- metadata,
381
- judge: datapoint.judge ?? definition.judge,
382
- reporters: mergeReporters(definition.reporters, datapoint.reporters),
383
- test: datapoint.test,
384
- });
385
- });
386
- }
387
- if (typeof definition.test !== "function") {
388
- throw new Error(`defineEval(${fileId}): missing test(t)`);
389
- }
390
- const iterations = normalizeEvalIterations(definition.iterations ?? 1);
391
- return expandIterations({
392
- baseId: fileId,
393
- description: definition.description,
394
- tags: definition.tags,
395
- timeoutMs: definition.timeoutMs,
396
- iterations,
397
- metadata: definition.metadata,
398
- judge: definition.judge,
399
- reporters: definition.reporters,
400
- test: definition.test,
401
- });
402
- }
403
-
404
- /** Union file-level and case-level reporters, keeping each instance once. */
405
- function mergeReporters(
406
- fileLevel: EvalReporter[] | undefined,
407
- caseLevel: EvalReporter[] | undefined,
408
- ): EvalReporter[] | undefined {
409
- if (fileLevel === undefined) {
410
- return caseLevel;
411
- }
412
- if (caseLevel === undefined) {
413
- return fileLevel;
414
- }
415
- return [...new Set([...fileLevel, ...caseLevel])];
416
- }
417
-
418
- function expandIterations(args: {
419
- baseId: string;
420
- description?: string;
421
- tags?: string[];
422
- timeoutMs?: number;
423
- iterations: number;
424
- metadata?: Record<string, unknown>;
425
- judge?: EvalJudgeConfig;
426
- reporters?: EvalReporter[];
427
- test: (t: EvalTestContext) => Promise<void>;
428
- }): Array<{ id: string; definition: EvalCaseDefinition }> {
429
- const out: Array<{ id: string; definition: EvalCaseDefinition }> = [];
430
- for (let iteration = 1; iteration <= args.iterations; iteration++) {
431
- const id = args.iterations === 1 ? args.baseId : `${args.baseId}/${iteration}`;
432
- const description =
433
- args.iterations === 1 || args.description === undefined
434
- ? args.description
435
- : `${args.description} (iteration ${iteration}/${args.iterations})`;
436
- out.push({
437
- id,
438
- definition: brandDefinition("eval", {
439
- ...(description !== undefined ? { description } : {}),
440
- ...(args.tags !== undefined ? { tags: args.tags } : {}),
441
- ...(args.timeoutMs !== undefined ? { timeoutMs: args.timeoutMs } : {}),
442
- metadata: args.metadata,
443
- judge: args.judge,
444
- reporters: args.reporters,
445
- iterations: args.iterations,
446
- iteration,
447
- test: args.test,
448
- }),
449
- });
450
- }
451
- return out;
452
- }
453
-
454
- /**
455
- * Whether a discovered case id matches a CLI filter.
456
- * - exact datapoint: `weather/nyc`
457
- * - whole file / prefix: `weather` selects `weather`, `weather/nyc`, …
458
- * - multiple filters: OR
459
- */
460
- export function matchesEvalIdFilter(caseId: string, filter: string): boolean {
461
- return caseId === filter || caseId.startsWith(`${filter}/`);
462
- }
463
-
464
- /**
465
- * Tag for suite-aggregator datapoints that wait on sibling cases from the
466
- * same eval file (e.g. `deepsec-recall/overall`). Selecting a summary case
467
- * alone expands the batch to the whole file via
468
- * {@link expandSummarySuiteSelection}.
469
- */
470
- export const EVAL_SUMMARY_TAG = "summary";
471
-
472
- /** True when `tags` marks a suite-aggregator case. */
473
- export function isEvalSummaryCase(tags: readonly string[] | undefined): boolean {
474
- return tags?.includes(EVAL_SUMMARY_TAG) ?? false;
475
- }
476
-
477
- /**
478
- * If `selected` includes any summary-tagged suite aggregator, pull in every
479
- * other datapoint from the same `fileId` so the aggregator is not run alone.
480
- * Preserves discovery order from `all`.
481
- */
482
- export function expandSummarySuiteSelection<T extends { id: string; fileId: string }>(
483
- all: readonly T[],
484
- selected: readonly T[],
485
- isSummary: (item: T) => boolean,
486
- ): T[] {
487
- const fileIdsNeedingSuite = new Set(
488
- selected.filter(item => isSummary(item)).map(item => item.fileId),
489
- );
490
- if (fileIdsNeedingSuite.size === 0) {
491
- return [...selected];
492
- }
493
- const selectedIds = new Set(selected.map(item => item.id));
494
- const extras = all.filter(
495
- item => fileIdsNeedingSuite.has(item.fileId) && !selectedIds.has(item.id),
496
- );
497
- if (extras.length === 0) {
498
- return [...selected];
499
- }
500
- const want = new Set([...selectedIds, ...extras.map(item => item.id)]);
501
- return all.filter(item => want.has(item.id));
502
- }
503
-
504
- /**
505
- * Hard ceiling for concurrent eval cases.
506
- *
507
- * Each case issues model provider requests; unbounded parallelism would
508
- * overwhelm provider rate limits and exhaust local API quota.
509
- */
510
- export const EVAL_MAX_CONCURRENCY_LIMIT = 200;
511
-
512
- /** Default playground batches kept in the serve process when `maxPlaygroundRuns` is omitted. */
513
- export const EVAL_DEFAULT_MAX_PLAYGROUND_RUNS = 20;
514
-
515
- /** Hard ceiling for {@link EvalConfigFile.maxPlaygroundRuns}. */
516
- export const EVAL_MAX_PLAYGROUND_RUNS = 500;
517
-
518
- export type EvalCaseRunStatus = "pending" | "running" | "done";
519
- export type EvalBatchStatus = "running" | "completed" | "failed" | "cancelled";
520
-
521
- /** One case inside a playground / HTTP eval batch snapshot. */
522
- export interface EvalCaseSnapshot {
523
- id: string;
524
- fileId: string;
525
- description?: string;
526
- tags?: string[];
527
- status: EvalCaseRunStatus;
528
- ok?: boolean;
529
- /** Full grade, including `scored` (soft threshold miss) and `skipped`. */
530
- verdict?: EvalVerdict;
531
- /** Reason passed to `t.skip(...)`. */
532
- skipReason?: string;
533
- assertions?: EvalAssertionResult[];
534
- sessionId?: string;
535
- durationMs?: number;
536
- error?: string;
537
- logs?: string[];
538
- /** Structured scores from {@link EvalTestContext.metric}. */
539
- metrics?: Record<string, string | number>;
540
- /** Author-supplied metadata from `defineEval({ metadata })`. */
541
- metadata?: Record<string, unknown>;
542
- inputs?: string[];
543
- finalText?: string;
544
- tools?: string[];
545
- toolCalls?: Array<{
546
- toolName: string;
547
- args?: unknown;
548
- output?: unknown;
549
- isError: boolean;
550
- }>;
551
- }
552
-
553
- /** Playground / HTTP snapshot of one eval batch (`POST /v1/dev/evals/runs`). */
554
- export interface EvalRunSnapshot {
555
- runId: string;
556
- status: EvalBatchStatus;
557
- startedAt: string;
558
- finishedAt?: string;
559
- error?: string;
560
- summary: {
561
- passed: number;
562
- failed: number;
563
- /**
564
- * Cases that only missed a soft threshold (fatal only under `--strict`).
565
- * Optional: a batch persisted by an older serve process has no such count.
566
- */
567
- scored?: number;
568
- /** Cases ended by `t.skip(...)`; they never change the exit code. */
569
- skipped?: number;
570
- total: number;
571
- done: number;
572
- };
573
- cases: EvalCaseSnapshot[];
574
- config: {
575
- maxConcurrency?: number;
576
- timeoutMs?: number;
577
- maxPlaygroundRuns?: number;
578
- durableRuns?: boolean;
579
- };
580
- }
581
-
582
- /** One discovered eval datapoint as returned by {@link HostEvalsApi.list}. */
583
- export interface HostEvalListItem {
584
- id: string;
585
- fileId: string;
586
- description?: string;
587
- tags?: string[];
588
- }
589
-
590
- /** Config slice returned with {@link HostEvalsApi.list}. */
591
- export interface HostEvalListConfig {
592
- maxConcurrency?: number;
593
- timeoutMs?: number;
594
- maxPlaygroundRuns: number;
595
- /** True when `agent/storage.ts` declares an `evals` table. */
596
- durableRuns: boolean;
597
- }
598
-
599
- /** Input for {@link HostEvalsApi.start} (same filters as `POST /v1/dev/evals/runs`). */
600
- export interface HostStartEvalRunInput {
601
- filterIds?: string[];
602
- tags?: string[];
603
- /** Per-case timeout override (same semantics as CLI `--timeout-ms`). */
604
- timeoutMs?: number;
605
- }
606
-
607
- /**
608
- * Host-facing playground eval batches — the same surface as
609
- * `/v1/dev/evals*` and `agent-sdk eval --prod`. Attached to
610
- * {@link import("./types.js").HostContext.evals} by `serve`.
611
- */
612
- export interface HostEvalsApi {
613
- list(): Promise<{
614
- evals: HostEvalListItem[];
615
- config: HostEvalListConfig;
616
- }>;
617
- get(runId: string): Promise<EvalRunSnapshot | undefined>;
618
- listRunsWithActive(): Promise<{
619
- runs: EvalRunSnapshot[];
620
- activeRunId?: string;
621
- }>;
622
- start(input?: HostStartEvalRunInput): Promise<EvalRunSnapshot>;
623
- /** Cancel a running batch by Eval ID (`runId`). */
624
- cancel(runId: string): Promise<EvalRunSnapshot>;
625
- }
626
-
627
- export interface EvalConfigFile {
628
- timeoutMs?: number;
629
- /**
630
- * Max number of eval cases to run in parallel. Required.
631
- * Hard-capped at {@link EVAL_MAX_CONCURRENCY_LIMIT} due to model provider
632
- * request limits.
633
- */
634
- maxConcurrency: number;
635
- /**
636
- * Default judge model for `t.judge.*` across this tree. Optional: a tree of
637
- * fully deterministic evals never needs one.
638
- */
639
- judge?: EvalJudgeConfig;
640
- /**
641
- * Destinations that observe **every** case in the run — the right place for a
642
- * shared one, so you do not repeat it in each eval file. `--skip-report`
643
- * suppresses them for a local iteration loop.
644
- */
645
- reporters?: EvalReporter[];
646
- /**
647
- * Optional. Max batches kept in the **playground / `/v1/dev/evals*`**
648
- * history window (in-memory, and pruned from the `defineStorage` evals
649
- * table when one is configured). Includes server-side batches started by
650
- * `agent-sdk eval --prod` or `--url` (not the default local harness).
651
- *
652
- * Default {@link EVAL_DEFAULT_MAX_PLAYGROUND_RUNS}; hard-capped at
653
- * {@link EVAL_MAX_PLAYGROUND_RUNS}. Newest batches win.
654
- */
655
- maxPlaygroundRuns?: number;
656
- }
657
-
658
- /**
659
- * Defaults for every eval under `evals/` (`evals/evals.config.ts`).
660
- * `maxConcurrency` is required (1–{@link EVAL_MAX_CONCURRENCY_LIMIT}).
661
- *
662
- * Playground batches default to **in-memory only**; author an `evals`
663
- * table in `agent/storage.ts` (`defineStorage`) to survive serve restart.
664
- */
665
- export function defineEvalConfig(config: EvalConfigFile): EvalConfigFile {
666
- return {
667
- ...(config.timeoutMs === undefined ? {} : { timeoutMs: config.timeoutMs }),
668
- maxConcurrency: normalizeEvalMaxConcurrency(config.maxConcurrency),
669
- maxPlaygroundRuns: normalizeEvalMaxPlaygroundRuns(
670
- config.maxPlaygroundRuns ?? EVAL_DEFAULT_MAX_PLAYGROUND_RUNS,
671
- ),
672
- judge: config.judge,
673
- reporters: config.reporters,
674
- };
675
- }
676
-
677
- /**
678
- * Validate and enforce the hard concurrency ceiling.
679
- */
680
- export function normalizeEvalMaxConcurrency(value: unknown): number {
681
- return normalizePositiveInt(value, {
682
- label: "evals.config.ts: maxConcurrency",
683
- max: EVAL_MAX_CONCURRENCY_LIMIT,
684
- maxMessage: `evals.config.ts: maxConcurrency ${String(value)} exceeds the hard limit of ${EVAL_MAX_CONCURRENCY_LIMIT} (model provider request limits)`,
685
- });
686
- }
687
-
688
- /** Validate {@link EvalConfigFile.maxPlaygroundRuns}. */
689
- export function normalizeEvalMaxPlaygroundRuns(value: unknown): number {
690
- return normalizePositiveInt(value, {
691
- label: "evals.config.ts: maxPlaygroundRuns",
692
- max: EVAL_MAX_PLAYGROUND_RUNS,
693
- });
694
- }
695
-
696
- /**
697
- * Effective playground history window. Invalid values fall back to
698
- * {@link EVAL_DEFAULT_MAX_PLAYGROUND_RUNS} (same as a missing field).
699
- */
700
- export function resolveEvalMaxPlaygroundRuns(value: unknown): number {
701
- if (value === undefined) {
702
- return EVAL_DEFAULT_MAX_PLAYGROUND_RUNS;
703
- }
704
- try {
705
- return normalizeEvalMaxPlaygroundRuns(value);
706
- } catch {
707
- return EVAL_DEFAULT_MAX_PLAYGROUND_RUNS;
708
- }
709
- }