@cursor/bdk 0.2.22 → 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.
- package/dist/artifacts.d.ts +1 -1
- package/dist/artifacts.js +1 -1
- package/dist/channels/bitbucket/bitbucket-channel.js +1 -1
- package/dist/channels/change-monitors/change-monitors-channel.js +1 -1
- package/dist/channels/deployments/deployments-channel.js +1 -1
- package/dist/channels/github/github-channel.js +1 -1
- package/dist/channels/gitlab/gitlab-channel.js +1 -1
- package/dist/channels/issues/issues-channel.js +1 -1
- package/dist/channels/origin/origin-channel.js +1 -1
- package/dist/channels/runs/runs-channel.js +1 -1
- package/dist/channels/slack/manifest.d.ts.map +1 -1
- package/dist/channels/slack/manifest.js +10 -5
- package/dist/channels/slack/tool-approval-events.js +5 -5
- package/dist/channels/slack/types.d.ts +7 -0
- package/dist/channels/slack/types.d.ts.map +1 -1
- package/dist/channels.d.ts +8 -1
- package/dist/channels.d.ts.map +1 -1
- package/dist/channels.js +33 -6
- package/dist/docs/404.html +3 -3
- package/dist/docs/assets/{app.BD1yvHJK.js → app.DTIg0uKK.js} +4 -4
- package/dist/docs/assets/chunks/@localSearchIndexroot.3ebvCWKy.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.D25E8cn2.js → VPLocalSearchBox.BpJoSaxi.js} +2 -2
- package/dist/docs/assets/chunks/{arc.1hKM2X5X.js → arc.ylgNvRNq.js} +1 -1
- package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.B1jE4xrG.js → architectureDiagram-Q4EWVU46.BMrNJqYk.js} +1 -1
- package/dist/docs/assets/chunks/{baseUniq.BwPi_maB.js → baseUniq.BBWUEqf9.js} +1 -1
- package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.Cpy78QaZ.js → blockDiagram-DXYQGD6D.DFMu-Vza.js} +1 -1
- package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.DkCQNehT.js → c4Diagram-AHTNJAMY.8nkAAxWv.js} +1 -1
- package/dist/docs/assets/chunks/channel.BOebySCN.js +1 -0
- package/dist/docs/assets/chunks/{chunk-4BX2VUAB.BuR2bNxe.js → chunk-4BX2VUAB.sO-z2Bag.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-4TB4RGXK.C24IlKyd.js → chunk-4TB4RGXK.BMROzTMq.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-55IACEB6.CRD5fIjA.js → chunk-55IACEB6.X81urwg7.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-EDXVE4YY.gKhxQpy2.js → chunk-EDXVE4YY.eaZVFLZM.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-FMBD7UC4.DPlyJIaG.js → chunk-FMBD7UC4.CmZhzstR.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-OYMX7WX6.DfDSVvIq.js → chunk-OYMX7WX6.CTezt9Lc.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-QZHKN3VN.CsA80Wio.js → chunk-QZHKN3VN.s-T8zukB.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-YZCP3GAM.BtXaaMC_.js → chunk-YZCP3GAM.DN4Nhy-D.js} +1 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.C55IaN-T.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.C55IaN-T.js +1 -0
- package/dist/docs/assets/chunks/clone.D06pA7ML.js +1 -0
- package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.Bw9v-Pfp.js → cose-bilkent-S5V4N54A.Cqyp4BUH.js} +1 -1
- package/dist/docs/assets/chunks/{dagre-KV5264BT.Wc53s510.js → dagre-KV5264BT.BIECOiqR.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-5BDNPKRD.DxJJrlh5.js → diagram-5BDNPKRD.1tLyWoTg.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.Ldxa4MKP.js → diagram-G4DWMVQ6.BVY_6VMO.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-MMDJMWI5.D30RWuU-.js → diagram-MMDJMWI5.BSZ7xiBB.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-TYMM5635.BuJ0aD65.js → diagram-TYMM5635.Bho6GmLh.js} +1 -1
- package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.2N-5dVK2.js → erDiagram-SMLLAGMA.A0yVIANn.js} +1 -1
- package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.B_te6Lre.js → flowDiagram-DWJPFMVM.ZMgbllH6.js} +1 -1
- package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.CuNbn0Wd.js → ganttDiagram-T4ZO3ILL.BCCPBhXo.js} +1 -1
- package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.C1uOicx6.js → gitGraphDiagram-UUTBAWPF.BOkL0BbA.js} +1 -1
- package/dist/docs/assets/chunks/{graph.lSlSs4kh.js → graph.DMyZPu86.js} +1 -1
- package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.Cw_LmsnD.js → infoDiagram-42DDH7IO.CjG1IiEw.js} +1 -1
- package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.DikoN3ai.js → ishikawaDiagram-UXIWVN3A.UCe-kq9g.js} +1 -1
- package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.buwzIgeY.js → journeyDiagram-VCZTEJTY.3WyOK_eY.js} +1 -1
- package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.yacNqa4l.js → kanban-definition-6JOO6SKY.WoRG2qY1.js} +1 -1
- package/dist/docs/assets/chunks/{layout.CPlTUhtI.js → layout.DV07xDd5.js} +1 -1
- package/dist/docs/assets/chunks/{linear.BpHFbx_2.js → linear.CTO8mN6o.js} +1 -1
- package/dist/docs/assets/chunks/{min.B_dSxH85.js → min.SvTtcKuZ.js} +1 -1
- package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.BO5-vmxy.js → mindmap-definition-QFDTVHPH.DMGgQ-HB.js} +1 -1
- package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.Bwj1Zq54.js → pieDiagram-DEJITSTG.B7851apI.js} +1 -1
- package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.D5dcUqJC.js → quadrantDiagram-34T5L4WZ.CEqyypIX.js} +1 -1
- package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.CCP5yuT4.js → requirementDiagram-MS252O5E.C3Mwsw-H.js} +1 -1
- package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.BWAu-_Jq.js → sankeyDiagram-XADWPNL6.DyYK0XxY.js} +1 -1
- package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.w545hYyz.js → sequenceDiagram-FGHM5R23.SiQPH-XM.js} +1 -1
- package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.CxcpDNk2.js → stateDiagram-FHFEXIEX.CTJMsP4p.js} +1 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.DddRVjeq.js +1 -0
- package/dist/docs/assets/chunks/{theme.DSJaK7i1.js → theme.DJo4my9R.js} +2 -2
- package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.2WxkfxRf.js → timeline-definition-GMOUNBTQ.CxSNRlQ6.js} +1 -1
- package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.BGZwcK-Z.js → vennDiagram-DHZGUBPP.BdoJskyD.js} +1 -1
- package/dist/docs/assets/chunks/wardley-RL74JXVD.CVCRSuQK.js +162 -0
- package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.oryRmynQ.js → wardleyDiagram-NUSXRM2D.IjIbFn_F.js} +1 -1
- package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.Bq7gMvIU.js → xychartDiagram-5P7HB3ND.CPUxDZLH.js} +1 -1
- package/dist/docs/assets/{deployment.md.CtSJ6sF9.js → deployment.md.3MMWuPeV.js} +5 -5
- package/dist/docs/assets/{deployment.md.CtSJ6sF9.lean.js → deployment.md.3MMWuPeV.lean.js} +1 -1
- package/dist/docs/assets/{guides_cloud-agents.md.CBK7W0-O.js → guides_cloud-agents.md.BzbzcOyj.js} +2 -2
- package/dist/docs/assets/{guides_cloud-agents.md.CBK7W0-O.lean.js → guides_cloud-agents.md.BzbzcOyj.lean.js} +1 -1
- package/dist/docs/assets/guides_migrate.md.CQlGaBKX.js +7 -0
- package/dist/docs/assets/{guides_migrate.md.DZBL7dqT.lean.js → guides_migrate.md.CQlGaBKX.lean.js} +1 -1
- package/dist/docs/assets/{guides_opentelemetry.md.ByW1Fs7b.js → guides_opentelemetry.md.Ck1o2frw.js} +11 -3
- package/dist/docs/assets/{guides_opentelemetry.md.ByW1Fs7b.lean.js → guides_opentelemetry.md.Ck1o2frw.lean.js} +1 -1
- package/dist/docs/assets/{reference_agent-config.md.DYA6ge6t.js → reference_agent-config.md.IplwL25I.js} +1 -2
- package/dist/docs/assets/{reference_agent-config.md.DYA6ge6t.lean.js → reference_agent-config.md.IplwL25I.lean.js} +1 -1
- package/dist/docs/assets/{reference_cli.md.Bkrsce22.js → reference_cli.md.DB7Llw3T.js} +3 -3
- package/dist/docs/assets/{reference_cli.md.Bkrsce22.lean.js → reference_cli.md.DB7Llw3T.lean.js} +1 -1
- package/dist/docs/assets/{reference_extensions.md.OUacPetl.js → reference_extensions.md.DKxTuCIw.js} +11 -8
- package/dist/docs/assets/{reference_extensions.md.OUacPetl.lean.js → reference_extensions.md.DKxTuCIw.lean.js} +1 -1
- package/dist/docs/assets/{reference_instructions.md.DrcHZXig.js → reference_instructions.md.BYMVxAkw.js} +4 -4
- package/dist/docs/assets/{reference_instructions.md.DrcHZXig.lean.js → reference_instructions.md.BYMVxAkw.lean.js} +1 -1
- package/dist/docs/assets/{style.Dwls12uf.css → style.nMsabY-V.css} +1 -1
- package/dist/docs/assets/templates_agentic-owners.md.CTEnR0jp.js +13 -0
- package/dist/docs/assets/{templates_agentic-owners.md.CvmABtia.lean.js → templates_agentic-owners.md.CTEnR0jp.lean.js} +1 -1
- package/dist/docs/building-with-agents.html +37 -37
- package/dist/docs/deployment.html +42 -42
- package/dist/docs/deployment.md +9 -4
- package/dist/docs/evals.html +37 -37
- package/dist/docs/guides/agent-to-agent.html +37 -37
- package/dist/docs/guides/bitbucket.html +37 -37
- package/dist/docs/guides/cloud-agents.html +38 -38
- package/dist/docs/guides/cloud-agents.md +1 -0
- package/dist/docs/guides/convert-automation.html +37 -37
- package/dist/docs/guides/export-grokbot.html +37 -37
- package/dist/docs/guides/github.html +37 -37
- package/dist/docs/guides/gitlab.html +37 -37
- package/dist/docs/guides/grokbot-agents.html +37 -37
- package/dist/docs/guides/hooks.html +37 -37
- package/dist/docs/guides/improve.html +37 -37
- package/dist/docs/guides/jev.html +37 -37
- package/dist/docs/guides/mcp-oauth.html +37 -37
- package/dist/docs/guides/migrate.html +39 -39
- package/dist/docs/guides/migrate.md +46 -4
- package/dist/docs/guides/opentelemetry.html +47 -39
- package/dist/docs/guides/opentelemetry.md +48 -2
- package/dist/docs/guides/slack.html +37 -37
- package/dist/docs/guides/webhooks.html +37 -37
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +37 -37
- package/dist/docs/index.html +37 -37
- package/dist/docs/llms-full.txt +195 -49
- package/dist/docs/quickstart.html +37 -37
- package/dist/docs/reference/agent-config.html +38 -39
- package/dist/docs/reference/agent-config.md +0 -1
- package/dist/docs/reference/artifacts.html +37 -37
- package/dist/docs/reference/channels.html +37 -37
- package/dist/docs/reference/cli.html +40 -40
- package/dist/docs/reference/cli.md +16 -5
- package/dist/docs/reference/connections.html +37 -37
- package/dist/docs/reference/evals.html +37 -37
- package/dist/docs/reference/extensions.html +47 -44
- package/dist/docs/reference/extensions.md +15 -9
- package/dist/docs/reference/hooks.html +37 -37
- package/dist/docs/reference/http-api.html +37 -37
- package/dist/docs/reference/instructions.html +40 -40
- package/dist/docs/reference/instructions.md +5 -1
- package/dist/docs/reference/memory.html +37 -37
- package/dist/docs/reference/playground.html +36 -36
- package/dist/docs/reference/project-layout.html +37 -37
- package/dist/docs/reference/prompt.html +37 -37
- package/dist/docs/reference/schedules.html +37 -37
- package/dist/docs/reference/sessions.html +36 -36
- package/dist/docs/reference/skills.html +37 -37
- package/dist/docs/reference/subagents.html +37 -37
- package/dist/docs/reference/tools.html +37 -37
- package/dist/docs/templates/agentic-owners.html +42 -43
- package/dist/docs/templates/agentic-owners.md +55 -23
- package/dist/docs/templates/grokbot-agents.html +37 -37
- package/dist/docs/templates/security-reviewer.html +37 -37
- package/dist/docs/templates/thermo-quality-review.html +37 -37
- package/dist/docs/templates/thermo-review.html +37 -37
- package/dist/docs/templates/triage.html +37 -37
- package/dist/docs/troubleshooting.html +36 -36
- package/dist/extensions/cursor-cloud-agents/extension.d.ts +2 -0
- package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/extension.js +2 -1
- package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts +1 -0
- package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/backend.js +2 -1
- package/dist/extensions/cursor-cloud-agents/lib/fleet.js +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/inputs.js +1 -1
- package/dist/extensions/cursor-cloud-agents/reminders/cloud-agent-stop-watch.js +1 -1
- package/dist/extensions/cursor-cloud-agents/tools/launch.js +1 -1
- package/dist/extensions/cursor-cloud-agents/tools/list.js +1 -1
- package/dist/extensions/cursor-cloud-agents/tools/reply.js +1 -1
- package/dist/extensions/cursor-grokbot-agents/extension.js +1 -1
- package/dist/extensions/cursor-grokbot-agents/lib/backend.js +1 -1
- package/dist/extensions/cursor-grokbot-agents/lib/contacts.js +1 -1
- package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts +1 -1
- package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts.map +1 -1
- package/dist/extensions/cursor-grokbot-agents/lib/inputs.js +1 -1
- package/dist/extensions/cursor-grokbot-agents/tools/ask.js +1 -1
- package/dist/extensions/cursor-grokbot-agents/tools/check.js +1 -1
- package/dist/extensions/cursor-grokbot-agents/tools/interrupt.js +1 -1
- package/dist/extensions/cursor-grokbot-agents/tools/list.js +1 -1
- package/dist/extensions/improve/extension.js +1 -1
- package/dist/extensions/jev/extension.js +1 -1
- package/dist/extensions/jev/tools/evaluate.js +1 -1
- package/dist/extensions/slack-communication/extension.js +1 -1
- package/dist/extensions/slack-communication/tools/delete-message.js +1 -1
- package/dist/extensions/slack-communication/tools/edit-message.js +1 -1
- package/dist/extensions/slack-communication/tools/post-card.js +1 -1
- package/dist/extensions/slack-communication/tools/post-file.js +1 -1
- package/dist/extensions/slack-communication/tools/post-update.js +1 -1
- package/dist/extensions/slack-communication/tools/react.js +1 -1
- package/dist/extensions/slack-communication/tools/set-status.js +1 -1
- package/dist/extensions.d.ts +1 -1
- package/dist/extensions.js +1 -1
- package/dist/internal/builtin-tools/artifacts.js +1 -1
- package/dist/internal/builtin-tools/reminders.js +1 -1
- package/dist/internal/cli-deploy.d.ts +3 -3
- package/dist/internal/cli-deploy.d.ts.map +1 -1
- package/dist/internal/cli-deploy.js +63 -21
- package/dist/internal/cli-migrate.d.ts.map +1 -1
- package/dist/internal/cli-migrate.js +227 -12
- package/dist/internal/cli-slack.d.ts.map +1 -1
- package/dist/internal/cli-slack.js +56 -3
- package/dist/internal/convert-automation/convert-workflow.js +1 -1
- package/dist/internal/convert-grokbot/answers.js +1 -1
- package/dist/internal/convert-grokbot/recipe.d.ts +1 -1
- package/dist/internal/convert-grokbot/recipe.d.ts.map +1 -1
- package/dist/internal/convert-grokbot/recipe.js +1 -1
- package/dist/internal/cursor/backend-client.d.ts +1 -1
- package/dist/internal/cursor/backend-client.d.ts.map +1 -1
- package/dist/internal/cursor/backend-client.js +1 -1
- package/dist/internal/cursor/credentials.d.ts +1 -1
- package/dist/internal/cursor/credentials.d.ts.map +1 -1
- package/dist/internal/cursor/credentials.js +1 -1
- package/dist/internal/deploy-client.d.ts +7 -0
- package/dist/internal/deploy-client.d.ts.map +1 -1
- package/dist/internal/deploy-client.js +16 -2
- package/dist/internal/deploy-manifest.d.ts.map +1 -1
- package/dist/internal/deploy-manifest.js +2 -1
- package/dist/internal/discovery/cursor-plugin.js +1 -1
- package/dist/internal/factory-resource-channel.d.ts +1 -1
- package/dist/internal/factory-resource-channel.d.ts.map +1 -1
- package/dist/internal/filesystem/sdk-schemas.d.ts +1 -1
- package/dist/internal/filesystem/sdk-schemas.d.ts.map +1 -1
- package/dist/internal/filesystem/sdk-schemas.js +1 -1
- package/dist/internal/filesystem/tools.js +1 -1
- package/dist/internal/host-otel.d.ts +2 -1
- package/dist/internal/host-otel.d.ts.map +1 -1
- package/dist/internal/host-otel.js +20 -6
- package/dist/internal/hosted-delivery-protocol.d.ts +4 -0
- package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
- package/dist/internal/hosted-delivery.d.ts +7 -0
- package/dist/internal/hosted-delivery.d.ts.map +1 -1
- package/dist/internal/hosted-delivery.js +19 -17
- package/dist/internal/hosting.d.ts +6 -0
- package/dist/internal/hosting.d.ts.map +1 -1
- package/dist/internal/hosting.js +9 -0
- package/dist/internal/init-scaffold.js +1 -1
- package/dist/internal/interview/agent-questions.d.ts +1 -1
- package/dist/internal/interview/agent-questions.d.ts.map +1 -1
- package/dist/internal/interview/agent-questions.js +1 -1
- package/dist/internal/interview/question.d.ts +1 -1
- package/dist/internal/interview/question.d.ts.map +1 -1
- package/dist/internal/interview/question.js +1 -1
- package/dist/internal/json-schema.d.ts +1 -1
- package/dist/internal/json-schema.d.ts.map +1 -1
- package/dist/internal/json-schema.js +1 -1
- package/dist/internal/mcp-endpoint.js +1 -1
- package/dist/internal/otel/collector.d.ts.map +1 -1
- package/dist/internal/otel/collector.js +47 -18
- package/dist/internal/otel/config.d.ts +4 -0
- package/dist/internal/otel/config.d.ts.map +1 -1
- package/dist/internal/otel/config.js +20 -9
- package/dist/internal/otel/http.d.ts +1 -1
- package/dist/internal/otel/http.d.ts.map +1 -1
- package/dist/internal/otel/http.js +1 -1
- package/dist/internal/otel/runtime.d.ts +17 -14
- package/dist/internal/otel/runtime.d.ts.map +1 -1
- package/dist/internal/otel/runtime.js +181 -238
- package/dist/internal/package-inline-stdio.d.ts.map +1 -1
- package/dist/internal/package-inline-stdio.js +1 -0
- package/dist/internal/process-memory-telemetry.d.ts +1 -1
- package/dist/internal/process-memory-telemetry.d.ts.map +1 -1
- package/dist/internal/process-memory-telemetry.js +1 -1
- package/dist/internal/sdk-runner.d.ts.map +1 -1
- package/dist/internal/sdk-runner.js +22 -2
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +25 -13
- package/dist/internal/session-engine.d.ts +9 -1
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +31 -2
- package/dist/internal/slack-provision-client.d.ts +1 -0
- package/dist/internal/slack-provision-client.d.ts.map +1 -1
- package/dist/internal/slack-provision-client.js +1 -1
- package/dist/internal/store-api-protocol.d.ts +1 -1
- package/dist/internal/store-api-protocol.d.ts.map +1 -1
- package/dist/internal/store-api-protocol.js +1 -1
- package/dist/internal/update-check.d.ts +1 -1
- package/dist/internal/update-check.d.ts.map +1 -1
- package/dist/internal/update-check.js +1 -1
- package/dist/otel.d.ts +1 -2
- package/dist/otel.d.ts.map +1 -1
- package/dist/otel.js +0 -1
- package/dist/playground/assets/index-DKKdkF29.js +62 -0
- package/dist/playground/assets/index-DpKinTMs.css +1 -0
- package/dist/playground/index.html +2 -2
- package/dist/tools.d.ts +2 -2
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/docs/deployment.md +9 -4
- package/docs/guides/cloud-agents.md +1 -0
- package/docs/guides/migrate.md +46 -4
- package/docs/guides/opentelemetry.md +48 -2
- package/docs/reference/agent-config.md +0 -1
- package/docs/reference/cli.md +16 -5
- package/docs/reference/extensions.md +15 -9
- package/docs/reference/instructions.md +5 -1
- package/docs/templates/agentic-owners.md +55 -23
- package/package.json +17 -19
- package/skills/migrate-v2/SKILL.md +140 -11
- package/skills/otel/SKILL.md +17 -4
- package/dist/docs/assets/chunks/@localSearchIndexroot.DLNj_nNf.js +0 -1
- package/dist/docs/assets/chunks/channel.DRdmGkBC.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CAGM3Q8f.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CAGM3Q8f.js +0 -1
- package/dist/docs/assets/chunks/clone.DjA1k4gh.js +0 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.CjwS--3R.js +0 -1
- package/dist/docs/assets/chunks/wardley-RL74JXVD.BtotXz_c.js +0 -162
- package/dist/docs/assets/guides_migrate.md.DZBL7dqT.js +0 -7
- package/dist/docs/assets/templates_agentic-owners.md.CvmABtia.js +0 -14
- package/dist/playground/assets/index-CzV_Cybi.css +0 -1
- package/dist/playground/assets/index-XXYKgdQn.js +0 -71
|
@@ -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
|
-
|
|
22
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
666
|
+
const active = currentMetrics();
|
|
667
|
+
if (active === undefined || value === 0) {
|
|
639
668
|
return;
|
|
640
669
|
}
|
|
641
|
-
|
|
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;
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
211
|
+
return stableJson(rest);
|
|
202
212
|
}
|
|
203
|
-
|
|
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(
|
|
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)}:${
|
|
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
|
|
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,
|
|
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
|
|
32
|
+
if (runtime.config.traces === false) {
|
|
33
33
|
return undefined;
|
|
34
34
|
}
|
|
35
35
|
ensureW3cPropagator();
|
|
@@ -10,32 +10,35 @@ import { type ResolvedOtelConfig } from "./config.js";
|
|
|
10
10
|
* delivery (OTLP BatchSpanProcessor defaults to 30s).
|
|
11
11
|
*/
|
|
12
12
|
export declare const OTEL_FORCE_FLUSH_TIMEOUT_MS = 1000;
|
|
13
|
-
/**
|
|
14
|
-
* First hosted OTLP POST may include a cold TLS handshake to Datadog.
|
|
15
|
-
* Bound separately from {@link OTEL_FORCE_FLUSH_TIMEOUT_MS} so the
|
|
16
|
-
* queued turn/tool batch is not abandoned after 1s.
|
|
17
|
-
*/
|
|
18
|
-
export declare const OTEL_DEFERRED_EXPORT_TIMEOUT_MS = 5000;
|
|
19
|
-
/** Drop oldest finished spans when no collector has drained the buffer. */
|
|
20
|
-
export declare const OTEL_IN_MEMORY_SPAN_LIMIT = 2048;
|
|
21
13
|
export interface OtelRuntime {
|
|
22
14
|
config: ResolvedOtelConfig;
|
|
23
15
|
tracer: Tracer;
|
|
16
|
+
/** Absent until the first config with an exporter. Then it stays. */
|
|
24
17
|
meter: Meter | undefined;
|
|
25
18
|
logger: OtelLogger | undefined;
|
|
26
19
|
httpDuration: Histogram | undefined;
|
|
27
20
|
forceFlush: () => Promise<void>;
|
|
28
21
|
shutdown: () => Promise<void>;
|
|
29
22
|
}
|
|
30
|
-
export interface
|
|
23
|
+
export interface OtelRuntimeHandle {
|
|
24
|
+
runtime: OtelRuntime;
|
|
31
25
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
26
|
+
* Resolve the config again. Local `serve` calls this at start. A hosted v2
|
|
27
|
+
* guest calls it after each secret load, because secrets arrive with the
|
|
28
|
+
* first request.
|
|
35
29
|
*/
|
|
36
|
-
|
|
30
|
+
reload(): void;
|
|
37
31
|
}
|
|
38
|
-
export
|
|
32
|
+
export interface CreateOtelRuntimeOptions {
|
|
33
|
+
/** Hosted egress allowlist. An exporter host outside it logs an error. */
|
|
34
|
+
egressDomains?: readonly string[];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* BDK builds the providers from the first config that has an exporter. After
|
|
38
|
+
* that, only the headers change: exporters read them on each export. A change
|
|
39
|
+
* to any other setting logs a warning to redeploy.
|
|
40
|
+
*/
|
|
41
|
+
export declare function createOtelRuntime(resolve: () => ResolvedOtelConfig, log: (line: string) => void, options?: CreateOtelRuntimeOptions): OtelRuntimeHandle;
|
|
39
42
|
export declare function forceFlushOtelRuntime(runtime: OtelRuntime | undefined): Promise<void>;
|
|
40
43
|
export declare function shutdownOtelRuntime(runtime: OtelRuntime | undefined): Promise<void>;
|
|
41
44
|
export declare function raceOtelForceFlush(work: Promise<unknown>, log: (line: string) => void, timeoutMs?: number): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/internal/otel/runtime.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/internal/otel/runtime.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,MAAM,EAMZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,MAAM,IAAI,UAAU,EAAQ,MAAM,yBAAyB,CAAC;AAiC1E,OAAO,EAGL,KAAK,kBAAkB,EAExB,MAAM,aAAa,CAAC;AAKrB;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,OAAQ,CAAC;AAEjD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC;IACpC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,WAAW,CAAC;IACrB;;;;OAIG;IACH,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,0EAA0E;IAC1E,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,kBAAkB,EACjC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC3B,OAAO,GAAE,wBAA6B,GACrC,iBAAiB,CAsEnB;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3F;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzF;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EACtB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC3B,SAAS,GAAE,MAAoC,GAC9C,OAAO,CAAC,IAAI,CAAC,CAef"}
|