@cursor/july 0.1.93 → 0.1.94
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +8 -20
- package/README.md +4 -26
- package/dist/channels/slack/attachments.js +2 -2
- package/dist/channels/slack/dispatch.d.ts +0 -7
- package/dist/channels/slack/dispatch.d.ts.map +1 -1
- package/dist/channels/slack/dispatch.js +4 -7
- package/dist/channels/slack/eval-directive.d.ts +5 -12
- package/dist/channels/slack/eval-directive.d.ts.map +1 -1
- package/dist/channels/slack/eval-directive.js +8 -19
- package/dist/channels/slack/index.d.ts +0 -6
- package/dist/channels/slack/index.d.ts.map +1 -1
- package/dist/channels/slack/index.js +0 -6
- package/dist/channels/slack/setup.d.ts +4 -4
- package/dist/channels/slack/setup.d.ts.map +1 -1
- package/dist/channels/slack/setup.js +8 -15
- package/dist/channels/slack/slack-channel.d.ts +6 -13
- package/dist/channels/slack/slack-channel.d.ts.map +1 -1
- package/dist/channels/slack/slack-channel.js +15 -101
- package/dist/channels/slack/types.d.ts +12 -79
- package/dist/channels/slack/types.d.ts.map +1 -1
- package/dist/channels/slack/types.js +1 -15
- package/dist/client.d.ts +14 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +12 -0
- package/dist/connections.d.ts +18 -9
- package/dist/connections.d.ts.map +1 -1
- package/dist/connections.js +17 -8
- package/dist/docs/404.html +2 -2
- package/dist/docs/ab.html +4 -4
- package/dist/docs/assets/{app.CjWU-x0z.js → app.CFDEas4I.js} +1 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.DU3U2Ij2.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.Cxy8ySFQ.js → VPLocalSearchBox.B1IIYpYS.js} +1 -1
- package/dist/docs/assets/chunks/{theme.Dvq1Bktu.js → theme.Ct4NSiLm.js} +2 -2
- package/dist/docs/assets/concepts.md.lwAgBIMI.js +1 -0
- package/dist/docs/assets/{deployment.md.DoLFAzfm.js → deployment.md.D9msOFOW.js} +3 -8
- package/dist/docs/assets/{deployment.md.DoLFAzfm.lean.js → deployment.md.D9msOFOW.lean.js} +1 -1
- package/dist/docs/assets/{guides_agent-to-agent.md.B3JIaAqz.js → guides_agent-to-agent.md.BDb0t1QV.js} +1 -1
- package/dist/docs/assets/guides_cloud-runtime.md.CkYbjnAX.js +9 -0
- package/dist/docs/assets/guides_cloud-runtime.md.CkYbjnAX.lean.js +1 -0
- package/dist/docs/assets/{guides_convert-automation.md.Bboisykk.js → guides_convert-automation.md.B4sjlodG.js} +1 -1
- package/dist/docs/assets/{guides_github.md.DqJhuaN1.js → guides_github.md.Cnh2mL4a.js} +1 -1
- package/dist/docs/assets/{guides_mcp-oauth.md.CJvrXtkN.js → guides_mcp-oauth.md.DPYmBCbV.js} +7 -9
- package/dist/docs/assets/{guides_mcp-oauth.md.CJvrXtkN.lean.js → guides_mcp-oauth.md.DPYmBCbV.lean.js} +1 -1
- package/dist/docs/assets/{guides_slack.md.mqeNKs84.js → guides_slack.md.C32HsdKk.js} +5 -11
- package/dist/docs/assets/guides_slack.md.C32HsdKk.lean.js +1 -0
- package/dist/docs/assets/index.md.DRakGHFe.js +5 -0
- package/dist/docs/assets/{index.md.B-lVR4wT.lean.js → index.md.DRakGHFe.lean.js} +1 -1
- package/dist/docs/assets/{quickstart.md.BrmfrrIr.js → quickstart.md.Nj_LjW_a.js} +1 -1
- package/dist/docs/assets/{reference_cli.md.D9KESDsD.js → reference_cli.md.Cw6_ICYG.js} +1 -1
- package/dist/docs/assets/{reference_connections.md.DB6SsN6U.js → reference_connections.md.BH8Oc0D0.js} +5 -5
- package/dist/docs/assets/{reference_connections.md.DB6SsN6U.lean.js → reference_connections.md.BH8Oc0D0.lean.js} +1 -1
- package/dist/docs/assets/{reference_hooks.md.BxN87gCw.js → reference_hooks.md.a8BJxMR5.js} +1 -1
- package/dist/docs/assets/reference_http-api.md.D89k1mdm.js +11 -0
- package/dist/docs/assets/reference_http-api.md.D89k1mdm.lean.js +1 -0
- package/dist/docs/assets/reference_project-layout.md.Bv4KOtlB.js +19 -0
- package/dist/docs/assets/{reference_skills.md.BFW9retM.js → reference_skills.md.8son6Hjm.js} +3 -3
- package/dist/docs/assets/{reference_subagents.md.Xoav0AII.js → reference_subagents.md.CfsIloPm.js} +1 -1
- package/dist/docs/assets/{reference_tools.md.DuKvkYWG.js → reference_tools.md.BHeXn2id.js} +3 -3
- package/dist/docs/assets/{reference_tools.md.DuKvkYWG.lean.js → reference_tools.md.BHeXn2id.lean.js} +1 -1
- package/dist/docs/assets/{templates_pr-autofixer.md.R4K_qytS.js → templates_pr-autofixer.md.DU7dQpor.js} +2 -2
- package/dist/docs/assets/{templates_pr-autofixer.md.R4K_qytS.lean.js → templates_pr-autofixer.md.DU7dQpor.lean.js} +1 -1
- package/dist/docs/assets/{templates_security-reviewer.md.ByFyRta2.js → templates_security-reviewer.md.CTa7u_l1.js} +2 -2
- package/dist/docs/assets/{templates_security-reviewer.md.ByFyRta2.lean.js → templates_security-reviewer.md.CTa7u_l1.lean.js} +1 -1
- package/dist/docs/assets/troubleshooting.md.Ctv3T8C2.js +1 -0
- package/dist/docs/building-with-agents.html +4 -4
- package/dist/docs/concepts.html +5 -5
- package/dist/docs/concepts.md +1 -0
- package/dist/docs/deployment.html +7 -12
- package/dist/docs/deployment.md +1 -20
- package/dist/docs/design/agsh.md +406 -0
- package/dist/docs/evals.html +4 -4
- package/dist/docs/guides/agent-to-agent.html +6 -6
- package/dist/docs/guides/agent-to-agent.md +2 -2
- package/dist/docs/guides/cloud-runtime.html +6 -6
- package/dist/docs/guides/cloud-runtime.md +1 -0
- package/dist/docs/guides/convert-automation.html +6 -6
- package/dist/docs/guides/convert-automation.md +1 -1
- package/dist/docs/guides/github.html +6 -6
- package/dist/docs/guides/github.md +4 -4
- package/dist/docs/guides/human-in-the-loop.html +4 -4
- package/dist/docs/guides/mcp-oauth.html +11 -13
- package/dist/docs/guides/mcp-oauth.md +10 -18
- package/dist/docs/guides/opentelemetry.html +5 -5
- package/dist/docs/guides/slack.html +9 -15
- package/dist/docs/guides/slack.md +9 -46
- package/dist/docs/guides/webhooks.html +4 -4
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +4 -4
- package/dist/docs/index.html +6 -6
- package/dist/docs/index.md +0 -28
- package/dist/docs/llms-full.txt +712 -2830
- package/dist/docs/llms.txt +2 -16
- package/dist/docs/quickstart.html +6 -6
- package/dist/docs/quickstart.md +2 -3
- package/dist/docs/reference/agent-config.html +4 -4
- package/dist/docs/reference/artifacts.html +4 -4
- package/dist/docs/reference/channels.html +4 -4
- package/dist/docs/reference/cli.html +6 -6
- package/dist/docs/reference/cli.md +2 -1
- package/dist/docs/reference/connections.html +9 -9
- package/dist/docs/reference/connections.md +15 -11
- package/dist/docs/reference/hooks.html +6 -6
- package/dist/docs/reference/hooks.md +2 -3
- package/dist/docs/reference/http-api.html +6 -6
- package/dist/docs/reference/http-api.md +8 -0
- package/dist/docs/reference/instructions.html +4 -4
- package/dist/docs/reference/playground.html +4 -4
- package/dist/docs/reference/project-layout.html +8 -6
- package/dist/docs/reference/project-layout.md +5 -1
- package/dist/docs/reference/prompt.html +4 -4
- package/dist/docs/reference/schedules.html +4 -4
- package/dist/docs/reference/sessions.html +4 -4
- package/dist/docs/reference/skills.html +7 -7
- package/dist/docs/reference/subagents.html +6 -6
- package/dist/docs/reference/subagents.md +2 -2
- package/dist/docs/reference/tools.html +7 -7
- package/dist/docs/reference/tools.md +19 -3
- package/dist/docs/scaffolding-agents.html +4 -4
- package/dist/docs/storage.html +4 -4
- package/dist/docs/templates/agentic-owners.html +4 -4
- package/dist/docs/templates/demo.html +4 -4
- package/dist/docs/templates/pr-autofixer.html +6 -6
- package/dist/docs/templates/pr-autofixer.md +4 -3
- package/dist/docs/templates/security-reviewer.html +5 -5
- package/dist/docs/templates/security-reviewer.md +2 -3
- package/dist/docs/templates/triage.html +4 -4
- package/dist/docs/troubleshooting.html +5 -5
- package/dist/docs/troubleshooting.md +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/internal/advertise-tools.d.ts +11 -0
- package/dist/internal/advertise-tools.d.ts.map +1 -1
- package/dist/internal/advertise-tools.js +47 -9
- package/dist/internal/cli-mcp-oauth.d.ts.map +1 -1
- package/dist/internal/cli-mcp-oauth.js +7 -4
- package/dist/internal/convert-automation/convert-workflow.d.ts.map +1 -1
- package/dist/internal/convert-automation/convert-workflow.js +26 -15
- package/dist/internal/convert-automation/slug.d.ts +0 -2
- package/dist/internal/convert-automation/slug.d.ts.map +1 -1
- package/dist/internal/convert-automation/slug.js +0 -8
- package/dist/internal/cursor/account-mcp.d.ts.map +1 -1
- package/dist/internal/cursor/account-mcp.js +5 -1
- package/dist/internal/discovery.d.ts.map +1 -1
- package/dist/internal/discovery.js +88 -13
- package/dist/internal/hosted-delivery.d.ts.map +1 -1
- package/dist/internal/hosted-delivery.js +22 -9
- package/dist/internal/mcp-endpoint.js +3 -3
- package/dist/internal/mcp-host.d.ts +8 -7
- package/dist/internal/mcp-host.d.ts.map +1 -1
- package/dist/internal/mcp-host.js +8 -7
- package/dist/internal/peer-connections.d.ts.map +1 -1
- package/dist/internal/peer-connections.js +5 -1
- package/dist/internal/playground/static.d.ts +0 -3
- package/dist/internal/playground/static.d.ts.map +1 -1
- package/dist/internal/resolved-connections.d.ts.map +1 -1
- package/dist/internal/resolved-connections.js +5 -7
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +113 -172
- package/dist/internal/session-engine.d.ts +45 -10
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +208 -65
- package/dist/internal/tool-catalog.d.ts +31 -0
- package/dist/internal/tool-catalog.d.ts.map +1 -0
- package/dist/internal/tool-catalog.js +67 -0
- package/dist/playground/assets/{index-D9MFzhNE.js → index-B3JCyigB.js} +1 -1
- package/dist/playground/index.html +1 -1
- package/dist/types.d.ts +72 -23
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +19 -0
- package/docs/README.md +0 -28
- package/docs/concepts.md +1 -0
- package/docs/deployment.md +1 -20
- package/docs/design/agsh.md +406 -0
- package/docs/guides/agent-to-agent.md +2 -2
- package/docs/guides/cloud-runtime.md +1 -0
- package/docs/guides/convert-automation.md +1 -1
- package/docs/guides/github.md +4 -4
- package/docs/guides/mcp-oauth.md +10 -18
- package/docs/guides/slack.md +10 -47
- package/docs/quickstart.md +2 -3
- package/docs/reference/cli.md +2 -1
- package/docs/reference/connections.md +15 -11
- package/docs/reference/hooks.md +2 -3
- package/docs/reference/http-api.md +8 -0
- package/docs/reference/project-layout.md +5 -1
- package/docs/reference/subagents.md +2 -2
- package/docs/reference/tools.md +19 -3
- package/docs/templates/pr-autofixer.md +4 -3
- package/docs/templates/security-reviewer.md +2 -3
- package/docs/troubleshooting.md +2 -2
- package/package.json +9 -2
- package/skills/create-agent/SKILL.md +6 -13
- package/skills/debug/SKILL.md +2 -4
- package/skills/evals/SKILL.md +1 -1
- package/skills/framework-map/SKILL.md +3 -2
- package/skills/mcp-auth/SKILL.md +10 -13
- package/skills/setup-slack/SKILL.md +21 -137
- package/src/channels/slack/attachments.ts +2 -2
- package/src/channels/slack/dispatch.ts +2 -16
- package/src/channels/slack/eval-directive.ts +8 -27
- package/src/channels/slack/index.ts +0 -6
- package/src/channels/slack/setup.ts +8 -15
- package/src/channels/slack/slack-channel.ts +14 -125
- package/src/channels/slack/types.ts +12 -96
- package/src/client.ts +23 -0
- package/src/connections.ts +20 -7
- package/src/index.ts +2 -0
- package/src/internal/advertise-tools.ts +45 -7
- package/src/internal/cli-mcp-oauth.ts +6 -4
- package/src/internal/convert-automation/convert-workflow.ts +29 -17
- package/src/internal/convert-automation/slug.ts +0 -9
- package/src/internal/cursor/account-mcp.ts +4 -1
- package/src/internal/discovery.ts +104 -13
- package/src/internal/fixtures/units-server.ts +52 -0
- package/src/internal/hosted-delivery.ts +60 -28
- package/src/internal/mcp-endpoint.ts +3 -3
- package/src/internal/mcp-host.ts +8 -7
- package/src/internal/peer-connections.ts +4 -1
- package/src/internal/playground/static.ts +1 -3
- package/src/internal/resolved-connections.ts +8 -10
- package/src/internal/server.ts +151 -251
- package/src/internal/session-engine.ts +254 -69
- package/src/internal/tool-catalog.ts +106 -0
- package/src/types.ts +90 -23
- package/templates/pr-autofixer/agent/channels/slack.ts +8 -2
- package/templates/triage/README.md +2 -1
- package/templates/triage/overlays/jira/agent/mcp-connections/tracker.ts +0 -1
- package/templates/triage/overlays/linear/agent/mcp-connections/tracker.ts +0 -1
- package/dist/channels/slack/cursor-account.d.ts +0 -87
- package/dist/channels/slack/cursor-account.d.ts.map +0 -1
- package/dist/channels/slack/cursor-account.js +0 -100
- package/dist/docs/assets/chunks/@localSearchIndexroot.ChpIC3Zy.js +0 -1
- package/dist/docs/assets/concepts.md.F6AiPorA.js +0 -1
- package/dist/docs/assets/example-agents_approval-buddy.md.DmezILPg.js +0 -10
- package/dist/docs/assets/example-agents_approval-buddy.md.DmezILPg.lean.js +0 -1
- package/dist/docs/assets/example-agents_benny.md.B0kwY7D_.js +0 -5
- package/dist/docs/assets/example-agents_benny.md.B0kwY7D_.lean.js +0 -1
- package/dist/docs/assets/example-agents_bugbot.md.BRGMi9O2.js +0 -11
- package/dist/docs/assets/example-agents_bugbot.md.BRGMi9O2.lean.js +0 -1
- package/dist/docs/assets/example-agents_codebase-wiki.md.BBNw9Ekr.js +0 -8
- package/dist/docs/assets/example-agents_codebase-wiki.md.BBNw9Ekr.lean.js +0 -1
- package/dist/docs/assets/example-agents_codeowners-review.md.Bfta-lBU.js +0 -8
- package/dist/docs/assets/example-agents_codeowners-review.md.Bfta-lBU.lean.js +0 -1
- package/dist/docs/assets/example-agents_concierge.md.BzB2b20R.js +0 -22
- package/dist/docs/assets/example-agents_concierge.md.BzB2b20R.lean.js +0 -1
- package/dist/docs/assets/example-agents_index.md.ChBp0AX6.js +0 -2
- package/dist/docs/assets/example-agents_index.md.ChBp0AX6.lean.js +0 -1
- package/dist/docs/assets/example-agents_knowledge-base.md.CrA85ig-.js +0 -11
- package/dist/docs/assets/example-agents_knowledge-base.md.CrA85ig-.lean.js +0 -1
- package/dist/docs/assets/example-agents_oncall.md.DK4XkYTd.js +0 -10
- package/dist/docs/assets/example-agents_oncall.md.DK4XkYTd.lean.js +0 -1
- package/dist/docs/assets/example-agents_security-reviewer.md.74pPpWYj.js +0 -19
- package/dist/docs/assets/example-agents_security-reviewer.md.74pPpWYj.lean.js +0 -1
- package/dist/docs/assets/example-agents_slack-agent.md.D7Kdj5BV.js +0 -5
- package/dist/docs/assets/example-agents_slack-agent.md.D7Kdj5BV.lean.js +0 -1
- package/dist/docs/assets/example-agents_weather-agent.md.CaGpmw3Y.js +0 -25
- package/dist/docs/assets/example-agents_weather-agent.md.CaGpmw3Y.lean.js +0 -1
- package/dist/docs/assets/guides_cloud-runtime.md.BnvjPiia.js +0 -9
- package/dist/docs/assets/guides_cloud-runtime.md.BnvjPiia.lean.js +0 -1
- package/dist/docs/assets/guides_slack.md.mqeNKs84.lean.js +0 -1
- package/dist/docs/assets/index.md.B-lVR4wT.js +0 -5
- package/dist/docs/assets/reference_http-api.md.C68BERYr.js +0 -11
- package/dist/docs/assets/reference_http-api.md.C68BERYr.lean.js +0 -1
- package/dist/docs/assets/reference_project-layout.md.WN9nwJht.js +0 -17
- package/dist/docs/assets/troubleshooting.md.vCWwvqcJ.js +0 -1
- package/dist/docs/example-agents/approval-buddy.html +0 -36
- package/dist/docs/example-agents/approval-buddy.md +0 -266
- package/dist/docs/example-agents/benny.html +0 -31
- package/dist/docs/example-agents/benny.md +0 -173
- package/dist/docs/example-agents/bugbot.html +0 -37
- package/dist/docs/example-agents/bugbot.md +0 -229
- package/dist/docs/example-agents/codebase-wiki.html +0 -34
- package/dist/docs/example-agents/codebase-wiki.md +0 -167
- package/dist/docs/example-agents/codeowners-review.html +0 -34
- package/dist/docs/example-agents/codeowners-review.md +0 -192
- package/dist/docs/example-agents/concierge.html +0 -48
- package/dist/docs/example-agents/concierge.md +0 -200
- package/dist/docs/example-agents/index.html +0 -28
- package/dist/docs/example-agents/index.md +0 -99
- package/dist/docs/example-agents/knowledge-base.html +0 -37
- package/dist/docs/example-agents/knowledge-base.md +0 -168
- package/dist/docs/example-agents/oncall.html +0 -36
- package/dist/docs/example-agents/oncall.md +0 -212
- package/dist/docs/example-agents/security-reviewer.html +0 -45
- package/dist/docs/example-agents/security-reviewer.md +0 -265
- package/dist/docs/example-agents/slack-agent.html +0 -31
- package/dist/docs/example-agents/slack-agent.md +0 -142
- package/dist/docs/example-agents/weather-agent.html +0 -51
- package/dist/docs/example-agents/weather-agent.md +0 -297
- package/dist/internal/cursor-slack-relay.d.ts +0 -96
- package/dist/internal/cursor-slack-relay.d.ts.map +0 -1
- package/dist/internal/cursor-slack-relay.js +0 -176
- package/docs/example-agents/approval-buddy.md +0 -271
- package/docs/example-agents/benny.md +0 -178
- package/docs/example-agents/bugbot.md +0 -234
- package/docs/example-agents/codebase-wiki.md +0 -172
- package/docs/example-agents/codeowners-review.md +0 -197
- package/docs/example-agents/concierge.md +0 -205
- package/docs/example-agents/index.md +0 -104
- package/docs/example-agents/knowledge-base.md +0 -173
- package/docs/example-agents/oncall.md +0 -217
- package/docs/example-agents/security-reviewer.md +0 -270
- package/docs/example-agents/slack-agent.md +0 -147
- package/docs/example-agents/weather-agent.md +0 -302
- package/src/channels/slack/cursor-account.ts +0 -202
- package/src/internal/cursor-slack-relay.ts +0 -249
- /package/dist/docs/assets/{concepts.md.F6AiPorA.lean.js → concepts.md.lwAgBIMI.lean.js} +0 -0
- /package/dist/docs/assets/{guides_agent-to-agent.md.B3JIaAqz.lean.js → guides_agent-to-agent.md.BDb0t1QV.lean.js} +0 -0
- /package/dist/docs/assets/{guides_convert-automation.md.Bboisykk.lean.js → guides_convert-automation.md.B4sjlodG.lean.js} +0 -0
- /package/dist/docs/assets/{guides_github.md.DqJhuaN1.lean.js → guides_github.md.Cnh2mL4a.lean.js} +0 -0
- /package/dist/docs/assets/{quickstart.md.BrmfrrIr.lean.js → quickstart.md.Nj_LjW_a.lean.js} +0 -0
- /package/dist/docs/assets/{reference_cli.md.D9KESDsD.lean.js → reference_cli.md.Cw6_ICYG.lean.js} +0 -0
- /package/dist/docs/assets/{reference_hooks.md.BxN87gCw.lean.js → reference_hooks.md.a8BJxMR5.lean.js} +0 -0
- /package/dist/docs/assets/{reference_project-layout.md.WN9nwJht.lean.js → reference_project-layout.md.Bv4KOtlB.lean.js} +0 -0
- /package/dist/docs/assets/{reference_skills.md.BFW9retM.lean.js → reference_skills.md.8son6Hjm.lean.js} +0 -0
- /package/dist/docs/assets/{reference_subagents.md.Xoav0AII.lean.js → reference_subagents.md.CfsIloPm.lean.js} +0 -0
- /package/dist/docs/assets/{troubleshooting.md.vCWwvqcJ.lean.js → troubleshooting.md.Ctv3T8C2.lean.js} +0 -0
|
@@ -21,7 +21,6 @@ import { slackContinuationKey } from "./api.js";
|
|
|
21
21
|
import { normalizeBotMentionAllowlist, SLACK_BOT_MENTION_DEFAULTS, SlackBotMentionGate, } from "./bot-mentions.js";
|
|
22
22
|
import { createChannelPostWatcher, resolveChannelNames, SlackChannelAllowlist, } from "./channel-watch.js";
|
|
23
23
|
import { credentialsFromEnv, slackEnvKeys, tryResolveAppToken, tryResolveBotToken, } from "./credentials.js";
|
|
24
|
-
import { createPendingSlackApiTransport, registerSlackCursorAccountRuntime, } from "./cursor-account.js";
|
|
25
24
|
import { buildDefaultEvents, createDefaultOnChannelPost, createDefaultOnInbound, resolveSlackBlockExternals, } from "./defaults.js";
|
|
26
25
|
import { dispatchInboundFromEventBody, dispatchInboundMessage, emptySlackChannelState, } from "./dispatch.js";
|
|
27
26
|
import { createEventIdDedupe } from "./event-id-dedupe.js";
|
|
@@ -29,7 +28,6 @@ import { dispatchBlockAction, dispatchInteractiveFromPayload, } from "./interact
|
|
|
29
28
|
import { createSlackLogger } from "./log.js";
|
|
30
29
|
import { startSlackSocketMode, } from "./socket-mode.js";
|
|
31
30
|
import { buildToolApprovalEvents } from "./tool-approval-events.js";
|
|
32
|
-
import { assertSlackCursorAgentName, } from "./types.js";
|
|
33
31
|
/** Options used to construct a slack channel — for host-level credential binding. */
|
|
34
32
|
const slackChannelOptionsByDefinition = new WeakMap();
|
|
35
33
|
/**
|
|
@@ -40,15 +38,14 @@ export function getSlackChannelOptions(definition) {
|
|
|
40
38
|
return slackChannelOptionsByDefinition.get(definition);
|
|
41
39
|
}
|
|
42
40
|
/**
|
|
43
|
-
* First
|
|
44
|
-
* `cursorAccount` channels — those have no local bot token for
|
|
41
|
+
* First Slack channel on a project. Used for
|
|
45
42
|
* {@link HostContext.slack.getClient}.
|
|
46
43
|
*/
|
|
47
44
|
export function resolveDedicatedSlackHostBinding(channels) {
|
|
48
45
|
var _a;
|
|
49
46
|
for (const channel of channels) {
|
|
50
47
|
const options = slackChannelOptionsByDefinition.get(channel.definition);
|
|
51
|
-
if (options === undefined
|
|
48
|
+
if (options === undefined) {
|
|
52
49
|
continue;
|
|
53
50
|
}
|
|
54
51
|
return {
|
|
@@ -61,86 +58,27 @@ export function resolveDedicatedSlackHostBinding(channels) {
|
|
|
61
58
|
/**
|
|
62
59
|
* Create a Slack channel. Author as `agent/channels/slack.ts` default export.
|
|
63
60
|
*
|
|
64
|
-
* Missing credentials are not an error: without a token pair
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
* When `cursorAccount` is on, `agentName` must be a single token (no
|
|
69
|
-
* whitespace) — string literals with spaces fail at the type level;
|
|
70
|
-
* runtime values are still checked by {@link assertSlackCursorAgentName}.
|
|
61
|
+
* Missing credentials are not an error: without a token pair the channel
|
|
62
|
+
* mounts idle and logs `channel idle`, so serving an agent never blocks
|
|
63
|
+
* on Slack setup.
|
|
71
64
|
*/
|
|
72
65
|
export function slackChannel(authored = {}) {
|
|
73
|
-
var _a, _b, _c, _d;
|
|
74
|
-
var _e, _f, _g, _h, _j;
|
|
66
|
+
var _a, _b, _c, _d, _e;
|
|
75
67
|
const options = Object.assign({}, authored);
|
|
76
68
|
if (options.continuation !== undefined) {
|
|
77
69
|
options.continuation = normalizeIdentity(options.continuation, "slack");
|
|
78
70
|
}
|
|
79
|
-
const
|
|
80
|
-
if (cursorAccount) {
|
|
81
|
-
// Token pair and the Cursor connection are different Slack apps —
|
|
82
|
-
// they can't be mixed on one channel definition.
|
|
83
|
-
if (options.credentials !== undefined || options.envPrefix !== undefined) {
|
|
84
|
-
throw new Error("slackChannel({ cursorAccount: true }) uses the Cursor account's Slack connection — do not also set credentials/envPrefix. Author a second slack channel file for a dedicated Slack app.");
|
|
85
|
-
}
|
|
86
|
-
if (options.agentName !== undefined) {
|
|
87
|
-
assertSlackCursorAgentName(options.agentName);
|
|
88
|
-
}
|
|
89
|
-
// Channel watching is Socket Mode only — cursorAccount agents must be
|
|
90
|
-
// explicitly addressed (@mention, DM, or claimed-thread reply).
|
|
91
|
-
if (((_a = options.engagement) === null || _a === void 0 ? void 0 : _a.channelPosts) !== undefined) {
|
|
92
|
-
throw new Error("slackChannel({ cursorAccount: true }) does not support engagement.channelPosts — agents must be explicitly addressed (@mention, DM, or claimed-thread reply). Channel watching is Socket Mode only.");
|
|
93
|
-
}
|
|
94
|
-
// Bot-mention wake needs the app's own bot identity (auth.test) and
|
|
95
|
-
// Socket Mode event delivery; the Cursor relay drops bot-authored
|
|
96
|
-
// mentions before they reach the agent.
|
|
97
|
-
if (((_b = options.engagement) === null || _b === void 0 ? void 0 : _b.botMentions) !== undefined) {
|
|
98
|
-
throw new Error("slackChannel({ cursorAccount: true }) does not support engagement.botMentions — bot-to-bot mention wake is Socket Mode only (author a dedicated Slack app channel).");
|
|
99
|
-
}
|
|
100
|
-
// Mentions/DMs are always routed by the backend. Disabling them
|
|
101
|
-
// client-side would black-hole events the webhook already stole from
|
|
102
|
-
// native Cursor handling — reject at construction instead.
|
|
103
|
-
if (((_c = options.engagement) === null || _c === void 0 ? void 0 : _c.mentions) === false) {
|
|
104
|
-
throw new Error("slackChannel({ cursorAccount: true }) cannot set engagement.mentions to false — the Cursor Slack relay always delivers mention and claimed-thread traffic.");
|
|
105
|
-
}
|
|
106
|
-
if (((_d = options.engagement) === null || _d === void 0 ? void 0 : _d.directMessages) === false) {
|
|
107
|
-
throw new Error("slackChannel({ cursorAccount: true }) cannot set engagement.directMessages to false — DM continuity is part of the Cursor Slack connection.");
|
|
108
|
-
}
|
|
109
|
-
// Tool approvals / interactivity ride Slack Socket Mode `interactive`
|
|
110
|
-
// envelopes; the Cursor connection does not relay Block Kit clicks, so
|
|
111
|
-
// there is no backend tap to route Approve/Deny over cursorAccount.
|
|
112
|
-
// Reject at construction (same posture as channelPosts) instead of
|
|
113
|
-
// silently dropping clicks. Approvals stay available on a dedicated
|
|
114
|
-
// Socket Mode Slack app channel.
|
|
115
|
-
if (options.toolApprovals === true) {
|
|
116
|
-
throw new Error("slackChannel({ cursorAccount: true }) does not support toolApprovals — Approve/Deny clicks are not relayed over the Cursor Slack connection. Tool approvals are Socket Mode only (author a dedicated Slack app channel for them).");
|
|
117
|
-
}
|
|
118
|
-
if (options.interactivity === true) {
|
|
119
|
-
throw new Error("slackChannel({ cursorAccount: true }) does not support interactivity — interactive Block Kit clicks are not relayed over the Cursor Slack connection. Interactivity is Socket Mode only.");
|
|
120
|
-
}
|
|
121
|
-
if (options.onBlockAction !== undefined) {
|
|
122
|
-
throw new Error("slackChannel({ cursorAccount: true }) does not support onBlockAction — interactive Block Kit clicks are not relayed over the Cursor Slack connection. Block actions are Socket Mode only.");
|
|
123
|
-
}
|
|
124
|
-
if (options.onReactionAdded !== undefined) {
|
|
125
|
-
throw new Error("slackChannel({ cursorAccount: true }) does not support onReactionAdded because the Cursor Slack relay does not forward reaction events. Reaction handling is Socket Mode only.");
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
const accountTransport = cursorAccount
|
|
129
|
-
? createPendingSlackApiTransport()
|
|
130
|
-
: undefined;
|
|
131
|
-
const credentials = accountTransport !== undefined
|
|
132
|
-
? { botToken: accountTransport }
|
|
133
|
-
: ((_e = options.credentials) !== null && _e !== void 0 ? _e : credentialsFromEnv(options.envPrefix));
|
|
71
|
+
const credentials = (_a = options.credentials) !== null && _a !== void 0 ? _a : credentialsFromEnv(options.envPrefix);
|
|
134
72
|
const envKeys = slackEnvKeys(options.envPrefix);
|
|
135
73
|
const loadingMessages = options.loadingMessages;
|
|
136
74
|
const policy = options.policy;
|
|
137
75
|
const blockExternals = resolveSlackBlockExternals(policy);
|
|
138
76
|
const defaultInbound = createDefaultOnInbound(loadingMessages, policy);
|
|
139
|
-
const onAppMention = (
|
|
140
|
-
const onDirectMessage = (
|
|
77
|
+
const onAppMention = (_b = options.onAppMention) !== null && _b !== void 0 ? _b : defaultInbound;
|
|
78
|
+
const onDirectMessage = (_c = options.onDirectMessage) !== null && _c !== void 0 ? _c : defaultInbound;
|
|
141
79
|
const onReactionAdded = options.onReactionAdded;
|
|
142
|
-
const onChannelPost = (
|
|
143
|
-
const engagement = (
|
|
80
|
+
const onChannelPost = (_d = options.onChannelPost) !== null && _d !== void 0 ? _d : createDefaultOnChannelPost(loadingMessages, policy);
|
|
81
|
+
const engagement = (_e = options.engagement) !== null && _e !== void 0 ? _e : {};
|
|
144
82
|
const mentionsEnabled = engagement.mentions !== false;
|
|
145
83
|
const directMessagesEnabled = engagement.directMessages !== false;
|
|
146
84
|
const evalCommandsEnabled = options.evalCommands !== false;
|
|
@@ -169,9 +107,7 @@ export function slackChannel(authored = {}) {
|
|
|
169
107
|
if (options.deliverDefaults !== false) {
|
|
170
108
|
Object.assign(events, buildDefaultEvents({
|
|
171
109
|
credentials,
|
|
172
|
-
|
|
173
|
-
// final postMessage for the reply (proxy pins agent username/icon).
|
|
174
|
-
streaming: cursorAccount ? false : options.streaming,
|
|
110
|
+
streaming: options.streaming,
|
|
175
111
|
thinkingSteps: options.thinkingSteps,
|
|
176
112
|
suggestedPrompts: options.suggestedPrompts,
|
|
177
113
|
suggestedPromptsTitle: options.suggestedPromptsTitle,
|
|
@@ -192,9 +128,8 @@ export function slackChannel(authored = {}) {
|
|
|
192
128
|
eventIds, host: args.host, artifacts: args.artifacts, log: getLog(), mentionsEnabled,
|
|
193
129
|
directMessagesEnabled,
|
|
194
130
|
evalCommandsEnabled,
|
|
195
|
-
followUpStatus,
|
|
196
|
-
|
|
197
|
-
blockExternals: cursorAccount ? false : blockExternals }), (args.hasContinuationSession === undefined
|
|
131
|
+
followUpStatus,
|
|
132
|
+
blockExternals }), (args.hasContinuationSession === undefined
|
|
198
133
|
? {}
|
|
199
134
|
: { hasContinuationSession: args.hasContinuationSession })), (args.isContinuationBusy === undefined
|
|
200
135
|
? {}
|
|
@@ -210,7 +145,7 @@ export function slackChannel(authored = {}) {
|
|
|
210
145
|
auth: [allowAll()],
|
|
211
146
|
state: emptySlackChannelState(),
|
|
212
147
|
routes: [],
|
|
213
|
-
meta: Object.assign(
|
|
148
|
+
meta: Object.assign({ kind: "slack" }, (channelPosts === undefined
|
|
214
149
|
? {}
|
|
215
150
|
: { slackChannelPosts: [...channelPosts.allow] })),
|
|
216
151
|
receive(input_1, _a) {
|
|
@@ -253,13 +188,6 @@ export function slackChannel(authored = {}) {
|
|
|
253
188
|
return __awaiter(this, void 0, void 0, function* () {
|
|
254
189
|
var _a, _b, _c, _d, _e, _f;
|
|
255
190
|
runtime.log = createSlackLogger((_a = args.logger) !== null && _a !== void 0 ? _a : options.logger);
|
|
256
|
-
if (cursorAccount) {
|
|
257
|
-
// Inbound arrives through the serve host's Cursor Slack relay
|
|
258
|
-
// (`/v0/slack-events`), not Socket Mode; outbound goes through the
|
|
259
|
-
// bound API transport. Nothing to start here.
|
|
260
|
-
getLog().info("channel start", { transport: "cursor-account" });
|
|
261
|
-
return;
|
|
262
|
-
}
|
|
263
191
|
getLog().info("channel start", { transport: "socket" });
|
|
264
192
|
const appToken = yield tryResolveAppToken(credentials);
|
|
265
193
|
const botToken = yield tryResolveBotToken(credentials);
|
|
@@ -446,19 +374,5 @@ export function slackChannel(authored = {}) {
|
|
|
446
374
|
}),
|
|
447
375
|
});
|
|
448
376
|
slackChannelOptionsByDefinition.set(definition, options);
|
|
449
|
-
if (accountTransport !== undefined) {
|
|
450
|
-
// Serve-time seam: the host discovers cursor-account channels through
|
|
451
|
-
// this registry, binds the outbound transport, and dispatches relayed
|
|
452
|
-
// inbound envelopes through the pack's normal path.
|
|
453
|
-
registerSlackCursorAccountRuntime(definition, {
|
|
454
|
-
options,
|
|
455
|
-
credentials,
|
|
456
|
-
transport: accountTransport,
|
|
457
|
-
eventIds,
|
|
458
|
-
onAppMention,
|
|
459
|
-
onDirectMessage,
|
|
460
|
-
getLog,
|
|
461
|
-
});
|
|
462
|
-
}
|
|
463
377
|
return definition;
|
|
464
378
|
}
|
|
@@ -5,14 +5,13 @@ import type { ContinuationIdentity } from "../../continuation.js";
|
|
|
5
5
|
import type { AgentCloudOptions, ArtifactsApi, AuthContext, ChannelEventHandlers, HostContext } from "../../types.js";
|
|
6
6
|
/**
|
|
7
7
|
* Pluggable Slack Web API caller. Instead of holding a raw `xoxb-…` token,
|
|
8
|
-
* calls are executed by `call
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* platform errors) and only throw on programmer error.
|
|
8
|
+
* calls are executed by `call`. Implementations return the Slack response
|
|
9
|
+
* body (including `ok: false` platform errors) and only throw on
|
|
10
|
+
* programmer error.
|
|
12
11
|
*/
|
|
13
12
|
export interface SlackApiTransport {
|
|
14
13
|
kind: "api-transport";
|
|
15
|
-
/** Human-readable transport label for logs
|
|
14
|
+
/** Human-readable transport label for logs. */
|
|
16
15
|
label: string;
|
|
17
16
|
call(method: string, args: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
18
17
|
}
|
|
@@ -101,8 +100,8 @@ export interface SlackMessageFile {
|
|
|
101
100
|
mode?: string;
|
|
102
101
|
size?: number;
|
|
103
102
|
/**
|
|
104
|
-
* When set
|
|
105
|
-
*
|
|
103
|
+
* When set, bytes were already downloaded by the caller. Skip a second
|
|
104
|
+
* `files.info` / private URL fetch.
|
|
106
105
|
*/
|
|
107
106
|
dataBase64?: string;
|
|
108
107
|
}
|
|
@@ -291,8 +290,7 @@ export interface SlackChannelPostsOptions {
|
|
|
291
290
|
* channel the bot is in. Must be non-empty (empty is a definition error).
|
|
292
291
|
* `#names` are resolved to ids via `conversations.list` when the channel
|
|
293
292
|
* starts; the bot must be a member of each watched channel to receive its
|
|
294
|
-
* messages.
|
|
295
|
-
* `engagement.channelPosts`.
|
|
293
|
+
* messages.
|
|
296
294
|
*
|
|
297
295
|
* `"*"` suits agents whose handler decides per message (a thread the agent
|
|
298
296
|
* is already in, say) rather than per channel. Every delivered message then
|
|
@@ -341,11 +339,8 @@ export interface SlackBotMentionsOptions {
|
|
|
341
339
|
* - `"U…"` — a bot *user* id.
|
|
342
340
|
* - `"<botId>:<username>"` — compound: the posting app's `bot_id` AND its
|
|
343
341
|
* message `username` must both match (case-insensitive username). Use
|
|
344
|
-
* this
|
|
345
|
-
*
|
|
346
|
-
* agent's `username` server-side — `"B0CURSOR…:Lasso"` trusts only the
|
|
347
|
-
* Cursor app posting as Lasso, not every Cursor-connected agent.
|
|
348
|
-
* Fails closed when the event carries no username.
|
|
342
|
+
* this when several agents post through one app under different
|
|
343
|
+
* usernames. Fails closed when the event carries no username.
|
|
349
344
|
*
|
|
350
345
|
* Must be non-empty (empty is a definition error).
|
|
351
346
|
*/
|
|
@@ -388,29 +383,9 @@ export interface SlackEngagementOptions {
|
|
|
388
383
|
channelPosts?: SlackChannelPostsOptions;
|
|
389
384
|
/**
|
|
390
385
|
* Opt-in bot-to-bot mention wake (see {@link SlackBotMentionsOptions}).
|
|
391
|
-
* Socket Mode only — rejected on `cursorAccount: true`.
|
|
392
386
|
*/
|
|
393
387
|
botMentions?: SlackBotMentionsOptions;
|
|
394
388
|
}
|
|
395
|
-
/**
|
|
396
|
-
* Whitespace forbidden in {@link SlackChannelOptions.agentName}. The Cursor
|
|
397
|
-
* Slack router matches on leading words; multi-word names collide with Named
|
|
398
|
-
* Agent shortened-prefix matching (`Approval …` stealing `ApprovalBuddy`).
|
|
399
|
-
*/
|
|
400
|
-
type SlackAgentNameWhitespace = " " | "\t" | "\n" | "\r" | "\f" | "\v";
|
|
401
|
-
/**
|
|
402
|
-
* Single-token Cursor Slack handle for `cursorAccount` routing
|
|
403
|
-
* (`@Cursor <name> …`). String literals that contain whitespace become
|
|
404
|
-
* `never` (type error at the call site); plain `string` stays `string` and
|
|
405
|
-
* is still rejected at runtime by {@link assertSlackCursorAgentName}.
|
|
406
|
-
*/
|
|
407
|
-
export type SlackCursorAgentName<S extends string = string> = string extends S ? string : S extends `${string}${SlackAgentNameWhitespace}${string}` ? never : S;
|
|
408
|
-
/**
|
|
409
|
-
* Runtime guard for {@link SlackChannelOptions.agentName}. Call from
|
|
410
|
-
* `slackChannel({ cursorAccount: true })` construction and serve-time
|
|
411
|
-
* name resolution so derived defaults cannot sneak spaces in.
|
|
412
|
-
*/
|
|
413
|
-
export declare function assertSlackCursorAgentName(name: string): void;
|
|
414
389
|
/** `"thread"` = anyone in the thread (default); `"author"` = session starter only. */
|
|
415
390
|
export type SlackRespondTo = "thread" | "author";
|
|
416
391
|
export interface SlackAccessPolicy {
|
|
@@ -436,41 +411,6 @@ export interface SlackChannelOptions {
|
|
|
436
411
|
* Ignored when `credentials` is set explicitly.
|
|
437
412
|
*/
|
|
438
413
|
envPrefix?: string;
|
|
439
|
-
/**
|
|
440
|
-
* Use the signed-in Cursor account's Slack connection instead of a
|
|
441
|
-
* dedicated Slack app: no bot/app tokens, no extra install. Inbound
|
|
442
|
-
* traffic (`@Cursor <agent name> …` mentions, replies in threads the
|
|
443
|
-
* agent owns, and DMs) is relayed from the Cursor backend
|
|
444
|
-
* (`/v0/slack-events`), and outbound Web API calls are proxied through it
|
|
445
|
-
* — the agent posts as the Cursor Slack app with this agent's name and
|
|
446
|
-
* icon.
|
|
447
|
-
*
|
|
448
|
-
* Both paths stay first-class: omit this (default) for the classic
|
|
449
|
-
* Socket-Mode channel with your own Slack app and tokens. Requires a
|
|
450
|
-
* signed-in host (`agent-serve login` / `CURSOR_API_KEY`) and a Slack
|
|
451
|
-
* account linked to the Cursor account. Mutually exclusive with
|
|
452
|
-
* `credentials` / `envPrefix`. `engagement.mentions: false` and
|
|
453
|
-
* `engagement.directMessages: false` are rejected (the relay always
|
|
454
|
-
* carries that traffic). Channel watching (`engagement.channelPosts`) and
|
|
455
|
-
* tool approvals / interactivity (`toolApprovals` / `interactivity`) are
|
|
456
|
-
* Socket Mode only — not supported on cursorAccount; agents must be
|
|
457
|
-
* explicitly addressed, and Approve/Deny buttons need a dedicated Slack
|
|
458
|
-
* app.
|
|
459
|
-
*/
|
|
460
|
-
cursorAccount?: boolean;
|
|
461
|
-
/**
|
|
462
|
-
* Single-token display name registered with the Cursor backend when
|
|
463
|
-
* {@link cursorAccount} is on: `@Cursor <agentName> …` routes here, and
|
|
464
|
-
* replies post under this username. **No whitespace** — prefer PascalCase
|
|
465
|
-
* (`ApprovalBuddy`). Defaults to a PascalCase name derived from the
|
|
466
|
-
* agent's mount slug (or project name).
|
|
467
|
-
*/
|
|
468
|
-
agentName?: SlackCursorAgentName;
|
|
469
|
-
/** Avatar for posts when {@link cursorAccount} is on. */
|
|
470
|
-
agentIcon?: {
|
|
471
|
-
url?: string;
|
|
472
|
-
emoji?: string;
|
|
473
|
-
};
|
|
474
414
|
/**
|
|
475
415
|
* Optional log sink. When omitted, uses `console.log` until the server
|
|
476
416
|
* mounts the channel and rebinds to {@link ServeOptions.logger}.
|
|
@@ -508,9 +448,7 @@ export interface SlackChannelOptions {
|
|
|
508
448
|
deliverDefaults?: boolean;
|
|
509
449
|
/**
|
|
510
450
|
* Stream assistant text while the turn runs via `chat.startStream` /
|
|
511
|
-
* `appendStream` / `stopStream` (defaults to `true`
|
|
512
|
-
* Ignored when {@link cursorAccount} is on — that path never edits posts
|
|
513
|
-
* (`setStatus` + one final `chat.postMessage` only).
|
|
451
|
+
* `appendStream` / `stopStream` (defaults to `true`).
|
|
514
452
|
*/
|
|
515
453
|
streaming?: boolean;
|
|
516
454
|
/**
|
|
@@ -533,9 +471,7 @@ export interface SlackChannelOptions {
|
|
|
533
471
|
*
|
|
534
472
|
* Framework park/resume is enabled by `needsApproval` on server tools.
|
|
535
473
|
* Set this to `true` to also post Block Kit Approve/Deny cards and route
|
|
536
|
-
* the Socket Mode `interactive` clicks to `resolveApproval`.
|
|
537
|
-
* only — rejected on `cursorAccount: true` (the Cursor Slack connection
|
|
538
|
-
* does not relay Block Kit clicks).
|
|
474
|
+
* the Socket Mode `interactive` clicks to `resolveApproval`.
|
|
539
475
|
*
|
|
540
476
|
* Defaults to `false`. For custom composition, spread
|
|
541
477
|
* `buildToolApprovalEvents({ credentials })` into `events`.
|
|
@@ -544,8 +480,7 @@ export interface SlackChannelOptions {
|
|
|
544
480
|
/**
|
|
545
481
|
* Route interactive payloads to approval resolution without opting into
|
|
546
482
|
* the full {@link buildToolApprovalEvents} handler pack. Use when
|
|
547
|
-
* composing `buildToolApprovalEvents` into `events` manually.
|
|
548
|
-
* only — rejected on `cursorAccount: true`.
|
|
483
|
+
* composing `buildToolApprovalEvents` into `events` manually.
|
|
549
484
|
*/
|
|
550
485
|
interactivity?: boolean;
|
|
551
486
|
/**
|
|
@@ -557,7 +492,6 @@ export interface SlackChannelOptions {
|
|
|
557
492
|
* thread, or `null` to ignore the click. Setting this implies
|
|
558
493
|
* interactive routing; the Slack app manifest still needs
|
|
559
494
|
* `interactivity` enabled (`buildSlackManifest({ interactivity: true })`).
|
|
560
|
-
* Socket Mode only — rejected on `cursorAccount: true`.
|
|
561
495
|
*/
|
|
562
496
|
onBlockAction?: SlackBlockActionHandler;
|
|
563
497
|
/**
|
|
@@ -622,5 +556,4 @@ export type SoftSlackResult<T extends Record<string, unknown> = Record<string, u
|
|
|
622
556
|
error: string;
|
|
623
557
|
unsupported?: boolean;
|
|
624
558
|
};
|
|
625
|
-
export {};
|
|
626
559
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/channels/slack/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAExB
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/channels/slack/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAExB;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAC;IACtB,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CACF,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrC;AAED,+EAA+E;AAC/E,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAChC,iBAAiB,CAAC;AAEtB,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;CACtD;AAED,uCAAuC;AACvC,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mDAAmD;IACnD,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,WAAW;IAC1B,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,gFAAgF;AAChF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,0EAA0E;IAC1E,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC;;;OAGG;IACH,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACzB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CACrB,MAAM,EACN,MAAM,GAAG;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CACjE,CAAC;IACF;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9E,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,mBAAmB,CACjB,OAAO,EAAE,oBAAoB,EAAE,EAC/B,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,mDAAmD;IACnD,IAAI,EAAE,WAAW,CAAC;IAClB;;;OAGG;IACH,SAAS,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,MAAM,mBAAmB,GAAG,CAChC,GAAG,EAAE,YAAY,EACjB,OAAO,EAAE,YAAY,KAEnB,qBAAqB,GACrB,IAAI,GACJ,SAAS,GACT,OAAO,CAAC,qBAAqB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAEtD;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,sBAAsB,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzE,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACrE;;;OAGG;IACH,+BAA+B,CAAC,EAAE,CAChC,iBAAiB,EAAE,MAAM,KACtB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACjC,6EAA6E;IAC7E,qBAAqB,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACzE;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;IAC1B,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,GAAG,CACpC,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,gBAAgB,KAEtB,qBAAqB,GACrB,IAAI,GACJ,SAAS,GACT,OAAO,CAAC,qBAAqB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAEtD;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;;;;;;;;OAYG;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;IAC5B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;;;;;;;OAWG;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,wBAAwB,CAAC;IACxC;;OAEG;IACH,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC;AAED,sFAAsF;AACtF,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,uEAAuE;IACvE,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,kFAAkF;IAClF,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B;;;;OAIG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,mEAAmE;IACnE,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC;;;OAGG;IACH,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC;;;;OAIG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC;;;OAGG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IACjD;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC1C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4FAA4F;IAC5F,MAAM,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,GAAG,EAAE,KAAK,GAAG,MAAM,CAAC;IACpB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wDAAwD;AACxD,MAAM,MAAM,eAAe,CACzB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACzD,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG,CAAC,CAAC,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC"}
|
|
@@ -1,18 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Types for the Slack platform channel pack.
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Runtime guard for {@link SlackChannelOptions.agentName}. Call from
|
|
7
|
-
* `slackChannel({ cursorAccount: true })` construction and serve-time
|
|
8
|
-
* name resolution so derived defaults cannot sneak spaces in.
|
|
9
|
-
*/
|
|
10
|
-
export function assertSlackCursorAgentName(name) {
|
|
11
|
-
const trimmed = name.trim();
|
|
12
|
-
if (trimmed.length === 0) {
|
|
13
|
-
throw new Error('slackChannel({ cursorAccount: true }) agentName must be a non-empty single token (no whitespace), e.g. "ApprovalBuddy".');
|
|
14
|
-
}
|
|
15
|
-
if (SLACK_CURSOR_AGENT_NAME_WHITESPACE.test(trimmed)) {
|
|
16
|
-
throw new Error(`slackChannel({ cursorAccount: true }) agentName must be a single token with no whitespace (got ${JSON.stringify(name)}). Use PascalCase like "ApprovalBuddy" — multi-word names break @Cursor routing.`);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
4
|
+
export {};
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client-side plumbing for talking to a running agent-serve deployment:
|
|
3
|
+
* production target resolution (stored Cursor login → engineAccess URL and
|
|
4
|
+
* headers), request-header assembly, and the sessions listing used for
|
|
5
|
+
* latest-session binding.
|
|
6
|
+
*
|
|
7
|
+
* This entry point exists for first-party CLI clients (`agsh`); agent code
|
|
8
|
+
* should not need it.
|
|
9
|
+
*/
|
|
10
|
+
export { mergeRequestHeaders, type RequestAuth, } from "./internal/request-headers.js";
|
|
11
|
+
export { PROD_ENGINE_WAKE_HEADERS, ProdTargetError, type ResolvedProdTarget, type ResolveProdTargetOptions, resolveProdTarget, } from "./internal/resolve-prod-target.js";
|
|
12
|
+
export { listSessions } from "./internal/sessions-client.js";
|
|
13
|
+
export type { SessionSummary } from "./types.js";
|
|
14
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,mBAAmB,EACnB,KAAK,WAAW,GACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,iBAAiB,GAClB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client-side plumbing for talking to a running agent-serve deployment:
|
|
3
|
+
* production target resolution (stored Cursor login → engineAccess URL and
|
|
4
|
+
* headers), request-header assembly, and the sessions listing used for
|
|
5
|
+
* latest-session binding.
|
|
6
|
+
*
|
|
7
|
+
* This entry point exists for first-party CLI clients (`agsh`); agent code
|
|
8
|
+
* should not need it.
|
|
9
|
+
*/
|
|
10
|
+
export { mergeRequestHeaders, } from "./internal/request-headers.js";
|
|
11
|
+
export { PROD_ENGINE_WAKE_HEADERS, ProdTargetError, resolveProdTarget, } from "./internal/resolve-prod-target.js";
|
|
12
|
+
export { listSessions } from "./internal/sessions-client.js";
|
package/dist/connections.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `defineConnection` — authored at `agent/mcp-connections/<name>.ts
|
|
2
|
+
* `defineConnection` — authored at `agent/mcp-connections/<name>.ts`
|
|
3
|
+
* (model + host) or `agent/host-connections/<name>.ts` (host + `mcp oauth`
|
|
4
|
+
* only).
|
|
3
5
|
*
|
|
4
6
|
* A connection gives tools from an external MCP server. The filename
|
|
5
|
-
* becomes the connection (server) name.
|
|
6
|
-
* `mcpServers`), host (`ctx.host.mcp`),
|
|
7
|
-
* Pass `advertiseTools: true` for named
|
|
8
|
-
*
|
|
7
|
+
* becomes the connection (server) name. Files under `mcp-connections/`
|
|
8
|
+
* are available to the agent (SDK `mcpServers`), host (`ctx.host.mcp`),
|
|
9
|
+
* and channel/schedule handlers. Pass `advertiseTools: true` for named
|
|
10
|
+
* tools on local turns. Pass `effects: "read"` with `advertiseTools` to
|
|
11
|
+
* advertise only tools the server classifies as reads. Files under
|
|
12
|
+
* `host-connections/` stay off the model.
|
|
9
13
|
*
|
|
10
14
|
* ```ts
|
|
11
15
|
* import { defineConnection } from "@cursor/july/connections";
|
|
@@ -27,11 +31,16 @@
|
|
|
27
31
|
* },
|
|
28
32
|
* });
|
|
29
33
|
*
|
|
30
|
-
* // privileged connector, model cannot call directly:
|
|
31
34
|
* export default defineConnection({
|
|
32
35
|
* cursorAccount: true,
|
|
33
36
|
* servers: ["anytool"],
|
|
34
|
-
*
|
|
37
|
+
* });
|
|
38
|
+
*
|
|
39
|
+
* // query-only: advertise only tools classified as reads
|
|
40
|
+
* export default defineConnection({
|
|
41
|
+
* url: "https://api.cursor.com/v1/agent/mcp",
|
|
42
|
+
* advertiseTools: true,
|
|
43
|
+
* effects: "read",
|
|
35
44
|
* });
|
|
36
45
|
* ```
|
|
37
46
|
*
|
|
@@ -101,7 +110,7 @@
|
|
|
101
110
|
* ```
|
|
102
111
|
*/
|
|
103
112
|
import type { ConnectionConfig, ConnectionDefinition } from "./types.js";
|
|
104
|
-
export type { ConnectionConfig, ConnectionDefinition, ConnectionTransport, HostMcpCallResult, HostMcpRegistry, HostMcpToolInfo, InlineStdioConnectionConfig, InlineStdioToolConfig, } from "./types.js";
|
|
105
|
-
export { isInlineStdioConnection, normalizeCursorAccountServers, } from "./types.js";
|
|
113
|
+
export type { ConnectionConfig, ConnectionDefinition, ConnectionEffects, ConnectionTransport, HostMcpCallResult, HostMcpRegistry, HostMcpToolInfo, InlineStdioConnectionConfig, InlineStdioToolConfig, ToolEffect, } from "./types.js";
|
|
114
|
+
export { isInlineStdioConnection, isToolEffect, normalizeConnectionEffects, normalizeCursorAccountServers, } from "./types.js";
|
|
106
115
|
export declare function defineConnection(config: ConnectionConfig): ConnectionDefinition;
|
|
107
116
|
//# sourceMappingURL=connections.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../src/connections.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../src/connections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8GG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEzE,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,2BAA2B,EAC3B,qBAAqB,EACrB,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,YAAY,CAAC;AAEpB,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,gBAAgB,GACvB,oBAAoB,CAEtB"}
|
package/dist/connections.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `defineConnection` — authored at `agent/mcp-connections/<name>.ts
|
|
2
|
+
* `defineConnection` — authored at `agent/mcp-connections/<name>.ts`
|
|
3
|
+
* (model + host) or `agent/host-connections/<name>.ts` (host + `mcp oauth`
|
|
4
|
+
* only).
|
|
3
5
|
*
|
|
4
6
|
* A connection gives tools from an external MCP server. The filename
|
|
5
|
-
* becomes the connection (server) name.
|
|
6
|
-
* `mcpServers`), host (`ctx.host.mcp`),
|
|
7
|
-
* Pass `advertiseTools: true` for named
|
|
8
|
-
*
|
|
7
|
+
* becomes the connection (server) name. Files under `mcp-connections/`
|
|
8
|
+
* are available to the agent (SDK `mcpServers`), host (`ctx.host.mcp`),
|
|
9
|
+
* and channel/schedule handlers. Pass `advertiseTools: true` for named
|
|
10
|
+
* tools on local turns. Pass `effects: "read"` with `advertiseTools` to
|
|
11
|
+
* advertise only tools the server classifies as reads. Files under
|
|
12
|
+
* `host-connections/` stay off the model.
|
|
9
13
|
*
|
|
10
14
|
* ```ts
|
|
11
15
|
* import { defineConnection } from "@cursor/july/connections";
|
|
@@ -27,11 +31,16 @@
|
|
|
27
31
|
* },
|
|
28
32
|
* });
|
|
29
33
|
*
|
|
30
|
-
* // privileged connector, model cannot call directly:
|
|
31
34
|
* export default defineConnection({
|
|
32
35
|
* cursorAccount: true,
|
|
33
36
|
* servers: ["anytool"],
|
|
34
|
-
*
|
|
37
|
+
* });
|
|
38
|
+
*
|
|
39
|
+
* // query-only: advertise only tools classified as reads
|
|
40
|
+
* export default defineConnection({
|
|
41
|
+
* url: "https://api.cursor.com/v1/agent/mcp",
|
|
42
|
+
* advertiseTools: true,
|
|
43
|
+
* effects: "read",
|
|
35
44
|
* });
|
|
36
45
|
* ```
|
|
37
46
|
*
|
|
@@ -101,7 +110,7 @@
|
|
|
101
110
|
* ```
|
|
102
111
|
*/
|
|
103
112
|
import { brandDefinition } from "./internal/brand.js";
|
|
104
|
-
export { isInlineStdioConnection, normalizeCursorAccountServers, } from "./types.js";
|
|
113
|
+
export { isInlineStdioConnection, isToolEffect, normalizeConnectionEffects, normalizeCursorAccountServers, } from "./types.js";
|
|
105
114
|
export function defineConnection(config) {
|
|
106
115
|
return brandDefinition("connection", config);
|
|
107
116
|
}
|
package/dist/docs/404.html
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<link rel="preload stylesheet" href="/docs/assets/style.BRuM8477.css" as="style">
|
|
10
10
|
<link rel="preload stylesheet" href="/docs/vp-icons.css" as="style">
|
|
11
11
|
|
|
12
|
-
<script type="module" src="/docs/assets/app.
|
|
12
|
+
<script type="module" src="/docs/assets/app.CFDEas4I.js"></script>
|
|
13
13
|
<link rel="preload" href="/docs/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
|
14
14
|
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
|
|
15
15
|
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
</head>
|
|
19
19
|
<body>
|
|
20
20
|
<div id="app"></div>
|
|
21
|
-
<script>window.__VP_HASH_MAP__=JSON.parse("{\"ab.md\":\"DJo5r4R-\",\"building-with-agents.md\":\"DI4mEzlt\",\"concepts.md\":\"
|
|
21
|
+
<script>window.__VP_HASH_MAP__=JSON.parse("{\"ab.md\":\"DJo5r4R-\",\"building-with-agents.md\":\"DI4mEzlt\",\"concepts.md\":\"lwAgBIMI\",\"deployment.md\":\"D9msOFOW\",\"evals.md\":\"lfJoEVc8\",\"guides_agent-to-agent.md\":\"BDb0t1QV\",\"guides_cloud-runtime.md\":\"CkYbjnAX\",\"guides_convert-automation.md\":\"B4sjlodG\",\"guides_github.md\":\"Cnh2mL4a\",\"guides_human-in-the-loop.md\":\"By1G2T3_\",\"guides_mcp-oauth.md\":\"DPYmBCbV\",\"guides_opentelemetry.md\":\"bmPmkvJu\",\"guides_slack.md\":\"C32HsdKk\",\"guides_webhooks.md\":\"DKdA43Qm\",\"hillclimbing.md\":\"DhESf3OO\",\"index.md\":\"DRakGHFe\",\"quickstart.md\":\"Nj_LjW_a\",\"reference_agent-config.md\":\"Cp_x38Nl\",\"reference_artifacts.md\":\"Dior32Qw\",\"reference_channels.md\":\"Cd2f2iyV\",\"reference_cli.md\":\"Cw6_ICYG\",\"reference_connections.md\":\"BH8Oc0D0\",\"reference_hooks.md\":\"a8BJxMR5\",\"reference_http-api.md\":\"D89k1mdm\",\"reference_instructions.md\":\"CR7XSsGk\",\"reference_playground.md\":\"DnX5nL-B\",\"reference_project-layout.md\":\"Bv4KOtlB\",\"reference_prompt.md\":\"DnaD5dNK\",\"reference_schedules.md\":\"DI_JrHgq\",\"reference_sessions.md\":\"D0mIh4KK\",\"reference_skills.md\":\"8son6Hjm\",\"reference_subagents.md\":\"CfsIloPm\",\"reference_tools.md\":\"BHeXn2id\",\"scaffolding-agents.md\":\"D7UUkWw0\",\"storage.md\":\"BOHeqk2M\",\"templates_agentic-owners.md\":\"DqtPdm6f\",\"templates_demo.md\":\"DhFcWN6j\",\"templates_pr-autofixer.md\":\"DU7dQpor\",\"templates_security-reviewer.md\":\"CTa7u_l1\",\"templates_triage.md\":\"CVlpctKS\",\"troubleshooting.md\":\"Ctv3T8C2\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Agent SDK\",\"description\":\"Filesystem-first framework for building and serving Cursor agents.\",\"base\":\"/docs/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"sdkVersion\":\"0.1.94\",\"nav\":[{\"text\":\"Quickstart\",\"link\":\"/quickstart\"},{\"text\":\"Guides\",\"link\":\"/guides/webhooks\"},{\"text\":\"Templates\",\"link\":\"/templates/demo\"},{\"text\":\"Reference\",\"link\":\"/reference/project-layout\"}],\"search\":{\"provider\":\"local\"},\"outline\":{\"level\":[2,3]},\"sidebar\":[{\"text\":\"Getting started\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"Quickstart\",\"link\":\"/quickstart\"},{\"text\":\"Scaffold an agent with Cursor\",\"link\":\"/scaffolding-agents\"},{\"text\":\"Convert a Cursor Automation\",\"link\":\"/guides/convert-automation\"},{\"text\":\"Concepts\",\"link\":\"/concepts\"}]},{\"text\":\"Templates\",\"items\":[{\"text\":\"Demo agent\",\"link\":\"/templates/demo\"},{\"text\":\"Security reviewer\",\"link\":\"/templates/security-reviewer\"},{\"text\":\"Agentic Owners\",\"link\":\"/templates/agentic-owners\"},{\"text\":\"PR autofixer\",\"link\":\"/templates/pr-autofixer\"},{\"text\":\"Triage agent\",\"link\":\"/templates/triage\"}]},{\"text\":\"Improving agents\",\"items\":[{\"text\":\"Building agents with agents\",\"link\":\"/building-with-agents\"},{\"text\":\"Evals\",\"link\":\"/evals\"},{\"text\":\"Live A/B metrics\",\"link\":\"/ab\"},{\"text\":\"Storage\",\"link\":\"/storage\"},{\"text\":\"Hillclimbing\",\"link\":\"/hillclimbing\"}]},{\"text\":\"Guides\",\"items\":[{\"text\":\"Webhooks & custom channels\",\"link\":\"/guides/webhooks\"},{\"text\":\"GitHub\",\"link\":\"/guides/github\"},{\"text\":\"Slack\",\"link\":\"/guides/slack\"},{\"text\":\"Human-in-the-loop approvals\",\"link\":\"/guides/human-in-the-loop\"},{\"text\":\"Agent-to-agent\",\"link\":\"/guides/agent-to-agent\"},{\"text\":\"Host MCP OAuth\",\"link\":\"/guides/mcp-oauth\"},{\"text\":\"Cloud runtime\",\"link\":\"/guides/cloud-runtime\"},{\"text\":\"OpenTelemetry\",\"link\":\"/guides/opentelemetry\"}]},{\"text\":\"Operating\",\"items\":[{\"text\":\"Deployment\",\"link\":\"/deployment\"},{\"text\":\"Fix common problems\",\"link\":\"/troubleshooting\"}]},{\"text\":\"Reference\",\"collapsed\":false,\"items\":[{\"text\":\"Project layout\",\"link\":\"/reference/project-layout\"},{\"text\":\"Agent config\",\"link\":\"/reference/agent-config\"},{\"text\":\"Instructions\",\"link\":\"/reference/instructions\"},{\"text\":\"Tools\",\"link\":\"/reference/tools\"},{\"text\":\"prompt\",\"link\":\"/reference/prompt\"},{\"text\":\"Skills\",\"link\":\"/reference/skills\"},{\"text\":\"MCP Connections\",\"link\":\"/reference/connections\"},{\"text\":\"Subagents\",\"link\":\"/reference/subagents\"},{\"text\":\"Channels\",\"link\":\"/reference/channels\"},{\"text\":\"Schedules & reminders\",\"link\":\"/reference/schedules\"},{\"text\":\"Hooks\",\"link\":\"/reference/hooks\"},{\"text\":\"Artifacts\",\"link\":\"/reference/artifacts\"},{\"text\":\"Sessions & streaming\",\"link\":\"/reference/sessions\"},{\"text\":\"Playground\",\"link\":\"/reference/playground\"},{\"text\":\"CLI\",\"link\":\"/reference/cli\"},{\"text\":\"HTTP API\",\"link\":\"/reference/http-api\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
22
22
|
|
|
23
23
|
</body>
|
|
24
24
|
</html>
|