@cursor/bdk 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/agent-serve.js +9 -1
- package/dist/channels/slack/attachments.d.ts +2 -1
- package/dist/channels/slack/attachments.d.ts.map +1 -1
- package/dist/channels/slack/attachments.js +19 -9
- package/dist/channels/slack/dispatch.d.ts.map +1 -1
- package/dist/channels/slack/dispatch.js +26 -24
- package/dist/channels/slack/thread-context.d.ts +21 -11
- package/dist/channels/slack/thread-context.d.ts.map +1 -1
- package/dist/channels/slack/thread-context.js +75 -27
- package/dist/docs/404.html +2 -2
- package/dist/docs/assets/{app.BOIHhrKi.js → app.4kQ8Db_q.js} +4 -4
- package/dist/docs/assets/chunks/@localSearchIndexroot.CvuAJ0My.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.D49zVZqM.js → VPLocalSearchBox.DY1RwB8Q.js} +1 -1
- package/dist/docs/assets/chunks/{arc.hmjb-sc4.js → arc.CxE_fSPK.js} +1 -1
- package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.CxEI1KqM.js → architectureDiagram-Q4EWVU46.CPX426ui.js} +1 -1
- package/dist/docs/assets/chunks/{baseUniq.DHHvBWoV.js → baseUniq.CB52JrKG.js} +1 -1
- package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.DnXW-3bu.js → blockDiagram-DXYQGD6D.J0cNaQCL.js} +1 -1
- package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.e-47O2jM.js → c4Diagram-AHTNJAMY.DJn3vEGT.js} +1 -1
- package/dist/docs/assets/chunks/channel.BoNycAoN.js +1 -0
- package/dist/docs/assets/chunks/{chunk-4BX2VUAB.3ry4pYXB.js → chunk-4BX2VUAB.Dao618F6.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-4TB4RGXK.DGIZFRx6.js → chunk-4TB4RGXK.QW8Rhjai.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-55IACEB6.DKBnqg9U.js → chunk-55IACEB6.DfRLLKF_.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-EDXVE4YY.BIU8Ue5k.js → chunk-EDXVE4YY.CIV2ApKQ.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-FMBD7UC4.DP-TFhjI.js → chunk-FMBD7UC4.BEheSuxp.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-OYMX7WX6.Ux0OYj5v.js → chunk-OYMX7WX6.CUN88ENB.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-QZHKN3VN.BzHMwYox.js → chunk-QZHKN3VN.CgqCs8b_.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-YZCP3GAM.D4OGAsSP.js → chunk-YZCP3GAM.iCH0nnTJ.js} +1 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.C4x07Gkj.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.C4x07Gkj.js +1 -0
- package/dist/docs/assets/chunks/clone.Db22cH_-.js +1 -0
- package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.Jq_7BUNx.js → cose-bilkent-S5V4N54A.BLcUxhWE.js} +1 -1
- package/dist/docs/assets/chunks/{dagre-KV5264BT.Di-skR2x.js → dagre-KV5264BT.Ep7LofOm.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-5BDNPKRD.DeREHIdH.js → diagram-5BDNPKRD.Bzf4GSQ4.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.C7Kcqxro.js → diagram-G4DWMVQ6.DD6Jh-eM.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-MMDJMWI5.BK3eohyo.js → diagram-MMDJMWI5.oOIl8bWd.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-TYMM5635.C6TyymXT.js → diagram-TYMM5635.DHs85Ade.js} +1 -1
- package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.DYGG-gGx.js → erDiagram-SMLLAGMA.BIb5ghCk.js} +1 -1
- package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.C9nBcSV4.js → flowDiagram-DWJPFMVM.DV4paY9k.js} +1 -1
- package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.wAg_ymsp.js → ganttDiagram-T4ZO3ILL.AyEKA6_v.js} +1 -1
- package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.B87j9Oeg.js → gitGraphDiagram-UUTBAWPF.BltiCDFo.js} +1 -1
- package/dist/docs/assets/chunks/{graph.CuFMj31w.js → graph.DzuEYGdC.js} +1 -1
- package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.P_mLGumP.js → infoDiagram-42DDH7IO.BV2l981J.js} +1 -1
- package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.DyuL_MsT.js → ishikawaDiagram-UXIWVN3A.BA4Izf-m.js} +1 -1
- package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.CtP09IoJ.js → journeyDiagram-VCZTEJTY.DjaFbFS3.js} +1 -1
- package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.BoeSYPZo.js → kanban-definition-6JOO6SKY.CfTFieDs.js} +1 -1
- package/dist/docs/assets/chunks/{layout.B0lMMtNo.js → layout.DzfWqTBV.js} +1 -1
- package/dist/docs/assets/chunks/{linear.HxRBiAFX.js → linear.BO6mpulV.js} +1 -1
- package/dist/docs/assets/chunks/{min.BGlFFHwS.js → min.BGgTadgT.js} +1 -1
- package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.JyLBD9M8.js → mindmap-definition-QFDTVHPH.DPuIXVWY.js} +1 -1
- package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.DnSmNZF8.js → pieDiagram-DEJITSTG.BOnl3bBg.js} +1 -1
- package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.CUCnbfCa.js → quadrantDiagram-34T5L4WZ.DNB6Ckdc.js} +1 -1
- package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.py0IVUn5.js → requirementDiagram-MS252O5E.D5-Qo7vb.js} +1 -1
- package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.Bkc-HWYp.js → sankeyDiagram-XADWPNL6.8t65cesf.js} +1 -1
- package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.Dqn8Mlv2.js → sequenceDiagram-FGHM5R23.CaG07BdS.js} +1 -1
- package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.JikkoQUU.js → stateDiagram-FHFEXIEX.TKOweTB6.js} +1 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.CuqmyQc4.js +1 -0
- package/dist/docs/assets/chunks/{theme.b6HQ6zG_.js → theme.Dx-JhpTB.js} +2 -2
- package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.BvpSXiBj.js → timeline-definition-GMOUNBTQ.fE53zQ2s.js} +1 -1
- package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.CU7MVnZx.js → vennDiagram-DHZGUBPP.DJsZZaJg.js} +1 -1
- package/dist/docs/assets/chunks/{wardley-RL74JXVD.BKwC4ctG.js → wardley-RL74JXVD.844kyrjl.js} +1 -1
- package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.BfaF6Uhe.js → wardleyDiagram-NUSXRM2D.CMZ-Ru_t.js} +1 -1
- package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.Bg5dcpj4.js → xychartDiagram-5P7HB3ND.XXrhBc7a.js} +1 -1
- package/dist/docs/assets/{deployment.md.BJ8i7Q6p.js → deployment.md.UhnJIMr-.js} +2 -2
- package/dist/docs/assets/{deployment.md.BJ8i7Q6p.lean.js → deployment.md.UhnJIMr-.lean.js} +1 -1
- package/dist/docs/assets/{guides_jev.md.BNDm14Gy.js → guides_jev.md.CRcgmjDb.js} +2 -2
- package/dist/docs/assets/{guides_jev.md.BNDm14Gy.lean.js → guides_jev.md.CRcgmjDb.lean.js} +1 -1
- package/dist/docs/assets/{reference_agent-config.md.DzGI777n.js → reference_agent-config.md.Cj5uBKp4.js} +1 -1
- package/dist/docs/assets/{reference_extensions.md.CPPrkWlJ.js → reference_extensions.md.pa2tN-e4.js} +4 -3
- package/dist/docs/assets/{reference_extensions.md.CPPrkWlJ.lean.js → reference_extensions.md.pa2tN-e4.lean.js} +1 -1
- package/dist/docs/building-with-agents.html +35 -35
- package/dist/docs/deployment.html +37 -37
- package/dist/docs/deployment.md +4 -1
- package/dist/docs/evals.html +35 -35
- package/dist/docs/guides/agent-to-agent.html +35 -35
- package/dist/docs/guides/bitbucket.html +35 -35
- package/dist/docs/guides/cloud-agents.html +35 -35
- package/dist/docs/guides/convert-automation.html +35 -35
- package/dist/docs/guides/github.html +35 -35
- package/dist/docs/guides/gitlab.html +35 -35
- package/dist/docs/guides/grokbot-agents.html +35 -35
- package/dist/docs/guides/hooks.html +35 -35
- package/dist/docs/guides/improve.html +35 -35
- package/dist/docs/guides/jev.html +37 -37
- package/dist/docs/guides/jev.md +7 -0
- package/dist/docs/guides/mcp-oauth.html +35 -35
- package/dist/docs/guides/opentelemetry.html +35 -35
- package/dist/docs/guides/slack.html +35 -35
- package/dist/docs/guides/webhooks.html +35 -35
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +35 -35
- package/dist/docs/index.html +35 -35
- package/dist/docs/llms-full.txt +25 -2
- package/dist/docs/quickstart.html +35 -35
- package/dist/docs/reference/agent-config.html +37 -37
- package/dist/docs/reference/agent-config.md +1 -1
- package/dist/docs/reference/artifacts.html +35 -35
- package/dist/docs/reference/channels.html +35 -35
- package/dist/docs/reference/cli.html +35 -35
- package/dist/docs/reference/connections.html +35 -35
- package/dist/docs/reference/evals.html +35 -35
- package/dist/docs/reference/extensions.html +39 -38
- package/dist/docs/reference/extensions.md +13 -0
- package/dist/docs/reference/hooks.html +35 -35
- package/dist/docs/reference/http-api.html +35 -35
- package/dist/docs/reference/instructions.html +35 -35
- package/dist/docs/reference/playground.html +35 -35
- package/dist/docs/reference/project-layout.html +35 -35
- package/dist/docs/reference/prompt.html +35 -35
- package/dist/docs/reference/schedules.html +35 -35
- package/dist/docs/reference/sessions.html +35 -35
- package/dist/docs/reference/skills.html +35 -35
- package/dist/docs/reference/subagents.html +35 -35
- package/dist/docs/reference/tools.html +35 -35
- package/dist/docs/templates/agentic-owners.html +35 -35
- package/dist/docs/templates/security-reviewer.html +35 -35
- package/dist/docs/templates/thermo-quality-review.html +35 -35
- package/dist/docs/templates/thermo-review.html +35 -35
- package/dist/docs/templates/triage.html +35 -35
- package/dist/docs/troubleshooting.html +35 -35
- package/dist/extensions/jev/extension.d.ts +3 -0
- package/dist/extensions/jev/extension.d.ts.map +1 -1
- package/dist/extensions/jev/extension.js +10 -1
- package/dist/extensions/jev/lib/evaluate.d.ts +4 -0
- package/dist/extensions/jev/lib/evaluate.d.ts.map +1 -1
- package/dist/extensions/jev/lib/evaluate.js +6 -2
- package/dist/extensions.d.ts +4 -2
- package/dist/extensions.d.ts.map +1 -1
- package/dist/extensions.js +5 -2
- package/dist/internal/cli-deploy.d.ts.map +1 -1
- package/dist/internal/cli-deploy.js +19 -5
- package/dist/internal/discovery/agent-config.d.ts +6 -5
- package/dist/internal/discovery/agent-config.d.ts.map +1 -1
- package/dist/internal/discovery/agent-config.js +29 -28
- package/dist/internal/discovery/agent.js +1 -1
- package/dist/internal/discovery/extensions.d.ts.map +1 -1
- package/dist/internal/discovery/extensions.js +12 -0
- package/dist/internal/hosting.d.ts +8 -0
- package/dist/internal/hosting.d.ts.map +1 -1
- package/dist/internal/hosting.js +24 -0
- package/dist/types.d.ts +18 -2
- package/dist/types.d.ts.map +1 -1
- package/docs/deployment.md +4 -1
- package/docs/guides/jev.md +7 -0
- package/docs/reference/agent-config.md +1 -1
- package/docs/reference/extensions.md +13 -0
- package/package.json +1 -9
- package/dist/docs/assets/chunks/@localSearchIndexroot.D5L-b34G.js +0 -1
- package/dist/docs/assets/chunks/channel.BbOGaJQP.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.Db58HCb1.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.Db58HCb1.js +0 -1
- package/dist/docs/assets/chunks/clone.Co4MBflG.js +0 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.CMsKhrW0.js +0 -1
- package/src/artifacts.ts +0 -68
- package/src/bin/agent-serve.ts +0 -1854
- package/src/channels/bitbucket/api.ts +0 -891
- package/src/channels/bitbucket/binding.ts +0 -417
- package/src/channels/bitbucket/bitbucket-channel.ts +0 -162
- package/src/channels/bitbucket/bitbucket-webhook.ts +0 -519
- package/src/channels/bitbucket/checks.ts +0 -146
- package/src/channels/bitbucket/cursor-account.ts +0 -106
- package/src/channels/bitbucket/defaults.ts +0 -100
- package/src/channels/bitbucket/events.ts +0 -74
- package/src/channels/bitbucket/index.ts +0 -51
- package/src/channels/bitbucket/replay.ts +0 -421
- package/src/channels/bitbucket/state.ts +0 -59
- package/src/channels/bitbucket/types.ts +0 -261
- package/src/channels/change-monitors/change-monitors-channel.ts +0 -63
- package/src/channels/change-monitors/index.ts +0 -8
- package/src/channels/change-monitors/types.ts +0 -42
- package/src/channels/checks.ts +0 -185
- package/src/channels/deployments/deployments-channel.ts +0 -224
- package/src/channels/deployments/index.ts +0 -25
- package/src/channels/deployments/types.ts +0 -92
- package/src/channels/github/api.ts +0 -526
- package/src/channels/github/auth.ts +0 -293
- package/src/channels/github/binding.ts +0 -233
- package/src/channels/github/checks.ts +0 -145
- package/src/channels/github/cursor-account.ts +0 -303
- package/src/channels/github/defaults.ts +0 -168
- package/src/channels/github/events.ts +0 -67
- package/src/channels/github/forward.ts +0 -359
- package/src/channels/github/github-channel.ts +0 -2334
- package/src/channels/github/index.ts +0 -54
- package/src/channels/github/progress.ts +0 -365
- package/src/channels/github/replay.ts +0 -372
- package/src/channels/github/state.ts +0 -124
- package/src/channels/github/types.ts +0 -590
- package/src/channels/gitlab/api.ts +0 -329
- package/src/channels/gitlab/binding.ts +0 -231
- package/src/channels/gitlab/checks.ts +0 -228
- package/src/channels/gitlab/cursor-account.ts +0 -105
- package/src/channels/gitlab/defaults.ts +0 -80
- package/src/channels/gitlab/events.ts +0 -37
- package/src/channels/gitlab/gitlab-channel.ts +0 -160
- package/src/channels/gitlab/gitlab-webhook.ts +0 -509
- package/src/channels/gitlab/index.ts +0 -44
- package/src/channels/gitlab/replay.ts +0 -328
- package/src/channels/gitlab/state.ts +0 -55
- package/src/channels/gitlab/types.ts +0 -247
- package/src/channels/issues/index.ts +0 -9
- package/src/channels/issues/issues-channel.ts +0 -45
- package/src/channels/issues/types.ts +0 -38
- package/src/channels/origin/api.ts +0 -507
- package/src/channels/origin/binding.ts +0 -114
- package/src/channels/origin/checks.ts +0 -250
- package/src/channels/origin/cursor-account.ts +0 -58
- package/src/channels/origin/defaults.ts +0 -140
- package/src/channels/origin/events.ts +0 -35
- package/src/channels/origin/index.ts +0 -35
- package/src/channels/origin/origin-channel.ts +0 -815
- package/src/channels/origin/origin-webhook.ts +0 -296
- package/src/channels/origin/reactions.ts +0 -72
- package/src/channels/origin/state.ts +0 -54
- package/src/channels/origin/types.ts +0 -295
- package/src/channels/slack/agentic-delivery.ts +0 -634
- package/src/channels/slack/agentic-posted.ts +0 -135
- package/src/channels/slack/agentic-signals.ts +0 -231
- package/src/channels/slack/api.ts +0 -761
- package/src/channels/slack/approvals.ts +0 -279
- package/src/channels/slack/assistant.ts +0 -76
- package/src/channels/slack/attachments.ts +0 -596
- package/src/channels/slack/auth.ts +0 -127
- package/src/channels/slack/blocks.ts +0 -131
- package/src/channels/slack/bot-mentions.ts +0 -318
- package/src/channels/slack/channel-watch.ts +0 -314
- package/src/channels/slack/cli-project.ts +0 -249
- package/src/channels/slack/code-fences.ts +0 -171
- package/src/channels/slack/constants.ts +0 -38
- package/src/channels/slack/credentials.ts +0 -88
- package/src/channels/slack/defaults.ts +0 -714
- package/src/channels/slack/dispatch.ts +0 -1060
- package/src/channels/slack/doctor.ts +0 -338
- package/src/channels/slack/eval-directive.ts +0 -306
- package/src/channels/slack/event-id-dedupe.ts +0 -30
- package/src/channels/slack/external-policy.ts +0 -75
- package/src/channels/slack/footer.ts +0 -106
- package/src/channels/slack/inbound.ts +0 -416
- package/src/channels/slack/index.ts +0 -53
- package/src/channels/slack/init.ts +0 -169
- package/src/channels/slack/interactive.ts +0 -406
- package/src/channels/slack/links.ts +0 -23
- package/src/channels/slack/live-delivery.ts +0 -489
- package/src/channels/slack/log.ts +0 -70
- package/src/channels/slack/manifest.ts +0 -240
- package/src/channels/slack/message-body.ts +0 -82
- package/src/channels/slack/nudge-carrier.ts +0 -224
- package/src/channels/slack/nudge-store.ts +0 -334
- package/src/channels/slack/paint-start.ts +0 -93
- package/src/channels/slack/placeholder.ts +0 -358
- package/src/channels/slack/pr-ref.ts +0 -74
- package/src/channels/slack/progress-delivery.ts +0 -138
- package/src/channels/slack/reasoning-card.ts +0 -125
- package/src/channels/slack/reasoning-chip.ts +0 -41
- package/src/channels/slack/recording-sink.ts +0 -167
- package/src/channels/slack/redact.ts +0 -6
- package/src/channels/slack/reply-options.ts +0 -279
- package/src/channels/slack/setup.ts +0 -125
- package/src/channels/slack/slack-channel.ts +0 -744
- package/src/channels/slack/socket-mode.ts +0 -140
- package/src/channels/slack/stop.ts +0 -25
- package/src/channels/slack/stream.ts +0 -66
- package/src/channels/slack/thread-context.ts +0 -485
- package/src/channels/slack/tool-approval-events.ts +0 -233
- package/src/channels/slack/tool-cards.ts +0 -198
- package/src/channels/slack/tool-chip.ts +0 -34
- package/src/channels/slack/types.ts +0 -787
- package/src/channels/slack/upload.ts +0 -137
- package/src/channels.ts +0 -543
- package/src/connections.ts +0 -153
- package/src/dashboard-session-url.ts +0 -30
- package/src/evals/assertions.ts +0 -688
- package/src/evals/expect.ts +0 -250
- package/src/evals/judge.ts +0 -329
- package/src/evals/loaders.ts +0 -111
- package/src/evals/matchers.ts +0 -223
- package/src/evals/reporters.ts +0 -257
- package/src/evals/results.ts +0 -130
- package/src/evals/run-facts.ts +0 -306
- package/src/evals.ts +0 -709
- package/src/extensions/cursor-cloud-agents/extension.ts +0 -131
- package/src/extensions/cursor-cloud-agents/lib/backend.ts +0 -386
- package/src/extensions/cursor-cloud-agents/lib/channels.ts +0 -11
- package/src/extensions/cursor-cloud-agents/lib/fleet.ts +0 -98
- package/src/extensions/cursor-cloud-agents/lib/inputs.ts +0 -5
- package/src/extensions/cursor-cloud-agents/lib/repos.ts +0 -80
- package/src/extensions/cursor-cloud-agents/lib/transcript.ts +0 -19
- package/src/extensions/cursor-cloud-agents/skills/handoff.md +0 -37
- package/src/extensions/cursor-cloud-agents/tools/cancel.ts +0 -21
- package/src/extensions/cursor-cloud-agents/tools/dump.ts +0 -47
- package/src/extensions/cursor-cloud-agents/tools/get.ts +0 -18
- package/src/extensions/cursor-cloud-agents/tools/launch.ts +0 -62
- package/src/extensions/cursor-cloud-agents/tools/list.ts +0 -31
- package/src/extensions/cursor-cloud-agents/tools/reply.ts +0 -36
- package/src/extensions/cursor-grokbot-agents/extension.ts +0 -132
- package/src/extensions/cursor-grokbot-agents/lib/agents.ts +0 -42
- package/src/extensions/cursor-grokbot-agents/lib/backend.ts +0 -208
- package/src/extensions/cursor-grokbot-agents/lib/contacts.ts +0 -74
- package/src/extensions/cursor-grokbot-agents/lib/conversation.ts +0 -260
- package/src/extensions/cursor-grokbot-agents/lib/inputs.ts +0 -21
- package/src/extensions/cursor-grokbot-agents/lib/lock.ts +0 -26
- package/src/extensions/cursor-grokbot-agents/skills/consult.md +0 -40
- package/src/extensions/cursor-grokbot-agents/tools/ask.ts +0 -32
- package/src/extensions/cursor-grokbot-agents/tools/check.ts +0 -25
- package/src/extensions/cursor-grokbot-agents/tools/interrupt.ts +0 -17
- package/src/extensions/cursor-grokbot-agents/tools/list.ts +0 -26
- package/src/extensions/improve/extension.ts +0 -69
- package/src/extensions/improve/skills/yourself.ts +0 -50
- package/src/extensions/jev/extension.ts +0 -95
- package/src/extensions/jev/lib/evaluate.ts +0 -266
- package/src/extensions/jev/skills/gated-write.md +0 -25
- package/src/extensions/jev/skills/questions.md +0 -33
- package/src/extensions/jev/tools/evaluate.ts +0 -82
- package/src/extensions/slack-communication/evals/harness.ts +0 -705
- package/src/extensions/slack-communication/evals/slack-communication.eval.ts +0 -830
- package/src/extensions/slack-communication/evals/slack-placeholder.eval.ts +0 -172
- package/src/extensions/slack-communication/extension.ts +0 -44
- package/src/extensions/slack-communication/skills/slack-voice.ts +0 -56
- package/src/extensions/slack-communication/tools/delete-message.ts +0 -33
- package/src/extensions/slack-communication/tools/edit-message.ts +0 -42
- package/src/extensions/slack-communication/tools/post-card.ts +0 -28
- package/src/extensions/slack-communication/tools/post-file.ts +0 -82
- package/src/extensions/slack-communication/tools/post-update.ts +0 -40
- package/src/extensions/slack-communication/tools/react.ts +0 -30
- package/src/extensions/slack-communication/tools/set-status.ts +0 -21
- package/src/extensions.ts +0 -179
- package/src/files-backends/agent-store-presigned-url.ts +0 -11
- package/src/files-backends/cursor-hosted.ts +0 -1212
- package/src/files-backends/local-fs.ts +0 -163
- package/src/files.ts +0 -293
- package/src/filesystem.ts +0 -2005
- package/src/hooks.ts +0 -30
- package/src/index.ts +0 -259
- package/src/internal/advertise-tools.ts +0 -370
- package/src/internal/approval-gate.ts +0 -103
- package/src/internal/artifacts-store.ts +0 -836
- package/src/internal/as-of.ts +0 -257
- package/src/internal/auth.ts +0 -46
- package/src/internal/authored-alias-hooks.ts +0 -138
- package/src/internal/authored-loaders.ts +0 -188
- package/src/internal/bounded-int.ts +0 -24
- package/src/internal/bounded.ts +0 -25
- package/src/internal/brand.ts +0 -28
- package/src/internal/browser-origin-guard.ts +0 -67
- package/src/internal/builtin-tools/artifacts.ts +0 -62
- package/src/internal/builtin-tools/index.ts +0 -53
- package/src/internal/builtin-tools/reminders.ts +0 -145
- package/src/internal/channel-dispatch.ts +0 -129
- package/src/internal/channel-route-dispatch.ts +0 -58
- package/src/internal/channel-state.ts +0 -83
- package/src/internal/chat-client.ts +0 -594
- package/src/internal/cli-ax.ts +0 -2318
- package/src/internal/cli-bitbucket.ts +0 -438
- package/src/internal/cli-convert-automation.ts +0 -335
- package/src/internal/cli-cursor.ts +0 -282
- package/src/internal/cli-deploy.ts +0 -2519
- package/src/internal/cli-docs.ts +0 -192
- package/src/internal/cli-github.ts +0 -806
- package/src/internal/cli-gitlab.ts +0 -452
- package/src/internal/cli-images.ts +0 -672
- package/src/internal/cli-manifest.ts +0 -56
- package/src/internal/cli-mcp-oauth.ts +0 -396
- package/src/internal/cli-mcp.ts +0 -808
- package/src/internal/cli-skills.ts +0 -98
- package/src/internal/cli-slack-manual.ts +0 -418
- package/src/internal/cli-slack.ts +0 -874
- package/src/internal/cloud-merge.ts +0 -51
- package/src/internal/cloud-turn-cost.ts +0 -159
- package/src/internal/connection-env.ts +0 -106
- package/src/internal/continuation-channel.ts +0 -233
- package/src/internal/continuation-identity.ts +0 -935
- package/src/internal/conversation-mirror.ts +0 -423
- package/src/internal/convert-automation/convert-workflow.ts +0 -1377
- package/src/internal/convert-automation/slug.ts +0 -29
- package/src/internal/convert-automation/types.ts +0 -212
- package/src/internal/cron.ts +0 -76
- package/src/internal/cursor/account-mcp.ts +0 -692
- package/src/internal/cursor/backend-client.ts +0 -984
- package/src/internal/cursor/bound-secret-file.ts +0 -101
- package/src/internal/cursor/credentials.ts +0 -560
- package/src/internal/cursor/cursor-api-transport.ts +0 -65
- package/src/internal/cursor/github-credentials.ts +0 -228
- package/src/internal/cursor/hosted-bound-secrets.ts +0 -71
- package/src/internal/cursor/hosted-deployment-secrets.ts +0 -100
- package/src/internal/cursor/hosted-store-secrets.ts +0 -152
- package/src/internal/cursor/session-token.ts +0 -111
- package/src/internal/cursor/store-api-client.ts +0 -323
- package/src/internal/cursor-account-mcp-auth.ts +0 -303
- package/src/internal/cursor-agent-template.ts +0 -50
- package/src/internal/cursor-deployment-relay.ts +0 -315
- package/src/internal/cursor-event-relay.ts +0 -675
- package/src/internal/cursor-relay-core.ts +0 -563
- package/src/internal/deferred-channel-session.ts +0 -61
- package/src/internal/deploy-client.ts +0 -1574
- package/src/internal/deploy-manifest.ts +0 -361
- package/src/internal/deploy-source.ts +0 -144
- package/src/internal/describe-error.ts +0 -32
- package/src/internal/dev-mode.ts +0 -20
- package/src/internal/discovery/agent-config.ts +0 -288
- package/src/internal/discovery/agent.ts +0 -381
- package/src/internal/discovery/channels.ts +0 -100
- package/src/internal/discovery/connections.ts +0 -516
- package/src/internal/discovery/context.ts +0 -38
- package/src/internal/discovery/cursor-plugin.ts +0 -628
- package/src/internal/discovery/extension-overlay.ts +0 -247
- package/src/internal/discovery/extensions.ts +0 -490
- package/src/internal/discovery/fs.ts +0 -103
- package/src/internal/discovery/hooks.ts +0 -63
- package/src/internal/discovery/info.ts +0 -174
- package/src/internal/discovery/instructions.ts +0 -98
- package/src/internal/discovery/modules.ts +0 -107
- package/src/internal/discovery/names.ts +0 -45
- package/src/internal/discovery/project.ts +0 -319
- package/src/internal/discovery/reminders.ts +0 -65
- package/src/internal/discovery/runtime.ts +0 -158
- package/src/internal/discovery/schedules.ts +0 -120
- package/src/internal/discovery/seed-files.ts +0 -34
- package/src/internal/discovery/services.ts +0 -151
- package/src/internal/discovery/skills.ts +0 -174
- package/src/internal/discovery/subagent.ts +0 -138
- package/src/internal/discovery/tools.ts +0 -170
- package/src/internal/discovery.ts +0 -27
- package/src/internal/distribution.ts +0 -126
- package/src/internal/docs-site.ts +0 -248
- package/src/internal/duration.ts +0 -37
- package/src/internal/env-file.ts +0 -83
- package/src/internal/eval-judge-model.ts +0 -142
- package/src/internal/eval-run-store.ts +0 -585
- package/src/internal/eval-runner.ts +0 -823
- package/src/internal/evals-client.ts +0 -475
- package/src/internal/event-log.ts +0 -342
- package/src/internal/event-mapper.ts +0 -811
- package/src/internal/expected-delivery-failure.ts +0 -34
- package/src/internal/factory-resource-channel.ts +0 -103
- package/src/internal/filesystem/errors.ts +0 -207
- package/src/internal/filesystem/format.ts +0 -253
- package/src/internal/filesystem/merge.ts +0 -192
- package/src/internal/filesystem/nearest.ts +0 -112
- package/src/internal/filesystem/scratch.ts +0 -239
- package/src/internal/filesystem/sdk-schemas.ts +0 -204
- package/src/internal/filesystem/tools.ts +0 -804
- package/src/internal/filesystem/walk.ts +0 -366
- package/src/internal/fixtures/units-server.ts +0 -52
- package/src/internal/framework-file-storage.ts +0 -357
- package/src/internal/framework-storage-selection.ts +0 -156
- package/src/internal/frontmatter.ts +0 -108
- package/src/internal/github-fanout.ts +0 -144
- package/src/internal/guest-network.ts +0 -391
- package/src/internal/handleAgentServeTrigger.ts +0 -286
- package/src/internal/host-files.ts +0 -341
- package/src/internal/host-kv.ts +0 -81
- package/src/internal/host-otel.ts +0 -231
- package/src/internal/host-platforms.ts +0 -170
- package/src/internal/hosted-admission-adapter.ts +0 -47
- package/src/internal/hosted-admission-context.ts +0 -37
- package/src/internal/hosted-catch-protocol.ts +0 -112
- package/src/internal/hosted-catch.ts +0 -179
- package/src/internal/hosted-delivery-protocol.ts +0 -824
- package/src/internal/hosted-delivery.ts +0 -1410
- package/src/internal/hosted-execution-diag.ts +0 -291
- package/src/internal/hosted-execution-flush.ts +0 -136
- package/src/internal/hosted-execution-latency.ts +0 -301
- package/src/internal/hosted-managed-automation.ts +0 -116
- package/src/internal/hosting.ts +0 -114
- package/src/internal/http-channel-define.ts +0 -25
- package/src/internal/http-channel.ts +0 -669
- package/src/internal/http-control-plane-session.ts +0 -110
- package/src/internal/ids.ts +0 -39
- package/src/internal/incoming-headers-to-fetch.ts +0 -45
- package/src/internal/init-interview.ts +0 -360
- package/src/internal/init-project.ts +0 -711
- package/src/internal/init-scaffold.ts +0 -182
- package/src/internal/inline-stdio-define-stub.ts +0 -4
- package/src/internal/inline-stdio-mcp.ts +0 -230
- package/src/internal/install-cursor-skills.ts +0 -604
- package/src/internal/is-record.ts +0 -3
- package/src/internal/json-schema.ts +0 -95
- package/src/internal/legacy-command-guard.ts +0 -66
- package/src/internal/listen-port.ts +0 -85
- package/src/internal/local-control-plane.ts +0 -442
- package/src/internal/local-env.ts +0 -59
- package/src/internal/local-ingress.ts +0 -90
- package/src/internal/log-ring.ts +0 -59
- package/src/internal/logs-client.ts +0 -477
- package/src/internal/map-pool.ts +0 -39
- package/src/internal/mcp-endpoint.ts +0 -747
- package/src/internal/mcp-host.ts +0 -509
- package/src/internal/mcp-oauth-on-demand.ts +0 -337
- package/src/internal/mcp-oauth-persist.ts +0 -118
- package/src/internal/mcp-oauth.ts +0 -549
- package/src/internal/net.ts +0 -29
- package/src/internal/open-browser.ts +0 -41
- package/src/internal/otel/attrs.ts +0 -16
- package/src/internal/otel/collector.ts +0 -937
- package/src/internal/otel/config.ts +0 -287
- package/src/internal/otel/http.ts +0 -122
- package/src/internal/otel/mcp.ts +0 -56
- package/src/internal/otel/propagation.ts +0 -17
- package/src/internal/otel/runtime.ts +0 -441
- package/src/internal/package-inline-stdio.ts +0 -114
- package/src/internal/peer-connections.ts +0 -96
- package/src/internal/platform-schedule-sync.ts +0 -75
- package/src/internal/platform-timers.ts +0 -365
- package/src/internal/playground/static.ts +0 -278
- package/src/internal/playground/toolchain.ts +0 -270
- package/src/internal/playground-proxy.ts +0 -564
- package/src/internal/process-memory-telemetry.ts +0 -334
- package/src/internal/project-layout.ts +0 -31
- package/src/internal/prompt-context.ts +0 -116
- package/src/internal/reminder-control-plane-protocol.ts +0 -482
- package/src/internal/reminder-runner.ts +0 -1559
- package/src/internal/reminder-schedule.ts +0 -104
- package/src/internal/reminder-store.ts +0 -176
- package/src/internal/request-error-status.ts +0 -95
- package/src/internal/request-headers.ts +0 -21
- package/src/internal/resolve-prod-target.ts +0 -334
- package/src/internal/resolved-connections.ts +0 -190
- package/src/internal/router.ts +0 -143
- package/src/internal/run-client.ts +0 -354
- package/src/internal/runtime-dispatch-runner.ts +0 -50
- package/src/internal/sanitize-mcp-tool-name.ts +0 -31
- package/src/internal/schedule-runner.ts +0 -154
- package/src/internal/scm/pr-url.ts +0 -245
- package/src/internal/sdk-runner.ts +0 -959
- package/src/internal/serve-restart.ts +0 -113
- package/src/internal/server.ts +0 -3147
- package/src/internal/session-cost.ts +0 -208
- package/src/internal/session-engine.ts +0 -5622
- package/src/internal/session-links.ts +0 -84
- package/src/internal/session-run-log.ts +0 -535
- package/src/internal/session-store.ts +0 -307
- package/src/internal/session-urls.ts +0 -32
- package/src/internal/sessions-client.ts +0 -239
- package/src/internal/skill-catalog.ts +0 -66
- package/src/internal/skills-sync.ts +0 -55
- package/src/internal/slack-provision-client.ts +0 -544
- package/src/internal/slack-thread-key.ts +0 -11
- package/src/internal/sleep.ts +0 -3
- package/src/internal/start-log-store.ts +0 -164
- package/src/internal/steering.ts +0 -17
- package/src/internal/storage-coordinator.ts +0 -800
- package/src/internal/storage-roles.ts +0 -86
- package/src/internal/storage.ts +0 -1
- package/src/internal/store-api-protocol.ts +0 -205
- package/src/internal/store-mirror.ts +0 -73
- package/src/internal/stream-progress.ts +0 -294
- package/src/internal/terminal-style.ts +0 -133
- package/src/internal/testing/factory-resource-fixtures.ts +0 -84
- package/src/internal/testing/scm-continuation-fixtures.ts +0 -285
- package/src/internal/tool-catalog.ts +0 -104
- package/src/internal/tool-policy.ts +0 -222
- package/src/internal/tool-result.ts +0 -50
- package/src/internal/trajectory.ts +0 -418
- package/src/internal/turn-cost.ts +0 -136
- package/src/internal/turn-governor.ts +0 -145
- package/src/internal/turn-lease-store.ts +0 -144
- package/src/internal/turn-outbox.ts +0 -77
- package/src/internal/update-check.ts +0 -517
- package/src/internal/v2-hosting.ts +0 -52
- package/src/internal/workspace-sync.ts +0 -114
- package/src/internal/workspace.ts +0 -505
- package/src/kv/memory-kv.ts +0 -94
- package/src/kv.ts +0 -18
- package/src/memory.ts +0 -487
- package/src/otel-public.ts +0 -24
- package/src/otel.ts +0 -320
- package/src/prompt.ts +0 -80
- package/src/reminders.ts +0 -65
- package/src/schedules.ts +0 -31
- package/src/skills.ts +0 -27
- package/src/storage-backends/cursor-hosted-v2.ts +0 -204
- package/src/storage-backends/cursor-hosted.ts +0 -388
- package/src/storage-backends/file-kv.ts +0 -276
- package/src/storage-protocol.ts +0 -261
- package/src/storage.ts +0 -408
- package/src/tools.ts +0 -166
- package/src/types.ts +0 -3776
- /package/dist/docs/assets/{reference_agent-config.md.DzGI777n.lean.js → reference_agent-config.md.Cj5uBKp4.lean.js} +0 -0
package/src/otel.ts
DELETED
|
@@ -1,320 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* OpenTelemetry for Agent SDK — author `agent/otel.ts`, pass `serve({ otel })`,
|
|
3
|
-
* or set `OTEL_EXPORTER_OTLP_ENDPOINT` (standard OTel env).
|
|
4
|
-
*
|
|
5
|
-
* ```ts
|
|
6
|
-
* import { defineOtel } from "@cursor/bdk/internal/otel";
|
|
7
|
-
*
|
|
8
|
-
* export default defineOtel({
|
|
9
|
-
* serviceName: "cursor",
|
|
10
|
-
* exporters: [{ url: "https://otel.example.com", protocol: "http/protobuf" }],
|
|
11
|
-
* });
|
|
12
|
-
*
|
|
13
|
-
* // Hosted v2: re-read env on flush after deployment secrets bind.
|
|
14
|
-
* export default defineOtel(() => resolveMyOtelConfig());
|
|
15
|
-
* ```
|
|
16
|
-
*
|
|
17
|
-
* Internal only: Cursor factory agents. Not a public Agent SDK export.
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
import { AsyncLocalStorage } from "node:async_hooks";
|
|
21
|
-
import { context, trace } from "@opentelemetry/api";
|
|
22
|
-
import { brandDefinition } from "./internal/brand.js";
|
|
23
|
-
|
|
24
|
-
export type OtelSignal = "traces" | "metrics" | "logs";
|
|
25
|
-
|
|
26
|
-
/** One OTLP destination. Multiple entries fan out. */
|
|
27
|
-
export interface OtelExporterConfig {
|
|
28
|
-
/**
|
|
29
|
-
* OTLP base URL (`https://otel.example.com`) or signal path
|
|
30
|
-
* (`…/v1/traces`). Signal paths are stripped to the base; the runtime
|
|
31
|
-
* re-appends `/v1/{signal}`.
|
|
32
|
-
*/
|
|
33
|
-
url: string;
|
|
34
|
-
/** Extra HTTP headers (merged with `OTEL_EXPORTER_OTLP_HEADERS`). */
|
|
35
|
-
headers?: Record<string, string>;
|
|
36
|
-
/**
|
|
37
|
-
* Wire format. Default `http/protobuf` (matches Cursor enterprise OTLP).
|
|
38
|
-
* Use `http/json` for collectors that only accept JSON.
|
|
39
|
-
*/
|
|
40
|
-
protocol?: "http/json" | "http/protobuf";
|
|
41
|
-
/**
|
|
42
|
-
* Restrict this destination to these signals. Default: all enabled
|
|
43
|
-
* signals. Set by env when per-signal `OTEL_EXPORTER_OTLP_*_ENDPOINT`
|
|
44
|
-
* vars differ.
|
|
45
|
-
*/
|
|
46
|
-
signals?: OtelSignal[];
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export interface OtelTraceOptions {
|
|
50
|
-
/** Sample ratio in `[0, 1]`. Default `1`. */
|
|
51
|
-
sampleRatio?: number;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export interface OtelMetricOptions {
|
|
55
|
-
/** Export interval in ms. Default `10000`. */
|
|
56
|
-
exportIntervalMillis?: number;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export interface OtelLogOptions {
|
|
60
|
-
/**
|
|
61
|
-
* Include user prompt text on log records / span events.
|
|
62
|
-
* Default false; also toggled by `OTEL_LOG_USER_PROMPTS=1`.
|
|
63
|
-
*/
|
|
64
|
-
userPrompts?: boolean;
|
|
65
|
-
/**
|
|
66
|
-
* Include tool argument / result payloads and failure text (truncated).
|
|
67
|
-
* Default false; also `OTEL_LOG_TOOL_CONTENT=1`.
|
|
68
|
-
*/
|
|
69
|
-
toolContent?: boolean;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Authored / programmatic OTel config. Empty config still enables when
|
|
74
|
-
* standard `OTEL_EXPORTER_OTLP_*` env vars are set.
|
|
75
|
-
*/
|
|
76
|
-
export interface OtelConfig {
|
|
77
|
-
/**
|
|
78
|
-
* Resource `service.name`. Default: `OTEL_SERVICE_NAME` or `"cursor"`
|
|
79
|
-
* (same as enterprise export) so Agent SDK signals join org streams.
|
|
80
|
-
*/
|
|
81
|
-
serviceName?: string;
|
|
82
|
-
/** Resource `service.version`. */
|
|
83
|
-
serviceVersion?: string;
|
|
84
|
-
/** Extra resource attributes on every signal. */
|
|
85
|
-
resourceAttributes?: Record<string, string>;
|
|
86
|
-
/**
|
|
87
|
-
* OTLP destinations. Default: from `OTEL_EXPORTER_OTLP_ENDPOINT` /
|
|
88
|
-
* per-signal `*_TRACES_ENDPOINT` etc. Empty with no env = disabled.
|
|
89
|
-
*/
|
|
90
|
-
exporters?: OtelExporterConfig[];
|
|
91
|
-
/** Traces on/off or options. Default on. */
|
|
92
|
-
traces?: boolean | OtelTraceOptions;
|
|
93
|
-
/** Metrics on/off or options. Default on. */
|
|
94
|
-
metrics?: boolean | OtelMetricOptions;
|
|
95
|
-
/** Logs on/off or options. Default off (opt-in content). */
|
|
96
|
-
logs?: boolean | OtelLogOptions;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
export type OtelDefinition = OtelConfig & { readonly __agentServe: "otel" };
|
|
100
|
-
|
|
101
|
-
/** Re-read authored config after bake (hosted v2 binds secrets later). */
|
|
102
|
-
export type OtelConfigFactory = () => OtelConfig;
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Hidden factory on {@link OtelDefinition}. Not enumerable so
|
|
106
|
-
* `pickAuthoredOtel` compares the bake-time snapshot, not the thunk.
|
|
107
|
-
*/
|
|
108
|
-
export const OTEL_CONFIG_RESOLVE: symbol = Symbol.for("anysphere.july.otel.configResolve");
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Author OpenTelemetry export under `agent/otel.ts`.
|
|
112
|
-
* Import from `@cursor/bdk/internal/otel`, not `@cursor/bdk`.
|
|
113
|
-
*/
|
|
114
|
-
export function defineOtel(config: OtelConfig | OtelConfigFactory = {}): OtelDefinition {
|
|
115
|
-
const resolve: OtelConfigFactory = typeof config === "function" ? config : () => config;
|
|
116
|
-
const snapshot = resolve();
|
|
117
|
-
validateOtelConfig(snapshot);
|
|
118
|
-
const def = brandDefinition("otel", snapshot);
|
|
119
|
-
Object.defineProperty(def, OTEL_CONFIG_RESOLVE, {
|
|
120
|
-
value: resolve,
|
|
121
|
-
enumerable: false,
|
|
122
|
-
});
|
|
123
|
-
return def;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
/** Invoke a `defineOtel(() => …)` factory, or return the static snapshot. */
|
|
127
|
-
export function resolveOtelDefinition(def: OtelConfig): OtelConfig {
|
|
128
|
-
const resolve = (def as unknown as Record<symbol, OtelConfigFactory | undefined>)[
|
|
129
|
-
OTEL_CONFIG_RESOLVE
|
|
130
|
-
];
|
|
131
|
-
if (resolve === undefined) {
|
|
132
|
-
return def;
|
|
133
|
-
}
|
|
134
|
-
const next = resolve();
|
|
135
|
-
validateOtelConfig(next);
|
|
136
|
-
return next;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
function validateOtelConfig(config: OtelConfig): void {
|
|
140
|
-
if (config.exporters !== undefined) {
|
|
141
|
-
for (const exporter of config.exporters) {
|
|
142
|
-
if (typeof exporter.url !== "string" || exporter.url.length === 0) {
|
|
143
|
-
throw new Error("defineOtel: exporters[].url must be a non-empty string");
|
|
144
|
-
}
|
|
145
|
-
if (
|
|
146
|
-
exporter.protocol !== undefined &&
|
|
147
|
-
exporter.protocol !== "http/json" &&
|
|
148
|
-
exporter.protocol !== "http/protobuf"
|
|
149
|
-
) {
|
|
150
|
-
throw new Error('defineOtel: exporters[].protocol must be "http/json" or "http/protobuf"');
|
|
151
|
-
}
|
|
152
|
-
assertSignals(exporter.signals);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
if (config.resourceAttributes !== undefined) {
|
|
156
|
-
for (const [key, value] of Object.entries(config.resourceAttributes)) {
|
|
157
|
-
if (typeof value !== "string") {
|
|
158
|
-
throw new Error(`defineOtel: resourceAttributes.${key} must be a string`);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
assertSampleRatio(config.traces);
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
function assertSignals(signals: OtelSignal[] | undefined): void {
|
|
166
|
-
if (signals === undefined) {
|
|
167
|
-
return;
|
|
168
|
-
}
|
|
169
|
-
if (signals.length === 0) {
|
|
170
|
-
throw new Error("defineOtel: exporters[].signals must be non-empty");
|
|
171
|
-
}
|
|
172
|
-
for (const signal of signals) {
|
|
173
|
-
if (signal !== "traces" && signal !== "metrics" && signal !== "logs") {
|
|
174
|
-
throw new Error('defineOtel: exporters[].signals must be "traces" | "metrics" | "logs"');
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
function assertSampleRatio(traces: OtelConfig["traces"]): void {
|
|
180
|
-
if (traces === undefined || typeof traces === "boolean") {
|
|
181
|
-
return;
|
|
182
|
-
}
|
|
183
|
-
const ratio = traces.sampleRatio;
|
|
184
|
-
if (ratio === undefined) {
|
|
185
|
-
return;
|
|
186
|
-
}
|
|
187
|
-
if (!Number.isFinite(ratio) || ratio < 0 || ratio > 1) {
|
|
188
|
-
throw new Error("defineOtel: traces.sampleRatio must be in [0, 1]");
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
export const TRACEPARENT_HEADER = "traceparent";
|
|
193
|
-
/** Cursor backend prefers this; `remoteSpanContextFromRequest` falls back to W3C. */
|
|
194
|
-
export const BACKEND_TRACEPARENT_HEADER = "backend-traceparent";
|
|
195
|
-
|
|
196
|
-
export function formatTraceparent(spanContext: {
|
|
197
|
-
traceId: string;
|
|
198
|
-
spanId: string;
|
|
199
|
-
traceFlags: number;
|
|
200
|
-
}): string | undefined {
|
|
201
|
-
if (!trace.isSpanContextValid(spanContext)) {
|
|
202
|
-
return undefined;
|
|
203
|
-
}
|
|
204
|
-
return `00-${spanContext.traceId}-${
|
|
205
|
-
spanContext.spanId
|
|
206
|
-
}-${spanContext.traceFlags.toString(16).padStart(2, "0")}`;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
/**
|
|
210
|
-
* Copy the active span onto outbound headers as W3C `traceparent` and
|
|
211
|
-
* Cursor `backend-traceparent`. No-op when no valid span is active.
|
|
212
|
-
*
|
|
213
|
-
* Prefers the Agent SDK ALS (`instrumentHttp`, `runInTurn`,
|
|
214
|
-
* `runInCall`). Falls back to the `@anysphere/context` process-wide
|
|
215
|
-
* ALS: `createSpan` does not bind OTel API context, and SPAN keys
|
|
216
|
-
* are per `@opentelemetry/api` copy.
|
|
217
|
-
*/
|
|
218
|
-
export function injectActiveTraceContext(headers: {
|
|
219
|
-
get(name: string): string | null;
|
|
220
|
-
set(name: string, value: string): void;
|
|
221
|
-
}): void {
|
|
222
|
-
const span = trace.getSpan(context.active()) ?? getContextTracerSpan();
|
|
223
|
-
if (span === undefined) {
|
|
224
|
-
return;
|
|
225
|
-
}
|
|
226
|
-
const traceparent = formatTraceparent(span.spanContext());
|
|
227
|
-
if (traceparent === undefined) {
|
|
228
|
-
return;
|
|
229
|
-
}
|
|
230
|
-
headers.set(TRACEPARENT_HEADER, traceparent);
|
|
231
|
-
headers.set(BACKEND_TRACEPARENT_HEADER, traceparent);
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
/** W3C `traceparent` for the active span, or undefined if none. */
|
|
235
|
-
export function activeTraceparent(): string | undefined {
|
|
236
|
-
const headers = new Headers();
|
|
237
|
-
injectActiveTraceContext(headers);
|
|
238
|
-
return headers.get(TRACEPARENT_HEADER) ?? undefined;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
/**
|
|
242
|
-
* Copy the active span onto every outbound `fetch`. Agents should not
|
|
243
|
-
* wrap their own Connect / MCP clients for this — `createOtelRuntime`
|
|
244
|
-
* installs it on `globalThis.fetch` when traces are on.
|
|
245
|
-
*/
|
|
246
|
-
function headersForFetch(input: RequestInfo | URL, init?: RequestInit): Headers {
|
|
247
|
-
// Fetch: `init.headers` replaces `Request` headers. If `init` omits
|
|
248
|
-
// headers (`fetch(request, { signal })`), keep the Request's.
|
|
249
|
-
const headers = new Headers(
|
|
250
|
-
init?.headers !== undefined
|
|
251
|
-
? init.headers
|
|
252
|
-
: input instanceof Request
|
|
253
|
-
? input.headers
|
|
254
|
-
: undefined,
|
|
255
|
-
);
|
|
256
|
-
injectActiveTraceContext(headers);
|
|
257
|
-
return headers;
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
export function instrumentedFetch(base: typeof fetch = fetch): typeof fetch {
|
|
261
|
-
return (input, init) => {
|
|
262
|
-
const headers = headersForFetch(input, init);
|
|
263
|
-
if (input instanceof Request && init === undefined) {
|
|
264
|
-
return base(new Request(input, { headers }));
|
|
265
|
-
}
|
|
266
|
-
return base(input, { ...init, headers });
|
|
267
|
-
};
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
const OUTBOUND_FETCH_INSTALLED = Symbol.for("anysphere.july.otel.outboundFetch");
|
|
271
|
-
|
|
272
|
-
/** Idempotent. Safe to call from `createOtelRuntime` on every serve. */
|
|
273
|
-
export function installOutboundFetchInstrumentation(): void {
|
|
274
|
-
const slots = globalThis as unknown as Record<symbol, boolean>;
|
|
275
|
-
if (slots[OUTBOUND_FETCH_INSTALLED] === true) {
|
|
276
|
-
return;
|
|
277
|
-
}
|
|
278
|
-
slots[OUTBOUND_FETCH_INSTALLED] = true;
|
|
279
|
-
globalThis.fetch = instrumentedFetch(globalThis.fetch);
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
/** Must match `@anysphere/context` `ACTIVE_OTEL_SPAN_ALS`. */
|
|
283
|
-
const ACTIVE_OTEL_SPAN_ALS = Symbol.for("anysphere.context.activeOtelSpanAls");
|
|
284
|
-
|
|
285
|
-
function ensureContextTracerAls(): void {
|
|
286
|
-
const slots = globalThis as unknown as Record<symbol, unknown>;
|
|
287
|
-
if (slots[ACTIVE_OTEL_SPAN_ALS] === undefined) {
|
|
288
|
-
slots[ACTIVE_OTEL_SPAN_ALS] = new AsyncLocalStorage();
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
ensureContextTracerAls();
|
|
293
|
-
|
|
294
|
-
function getContextTracerSpan():
|
|
295
|
-
| {
|
|
296
|
-
spanContext: () => {
|
|
297
|
-
traceId: string;
|
|
298
|
-
spanId: string;
|
|
299
|
-
traceFlags: number;
|
|
300
|
-
};
|
|
301
|
-
}
|
|
302
|
-
| undefined {
|
|
303
|
-
const als = (
|
|
304
|
-
globalThis as unknown as Record<
|
|
305
|
-
symbol,
|
|
306
|
-
{
|
|
307
|
-
getStore?: () =>
|
|
308
|
-
| {
|
|
309
|
-
spanContext: () => {
|
|
310
|
-
traceId: string;
|
|
311
|
-
spanId: string;
|
|
312
|
-
traceFlags: number;
|
|
313
|
-
};
|
|
314
|
-
}
|
|
315
|
-
| undefined;
|
|
316
|
-
}
|
|
317
|
-
>
|
|
318
|
-
)[ACTIVE_OTEL_SPAN_ALS];
|
|
319
|
-
return als?.getStore?.();
|
|
320
|
-
}
|
package/src/prompt.ts
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Dedented multi-line strings for prompts, errors, and tool descriptions.
|
|
3
|
-
*
|
|
4
|
-
* Indent the body to match surrounding TypeScript; the common leading
|
|
5
|
-
* whitespace is stripped. A leading newline after `` prompt` `` is dropped so
|
|
6
|
-
* the usual multiline form stays flush in source.
|
|
7
|
-
*
|
|
8
|
-
* ```ts
|
|
9
|
-
* import { prompt } from "@cursor/bdk";
|
|
10
|
-
*
|
|
11
|
-
* export default defineTool({
|
|
12
|
-
* description: prompt`
|
|
13
|
-
* Deploy Anyship services for a merged PR.
|
|
14
|
-
* Enforces HITL outside business hours.
|
|
15
|
-
* `,
|
|
16
|
-
* // ...
|
|
17
|
-
* });
|
|
18
|
-
*
|
|
19
|
-
* throw new Error(prompt`
|
|
20
|
-
* It is outside business hours.
|
|
21
|
-
* Use request_author_approval.
|
|
22
|
-
* `);
|
|
23
|
-
*
|
|
24
|
-
* // GitHub channel `context` wants string[]:
|
|
25
|
-
* context: prompt.lines`
|
|
26
|
-
* Merged PR detected: ${url}.
|
|
27
|
-
*
|
|
28
|
-
* Run the deploy flow.
|
|
29
|
-
* `
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
|
|
33
|
-
function dedentLines(strings: TemplateStringsArray, values: readonly unknown[]): string[] {
|
|
34
|
-
let text = "";
|
|
35
|
-
for (let i = 0; i < strings.length; i++) {
|
|
36
|
-
text += strings[i] ?? "";
|
|
37
|
-
if (i < values.length) {
|
|
38
|
-
text += String(values[i]);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
// Common form is prompt`\n …\n`; drop the opening newline only.
|
|
42
|
-
if (text.startsWith("\n")) {
|
|
43
|
-
text = text.slice(1);
|
|
44
|
-
}
|
|
45
|
-
text = text.replace(/(?:\n[ \t]*)+$/u, "");
|
|
46
|
-
|
|
47
|
-
const lines = text.split("\n");
|
|
48
|
-
let minIndent = Number.POSITIVE_INFINITY;
|
|
49
|
-
for (const line of lines) {
|
|
50
|
-
if (line.trim() === "") {
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
const indent = /^[ \t]*/u.exec(line)?.[0]?.length ?? 0;
|
|
54
|
-
if (indent < minIndent) {
|
|
55
|
-
minIndent = indent;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
if (!Number.isFinite(minIndent)) {
|
|
59
|
-
minIndent = 0;
|
|
60
|
-
}
|
|
61
|
-
return lines.map(line => (line.trim() === "" ? "" : line.slice(minIndent)));
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export type PromptTag = {
|
|
65
|
-
(strings: TemplateStringsArray, ...values: unknown[]): string;
|
|
66
|
-
/** Same as {@link prompt}, but as separate lines (e.g. GitHub `context`). */
|
|
67
|
-
lines(strings: TemplateStringsArray, ...values: unknown[]): string[];
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
/** Dedented multi-line string (blank lines preserved). */
|
|
71
|
-
export const prompt: PromptTag = Object.assign(
|
|
72
|
-
function prompt(strings: TemplateStringsArray, ...values: unknown[]): string {
|
|
73
|
-
return dedentLines(strings, values).join("\n");
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
lines(strings: TemplateStringsArray, ...values: unknown[]): string[] {
|
|
77
|
-
return dedentLines(strings, values);
|
|
78
|
-
},
|
|
79
|
-
},
|
|
80
|
-
);
|
package/src/reminders.ts
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runtime reminders — per-session durable wakes — and named handlers
|
|
3
|
-
* authored at `agent/reminders/<name>.ts`.
|
|
4
|
-
*
|
|
5
|
-
* ```ts
|
|
6
|
-
* import { defineReminder } from "@cursor/bdk/reminders";
|
|
7
|
-
* import type { ReminderCreateInput } from "@cursor/bdk/reminders";
|
|
8
|
-
*
|
|
9
|
-
* // agent/reminders/verdict_recheck.ts
|
|
10
|
-
* export default defineReminder({
|
|
11
|
-
* async run({ args, followup }) {
|
|
12
|
-
* await followup({ message: `Recheck ${String(args.headSha)}` });
|
|
13
|
-
* return { action: "delivered" };
|
|
14
|
-
* },
|
|
15
|
-
* });
|
|
16
|
-
*
|
|
17
|
-
* import verdictRecheck from "./reminders/verdict_recheck.js";
|
|
18
|
-
*
|
|
19
|
-
* // Recurring ≈ setInterval; one-shot ≈ setTimeout.
|
|
20
|
-
* await host.reminders?.create({
|
|
21
|
-
* purpose: "ci_recheck",
|
|
22
|
-
* channelId: session.channelId,
|
|
23
|
-
* continuationToken: session.continuationKey!,
|
|
24
|
-
* delay: "2h",
|
|
25
|
-
* handler: verdictRecheck,
|
|
26
|
-
* args: { headSha: "abc" },
|
|
27
|
-
* });
|
|
28
|
-
* ```
|
|
29
|
-
*
|
|
30
|
-
* Distinct from `defineSchedule` (deploy-time global cron under
|
|
31
|
-
* `agent/schedules/`). Reminders are created at runtime and bound to a
|
|
32
|
-
* channel continuation. Prefer named `handler` + serializable `args` for
|
|
33
|
-
* hosted v2 durability; anonymous `run` remains on local and hosted v1.
|
|
34
|
-
*/
|
|
35
|
-
|
|
36
|
-
import { brandDefinition } from "./internal/brand.js";
|
|
37
|
-
import type { ReminderDefinition, ReminderHandlerConfig } from "./types.js";
|
|
38
|
-
|
|
39
|
-
export type {
|
|
40
|
-
ReminderBusyPolicy,
|
|
41
|
-
ReminderCreateInput,
|
|
42
|
-
ReminderDefinition,
|
|
43
|
-
ReminderFireContext,
|
|
44
|
-
ReminderFireResult,
|
|
45
|
-
ReminderFollowupOptions,
|
|
46
|
-
ReminderHandlerConfig,
|
|
47
|
-
ReminderHostApi,
|
|
48
|
-
ReminderInfo,
|
|
49
|
-
ReminderReschedule,
|
|
50
|
-
ReminderScheduleKind,
|
|
51
|
-
ReminderStatus,
|
|
52
|
-
ReminderTarget,
|
|
53
|
-
ReminderUntilContext,
|
|
54
|
-
} from "./types.js";
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Brand a named reminder handler for `agent/reminders/<name>.ts`.
|
|
58
|
-
* The registry name is the module stem (not a field on the definition).
|
|
59
|
-
*/
|
|
60
|
-
export function defineReminder(config: ReminderHandlerConfig): ReminderDefinition {
|
|
61
|
-
if (typeof config.run !== "function") {
|
|
62
|
-
throw new Error("defineReminder requires a `run` function");
|
|
63
|
-
}
|
|
64
|
-
return brandDefinition("reminder", config);
|
|
65
|
-
}
|
package/src/schedules.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `defineSchedule` — authored at `agent/schedules/<name>.ts`.
|
|
3
|
-
*
|
|
4
|
-
* A schedule starts the agent on a cron cadence instead of waiting for an
|
|
5
|
-
* inbound message. The markdown form is fire-and-forget task mode; the
|
|
6
|
-
* handler form hands work off to a channel (and can call MCP via `args.host.mcp`):
|
|
7
|
-
*
|
|
8
|
-
* ```ts
|
|
9
|
-
* import { defineSchedule } from "@cursor/bdk/schedules";
|
|
10
|
-
*
|
|
11
|
-
* export default defineSchedule({
|
|
12
|
-
* cron: "0 9 * * 1-5",
|
|
13
|
-
* markdown: "Summarize open incidents and post to the metrics endpoint.",
|
|
14
|
-
* });
|
|
15
|
-
* ```
|
|
16
|
-
*
|
|
17
|
-
* The same fire-and-forget form can be written as a plain markdown file with
|
|
18
|
-
* `cron:` frontmatter (`agent/schedules/<name>.md`).
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
import { brandDefinition } from "./internal/brand.js";
|
|
22
|
-
import type { ScheduleConfig, ScheduleDefinition } from "./types.js";
|
|
23
|
-
|
|
24
|
-
export type { ScheduleConfig, ScheduleDefinition, ScheduleHandlerArgs } from "./types.js";
|
|
25
|
-
|
|
26
|
-
export function defineSchedule(config: ScheduleConfig): ScheduleDefinition {
|
|
27
|
-
if ((config.markdown === undefined) === (config.run === undefined)) {
|
|
28
|
-
throw new Error("defineSchedule requires exactly one of `markdown` or `run`");
|
|
29
|
-
}
|
|
30
|
-
return brandDefinition("schedule", config);
|
|
31
|
-
}
|
package/src/skills.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `defineSkill` — authored at `agent/skills/<name>.ts`.
|
|
3
|
-
*
|
|
4
|
-
* Most skills are plain markdown files (`agent/skills/<name>.md`) or packaged
|
|
5
|
-
* directories (`agent/skills/<name>/SKILL.md` plus sibling files). Reach for
|
|
6
|
-
* `defineSkill` when markdown can't express what you need, such as generated
|
|
7
|
-
* content or inline sibling files:
|
|
8
|
-
*
|
|
9
|
-
* ```ts
|
|
10
|
-
* import { defineSkill } from "@cursor/bdk/skills";
|
|
11
|
-
*
|
|
12
|
-
* export default defineSkill({
|
|
13
|
-
* description: "Research unfamiliar topics before answering.",
|
|
14
|
-
* markdown: "Gather evidence first, then answer with the key facts.",
|
|
15
|
-
* files: { "references/checklist.md": "# Checklist\n\n- Find sources.\n" },
|
|
16
|
-
* });
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
import { brandDefinition } from "./internal/brand.js";
|
|
21
|
-
import type { SkillConfig, SkillDefinition } from "./types.js";
|
|
22
|
-
|
|
23
|
-
export type { SkillConfig, SkillDefinition } from "./types.js";
|
|
24
|
-
|
|
25
|
-
export function defineSkill(config: SkillConfig): SkillDefinition {
|
|
26
|
-
return brandDefinition("skill", config);
|
|
27
|
-
}
|