@cursor/bdk 0.2.23 → 0.2.24

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 (283) hide show
  1. package/dist/artifacts.d.ts +1 -1
  2. package/dist/artifacts.js +1 -1
  3. package/dist/channels/bitbucket/bitbucket-channel.js +1 -1
  4. package/dist/channels/change-monitors/change-monitors-channel.js +1 -1
  5. package/dist/channels/deployments/deployments-channel.js +1 -1
  6. package/dist/channels/github/github-channel.js +1 -1
  7. package/dist/channels/gitlab/gitlab-channel.js +1 -1
  8. package/dist/channels/issues/issues-channel.js +1 -1
  9. package/dist/channels/origin/origin-channel.js +1 -1
  10. package/dist/channels/runs/runs-channel.js +1 -1
  11. package/dist/channels/slack/tool-approval-events.js +5 -5
  12. package/dist/channels.d.ts +8 -1
  13. package/dist/channels.d.ts.map +1 -1
  14. package/dist/channels.js +33 -6
  15. package/dist/docs/404.html +3 -3
  16. package/dist/docs/assets/{app.AXQcJZaf.js → app.DTIg0uKK.js} +4 -4
  17. package/dist/docs/assets/chunks/@localSearchIndexroot.3ebvCWKy.js +1 -0
  18. package/dist/docs/assets/chunks/{VPLocalSearchBox.hlZ2vmun.js → VPLocalSearchBox.BpJoSaxi.js} +2 -2
  19. package/dist/docs/assets/chunks/{arc.9KNWdH-l.js → arc.ylgNvRNq.js} +1 -1
  20. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.BfGzkBHI.js → architectureDiagram-Q4EWVU46.BMrNJqYk.js} +1 -1
  21. package/dist/docs/assets/chunks/{baseUniq.Btk8-2Rs.js → baseUniq.BBWUEqf9.js} +1 -1
  22. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.BmHm9OH5.js → blockDiagram-DXYQGD6D.DFMu-Vza.js} +1 -1
  23. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.9POrbDHJ.js → c4Diagram-AHTNJAMY.8nkAAxWv.js} +1 -1
  24. package/dist/docs/assets/chunks/channel.BOebySCN.js +1 -0
  25. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.YWZVSM6S.js → chunk-4BX2VUAB.sO-z2Bag.js} +1 -1
  26. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.Cxr_SFgw.js → chunk-4TB4RGXK.BMROzTMq.js} +1 -1
  27. package/dist/docs/assets/chunks/{chunk-55IACEB6.DtiJyPlD.js → chunk-55IACEB6.X81urwg7.js} +1 -1
  28. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.b5gNHJPH.js → chunk-EDXVE4YY.eaZVFLZM.js} +1 -1
  29. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.DmN9yA_M.js → chunk-FMBD7UC4.CmZhzstR.js} +1 -1
  30. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.Dfm3xgV5.js → chunk-OYMX7WX6.CTezt9Lc.js} +1 -1
  31. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.sXNxDcJA.js → chunk-QZHKN3VN.s-T8zukB.js} +1 -1
  32. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.DgBnDUV7.js → chunk-YZCP3GAM.DN4Nhy-D.js} +1 -1
  33. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.C55IaN-T.js +1 -0
  34. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.C55IaN-T.js +1 -0
  35. package/dist/docs/assets/chunks/clone.D06pA7ML.js +1 -0
  36. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.D18MEcoN.js → cose-bilkent-S5V4N54A.Cqyp4BUH.js} +1 -1
  37. package/dist/docs/assets/chunks/{dagre-KV5264BT.CSf3tihh.js → dagre-KV5264BT.BIECOiqR.js} +1 -1
  38. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.cbfzAfoC.js → diagram-5BDNPKRD.1tLyWoTg.js} +1 -1
  39. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.6i6P3uu9.js → diagram-G4DWMVQ6.BVY_6VMO.js} +1 -1
  40. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.B9HAIfN6.js → diagram-MMDJMWI5.BSZ7xiBB.js} +1 -1
  41. package/dist/docs/assets/chunks/{diagram-TYMM5635.B9baAjUv.js → diagram-TYMM5635.Bho6GmLh.js} +1 -1
  42. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.DaBmX_GN.js → erDiagram-SMLLAGMA.A0yVIANn.js} +1 -1
  43. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.CJqQJjkb.js → flowDiagram-DWJPFMVM.ZMgbllH6.js} +1 -1
  44. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.CIXBLQhC.js → ganttDiagram-T4ZO3ILL.BCCPBhXo.js} +1 -1
  45. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.CDgentto.js → gitGraphDiagram-UUTBAWPF.BOkL0BbA.js} +1 -1
  46. package/dist/docs/assets/chunks/{graph.BWHn6JBQ.js → graph.DMyZPu86.js} +1 -1
  47. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.d9VU_ts_.js → infoDiagram-42DDH7IO.CjG1IiEw.js} +1 -1
  48. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.BNO79Prj.js → ishikawaDiagram-UXIWVN3A.UCe-kq9g.js} +1 -1
  49. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.CPgUTM1R.js → journeyDiagram-VCZTEJTY.3WyOK_eY.js} +1 -1
  50. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.idl0Eoe1.js → kanban-definition-6JOO6SKY.WoRG2qY1.js} +1 -1
  51. package/dist/docs/assets/chunks/{layout.BY7DIMr6.js → layout.DV07xDd5.js} +1 -1
  52. package/dist/docs/assets/chunks/{linear.DYaUDrHd.js → linear.CTO8mN6o.js} +1 -1
  53. package/dist/docs/assets/chunks/{min.V6MWb1UC.js → min.SvTtcKuZ.js} +1 -1
  54. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.BRlJXuFS.js → mindmap-definition-QFDTVHPH.DMGgQ-HB.js} +1 -1
  55. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.BIhkDLcB.js → pieDiagram-DEJITSTG.B7851apI.js} +1 -1
  56. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.Bw-_VEL3.js → quadrantDiagram-34T5L4WZ.CEqyypIX.js} +1 -1
  57. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.DolEGwxw.js → requirementDiagram-MS252O5E.C3Mwsw-H.js} +1 -1
  58. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.hMM-8BhN.js → sankeyDiagram-XADWPNL6.DyYK0XxY.js} +1 -1
  59. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.Bg_CRVDy.js → sequenceDiagram-FGHM5R23.SiQPH-XM.js} +1 -1
  60. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.DNWdl34_.js → stateDiagram-FHFEXIEX.CTJMsP4p.js} +1 -1
  61. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.DddRVjeq.js +1 -0
  62. package/dist/docs/assets/chunks/{theme.CBW1oolh.js → theme.DJo4my9R.js} +2 -2
  63. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.Cr1wJ1mB.js → timeline-definition-GMOUNBTQ.CxSNRlQ6.js} +1 -1
  64. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.BltDV9j7.js → vennDiagram-DHZGUBPP.BdoJskyD.js} +1 -1
  65. package/dist/docs/assets/chunks/wardley-RL74JXVD.CVCRSuQK.js +162 -0
  66. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.nsADqCCo.js → wardleyDiagram-NUSXRM2D.IjIbFn_F.js} +1 -1
  67. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.CCwbO3dK.js → xychartDiagram-5P7HB3ND.CPUxDZLH.js} +1 -1
  68. package/dist/docs/assets/{deployment.md.CtSJ6sF9.js → deployment.md.3MMWuPeV.js} +5 -5
  69. package/dist/docs/assets/{deployment.md.CtSJ6sF9.lean.js → deployment.md.3MMWuPeV.lean.js} +1 -1
  70. package/dist/docs/assets/{guides_cloud-agents.md.CBK7W0-O.js → guides_cloud-agents.md.BzbzcOyj.js} +2 -2
  71. package/dist/docs/assets/{guides_cloud-agents.md.CBK7W0-O.lean.js → guides_cloud-agents.md.BzbzcOyj.lean.js} +1 -1
  72. package/dist/docs/assets/{guides_opentelemetry.md.ByW1Fs7b.js → guides_opentelemetry.md.Ck1o2frw.js} +11 -3
  73. package/dist/docs/assets/{guides_opentelemetry.md.ByW1Fs7b.lean.js → guides_opentelemetry.md.Ck1o2frw.lean.js} +1 -1
  74. package/dist/docs/assets/{reference_agent-config.md.DYA6ge6t.js → reference_agent-config.md.IplwL25I.js} +1 -2
  75. package/dist/docs/assets/{reference_agent-config.md.DYA6ge6t.lean.js → reference_agent-config.md.IplwL25I.lean.js} +1 -1
  76. package/dist/docs/assets/{reference_extensions.md.OUacPetl.js → reference_extensions.md.DKxTuCIw.js} +11 -8
  77. package/dist/docs/assets/{reference_extensions.md.OUacPetl.lean.js → reference_extensions.md.DKxTuCIw.lean.js} +1 -1
  78. package/dist/docs/assets/{reference_instructions.md.DrcHZXig.js → reference_instructions.md.BYMVxAkw.js} +4 -4
  79. package/dist/docs/assets/{reference_instructions.md.DrcHZXig.lean.js → reference_instructions.md.BYMVxAkw.lean.js} +1 -1
  80. package/dist/docs/assets/{reference_schedules.md.BqWnJES4.js → reference_schedules.md.03Ryy9ca.js} +3 -3
  81. package/dist/docs/assets/{style.Dwls12uf.css → style.nMsabY-V.css} +1 -1
  82. package/dist/docs/assets/templates_agentic-owners.md.CTEnR0jp.js +13 -0
  83. package/dist/docs/assets/{templates_agentic-owners.md.CvmABtia.lean.js → templates_agentic-owners.md.CTEnR0jp.lean.js} +1 -1
  84. package/dist/docs/building-with-agents.html +37 -37
  85. package/dist/docs/deployment.html +42 -42
  86. package/dist/docs/deployment.md +9 -4
  87. package/dist/docs/evals.html +37 -37
  88. package/dist/docs/guides/agent-to-agent.html +37 -37
  89. package/dist/docs/guides/bitbucket.html +37 -37
  90. package/dist/docs/guides/cloud-agents.html +38 -38
  91. package/dist/docs/guides/cloud-agents.md +1 -0
  92. package/dist/docs/guides/convert-automation.html +37 -37
  93. package/dist/docs/guides/export-grokbot.html +37 -37
  94. package/dist/docs/guides/github.html +37 -37
  95. package/dist/docs/guides/gitlab.html +37 -37
  96. package/dist/docs/guides/grokbot-agents.html +37 -37
  97. package/dist/docs/guides/hooks.html +37 -37
  98. package/dist/docs/guides/improve.html +37 -37
  99. package/dist/docs/guides/jev.html +37 -37
  100. package/dist/docs/guides/mcp-oauth.html +37 -37
  101. package/dist/docs/guides/migrate.html +37 -37
  102. package/dist/docs/guides/opentelemetry.html +47 -39
  103. package/dist/docs/guides/opentelemetry.md +48 -2
  104. package/dist/docs/guides/slack.html +37 -37
  105. package/dist/docs/guides/webhooks.html +37 -37
  106. package/dist/docs/hashmap.json +1 -1
  107. package/dist/docs/hillclimbing.html +37 -37
  108. package/dist/docs/index.html +37 -37
  109. package/dist/docs/llms-full.txt +133 -40
  110. package/dist/docs/quickstart.html +37 -37
  111. package/dist/docs/reference/agent-config.html +38 -39
  112. package/dist/docs/reference/agent-config.md +0 -1
  113. package/dist/docs/reference/artifacts.html +37 -37
  114. package/dist/docs/reference/channels.html +37 -37
  115. package/dist/docs/reference/cli.html +37 -37
  116. package/dist/docs/reference/connections.html +37 -37
  117. package/dist/docs/reference/evals.html +37 -37
  118. package/dist/docs/reference/extensions.html +47 -44
  119. package/dist/docs/reference/extensions.md +15 -9
  120. package/dist/docs/reference/hooks.html +37 -37
  121. package/dist/docs/reference/http-api.html +37 -37
  122. package/dist/docs/reference/instructions.html +40 -40
  123. package/dist/docs/reference/instructions.md +5 -1
  124. package/dist/docs/reference/memory.html +37 -37
  125. package/dist/docs/reference/playground.html +36 -36
  126. package/dist/docs/reference/project-layout.html +37 -37
  127. package/dist/docs/reference/prompt.html +37 -37
  128. package/dist/docs/reference/schedules.html +40 -40
  129. package/dist/docs/reference/sessions.html +36 -36
  130. package/dist/docs/reference/skills.html +37 -37
  131. package/dist/docs/reference/subagents.html +37 -37
  132. package/dist/docs/reference/tools.html +37 -37
  133. package/dist/docs/templates/agentic-owners.html +42 -43
  134. package/dist/docs/templates/agentic-owners.md +55 -23
  135. package/dist/docs/templates/grokbot-agents.html +37 -37
  136. package/dist/docs/templates/security-reviewer.html +37 -37
  137. package/dist/docs/templates/thermo-quality-review.html +37 -37
  138. package/dist/docs/templates/thermo-review.html +37 -37
  139. package/dist/docs/templates/triage.html +37 -37
  140. package/dist/docs/troubleshooting.html +36 -36
  141. package/dist/extensions/cursor-cloud-agents/extension.d.ts +2 -0
  142. package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
  143. package/dist/extensions/cursor-cloud-agents/extension.js +2 -1
  144. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts +1 -0
  145. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts.map +1 -1
  146. package/dist/extensions/cursor-cloud-agents/lib/backend.js +2 -1
  147. package/dist/extensions/cursor-cloud-agents/lib/fleet.js +1 -1
  148. package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts +1 -1
  149. package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts.map +1 -1
  150. package/dist/extensions/cursor-cloud-agents/lib/inputs.js +1 -1
  151. package/dist/extensions/cursor-cloud-agents/reminders/cloud-agent-stop-watch.js +1 -1
  152. package/dist/extensions/cursor-cloud-agents/tools/launch.js +1 -1
  153. package/dist/extensions/cursor-cloud-agents/tools/list.js +1 -1
  154. package/dist/extensions/cursor-cloud-agents/tools/reply.js +1 -1
  155. package/dist/extensions/cursor-grokbot-agents/extension.js +1 -1
  156. package/dist/extensions/cursor-grokbot-agents/lib/backend.js +1 -1
  157. package/dist/extensions/cursor-grokbot-agents/lib/contacts.js +1 -1
  158. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts +1 -1
  159. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts.map +1 -1
  160. package/dist/extensions/cursor-grokbot-agents/lib/inputs.js +1 -1
  161. package/dist/extensions/cursor-grokbot-agents/tools/ask.js +1 -1
  162. package/dist/extensions/cursor-grokbot-agents/tools/check.js +1 -1
  163. package/dist/extensions/cursor-grokbot-agents/tools/interrupt.js +1 -1
  164. package/dist/extensions/cursor-grokbot-agents/tools/list.js +1 -1
  165. package/dist/extensions/improve/extension.js +1 -1
  166. package/dist/extensions/jev/extension.js +1 -1
  167. package/dist/extensions/jev/tools/evaluate.js +1 -1
  168. package/dist/extensions/slack-communication/extension.js +1 -1
  169. package/dist/extensions/slack-communication/tools/delete-message.js +1 -1
  170. package/dist/extensions/slack-communication/tools/edit-message.js +1 -1
  171. package/dist/extensions/slack-communication/tools/post-card.js +1 -1
  172. package/dist/extensions/slack-communication/tools/post-file.js +1 -1
  173. package/dist/extensions/slack-communication/tools/post-update.js +1 -1
  174. package/dist/extensions/slack-communication/tools/react.js +1 -1
  175. package/dist/extensions/slack-communication/tools/set-status.js +1 -1
  176. package/dist/extensions.d.ts +1 -1
  177. package/dist/extensions.js +1 -1
  178. package/dist/internal/builtin-tools/artifacts.js +1 -1
  179. package/dist/internal/builtin-tools/reminders.js +1 -1
  180. package/dist/internal/convert-automation/convert-workflow.js +1 -1
  181. package/dist/internal/convert-grokbot/answers.js +1 -1
  182. package/dist/internal/convert-grokbot/recipe.d.ts +1 -1
  183. package/dist/internal/convert-grokbot/recipe.d.ts.map +1 -1
  184. package/dist/internal/convert-grokbot/recipe.js +1 -1
  185. package/dist/internal/cursor/backend-client.d.ts +1 -1
  186. package/dist/internal/cursor/backend-client.d.ts.map +1 -1
  187. package/dist/internal/cursor/backend-client.js +1 -1
  188. package/dist/internal/cursor/credentials.d.ts +1 -1
  189. package/dist/internal/cursor/credentials.d.ts.map +1 -1
  190. package/dist/internal/cursor/credentials.js +1 -1
  191. package/dist/internal/deploy-client.js +1 -1
  192. package/dist/internal/deploy-manifest.d.ts.map +1 -1
  193. package/dist/internal/deploy-manifest.js +2 -1
  194. package/dist/internal/discovery/cursor-plugin.js +1 -1
  195. package/dist/internal/factory-resource-channel.d.ts +1 -1
  196. package/dist/internal/factory-resource-channel.d.ts.map +1 -1
  197. package/dist/internal/filesystem/sdk-schemas.d.ts +1 -1
  198. package/dist/internal/filesystem/sdk-schemas.d.ts.map +1 -1
  199. package/dist/internal/filesystem/sdk-schemas.js +1 -1
  200. package/dist/internal/filesystem/tools.js +1 -1
  201. package/dist/internal/host-otel.d.ts +2 -1
  202. package/dist/internal/host-otel.d.ts.map +1 -1
  203. package/dist/internal/host-otel.js +20 -6
  204. package/dist/internal/hosted-delivery-protocol.d.ts +4 -0
  205. package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
  206. package/dist/internal/hosted-delivery.d.ts +7 -0
  207. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  208. package/dist/internal/hosted-delivery.js +19 -17
  209. package/dist/internal/hosting.d.ts +6 -0
  210. package/dist/internal/hosting.d.ts.map +1 -1
  211. package/dist/internal/hosting.js +9 -0
  212. package/dist/internal/init-scaffold.js +1 -1
  213. package/dist/internal/interview/agent-questions.d.ts +1 -1
  214. package/dist/internal/interview/agent-questions.d.ts.map +1 -1
  215. package/dist/internal/interview/agent-questions.js +1 -1
  216. package/dist/internal/interview/question.d.ts +1 -1
  217. package/dist/internal/interview/question.d.ts.map +1 -1
  218. package/dist/internal/interview/question.js +1 -1
  219. package/dist/internal/json-schema.d.ts +1 -1
  220. package/dist/internal/json-schema.d.ts.map +1 -1
  221. package/dist/internal/json-schema.js +1 -1
  222. package/dist/internal/mcp-endpoint.js +1 -1
  223. package/dist/internal/otel/collector.d.ts.map +1 -1
  224. package/dist/internal/otel/collector.js +47 -18
  225. package/dist/internal/otel/config.d.ts +4 -0
  226. package/dist/internal/otel/config.d.ts.map +1 -1
  227. package/dist/internal/otel/config.js +20 -9
  228. package/dist/internal/otel/http.d.ts +1 -1
  229. package/dist/internal/otel/http.d.ts.map +1 -1
  230. package/dist/internal/otel/http.js +1 -1
  231. package/dist/internal/otel/runtime.d.ts +17 -14
  232. package/dist/internal/otel/runtime.d.ts.map +1 -1
  233. package/dist/internal/otel/runtime.js +181 -238
  234. package/dist/internal/package-inline-stdio.d.ts.map +1 -1
  235. package/dist/internal/package-inline-stdio.js +1 -0
  236. package/dist/internal/process-memory-telemetry.d.ts +1 -1
  237. package/dist/internal/process-memory-telemetry.d.ts.map +1 -1
  238. package/dist/internal/process-memory-telemetry.js +1 -1
  239. package/dist/internal/sdk-runner.d.ts.map +1 -1
  240. package/dist/internal/sdk-runner.js +22 -2
  241. package/dist/internal/server.d.ts.map +1 -1
  242. package/dist/internal/server.js +25 -13
  243. package/dist/internal/session-engine.d.ts +9 -1
  244. package/dist/internal/session-engine.d.ts.map +1 -1
  245. package/dist/internal/session-engine.js +25 -0
  246. package/dist/internal/slack-provision-client.js +1 -1
  247. package/dist/internal/store-api-protocol.d.ts +1 -1
  248. package/dist/internal/store-api-protocol.d.ts.map +1 -1
  249. package/dist/internal/store-api-protocol.js +1 -1
  250. package/dist/internal/update-check.d.ts +1 -1
  251. package/dist/internal/update-check.d.ts.map +1 -1
  252. package/dist/internal/update-check.js +1 -1
  253. package/dist/otel.d.ts +1 -2
  254. package/dist/otel.d.ts.map +1 -1
  255. package/dist/otel.js +0 -1
  256. package/dist/playground/assets/index-DKKdkF29.js +62 -0
  257. package/dist/playground/assets/index-DpKinTMs.css +1 -0
  258. package/dist/playground/index.html +2 -2
  259. package/dist/tools.d.ts +2 -2
  260. package/dist/tools.d.ts.map +1 -1
  261. package/dist/tools.js +1 -1
  262. package/dist/types.d.ts +1 -1
  263. package/dist/types.d.ts.map +1 -1
  264. package/docs/deployment.md +9 -4
  265. package/docs/guides/cloud-agents.md +1 -0
  266. package/docs/guides/opentelemetry.md +48 -2
  267. package/docs/reference/agent-config.md +0 -1
  268. package/docs/reference/extensions.md +15 -9
  269. package/docs/reference/instructions.md +5 -1
  270. package/docs/templates/agentic-owners.md +55 -23
  271. package/package.json +18 -20
  272. package/skills/otel/SKILL.md +17 -4
  273. package/dist/docs/assets/chunks/@localSearchIndexroot.B3j7LFef.js +0 -1
  274. package/dist/docs/assets/chunks/channel.RoCpi7X1.js +0 -1
  275. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.oxdmwwqk.js +0 -1
  276. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.oxdmwwqk.js +0 -1
  277. package/dist/docs/assets/chunks/clone.BkguoIMm.js +0 -1
  278. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.7W-btjJ2.js +0 -1
  279. package/dist/docs/assets/chunks/wardley-RL74JXVD.BWPaUhOs.js +0 -162
  280. package/dist/docs/assets/templates_agentic-owners.md.CvmABtia.js +0 -14
  281. package/dist/playground/assets/index-BtsbIqV9.css +0 -1
  282. package/dist/playground/assets/index-CD8VRa25.js +0 -71
  283. /package/dist/docs/assets/{reference_schedules.md.BqWnJES4.lean.js → reference_schedules.md.03Ryy9ca.lean.js} +0 -0
@@ -83,6 +83,8 @@ export declare function registerHostedDeliveryRoute(input: {
83
83
  * destroy the VM as soon as that reply lands; SIGTERM is not guaranteed.
84
84
  */
85
85
  flushOtel?(): Promise<void>;
86
+ /** Runs after each successful secret load, before authored admission. */
87
+ onSecretsReady?(): void;
86
88
  /**
87
89
  * Serve `--state-root` (not the per-slug SessionEngine dir). Hosted
88
90
  * freeze is `/workspace/.agent-serve`; the Temporal host reads
@@ -123,6 +125,11 @@ export declare function registerHostedDeliveryRoute(input: {
123
125
  * through the channel's `send`.
124
126
  */
125
127
  startSend?: HostedSendStart;
128
+ /**
129
+ * True once after a session released this continuation key. The reply
130
+ * reports it so the control plane detaches the session from the key.
131
+ */
132
+ takeContinuationRelease?(continuationKey: string): boolean;
126
133
  }): void;
127
134
  export {};
128
135
  //# sourceMappingURL=hosted-delivery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hosted-delivery.d.ts","sourceRoot":"","sources":["../../src/internal/hosted-delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hosted-delivery.d.ts","sourceRoot":"","sources":["../../src/internal/hosted-delivery.ts"],"names":[],"mappings":"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"}
@@ -166,19 +166,22 @@ export async function dispatchHostedAdmission(input) {
166
166
  * prompt-form fires still follow up inside the runner.
167
167
  */
168
168
  async function dispatchHostedReminderAdmission(input, delivery) {
169
+ const fired = (result) => Response.json({
170
+ ok: true,
171
+ v: HOSTED_DELIVERY_PROTOCOL_VERSION,
172
+ outcome: result.outcome === "noop" ? "skip" : "task",
173
+ continuationReleased: result.outcome === "fired" &&
174
+ input.takeContinuationRelease?.(delivery.mailboxContinuationKey) === true
175
+ ? true
176
+ : undefined,
177
+ });
169
178
  const descriptor = parseHostedReminderFireDescriptorPayload(delivery.payload);
170
179
  if (descriptor !== undefined) {
171
180
  if (input.executeReminderDescriptor === undefined) {
172
181
  return transientHostedError(503, "reminder_dispatch_unavailable", "This guest has no reminder CP executor wired for hosted admission.");
173
182
  }
174
183
  try {
175
- const result = await input.executeReminderDescriptor(descriptor);
176
- const outcome = result.outcome === "noop" ? "skip" : "task";
177
- return Response.json({
178
- ok: true,
179
- v: HOSTED_DELIVERY_PROTOCOL_VERSION,
180
- outcome,
181
- });
184
+ return fired(await input.executeReminderDescriptor(descriptor));
182
185
  }
183
186
  catch (error) {
184
187
  if (error instanceof UnknownReminderError) {
@@ -199,13 +202,7 @@ async function dispatchHostedReminderAdmission(input, delivery) {
199
202
  return terminalHostedError(400, "invalid_reminder_payload", "Expected reminder descriptor or legacy payload { reminderId, fireCount }.");
200
203
  }
201
204
  try {
202
- const result = await input.fireReminder(payload.reminderId, payload.fireCount);
203
- const outcome = result.outcome === "noop" ? "skip" : "task";
204
- return Response.json({
205
- ok: true,
206
- v: HOSTED_DELIVERY_PROTOCOL_VERSION,
207
- outcome,
208
- });
205
+ return fired(await input.fireReminder(payload.reminderId, payload.fireCount));
209
206
  }
210
207
  catch (error) {
211
208
  if (error instanceof UnknownReminderError) {
@@ -426,9 +423,11 @@ export function registerHostedDeliveryRoute(input) {
426
423
  */
427
424
  const finishBoundSecrets = () => {
428
425
  const consumed = consumeBoundSecrets();
429
- return consumed.ok
430
- ? undefined
431
- : transientHostedError(503, consumed.code, boundedMessage(consumed.message));
426
+ if (!consumed.ok) {
427
+ return transientHostedError(503, consumed.code, boundedMessage(consumed.message));
428
+ }
429
+ input.onSecretsReady?.();
430
+ return undefined;
432
431
  };
433
432
  const finishNetworkWait = async (phase) => {
434
433
  try {
@@ -852,6 +851,9 @@ export function registerHostedDeliveryRoute(input) {
852
851
  v: HOSTED_DELIVERY_PROTOCOL_VERSION,
853
852
  outcome: "send",
854
853
  consumedDeliveryIds,
854
+ continuationReleased: input.takeContinuationRelease?.(admitted.send.mailboxContinuationKey) === true
855
+ ? true
856
+ : undefined,
855
857
  },
856
858
  };
857
859
  // Finalize as late as possible so `post_drain` and `total`
@@ -26,6 +26,12 @@ export declare function validateContainerImageName(name: string): string | undef
26
26
  export declare const PLATFORM_HOSTED_STORAGE_SECRET_NAMES: readonly ["AGENT_SERVE_DEPLOYMENT_ID"];
27
27
  /** Returns a human error message, or undefined when the domain is valid. */
28
28
  export declare function validateEgressDomain(domain: string): string | undefined;
29
+ /**
30
+ * True when an `egressDomains` entry allows HTTPS to `hostname`: an exact
31
+ * match, or a `*.` wildcard that matches a subdomain. A `host:port` entry
32
+ * opens raw TCP and does not count.
33
+ */
34
+ export declare function egressAllowsHost(domains: readonly string[], hostname: string): boolean;
29
35
  /**
30
36
  * Returns a human error message, or undefined when the name is a valid
31
37
  * secret name. Grammar only — reserved names are checked separately so the
@@ -1 +1 @@
1
- {"version":3,"file":"hosting.d.ts","sourceRoot":"","sources":["../../src/internal/hosting.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,kCAAkC;AAClC,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,sCAAsC;AACtC,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,8BAA8B;AAC9B,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,mEAAmE;AACnE,eAAO,MAAM,2BAA2B,YAAY,CAAC;AACrD,oEAAoE;AACpE,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,sDAAsD;AACtD,eAAO,MAAM,yBAAyB,EAAE,MAA+B,CAAC;AAIxE,gFAAgF;AAChF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK3E;AAED;;;GAGG;AACH,eAAO,MAAM,oCAAoC,YAAI,2BAA2B,CAAU,CAAC;AAW3F,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASvE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQnE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQ1D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE;IAC3C,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC,GAAG,MAAM,EAAE,CAmBX;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAS3E;AAQD,8IAA8I;AAC9I,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5D"}
1
+ {"version":3,"file":"hosting.d.ts","sourceRoot":"","sources":["../../src/internal/hosting.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,kCAAkC;AAClC,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,sCAAsC;AACtC,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,8BAA8B;AAC9B,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,mEAAmE;AACnE,eAAO,MAAM,2BAA2B,YAAY,CAAC;AACrD,oEAAoE;AACpE,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,sDAAsD;AACtD,eAAO,MAAM,yBAAyB,EAAE,MAA+B,CAAC;AAIxE,gFAAgF;AAChF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK3E;AAED;;;GAGG;AACH,eAAO,MAAM,oCAAoC,YAAI,2BAA2B,CAAU,CAAC;AAW3F,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASvE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAKtF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQnE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQ1D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE;IAC3C,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC,GAAG,MAAM,EAAE,CAmBX;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAS3E;AAQD,8IAA8I;AAC9I,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5D"}
@@ -47,6 +47,15 @@ export function validateEgressDomain(domain) {
47
47
  }
48
48
  return `Invalid egress domain ${JSON.stringify(domain)}: use a lowercase hostname with at least two labels and an alphabetic TLD (e.g. "api.example.com"), optionally with a single leading "*." wildcard or a trailing ":port" for raw TCP.`;
49
49
  }
50
+ /**
51
+ * True when an `egressDomains` entry allows HTTPS to `hostname`: an exact
52
+ * match, or a `*.` wildcard that matches a subdomain. A `host:port` entry
53
+ * opens raw TCP and does not count.
54
+ */
55
+ export function egressAllowsHost(domains, hostname) {
56
+ const host = hostname.toLowerCase();
57
+ return domains.some((domain) => domain.startsWith("*.") ? host.endsWith(domain.slice(1)) : domain === host);
58
+ }
50
59
  /**
51
60
  * Returns a human error message, or undefined when the name is a valid
52
61
  * secret name. Grammar only — reserved names are checked separately so the
@@ -57,7 +57,7 @@ export function tsconfig(projectRoot) {
57
57
  `;
58
58
  }
59
59
  const ECHO_TS = `import { defineTool } from "${PACKAGE_NAME}/tools";
60
- import { z } from "zod";
60
+ import { z } from "zod/v3";
61
61
 
62
62
  export default defineTool({
63
63
  description: "Echo a short message back (demo tool).",
@@ -3,7 +3,7 @@
3
3
  * validate against schemas built from it, and the create-agent skill's round
4
4
  * tables are rendered from it.
5
5
  */
6
- import { z } from "zod";
6
+ import { z } from "zod/v3";
7
7
  import { type InterviewField } from "./question.js";
8
8
  export declare const PURPOSES: readonly ["chat", "repo-automation", "domain-assistant", "scheduled-reporter", "other"];
9
9
  export declare const CHANNELS: readonly ["slack", "github", "webhook", "schedule"];
@@ -1 +1 @@
1
- {"version":3,"file":"agent-questions.d.ts","sourceRoot":"","sources":["../../../src/internal/interview/agent-questions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAS,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAE3D,eAAO,MAAM,QAAQ,YACnB,MAAM,EACN,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,OAAO,CACC,CAAC;AACX,eAAO,MAAM,QAAQ,YAAI,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC;AAC5E,eAAO,MAAM,SAAS,YAAI,gBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AACxE,eAAO,MAAM,YAAY,YACvB,cAAc,EACd,aAAa,EACb,QAAQ,EACR,WAAW,EACX,OAAO,EACP,eAAe,EACf,OAAO,CACC,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAehD,eAAO,MAAM,gBAAgB,EAAE,MAAiB,CAAC;AAEjD,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAKpC,CAAC;AAEL,eAAO,MAAM,YAAY,EAAE,SAAS,cAAc,EA0FjD,CAAC;AAOF,iDAAiD;AACjD,wBAAgB,qBAAqB,IAAI,MAAM,CAY9C"}
1
+ {"version":3,"file":"agent-questions.d.ts","sourceRoot":"","sources":["../../../src/internal/interview/agent-questions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,OAAO,EAAS,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAE3D,eAAO,MAAM,QAAQ,YACnB,MAAM,EACN,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,OAAO,CACC,CAAC;AACX,eAAO,MAAM,QAAQ,YAAI,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC;AAC5E,eAAO,MAAM,SAAS,YAAI,gBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AACxE,eAAO,MAAM,YAAY,YACvB,cAAc,EACd,aAAa,EACb,QAAQ,EACR,WAAW,EACX,OAAO,EACP,eAAe,EACf,OAAO,CACC,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAehD,eAAO,MAAM,gBAAgB,EAAE,MAAiB,CAAC;AAEjD,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAKpC,CAAC;AAEL,eAAO,MAAM,YAAY,EAAE,SAAS,cAAc,EA0FjD,CAAC;AAOF,iDAAiD;AACjD,wBAAgB,qBAAqB,IAAI,MAAM,CAY9C"}
@@ -3,7 +3,7 @@
3
3
  * validate against schemas built from it, and the create-agent skill's round
4
4
  * tables are rendered from it.
5
5
  */
6
- import { z } from "zod";
6
+ import { z } from "zod/v3";
7
7
  import { DEFAULT_MODEL } from "../../types.js";
8
8
  import { NAME_PATTERN, RESERVED_SLUGS } from "../discovery/names.js";
9
9
  import { field } from "./question.js";
@@ -4,7 +4,7 @@
4
4
  * Answers arrive from flags or an answers file, from a TTY prompt, or from
5
5
  * defaults, in that order. Nothing prompts without a TTY.
6
6
  */
7
- import { z } from "zod";
7
+ import { z } from "zod/v3";
8
8
  export type Choice = string | {
9
9
  value: string;
10
10
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../../src/internal/interview/question.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../../src/internal/interview/question.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * defaults, in that order. Nothing prompts without a TTY.
6
6
  */
7
7
  import { createInterface } from "node:readline";
8
- import { z } from "zod";
8
+ import { z } from "zod/v3";
9
9
  import { describeError } from "../describe-error.js";
10
10
  /** A field whose answers are checked against its schema before they are kept. */
11
11
  export function field(round, question, schema, options) {
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  import type { JsonSchemaObject } from "../types.js";
3
3
  export declare function isZodSchema(value: unknown): value is z.ZodTypeAny;
4
4
  /** Convert an authored input schema into the JSON Schema shown to the model. */
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../src/internal/json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQpD,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,UAAU,CAajE;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,CAAC,CAAC,UAAU,GAAG,gBAAgB,GAAG,SAAS,GACvD,gBAAgB,CAKlB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,CAAC,CAAC,UAAU,GAAG,gBAAgB,GAAG,SAAS,GACxD,gBAAgB,GAAG,SAAS,CAK9B;AAsBD,MAAM,MAAM,mBAAmB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhG;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,CAAC,CAAC,UAAU,GAAG,gBAAgB,GAAG,SAAS,EACxD,IAAI,EAAE,OAAO,GACZ,mBAAmB,CAerB"}
1
+ {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../src/internal/json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQpD,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,UAAU,CAajE;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,CAAC,CAAC,UAAU,GAAG,gBAAgB,GAAG,SAAS,GACvD,gBAAgB,CAKlB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,CAAC,CAAC,UAAU,GAAG,gBAAgB,GAAG,SAAS,GACxD,gBAAgB,GAAG,SAAS,CAK9B;AAsBD,MAAM,MAAM,mBAAmB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhG;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,CAAC,CAAC,UAAU,GAAG,gBAAgB,GAAG,SAAS,EACxD,IAAI,EAAE,OAAO,GACZ,mBAAmB,CAerB"}
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  import { zodToJsonSchema } from "zod-to-json-schema";
3
3
  const ANY_OBJECT_SCHEMA = {
4
4
  type: "object",
@@ -19,7 +19,7 @@ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
19
19
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
20
20
  import { WebStandardStreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js";
21
21
  import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
22
- import { z } from "zod";
22
+ import { z } from "zod/v3";
23
23
  import { samePrincipal } from "./auth.js";
24
24
  import { describeError } from "./describe-error.js";
25
25
  import { SessionBusyError, ToolInputError, ToolNotDirectlyCallableError, UnknownSessionError, UnknownToolError, } from "./session-engine.js";
@@ -1 +1 @@
1
- {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../../src/internal/otel/collector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGhE,OAAO,EAAE,KAAK,SAAS,EAAS,MAAM,YAAY,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAMhD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IACzD,KAAK,IAAI,IAAI,CAAC;IACd;;;;;OAKG;IACH,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1E;;;;OAIG;IACH,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1E,0FAA0F;IAC1F,UAAU,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC;IAC7D,yEAAyE;IACzE,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC;IACrF,mEAAmE;IACnE,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC;CAChF;AAkBD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC1B,aAAa,CAyzBf"}
1
+ {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../../src/internal/otel/collector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGhE,OAAO,EAAE,KAAK,SAAS,EAAS,MAAM,YAAY,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAMhD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IACzD,KAAK,IAAI,IAAI,CAAC;IACd;;;;;OAKG;IACH,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1E;;;;OAIG;IACH,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1E,0FAA0F;IAC1F,UAAU,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC;IAC7D,yEAAyE;IACzE,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC;IACrF,mEAAmE;IACnE,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC;CAChF;AAkBD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC1B,aAAa,CAs1Bf"}
@@ -18,10 +18,28 @@ const SPAN_STATUS_REASON_MAX = 160;
18
18
  export function createOtelCollector(runtime, agentName, log) {
19
19
  const sessions = new Map();
20
20
  const extraBySession = new Map();
21
- const metrics = runtime.meter ? buildMetrics(runtime.meter) : undefined;
22
- const logOpts = runtime.config.logs === false ? undefined : runtime.config.logs;
21
+ let metrics;
22
+ let metricsMeter;
23
+ function currentMetrics() {
24
+ const meter = runtime.meter;
25
+ if (meter === undefined) {
26
+ return undefined;
27
+ }
28
+ if (meter !== metricsMeter) {
29
+ metricsMeter = meter;
30
+ metrics = buildMetrics(meter);
31
+ }
32
+ return metrics;
33
+ }
34
+ function logOpts() {
35
+ const logsConfig = runtime.config.logs;
36
+ return logsConfig === false ? undefined : logsConfig;
37
+ }
23
38
  return {
24
39
  onEvent(event, session) {
40
+ if (!runtime.config.enabled) {
41
+ return;
42
+ }
25
43
  try {
26
44
  handle(event, session);
27
45
  }
@@ -51,14 +69,23 @@ export function createOtelCollector(runtime, agentName, log) {
51
69
  return bag === undefined ? undefined : { ...bag };
52
70
  },
53
71
  runInTurn(args, fn) {
72
+ if (!runtime.config.enabled) {
73
+ return Promise.resolve(fn());
74
+ }
54
75
  const span = ensureTurnSpan(args);
55
76
  return context.with(trace.setSpan(context.active(), span), () => Promise.resolve(fn()));
56
77
  },
57
78
  runInCall(args, fn) {
79
+ if (!runtime.config.enabled) {
80
+ return Promise.resolve(fn());
81
+ }
58
82
  const span = ensureCallSpan(args);
59
83
  return context.with(trace.setSpan(context.active(), span), () => Promise.resolve(fn()));
60
84
  },
61
85
  startPhase(args, phase) {
86
+ if (!runtime.config.enabled) {
87
+ return () => { };
88
+ }
62
89
  const span = runtime.tracer.startSpan(`agent_sdk.turn.${phase}`, { attributes: join(args.sessionId, { "agent_sdk.turn_id": args.turnId }) }, trace.setSpan(context.active(), ensureTurnSpan(args)));
63
90
  return () => span.end();
64
91
  },
@@ -72,7 +99,7 @@ export function createOtelCollector(runtime, agentName, log) {
72
99
  return;
73
100
  }
74
101
  sessionState(event.sessionId);
75
- metrics?.sessions.add(1, join(event.sessionId, {
102
+ currentMetrics()?.sessions.add(1, join(event.sessionId, {
76
103
  "agent_sdk.agent": agentName,
77
104
  "agent_sdk.channel": event.data.channelId,
78
105
  }));
@@ -81,7 +108,7 @@ export function createOtelCollector(runtime, agentName, log) {
81
108
  case "agent.bound": {
82
109
  const painted = attrs({
83
110
  "agent_sdk.sdk_agent_id": event.data.sdkAgentId,
84
- "agent_sdk.sdk_agent_url": logOpts?.toolContent === true ? event.data.url : undefined,
111
+ "agent_sdk.sdk_agent_url": logOpts()?.toolContent === true ? event.data.url : undefined,
85
112
  });
86
113
  if (Object.keys(painted).length === 0) {
87
114
  return;
@@ -95,7 +122,7 @@ export function createOtelCollector(runtime, agentName, log) {
95
122
  case "message.received": {
96
123
  emitLog("message.received", SeverityNumber.INFO, attrs({
97
124
  ...baseLog(event, session),
98
- "agent_sdk.user_prompt": logOpts?.userPrompts === true ? truncate(event.data.text) : undefined,
125
+ "agent_sdk.user_prompt": logOpts()?.userPrompts === true ? truncate(event.data.text) : undefined,
99
126
  }));
100
127
  return;
101
128
  }
@@ -223,7 +250,7 @@ export function createOtelCollector(runtime, agentName, log) {
223
250
  if (span !== undefined) {
224
251
  span.setAttribute("cursor.tool.status", status);
225
252
  span.setAttributes(attrs(computerUseResultAttrs(event.data)));
226
- if (logOpts?.toolContent === true && event.data.output !== undefined) {
253
+ if (logOpts()?.toolContent === true && event.data.output !== undefined) {
227
254
  span.setAttribute("agent_sdk.tool_output", truncate(json(event.data.output)));
228
255
  }
229
256
  if (event.data.isError) {
@@ -239,7 +266,7 @@ export function createOtelCollector(runtime, agentName, log) {
239
266
  turn?.tools.delete(event.data.callId);
240
267
  turn?.pendingToolErrors.delete(event.data.callId);
241
268
  }
242
- metrics?.toolCalls.add(1, join(event.sessionId, {
269
+ currentMetrics()?.toolCalls.add(1, join(event.sessionId, {
243
270
  "cursor.tool.name": event.data.toolName,
244
271
  "cursor.tool.kind": "builtin",
245
272
  "cursor.tool.status": status,
@@ -277,13 +304,13 @@ export function createOtelCollector(runtime, agentName, log) {
277
304
  "agent_sdk.turn_id": event.turnId,
278
305
  "agent_sdk.call_id": event.data.callId,
279
306
  "agent_sdk.subagent_name": event.data.name,
280
- "agent_sdk.subagent_description": logOpts?.toolContent === true && event.data.description !== undefined
307
+ "agent_sdk.subagent_description": logOpts()?.toolContent === true && event.data.description !== undefined
281
308
  ? truncate(event.data.description)
282
309
  : undefined,
283
310
  }),
284
311
  }, trace.setSpan(context.active(), turn.span));
285
312
  turn.subagents.set(event.data.callId, span);
286
- metrics?.subagents.add(1, join(event.sessionId, {
313
+ currentMetrics()?.subagents.add(1, join(event.sessionId, {
287
314
  "agent_sdk.agent": agentName,
288
315
  "agent_sdk.subagent_name": event.data.name ?? "unknown",
289
316
  }));
@@ -337,7 +364,7 @@ export function createOtelCollector(runtime, agentName, log) {
337
364
  turn.span.setStatus({ code: SpanStatusCode.OK });
338
365
  turn.span.end(startTime);
339
366
  sessions.get(event.sessionId)?.turns.delete(event.turnId);
340
- metrics?.turns.add(1, join(event.sessionId, {
367
+ currentMetrics()?.turns.add(1, join(event.sessionId, {
341
368
  "agent_sdk.agent": agentName,
342
369
  "agent_sdk.turn_status": "completed",
343
370
  }));
@@ -376,7 +403,7 @@ export function createOtelCollector(runtime, agentName, log) {
376
403
  }
377
404
  turn.span.end(startTime);
378
405
  sessions.get(event.sessionId)?.turns.delete(event.turnId);
379
- metrics?.turns.add(1, join(event.sessionId, {
406
+ currentMetrics()?.turns.add(1, join(event.sessionId, {
380
407
  "agent_sdk.agent": agentName,
381
408
  "agent_sdk.turn_status": expected ?? "failed",
382
409
  }));
@@ -495,7 +522,7 @@ export function createOtelCollector(runtime, agentName, log) {
495
522
  existing.setAttributes(join(args.sessionId, {
496
523
  ...computerUseAttrs,
497
524
  "agent_sdk.parent_call_id": args.parentCallId ?? args.call.parentCallId,
498
- "agent_sdk.tool_args": logOpts?.toolContent === true && args.call.args !== undefined
525
+ "agent_sdk.tool_args": logOpts()?.toolContent === true && args.call.args !== undefined
499
526
  ? truncate(json(args.call.args))
500
527
  : undefined,
501
528
  }));
@@ -512,7 +539,7 @@ export function createOtelCollector(runtime, agentName, log) {
512
539
  "agent_sdk.turn_id": args.turnId,
513
540
  "agent_sdk.call_id": args.call.callId,
514
541
  "agent_sdk.parent_call_id": args.call.parentCallId,
515
- "agent_sdk.tool_args": logOpts?.toolContent === true && args.call.args !== undefined
542
+ "agent_sdk.tool_args": logOpts()?.toolContent === true && args.call.args !== undefined
516
543
  ? truncate(json(args.call.args))
517
544
  : undefined,
518
545
  ...computerUseAttrs,
@@ -617,7 +644,8 @@ export function createOtelCollector(runtime, agentName, log) {
617
644
  }
618
645
  }
619
646
  function recordTokens(sessionId, usage) {
620
- if (metrics === undefined) {
647
+ const active = currentMetrics();
648
+ if (active === undefined) {
621
649
  return;
622
650
  }
623
651
  const agent = agentName;
@@ -628,24 +656,25 @@ export function createOtelCollector(runtime, agentName, log) {
628
656
  addTokens(sessionId, usage.cacheWriteTokens, "cache_creation", agent);
629
657
  if (usage.reasoningTokens !== undefined) {
630
658
  // Reasoning is Agent-SDK-only; enterprise wire has no reasoning enum.
631
- metrics.tokens.add(usage.reasoningTokens, join(sessionId, {
659
+ active.tokens.add(usage.reasoningTokens, join(sessionId, {
632
660
  "cursor.token.type": "reasoning",
633
661
  "agent_sdk.agent": agent,
634
662
  }));
635
663
  }
636
664
  }
637
665
  function addTokens(sessionId, value, type, agent) {
638
- if (metrics === undefined || value === 0) {
666
+ const active = currentMetrics();
667
+ if (active === undefined || value === 0) {
639
668
  return;
640
669
  }
641
- metrics.tokens.add(value, join(sessionId, {
670
+ active.tokens.add(value, join(sessionId, {
642
671
  "cursor.token.type": type,
643
672
  "agent_sdk.agent": agent,
644
673
  }));
645
674
  }
646
675
  /** Content opt-in for failure text (same gate as tool payloads). */
647
676
  function gatedContent(value) {
648
- if (logOpts?.toolContent !== true) {
677
+ if (logOpts()?.toolContent !== true) {
649
678
  return undefined;
650
679
  }
651
680
  return truncate(value);
@@ -32,9 +32,13 @@ export declare function resolveOtelConfig(input: {
32
32
  serve?: OtelConfig | false;
33
33
  env?: NodeJS.ProcessEnv;
34
34
  }): ResolvedOtelConfig;
35
+ /** Values are URL-encoded per the OTel spec (`Authorization=Basic%20...`). */
35
36
  export declare function parseOtelHeaders(raw: string | undefined): Record<string, string>;
36
37
  /** Collapse `…/v1/{traces,metrics,logs}` to the collector base. */
37
38
  export declare function stripSignalPath(url: string): string;
38
39
  /** Exporters that apply to one signal (honors per-exporter `signals`). */
39
40
  export declare function exportersForSignal(exporters: readonly OtelExporterConfig[], signal: OtelSignal): OtelExporterConfig[];
41
+ export declare function disabledOtelConfig(): ResolvedOtelConfig;
42
+ /** Canonical JSON with sorted keys, so object key order does not change the result. */
43
+ export declare function stableJson(value: unknown): string;
40
44
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/internal/otel/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,gBAAgB,EAEtB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,MAAM,EAAE,KAAK,GAAG,gBAAgB,CAAC;IACjC,OAAO,EAAE,KAAK,GAAG,iBAAiB,CAAC;IACnC,IAAI,EAAE,KAAK,GAAG,cAAc,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC,GAC3E,cAAc,GAAG,SAAS,CAmB5B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,KAAK,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG,kBAAkB,CAkDrB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiBhF;AAED,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,kBAAkB,EAAE,EACxC,MAAM,EAAE,UAAU,GACjB,kBAAkB,EAAE,CAItB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/internal/otel/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,gBAAgB,EAEtB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,MAAM,EAAE,KAAK,GAAG,gBAAgB,CAAC;IACjC,OAAO,EAAE,KAAK,GAAG,iBAAiB,CAAC;IACnC,IAAI,EAAE,KAAK,GAAG,cAAc,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC,GAC3E,cAAc,GAAG,SAAS,CAmB5B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,KAAK,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG,kBAAkB,CAkDrB;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiBhF;AAWD,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,kBAAkB,EAAE,EACxC,MAAM,EAAE,UAAU,GACjB,kBAAkB,EAAE,CAItB;AAED,wBAAgB,kBAAkB,IAAI,kBAAkB,CAWvD;AA8GD,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAYjD"}
@@ -31,7 +31,7 @@ export function pickAuthoredOtel(mounts) {
31
31
  export function resolveOtelConfig(input) {
32
32
  const env = input.env ?? process.env;
33
33
  if (input.serve === false) {
34
- return disabled();
34
+ return disabledOtelConfig();
35
35
  }
36
36
  const authored = input.authored === undefined ? {} : resolveOtelDefinition(input.authored);
37
37
  const serve = input.serve === undefined ? {} : input.serve;
@@ -53,13 +53,13 @@ export function resolveOtelConfig(input) {
53
53
  : envExporters;
54
54
  const optedIn = input.authored !== undefined || input.serve !== undefined || envExporters.length > 0;
55
55
  if (!optedIn) {
56
- return disabled();
56
+ return disabledOtelConfig();
57
57
  }
58
58
  const traces = resolveSignal(merged.traces);
59
59
  const metrics = exporters.length === 0 ? false : resolveSignal(merged.metrics);
60
60
  const logs = exporters.length === 0 ? false : resolveLogs(merged.logs, env);
61
61
  if (exporters.length === 0 && traces === false) {
62
- return disabled();
62
+ return disabledOtelConfig();
63
63
  }
64
64
  return {
65
65
  enabled: traces !== false || metrics !== false || logs !== false,
@@ -72,6 +72,7 @@ export function resolveOtelConfig(input) {
72
72
  logs,
73
73
  };
74
74
  }
75
+ /** Values are URL-encoded per the OTel spec (`Authorization=Basic%20...`). */
75
76
  export function parseOtelHeaders(raw) {
76
77
  if (raw === undefined || raw.length === 0) {
77
78
  return {};
@@ -85,11 +86,20 @@ export function parseOtelHeaders(raw) {
85
86
  const key = part.slice(0, idx).trim();
86
87
  const value = part.slice(idx + 1).trim();
87
88
  if (key.length > 0) {
88
- out[key] = value;
89
+ out[key] = decodeHeaderValue(value);
89
90
  }
90
91
  }
91
92
  return out;
92
93
  }
94
+ /** A value with a stray `%` is sent as written. */
95
+ function decodeHeaderValue(value) {
96
+ try {
97
+ return decodeURIComponent(value);
98
+ }
99
+ catch {
100
+ return value;
101
+ }
102
+ }
93
103
  /** Collapse `…/v1/{traces,metrics,logs}` to the collector base. */
94
104
  export function stripSignalPath(url) {
95
105
  return url.replace(/\/v1\/(traces|metrics|logs)\/?$/i, "");
@@ -98,7 +108,7 @@ export function stripSignalPath(url) {
98
108
  export function exportersForSignal(exporters, signal) {
99
109
  return exporters.filter((exporter) => exporter.signals === undefined || exporter.signals.includes(signal));
100
110
  }
101
- function disabled() {
111
+ export function disabledOtelConfig() {
102
112
  return {
103
113
  enabled: false,
104
114
  serviceName: "cursor",
@@ -198,19 +208,20 @@ function logsExporterOptIn(env) {
198
208
  }
199
209
  function stableConfigKey(def) {
200
210
  const { __agentServe: _brand, ...rest } = def;
201
- return stable(rest);
211
+ return stableJson(rest);
202
212
  }
203
- function stable(value) {
213
+ /** Canonical JSON with sorted keys, so object key order does not change the result. */
214
+ export function stableJson(value) {
204
215
  if (value === null || typeof value !== "object") {
205
216
  return JSON.stringify(value);
206
217
  }
207
218
  if (Array.isArray(value)) {
208
- return `[${value.map(stable).join(",")}]`;
219
+ return `[${value.map(stableJson).join(",")}]`;
209
220
  }
210
221
  const obj = value;
211
222
  return `{${Object.keys(obj)
212
223
  .sort()
213
- .map((key) => `${JSON.stringify(key)}:${stable(obj[key])}`)
224
+ .map((key) => `${JSON.stringify(key)}:${stableJson(obj[key])}`)
214
225
  .join(",")}}`;
215
226
  }
216
227
  function nonEmpty(value) {
@@ -9,5 +9,5 @@ export declare function endActiveHttpSpan(statusCode: number, error?: unknown):
9
9
  * Instrument one inbound Node request: SERVER span, W3C extract, auto-end
10
10
  * on response finish/close, run `fn` under the span context.
11
11
  */
12
- export declare function instrumentHttp<T>(runtime: OtelRuntime | undefined, req: IncomingMessage, res: ServerResponse, fn: () => Promise<T>): Promise<T>;
12
+ export declare function instrumentHttp<T>(runtime: OtelRuntime, req: IncomingMessage, res: ServerResponse, fn: () => Promise<T>): Promise<T>;
13
13
  //# sourceMappingURL=http.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/internal/otel/http.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAUjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAShD,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAG3E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,OAAO,EAAE,WAAW,GAAG,SAAS,EAChC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAcZ"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/internal/otel/http.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAUjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAShD,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAG3E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAcZ"}
@@ -29,7 +29,7 @@ export function instrumentHttp(runtime, req, res, fn) {
29
29
  return context.with(handle.context.setValue(HTTP_SPAN_HANDLE_KEY, handle), fn);
30
30
  }
31
31
  function startHttpSpan(runtime, req) {
32
- if (runtime === undefined || runtime.config.traces === false) {
32
+ if (runtime.config.traces === false) {
33
33
  return undefined;
34
34
  }
35
35
  ensureW3cPropagator();