@cursor/bdk 0.2.22 → 0.2.23

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.
Files changed (145) hide show
  1. package/dist/channels/slack/manifest.d.ts.map +1 -1
  2. package/dist/channels/slack/manifest.js +10 -5
  3. package/dist/channels/slack/types.d.ts +7 -0
  4. package/dist/channels/slack/types.d.ts.map +1 -1
  5. package/dist/docs/404.html +2 -2
  6. package/dist/docs/assets/{app.BD1yvHJK.js → app.AXQcJZaf.js} +4 -4
  7. package/dist/docs/assets/chunks/@localSearchIndexroot.B3j7LFef.js +1 -0
  8. package/dist/docs/assets/chunks/{VPLocalSearchBox.D25E8cn2.js → VPLocalSearchBox.hlZ2vmun.js} +1 -1
  9. package/dist/docs/assets/chunks/{arc.1hKM2X5X.js → arc.9KNWdH-l.js} +1 -1
  10. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.B1jE4xrG.js → architectureDiagram-Q4EWVU46.BfGzkBHI.js} +1 -1
  11. package/dist/docs/assets/chunks/{baseUniq.BwPi_maB.js → baseUniq.Btk8-2Rs.js} +1 -1
  12. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.Cpy78QaZ.js → blockDiagram-DXYQGD6D.BmHm9OH5.js} +1 -1
  13. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.DkCQNehT.js → c4Diagram-AHTNJAMY.9POrbDHJ.js} +1 -1
  14. package/dist/docs/assets/chunks/channel.RoCpi7X1.js +1 -0
  15. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.BuR2bNxe.js → chunk-4BX2VUAB.YWZVSM6S.js} +1 -1
  16. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.C24IlKyd.js → chunk-4TB4RGXK.Cxr_SFgw.js} +1 -1
  17. package/dist/docs/assets/chunks/{chunk-55IACEB6.CRD5fIjA.js → chunk-55IACEB6.DtiJyPlD.js} +1 -1
  18. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.gKhxQpy2.js → chunk-EDXVE4YY.b5gNHJPH.js} +1 -1
  19. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.DPlyJIaG.js → chunk-FMBD7UC4.DmN9yA_M.js} +1 -1
  20. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.DfDSVvIq.js → chunk-OYMX7WX6.Dfm3xgV5.js} +1 -1
  21. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.CsA80Wio.js → chunk-QZHKN3VN.sXNxDcJA.js} +1 -1
  22. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.BtXaaMC_.js → chunk-YZCP3GAM.DgBnDUV7.js} +1 -1
  23. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.oxdmwwqk.js +1 -0
  24. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.oxdmwwqk.js +1 -0
  25. package/dist/docs/assets/chunks/clone.BkguoIMm.js +1 -0
  26. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.Bw9v-Pfp.js → cose-bilkent-S5V4N54A.D18MEcoN.js} +1 -1
  27. package/dist/docs/assets/chunks/{dagre-KV5264BT.Wc53s510.js → dagre-KV5264BT.CSf3tihh.js} +1 -1
  28. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.DxJJrlh5.js → diagram-5BDNPKRD.cbfzAfoC.js} +1 -1
  29. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.Ldxa4MKP.js → diagram-G4DWMVQ6.6i6P3uu9.js} +1 -1
  30. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.D30RWuU-.js → diagram-MMDJMWI5.B9HAIfN6.js} +1 -1
  31. package/dist/docs/assets/chunks/{diagram-TYMM5635.BuJ0aD65.js → diagram-TYMM5635.B9baAjUv.js} +1 -1
  32. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.2N-5dVK2.js → erDiagram-SMLLAGMA.DaBmX_GN.js} +1 -1
  33. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.B_te6Lre.js → flowDiagram-DWJPFMVM.CJqQJjkb.js} +1 -1
  34. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.CuNbn0Wd.js → ganttDiagram-T4ZO3ILL.CIXBLQhC.js} +1 -1
  35. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.C1uOicx6.js → gitGraphDiagram-UUTBAWPF.CDgentto.js} +1 -1
  36. package/dist/docs/assets/chunks/{graph.lSlSs4kh.js → graph.BWHn6JBQ.js} +1 -1
  37. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.Cw_LmsnD.js → infoDiagram-42DDH7IO.d9VU_ts_.js} +1 -1
  38. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.DikoN3ai.js → ishikawaDiagram-UXIWVN3A.BNO79Prj.js} +1 -1
  39. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.buwzIgeY.js → journeyDiagram-VCZTEJTY.CPgUTM1R.js} +1 -1
  40. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.yacNqa4l.js → kanban-definition-6JOO6SKY.idl0Eoe1.js} +1 -1
  41. package/dist/docs/assets/chunks/{layout.CPlTUhtI.js → layout.BY7DIMr6.js} +1 -1
  42. package/dist/docs/assets/chunks/{linear.BpHFbx_2.js → linear.DYaUDrHd.js} +1 -1
  43. package/dist/docs/assets/chunks/{min.B_dSxH85.js → min.V6MWb1UC.js} +1 -1
  44. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.BO5-vmxy.js → mindmap-definition-QFDTVHPH.BRlJXuFS.js} +1 -1
  45. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.Bwj1Zq54.js → pieDiagram-DEJITSTG.BIhkDLcB.js} +1 -1
  46. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.D5dcUqJC.js → quadrantDiagram-34T5L4WZ.Bw-_VEL3.js} +1 -1
  47. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.CCP5yuT4.js → requirementDiagram-MS252O5E.DolEGwxw.js} +1 -1
  48. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.BWAu-_Jq.js → sankeyDiagram-XADWPNL6.hMM-8BhN.js} +1 -1
  49. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.w545hYyz.js → sequenceDiagram-FGHM5R23.Bg_CRVDy.js} +1 -1
  50. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.CxcpDNk2.js → stateDiagram-FHFEXIEX.DNWdl34_.js} +1 -1
  51. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.7W-btjJ2.js +1 -0
  52. package/dist/docs/assets/chunks/{theme.DSJaK7i1.js → theme.CBW1oolh.js} +2 -2
  53. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.2WxkfxRf.js → timeline-definition-GMOUNBTQ.Cr1wJ1mB.js} +1 -1
  54. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.BGZwcK-Z.js → vennDiagram-DHZGUBPP.BltDV9j7.js} +1 -1
  55. package/dist/docs/assets/chunks/{wardley-RL74JXVD.BtotXz_c.js → wardley-RL74JXVD.BWPaUhOs.js} +1 -1
  56. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.oryRmynQ.js → wardleyDiagram-NUSXRM2D.nsADqCCo.js} +1 -1
  57. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.Bq7gMvIU.js → xychartDiagram-5P7HB3ND.CCwbO3dK.js} +1 -1
  58. package/dist/docs/assets/guides_migrate.md.CQlGaBKX.js +7 -0
  59. package/dist/docs/assets/{guides_migrate.md.DZBL7dqT.lean.js → guides_migrate.md.CQlGaBKX.lean.js} +1 -1
  60. package/dist/docs/assets/{reference_cli.md.Bkrsce22.js → reference_cli.md.DB7Llw3T.js} +3 -3
  61. package/dist/docs/assets/{reference_cli.md.Bkrsce22.lean.js → reference_cli.md.DB7Llw3T.lean.js} +1 -1
  62. package/dist/docs/assets/{reference_schedules.md.03Ryy9ca.js → reference_schedules.md.BqWnJES4.js} +3 -3
  63. package/dist/docs/building-with-agents.html +35 -35
  64. package/dist/docs/deployment.html +35 -35
  65. package/dist/docs/evals.html +35 -35
  66. package/dist/docs/guides/agent-to-agent.html +35 -35
  67. package/dist/docs/guides/bitbucket.html +35 -35
  68. package/dist/docs/guides/cloud-agents.html +35 -35
  69. package/dist/docs/guides/convert-automation.html +35 -35
  70. package/dist/docs/guides/export-grokbot.html +35 -35
  71. package/dist/docs/guides/github.html +35 -35
  72. package/dist/docs/guides/gitlab.html +35 -35
  73. package/dist/docs/guides/grokbot-agents.html +35 -35
  74. package/dist/docs/guides/hooks.html +35 -35
  75. package/dist/docs/guides/improve.html +35 -35
  76. package/dist/docs/guides/jev.html +35 -35
  77. package/dist/docs/guides/mcp-oauth.html +35 -35
  78. package/dist/docs/guides/migrate.html +38 -38
  79. package/dist/docs/guides/migrate.md +46 -4
  80. package/dist/docs/guides/opentelemetry.html +35 -35
  81. package/dist/docs/guides/slack.html +35 -35
  82. package/dist/docs/guides/webhooks.html +35 -35
  83. package/dist/docs/hashmap.json +1 -1
  84. package/dist/docs/hillclimbing.html +35 -35
  85. package/dist/docs/index.html +35 -35
  86. package/dist/docs/llms-full.txt +62 -9
  87. package/dist/docs/quickstart.html +35 -35
  88. package/dist/docs/reference/agent-config.html +35 -35
  89. package/dist/docs/reference/artifacts.html +35 -35
  90. package/dist/docs/reference/channels.html +35 -35
  91. package/dist/docs/reference/cli.html +39 -39
  92. package/dist/docs/reference/cli.md +16 -5
  93. package/dist/docs/reference/connections.html +35 -35
  94. package/dist/docs/reference/evals.html +35 -35
  95. package/dist/docs/reference/extensions.html +35 -35
  96. package/dist/docs/reference/hooks.html +35 -35
  97. package/dist/docs/reference/http-api.html +35 -35
  98. package/dist/docs/reference/instructions.html +35 -35
  99. package/dist/docs/reference/memory.html +35 -35
  100. package/dist/docs/reference/playground.html +35 -35
  101. package/dist/docs/reference/project-layout.html +35 -35
  102. package/dist/docs/reference/prompt.html +35 -35
  103. package/dist/docs/reference/schedules.html +38 -38
  104. package/dist/docs/reference/sessions.html +35 -35
  105. package/dist/docs/reference/skills.html +35 -35
  106. package/dist/docs/reference/subagents.html +35 -35
  107. package/dist/docs/reference/tools.html +35 -35
  108. package/dist/docs/templates/agentic-owners.html +35 -35
  109. package/dist/docs/templates/grokbot-agents.html +35 -35
  110. package/dist/docs/templates/security-reviewer.html +35 -35
  111. package/dist/docs/templates/thermo-quality-review.html +35 -35
  112. package/dist/docs/templates/thermo-review.html +35 -35
  113. package/dist/docs/templates/triage.html +35 -35
  114. package/dist/docs/troubleshooting.html +35 -35
  115. package/dist/internal/cli-deploy.d.ts +3 -3
  116. package/dist/internal/cli-deploy.d.ts.map +1 -1
  117. package/dist/internal/cli-deploy.js +63 -21
  118. package/dist/internal/cli-migrate.d.ts.map +1 -1
  119. package/dist/internal/cli-migrate.js +227 -12
  120. package/dist/internal/cli-slack.d.ts.map +1 -1
  121. package/dist/internal/cli-slack.js +56 -3
  122. package/dist/internal/deploy-client.d.ts +7 -0
  123. package/dist/internal/deploy-client.d.ts.map +1 -1
  124. package/dist/internal/deploy-client.js +15 -1
  125. package/dist/internal/session-engine.d.ts.map +1 -1
  126. package/dist/internal/session-engine.js +6 -2
  127. package/dist/internal/slack-provision-client.d.ts +1 -0
  128. package/dist/internal/slack-provision-client.d.ts.map +1 -1
  129. package/dist/playground/assets/index-BtsbIqV9.css +1 -0
  130. package/dist/playground/assets/index-CD8VRa25.js +71 -0
  131. package/dist/playground/index.html +2 -2
  132. package/docs/guides/migrate.md +46 -4
  133. package/docs/reference/cli.md +16 -5
  134. package/package.json +3 -3
  135. package/skills/migrate-v2/SKILL.md +140 -11
  136. package/dist/docs/assets/chunks/@localSearchIndexroot.DLNj_nNf.js +0 -1
  137. package/dist/docs/assets/chunks/channel.DRdmGkBC.js +0 -1
  138. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CAGM3Q8f.js +0 -1
  139. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CAGM3Q8f.js +0 -1
  140. package/dist/docs/assets/chunks/clone.DjA1k4gh.js +0 -1
  141. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.CjwS--3R.js +0 -1
  142. package/dist/docs/assets/guides_migrate.md.DZBL7dqT.js +0 -7
  143. package/dist/playground/assets/index-CzV_Cybi.css +0 -1
  144. package/dist/playground/assets/index-XXYKgdQn.js +0 -71
  145. /package/dist/docs/assets/{reference_schedules.md.03Ryy9ca.lean.js → reference_schedules.md.BqWnJES4.lean.js} +0 -0
@@ -9,14 +9,14 @@
9
9
  * v2 agentsdk management API through `deploy-client.ts`, poll status, and
10
10
  * render.
11
11
  */
12
- import { basename, resolve } from "node:path";
12
+ import { basename, relative, resolve } from "node:path";
13
13
  import { catchAuthDeclaration, isPublicEndpointPolicy } from "../channels.js";
14
14
  import { isCursorAccountTransport, } from "../types.js";
15
15
  import { CursorBackendClient } from "./cursor/backend-client.js";
16
16
  import { cursorExternalApiUrl, resolveApiKey, SIGN_IN_HINT } from "./cursor/credentials.js";
17
17
  import { authorizeCursorAccountConnectors } from "./cursor-account-mcp-auth.js";
18
18
  import { readDeployTemplate } from "./cursor-agent-template.js";
19
- import { AgentServeDeployClient, DeployApiError, deploymentServiceAccountId, TERMINAL_AGENTKIT_DEPLOY_STATUSES, TERMINAL_DEPLOY_STATUSES, validateDeploymentSlug, } from "./deploy-client.js";
19
+ import { AgentServeDeployClient, SEVERAL_AGENTS_DEPLOY_ALONE, DeployApiError, deploymentServiceAccountId, TERMINAL_AGENTKIT_DEPLOY_STATUSES, TERMINAL_DEPLOY_STATUSES, validateDeploymentSlug, } from "./deploy-client.js";
20
20
  import { channelCatchSecretNames, channelCredentialSecretNames } from "./deploy-manifest.js";
21
21
  import { inferDeployGitSource } from "./deploy-source.js";
22
22
  import { describeError } from "./describe-error.js";
@@ -30,8 +30,10 @@ import { slugFromDirectoryName } from "./slug.js";
30
30
  import { stderrPalette } from "./terminal-style.js";
31
31
  const DEFAULT_POLL_INTERVAL_MS = 3_000;
32
32
  const DEFAULT_DEPLOY_TIMEOUT_MS = 10 * 60 * 1000;
33
- /** `--multi-tenant` HTTP deploy is Anysphere-only (team id 1). */
34
- const MULTI_TENANT_HTTP_DEPLOY_TEAM_ID = 1;
33
+ const MULTI_COMPONENT_ALLOWED_TEAM_ID = 1;
34
+ function canPublishAgentsAsOne(teamId) {
35
+ return teamId === MULTI_COMPONENT_ALLOWED_TEAM_ID;
36
+ }
35
37
  /**
36
38
  * Credentials → deploy client → team id. Shared by deploy commands and
37
39
  * `--prod` AX routing. Returns an exit code (error already rendered) on
@@ -126,7 +128,7 @@ export async function cmdDeploy(options) {
126
128
  if (typeof ctx === "number") {
127
129
  return ctx;
128
130
  }
129
- if (options.multiTenant === true && ctx.teamId !== MULTI_TENANT_HTTP_DEPLOY_TEAM_ID) {
131
+ if (options.multiTenant === true && ctx.teamId !== MULTI_COMPONENT_ALLOWED_TEAM_ID) {
130
132
  ctx.err("--multi-tenant is not available for this team.\n");
131
133
  return 1;
132
134
  }
@@ -137,16 +139,21 @@ export async function cmdDeploy(options) {
137
139
  if (targets.length === 1) {
138
140
  return deployOne(ctx, options, targets[0]);
139
141
  }
140
- // Multi-agent parent: when every child declares `architecture: "v2"`,
141
- // the v2 control plane models sibling agents as release components of
142
- // ONE application, so deploy them together (one app, one component per
143
- // child) instead of minting a separate application per child. Mixed and
144
- // v1 parents keep the per-child sequential deploys.
145
142
  const manifests = [];
146
143
  for (const target of targets) {
147
144
  manifests.push(await readDeployManifest(target.dir));
148
145
  }
149
146
  if (manifests.every((manifest) => manifest.architecture === "v2")) {
147
+ // One team can publish several agents as one deployment. Other teams deploy each agent alone.
148
+ if (!canPublishAgentsAsOne(ctx.teamId)) {
149
+ ctx.err(severalAgentsDeployAloneText(options, targets));
150
+ return 1;
151
+ }
152
+ if (!ctx.json) {
153
+ ctx.err(options.all === true
154
+ ? deployingAllAgentsLine(options, targets)
155
+ : deployingAsOneApplicationLine(options, targets));
156
+ }
150
157
  return deployAgentsdkApplication(ctx, options, targets, {
151
158
  // `persistent` is per child agent, like `agentPath`: each release
152
159
  // component carries its own.
@@ -157,6 +164,9 @@ export async function cmdDeploy(options) {
157
164
  hasDeploymentsChannels: manifests.some((manifest) => manifest.hasDeploymentsChannels),
158
165
  });
159
166
  }
167
+ if (!ctx.json && options.all === true) {
168
+ ctx.err(deployingAllAgentsLine(options, targets));
169
+ }
160
170
  if (!ctx.json && manifests.some((manifest) => manifest.architecture === "v2")) {
161
171
  ctx.err(`warning: agents under this parent mix architectures; deploying each separately (v2 children become standalone single-component applications).\n`);
162
172
  }
@@ -301,9 +311,6 @@ async function resolveDeployTargets(options, ctx) {
301
311
  }
302
312
  // Multiple children.
303
313
  if (options.all === true) {
304
- if (!ctx.json) {
305
- ctx.err(`Deploying all ${children.length} agents under ${basename(dir)}: ${children.map((c) => c.slug).join(", ")}.\n`);
306
- }
307
314
  return [...children];
308
315
  }
309
316
  if (options.slug !== undefined) {
@@ -317,14 +324,9 @@ async function resolveDeployTargets(options, ctx) {
317
324
  }
318
325
  return [match];
319
326
  }
320
- // An all-v2 parent deploys as ONE application (siblings are components
321
- // of a single app on the v2 control plane), so "deploy the parent" is
322
- // unambiguous and needs no picker or --all. A child that is v1 — or
323
- // fails to load — keeps the interactive picker below.
327
+ // An all-v2 parent needs no picker or --all. A v1 child, or a child that
328
+ // fails to load, keeps the interactive picker below.
324
329
  if (await allChildrenAreV2(children)) {
325
- if (!ctx.json) {
326
- ctx.err(`Deploying all ${children.length} v2 agents under ${basename(dir)} as one application (pass --slug <name> to deploy a single agent standalone).\n`);
327
- }
328
330
  return [...children];
329
331
  }
330
332
  const chooser = options.chooseTargets ??
@@ -348,6 +350,46 @@ async function resolveDeployTargets(options, ctx) {
348
350
  }
349
351
  return chosen;
350
352
  }
353
+ function deployingAllAgentsLine(options, targets) {
354
+ return `Deploying all ${targets.length} agents under ${basename(resolve(options.dir ?? "."))}: ${targets.map((target) => target.slug).join(", ")}.\n`;
355
+ }
356
+ function deployingAsOneApplicationLine(options, targets) {
357
+ return `Deploying all ${targets.length} v2 agents under ${basename(resolve(options.dir ?? "."))} as one application (pass --slug <name> to deploy a single agent standalone).\n`;
358
+ }
359
+ function severalAgentsDeployAloneText(options, targets) {
360
+ const flags = copiedDeployFlags(options);
361
+ const commands = targets.map((target) => ` ${CLI} deploy --dir ${quoteShell(relativeDeployDir(target.dir))}${flags}`);
362
+ return `${SEVERAL_AGENTS_DEPLOY_ALONE}\n${commands.join("\n")}\n`;
363
+ }
364
+ function copiedDeployFlags(options) {
365
+ const parts = [];
366
+ if (options.team !== undefined) {
367
+ parts.push(`--team ${quoteShell(options.team)}`);
368
+ }
369
+ if (options.repo !== undefined) {
370
+ parts.push(`--repo ${quoteShell(options.repo)}`);
371
+ }
372
+ if (options.ref !== undefined) {
373
+ parts.push(`--ref ${quoteShell(options.ref)}`);
374
+ }
375
+ for (const repo of options.cursorEventsRepos ?? []) {
376
+ parts.push(`--cursor-events-repo ${quoteShell(repo)}`);
377
+ }
378
+ for (const domain of options.allowDomains ?? []) {
379
+ parts.push(`--allow-domain ${quoteShell(domain)}`);
380
+ }
381
+ return parts.length === 0 ? "" : ` ${parts.join(" ")}`;
382
+ }
383
+ function relativeDeployDir(dir) {
384
+ const rel = relative(process.cwd(), dir);
385
+ return rel === "" ? "." : rel;
386
+ }
387
+ function quoteShell(value) {
388
+ if (/^[A-Za-z0-9_./:-]+$/.test(value)) {
389
+ return value;
390
+ }
391
+ return `'${value.replaceAll("'", "'\\''")}'`;
392
+ }
351
393
  function formatAgentList(agents) {
352
394
  return agents.map((agent, i) => ` ${i + 1}) ${agent.slug}\n`).join("");
353
395
  }
@@ -1995,7 +2037,7 @@ export function renderApiError(error, err, context) {
1995
2037
  if (context?.multiTenant === true) {
1996
2038
  err("This slug is a single-tenant application. Redeploy it without --multi-tenant.\n");
1997
2039
  }
1998
- else if (context?.teamId === MULTI_TENANT_HTTP_DEPLOY_TEAM_ID) {
2040
+ else if (context?.teamId === MULTI_COMPONENT_ALLOWED_TEAM_ID) {
1999
2041
  err("This slug is a Cursor-managed (multi-tenant) product. Redeploy it with --multi-tenant.\n");
2000
2042
  }
2001
2043
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cli-migrate.d.ts","sourceRoot":"","sources":["../../src/internal/cli-migrate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAYD,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyE5E"}
1
+ {"version":3,"file":"cli-migrate.d.ts","sourceRoot":"","sources":["../../src/internal/cli-migrate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAaD,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsF5E"}
@@ -3,14 +3,14 @@
3
3
  * agent. The agent follows the shipped `migrate-v2` skill on the pushed
4
4
  * ref and opens a pull request. Nothing is deployed.
5
5
  */
6
- import { readFile } from "node:fs/promises";
7
- import { join, resolve } from "node:path";
6
+ import { readFile, readdir } from "node:fs/promises";
7
+ import { basename, join, resolve } from "node:path";
8
8
  import { Agent } from "@cursor/sdk";
9
9
  import { cloudAgentUrl, resolveApiKey, SIGN_IN_HINT } from "./cursor/credentials.js";
10
10
  import { httpsGitRepoUrlFromRemote, inferDeployGitSource } from "./deploy-source.js";
11
11
  import { describeError } from "./describe-error.js";
12
12
  import { isAgentProjectDir } from "./discovery/project.js";
13
- import { CLI_COMMAND_NAME as CLI, packageRootDir } from "./distribution.js";
13
+ import { CLI_COMMAND_NAME as CLI, FORMER_PACKAGE_NAME, packageRootDir } from "./distribution.js";
14
14
  import { parseFrontmatter } from "./frontmatter.js";
15
15
  export async function cmdMigrate(options) {
16
16
  const out = options.out ?? ((text) => void process.stdout.write(text));
@@ -27,6 +27,16 @@ export async function cmdMigrate(options) {
27
27
  if (!(await isAgentProjectDir(dir))) {
28
28
  return fail(`${dir} is not a BDK project. Pass --dir <project>.`);
29
29
  }
30
+ if (!(await sourceNeedsMigration(dir))) {
31
+ const message = nothingToMigrateMessage(options.dir);
32
+ if (json) {
33
+ out(`${JSON.stringify({ ok: true, status: "current", message }, null, 2)}\n`);
34
+ }
35
+ else {
36
+ out(`${message}\n`);
37
+ }
38
+ return 0;
39
+ }
30
40
  const inferred = await inferDeployGitSource(dir);
31
41
  const remote = options.repo ?? inferred.gitRepoUrl;
32
42
  if (remote === undefined) {
@@ -42,7 +52,8 @@ export async function cmdMigrate(options) {
42
52
  }
43
53
  const path = options.path ?? inferred.agentPath;
44
54
  const ref = options.ref ?? inferred.gitRef;
45
- const prompt = migrationPrompt(path, await readMigrationSkill());
55
+ const checklist = migrationChecklist(options.dir);
56
+ const prompt = migrationPrompt(path, await readMigrationSkill(), path ?? ".");
46
57
  let agent;
47
58
  let report;
48
59
  try {
@@ -55,15 +66,18 @@ export async function cmdMigrate(options) {
55
66
  },
56
67
  });
57
68
  const run = await agent.send(prompt);
69
+ if (!json) {
70
+ out(`${checklist}\n`);
71
+ }
58
72
  if (options.noWait === true) {
59
- report = reportFor(agent.agentId);
73
+ report = reportFor(agent.agentId, undefined, checklist);
60
74
  }
61
75
  else {
62
76
  if (!json) {
63
77
  err(`Migrating ${path ?? "the repository root"} in ${repo} at ${ref ?? "the default branch"}.\n` +
64
78
  `Migration agent started: ${cloudAgentUrl(agent.agentId)}\nWaiting for its pull request.\n`);
65
79
  }
66
- report = reportFor(agent.agentId, await run.wait());
80
+ report = reportFor(agent.agentId, await run.wait(), checklist);
67
81
  }
68
82
  }
69
83
  catch (error) {
@@ -84,14 +98,26 @@ export async function cmdMigrate(options) {
84
98
  out(json ? `${JSON.stringify(report, null, 2)}\n` : render(report));
85
99
  return report.ok ? 0 : 1;
86
100
  }
87
- function migrationPrompt(path, skill) {
101
+ function migrationPrompt(path, skill, checklistDir) {
88
102
  const where = path === undefined ? "the repository root" : `\`${path}\``;
89
103
  return [
90
104
  `Migrate the BDK project at ${where} from hosted architecture v1 to v2.`,
91
105
  "",
92
106
  "Follow the skill below from top to bottom, then open one pull request with the migration.",
93
107
  "When the skill says to stop or ask, open no pull request and explain what blocks the migration in your final message.",
108
+ 'If nothing needs a migration, open no pull request. Your final message must start with "Nothing to migrate." and name the checks you ran.',
94
109
  `Do not deploy, run \`${CLI} login\`, or change deployment secrets.`,
110
+ "If the folder has more than one agent, write one `bdk deploy --dir <agent folder>` command for each agent in the pull request body. Do not deploy.",
111
+ "Rewrite each MCP connection or peer call whose URL comes from a secret or environment variable that points at another BDK agent.",
112
+ 'Do that rewrite in this pull request with `defineConnection({ agent: "<peer-slug>" })`.',
113
+ "When the rewrite succeeds, remove the unused URL secret from code and from `hosting.secretNames`.",
114
+ "List each unused secret in the pull request body for `bdk secrets unset` after deploy.",
115
+ "When you cannot determine the peer slug, leave a TODO and name it in the pull request body. Do not guess the slug.",
116
+ "Copy the checklist below into the pull request body. Keep the commands. Replace <slug>, <NAME>, and <team-id> when you know the values.",
117
+ "",
118
+ "<checklist>",
119
+ migrationChecklist(checklistDir).trimEnd(),
120
+ "</checklist>",
95
121
  "",
96
122
  "<skill>",
97
123
  skill.trim(),
@@ -102,10 +128,10 @@ async function readMigrationSkill() {
102
128
  const raw = await readFile(join(packageRootDir(), "skills", "migrate-v2", "SKILL.md"), "utf8");
103
129
  return parseFrontmatter(raw).body;
104
130
  }
105
- function reportFor(agentId, result) {
131
+ function reportFor(agentId, result, checklist) {
106
132
  const url = cloudAgentUrl(agentId);
107
133
  if (result === undefined) {
108
- return { ok: true, status: "running", agentId, url };
134
+ return { ok: true, status: "running", agentId, url, checklist };
109
135
  }
110
136
  if (result.status !== "finished") {
111
137
  return {
@@ -117,20 +143,209 @@ function reportFor(agentId, result) {
117
143
  };
118
144
  }
119
145
  const prUrl = result.git?.branches.find((branch) => branch.prUrl !== undefined)?.prUrl;
146
+ const summary = result.result?.trim();
147
+ if (prUrl === undefined && summary?.startsWith("Nothing to migrate") === true) {
148
+ return { ok: true, status: "current", agentId, url, summary };
149
+ }
120
150
  if (prUrl === undefined) {
121
- return { ok: false, status: "blocked", agentId, url, summary: result.result?.trim() };
151
+ return { ok: false, status: "blocked", agentId, url, summary };
122
152
  }
123
- return { ok: true, status: "pr", agentId, url, prUrl };
153
+ return { ok: true, status: "pr", agentId, url, prUrl, checklist };
124
154
  }
125
155
  function render(report) {
126
156
  switch (report.status) {
127
157
  case "running":
128
158
  return `Migration agent started: ${report.url}\n`;
129
159
  case "pr":
130
- return `Pull request: ${report.prUrl}\nReview it, merge, then deploy with \`${CLI} deploy\`.\n`;
160
+ return `Pull request: ${report.prUrl}\nReview it and merge. Follow the checklist above after merge.\n`;
161
+ case "current":
162
+ return `${report.summary ?? "Nothing to migrate."}\n\nDetails: ${report.url}\n`;
131
163
  case "blocked":
132
164
  return `No pull request opened.\n\n${report.summary ?? "The agent gave no reason."}\n\nDetails: ${report.url}\n`;
133
165
  case "failed":
134
166
  return `${report.error}\nDetails: ${report.url}\n`;
167
+ default: {
168
+ const exhausted = report.status;
169
+ return exhausted;
170
+ }
171
+ }
172
+ }
173
+ const V1_ARCHITECTURE = /architecture\s*:\s*["']v1["']/;
174
+ const GROKBOT_RUNTIME = /runtime\s*:\s*["']grokbot["']/;
175
+ const V1_CONTINUATION = /continuation\s*:\s*["'][^"']*\/v1["']/;
176
+ const MCP_URL_SECRET = /_MCP_URL\b/;
177
+ const STORAGE_FILE = /^storage\.(?:ts|mts|js|mjs)$/;
178
+ const SOURCE_FILE = /\.(?:ts|tsx|mts|js|mjs|cjs|jsx)$/;
179
+ const SKIP_DIRS = new Set(["node_modules", "dist", "coverage"]);
180
+ /**
181
+ * True when the folder still needs a migration, or when the check cannot
182
+ * tell. A clean current project is the only false result. The hosted
183
+ * deployment is not one of these signals.
184
+ */
185
+ async function sourceNeedsMigration(dir) {
186
+ if ((await formerPackageSignal(dir)) !== "absent") {
187
+ return true;
188
+ }
189
+ return treeHasMigrationMarker(dir, dir);
190
+ }
191
+ async function formerPackageSignal(dir) {
192
+ let raw;
193
+ try {
194
+ raw = await readFile(join(dir, "package.json"), "utf8");
195
+ }
196
+ catch (error) {
197
+ return isEnoent(error) ? "absent" : "unreadable";
198
+ }
199
+ let parsed;
200
+ try {
201
+ parsed = JSON.parse(raw);
202
+ }
203
+ catch {
204
+ return "unreadable";
205
+ }
206
+ if (typeof parsed !== "object" || parsed === null) {
207
+ return "unreadable";
208
+ }
209
+ for (const key of [
210
+ "dependencies",
211
+ "devDependencies",
212
+ "optionalDependencies",
213
+ "peerDependencies",
214
+ ]) {
215
+ if (recordHasKey(parsed, key, FORMER_PACKAGE_NAME)) {
216
+ return "present";
217
+ }
218
+ }
219
+ return "absent";
220
+ }
221
+ function isEnoent(error) {
222
+ return typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT";
223
+ }
224
+ async function treeHasMigrationMarker(projectRoot, dir) {
225
+ let entries;
226
+ try {
227
+ entries = await readdir(dir, { withFileTypes: true });
228
+ }
229
+ catch {
230
+ return true;
231
+ }
232
+ for (const entry of entries) {
233
+ if (entry.name.startsWith(".")) {
234
+ continue;
235
+ }
236
+ const path = join(dir, entry.name);
237
+ if (entry.isDirectory()) {
238
+ if (SKIP_DIRS.has(entry.name)) {
239
+ continue;
240
+ }
241
+ if (await treeHasMigrationMarker(projectRoot, path)) {
242
+ return true;
243
+ }
244
+ continue;
245
+ }
246
+ if (!entry.isFile()) {
247
+ continue;
248
+ }
249
+ if (isProjectStorageFile(projectRoot, dir, entry.name)) {
250
+ return true;
251
+ }
252
+ if (!SOURCE_FILE.test(entry.name)) {
253
+ continue;
254
+ }
255
+ let text;
256
+ try {
257
+ text = await readFile(path, "utf8");
258
+ }
259
+ catch {
260
+ return true;
261
+ }
262
+ if (sourceHasMigrationMarker(text)) {
263
+ return true;
264
+ }
265
+ }
266
+ return false;
267
+ }
268
+ function isProjectStorageFile(projectRoot, dir, name) {
269
+ if (!STORAGE_FILE.test(name)) {
270
+ return false;
271
+ }
272
+ if (dir === projectRoot) {
273
+ return true;
274
+ }
275
+ const parent = basename(dir);
276
+ return (parent === "bot" || parent === "agent") && join(projectRoot, parent) === dir;
277
+ }
278
+ function sourceHasMigrationMarker(source) {
279
+ return (V1_ARCHITECTURE.test(source) ||
280
+ source.includes(`"${FORMER_PACKAGE_NAME}"`) ||
281
+ source.includes(`'${FORMER_PACKAGE_NAME}'`) ||
282
+ GROKBOT_RUNTIME.test(source) ||
283
+ V1_CONTINUATION.test(source) ||
284
+ MCP_URL_SECRET.test(source) ||
285
+ hasPeerUrlConnection(source) ||
286
+ hasLiteralScmCreds(source) ||
287
+ hasAnonymousReminder(source));
288
+ }
289
+ function hasPeerUrlConnection(source) {
290
+ if (!source.includes("defineConnection")) {
291
+ return false;
292
+ }
293
+ return /defineConnection\s*\([\s\S]{0,600}?url\s*:\s*process\.env\b/.test(source);
294
+ }
295
+ function hasLiteralScmCreds(source) {
296
+ if (!/githubChannel|gitlabChannel|bitbucketChannel/.test(source)) {
297
+ return false;
298
+ }
299
+ return (/webhookSecret\s*:\s*(?:\(\)\s*=>|process\.env\b|["'`])/.test(source) ||
300
+ /privateKey\s*:\s*(?:\(\)\s*=>|process\.env\b|["'`])/.test(source) ||
301
+ /appId\s*:\s*(?:\(\)\s*=>|process\.env\b)/.test(source) ||
302
+ /(?:^|[^\w])token\s*:\s*(?:\(\)\s*=>|process\.env\b|["'`])/.test(source));
303
+ }
304
+ function hasAnonymousReminder(source) {
305
+ if (!/reminders\??\.create\s*\(/.test(source)) {
306
+ return false;
307
+ }
308
+ return (/\brun\s*:\s*(?:async\s*)?(?:\([^)]*\)\s*=>|function\b)/.test(source) ||
309
+ /\buntil\s*:\s*(?:async\s*)?(?:\([^)]*\)\s*=>|function\b)/.test(source));
310
+ }
311
+ function recordHasKey(value, key, name) {
312
+ if (!Object.prototype.hasOwnProperty.call(value, key)) {
313
+ return false;
314
+ }
315
+ const field = Reflect.get(value, key);
316
+ return (typeof field === "object" && field !== null && Object.prototype.hasOwnProperty.call(field, name));
317
+ }
318
+ function nothingToMigrateMessage(dir) {
319
+ const folder = commandDir(dir);
320
+ return [
321
+ "Nothing to migrate.",
322
+ `Checked ${folder}: no ${FORMER_PACKAGE_NAME} dependency, no architecture: "v1", no storage.ts, no runtime: "grokbot", no literal SCM credential, no /v1 continuation, no anonymous reminder, and no *_MCP_URL peer.`,
323
+ "No migration agent was started.",
324
+ `This command does not check the hosted deployment. If \`${CLI} deployment <slug>\` does not print architecture: v2, run \`${CLI} deploy --dir ${folder}\`.`,
325
+ ].join("\n");
326
+ }
327
+ function migrationChecklist(dir) {
328
+ const folder = commandDir(dir);
329
+ return [
330
+ "After merge, deploy from the merged ref. This migration does not deploy and does not change secrets.",
331
+ "",
332
+ "Deploy each agent. One command per folder. Do not use deploy --all.",
333
+ ` ${CLI} deploy --dir ${folder}`,
334
+ "",
335
+ "Slack. Log in as a person. The server redeploys by itself. Uninstall the old app and invite the new bot to the old channels.",
336
+ ` ${CLI} slack create --prod --dir ${folder} [--team <team-id>]`,
337
+ "",
338
+ "Peers. Deploy both agents before you use defineConnection. Unset each peer URL secret the pull request lists.",
339
+ ` ${CLI} secrets unset <slug> <NAME>`,
340
+ "",
341
+ "Secrets. Same-slug deploy copies v1 secrets. A new slug needs secrets set. No redeploy after secrets set.",
342
+ ` ${CLI} secrets list <slug> [--team <team-id>]`,
343
+ ` ${CLI} secrets set <slug> <NAME>`,
344
+ ].join("\n");
345
+ }
346
+ function commandDir(dir) {
347
+ if (/^[A-Za-z0-9_./@+-]+$/.test(dir)) {
348
+ return dir;
135
349
  }
350
+ return `'${dir.replaceAll("'", `'\\''`)}'`;
136
351
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cli-slack.d.ts","sourceRoot":"","sources":["../../src/internal/cli-slack.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAIL,cAAc,EAGf,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAkC,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAuB1F,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uFAAuF;IACvF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iEAAiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC1C,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,kBAAkB;IAClB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,cAAc,CAAC;IACnC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAuDD,wBAAsB,QAAQ,CAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,MAAM,CAAC,CA0CjB;AAoSD,wBAAsB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CA4K9E;AA6CD,wBAAsB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CA4C/E;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAsD5E"}
1
+ {"version":3,"file":"cli-slack.d.ts","sourceRoot":"","sources":["../../src/internal/cli-slack.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAIL,cAAc,EAGf,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAkC,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAuB1F,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uFAAuF;IACvF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iEAAiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC1C,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,kBAAkB;IAClB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,cAAc,CAAC;IACnC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAuDD,wBAAsB,QAAQ,CAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,MAAM,CAAC,CA0CjB;AA8UD,wBAAsB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CA6K9E;AA6DD,wBAAsB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CA4C/E;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAsD5E"}
@@ -331,6 +331,45 @@ function writePendingAdminWait(ctx, poll) {
331
331
  ctx.err(ctx.dim(` Keep this command running.\n` +
332
332
  ` After an admin approves, click Retry in the dashboard.\n`));
333
333
  }
334
+ const SLACK_MANIFEST_OPT_IN_FILE = "slack-manifest.json";
335
+ /**
336
+ * Optional project file. `chatWriteCustomize: true` asks the managed Slack
337
+ * app for that one extra scope. `false` is an explicit opt-out. A missing
338
+ * file leaves the mint body unchanged, so a later setup does not drop a
339
+ * scope the installed app already has.
340
+ */
341
+ async function readSlackManifestOptIn(dir, err) {
342
+ const path = join(dir, SLACK_MANIFEST_OPT_IN_FILE);
343
+ let text;
344
+ try {
345
+ text = await readFile(path, "utf8");
346
+ }
347
+ catch (error) {
348
+ if (error.code === "ENOENT") {
349
+ return {};
350
+ }
351
+ err(`Could not read ${SLACK_MANIFEST_OPT_IN_FILE}: ${describeError(error)}\n`);
352
+ return 1;
353
+ }
354
+ let parsed;
355
+ try {
356
+ parsed = JSON.parse(text);
357
+ }
358
+ catch {
359
+ err(`${SLACK_MANIFEST_OPT_IN_FILE} is not valid JSON.\n`);
360
+ return 1;
361
+ }
362
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
363
+ err(`${SLACK_MANIFEST_OPT_IN_FILE} must be a JSON object.\n`);
364
+ return 1;
365
+ }
366
+ const flag = parsed.chatWriteCustomize;
367
+ if (flag !== undefined && flag !== true && flag !== false) {
368
+ err(`${SLACK_MANIFEST_OPT_IN_FILE} chatWriteCustomize must be true or false.\n`);
369
+ return 1;
370
+ }
371
+ return flag === undefined ? {} : { chatWriteCustomize: flag };
372
+ }
334
373
  export async function cmdSlackCreate(options) {
335
374
  const target = resolveSlackAppTarget(options, errStream(options));
336
375
  if (typeof target === "number") {
@@ -360,6 +399,10 @@ export async function cmdSlackCreate(options) {
360
399
  ctx.err(`${ctx.dim(`Scaffolded the Slack channel: ${wrote.join(", ")}`)}\n`);
361
400
  }
362
401
  const source = await inferDeployGitSource(target.dir);
402
+ const manifestOptIn = await readSlackManifestOptIn(target.dir, ctx.err);
403
+ if (typeof manifestOptIn === "number") {
404
+ return manifestOptIn;
405
+ }
363
406
  let minted;
364
407
  try {
365
408
  minted = await ctx.client.mintWizard({
@@ -374,6 +417,7 @@ export async function cmdSlackCreate(options) {
374
417
  // Control planes predating the full permission set only subscribe
375
418
  // channel posts when asked; newer ones always do.
376
419
  channelPosts: options.channelPosts === true ? true : undefined,
420
+ chatWriteCustomize: manifestOptIn.chatWriteCustomize,
377
421
  slackTeamId: options.slackTeam,
378
422
  iconUrl: iconSource?.kind === "url" ? iconSource.url : undefined,
379
423
  force: options.force === true ? true : undefined,
@@ -471,11 +515,20 @@ export async function cmdSlackCreate(options) {
471
515
  const doctor = options.doctorImpl ?? runSlackDoctor;
472
516
  const doctorResult = await doctor(target.envPrefix === undefined ? {} : { envPrefix: target.envPrefix });
473
517
  ctx.out(renderDoctorReport(doctorResult));
474
- ctx.out(`\nNext steps:\n` +
475
- ` 1. ${CLI} serve --dir ${options.dir} --dev\n` +
476
- ` 2. Invite the bot in Slack and @mention it.\n`);
518
+ ctx.out(slackCreateNextSteps(options.dir, target.env));
477
519
  return 0;
478
520
  }
521
+ function slackCreateNextSteps(dir, env) {
522
+ if (env === "prod") {
523
+ return (`\nNext steps:\n` +
524
+ ` 1. The deployment redeploys by itself.\n` +
525
+ ` 2. Invite the bot in Slack and @mention it.\n` +
526
+ ` 3. Uninstall the old Slack app if this agent had one.\n`);
527
+ }
528
+ return (`\nNext steps:\n` +
529
+ ` 1. ${CLI} serve --dir ${dir} --dev\n` +
530
+ ` 2. Invite the bot in Slack and @mention it.\n`);
531
+ }
479
532
  /**
480
533
  * Resolve the one provisioned app for (slug, env[, --slack-team]) from
481
534
  * `GET /status`. Returns an exit code with the error already rendered
@@ -589,4 +589,11 @@ export declare function parseAgentServeMcpGatewayUrl(url: string): {
589
589
  teamId: number;
590
590
  slug: string;
591
591
  } | undefined;
592
+ /**
593
+ * Server refusal when a deploy names more than one agent. The body has no
594
+ * separate code, so the CLI matches this sentence. Callers replace it with
595
+ * per-agent deploy commands and must not add the membership hint.
596
+ */
597
+ export declare const SEVERAL_AGENTS_DEPLOY_SERVER_ERROR = "Multi-component Agent SDK v2 deployments are not available for this team";
598
+ export declare const SEVERAL_AGENTS_DEPLOY_ALONE = "This project has more than one agent. Deploy each agent alone. Run `bdk deploy --dir <agent folder>` one time for each agent.";
592
599
  //# sourceMappingURL=deploy-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-client.d.ts","sourceRoot":"","sources":["../../src/internal/deploy-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy-client.d.ts","sourceRoot":"","sources":["../../src/internal/deploy-client.ts"],"names":[],"mappings":"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"}