@cursor/july 0.1.49 → 0.1.51

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 (119) hide show
  1. package/AGENTS.md +3 -3
  2. package/README.md +7 -14
  3. package/dist/bin/agent-serve.js +22 -8
  4. package/dist/channels/slack/init.d.ts +2 -3
  5. package/dist/channels/slack/init.d.ts.map +1 -1
  6. package/dist/channels/slack/init.js +8 -43
  7. package/dist/channels/slack/manifest.d.ts +3 -3
  8. package/dist/channels/slack/manifest.js +3 -3
  9. package/dist/channels/slack/setup.d.ts +2 -11
  10. package/dist/channels/slack/setup.d.ts.map +1 -1
  11. package/dist/channels/slack/setup.js +26 -94
  12. package/dist/channels/slack/types.d.ts +3 -4
  13. package/dist/channels/slack/types.d.ts.map +1 -1
  14. package/dist/docs/404.html +2 -2
  15. package/dist/docs/ab.html +3 -3
  16. package/dist/docs/assets/{app.BpWAgjaR.js → app.C51TX1Bw.js} +1 -1
  17. package/dist/docs/assets/chunks/@localSearchIndexroot.D2DpXdZN.js +1 -0
  18. package/dist/docs/assets/chunks/{VPLocalSearchBox.CnAktZtG.js → VPLocalSearchBox.BB9HCJPq.js} +1 -1
  19. package/dist/docs/assets/chunks/{theme.B5IvUxOB.js → theme.Dp-0SZcu.js} +2 -2
  20. package/dist/docs/assets/{deployment.md.Cdp4rTE4.js → deployment.md.B8kW-h7P.js} +1 -1
  21. package/dist/docs/assets/{example-agents_benny.md.l7JTmm8X.js → example-agents_benny.md.B-LIDGja.js} +1 -1
  22. package/dist/docs/assets/{example-agents_oncall.md.ZE0n6ZFN.js → example-agents_oncall.md.CBmyuAKc.js} +2 -2
  23. package/dist/docs/assets/{guides_human-in-the-loop.md.BWvT7UqY.js → guides_human-in-the-loop.md.Cf8kIIqC.js} +2 -2
  24. package/dist/docs/assets/{guides_human-in-the-loop.md.BWvT7UqY.lean.js → guides_human-in-the-loop.md.Cf8kIIqC.lean.js} +1 -1
  25. package/dist/docs/assets/{guides_slack.md.zriQpU_9.js → guides_slack.md.D2nTRu9M.js} +7 -12
  26. package/dist/docs/assets/guides_slack.md.D2nTRu9M.lean.js +1 -0
  27. package/dist/docs/assets/{reference_cli.md.BDmjPPAm.js → reference_cli.md.CGKfz_Yj.js} +3 -7
  28. package/dist/docs/assets/{reference_cli.md.BDmjPPAm.lean.js → reference_cli.md.CGKfz_Yj.lean.js} +1 -1
  29. package/dist/docs/assets/{troubleshooting.md.CkgwmVI0.js → troubleshooting.md.C6n3wCr6.js} +1 -1
  30. package/dist/docs/building-with-agents.html +3 -3
  31. package/dist/docs/concepts.html +3 -3
  32. package/dist/docs/deployment.html +5 -5
  33. package/dist/docs/evals.html +3 -3
  34. package/dist/docs/example-agents/approval-buddy.html +3 -3
  35. package/dist/docs/example-agents/benny.html +5 -5
  36. package/dist/docs/example-agents/bugbot.html +3 -3
  37. package/dist/docs/example-agents/codebase-wiki.html +3 -3
  38. package/dist/docs/example-agents/codeowners-review.html +3 -3
  39. package/dist/docs/example-agents/concierge.html +3 -3
  40. package/dist/docs/example-agents/fsd.html +3 -3
  41. package/dist/docs/example-agents/index.html +3 -3
  42. package/dist/docs/example-agents/knowledge-base.html +3 -3
  43. package/dist/docs/example-agents/oncall.html +6 -6
  44. package/dist/docs/example-agents/security-reviewer.html +3 -3
  45. package/dist/docs/example-agents/slack-agent.html +3 -3
  46. package/dist/docs/example-agents/weather-agent.html +3 -3
  47. package/dist/docs/guides/agent-to-agent.html +3 -3
  48. package/dist/docs/guides/cloud-runtime.html +3 -3
  49. package/dist/docs/guides/github.html +3 -3
  50. package/dist/docs/guides/human-in-the-loop.html +5 -5
  51. package/dist/docs/guides/mcp-oauth.html +3 -3
  52. package/dist/docs/guides/opentelemetry.html +3 -3
  53. package/dist/docs/guides/slack.html +11 -16
  54. package/dist/docs/guides/webhooks.html +3 -3
  55. package/dist/docs/hashmap.json +1 -1
  56. package/dist/docs/hillclimbing.html +3 -3
  57. package/dist/docs/index.html +3 -3
  58. package/dist/docs/quickstart.html +3 -3
  59. package/dist/docs/reference/agent-config.html +3 -3
  60. package/dist/docs/reference/artifacts.html +3 -3
  61. package/dist/docs/reference/channels.html +3 -3
  62. package/dist/docs/reference/cli.html +6 -10
  63. package/dist/docs/reference/connections.html +3 -3
  64. package/dist/docs/reference/hooks.html +3 -3
  65. package/dist/docs/reference/http-api.html +3 -3
  66. package/dist/docs/reference/instructions.html +3 -3
  67. package/dist/docs/reference/playground.html +3 -3
  68. package/dist/docs/reference/project-layout.html +3 -3
  69. package/dist/docs/reference/prompt.html +3 -3
  70. package/dist/docs/reference/schedules.html +3 -3
  71. package/dist/docs/reference/sessions.html +3 -3
  72. package/dist/docs/reference/skills.html +3 -3
  73. package/dist/docs/reference/subagents.html +3 -3
  74. package/dist/docs/reference/tools.html +3 -3
  75. package/dist/docs/scaffolding-agents.html +3 -3
  76. package/dist/docs/storage.html +3 -3
  77. package/dist/docs/templates/triage.html +3 -3
  78. package/dist/docs/troubleshooting.html +5 -5
  79. package/dist/internal/cli-ax.js +3 -3
  80. package/dist/internal/cli-cursor.d.ts +18 -0
  81. package/dist/internal/cli-cursor.d.ts.map +1 -1
  82. package/dist/internal/cli-cursor.js +25 -0
  83. package/dist/internal/cli-slack.d.ts +3 -4
  84. package/dist/internal/cli-slack.d.ts.map +1 -1
  85. package/dist/internal/cli-slack.js +126 -322
  86. package/dist/internal/convert-automation/convert-workflow.js +2 -2
  87. package/dist/internal/slack-provision-client.d.ts +37 -2
  88. package/dist/internal/slack-provision-client.d.ts.map +1 -1
  89. package/dist/internal/slack-provision-client.js +46 -0
  90. package/dist/playground/assets/{index-Dq_HqyU-.js → index-BKMz70wx.js} +39 -39
  91. package/dist/playground/assets/index-BmMrulSc.css +1 -0
  92. package/dist/playground/index.html +2 -2
  93. package/docs/deployment.md +1 -1
  94. package/docs/example-agents/benny.md +2 -3
  95. package/docs/example-agents/oncall.md +4 -5
  96. package/docs/guides/human-in-the-loop.md +1 -1
  97. package/docs/guides/slack.md +51 -112
  98. package/docs/reference/cli.md +14 -37
  99. package/docs/troubleshooting.md +2 -2
  100. package/package.json +1 -1
  101. package/skills/create-agent/SKILL.md +4 -5
  102. package/skills/setup-slack/SKILL.md +73 -131
  103. package/src/bin/agent-serve.ts +26 -9
  104. package/src/channels/slack/init.ts +10 -71
  105. package/src/channels/slack/manifest.ts +3 -3
  106. package/src/channels/slack/setup.ts +25 -103
  107. package/src/channels/slack/types.ts +3 -4
  108. package/src/internal/cli-ax.ts +3 -3
  109. package/src/internal/cli-cursor.ts +34 -0
  110. package/src/internal/cli-slack.ts +136 -389
  111. package/src/internal/convert-automation/convert-workflow.ts +2 -2
  112. package/src/internal/slack-provision-client.ts +83 -2
  113. package/dist/docs/assets/chunks/@localSearchIndexroot.D00d772K.js +0 -1
  114. package/dist/docs/assets/guides_slack.md.zriQpU_9.lean.js +0 -1
  115. package/dist/playground/assets/index-Dox74yWJ.css +0 -1
  116. /package/dist/docs/assets/{deployment.md.Cdp4rTE4.lean.js → deployment.md.B8kW-h7P.lean.js} +0 -0
  117. /package/dist/docs/assets/{example-agents_benny.md.l7JTmm8X.lean.js → example-agents_benny.md.B-LIDGja.lean.js} +0 -0
  118. /package/dist/docs/assets/{example-agents_oncall.md.ZE0n6ZFN.lean.js → example-agents_oncall.md.CBmyuAKc.lean.js} +0 -0
  119. /package/dist/docs/assets/{troubleshooting.md.CkgwmVI0.lean.js → troubleshooting.md.C6n3wCr6.lean.js} +0 -0
@@ -999,7 +999,7 @@ function emitSlackChannel(
999
999
  }
1000
1000
  if (socketMode) {
1001
1001
  out.setupSteps.push(
1002
- `Slack channel-watch / reaction / channel-created triggers need a dedicated Socket Mode Slack app (not the Cursor connection): run \`${CLI_COMMAND_NAME} slack setup\`, then \`${CLI_COMMAND_NAME} slack init --channel-posts\`, and set the generated tokens.`
1002
+ `Slack channel-watch / reaction / channel-created triggers need a dedicated Socket Mode Slack app (not the Cursor connection): run \`${CLI_COMMAND_NAME} slack create --channel-posts\`, then finish in the dashboard wizard.`
1003
1003
  );
1004
1004
  }
1005
1005
 
@@ -1069,7 +1069,7 @@ function emitSlackChannel(
1069
1069
  body = [
1070
1070
  "//",
1071
1071
  "// This channel needs a dedicated Socket Mode Slack app (not the Cursor",
1072
- `// connection): run \`${CLI_COMMAND_NAME} slack setup\` and \`${CLI_COMMAND_NAME} slack init\`.`,
1072
+ `// connection): run \`${CLI_COMMAND_NAME} slack create --channel-posts\`.`,
1073
1073
  "export default slackChannel({",
1074
1074
  ...engagement,
1075
1075
  "});",
@@ -55,8 +55,8 @@ export type SlackAppIconInput =
55
55
  * Outcome of `POST /apps`. Credentials are returned exactly once and never
56
56
  * persisted server-side — the caller owns storing them. `appToken` can be
57
57
  * absent when Slack's install response omitted the app-level token.
58
- * `oauthAuthorizeUrl` is only minted on a fresh app create, so an update
59
- * that lands in admin approval omits it.
58
+ * `oauthAuthorizeUrl` is Slack's request-approval / reminder page. Fresh
59
+ * creates mint it; updates return it when Slack (or a persisted row) has one.
60
60
  */
61
61
  export type SlackAppProvisionResult =
62
62
  | {
@@ -176,6 +176,66 @@ const setIconResponseSchema = z
176
176
  })
177
177
  .passthrough();
178
178
 
179
+ const mintWizardResponseSchema = z
180
+ .object({
181
+ wizardId: z.string().min(1),
182
+ url: z.string().min(1),
183
+ })
184
+ .passthrough();
185
+
186
+ const wizardPollResponseSchema = z
187
+ .object({
188
+ wizardId: z.string(),
189
+ teamId: z.number(),
190
+ slug: z.string(),
191
+ env: z.string(),
192
+ status: z.string(),
193
+ appId: z.string().optional(),
194
+ oauthAuthorizeUrl: z.string().optional(),
195
+ error: z.string().optional(),
196
+ localEnv: z
197
+ .object({
198
+ botToken: z.string().min(1),
199
+ appToken: z.string().optional(),
200
+ })
201
+ .optional(),
202
+ localEnvClaimed: z.boolean().optional(),
203
+ })
204
+ .passthrough();
205
+
206
+ export interface SlackWizardMintResult {
207
+ wizardId: string;
208
+ url: string;
209
+ }
210
+
211
+ export interface SlackWizardPollResult {
212
+ wizardId: string;
213
+ teamId: number;
214
+ slug: string;
215
+ env: string;
216
+ status: string;
217
+ appId?: string;
218
+ oauthAuthorizeUrl?: string;
219
+ error?: string;
220
+ localEnv?: { botToken: string; appToken?: string };
221
+ localEnvClaimed?: boolean;
222
+ }
223
+
224
+ export interface SlackWizardMintInput {
225
+ teamId: number;
226
+ slug: string;
227
+ env: SlackAppEnv;
228
+ envPrefix?: string;
229
+ name?: string;
230
+ gitRepoUrl?: string;
231
+ gitRef?: string;
232
+ agentPath?: string;
233
+ channelPosts?: boolean;
234
+ slackTeamId?: string;
235
+ iconUrl?: string;
236
+ force?: boolean;
237
+ }
238
+
179
239
  // ============================================================================
180
240
  // Client
181
241
  // ============================================================================
@@ -224,6 +284,27 @@ export class AgentServeSlackClient {
224
284
  return connectResponseSchema.parse(raw).url;
225
285
  }
226
286
 
287
+ async mintWizard(
288
+ input: SlackWizardMintInput
289
+ ): Promise<SlackWizardMintResult> {
290
+ const raw = await this.request({
291
+ method: "POST",
292
+ path: "/internal/agent-serve/slack/wizard",
293
+ body: input,
294
+ context: { verb: "start Slack setup" },
295
+ });
296
+ return mintWizardResponseSchema.parse(raw);
297
+ }
298
+
299
+ async pollWizard(wizardId: string): Promise<SlackWizardPollResult> {
300
+ const raw = await this.request({
301
+ method: "GET",
302
+ path: `/internal/agent-serve/slack/wizard/${encodeURIComponent(wizardId)}`,
303
+ context: { verb: "poll Slack setup" },
304
+ });
305
+ return wizardPollResponseSchema.parse(raw);
306
+ }
307
+
227
308
  /**
228
309
  * Provision (create or update) and install one managed Slack app for
229
310
  * (slackTeamId, slug, env). Expected failures throw