@cursor/bdk 0.2.25 → 0.2.27
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/AGENTS.md +3 -18
- package/CHANGELOG.md +3 -0
- package/dist/artifacts.d.ts +1 -1
- package/dist/artifacts.js +1 -1
- package/dist/bin/agent-serve.js +25 -21
- package/dist/channels/bitbucket/api.d.ts +2 -2
- package/dist/channels/bitbucket/api.d.ts.map +1 -1
- package/dist/channels/bitbucket/bitbucket-channel.js +1 -1
- package/dist/channels/bitbucket/bitbucket-webhook.d.ts +2 -2
- package/dist/channels/bitbucket/bitbucket-webhook.d.ts.map +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/cursor-account.d.ts +7 -0
- package/dist/channels/github/cursor-account.d.ts.map +1 -1
- package/dist/channels/github/cursor-account.js +22 -5
- package/dist/channels/github/github-channel.js +1 -1
- package/dist/channels/github/replay.d.ts +1 -1
- package/dist/channels/github/replay.d.ts.map +1 -1
- package/dist/channels/gitlab/api.d.ts +2 -2
- package/dist/channels/gitlab/api.d.ts.map +1 -1
- package/dist/channels/gitlab/gitlab-channel.js +1 -1
- package/dist/channels/issues/issues-channel.js +1 -1
- package/dist/channels/origin/api.d.ts +4 -4
- package/dist/channels/origin/api.d.ts.map +1 -1
- package/dist/channels/origin/origin-channel.js +1 -1
- package/dist/channels/origin/origin-webhook.d.ts +3 -3
- package/dist/channels/origin/origin-webhook.d.ts.map +1 -1
- package/dist/channels/pagerduty/pagerduty-webhook.d.ts +2 -2
- package/dist/channels/pagerduty/pagerduty-webhook.d.ts.map +1 -1
- package/dist/channels/runs/runs-channel.js +1 -1
- package/dist/channels/slack/agentic-delivery.d.ts +2 -1
- package/dist/channels/slack/agentic-delivery.d.ts.map +1 -1
- package/dist/channels/slack/agentic-delivery.js +6 -10
- package/dist/channels/slack/agentic-signals.d.ts +2 -7
- package/dist/channels/slack/agentic-signals.d.ts.map +1 -1
- package/dist/channels/slack/agentic-signals.js +4 -3
- package/dist/channels/slack/api.d.ts +1 -0
- package/dist/channels/slack/api.d.ts.map +1 -1
- package/dist/channels/slack/api.js +3 -0
- package/dist/channels/slack/constants.d.ts +2 -0
- package/dist/channels/slack/constants.d.ts.map +1 -1
- package/dist/channels/slack/constants.js +2 -0
- package/dist/channels/slack/defaults.d.ts.map +1 -1
- package/dist/channels/slack/defaults.js +3 -2
- package/dist/channels/slack/dispatch.d.ts +9 -0
- package/dist/channels/slack/dispatch.d.ts.map +1 -1
- package/dist/channels/slack/dispatch.js +3 -0
- package/dist/channels/slack/inbound.d.ts.map +1 -1
- package/dist/channels/slack/inbound.js +24 -20
- package/dist/channels/slack/interactive.d.ts +2 -0
- package/dist/channels/slack/interactive.d.ts.map +1 -1
- package/dist/channels/slack/interactive.js +1 -0
- package/dist/channels/slack/live-delivery.d.ts +3 -0
- package/dist/channels/slack/live-delivery.d.ts.map +1 -1
- package/dist/channels/slack/live-delivery.js +5 -0
- package/dist/channels/slack/reply-options.d.ts +9 -0
- package/dist/channels/slack/reply-options.d.ts.map +1 -1
- package/dist/channels/slack/reply-options.js +31 -1
- package/dist/channels/slack/slack-channel.d.ts.map +1 -1
- package/dist/channels/slack/slack-channel.js +7 -0
- package/dist/channels/slack/stream.d.ts +5 -1
- package/dist/channels/slack/stream.d.ts.map +1 -1
- package/dist/channels/slack/types.d.ts +29 -0
- package/dist/channels/slack/types.d.ts.map +1 -1
- package/dist/channels.d.ts +1 -1
- package/dist/channels.js +1 -1
- package/dist/docs/404.html +3 -3
- package/dist/docs/assets/{app.BjS1QEI4.js → app.wA5xBBcd.js} +4 -4
- package/dist/docs/assets/changelog.md.BvHRIiMH.js +1 -0
- package/dist/docs/assets/changelog.md.BvHRIiMH.lean.js +1 -0
- package/dist/docs/assets/chunks/@localSearchIndexroot.BoDEJQWv.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.BOuvjb5Y.js → VPLocalSearchBox.C29HLCVL.js} +2 -2
- package/dist/docs/assets/chunks/{arc.3WR6Jf-y.js → arc.BOaoYWmh.js} +1 -1
- package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.Dtb6Dqh6.js → architectureDiagram-Q4EWVU46.MfG0itQh.js} +1 -1
- package/dist/docs/assets/chunks/{baseUniq.BUyrgrZE.js → baseUniq.CUeJciCF.js} +1 -1
- package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.BVLV_voZ.js → blockDiagram-DXYQGD6D.BrXMZRtK.js} +1 -1
- package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.jXJ1q70M.js → c4Diagram-AHTNJAMY.DfkDHeB9.js} +1 -1
- package/dist/docs/assets/chunks/channel.D2BTz0L-.js +1 -0
- package/dist/docs/assets/chunks/{chunk-4BX2VUAB.zz1SMBvK.js → chunk-4BX2VUAB.xKz8CiXK.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-4TB4RGXK.CzYKuv3I.js → chunk-4TB4RGXK.kkfBh4zk.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-55IACEB6.C7_tcJZD.js → chunk-55IACEB6.BClJGb94.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-EDXVE4YY.DeTwQPVO.js → chunk-EDXVE4YY.P9BpQ9L3.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-FMBD7UC4.DhMTl7ut.js → chunk-FMBD7UC4.R4iYi58S.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-OYMX7WX6.Me7f5hEp.js → chunk-OYMX7WX6.Cpn8L1dw.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-QZHKN3VN.D0E0Bb6g.js → chunk-QZHKN3VN.BLftECqU.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-YZCP3GAM.CdOOBFYL.js → chunk-YZCP3GAM.BWDV1AYt.js} +1 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.DqByliAC.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.DqByliAC.js +1 -0
- package/dist/docs/assets/chunks/clone.CldT1lbQ.js +1 -0
- package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.BNbGESzN.js → cose-bilkent-S5V4N54A.DGpAcJ55.js} +1 -1
- package/dist/docs/assets/chunks/{dagre-KV5264BT.zU7Lu_xJ.js → dagre-KV5264BT.BBXxGEaD.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-5BDNPKRD.B9qOdE5h.js → diagram-5BDNPKRD.EKqOwmK2.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.D8X-sf77.js → diagram-G4DWMVQ6.CB8pdkoZ.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-MMDJMWI5.CW7MvMlE.js → diagram-MMDJMWI5.aHh4WGg9.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-TYMM5635.J489G0Nd.js → diagram-TYMM5635.YIsbRH20.js} +1 -1
- package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.BkW7tGfs.js → erDiagram-SMLLAGMA.B3bTCW_e.js} +1 -1
- package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.jc9iWORD.js → flowDiagram-DWJPFMVM.M81hXIXZ.js} +1 -1
- package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.B-UQfd9E.js → ganttDiagram-T4ZO3ILL.BKg7WY--.js} +1 -1
- package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.DFzrTSlJ.js → gitGraphDiagram-UUTBAWPF.CLEMZgO3.js} +1 -1
- package/dist/docs/assets/chunks/{graph.C5IB6_e_.js → graph.DS38W_Q-.js} +1 -1
- package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.DwF0-c8L.js → infoDiagram-42DDH7IO.BTiWTi82.js} +1 -1
- package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.fBaTqzE7.js → ishikawaDiagram-UXIWVN3A.DcqY_KQL.js} +1 -1
- package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.CM8gDVJy.js → journeyDiagram-VCZTEJTY.0lQNZ40U.js} +1 -1
- package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.YiD1p0LB.js → kanban-definition-6JOO6SKY.L5sKlf7X.js} +1 -1
- package/dist/docs/assets/chunks/{layout.6Um-DVJT.js → layout.7u4gFhQa.js} +1 -1
- package/dist/docs/assets/chunks/{linear.DcTeg4Hn.js → linear.D5v33SOb.js} +1 -1
- package/dist/docs/assets/chunks/{min.CIxkY8Fe.js → min.Dc9uCxf9.js} +1 -1
- package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.D4QM_voR.js → mindmap-definition-QFDTVHPH.B56nGoB_.js} +1 -1
- package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.nmB309G1.js → pieDiagram-DEJITSTG.Cba8e8lS.js} +1 -1
- package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.D1HtZR3C.js → quadrantDiagram-34T5L4WZ.2YjBycHF.js} +1 -1
- package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.CZgQWob-.js → requirementDiagram-MS252O5E.D4P5RqVI.js} +1 -1
- package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.DtiBfU-P.js → sankeyDiagram-XADWPNL6.C0Hn8NUm.js} +1 -1
- package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.Cld4gDSt.js → sequenceDiagram-FGHM5R23.BZm7EaoT.js} +1 -1
- package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.DatP823_.js → stateDiagram-FHFEXIEX.DcR4f3X2.js} +1 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.Bb4oMe0P.js +1 -0
- package/dist/docs/assets/chunks/{theme.D5jbBys7.js → theme.DvfKzyXq.js} +2 -2
- package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.DwQLI2be.js → timeline-definition-GMOUNBTQ.CgDh96vg.js} +1 -1
- package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.a5yMfnsa.js → vennDiagram-DHZGUBPP.B4fagbC8.js} +1 -1
- package/dist/docs/assets/chunks/{wardley-RL74JXVD.B-FXivgT.js → wardley-RL74JXVD.Ck68omim.js} +1 -1
- package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.Dz--Opy3.js → wardleyDiagram-NUSXRM2D.DBUg0bvz.js} +1 -1
- package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.Dl8w8TeT.js → xychartDiagram-5P7HB3ND.DnKSGQE1.js} +1 -1
- package/dist/docs/assets/{guides_hooks.md.Bfj0pK91.js → guides_hooks.md.B2XfGX50.js} +7 -3
- package/dist/docs/assets/{guides_mcp-oauth.md.BM_eFC0L.js → guides_mcp-oauth.md.Cxq2TxBB.js} +3 -3
- package/dist/docs/assets/{guides_mcp-oauth.md.BM_eFC0L.lean.js → guides_mcp-oauth.md.Cxq2TxBB.lean.js} +1 -1
- package/dist/docs/assets/guides_opentelemetry.md.D4wO7_8v.js +37 -0
- package/dist/docs/assets/guides_opentelemetry.md.D4wO7_8v.lean.js +1 -0
- package/dist/docs/assets/{guides_slack.md.Bn-WupSE.js → guides_slack.md.ClIyi7FI.js} +8 -3
- package/dist/docs/assets/{guides_slack.md.Bn-WupSE.lean.js → guides_slack.md.ClIyi7FI.lean.js} +1 -1
- package/dist/docs/assets/{reference_agent-config.md.IplwL25I.js → reference_agent-config.md.CZrbHOfT.js} +8 -4
- package/dist/docs/assets/{reference_agent-config.md.IplwL25I.lean.js → reference_agent-config.md.CZrbHOfT.lean.js} +1 -1
- package/dist/docs/assets/{reference_channels.md.Bxaa020x.js → reference_channels.md.CNNIS6K7.js} +1 -1
- package/dist/docs/assets/{reference_hooks.md.B1jq3oGl.js → reference_hooks.md.CROr0QgC.js} +13 -7
- package/dist/docs/assets/{reference_hooks.md.B1jq3oGl.lean.js → reference_hooks.md.CROr0QgC.lean.js} +1 -1
- package/dist/docs/assets/{reference_schedules.md.03Ryy9ca.js → reference_schedules.md.BqWnJES4.js} +3 -3
- package/dist/docs/assets/reference_sessions.md.Bi6lHttM.js +22 -0
- package/dist/docs/assets/reference_sessions.md.Bi6lHttM.lean.js +1 -0
- package/dist/docs/assets/{reference_skills.md.C2GWh7g8.js → reference_skills.md.Ckddg6KX.js} +3 -3
- package/dist/docs/assets/{reference_tools.md.-6pypsWt.js → reference_tools.md.Bo0UfT0a.js} +1 -1
- package/dist/docs/assets/{style.nMsabY-V.css → style.B9o0luvp.css} +1 -1
- package/dist/docs/building-with-agents.html +37 -37
- package/dist/docs/changelog.html +60 -0
- package/dist/docs/changelog.md +114 -0
- package/dist/docs/deployment.html +37 -37
- 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 +37 -37
- 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 +45 -41
- package/dist/docs/guides/hooks.md +7 -3
- package/dist/docs/guides/improve.html +37 -37
- package/dist/docs/guides/jev.html +37 -37
- package/dist/docs/guides/mcp-oauth.html +39 -39
- package/dist/docs/guides/mcp-oauth.md +12 -0
- package/dist/docs/guides/migrate.html +37 -37
- package/dist/docs/guides/opentelemetry.html +62 -70
- package/dist/docs/guides/opentelemetry.md +149 -179
- package/dist/docs/guides/pagerduty.html +37 -37
- package/dist/docs/guides/slack.html +44 -39
- package/dist/docs/guides/slack.md +41 -0
- 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 +422 -193
- package/dist/docs/llms.txt +2 -1
- package/dist/docs/quickstart.html +37 -37
- package/dist/docs/reference/agent-config.html +44 -40
- package/dist/docs/reference/agent-config.md +30 -1
- package/dist/docs/reference/artifacts.html +37 -37
- package/dist/docs/reference/channels.html +38 -38
- package/dist/docs/reference/channels.md +5 -1
- package/dist/docs/reference/cli.html +37 -37
- package/dist/docs/reference/connections.html +37 -37
- package/dist/docs/reference/evals.html +37 -37
- package/dist/docs/reference/extensions.html +37 -37
- package/dist/docs/reference/hooks.html +49 -43
- package/dist/docs/reference/hooks.md +10 -5
- package/dist/docs/reference/http-api.html +37 -37
- package/dist/docs/reference/instructions.html +37 -37
- 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 +40 -40
- package/dist/docs/reference/sessions.html +58 -37
- package/dist/docs/reference/sessions.md +46 -1
- package/dist/docs/reference/skills.html +40 -40
- package/dist/docs/reference/subagents.html +37 -37
- package/dist/docs/reference/tools.html +39 -39
- package/dist/docs/reference/tools.md +3 -3
- package/dist/docs/templates/agentic-owners.html +37 -37
- 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.map +1 -1
- package/dist/extensions/cursor-cloud-agents/extension.js +15 -15
- package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts +4 -1
- package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/backend.js +2 -6
- 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.d.ts.map +1 -1
- package/dist/extensions/cursor-grokbot-agents/extension.js +7 -3
- 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 +2 -2
- package/dist/extensions/jev/tools/evaluate.js +3 -3
- 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.d.ts.map +1 -1
- package/dist/extensions/slack-communication/tools/edit-message.js +3 -6
- 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.d.ts.map +1 -1
- package/dist/extensions/slack-communication/tools/post-update.js +3 -6
- 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/filesystem.d.ts +26 -5
- package/dist/filesystem.d.ts.map +1 -1
- package/dist/filesystem.js +91 -18
- package/dist/index.d.ts +14 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -4
- package/dist/internal/as-of.d.ts +2 -0
- package/dist/internal/as-of.d.ts.map +1 -1
- package/dist/internal/as-of.js +2 -0
- package/dist/internal/builtin-tools/reminders.js +1 -1
- package/dist/internal/cli-deploy.d.ts.map +1 -1
- package/dist/internal/cli-deploy.js +18 -10
- package/dist/internal/continuation.d.ts +3 -0
- package/dist/internal/continuation.d.ts.map +1 -0
- package/dist/internal/continuation.js +1 -0
- package/dist/internal/conversation-mirror.d.ts +5 -0
- package/dist/internal/conversation-mirror.d.ts.map +1 -1
- package/dist/internal/conversation-mirror.js +12 -1
- package/dist/internal/convert-automation/convert-workflow.js +1 -1
- package/dist/internal/convert-grokbot/answers.d.ts.map +1 -1
- package/dist/internal/convert-grokbot/answers.js +10 -8
- 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/account-mcp.d.ts.map +1 -1
- package/dist/internal/cursor/account-mcp.js +2 -0
- package/dist/internal/cursor/backend-client.d.ts +8 -3
- package/dist/internal/cursor/backend-client.d.ts.map +1 -1
- package/dist/internal/cursor/backend-client.js +8 -3
- package/dist/internal/cursor/credentials.d.ts +2 -2
- package/dist/internal/cursor/credentials.d.ts.map +1 -1
- package/dist/internal/cursor/credentials.js +1 -1
- package/dist/internal/cursor-account-mcp-auth.d.ts +6 -2
- package/dist/internal/cursor-account-mcp-auth.d.ts.map +1 -1
- package/dist/internal/cursor-account-mcp-auth.js +15 -6
- package/dist/internal/deferred-channel-session.d.ts +5 -4
- package/dist/internal/deferred-channel-session.d.ts.map +1 -1
- package/dist/internal/deferred-channel-session.js +6 -4
- package/dist/internal/deploy-client.d.ts +5 -0
- package/dist/internal/deploy-client.d.ts.map +1 -1
- package/dist/internal/deploy-client.js +3 -3
- package/dist/internal/deploy-manifest.js +2 -2
- package/dist/internal/describe-error.d.ts +2 -0
- package/dist/internal/describe-error.d.ts.map +1 -1
- package/dist/internal/describe-error.js +2 -0
- package/dist/internal/discovery/agent.d.ts.map +1 -1
- package/dist/internal/discovery/agent.js +29 -9
- package/dist/internal/discovery/context.d.ts.map +1 -1
- package/dist/internal/discovery/context.js +1 -2
- package/dist/internal/discovery/cursor-plugin.js +8 -8
- package/dist/internal/discovery/extensions.js +15 -8
- package/dist/internal/discovery/info.d.ts +2 -2
- package/dist/internal/discovery/info.d.ts.map +1 -1
- package/dist/internal/discovery/info.js +6 -9
- package/dist/internal/discovery/instrumentation.d.ts +10 -0
- package/dist/internal/discovery/instrumentation.d.ts.map +1 -0
- package/dist/internal/discovery/instrumentation.js +29 -0
- package/dist/internal/discovery/modules.d.ts.map +1 -1
- package/dist/internal/discovery/modules.js +4 -4
- package/dist/internal/discovery/project-public.d.ts +16 -0
- package/dist/internal/discovery/project-public.d.ts.map +1 -0
- package/dist/internal/discovery/project-public.js +54 -0
- package/dist/internal/discovery/project.d.ts.map +1 -1
- package/dist/internal/discovery/project.js +13 -3
- package/dist/internal/discovery/services.d.ts +5 -4
- package/dist/internal/discovery/services.d.ts.map +1 -1
- package/dist/internal/discovery/services.js +12 -6
- package/dist/internal/docs-site.d.ts +2 -5
- package/dist/internal/docs-site.d.ts.map +1 -1
- package/dist/internal/docs-site.js +2 -5
- package/dist/internal/event-mapper.d.ts.map +1 -1
- package/dist/internal/event-mapper.js +1 -0
- 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/nearest.d.ts +1 -0
- package/dist/internal/filesystem/nearest.d.ts.map +1 -1
- package/dist/internal/filesystem/nearest.js +1 -0
- package/dist/internal/filesystem/tools.d.ts.map +1 -1
- package/dist/internal/filesystem/tools.js +1 -1
- package/dist/internal/handleAgentServeTrigger.d.ts +10 -0
- package/dist/internal/handleAgentServeTrigger.d.ts.map +1 -1
- package/dist/internal/handleAgentServeTrigger.js +3 -0
- package/dist/internal/hmac-secret-values.d.ts +1 -1
- package/dist/internal/hmac-secret-values.d.ts.map +1 -1
- package/dist/internal/host-otel.d.ts +1 -1
- package/dist/internal/host-otel.d.ts.map +1 -1
- package/dist/internal/host-otel.js +5 -0
- package/dist/internal/hosted-delivery.d.ts.map +1 -1
- package/dist/internal/hosted-delivery.js +6 -2
- package/dist/internal/http-channel.d.ts.map +1 -1
- package/dist/internal/http-channel.js +1 -0
- package/dist/internal/ids.d.ts +8 -0
- package/dist/internal/ids.d.ts.map +1 -1
- package/dist/internal/ids.js +20 -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 +2 -2
- package/dist/internal/interview/question.d.ts.map +1 -1
- package/dist/internal/interview/question.js +2 -2
- package/dist/internal/json-schema.d.ts.map +1 -1
- package/dist/internal/json-schema.js +3 -7
- package/dist/internal/mcp-endpoint.d.ts +16 -4
- package/dist/internal/mcp-endpoint.d.ts.map +1 -1
- package/dist/internal/mcp-endpoint.js +18 -6
- package/dist/internal/mcp-host.d.ts +9 -0
- package/dist/internal/mcp-host.d.ts.map +1 -1
- package/dist/internal/mcp-host.js +15 -0
- package/dist/internal/otel/collector.d.ts +5 -0
- package/dist/internal/otel/collector.d.ts.map +1 -1
- package/dist/internal/otel/collector.js +24 -5
- package/dist/internal/otel/config.d.ts +31 -21
- package/dist/internal/otel/config.d.ts.map +1 -1
- package/dist/internal/otel/config.js +121 -140
- package/dist/internal/otel/conversation-span-processor.d.ts +9 -0
- package/dist/internal/otel/conversation-span-processor.d.ts.map +1 -0
- package/dist/internal/otel/conversation-span-processor.js +34 -0
- package/dist/internal/otel/customer.d.ts +52 -0
- package/dist/internal/otel/customer.d.ts.map +1 -0
- package/dist/internal/otel/customer.js +727 -0
- package/dist/internal/otel/runtime.d.ts +12 -16
- package/dist/internal/otel/runtime.d.ts.map +1 -1
- package/dist/internal/otel/runtime.js +30 -234
- package/dist/internal/otel-env.d.ts +6 -0
- package/dist/internal/otel-env.d.ts.map +1 -0
- package/dist/internal/otel-env.js +5 -0
- package/dist/internal/reminder-runner.d.ts +9 -4
- package/dist/internal/reminder-runner.d.ts.map +1 -1
- package/dist/internal/reminder-runner.js +12 -10
- package/dist/internal/reminder-schedule.d.ts +1 -0
- package/dist/internal/reminder-schedule.d.ts.map +1 -1
- package/dist/internal/reminder-schedule.js +1 -0
- package/dist/internal/sdk-runner.d.ts +8 -0
- package/dist/internal/sdk-runner.d.ts.map +1 -1
- package/dist/internal/sdk-runner.js +190 -14
- package/dist/internal/server.d.ts +4 -1
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +25 -24
- package/dist/internal/session-engine.d.ts +35 -3
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +213 -41
- 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 +2 -2
- package/dist/internal/update-check.d.ts.map +1 -1
- package/dist/internal/update-check.js +3 -3
- package/dist/internal/workspace.d.ts +10 -0
- package/dist/internal/workspace.d.ts.map +1 -1
- package/dist/internal/workspace.js +47 -1
- package/dist/internal/zod3-datetime.d.ts +12 -0
- package/dist/internal/zod3-datetime.d.ts.map +1 -0
- package/dist/internal/zod3-datetime.js +17 -0
- package/dist/otel-public.d.ts +2 -3
- package/dist/otel-public.d.ts.map +1 -1
- package/dist/otel-public.js +2 -2
- package/dist/otel.d.ts +3 -102
- package/dist/otel.d.ts.map +1 -1
- package/dist/otel.js +61 -97
- package/dist/playground/assets/cursor-icons-16-DfKNljMZ.woff2 +0 -0
- package/dist/playground/assets/index-B3_YohwW.js +62 -0
- package/dist/playground/assets/index-Cn3-adsJ.css +1 -0
- package/dist/playground/index.html +2 -2
- package/dist/public-deprecated.d.ts +36 -0
- package/dist/public-deprecated.d.ts.map +1 -0
- package/dist/public-deprecated.js +39 -0
- package/dist/tools.d.ts +3 -3
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +1 -1
- package/dist/types.d.ts +262 -97
- package/dist/types.d.ts.map +1 -1
- package/docs/changelog.md +119 -0
- package/docs/guides/hooks.md +7 -3
- package/docs/guides/mcp-oauth.md +12 -0
- package/docs/guides/opentelemetry.md +149 -184
- package/docs/guides/slack.md +41 -0
- package/docs/reference/agent-config.md +30 -1
- package/docs/reference/channels.md +5 -1
- package/docs/reference/hooks.md +10 -5
- package/docs/reference/sessions.md +46 -1
- package/docs/reference/tools.md +3 -3
- package/package.json +35 -8
- package/schemas/grokbot-answers.schema.json +11 -0
- package/skills/framework-map/SKILL.md +2 -1
- package/skills/otel/SKILL.md +28 -48
- package/templates/code-wiki/evals/wiki.eval.ts +2 -2
- package/dist/docs/assets/chunks/@localSearchIndexroot.oGqZumnJ.js +0 -1
- package/dist/docs/assets/chunks/channel.Dt4aweTm.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.DGUHZs6j.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.DGUHZs6j.js +0 -1
- package/dist/docs/assets/chunks/clone.DWf3k0Z0.js +0 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.C0571l4D.js +0 -1
- package/dist/docs/assets/guides_opentelemetry.md.DBQtp7_V.js +0 -45
- package/dist/docs/assets/guides_opentelemetry.md.DBQtp7_V.lean.js +0 -1
- package/dist/docs/assets/reference_sessions.md.C8FXuGwk.js +0 -1
- package/dist/docs/assets/reference_sessions.md.C8FXuGwk.lean.js +0 -1
- package/dist/playground/assets/cursor-icons-16-DmHBTm1-.woff2 +0 -0
- package/dist/playground/assets/index-BdMwybMt.css +0 -1
- package/dist/playground/assets/index-CHk6O92d.js +0 -62
- package/templates/grokbot-agents/.gitignore +0 -4
- package/templates/security-help/.gitignore +0 -4
- /package/dist/docs/assets/{guides_hooks.md.Bfj0pK91.lean.js → guides_hooks.md.B2XfGX50.lean.js} +0 -0
- /package/dist/docs/assets/{reference_channels.md.Bxaa020x.lean.js → reference_channels.md.CNNIS6K7.lean.js} +0 -0
- /package/dist/docs/assets/{reference_schedules.md.03Ryy9ca.lean.js → reference_schedules.md.BqWnJES4.lean.js} +0 -0
- /package/dist/docs/assets/{reference_skills.md.C2GWh7g8.lean.js → reference_skills.md.Ckddg6KX.lean.js} +0 -0
- /package/dist/docs/assets/{reference_tools.md.-6pypsWt.lean.js → reference_tools.md.Bo0UfT0a.lean.js} +0 -0
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Shared OpenTelemetry types and the helpers the bake-time providers use.
|
|
3
|
+
* Export itself lives in `customer.ts`.
|
|
3
4
|
*/
|
|
4
5
|
import { type Histogram, type Meter, type Tracer } from "@opentelemetry/api";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
6
|
+
import type { Logger as OtelLogger } from "@opentelemetry/api-logs";
|
|
7
|
+
import { AggregationTemporalityPreference } from "@opentelemetry/exporter-metrics-otlp-http";
|
|
8
|
+
import type { AggregationTemporality, InstrumentType } from "@opentelemetry/sdk-metrics";
|
|
9
|
+
import type { MetricsTemporality, ResolvedOtelConfig, ResolvedOtelMetrics } from "./config.js";
|
|
7
10
|
/**
|
|
8
11
|
* Hosted v2 pods may be frozen or destroyed as soon as the HTTP reply
|
|
9
12
|
* lands. Bound the exporter wait so a slow collector cannot hold the
|
|
@@ -13,7 +16,6 @@ export declare const OTEL_FORCE_FLUSH_TIMEOUT_MS = 1000;
|
|
|
13
16
|
export interface OtelRuntime {
|
|
14
17
|
config: ResolvedOtelConfig;
|
|
15
18
|
tracer: Tracer;
|
|
16
|
-
/** Absent until the first config with an exporter. Then it stays. */
|
|
17
19
|
meter: Meter | undefined;
|
|
18
20
|
logger: OtelLogger | undefined;
|
|
19
21
|
httpDuration: Histogram | undefined;
|
|
@@ -29,17 +31,11 @@ export interface OtelRuntimeHandle {
|
|
|
29
31
|
*/
|
|
30
32
|
reload(): void;
|
|
31
33
|
}
|
|
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;
|
|
42
|
-
export declare function forceFlushOtelRuntime(runtime: OtelRuntime | undefined): Promise<void>;
|
|
43
|
-
export declare function shutdownOtelRuntime(runtime: OtelRuntime | undefined): Promise<void>;
|
|
44
34
|
export declare function raceOtelForceFlush(work: Promise<unknown>, log: (line: string) => void, timeoutMs?: number): Promise<void>;
|
|
35
|
+
export declare function installOtelDiagLogger(log: (line: string) => void): void;
|
|
36
|
+
export declare function warnEgress(config: ResolvedOtelConfig, egressDomains: readonly string[] | undefined, log: (line: string) => void): void;
|
|
37
|
+
export declare function metricTemporalityPreference(metricsConfig: ResolvedOtelMetrics, log: (line: string) => void): AggregationTemporalityPreference;
|
|
38
|
+
export declare function metricTemporalitySelector(temporality: MetricsTemporality): (instrumentType: InstrumentType) => AggregationTemporality;
|
|
39
|
+
/** True when a non-noop TracerProvider already owns the process. */
|
|
40
|
+
export declare function hasRealTracerProvider(): boolean;
|
|
45
41
|
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/internal/otel/runtime.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/internal/otel/runtime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,MAAM,EAIZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EACL,gCAAgC,EAIjC,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEzF,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE/F;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,OAAQ,CAAC;AAEjD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,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,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;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAWvE;AAED,wBAAgB,UAAU,CACxB,MAAM,EAAE,kBAAkB,EAC1B,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAC5C,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC1B,IAAI,CAeN;AAED,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,mBAAmB,EAClC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC1B,gCAAgC,CAOlC;AAED,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,kBAAkB,GAC9B,CAAC,cAAc,EAAE,cAAc,KAAK,sBAAsB,CAa5D;AAED,oEAAoE;AACpE,wBAAgB,qBAAqB,IAAI,OAAO,CAM/C"}
|
|
@@ -1,104 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Shared OpenTelemetry types and the helpers the bake-time providers use.
|
|
3
|
+
* Export itself lives in `customer.ts`.
|
|
3
4
|
*/
|
|
4
|
-
import { DiagLogLevel, diag,
|
|
5
|
-
import {
|
|
6
|
-
import { OTLPLogExporter as OTLPLogExporterHttp } from "@opentelemetry/exporter-logs-otlp-http";
|
|
7
|
-
import { OTLPLogExporter as OTLPLogExporterProto } from "@opentelemetry/exporter-logs-otlp-proto";
|
|
8
|
-
import { AggregationTemporalityPreference, OTLPMetricExporter as OTLPMetricExporterHttp, } from "@opentelemetry/exporter-metrics-otlp-http";
|
|
9
|
-
import { OTLPMetricExporter as OTLPMetricExporterProto } from "@opentelemetry/exporter-metrics-otlp-proto";
|
|
10
|
-
import { OTLPTraceExporter as OTLPTraceExporterHttp } from "@opentelemetry/exporter-trace-otlp-http";
|
|
11
|
-
import { OTLPTraceExporter as OTLPTraceExporterProto } from "@opentelemetry/exporter-trace-otlp-proto";
|
|
12
|
-
import { resourceFromAttributes } from "@opentelemetry/resources";
|
|
13
|
-
import { BatchLogRecordProcessor, LoggerProvider, } from "@opentelemetry/sdk-logs";
|
|
14
|
-
import { MeterProvider, PeriodicExportingMetricReader, } from "@opentelemetry/sdk-metrics";
|
|
15
|
-
import { BatchSpanProcessor, NodeTracerProvider, ParentBasedSampler, TraceIdRatioBasedSampler, } from "@opentelemetry/sdk-trace-node";
|
|
16
|
-
import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION } from "@opentelemetry/semantic-conventions";
|
|
17
|
-
import { installOutboundFetchInstrumentation, } from "../../otel.js";
|
|
5
|
+
import { DiagLogLevel, diag, trace, } from "@opentelemetry/api";
|
|
6
|
+
import { AggregationTemporalityPreference, CumulativeTemporalitySelector, DeltaTemporalitySelector, LowMemoryTemporalitySelector, } from "@opentelemetry/exporter-metrics-otlp-http";
|
|
18
7
|
import { egressAllowsHost } from "../hosting.js";
|
|
19
|
-
import { disabledOtelConfig, exportersForSignal, stableJson, } from "./config.js";
|
|
20
|
-
import { ensureW3cPropagator } from "./propagation.js";
|
|
21
|
-
const INSTRUMENTATION = "agent_sdk";
|
|
22
8
|
/**
|
|
23
9
|
* Hosted v2 pods may be frozen or destroyed as soon as the HTTP reply
|
|
24
10
|
* lands. Bound the exporter wait so a slow collector cannot hold the
|
|
25
11
|
* delivery (OTLP BatchSpanProcessor defaults to 30s).
|
|
26
12
|
*/
|
|
27
13
|
export const OTEL_FORCE_FLUSH_TIMEOUT_MS = 1_000;
|
|
28
|
-
/**
|
|
29
|
-
* BDK builds the providers from the first config that has an exporter. After
|
|
30
|
-
* that, only the headers change: exporters read them on each export. A change
|
|
31
|
-
* to any other setting logs a warning to redeploy.
|
|
32
|
-
*/
|
|
33
|
-
export function createOtelRuntime(resolve, log, options = {}) {
|
|
34
|
-
let built;
|
|
35
|
-
let latest = disabledOtelConfig();
|
|
36
|
-
let started = false;
|
|
37
|
-
let warnedKey;
|
|
38
|
-
const runtime = {
|
|
39
|
-
config: disabledOtelConfig(),
|
|
40
|
-
tracer: noopTracer(),
|
|
41
|
-
meter: undefined,
|
|
42
|
-
logger: undefined,
|
|
43
|
-
httpDuration: undefined,
|
|
44
|
-
forceFlush: () => raceOtelForceFlush(Promise.allSettled(all(built?.providers).map((p) => p.forceFlush())), log),
|
|
45
|
-
shutdown: async () => {
|
|
46
|
-
await Promise.allSettled(all(built?.providers).map((p) => p.shutdown()));
|
|
47
|
-
},
|
|
48
|
-
};
|
|
49
|
-
// Exporters read headers from the latest config on each export. The rest
|
|
50
|
-
// of `runtime.config` stays as it was when the providers were built.
|
|
51
|
-
const read = () => latest;
|
|
52
|
-
const apply = (config) => {
|
|
53
|
-
if (config.enabled && !started) {
|
|
54
|
-
started = true;
|
|
55
|
-
startSdk(log);
|
|
56
|
-
}
|
|
57
|
-
if (config.traces !== false) {
|
|
58
|
-
installOutboundFetchInstrumentation();
|
|
59
|
-
}
|
|
60
|
-
const key = settingsKey(config);
|
|
61
|
-
if (built !== undefined) {
|
|
62
|
-
// A new URL, protocol, or signal list does not match the exporters
|
|
63
|
-
// already built. Leave `latest` so those exporters still find their headers.
|
|
64
|
-
if (key === built.key) {
|
|
65
|
-
latest = config;
|
|
66
|
-
}
|
|
67
|
-
else if (key !== warnedKey) {
|
|
68
|
-
warnedKey = key;
|
|
69
|
-
log("[bdk:otel] only exporter headers change after the first export; redeploy to apply the new OTel settings");
|
|
70
|
-
}
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
latest = config;
|
|
74
|
-
runtime.config = config;
|
|
75
|
-
if (config.exporters.length > 0) {
|
|
76
|
-
built = { key, providers: buildProviders(config, read, log) };
|
|
77
|
-
warnEgress(config, options.egressDomains, log);
|
|
78
|
-
log(`[bdk] otel enabled service=${config.serviceName} exporters=${config.exporters.length} traces=${config.traces !== false} metrics=${config.metrics !== false} logs=${config.logs !== false}`);
|
|
79
|
-
}
|
|
80
|
-
bindInstruments(runtime, config, built?.providers);
|
|
81
|
-
};
|
|
82
|
-
return {
|
|
83
|
-
runtime,
|
|
84
|
-
// The authored factory runs inside hosted delivery; telemetry must not
|
|
85
|
-
// fail the request.
|
|
86
|
-
reload: () => {
|
|
87
|
-
try {
|
|
88
|
-
apply(resolve());
|
|
89
|
-
}
|
|
90
|
-
catch (error) {
|
|
91
|
-
log(`[bdk:otel] error: OTel config failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
export async function forceFlushOtelRuntime(runtime) {
|
|
97
|
-
await runtime?.forceFlush();
|
|
98
|
-
}
|
|
99
|
-
export async function shutdownOtelRuntime(runtime) {
|
|
100
|
-
await runtime?.shutdown();
|
|
101
|
-
}
|
|
102
14
|
export async function raceOtelForceFlush(work, log, timeoutMs = OTEL_FORCE_FLUSH_TIMEOUT_MS) {
|
|
103
15
|
let timer;
|
|
104
16
|
const timeout = new Promise((resolve) => {
|
|
@@ -115,12 +27,7 @@ export async function raceOtelForceFlush(work, log, timeoutMs = OTEL_FORCE_FLUSH
|
|
|
115
27
|
log(`[bdk:otel] forceFlush exceeded ${timeoutMs}ms; continuing`);
|
|
116
28
|
}
|
|
117
29
|
}
|
|
118
|
-
function
|
|
119
|
-
return providers === undefined
|
|
120
|
-
? []
|
|
121
|
-
: [providers.traces, providers.metrics, providers.logs].filter((provider) => provider !== undefined);
|
|
122
|
-
}
|
|
123
|
-
function startSdk(log) {
|
|
30
|
+
export function installOtelDiagLogger(log) {
|
|
124
31
|
diag.setLogger({
|
|
125
32
|
verbose: (message) => log(`[bdk:otel] ${message}`),
|
|
126
33
|
debug: (message) => log(`[bdk:otel] ${message}`),
|
|
@@ -128,12 +35,8 @@ function startSdk(log) {
|
|
|
128
35
|
warn: (message) => log(`[bdk:otel] warn: ${message}`),
|
|
129
36
|
error: (message) => log(`[bdk:otel] error: ${message}`),
|
|
130
37
|
}, DiagLogLevel.ERROR);
|
|
131
|
-
ensureW3cPropagator();
|
|
132
|
-
if (process.env.OTEL_EXPORTER_OTLP_PROTOCOL?.trim().toLowerCase() === "grpc") {
|
|
133
|
-
log("[bdk:otel] OTEL_EXPORTER_OTLP_PROTOCOL=grpc is unsupported; using http/protobuf");
|
|
134
|
-
}
|
|
135
38
|
}
|
|
136
|
-
function warnEgress(config, egressDomains, log) {
|
|
39
|
+
export function warnEgress(config, egressDomains, log) {
|
|
137
40
|
if (egressDomains === undefined) {
|
|
138
41
|
return;
|
|
139
42
|
}
|
|
@@ -147,150 +50,43 @@ function warnEgress(config, egressDomains, log) {
|
|
|
147
50
|
}
|
|
148
51
|
}
|
|
149
52
|
}
|
|
150
|
-
function
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
const meter = config.metrics === false
|
|
156
|
-
? undefined
|
|
157
|
-
: (providers?.metrics?.getMeter(INSTRUMENTATION) ?? metrics.getMeter(INSTRUMENTATION));
|
|
158
|
-
runtime.meter = meter;
|
|
159
|
-
runtime.logger =
|
|
160
|
-
config.logs === false
|
|
161
|
-
? undefined
|
|
162
|
-
: (providers?.logs?.getLogger(INSTRUMENTATION) ?? logs.getLogger(INSTRUMENTATION));
|
|
163
|
-
runtime.httpDuration =
|
|
164
|
-
meter === undefined
|
|
165
|
-
? undefined
|
|
166
|
-
: meter.createHistogram("agent_sdk.http.duration", {
|
|
167
|
-
description: "HTTP request duration",
|
|
168
|
-
unit: "ms",
|
|
169
|
-
});
|
|
53
|
+
export function metricTemporalityPreference(metricsConfig, log) {
|
|
54
|
+
if (metricsConfig.unrecognizedTemporality !== undefined) {
|
|
55
|
+
log(`[bdk:otel] warn: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE='${metricsConfig.unrecognizedTemporality}' is not cumulative, delta, or lowmemory; using delta`);
|
|
56
|
+
}
|
|
57
|
+
return aggregationTemporalityPreference(metricsConfig.temporality);
|
|
170
58
|
}
|
|
171
|
-
function
|
|
59
|
+
export function metricTemporalitySelector(temporality) {
|
|
172
60
|
switch (temporality) {
|
|
173
61
|
case "cumulative":
|
|
174
|
-
return
|
|
175
|
-
case "delta":
|
|
176
|
-
return AggregationTemporalityPreference.DELTA;
|
|
62
|
+
return CumulativeTemporalitySelector;
|
|
177
63
|
case "lowmemory":
|
|
178
|
-
return
|
|
64
|
+
return LowMemoryTemporalitySelector;
|
|
65
|
+
case "delta":
|
|
66
|
+
return DeltaTemporalitySelector;
|
|
179
67
|
default: {
|
|
180
68
|
const exhaustive = temporality;
|
|
181
69
|
return exhaustive;
|
|
182
70
|
}
|
|
183
71
|
}
|
|
184
72
|
}
|
|
185
|
-
function metricTemporalityPreference(metrics, log) {
|
|
186
|
-
if (metrics.unrecognizedTemporality !== undefined) {
|
|
187
|
-
log(`[bdk:otel] warn: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE='${metrics.unrecognizedTemporality}' is not cumulative, delta, or lowmemory; using delta`);
|
|
188
|
-
}
|
|
189
|
-
return aggregationTemporalityPreference(metrics.temporality);
|
|
190
|
-
}
|
|
191
|
-
function buildProviders(config, read, log) {
|
|
192
|
-
const resource = buildResource(config);
|
|
193
|
-
const exportersFor = (signal, on, create) => on
|
|
194
|
-
? exportersForSignal(config.exporters, signal).map((exporter) => create(isProtobuf(exporter), {
|
|
195
|
-
url: signalUrl(exporter.url, signal),
|
|
196
|
-
headers: headersAt(read, config.exporters.indexOf(exporter)),
|
|
197
|
-
}))
|
|
198
|
-
: [];
|
|
199
|
-
const spanExporters = exportersFor("traces", config.traces !== false, (protobuf, options) => protobuf ? new OTLPTraceExporterProto(options) : new OTLPTraceExporterHttp(options));
|
|
200
|
-
const temporalityPreference = config.metrics === false
|
|
201
|
-
? AggregationTemporalityPreference.DELTA
|
|
202
|
-
: metricTemporalityPreference(config.metrics, log);
|
|
203
|
-
const metricExporters = exportersFor("metrics", config.metrics !== false, (protobuf, options) => {
|
|
204
|
-
const opts = { ...options, temporalityPreference };
|
|
205
|
-
return protobuf ? new OTLPMetricExporterProto(opts) : new OTLPMetricExporterHttp(opts);
|
|
206
|
-
});
|
|
207
|
-
const logExporters = exportersFor("logs", config.logs !== false, (protobuf, options) => protobuf ? new OTLPLogExporterProto(options) : new OTLPLogExporterHttp(options));
|
|
208
|
-
return {
|
|
209
|
-
traces: spanExporters.length === 0 ? undefined : traceProvider(config, resource, spanExporters, log),
|
|
210
|
-
metrics: metricExporters.length === 0
|
|
211
|
-
? undefined
|
|
212
|
-
: meterProvider(config, resource, metricExporters, log),
|
|
213
|
-
logs: logExporters.length === 0 ? undefined : loggerProvider(resource, logExporters, log),
|
|
214
|
-
};
|
|
215
|
-
}
|
|
216
|
-
function traceProvider(config, resource, exporters, log) {
|
|
217
|
-
const sampleRatio = config.traces === false ? undefined : config.traces.sampleRatio;
|
|
218
|
-
const provider = new NodeTracerProvider({
|
|
219
|
-
resource,
|
|
220
|
-
spanProcessors: exporters.map((exporter) => new BatchSpanProcessor(exporter)),
|
|
221
|
-
sampler: new ParentBasedSampler({ root: new TraceIdRatioBasedSampler(sampleRatio ?? 1) }),
|
|
222
|
-
});
|
|
223
|
-
if (hasRealTracerProvider()) {
|
|
224
|
-
log("[bdk:otel] TracerProvider already registered; BDK traces export on a local provider");
|
|
225
|
-
}
|
|
226
|
-
else {
|
|
227
|
-
provider.register();
|
|
228
|
-
}
|
|
229
|
-
return provider;
|
|
230
|
-
}
|
|
231
|
-
function meterProvider(config, resource, exporters, log) {
|
|
232
|
-
const exportIntervalMillis = (config.metrics === false ? undefined : config.metrics.exportIntervalMillis) ?? 10_000;
|
|
233
|
-
const provider = new MeterProvider({
|
|
234
|
-
resource,
|
|
235
|
-
readers: exporters.map((exporter) => new PeriodicExportingMetricReader({ exporter, exportIntervalMillis })),
|
|
236
|
-
});
|
|
237
|
-
if (!metrics.setGlobalMeterProvider(provider)) {
|
|
238
|
-
log("[bdk:otel] MeterProvider already registered; BDK metrics export on a local provider");
|
|
239
|
-
}
|
|
240
|
-
return provider;
|
|
241
|
-
}
|
|
242
|
-
function loggerProvider(resource, exporters, log) {
|
|
243
|
-
const provider = new LoggerProvider({
|
|
244
|
-
resource,
|
|
245
|
-
processors: exporters.map((exporter) => new BatchLogRecordProcessor(exporter)),
|
|
246
|
-
});
|
|
247
|
-
if (logs.setGlobalLoggerProvider(provider) !== provider) {
|
|
248
|
-
log("[bdk:otel] LoggerProvider already registered; BDK logs export on a local provider");
|
|
249
|
-
}
|
|
250
|
-
return provider;
|
|
251
|
-
}
|
|
252
|
-
/** Every setting the providers are built from: the config without the headers. */
|
|
253
|
-
function settingsKey(config) {
|
|
254
|
-
return stableJson({ ...config, exporters: config.exporters.map(exporterIdentity) });
|
|
255
|
-
}
|
|
256
|
-
function exporterIdentity(exporter) {
|
|
257
|
-
return [
|
|
258
|
-
exporter.url,
|
|
259
|
-
exporter.protocol ?? "http/protobuf",
|
|
260
|
-
[...(exporter.signals ?? [])].sort().join("+"),
|
|
261
|
-
].join("|");
|
|
262
|
-
}
|
|
263
|
-
function headersAt(read, index) {
|
|
264
|
-
return async () => read().exporters[index]?.headers ?? {};
|
|
265
|
-
}
|
|
266
|
-
function noopTracer() {
|
|
267
|
-
return new ProxyTracerProvider().getTracer(INSTRUMENTATION);
|
|
268
|
-
}
|
|
269
|
-
function buildResource(config) {
|
|
270
|
-
// Align with Cursor enterprise wire resource attrs where they overlap so
|
|
271
|
-
// Agent SDK traces join org metrics/logs in the same collector.
|
|
272
|
-
const resourceAttrs = {
|
|
273
|
-
[ATTR_SERVICE_NAME]: config.serviceName,
|
|
274
|
-
"telemetry.sdk.language": "nodejs",
|
|
275
|
-
"cursor.surface": "unspecified",
|
|
276
|
-
"cursor.entrypoint": "sdk_ts",
|
|
277
|
-
"agent_sdk.framework": "@cursor/bdk",
|
|
278
|
-
...config.resourceAttributes,
|
|
279
|
-
};
|
|
280
|
-
if (config.serviceVersion !== undefined) {
|
|
281
|
-
resourceAttrs[ATTR_SERVICE_VERSION] = config.serviceVersion;
|
|
282
|
-
}
|
|
283
|
-
return resourceFromAttributes(resourceAttrs);
|
|
284
|
-
}
|
|
285
|
-
function signalUrl(base, signal) {
|
|
286
|
-
return `${base.replace(/\/$/, "")}/v1/${signal}`;
|
|
287
|
-
}
|
|
288
73
|
/** True when a non-noop TracerProvider already owns the process. */
|
|
289
|
-
function hasRealTracerProvider() {
|
|
74
|
+
export function hasRealTracerProvider() {
|
|
290
75
|
const provider = trace.getTracerProvider();
|
|
291
76
|
const delegate = provider.getDelegate?.();
|
|
292
77
|
return delegate !== undefined && delegate.constructor.name !== "NoopTracerProvider";
|
|
293
78
|
}
|
|
294
|
-
function
|
|
295
|
-
|
|
79
|
+
function aggregationTemporalityPreference(temporality) {
|
|
80
|
+
switch (temporality) {
|
|
81
|
+
case "cumulative":
|
|
82
|
+
return AggregationTemporalityPreference.CUMULATIVE;
|
|
83
|
+
case "delta":
|
|
84
|
+
return AggregationTemporalityPreference.DELTA;
|
|
85
|
+
case "lowmemory":
|
|
86
|
+
return AggregationTemporalityPreference.LOWMEMORY;
|
|
87
|
+
default: {
|
|
88
|
+
const exhaustive = temporality;
|
|
89
|
+
return exhaustive;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
296
92
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otel-env.d.ts","sourceRoot":"","sources":["../../src/internal/otel-env.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -8,8 +8,12 @@ import type { PlatformTimers } from "./platform-timers.js";
|
|
|
8
8
|
import { type ReminderControlPlane, type ReminderExecutionOutcome, type ReminderFireDescriptor } from "./reminder-control-plane-protocol.js";
|
|
9
9
|
import { type SessionEngine } from "./session-engine.js";
|
|
10
10
|
export { ReminderValidationError } from "./reminder-schedule.js";
|
|
11
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* Max UTF-8 byte length of `JSON.stringify(args)` on named-handler create.
|
|
13
|
+
* @deprecated Deprecated on the package root.
|
|
14
|
+
*/
|
|
12
15
|
export declare const REMINDER_ARGS_MAX_BYTES: number;
|
|
16
|
+
/** @deprecated Deprecated on the package root. */
|
|
13
17
|
export declare class UnknownReminderError extends Error {
|
|
14
18
|
readonly availableReminderIds: string[];
|
|
15
19
|
constructor(reminderId: string, availableReminderIds: string[]);
|
|
@@ -71,6 +75,7 @@ export declare const REMINDER_FIRE_OUTCOME_METRIC = "agent_sdk.reminder.fire_out
|
|
|
71
75
|
/**
|
|
72
76
|
* Server wiring for {@link ReminderRunnerOptions.rejectAnonymousHandlers}:
|
|
73
77
|
* architecture v2 always rejects anonymous run/until (local or hosted).
|
|
78
|
+
* @deprecated Deprecated on the package root.
|
|
74
79
|
*/
|
|
75
80
|
export declare function rejectAnonymousReminderHandlers(options: {
|
|
76
81
|
noControlPlane?: boolean;
|
|
@@ -163,9 +168,9 @@ export declare class ReminderRunner {
|
|
|
163
168
|
private runFire;
|
|
164
169
|
/**
|
|
165
170
|
* One structured line and one `agent_sdk.reminder.fire_outcome` count per
|
|
166
|
-
* fire.
|
|
167
|
-
*
|
|
168
|
-
*
|
|
171
|
+
* fire. The counter is created on each record; the SDK reuses the
|
|
172
|
+
* instrument. A fire that ends in `stop` stays visible beside the control
|
|
173
|
+
* plane's `timed_work.fire` count.
|
|
169
174
|
*/
|
|
170
175
|
private recordFireOutcome;
|
|
171
176
|
private recordFromDescriptor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reminder-runner.d.ts","sourceRoot":"","sources":["../../src/internal/reminder-runner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"reminder-runner.d.ts","sourceRoot":"","sources":["../../src/internal/reminder-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* until as function XOR prompt.
|
|
5
5
|
*/
|
|
6
6
|
import { randomBytes } from "node:crypto";
|
|
7
|
+
import { metrics } from "@opentelemetry/api";
|
|
7
8
|
import { channelContinuationIdentity, httpContinuationIdentity } from "./continuation-channel.js";
|
|
8
9
|
import { continuationSource, isOneShotContinuationKey } from "./continuation-identity.js";
|
|
9
10
|
import { NAME_PATTERN } from "./discovery/names.js";
|
|
@@ -13,8 +14,12 @@ import { defaultBusyPolicy, MAX_TIMER_MS, nextCronFireMs, ReminderValidationErro
|
|
|
13
14
|
import { APP_AUTH } from "./schedule-runner.js";
|
|
14
15
|
import { HTTP_CHANNEL_ID, SessionAuthError, SessionBusyError, } from "./session-engine.js";
|
|
15
16
|
export { ReminderValidationError } from "./reminder-schedule.js";
|
|
16
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* Max UTF-8 byte length of `JSON.stringify(args)` on named-handler create.
|
|
19
|
+
* @deprecated Deprecated on the package root.
|
|
20
|
+
*/
|
|
17
21
|
export const REMINDER_ARGS_MAX_BYTES = 32 * 1024;
|
|
22
|
+
/** @deprecated Deprecated on the package root. */
|
|
18
23
|
export class UnknownReminderError extends Error {
|
|
19
24
|
constructor(reminderId, availableReminderIds) {
|
|
20
25
|
super(`Unknown reminder "${reminderId}"`);
|
|
@@ -32,6 +37,7 @@ export const REMINDER_FIRE_OUTCOME_METRIC = "agent_sdk.reminder.fire_outcome";
|
|
|
32
37
|
/**
|
|
33
38
|
* Server wiring for {@link ReminderRunnerOptions.rejectAnonymousHandlers}:
|
|
34
39
|
* architecture v2 always rejects anonymous run/until (local or hosted).
|
|
40
|
+
* @deprecated Deprecated on the package root.
|
|
35
41
|
*/
|
|
36
42
|
export function rejectAnonymousReminderHandlers(options) {
|
|
37
43
|
return options.architecture === "v2";
|
|
@@ -685,9 +691,9 @@ export class ReminderRunner {
|
|
|
685
691
|
}
|
|
686
692
|
/**
|
|
687
693
|
* One structured line and one `agent_sdk.reminder.fire_outcome` count per
|
|
688
|
-
* fire.
|
|
689
|
-
*
|
|
690
|
-
*
|
|
694
|
+
* fire. The counter is created on each record; the SDK reuses the
|
|
695
|
+
* instrument. A fire that ends in `stop` stays visible beside the control
|
|
696
|
+
* plane's `timed_work.fire` count.
|
|
691
697
|
*/
|
|
692
698
|
recordFireOutcome(record, fire) {
|
|
693
699
|
this.logger(`[bdk] reminder fire_outcome kind=${fire.kind} reason=${fire.reason}` +
|
|
@@ -695,16 +701,12 @@ export class ReminderRunner {
|
|
|
695
701
|
` channelId=${record.channelId} fireCount=${record.fireCount}` +
|
|
696
702
|
(fire.turnStatus === undefined ? "" : ` turn=${fire.turnStatus}`) +
|
|
697
703
|
(fire.detail === undefined ? "" : ` detail=${JSON.stringify(fire.detail)}`));
|
|
698
|
-
// Test doubles may omit `host.otel`; the metric is best-effort.
|
|
699
|
-
const otel = this.engine.host.otel;
|
|
700
|
-
if (otel === undefined) {
|
|
701
|
-
return;
|
|
702
|
-
}
|
|
703
704
|
try {
|
|
704
|
-
|
|
705
|
+
metrics.getMeter("bdk").createCounter(REMINDER_FIRE_OUTCOME_METRIC).add(1, {
|
|
705
706
|
kind: fire.kind,
|
|
706
707
|
reason: fire.reason,
|
|
707
708
|
purpose: record.purpose,
|
|
709
|
+
"agent_sdk.agent": this.engine.project.name,
|
|
708
710
|
});
|
|
709
711
|
}
|
|
710
712
|
catch (error) {
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Schedule resolution for reminders (`every` / `cron` / `delay` / `at`).
|
|
3
3
|
*/
|
|
4
4
|
import type { ReminderCreateInput, ReminderScheduleKind } from "../types.js";
|
|
5
|
+
/** @deprecated Deprecated on the package root. */
|
|
5
6
|
export declare class ReminderValidationError extends Error {
|
|
6
7
|
constructor(message: string);
|
|
7
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reminder-schedule.d.ts","sourceRoot":"","sources":["../../src/internal/reminder-schedule.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAI7E,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED,4EAA4E;AAC5E,eAAO,MAAM,YAAY,aAAgB,CAAC;AAE1C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EACnE,KAAK,GAAE,MAAmB,GACzB,gBAAgB,CAuDlB;AAED,iEAAiE;AACjE,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAQ1E;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,GAAG,YAAY,GAAG,iBAAiB,CAE9F"}
|
|
1
|
+
{"version":3,"file":"reminder-schedule.d.ts","sourceRoot":"","sources":["../../src/internal/reminder-schedule.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAI7E,kDAAkD;AAClD,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED,4EAA4E;AAC5E,eAAO,MAAM,YAAY,aAAgB,CAAC;AAE1C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EACnE,KAAK,GAAE,MAAmB,GACzB,gBAAgB,CAuDlB;AAED,iEAAiE;AACjE,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAQ1E;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,GAAG,YAAY,GAAG,iBAAiB,CAE9F"}
|
|
@@ -126,6 +126,7 @@ export declare class CursorSdkRunner implements AgentRunner {
|
|
|
126
126
|
private runTurnWithTransportRetry;
|
|
127
127
|
private logModelFallback;
|
|
128
128
|
private runTurnAttempt;
|
|
129
|
+
private runTurnOnAgent;
|
|
129
130
|
steer(request: {
|
|
130
131
|
sessionId: string;
|
|
131
132
|
text: string;
|
|
@@ -152,6 +153,11 @@ export declare class CursorSdkRunner implements AgentRunner {
|
|
|
152
153
|
private trackPersist;
|
|
153
154
|
dispose(): Promise<void>;
|
|
154
155
|
private getAgent;
|
|
156
|
+
/**
|
|
157
|
+
* Swept on each new turn rather than on a timer, so a process with no
|
|
158
|
+
* traffic (including a hibernated hosted one) never wakes to sweep.
|
|
159
|
+
*/
|
|
160
|
+
private evictIdleAgents;
|
|
155
161
|
/**
|
|
156
162
|
* Drop a cached handle and close it best-effort to release its transport
|
|
157
163
|
* and executor lease. Identity-checked so a turn that lost a race with a
|
|
@@ -173,6 +179,8 @@ export declare class CursorSdkRunner implements AgentRunner {
|
|
|
173
179
|
private buildLocalOptions;
|
|
174
180
|
private openAgent;
|
|
175
181
|
private openLocalAgent;
|
|
182
|
+
private resumeLocalAgent;
|
|
183
|
+
private openStoredLocalAgent;
|
|
176
184
|
private openCloudAgent;
|
|
177
185
|
private resolveStore;
|
|
178
186
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-runner.d.ts","sourceRoot":"","sources":["../../src/internal/sdk-runner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"sdk-runner.d.ts","sourceRoot":"","sources":["../../src/internal/sdk-runner.ts"],"names":[],"mappings":"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"}
|