@cursor/bdk 0.2.11 → 0.2.13
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 +28 -26
- package/dist/channels/bitbucket/api.js +8 -8
- package/dist/channels/bitbucket/binding.js +4 -4
- package/dist/channels/bitbucket/bitbucket-channel.js +1 -1
- package/dist/channels/bitbucket/bitbucket-webhook.js +1 -1
- package/dist/channels/bitbucket/checks.js +1 -1
- package/dist/channels/bitbucket/cursor-account.js +1 -1
- package/dist/channels/bitbucket/events.js +1 -1
- package/dist/channels/change-monitors/change-monitors-channel.js +1 -1
- package/dist/channels/checks.js +2 -2
- package/dist/channels/deployments/deployments-channel.js +1 -1
- package/dist/channels/github/cursor-account.js +3 -3
- package/dist/channels/github/defaults.js +3 -3
- package/dist/channels/github/events.js +1 -1
- package/dist/channels/github/forward.js +8 -8
- package/dist/channels/github/github-channel.js +2 -2
- package/dist/channels/github/index.d.ts +22 -12
- package/dist/channels/github/index.d.ts.map +1 -1
- package/dist/channels/github/index.js +11 -12
- package/dist/channels/gitlab/binding.js +4 -4
- package/dist/channels/gitlab/checks.js +1 -1
- package/dist/channels/gitlab/cursor-account.js +1 -1
- package/dist/channels/gitlab/events.js +1 -1
- package/dist/channels/gitlab/gitlab-channel.js +1 -1
- package/dist/channels/gitlab/gitlab-webhook.js +1 -1
- package/dist/channels/gitlab/replay.js +2 -2
- package/dist/channels/origin/binding.js +3 -3
- package/dist/channels/origin/checks.js +1 -1
- package/dist/channels/origin/cursor-account.js +1 -1
- package/dist/channels/origin/events.js +1 -1
- package/dist/channels/origin/index.d.ts +21 -11
- package/dist/channels/origin/index.d.ts.map +1 -1
- package/dist/channels/origin/index.js +10 -11
- package/dist/channels/origin/origin-channel.js +1 -1
- package/dist/channels/origin/origin-webhook.js +2 -2
- package/dist/channels/slack/agentic-delivery.js +3 -3
- package/dist/channels/slack/agentic-signals.js +1 -1
- package/dist/channels/slack/api.js +5 -5
- package/dist/channels/slack/approvals.js +1 -1
- package/dist/channels/slack/attachments.js +3 -3
- package/dist/channels/slack/blocks.js +3 -3
- package/dist/channels/slack/bot-mentions.js +4 -4
- package/dist/channels/slack/channel-watch.js +4 -4
- package/dist/channels/slack/cli-project.js +3 -3
- package/dist/channels/slack/dispatch.js +1 -1
- package/dist/channels/slack/doctor.js +1 -1
- package/dist/channels/slack/eval-directive.js +1 -1
- package/dist/channels/slack/footer.js +1 -1
- package/dist/channels/slack/interactive.js +2 -2
- package/dist/channels/slack/log.d.ts.map +1 -1
- package/dist/channels/slack/log.js +1 -1
- package/dist/channels/slack/manifest.js +1 -1
- package/dist/channels/slack/nudge-carrier.js +1 -1
- package/dist/channels/slack/nudge-store.js +2 -2
- package/dist/channels/slack/recording-sink.js +6 -6
- package/dist/channels/slack/reply-options.js +6 -6
- package/dist/channels/slack/self-identity.d.ts +7 -4
- package/dist/channels/slack/self-identity.d.ts.map +1 -1
- package/dist/channels/slack/self-identity.js +17 -8
- package/dist/channels/slack/sender-name.d.ts.map +1 -1
- package/dist/channels/slack/sender-name.js +2 -6
- package/dist/channels/slack/setup.d.ts.map +1 -1
- package/dist/channels/slack/setup.js +1 -1
- package/dist/channels/slack/slack-channel.js +2 -2
- package/dist/channels/slack/socket-mode.js +2 -2
- package/dist/channels/slack/thread-context.js +8 -8
- package/dist/channels/slack/tool-cards.js +1 -1
- package/dist/channels/slack/user-info.d.ts +2 -1
- package/dist/channels/slack/user-info.d.ts.map +1 -1
- package/dist/channels/slack/user-info.js +16 -1
- package/dist/channels.js +1 -1
- package/dist/docs/404.html +3 -3
- package/dist/docs/assets/{app.DXI7bwox.js → app.CaLG1pPt.js} +4 -4
- package/dist/docs/assets/chunks/@localSearchIndexroot.DvlKuIO-.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.BrbO5mEe.js → VPLocalSearchBox.YsP_2wqD.js} +2 -2
- package/dist/docs/assets/chunks/{arc.BOG1yms8.js → arc.C2j9hR7c.js} +1 -1
- package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.C0hsMZnZ.js → architectureDiagram-Q4EWVU46.C5qkGp7y.js} +1 -1
- package/dist/docs/assets/chunks/{baseUniq.H044KjKs.js → baseUniq.U6GgTHOD.js} +1 -1
- package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.BsRW6GoB.js → blockDiagram-DXYQGD6D.D51mJop2.js} +1 -1
- package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.B9HV5PFR.js → c4Diagram-AHTNJAMY.w1d6QxV7.js} +1 -1
- package/dist/docs/assets/chunks/channel.BRSFxCcD.js +1 -0
- package/dist/docs/assets/chunks/{chunk-4BX2VUAB.CPoT_ajl.js → chunk-4BX2VUAB.B_A815un.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-4TB4RGXK.DZBwWuCL.js → chunk-4TB4RGXK.DMrm-ZCb.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-55IACEB6.CZ3yTiyq.js → chunk-55IACEB6.8qw6Xdal.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-EDXVE4YY.6DfvHSd8.js → chunk-EDXVE4YY.Cq_nHODn.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-FMBD7UC4.CpBj8HfK.js → chunk-FMBD7UC4.B67ohCYn.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-OYMX7WX6.BdKo8YqS.js → chunk-OYMX7WX6.Bo8rQI8F.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-QZHKN3VN.BnXNyxJx.js → chunk-QZHKN3VN.BERUMfE9.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-YZCP3GAM.Cg1OcF8G.js → chunk-YZCP3GAM.DWG2tXIX.js} +1 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.Cmtm6WkN.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.Cmtm6WkN.js +1 -0
- package/dist/docs/assets/chunks/clone.JMC96Eo6.js +1 -0
- package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.1SP8al9c.js → cose-bilkent-S5V4N54A.tezXBs9b.js} +1 -1
- package/dist/docs/assets/chunks/{dagre-KV5264BT.DS1L6hJt.js → dagre-KV5264BT.aSbEUwT7.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-5BDNPKRD.ChsausbG.js → diagram-5BDNPKRD.vnT6aJ57.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.3XsptNWj.js → diagram-G4DWMVQ6.hGYdrDa2.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-MMDJMWI5.DPA9Dk_P.js → diagram-MMDJMWI5.CmdSUP6L.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-TYMM5635.BVswXWrB.js → diagram-TYMM5635.BbAnLEBB.js} +1 -1
- package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.BSak5OSP.js → erDiagram-SMLLAGMA.H40W4HWE.js} +1 -1
- package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.CQgN4TTz.js → flowDiagram-DWJPFMVM.BFMtUSv-.js} +1 -1
- package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.GrT0kA4a.js → ganttDiagram-T4ZO3ILL.CbYiu7Dt.js} +1 -1
- package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.CdS7Ucll.js → gitGraphDiagram-UUTBAWPF.Cyc5mzZD.js} +1 -1
- package/dist/docs/assets/chunks/{graph.BVqKRmRo.js → graph.BRptDG1H.js} +1 -1
- package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.C3C9FRto.js → infoDiagram-42DDH7IO.Bz6KCA3a.js} +1 -1
- package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.2FuAh_Zj.js → ishikawaDiagram-UXIWVN3A.DDJ_7_Fq.js} +1 -1
- package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.CaHMfK4b.js → journeyDiagram-VCZTEJTY.D0t_ltlb.js} +1 -1
- package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.CjhIUwcA.js → kanban-definition-6JOO6SKY.DyyNsMfi.js} +1 -1
- package/dist/docs/assets/chunks/{layout.CGU3gfSf.js → layout.Cbxq-Rhp.js} +1 -1
- package/dist/docs/assets/chunks/{linear.DaihpW_n.js → linear.DxGYL0MP.js} +1 -1
- package/dist/docs/assets/chunks/{min.BS-j8kHQ.js → min.DA5KL8wu.js} +1 -1
- package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.BVJ1Bbnk.js → mindmap-definition-QFDTVHPH.Bc72Utls.js} +1 -1
- package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.Cz1WIv9r.js → pieDiagram-DEJITSTG.BtpHnIB_.js} +1 -1
- package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.DKLFxcjy.js → quadrantDiagram-34T5L4WZ.Cx4oCSRR.js} +1 -1
- package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.BHegiK7x.js → requirementDiagram-MS252O5E.BC0hXWlW.js} +1 -1
- package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.DYkY6yPc.js → sankeyDiagram-XADWPNL6.Dg8T1SEp.js} +1 -1
- package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.DYQ1QUrI.js → sequenceDiagram-FGHM5R23.CWSdHYAF.js} +1 -1
- package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.Iru8BsFo.js → stateDiagram-FHFEXIEX.0MVPRI28.js} +1 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.N4Am6sXd.js +1 -0
- package/dist/docs/assets/chunks/{theme.DaplWQhQ.js → theme.DO1avLBn.js} +2 -2
- package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.BwFA8hiX.js → timeline-definition-GMOUNBTQ.BuRinAVi.js} +1 -1
- package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.CZ60W1C_.js → vennDiagram-DHZGUBPP.DXf0PCoJ.js} +1 -1
- package/dist/docs/assets/chunks/wardley-RL74JXVD._eATmGtu.js +162 -0
- package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.B69D2r8-.js → wardleyDiagram-NUSXRM2D.T4ThngYV.js} +1 -1
- package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.CLPZEIU9.js → xychartDiagram-5P7HB3ND.b4pZF3D5.js} +1 -1
- package/dist/docs/assets/{reference_connections.md.Bljpve-y.js → reference_connections.md.DLrgAd5f.js} +1 -1
- package/dist/docs/assets/{reference_hooks.md.C5LCJ1R3.js → reference_hooks.md.B-eGa2km.js} +3 -3
- package/dist/docs/assets/{reference_hooks.md.C5LCJ1R3.lean.js → reference_hooks.md.B-eGa2km.lean.js} +1 -1
- package/dist/docs/assets/{reference_sessions.md.CM5zo3w4.js → reference_sessions.md.CyM7ARz1.js} +1 -1
- package/dist/docs/assets/{reference_skills.md.ClkMoQsV.js → reference_skills.md.C0guGcH0.js} +3 -3
- package/dist/docs/assets/{reference_tools.md.v3SXVSs_.js → reference_tools.md.DzIY9JzY.js} +3 -3
- package/dist/docs/assets/{reference_tools.md.v3SXVSs_.lean.js → reference_tools.md.DzIY9JzY.lean.js} +1 -1
- package/dist/docs/assets/{style.C130MVnH.css → style.Dwls12uf.css} +1 -1
- package/dist/docs/building-with-agents.html +37 -37
- 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/github.html +37 -37
- package/dist/docs/guides/gitlab.html +37 -37
- package/dist/docs/guides/grokbot-agents.html +37 -37
- package/dist/docs/guides/hooks.html +37 -37
- package/dist/docs/guides/improve.html +37 -37
- package/dist/docs/guides/jev.html +37 -37
- package/dist/docs/guides/mcp-oauth.html +37 -37
- package/dist/docs/guides/migrate.html +37 -37
- package/dist/docs/guides/opentelemetry.html +37 -37
- package/dist/docs/guides/slack.html +37 -37
- package/dist/docs/guides/webhooks.html +37 -37
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +37 -37
- package/dist/docs/index.html +37 -37
- package/dist/docs/llms-full.txt +15 -2
- package/dist/docs/quickstart.html +37 -37
- package/dist/docs/reference/agent-config.html +37 -37
- package/dist/docs/reference/artifacts.html +37 -37
- package/dist/docs/reference/channels.html +37 -37
- package/dist/docs/reference/cli.html +37 -37
- package/dist/docs/reference/connections.html +39 -39
- package/dist/docs/reference/connections.md +2 -1
- package/dist/docs/reference/evals.html +37 -37
- package/dist/docs/reference/extensions.html +37 -37
- package/dist/docs/reference/hooks.html +39 -39
- package/dist/docs/reference/hooks.md +1 -0
- package/dist/docs/reference/http-api.html +37 -37
- package/dist/docs/reference/instructions.html +37 -37
- package/dist/docs/reference/playground.html +36 -36
- package/dist/docs/reference/project-layout.html +37 -37
- package/dist/docs/reference/prompt.html +37 -37
- package/dist/docs/reference/schedules.html +37 -37
- package/dist/docs/reference/sessions.html +37 -37
- package/dist/docs/reference/sessions.md +1 -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 +11 -0
- 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/evals/assertions.d.ts.map +1 -1
- package/dist/evals/assertions.js +21 -19
- package/dist/evals/expect.js +1 -1
- package/dist/evals/judge.js +1 -1
- package/dist/evals/reporters.js +8 -8
- package/dist/evals/run-facts.js +2 -2
- package/dist/evals.js +6 -6
- package/dist/extensions/cursor-cloud-agents/extension.d.ts +2 -0
- package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/extension.js +2 -1
- package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts +16 -0
- package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/backend.js +44 -3
- package/dist/extensions/cursor-cloud-agents/lib/fleet.js +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/launch-agent.d.ts +23 -0
- package/dist/extensions/cursor-cloud-agents/lib/launch-agent.d.ts.map +1 -0
- package/dist/extensions/cursor-cloud-agents/lib/launch-agent.js +32 -0
- package/dist/extensions/cursor-cloud-agents/lib/repos.js +2 -2
- package/dist/extensions/cursor-cloud-agents/lib/transcript.js +2 -2
- package/dist/extensions/cursor-cloud-agents/lib/watch.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/watch.js +1 -1
- package/dist/extensions/cursor-cloud-agents/tools/launch.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/tools/launch.js +3 -8
- package/dist/extensions/cursor-cloud-agents/tools/list.js +1 -1
- package/dist/extensions/cursor-grokbot-agents/extension.js +3 -3
- package/dist/extensions/cursor-grokbot-agents/lib/agents.js +3 -3
- package/dist/extensions/cursor-grokbot-agents/lib/contacts.js +3 -3
- package/dist/extensions/cursor-grokbot-agents/lib/conversation.js +4 -4
- package/dist/extensions/cursor-grokbot-agents/tools/list.js +1 -1
- package/dist/extensions/improve/skills/yourself.js +1 -1
- package/dist/extensions/jev/extension.js +2 -2
- package/dist/extensions/jev/tools/evaluate.js +1 -1
- package/dist/extensions/slack-communication/tools/react.js +1 -1
- package/dist/files-backends/cursor-hosted.js +8 -8
- package/dist/files-backends/local-fs.js +1 -1
- package/dist/filesystem.d.ts.map +1 -1
- package/dist/filesystem.js +15 -15
- package/dist/internal/advertise-tools.d.ts +3 -2
- package/dist/internal/advertise-tools.d.ts.map +1 -1
- package/dist/internal/advertise-tools.js +11 -9
- package/dist/internal/approval-gate.js +1 -1
- package/dist/internal/artifacts-store.js +13 -13
- package/dist/internal/as-of.js +2 -2
- package/dist/internal/authored-alias-hooks.d.ts +4 -3
- package/dist/internal/authored-alias-hooks.d.ts.map +1 -1
- package/dist/internal/authored-alias-hooks.js +16 -7
- package/dist/internal/authored-loaders.d.ts.map +1 -1
- package/dist/internal/authored-loaders.js +21 -5
- package/dist/internal/builtin-tools/reminders.js +2 -2
- package/dist/internal/chat-client.js +5 -5
- package/dist/internal/cli-ax.js +14 -14
- package/dist/internal/cli-bitbucket.js +10 -10
- package/dist/internal/cli-convert-automation.js +2 -2
- package/dist/internal/cli-cursor.js +2 -2
- package/dist/internal/cli-deploy.d.ts.map +1 -1
- package/dist/internal/cli-deploy.js +40 -40
- package/dist/internal/cli-docs.js +5 -5
- package/dist/internal/cli-github.js +15 -15
- package/dist/internal/cli-gitlab.js +10 -10
- package/dist/internal/cli-images.js +16 -16
- package/dist/internal/cli-manifest.js +1 -1
- package/dist/internal/cli-mcp-oauth.js +5 -5
- package/dist/internal/cli-mcp.js +3 -3
- package/dist/internal/cli-migrate.js +1 -1
- package/dist/internal/cli-skills.js +2 -2
- package/dist/internal/cli-slack.js +5 -5
- package/dist/internal/cloud-turn-cost.js +1 -1
- package/dist/internal/continuation-identity.js +6 -6
- package/dist/internal/conversation-mirror.js +5 -5
- package/dist/internal/convert-automation/convert-workflow.js +24 -24
- package/dist/internal/cursor/account-mcp.d.ts.map +1 -1
- package/dist/internal/cursor/account-mcp.js +20 -20
- package/dist/internal/cursor/backend-client.js +6 -6
- package/dist/internal/cursor/credentials.js +1 -1
- package/dist/internal/cursor/store-api-client.js +1 -1
- package/dist/internal/cursor-account-mcp-auth.js +9 -9
- package/dist/internal/cursor-deployment-relay.d.ts.map +1 -1
- package/dist/internal/cursor-deployment-relay.js +9 -9
- package/dist/internal/cursor-event-relay.js +10 -10
- package/dist/internal/cursor-relay-core.js +2 -2
- package/dist/internal/deploy-manifest.d.ts +14 -0
- package/dist/internal/deploy-manifest.d.ts.map +1 -1
- package/dist/internal/deploy-manifest.js +33 -10
- package/dist/internal/discovery/agent-config.js +2 -2
- package/dist/internal/discovery/agent.js +6 -6
- package/dist/internal/discovery/connections.js +5 -5
- package/dist/internal/discovery/cursor-plugin.js +12 -12
- package/dist/internal/discovery/extension-overlay.js +3 -3
- package/dist/internal/discovery/extensions.js +6 -6
- package/dist/internal/discovery/info.js +9 -9
- package/dist/internal/discovery/instructions.js +1 -1
- package/dist/internal/discovery/project.js +3 -3
- package/dist/internal/discovery/services.js +1 -1
- package/dist/internal/discovery/tools.js +1 -1
- package/dist/internal/docs-site.js +2 -2
- package/dist/internal/env-file.js +1 -1
- package/dist/internal/eval-run-store.js +7 -7
- package/dist/internal/eval-runner.d.ts.map +1 -1
- package/dist/internal/eval-runner.js +14 -14
- package/dist/internal/eval-transport.js +1 -1
- package/dist/internal/evals-client.d.ts.map +1 -1
- package/dist/internal/evals-client.js +4 -4
- package/dist/internal/event-log.js +8 -8
- package/dist/internal/event-mapper.js +13 -13
- package/dist/internal/expected-delivery-failure.js +2 -2
- package/dist/internal/filesystem/format.js +2 -2
- package/dist/internal/filesystem/nearest.js +3 -3
- package/dist/internal/filesystem/scratch.js +3 -3
- package/dist/internal/filesystem/tools.js +6 -6
- package/dist/internal/filesystem/walk.d.ts.map +1 -1
- package/dist/internal/filesystem/walk.js +2 -2
- package/dist/internal/framework-file-storage.d.ts.map +1 -1
- package/dist/internal/framework-file-storage.js +6 -5
- package/dist/internal/framework-storage-selection.d.ts.map +1 -1
- package/dist/internal/framework-storage-selection.js +4 -2
- package/dist/internal/github-fanout.d.ts.map +1 -1
- package/dist/internal/github-fanout.js +3 -3
- package/dist/internal/guest-network.js +4 -4
- package/dist/internal/host-files.js +1 -1
- package/dist/internal/host-kv.js +2 -2
- package/dist/internal/hosted-catch-protocol.js +1 -1
- package/dist/internal/hosted-catch.js +1 -1
- package/dist/internal/hosted-delivery-protocol.d.ts +24 -0
- package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
- package/dist/internal/hosted-delivery-protocol.js +58 -14
- package/dist/internal/hosted-delivery.d.ts +6 -0
- package/dist/internal/hosted-delivery.d.ts.map +1 -1
- package/dist/internal/hosted-delivery.js +64 -13
- package/dist/internal/hosted-eval-cases.js +4 -4
- package/dist/internal/hosted-execution-diag.js +3 -3
- package/dist/internal/hosted-managed-automation.d.ts +3 -3
- package/dist/internal/hosted-managed-automation.js +3 -3
- package/dist/internal/hosting.js +1 -1
- package/dist/internal/http-channel.js +1 -1
- package/dist/internal/http-control-plane-session.js +2 -2
- package/dist/internal/init-interview.js +7 -7
- package/dist/internal/init-project.d.ts.map +1 -1
- package/dist/internal/init-project.js +12 -12
- package/dist/internal/inline-stdio-mcp.js +2 -2
- package/dist/internal/install-cursor-skills.js +11 -11
- package/dist/internal/json-schema.js +1 -1
- package/dist/internal/local-control-plane.js +3 -3
- package/dist/internal/local-env.js +3 -3
- package/dist/internal/log-ring.js +1 -1
- package/dist/internal/logs-client.js +1 -1
- package/dist/internal/mcp-endpoint.js +8 -8
- package/dist/internal/mcp-host.d.ts.map +1 -1
- package/dist/internal/mcp-host.js +5 -5
- package/dist/internal/mcp-oauth-on-demand.js +3 -3
- package/dist/internal/mcp-oauth.js +5 -5
- package/dist/internal/net.js +2 -2
- package/dist/internal/otel/config.js +3 -3
- package/dist/internal/otel/runtime.js +13 -13
- package/dist/internal/peer-connections.js +2 -2
- package/dist/internal/persistent-stage-log-mirror.d.ts +57 -0
- package/dist/internal/persistent-stage-log-mirror.d.ts.map +1 -0
- package/dist/internal/persistent-stage-log-mirror.js +231 -0
- package/dist/internal/platform-schedule-sync.js +1 -1
- package/dist/internal/platform-timers.js +1 -1
- package/dist/internal/playground/static.js +2 -2
- package/dist/internal/playground/toolchain.js +2 -2
- package/dist/internal/playground-proxy.js +3 -3
- package/dist/internal/process-memory-telemetry.js +1 -1
- package/dist/internal/reminder-runner.d.ts +1 -1
- package/dist/internal/reminder-runner.d.ts.map +1 -1
- package/dist/internal/reminder-runner.js +14 -16
- package/dist/internal/reminder-store.js +1 -1
- package/dist/internal/resolved-connections.js +8 -8
- package/dist/internal/router.js +4 -4
- package/dist/internal/run-client.js +2 -2
- package/dist/internal/schedule-runner.d.ts +13 -2
- package/dist/internal/schedule-runner.d.ts.map +1 -1
- package/dist/internal/schedule-runner.js +48 -9
- package/dist/internal/sdk-runner.d.ts +2 -1
- package/dist/internal/sdk-runner.d.ts.map +1 -1
- package/dist/internal/sdk-runner.js +13 -8
- package/dist/internal/serve-restart.js +1 -1
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +101 -76
- package/dist/internal/session-cost.js +3 -3
- package/dist/internal/session-engine.d.ts +8 -0
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +183 -118
- package/dist/internal/session-live-publisher.d.ts +48 -0
- package/dist/internal/session-live-publisher.d.ts.map +1 -0
- package/dist/internal/session-live-publisher.js +415 -0
- package/dist/internal/session-run-log.js +6 -6
- package/dist/internal/sessions-client.js +3 -3
- package/dist/internal/skill-catalog.js +2 -2
- package/dist/internal/sleep.js +1 -1
- package/dist/internal/start-log-store.d.ts +5 -1
- package/dist/internal/start-log-store.d.ts.map +1 -1
- package/dist/internal/start-log-store.js +5 -3
- package/dist/internal/storage-coordinator.js +12 -12
- package/dist/internal/store-api-protocol.d.ts +51 -0
- package/dist/internal/store-api-protocol.d.ts.map +1 -1
- package/dist/internal/store-api-protocol.js +39 -2
- package/dist/internal/store-mirror.js +4 -4
- package/dist/internal/stream-progress.d.ts.map +1 -1
- package/dist/internal/stream-progress.js +4 -0
- package/dist/internal/terminal-style.js +2 -2
- package/dist/internal/testing/conversation-identity-vectors.d.ts +48 -0
- package/dist/internal/testing/conversation-identity-vectors.d.ts.map +1 -0
- package/dist/internal/testing/conversation-identity-vectors.js +136 -0
- package/dist/internal/tool-call-retry.d.ts +87 -0
- package/dist/internal/tool-call-retry.d.ts.map +1 -0
- package/dist/internal/tool-call-retry.js +387 -0
- package/dist/internal/tool-result.js +3 -3
- package/dist/internal/trajectory.js +7 -7
- package/dist/internal/turn-governor.js +2 -2
- package/dist/internal/turn-outbox.js +1 -1
- package/dist/internal/update-check.d.ts.map +1 -1
- package/dist/internal/update-check.js +4 -2
- package/dist/internal/v2-hosting.d.ts +6 -0
- package/dist/internal/v2-hosting.d.ts.map +1 -1
- package/dist/internal/v2-hosting.js +7 -1
- package/dist/internal/workspace.js +4 -4
- package/dist/kv/memory-kv.js +3 -3
- package/dist/playground/assets/index-CzttDc-d.css +1 -0
- package/dist/playground/assets/{index-Be0-1hw2.js → index-DIiKbZ25.js} +42 -42
- package/dist/playground/index.html +2 -2
- package/dist/prompt.js +1 -1
- package/dist/storage-backends/cursor-hosted-v2.js +2 -2
- package/dist/storage-backends/file-kv.js +7 -7
- package/dist/storage-protocol.d.ts +7 -0
- package/dist/storage-protocol.d.ts.map +1 -1
- package/dist/storage-protocol.js +7 -0
- package/dist/storage.js +3 -3
- package/dist/types.d.ts +21 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -4
- package/docs/reference/connections.md +2 -1
- package/docs/reference/hooks.md +1 -0
- package/docs/reference/sessions.md +1 -1
- package/docs/reference/tools.md +11 -0
- package/package.json +6 -6
- package/templates/agentic-owners/bot/channels/github.ts +2 -2
- package/templates/agentic-owners/bot/lib/github.ts +7 -5
- package/templates/agentic-owners/bot/lib/owners/decision.ts +9 -9
- package/templates/agentic-owners/bot/lib/owners/handles.ts +2 -2
- package/templates/agentic-owners/bot/lib/owners/match.ts +5 -3
- package/templates/agentic-owners/bot/lib/owners/matching.ts +1 -1
- package/templates/agentic-owners/bot/lib/owners/parse.ts +4 -4
- package/templates/agentic-owners/bot/lib/owners/prompt.ts +1 -1
- package/templates/agentic-owners/bot/lib/review.ts +18 -17
- package/templates/agentic-owners/evals/owners.eval.ts +2 -2
- package/templates/agents-md/bot/lib/collect.ts +6 -6
- package/templates/agents-md/bot/lib/config.ts +1 -1
- package/templates/agents-md/bot/tools/apply_agents.ts +4 -4
- package/templates/code-wiki/bot/channels/github.ts +3 -3
- package/templates/code-wiki/bot/lib/repos.ts +1 -1
- package/templates/code-wiki/bot/tools/apply_wiki.ts +2 -2
- package/templates/demo/bot/lib/collect.ts +1 -1
- package/templates/demo/bot/lib/repos.ts +1 -1
- package/templates/demo/bot/tools/record_demo.ts +1 -1
- package/templates/pr-autofixer/bot/channels/github.ts +2 -2
- package/templates/pr-autofixer/bot/lib/merge-watch.ts +2 -2
- package/templates/pr-autofixer/bot/lib/repos.ts +2 -2
- package/templates/pr-autofixer/bot/lib/webhook-routing.ts +1 -1
- package/templates/security-help/bot/lib/repos.ts +1 -1
- package/templates/security-reviewer/bot/lib/repos.ts +1 -1
- package/templates/triage/bot/lib/actuate.ts +15 -15
- package/dist/docs/assets/chunks/@localSearchIndexroot.CtLtpWcx.js +0 -1
- package/dist/docs/assets/chunks/channel.CBwrU9rP.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CbC_mrvB.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CbC_mrvB.js +0 -1
- package/dist/docs/assets/chunks/clone.BTvFyY1a.js +0 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.BYXl4LW6.js +0 -1
- package/dist/docs/assets/chunks/wardley-RL74JXVD.iXazD3Z7.js +0 -162
- package/dist/playground/assets/index-Clz6uHj9.css +0 -1
- /package/dist/docs/assets/{reference_connections.md.Bljpve-y.lean.js → reference_connections.md.DLrgAd5f.lean.js} +0 -0
- /package/dist/docs/assets/{reference_sessions.md.CM5zo3w4.lean.js → reference_sessions.md.CyM7ARz1.lean.js} +0 -0
- /package/dist/docs/assets/{reference_skills.md.ClkMoQsV.lean.js → reference_skills.md.C0guGcH0.lean.js} +0 -0
|
@@ -160,7 +160,7 @@ export function findGitLabChannelTargets(mounts) {
|
|
|
160
160
|
if (meta?.kind !== GITLAB_CHANNEL_KIND) {
|
|
161
161
|
continue;
|
|
162
162
|
}
|
|
163
|
-
const postRoute = (channel.definition.routes ?? []).find(route => route.method === "POST");
|
|
163
|
+
const postRoute = (channel.definition.routes ?? []).find((route) => route.method === "POST");
|
|
164
164
|
targets.push({
|
|
165
165
|
slug,
|
|
166
166
|
channelId: channel.id,
|
|
@@ -84,7 +84,7 @@ function mergeRequestAttributes(input) {
|
|
|
84
84
|
author_id: mergeRequest.author?.id,
|
|
85
85
|
url: mergeRequest.web_url,
|
|
86
86
|
last_commit: { id: headSha },
|
|
87
|
-
labels: (mergeRequest.labels ?? []).map(title => ({ title })),
|
|
87
|
+
labels: (mergeRequest.labels ?? []).map((title) => ({ title })),
|
|
88
88
|
...(action === undefined ? {} : { action }),
|
|
89
89
|
...extra,
|
|
90
90
|
};
|
|
@@ -123,7 +123,7 @@ export function synthesizeGitLabEvent(input) {
|
|
|
123
123
|
action,
|
|
124
124
|
extra,
|
|
125
125
|
}),
|
|
126
|
-
labels: (mergeRequest.labels ?? []).map(title => ({ title })),
|
|
126
|
+
labels: (mergeRequest.labels ?? []).map((title) => ({ title })),
|
|
127
127
|
},
|
|
128
128
|
};
|
|
129
129
|
}
|
|
@@ -43,14 +43,14 @@ export function buildOriginBinding(input) {
|
|
|
43
43
|
return {
|
|
44
44
|
installationId: input.app?.installationId ?? input.installationId,
|
|
45
45
|
repository: input.repository,
|
|
46
|
-
request: request => getRestClient().request(request),
|
|
47
|
-
createCheck: check => createOriginCheck({
|
|
46
|
+
request: (request) => getRestClient().request(request),
|
|
47
|
+
createCheck: (check) => createOriginCheck({
|
|
48
48
|
...check,
|
|
49
49
|
executionId: check.executionId ?? input.executionId,
|
|
50
50
|
origin: getRestClient(),
|
|
51
51
|
owner: input.repository.owner,
|
|
52
52
|
repo: input.repository.name,
|
|
53
53
|
}),
|
|
54
|
-
reactToComment: reaction => setOriginCommentReaction({ ...reaction, origin: getRpcClient() }),
|
|
54
|
+
reactToComment: (reaction) => setOriginCommentReaction({ ...reaction, origin: getRpcClient() }),
|
|
55
55
|
};
|
|
56
56
|
}
|
|
@@ -137,7 +137,7 @@ export function resumeOriginCheck(input) {
|
|
|
137
137
|
*/
|
|
138
138
|
export function bindOriginChecks(input) {
|
|
139
139
|
return {
|
|
140
|
-
createCheck: check => createOriginCheck({
|
|
140
|
+
createCheck: (check) => createOriginCheck({
|
|
141
141
|
...check,
|
|
142
142
|
origin: input.origin,
|
|
143
143
|
owner: input.owner,
|
|
@@ -13,7 +13,7 @@ export const CURSOR_ORIGIN_MAX_REPOS = 20;
|
|
|
13
13
|
const CURSOR_ORIGIN_REPO_PATTERN = /^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/;
|
|
14
14
|
const runtimeByDefinition = new WeakMap();
|
|
15
15
|
export function parseCursorOriginRepoScope(values) {
|
|
16
|
-
const repos = [...new Set(values.map(repo => repo.trim().toLowerCase()).filter(Boolean))];
|
|
16
|
+
const repos = [...new Set(values.map((repo) => repo.trim().toLowerCase()).filter(Boolean))];
|
|
17
17
|
if (repos.length === 0) {
|
|
18
18
|
throw new Error("originChannel({ cursorAccount }) requires at least one repository.");
|
|
19
19
|
}
|
|
@@ -12,7 +12,7 @@ const COMMENT_EVENTS = ["pull_request.comment.created"];
|
|
|
12
12
|
const REVIEW_EVENTS = ["pull_request.review.submitted"];
|
|
13
13
|
export function deriveOriginWebhookEvents(options) {
|
|
14
14
|
if (options.webhookEvents !== undefined) {
|
|
15
|
-
return [...new Set(options.webhookEvents.map(event => event.trim()).filter(Boolean))];
|
|
15
|
+
return [...new Set(options.webhookEvents.map((event) => event.trim()).filter(Boolean))];
|
|
16
16
|
}
|
|
17
17
|
const events = [...BASE_WEBHOOK_EVENTS];
|
|
18
18
|
if (options.onComment !== undefined) {
|
|
@@ -21,15 +21,25 @@
|
|
|
21
21
|
* `origin-webhook` plus the Origin actor — not the Cursor subscriber —
|
|
22
22
|
* matching GitHub's `github-webhook` pattern.
|
|
23
23
|
*/
|
|
24
|
-
export
|
|
25
|
-
export
|
|
26
|
-
export
|
|
27
|
-
export
|
|
28
|
-
export
|
|
29
|
-
export
|
|
30
|
-
export
|
|
31
|
-
export
|
|
32
|
-
export
|
|
33
|
-
export
|
|
34
|
-
export
|
|
24
|
+
export type { CursorSessionTokenProvider, OriginApiMethod, OriginAppCredentials, OriginClient, OriginClientOptions, OriginTokenProvider, } from "./api.js";
|
|
25
|
+
export { createOriginClient, cursorSessionTokenProvider, DEFAULT_ORIGIN_PUBLIC_API_BASE_URL, DEFAULT_ORIGIN_RPC_BASE_URL, OriginApiError, originAppTokenProvider, originPublicApiBaseUrl, originRpcBaseUrl, resolveCursorSessionExchangeUrl, resolveOriginAppCredentialParts, resolveOriginAppCredentials, } from "./api.js";
|
|
26
|
+
export type { OriginHandle } from "./binding.js";
|
|
27
|
+
export { buildOriginBinding } from "./binding.js";
|
|
28
|
+
export type { OriginCheck, OriginCheckClient, OriginCheckConcludeInput, OriginCheckCreateInput, OriginCheckIdentityInput, OriginCheckOutput, OriginCheckRunConclusion, OriginCheckRunStatus, OriginCheckUpdateInput, } from "./checks.js";
|
|
29
|
+
export { bindOriginChecks, createOriginCheck, originCheckKeyFromName, resumeOriginCheck, } from "./checks.js";
|
|
30
|
+
export type { CursorOriginRepoScope, OriginCursorAccountRuntime } from "./cursor-account.js";
|
|
31
|
+
export { CURSOR_ORIGIN_MAX_REPOS, getOriginCursorAccountRuntime, parseCursorOriginRepoScope, registerOriginCursorAccountRuntime, } from "./cursor-account.js";
|
|
32
|
+
export type { BuildDefaultOriginEventsOptions } from "./defaults.js";
|
|
33
|
+
export { buildDefaultOriginEvents, formatOriginOutboundComment, ORIGIN_OUTBOUND_MARKER, } from "./defaults.js";
|
|
34
|
+
export type { OriginWebhookEventOptions } from "./events.js";
|
|
35
|
+
export { deriveOriginWebhookEvents, ORIGIN_CHANNEL_KIND } from "./events.js";
|
|
36
|
+
export type { OriginAgentMountLike, OriginChannelTarget } from "./origin-channel.js";
|
|
37
|
+
export { defaultOriginAuth, defaultOriginPullRequestDispatch, defaultOriginPullRequestMessage, defaultOriginTitle, dispatchOriginWebhook, envOriginAppId, findOriginChannelTargets, getOriginChannelOptions, handleOriginWebhookRequest, originChannel, originContinuationKey, originIngressExtractPayload, parseOriginPullRequestEvent, parseOriginWebhookEnvelope, } from "./origin-channel.js";
|
|
38
|
+
export type { FetchOriginJwksOptions, OriginJwk, OriginWebhookHeaders, VerifyOriginWebhookOptions, } from "./origin-webhook.js";
|
|
39
|
+
export { buildV1edSignedContentDigest, cacheControlMaxAgeMs, cacheControlStaleIfErrorMs, DEFAULT_ORIGIN_API_BASE_URL, fetchOriginJwks, OriginJwksUnavailableError, V1ED_SIGNATURE_VERSION, verifyOriginWebhook, verifyV1edWebhookPayload, } from "./origin-webhook.js";
|
|
40
|
+
export type { OriginCommentReaction, OriginCommentReactionInput, OriginReactionClient, } from "./reactions.js";
|
|
41
|
+
export { ORIGIN_COMMENT_REACTIONS, SET_ORIGIN_COMMENT_REACTION_PATH, setOriginCommentReaction, } from "./reactions.js";
|
|
42
|
+
export type { OriginChannelState } from "./state.js";
|
|
43
|
+
export { emptyOriginChannelState, originChannelStateForEvent } from "./state.js";
|
|
44
|
+
export type { OriginActor, OriginAppOptions, OriginChannelOptions, OriginCloudOptionsResolver, OriginComment, OriginCommentHook, OriginDispatch, OriginDispatchResult, OriginEventContext, OriginEventHook, OriginPullRequestEvent, OriginPullRequestHook, OriginRepositoryRef, OriginReview, OriginReviewHook, OriginTaskArgs, OriginTaskDispatch, OriginTurnDispatch, OriginWebhookEnvelope, } from "./types.js";
|
|
35
45
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/channels/origin/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/channels/origin/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,YAAY,EACV,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,kCAAkC,EAClC,2BAA2B,EAC3B,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,+BAA+B,EAC/B,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,0BAA0B,EAC1B,kCAAkC,GACnC,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,+BAA+B,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC7E,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EACL,iBAAiB,EACjB,gCAAgC,EAChC,+BAA+B,EAC/B,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,EACd,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,aAAa,EACb,qBAAqB,EACrB,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,sBAAsB,EACtB,SAAS,EACT,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,eAAe,EACf,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACjF,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
|
|
@@ -21,14 +21,13 @@
|
|
|
21
21
|
* `origin-webhook` plus the Origin actor — not the Cursor subscriber —
|
|
22
22
|
* matching GitHub's `github-webhook` pattern.
|
|
23
23
|
*/
|
|
24
|
-
export
|
|
25
|
-
export
|
|
26
|
-
export
|
|
27
|
-
export
|
|
28
|
-
export
|
|
29
|
-
export
|
|
30
|
-
export
|
|
31
|
-
export
|
|
32
|
-
export
|
|
33
|
-
export
|
|
34
|
-
export * from "./types.js";
|
|
24
|
+
export { createOriginClient, cursorSessionTokenProvider, DEFAULT_ORIGIN_PUBLIC_API_BASE_URL, DEFAULT_ORIGIN_RPC_BASE_URL, OriginApiError, originAppTokenProvider, originPublicApiBaseUrl, originRpcBaseUrl, resolveCursorSessionExchangeUrl, resolveOriginAppCredentialParts, resolveOriginAppCredentials, } from "./api.js";
|
|
25
|
+
export { buildOriginBinding } from "./binding.js";
|
|
26
|
+
export { bindOriginChecks, createOriginCheck, originCheckKeyFromName, resumeOriginCheck, } from "./checks.js";
|
|
27
|
+
export { CURSOR_ORIGIN_MAX_REPOS, getOriginCursorAccountRuntime, parseCursorOriginRepoScope, registerOriginCursorAccountRuntime, } from "./cursor-account.js";
|
|
28
|
+
export { buildDefaultOriginEvents, formatOriginOutboundComment, ORIGIN_OUTBOUND_MARKER, } from "./defaults.js";
|
|
29
|
+
export { deriveOriginWebhookEvents, ORIGIN_CHANNEL_KIND } from "./events.js";
|
|
30
|
+
export { defaultOriginAuth, defaultOriginPullRequestDispatch, defaultOriginPullRequestMessage, defaultOriginTitle, dispatchOriginWebhook, envOriginAppId, findOriginChannelTargets, getOriginChannelOptions, handleOriginWebhookRequest, originChannel, originContinuationKey, originIngressExtractPayload, parseOriginPullRequestEvent, parseOriginWebhookEnvelope, } from "./origin-channel.js";
|
|
31
|
+
export { buildV1edSignedContentDigest, cacheControlMaxAgeMs, cacheControlStaleIfErrorMs, DEFAULT_ORIGIN_API_BASE_URL, fetchOriginJwks, OriginJwksUnavailableError, V1ED_SIGNATURE_VERSION, verifyOriginWebhook, verifyV1edWebhookPayload, } from "./origin-webhook.js";
|
|
32
|
+
export { ORIGIN_COMMENT_REACTIONS, SET_ORIGIN_COMMENT_REACTION_PATH, setOriginCommentReaction, } from "./reactions.js";
|
|
33
|
+
export { emptyOriginChannelState, originChannelStateForEvent } from "./state.js";
|
|
@@ -84,7 +84,7 @@ function asIdList(value) {
|
|
|
84
84
|
if (value === undefined)
|
|
85
85
|
return [];
|
|
86
86
|
const items = typeof value === "string" ? [value] : [...value];
|
|
87
|
-
return [...new Set(items.map(id => id.trim()).filter(Boolean))];
|
|
87
|
+
return [...new Set(items.map((id) => id.trim()).filter(Boolean))];
|
|
88
88
|
}
|
|
89
89
|
/** `AGENT_SERVE_ORIGIN_APP_ID` fallback for {@link OriginChannelOptions.appId}. */
|
|
90
90
|
export function envOriginAppId() {
|
|
@@ -56,8 +56,8 @@ export function verifyV1edWebhookPayload(args) {
|
|
|
56
56
|
}), "utf8");
|
|
57
57
|
const candidateSignatures = signatureHeader
|
|
58
58
|
.split(/\s+/)
|
|
59
|
-
.filter(entry => entry.startsWith(`${V1ED_SIGNATURE_VERSION},`))
|
|
60
|
-
.map(entry => entry.slice(V1ED_SIGNATURE_VERSION.length + 1))
|
|
59
|
+
.filter((entry) => entry.startsWith(`${V1ED_SIGNATURE_VERSION},`))
|
|
60
|
+
.map((entry) => entry.slice(V1ED_SIGNATURE_VERSION.length + 1))
|
|
61
61
|
.slice(0, MAX_V1ED_CANDIDATE_SIGNATURES);
|
|
62
62
|
if (candidateSignatures.length === 0) {
|
|
63
63
|
return false;
|
|
@@ -221,7 +221,7 @@ export function buildAgenticEvents(options) {
|
|
|
221
221
|
if (skip(event, ctx.session.dryRun)) {
|
|
222
222
|
return;
|
|
223
223
|
}
|
|
224
|
-
const calls = event.data.calls.filter(call => !isOwnedSignal(call.toolName));
|
|
224
|
+
const calls = event.data.calls.filter((call) => !isOwnedSignal(call.toolName));
|
|
225
225
|
const line = takeToolChipLine(channel.state, status.tools, calls);
|
|
226
226
|
if (line === undefined) {
|
|
227
227
|
return;
|
|
@@ -439,7 +439,7 @@ async function applyEdit(args) {
|
|
|
439
439
|
ts,
|
|
440
440
|
text: edit.message,
|
|
441
441
|
}),
|
|
442
|
-
ok: slackTs => {
|
|
442
|
+
ok: (slackTs) => {
|
|
443
443
|
setPostedText(args.sessionId, slackTs, edit.message);
|
|
444
444
|
},
|
|
445
445
|
});
|
|
@@ -461,7 +461,7 @@ async function applyDelete(args) {
|
|
|
461
461
|
channel: channelId,
|
|
462
462
|
ts,
|
|
463
463
|
}),
|
|
464
|
-
ok: slackTs => {
|
|
464
|
+
ok: (slackTs) => {
|
|
465
465
|
remove(args.sessionId, removed.ts);
|
|
466
466
|
if (args.channel.state.lastBotMessageTs === slackTs) {
|
|
467
467
|
args.channel.state.lastBotMessageTs = latest(args.sessionId) ?? null;
|
|
@@ -34,7 +34,7 @@ export function isSignal(toolName, signal) {
|
|
|
34
34
|
return toolName === signal || toolName.endsWith(`__${signal}`);
|
|
35
35
|
}
|
|
36
36
|
export function isOwnedSignal(toolName) {
|
|
37
|
-
return OWNED_SIGNALS.some(signal => isSignal(toolName, signal));
|
|
37
|
+
return OWNED_SIGNALS.some((signal) => isSignal(toolName, signal));
|
|
38
38
|
}
|
|
39
39
|
function asObject(output) {
|
|
40
40
|
if (typeof output === "string") {
|
|
@@ -104,8 +104,8 @@ export function truncateTypingStatus(status, max) {
|
|
|
104
104
|
*/
|
|
105
105
|
export function truncateLoadingMessages(messages, nowMs = Date.now()) {
|
|
106
106
|
const cleaned = messages
|
|
107
|
-
.map(message => truncateTypingStatus(message, SLACK_LOADING_MESSAGE_MAX_LEN))
|
|
108
|
-
.filter(message => message.length > 0);
|
|
107
|
+
.map((message) => truncateTypingStatus(message, SLACK_LOADING_MESSAGE_MAX_LEN))
|
|
108
|
+
.filter((message) => message.length > 0);
|
|
109
109
|
if (cleaned.length <= SLACK_LOADING_MESSAGES_MAX) {
|
|
110
110
|
return cleaned;
|
|
111
111
|
}
|
|
@@ -158,7 +158,7 @@ export async function setThreadStatus(args) {
|
|
|
158
158
|
if (status.length > 0) {
|
|
159
159
|
const loadingRaw = args.loadingMessages !== undefined && args.loadingMessages.length > 0
|
|
160
160
|
? args.loadingMessages
|
|
161
|
-
: [status, ...SLACK_DEFAULT_LOADING_MESSAGES.filter(m => m !== status)];
|
|
161
|
+
: [status, ...SLACK_DEFAULT_LOADING_MESSAGES.filter((m) => m !== status)];
|
|
162
162
|
const loading_messages = truncateLoadingMessages(loadingRaw);
|
|
163
163
|
if (loading_messages.length > 0) {
|
|
164
164
|
body.loading_messages = loading_messages;
|
|
@@ -205,7 +205,7 @@ export async function setThreadTitle(args) {
|
|
|
205
205
|
export async function setSuggestedPrompts(args) {
|
|
206
206
|
const body = {
|
|
207
207
|
channel_id: args.channelId,
|
|
208
|
-
prompts: args.prompts.map(p => ({
|
|
208
|
+
prompts: args.prompts.map((p) => ({
|
|
209
209
|
title: p.title,
|
|
210
210
|
message: p.message,
|
|
211
211
|
})),
|
|
@@ -304,7 +304,7 @@ const SLACK_MRKDWN_LINK_PATTERN = /<https?:\/\/[^|>]+\|/;
|
|
|
304
304
|
export function markdownToSlackMrkdwn(markdown) {
|
|
305
305
|
const literals = [];
|
|
306
306
|
const placeholder = (index) => `\ue000SLACK_LITERAL_${index}\ue001`;
|
|
307
|
-
const protectedMarkdown = markdown.replace(SLACK_MRKDWN_LITERAL_PATTERN, literal => {
|
|
307
|
+
const protectedMarkdown = markdown.replace(SLACK_MRKDWN_LITERAL_PATTERN, (literal) => {
|
|
308
308
|
const index = literals.push(literal) - 1;
|
|
309
309
|
return placeholder(index);
|
|
310
310
|
});
|
|
@@ -61,7 +61,7 @@ export function redactSensitiveValues(value) {
|
|
|
61
61
|
return value;
|
|
62
62
|
}
|
|
63
63
|
if (Array.isArray(value)) {
|
|
64
|
-
return value.map(item => redactSensitiveValues(item));
|
|
64
|
+
return value.map((item) => redactSensitiveValues(item));
|
|
65
65
|
}
|
|
66
66
|
if (typeof value === "object") {
|
|
67
67
|
const out = {};
|
|
@@ -364,9 +364,9 @@ export async function prepareSlackAttachments(options) {
|
|
|
364
364
|
const maxFileBytes = options.maxFileBytes ?? DEFAULT_MAX_FILE_BYTES;
|
|
365
365
|
const maxTotalBytes = options.maxTotalBytes ?? DEFAULT_MAX_TOTAL_BYTES;
|
|
366
366
|
const downloadTimeoutMs = options.downloadTimeoutMs ?? DEFAULT_DOWNLOAD_TIMEOUT_MS;
|
|
367
|
-
const messageFileIds = new Set(options.files.map(file => file.id));
|
|
368
|
-
const threadFiles = (options.threadFiles ?? []).filter(file => !messageFileIds.has(file.id));
|
|
369
|
-
const threadFileIds = new Set(threadFiles.map(file => file.id));
|
|
367
|
+
const messageFileIds = new Set(options.files.map((file) => file.id));
|
|
368
|
+
const threadFiles = (options.threadFiles ?? []).filter((file) => !messageFileIds.has(file.id));
|
|
369
|
+
const threadFileIds = new Set(threadFiles.map((file) => file.id));
|
|
370
370
|
const loaded = await Promise.all([...options.files, ...threadFiles].slice(0, maxFiles).map(async (file) => {
|
|
371
371
|
const classification = classifySlackFile(file);
|
|
372
372
|
if (classification === undefined) {
|
|
@@ -35,7 +35,7 @@ export function mrkdwnSections(lines) {
|
|
|
35
35
|
if (current !== "") {
|
|
36
36
|
texts.push(current);
|
|
37
37
|
}
|
|
38
|
-
return texts.map(text => ({
|
|
38
|
+
return texts.map((text) => ({
|
|
39
39
|
type: "section",
|
|
40
40
|
text: { type: "mrkdwn", text },
|
|
41
41
|
}));
|
|
@@ -78,10 +78,10 @@ export function slackTableBlock(args) {
|
|
|
78
78
|
throw new Error(`slackTableBlock: row ${index} has ${row.length} cells; expected ${columnCount}`);
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
const headerRow = args.headers.map(header => slackRawTextCell(header));
|
|
81
|
+
const headerRow = args.headers.map((header) => slackRawTextCell(header));
|
|
82
82
|
const block = {
|
|
83
83
|
type: "table",
|
|
84
|
-
rows: [headerRow, ...args.rows.map(row => [...row])],
|
|
84
|
+
rows: [headerRow, ...args.rows.map((row) => [...row])],
|
|
85
85
|
};
|
|
86
86
|
if (args.columnSettings !== undefined && args.columnSettings.length > 0) {
|
|
87
87
|
block.column_settings = [...args.columnSettings];
|
|
@@ -79,7 +79,7 @@ export function buildDelegationMetadata(args) {
|
|
|
79
79
|
* construction (fail at definition time) and the gate (fail at start).
|
|
80
80
|
*/
|
|
81
81
|
export function normalizeBotMentionAllowlist(allowFrom) {
|
|
82
|
-
const entries = allowFrom.map(entry => entry.trim()).filter(entry => entry !== "");
|
|
82
|
+
const entries = allowFrom.map((entry) => entry.trim()).filter((entry) => entry !== "");
|
|
83
83
|
if (entries.length === 0) {
|
|
84
84
|
throw new Error("slackChannel engagement.botMentions.allowFrom must list at least one bot id (B…) or bot user id (U…); there is no wildcard.");
|
|
85
85
|
}
|
|
@@ -98,8 +98,8 @@ export function normalizeBotMentionAllowlist(allowFrom) {
|
|
|
98
98
|
export function botMentionsFromEnv(envVar = "AGENT_DELEGATOR_SLACK_BOT_IDS") {
|
|
99
99
|
const allowFrom = (process.env[envVar] ?? "")
|
|
100
100
|
.split(",")
|
|
101
|
-
.map(entry => entry.trim())
|
|
102
|
-
.filter(entry => entry !== "");
|
|
101
|
+
.map((entry) => entry.trim())
|
|
102
|
+
.filter((entry) => entry !== "");
|
|
103
103
|
return allowFrom.length === 0 ? undefined : { allowFrom };
|
|
104
104
|
}
|
|
105
105
|
/**
|
|
@@ -179,7 +179,7 @@ export class SlackBotMentionGate {
|
|
|
179
179
|
recent: [],
|
|
180
180
|
lastAtMs: nowMs,
|
|
181
181
|
};
|
|
182
|
-
budget.recent = budget.recent.filter(atMs => atMs > nowMs - this.windowMs);
|
|
182
|
+
budget.recent = budget.recent.filter((atMs) => atMs > nowMs - this.windowMs);
|
|
183
183
|
if (budget.total >= this.maxPerThreadTotal) {
|
|
184
184
|
return {
|
|
185
185
|
allow: false,
|
|
@@ -32,8 +32,8 @@ export const CHANNEL_POSTS_MAX_CHANNEL_IDS = 10;
|
|
|
32
32
|
* started. Top-level posts do not match it (`posts: "replies"`).
|
|
33
33
|
*/
|
|
34
34
|
export function channelPostsWatchEverywhere(entries) {
|
|
35
|
-
const trimmed = entries.map(entry => entry.trim()).filter(entry => entry !== "");
|
|
36
|
-
return trimmed.length > 0 && trimmed.every(entry => entry === "*");
|
|
35
|
+
const trimmed = entries.map((entry) => entry.trim()).filter((entry) => entry !== "");
|
|
36
|
+
return trimmed.length > 0 && trimmed.every((entry) => entry === "*");
|
|
37
37
|
}
|
|
38
38
|
/** The channel-id (`C…`/`G…`) entries of an allowlist, deduped. */
|
|
39
39
|
export function channelPostIdEntries(entries) {
|
|
@@ -54,7 +54,7 @@ export function validateChannelPostsAllow(entries) {
|
|
|
54
54
|
if (channelPostsWatchEverywhere(entries)) {
|
|
55
55
|
return undefined;
|
|
56
56
|
}
|
|
57
|
-
if (entries.some(entry => entry.trim() === "*")) {
|
|
57
|
+
if (entries.some((entry) => entry.trim() === "*")) {
|
|
58
58
|
return ('must not mix "*": a lone "*" watches every channel the bot is in, ' +
|
|
59
59
|
"thread replies only. Otherwise list channel ids (C…/G…), up to " +
|
|
60
60
|
`${CHANNEL_POSTS_MAX_CHANNEL_IDS} channels.`);
|
|
@@ -119,7 +119,7 @@ export class SlackChannelAllowlist {
|
|
|
119
119
|
* returns whatever resolved; the caller logs names that stayed unresolved.
|
|
120
120
|
*/
|
|
121
121
|
export async function resolveChannelNames(client, names, log = defaultSlackLog) {
|
|
122
|
-
const wanted = new Set(names.map(name => name.toLowerCase()));
|
|
122
|
+
const wanted = new Set(names.map((name) => name.toLowerCase()));
|
|
123
123
|
const resolved = new Map();
|
|
124
124
|
if (wanted.size === 0) {
|
|
125
125
|
return resolved;
|
|
@@ -126,9 +126,9 @@ async function mergeGitignore(path) {
|
|
|
126
126
|
}
|
|
127
127
|
const have = new Set(existing
|
|
128
128
|
.split(/\r?\n/)
|
|
129
|
-
.map(line => line.trim())
|
|
130
|
-
.filter(line => line !== ""));
|
|
131
|
-
const missing = lines.filter(line => !have.has(line));
|
|
129
|
+
.map((line) => line.trim())
|
|
130
|
+
.filter((line) => line !== ""));
|
|
131
|
+
const missing = lines.filter((line) => !have.has(line));
|
|
132
132
|
if (missing.length === 0) {
|
|
133
133
|
return false;
|
|
134
134
|
}
|
|
@@ -508,7 +508,7 @@ export async function dispatchInboundMessage(args) {
|
|
|
508
508
|
"",
|
|
509
509
|
media.userText,
|
|
510
510
|
]
|
|
511
|
-
.filter(part => part.length > 0)
|
|
511
|
+
.filter((part) => part.length > 0)
|
|
512
512
|
.join("\n");
|
|
513
513
|
const paintedStart = painted !== undefined;
|
|
514
514
|
const placeholderLine = args.placeholder;
|
|
@@ -35,7 +35,7 @@ export function parseSlackEvalDirective(text) {
|
|
|
35
35
|
if (body.length === 0) {
|
|
36
36
|
return null;
|
|
37
37
|
}
|
|
38
|
-
const tokens = body.split(/\s+/).filter(t => t.length > 0);
|
|
38
|
+
const tokens = body.split(/\s+/).filter((t) => t.length > 0);
|
|
39
39
|
if (tokens.length === 0 || !/^eval$/i.test(tokens[0] ?? "")) {
|
|
40
40
|
return null;
|
|
41
41
|
}
|
|
@@ -62,7 +62,7 @@ export async function paintSlackFooter(args) {
|
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
64
|
export function slackSessionFooter(opts) {
|
|
65
|
-
return ctx => {
|
|
65
|
+
return (ctx) => {
|
|
66
66
|
const url = dashboardSessionUrl(ctx.sessionId, { slug: opts?.slug });
|
|
67
67
|
if (url === undefined) {
|
|
68
68
|
return undefined;
|
|
@@ -223,7 +223,7 @@ export async function resolveBlockActionCard(args) {
|
|
|
223
223
|
ts: action.messageTs,
|
|
224
224
|
text: note,
|
|
225
225
|
blocks: [
|
|
226
|
-
...action.messageBlocks.filter(block => !clicked(block)),
|
|
226
|
+
...action.messageBlocks.filter((block) => !clicked(block)),
|
|
227
227
|
{ type: "context", elements: [{ type: "mrkdwn", text: note }] },
|
|
228
228
|
],
|
|
229
229
|
});
|
|
@@ -288,7 +288,7 @@ export async function dispatchBlockAction(payload, deps) {
|
|
|
288
288
|
await dispatchInboundMessage({
|
|
289
289
|
kind: "block_action",
|
|
290
290
|
message: blockActionAsMessage(action, deps.installTeamId),
|
|
291
|
-
handler: ctx => deps.handler(ctx, action),
|
|
291
|
+
handler: (ctx) => deps.handler(ctx, action),
|
|
292
292
|
send: deps.send,
|
|
293
293
|
credentials: deps.credentials,
|
|
294
294
|
host: deps.host,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/channels/slack/log.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEhE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAE1F,MAAM,WAAW,QAAQ;IACvB,gEAAgE;IAChE,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1D,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IACzD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IACzD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;CAC3D;AAED,qDAAqD;AACrD,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,MAAM,CAcpE;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,cAAc,GACtB,MAAM,CAGR;AAED,wBAAgB,iBAAiB,CAAC,KAAK,GAAE,
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/channels/slack/log.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEhE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAE1F,MAAM,WAAW,QAAQ;IACvB,gEAAgE;IAChE,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1D,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IACzD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IACzD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;CAC3D;AAED,qDAAqD;AACrD,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,MAAM,CAcpE;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,cAAc,GACtB,MAAM,CAGR;AAED,wBAAgB,iBAAiB,CAAC,KAAK,GAAE,aAA2C,GAAG,QAAQ,CAe9F;AAED,sDAAsD;AACtD,eAAO,MAAM,eAAe,EAAE,QAA8B,CAAC"}
|
|
@@ -25,7 +25,7 @@ export function formatSlackLogLine(level, message, fields) {
|
|
|
25
25
|
const levelTag = level === "info" ? "" : `${level} `;
|
|
26
26
|
return `${SLACK_LOG_PREFIX} ${levelTag}${message}${formatSlackLogFields(fields)}`;
|
|
27
27
|
}
|
|
28
|
-
export function createSlackLogger(write = line => console.log(line)) {
|
|
28
|
+
export function createSlackLogger(write = (line) => console.log(line)) {
|
|
29
29
|
const emit = (level, message, fields) => {
|
|
30
30
|
write(formatSlackLogLine(level, message, fields));
|
|
31
31
|
};
|
|
@@ -101,7 +101,7 @@ export function buildSlackManifest(options) {
|
|
|
101
101
|
const includeAgentView = options.assistant !== false;
|
|
102
102
|
const botScopes = includeAgentView
|
|
103
103
|
? [...BOT_SCOPES]
|
|
104
|
-
: BOT_SCOPES.filter(scope => scope !== "assistant:write");
|
|
104
|
+
: BOT_SCOPES.filter((scope) => scope !== "assistant:write");
|
|
105
105
|
const suggested = options.suggestedPrompts !== undefined ? options.suggestedPrompts : [];
|
|
106
106
|
return {
|
|
107
107
|
display_information: {
|
|
@@ -189,7 +189,7 @@ export async function materializeSlackNudgeCarrier(args) {
|
|
|
189
189
|
const hooks = { ...(existing.hooks ?? {}) };
|
|
190
190
|
const command = `node ${SLACK_NUDGE_CARRIER_REL}`;
|
|
191
191
|
for (const step of ["preToolUse", "postToolUse"]) {
|
|
192
|
-
const list = [...(hooks[step] ?? [])].filter(entry => !entry.command.includes("slack-nudge-carrier"));
|
|
192
|
+
const list = [...(hooks[step] ?? [])].filter((entry) => !entry.command.includes("slack-nudge-carrier"));
|
|
193
193
|
list.push({ command, failClosed: false });
|
|
194
194
|
hooks[step] = list;
|
|
195
195
|
}
|
|
@@ -82,7 +82,7 @@ export class SlackNudgeStore {
|
|
|
82
82
|
}
|
|
83
83
|
const pending = await this.listPending(continuationKey);
|
|
84
84
|
const hash = contentHash(text);
|
|
85
|
-
if (pending.some(item => item.sourceTs === sourceTs || item.contentHash === hash)) {
|
|
85
|
+
if (pending.some((item) => item.sourceTs === sourceTs || item.contentHash === hash)) {
|
|
86
86
|
return false;
|
|
87
87
|
}
|
|
88
88
|
const record = {
|
|
@@ -212,7 +212,7 @@ export class SlackNudgeStore {
|
|
|
212
212
|
return;
|
|
213
213
|
}
|
|
214
214
|
const pending = await this.listPending(key);
|
|
215
|
-
const record = pending.find(item => item.sourceTs === ts);
|
|
215
|
+
const record = pending.find((item) => item.sourceTs === ts);
|
|
216
216
|
await mkdir(this.deliveredDir(key), { recursive: true });
|
|
217
217
|
const dest = this.deliveredPath(key, ts);
|
|
218
218
|
const tmp = `${dest}.${process.pid}.tmp`;
|
|
@@ -54,7 +54,7 @@ export function createRecordingSlackSink(options = {}) {
|
|
|
54
54
|
const holdMethods = Array.isArray(options.hold) ? new Set(options.hold) : undefined;
|
|
55
55
|
const gated = holdAll || holdMethods !== undefined;
|
|
56
56
|
const gate = gated
|
|
57
|
-
? new Promise(resolve => {
|
|
57
|
+
? new Promise((resolve) => {
|
|
58
58
|
releaseHeld = resolve;
|
|
59
59
|
})
|
|
60
60
|
: Promise.resolve();
|
|
@@ -108,14 +108,14 @@ export function createRecordingSlackSink(options = {}) {
|
|
|
108
108
|
return {
|
|
109
109
|
transport,
|
|
110
110
|
calls,
|
|
111
|
-
methods: () => calls.map(call => call.method),
|
|
111
|
+
methods: () => calls.map((call) => call.method),
|
|
112
112
|
texts: () => calls
|
|
113
|
-
.filter(call => readableCall(call) !== undefined)
|
|
114
|
-
.map(call => textOf(call.args))
|
|
115
|
-
.filter(text => text !== ""),
|
|
113
|
+
.filter((call) => readableCall(call) !== undefined)
|
|
114
|
+
.map((call) => textOf(call.args))
|
|
115
|
+
.filter((text) => text !== ""),
|
|
116
116
|
firstReadable: () => firstReadableCall(calls),
|
|
117
117
|
lastReadable: () => lastReadableCall(calls),
|
|
118
|
-
chunks: () => calls.flatMap(call => {
|
|
118
|
+
chunks: () => calls.flatMap((call) => {
|
|
119
119
|
const chunks = call.args.chunks;
|
|
120
120
|
return Array.isArray(chunks) ? chunks : [];
|
|
121
121
|
}),
|
|
@@ -36,22 +36,22 @@ export const DEFAULT_REASONING_CARD_TITLE = "Thinking";
|
|
|
36
36
|
export const DEFAULT_REASONING_CARD_MAX_CHARS = 1500;
|
|
37
37
|
function resolveToolLabel(labels) {
|
|
38
38
|
if (labels === undefined) {
|
|
39
|
-
return toolName => toolName;
|
|
39
|
+
return (toolName) => toolName;
|
|
40
40
|
}
|
|
41
41
|
const lookup = typeof labels === "function" ? labels : (name) => labels[name];
|
|
42
|
-
return toolName => {
|
|
42
|
+
return (toolName) => {
|
|
43
43
|
const label = lookup(toolName);
|
|
44
44
|
return label === undefined || label === "" ? toolName : label;
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
47
|
function defaultToolStatusLine(toolLabel) {
|
|
48
|
-
return calls => {
|
|
49
|
-
const names = [...new Set(calls.map(call => toolLabel(call.toolName)))];
|
|
48
|
+
return (calls) => {
|
|
49
|
+
const names = [...new Set(calls.map((call) => toolLabel(call.toolName)))];
|
|
50
50
|
return `Running ${names.join(", ")}…`;
|
|
51
51
|
};
|
|
52
52
|
}
|
|
53
53
|
function resolveIdle(idle) {
|
|
54
|
-
const cleaned = (idle ?? []).filter(line => line.trim() !== "");
|
|
54
|
+
const cleaned = (idle ?? []).filter((line) => line.trim() !== "");
|
|
55
55
|
return cleaned.length > 0 ? cleaned : [...SLACK_DEFAULT_LOADING_MESSAGES];
|
|
56
56
|
}
|
|
57
57
|
function resolveReasoningCard(option) {
|
|
@@ -131,7 +131,7 @@ export function resolveSlackReply(options) {
|
|
|
131
131
|
if (options.reply !== undefined) {
|
|
132
132
|
reply = options.reply;
|
|
133
133
|
if (legacy !== null) {
|
|
134
|
-
const ignored = ["streaming", "thinkingSteps", "loadingMessages"].filter(key => options[key] !== undefined);
|
|
134
|
+
const ignored = ["streaming", "thinkingSteps", "loadingMessages"].filter((key) => options[key] !== undefined);
|
|
135
135
|
deprecations.push(`slackChannel({ ${ignored.join(", ")} }) is ignored because reply is set; remove the deprecated option${ignored.length === 1 ? "" : "s"}.`);
|
|
136
136
|
}
|
|
137
137
|
}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The agent's own Slack identity
|
|
3
|
-
*
|
|
2
|
+
* The agent's own Slack identity. A turn's prompt carries it so the model
|
|
3
|
+
* can tell which `<@U…>` mention is itself.
|
|
4
4
|
*/
|
|
5
5
|
import type { SlackBotToken } from "./types.js";
|
|
6
6
|
export interface SlackSelfIdentity {
|
|
7
7
|
/** The app's bot *user* id (`U…`) — what `<@…>` mentions carry. */
|
|
8
8
|
userId: string;
|
|
9
|
-
/**
|
|
9
|
+
/**
|
|
10
|
+
* Name Slack shows for this app: the profile name from `users.info`, or
|
|
11
|
+
* the `auth.test` handle when that lookup yields nothing.
|
|
12
|
+
*/
|
|
10
13
|
name?: string;
|
|
11
14
|
}
|
|
12
15
|
export declare function resetSlackSelfIdentityCache(): void;
|
|
13
|
-
/** Cached per token. A missing token or any failure resolves to undefined. */
|
|
16
|
+
/** Cached per token. A missing token or any `auth.test` failure resolves to undefined. */
|
|
14
17
|
export declare function resolveSlackSelfIdentity(botToken: SlackBotToken | undefined): Promise<SlackSelfIdentity | undefined>;
|
|
15
18
|
//# sourceMappingURL=self-identity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self-identity.d.ts","sourceRoot":"","sources":["../../../src/channels/slack/self-identity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"self-identity.d.ts","sourceRoot":"","sources":["../../../src/channels/slack/self-identity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,MAAM,WAAW,iBAAiB;IAChC,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAID,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAYD,0FAA0F;AAC1F,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,aAAa,GAAG,SAAS,GAClC,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CA0BxC"}
|