@cursor/july 0.1.33 → 0.1.34

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 (164) hide show
  1. package/README.md +1 -1
  2. package/dist/artifacts.d.ts.map +1 -1
  3. package/dist/artifacts.js +0 -5
  4. package/dist/bin/agent-serve.d.ts +1 -0
  5. package/dist/bin/agent-serve.d.ts.map +1 -1
  6. package/dist/bin/agent-serve.js +32 -2
  7. package/dist/channels/github/types.d.ts +10 -7
  8. package/dist/channels/github/types.d.ts.map +1 -1
  9. package/dist/docs/404.html +2 -2
  10. package/dist/docs/ab.html +3 -3
  11. package/dist/docs/assets/{app.CgZqLyWL.js → app.FPupl4SP.js} +1 -1
  12. package/dist/docs/assets/chunks/@localSearchIndexroot.WoYunhnT.js +1 -0
  13. package/dist/docs/assets/chunks/{VPLocalSearchBox.C4KigoQn.js → VPLocalSearchBox.Cd182Cu0.js} +1 -1
  14. package/dist/docs/assets/chunks/{theme.C_Ty4yT7.js → theme.BEM3Okcd.js} +2 -2
  15. package/dist/docs/assets/{example-agents_weather-agent.md.Dmrcphhl.js → example-agents_weather-agent.md.BADkPqxQ.js} +6 -4
  16. package/dist/docs/assets/example-agents_weather-agent.md.BADkPqxQ.lean.js +1 -0
  17. package/dist/docs/assets/guides_cloud-runtime.md.CDJGvVC4.js +9 -0
  18. package/dist/docs/assets/guides_cloud-runtime.md.CDJGvVC4.lean.js +1 -0
  19. package/dist/docs/building-with-agents.html +3 -3
  20. package/dist/docs/concepts.html +3 -3
  21. package/dist/docs/deployment.html +3 -3
  22. package/dist/docs/evals.html +3 -3
  23. package/dist/docs/example-agents/approval-buddy.html +3 -3
  24. package/dist/docs/example-agents/benny.html +3 -3
  25. package/dist/docs/example-agents/bugbot.html +3 -3
  26. package/dist/docs/example-agents/codebase-wiki.html +3 -3
  27. package/dist/docs/example-agents/codeowners-review.html +3 -3
  28. package/dist/docs/example-agents/concierge.html +3 -3
  29. package/dist/docs/example-agents/fsd.html +3 -3
  30. package/dist/docs/example-agents/index.html +3 -3
  31. package/dist/docs/example-agents/knowledge-base.html +3 -3
  32. package/dist/docs/example-agents/oncall.html +3 -3
  33. package/dist/docs/example-agents/security-reviewer.html +3 -3
  34. package/dist/docs/example-agents/slack-agent.html +3 -3
  35. package/dist/docs/example-agents/weather-agent.html +10 -8
  36. package/dist/docs/guides/agent-to-agent.html +3 -3
  37. package/dist/docs/guides/cloud-runtime.html +5 -5
  38. package/dist/docs/guides/github.html +3 -3
  39. package/dist/docs/guides/human-in-the-loop.html +3 -3
  40. package/dist/docs/guides/mcp-oauth.html +3 -3
  41. package/dist/docs/guides/slack.html +3 -3
  42. package/dist/docs/guides/webhooks.html +3 -3
  43. package/dist/docs/hashmap.json +1 -1
  44. package/dist/docs/hillclimbing.html +3 -3
  45. package/dist/docs/index.html +3 -3
  46. package/dist/docs/quickstart.html +3 -3
  47. package/dist/docs/reference/agent-config.html +3 -3
  48. package/dist/docs/reference/channels.html +3 -3
  49. package/dist/docs/reference/cli.html +3 -3
  50. package/dist/docs/reference/connections.html +3 -3
  51. package/dist/docs/reference/hooks.html +3 -3
  52. package/dist/docs/reference/http-api.html +3 -3
  53. package/dist/docs/reference/instructions.html +3 -3
  54. package/dist/docs/reference/playground.html +3 -3
  55. package/dist/docs/reference/project-layout.html +3 -3
  56. package/dist/docs/reference/prompt.html +3 -3
  57. package/dist/docs/reference/schedules.html +3 -3
  58. package/dist/docs/reference/sessions.html +3 -3
  59. package/dist/docs/reference/skills.html +3 -3
  60. package/dist/docs/reference/subagents.html +3 -3
  61. package/dist/docs/reference/tools.html +3 -3
  62. package/dist/docs/scaffolding-agents.html +3 -3
  63. package/dist/docs/storage.html +3 -3
  64. package/dist/docs/troubleshooting.html +3 -3
  65. package/dist/files-backends/agent-store-presigned-url.d.ts +3 -11
  66. package/dist/files.d.ts +20 -0
  67. package/dist/files.d.ts.map +1 -1
  68. package/dist/files.js +20 -0
  69. package/dist/index.d.ts +2 -2
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +2 -2
  72. package/dist/internal/artifacts-store.d.ts +14 -6
  73. package/dist/internal/artifacts-store.d.ts.map +1 -1
  74. package/dist/internal/artifacts-store.js +160 -16
  75. package/dist/internal/cli-convert-automation.d.ts +39 -0
  76. package/dist/internal/cli-convert-automation.d.ts.map +1 -0
  77. package/dist/internal/cli-convert-automation.js +280 -0
  78. package/dist/internal/cli-deploy.d.ts +2 -0
  79. package/dist/internal/cli-deploy.d.ts.map +1 -1
  80. package/dist/internal/cli-deploy.js +1 -1
  81. package/dist/internal/cli-mcp-oauth.d.ts +23 -0
  82. package/dist/internal/cli-mcp-oauth.d.ts.map +1 -1
  83. package/dist/internal/cli-mcp-oauth.js +57 -33
  84. package/dist/internal/convert-automation/convert-workflow.d.ts +10 -0
  85. package/dist/internal/convert-automation/convert-workflow.d.ts.map +1 -0
  86. package/dist/internal/convert-automation/convert-workflow.js +998 -0
  87. package/dist/internal/convert-automation/index.d.ts +3 -0
  88. package/dist/internal/convert-automation/index.d.ts.map +1 -0
  89. package/dist/internal/convert-automation/index.js +1 -0
  90. package/dist/internal/convert-automation/slug.d.ts +11 -0
  91. package/dist/internal/convert-automation/slug.d.ts.map +1 -0
  92. package/dist/internal/convert-automation/slug.js +36 -0
  93. package/dist/internal/convert-automation/types.d.ts +191 -0
  94. package/dist/internal/convert-automation/types.d.ts.map +1 -0
  95. package/dist/internal/convert-automation/types.js +13 -0
  96. package/dist/internal/deploy-client.d.ts +31 -0
  97. package/dist/internal/deploy-client.d.ts.map +1 -1
  98. package/dist/internal/deploy-client.js +48 -0
  99. package/dist/internal/discovery.d.ts.map +1 -1
  100. package/dist/internal/discovery.js +3 -32
  101. package/dist/internal/init-project.d.ts +1 -0
  102. package/dist/internal/init-project.d.ts.map +1 -1
  103. package/dist/internal/init-project.js +1 -1
  104. package/dist/internal/mcp-endpoint.d.ts +6 -0
  105. package/dist/internal/mcp-endpoint.d.ts.map +1 -1
  106. package/dist/internal/mcp-endpoint.js +168 -0
  107. package/dist/internal/resolved-connections.d.ts +15 -0
  108. package/dist/internal/resolved-connections.d.ts.map +1 -1
  109. package/dist/internal/resolved-connections.js +12 -5
  110. package/dist/internal/server.d.ts.map +1 -1
  111. package/dist/internal/server.js +75 -7
  112. package/dist/internal/session-engine.d.ts +56 -3
  113. package/dist/internal/session-engine.d.ts.map +1 -1
  114. package/dist/internal/session-engine.js +252 -83
  115. package/dist/internal/storage-coordinator.d.ts +0 -15
  116. package/dist/internal/storage-coordinator.d.ts.map +1 -1
  117. package/dist/internal/storage-coordinator.js +0 -52
  118. package/dist/internal/workspace.d.ts +10 -5
  119. package/dist/internal/workspace.d.ts.map +1 -1
  120. package/dist/internal/workspace.js +13 -0
  121. package/dist/memory.d.ts +22 -6
  122. package/dist/memory.d.ts.map +1 -1
  123. package/dist/memory.js +100 -8
  124. package/dist/playground/assets/{index-CVlCAcUx.js → index-CDDWw0YX.js} +46 -46
  125. package/dist/playground/assets/index-MVuNTd8v.css +1 -0
  126. package/dist/playground/index.html +2 -2
  127. package/dist/storage.d.ts +0 -4
  128. package/dist/storage.d.ts.map +1 -1
  129. package/dist/storage.js +0 -4
  130. package/dist/types.d.ts +18 -0
  131. package/dist/types.d.ts.map +1 -1
  132. package/docs/example-agents/weather-agent.md +29 -11
  133. package/docs/guides/cloud-runtime.md +6 -4
  134. package/package.json +3 -1
  135. package/src/artifacts.ts +0 -6
  136. package/src/bin/agent-serve.ts +36 -2
  137. package/src/channels/github/types.ts +10 -7
  138. package/src/files.ts +27 -0
  139. package/src/index.ts +6 -1
  140. package/src/internal/artifacts-store.ts +185 -22
  141. package/src/internal/cli-convert-automation.ts +352 -0
  142. package/src/internal/cli-deploy.ts +1 -1
  143. package/src/internal/cli-mcp-oauth.ts +69 -31
  144. package/src/internal/convert-automation/convert-workflow.ts +1422 -0
  145. package/src/internal/convert-automation/index.ts +10 -0
  146. package/src/internal/convert-automation/slug.ts +38 -0
  147. package/src/internal/convert-automation/types.ts +199 -0
  148. package/src/internal/deploy-client.ts +78 -0
  149. package/src/internal/discovery.ts +3 -37
  150. package/src/internal/init-project.ts +1 -1
  151. package/src/internal/mcp-endpoint.ts +243 -0
  152. package/src/internal/resolved-connections.ts +32 -6
  153. package/src/internal/server.ts +99 -1
  154. package/src/internal/session-engine.ts +329 -99
  155. package/src/internal/storage-coordinator.ts +0 -62
  156. package/src/internal/workspace.ts +19 -5
  157. package/src/memory.ts +126 -10
  158. package/src/storage.ts +0 -6
  159. package/src/types.ts +15 -0
  160. package/dist/docs/assets/chunks/@localSearchIndexroot.B1uHGxBZ.js +0 -1
  161. package/dist/docs/assets/example-agents_weather-agent.md.Dmrcphhl.lean.js +0 -1
  162. package/dist/docs/assets/guides_cloud-runtime.md.BZ2GA7Es.js +0 -9
  163. package/dist/docs/assets/guides_cloud-runtime.md.BZ2GA7Es.lean.js +0 -1
  164. package/dist/playground/assets/index-BRhBbnd4.css +0 -1
@@ -96,30 +96,77 @@ export async function cmdMcpOauth(
96
96
  return 1;
97
97
  }
98
98
 
99
- out(
100
- `${LOG_PREFIX} Authorizing "${options.connection}" (${transport.url})…\n`
101
- );
99
+ const flow = await authorizeHostMcpOauth({
100
+ connection: options.connection,
101
+ url: transport.url,
102
+ type: transport.type === "sse" ? "sse" : "http",
103
+ headers: transport.headers,
104
+ out,
105
+ err,
106
+ });
107
+ if (!flow.ok) {
108
+ return 1;
109
+ }
110
+
111
+ if (options.store !== true) {
112
+ return 0;
113
+ }
114
+ return storeOauthSecrets({
115
+ connection: options.connection,
116
+ dir: options.dir,
117
+ slug: options.slug,
118
+ team: options.team,
119
+ apiKey: options.apiKey,
120
+ tokens: flow.tokens,
121
+ clientId: flow.clientId,
122
+ err,
123
+ out,
124
+ });
125
+ }
126
+
127
+ export interface HostMcpOauthArgs {
128
+ /** Connection name — the local token-store identifier. */
129
+ connection: string;
130
+ url: string;
131
+ type?: "http" | "sse";
132
+ headers?: Record<string, string>;
133
+ out: (text: string) => void;
134
+ err: (text: string) => void;
135
+ }
136
+
137
+ export type HostMcpOauthResult =
138
+ | { ok: true; tokens: OAuthTokens | undefined; clientId: string | undefined }
139
+ | { ok: false };
140
+
141
+ /**
142
+ * The interactive host-OAuth browser flow against an MCP server URL. Takes
143
+ * the transport metadata directly so callers that already hold it never have
144
+ * to load the authored project to authorize.
145
+ */
146
+ export async function authorizeHostMcpOauth(
147
+ args: HostMcpOauthArgs
148
+ ): Promise<HostMcpOauthResult> {
149
+ const { connection, out, err } = args;
150
+ out(`${LOG_PREFIX} Authorizing "${connection}" (${args.url})…\n`);
102
151
 
103
152
  let authorizationUrl: URL | undefined;
104
153
  const provider = await createHostMcpOAuthProvider({
105
- identifier: options.connection,
106
- resourceUrl: transport.url,
154
+ identifier: connection,
155
+ resourceUrl: args.url,
107
156
  onRedirect: (url) => {
108
157
  authorizationUrl = url;
109
158
  },
110
159
  });
111
160
 
112
161
  const client = new Client({ name: "agent-sdk-mcp-oauth", version: "0.1.0" });
113
- const url = new URL(transport.url);
162
+ const url = new URL(args.url);
114
163
  const requestInit =
115
- transport.headers === undefined
116
- ? undefined
117
- : { headers: transport.headers };
164
+ args.headers === undefined ? undefined : { headers: args.headers };
118
165
 
119
166
  const makeTransport = ():
120
167
  | StreamableHTTPClientTransport
121
168
  | SSEClientTransport => {
122
- if (transport.type === "sse") {
169
+ if (args.type === "sse") {
123
170
  return new SSEClientTransport(url, {
124
171
  authProvider: provider,
125
172
  requestInit,
@@ -135,15 +182,15 @@ export async function cmdMcpOauth(
135
182
  let authorized = false;
136
183
  try {
137
184
  await client.connect(mcpTransport);
138
- out(`${LOG_PREFIX} "${options.connection}" already authorized.\n`);
185
+ out(`${LOG_PREFIX} "${connection}" already authorized.\n`);
139
186
  await client.close().catch(() => undefined);
140
187
  authorized = true;
141
188
  } catch (error) {
142
189
  if (!(error instanceof UnauthorizedError)) {
143
190
  err(
144
- `${LOG_PREFIX} Failed to connect to "${options.connection}": ${describe(error)}\n`
191
+ `${LOG_PREFIX} Failed to connect to "${connection}": ${describe(error)}\n`
145
192
  );
146
- return 1;
193
+ return { ok: false };
147
194
  }
148
195
  }
149
196
 
@@ -153,7 +200,7 @@ export async function cmdMcpOauth(
153
200
  err(
154
201
  `${LOG_PREFIX} Auth required but no authorization URL was provided.\n`
155
202
  );
156
- return 1;
203
+ return { ok: false };
157
204
  }
158
205
 
159
206
  out(`${LOG_PREFIX} Open if needed:\n ${redirect.toString()}\n`);
@@ -165,14 +212,14 @@ export async function cmdMcpOauth(
165
212
  callback = await waitForMcpOAuthCallback();
166
213
  } catch (error) {
167
214
  err(`${LOG_PREFIX} OAuth callback failed: ${describe(error)}\n`);
168
- return 1;
215
+ return { ok: false };
169
216
  }
170
217
 
171
218
  try {
172
219
  await mcpTransport.finishAuth(callback.code);
173
220
  } catch (error) {
174
221
  err(`${LOG_PREFIX} Token exchange failed: ${describe(error)}\n`);
175
- return 1;
222
+ return { ok: false };
176
223
  }
177
224
 
178
225
  mcpTransport = makeTransport();
@@ -180,31 +227,22 @@ export async function cmdMcpOauth(
180
227
  await client.connect(mcpTransport);
181
228
  const tools = await client.listTools();
182
229
  out(
183
- `${LOG_PREFIX} Authorized "${options.connection}" (${tools.tools.length} tools). Local tokens in the agent-serve config dir.\n`
230
+ `${LOG_PREFIX} Authorized "${connection}" (${tools.tools.length} tools). Local tokens in the agent-serve config dir.\n`
184
231
  );
185
232
  await client.close().catch(() => undefined);
186
233
  } catch (error) {
187
234
  err(
188
- `${LOG_PREFIX} Reconnect failed: ${describe(error)}. Re-run \`${CLI} mcp oauth ${options.connection}\`.\n`
235
+ `${LOG_PREFIX} Reconnect failed: ${describe(error)}. Re-run \`${CLI} mcp oauth ${connection}\`.\n`
189
236
  );
190
- return 1;
237
+ return { ok: false };
191
238
  }
192
239
  }
193
240
 
194
- if (options.store !== true) {
195
- return 0;
196
- }
197
- return storeOauthSecrets({
198
- connection: options.connection,
199
- dir: options.dir,
200
- slug: options.slug,
201
- team: options.team,
202
- apiKey: options.apiKey,
241
+ return {
242
+ ok: true,
203
243
  tokens: provider.tokens(),
204
244
  clientId: provider.clientInformation()?.client_id,
205
- err,
206
- out,
207
- });
245
+ };
208
246
  }
209
247
 
210
248
  /**