@cursor/july 0.1.33 → 0.1.35
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/README.md +1 -1
- package/dist/artifacts.d.ts.map +1 -1
- package/dist/artifacts.js +0 -5
- package/dist/bin/agent-serve.d.ts +1 -0
- package/dist/bin/agent-serve.d.ts.map +1 -1
- package/dist/bin/agent-serve.js +32 -2
- package/dist/channels/github/types.d.ts +10 -7
- package/dist/channels/github/types.d.ts.map +1 -1
- package/dist/docs/404.html +2 -2
- package/dist/docs/ab.html +3 -3
- package/dist/docs/assets/{app.CgZqLyWL.js → app.D5Mv1T0U.js} +1 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.Cu7b6o1D.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.C4KigoQn.js → VPLocalSearchBox.CMq_BQce.js} +1 -1
- package/dist/docs/assets/chunks/{theme.C_Ty4yT7.js → theme.C6D9UPLK.js} +2 -2
- package/dist/docs/assets/{example-agents_weather-agent.md.Dmrcphhl.js → example-agents_weather-agent.md.BADkPqxQ.js} +6 -4
- package/dist/docs/assets/example-agents_weather-agent.md.BADkPqxQ.lean.js +1 -0
- package/dist/docs/assets/guides_cloud-runtime.md.CDJGvVC4.js +9 -0
- package/dist/docs/assets/guides_cloud-runtime.md.CDJGvVC4.lean.js +1 -0
- package/dist/docs/building-with-agents.html +3 -3
- package/dist/docs/concepts.html +3 -3
- package/dist/docs/deployment.html +3 -3
- package/dist/docs/evals.html +3 -3
- package/dist/docs/example-agents/approval-buddy.html +3 -3
- package/dist/docs/example-agents/benny.html +3 -3
- package/dist/docs/example-agents/bugbot.html +3 -3
- package/dist/docs/example-agents/codebase-wiki.html +3 -3
- package/dist/docs/example-agents/codeowners-review.html +3 -3
- package/dist/docs/example-agents/concierge.html +3 -3
- package/dist/docs/example-agents/fsd.html +3 -3
- package/dist/docs/example-agents/index.html +3 -3
- package/dist/docs/example-agents/knowledge-base.html +3 -3
- package/dist/docs/example-agents/oncall.html +3 -3
- package/dist/docs/example-agents/security-reviewer.html +3 -3
- package/dist/docs/example-agents/slack-agent.html +3 -3
- package/dist/docs/example-agents/weather-agent.html +10 -8
- package/dist/docs/guides/agent-to-agent.html +3 -3
- package/dist/docs/guides/cloud-runtime.html +5 -5
- package/dist/docs/guides/github.html +3 -3
- package/dist/docs/guides/human-in-the-loop.html +3 -3
- package/dist/docs/guides/mcp-oauth.html +3 -3
- package/dist/docs/guides/slack.html +3 -3
- package/dist/docs/guides/webhooks.html +3 -3
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +3 -3
- package/dist/docs/index.html +3 -3
- package/dist/docs/quickstart.html +3 -3
- package/dist/docs/reference/agent-config.html +3 -3
- package/dist/docs/reference/channels.html +3 -3
- package/dist/docs/reference/cli.html +3 -3
- package/dist/docs/reference/connections.html +3 -3
- package/dist/docs/reference/hooks.html +3 -3
- package/dist/docs/reference/http-api.html +3 -3
- package/dist/docs/reference/instructions.html +3 -3
- package/dist/docs/reference/playground.html +3 -3
- package/dist/docs/reference/project-layout.html +3 -3
- package/dist/docs/reference/prompt.html +3 -3
- package/dist/docs/reference/schedules.html +3 -3
- package/dist/docs/reference/sessions.html +3 -3
- package/dist/docs/reference/skills.html +3 -3
- package/dist/docs/reference/subagents.html +3 -3
- package/dist/docs/reference/tools.html +3 -3
- package/dist/docs/scaffolding-agents.html +3 -3
- package/dist/docs/storage.html +3 -3
- package/dist/docs/troubleshooting.html +3 -3
- package/dist/files-backends/agent-store-presigned-url.d.ts +3 -11
- package/dist/files.d.ts +20 -0
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +20 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/internal/artifacts-store.d.ts +14 -6
- package/dist/internal/artifacts-store.d.ts.map +1 -1
- package/dist/internal/artifacts-store.js +160 -16
- package/dist/internal/cli-convert-automation.d.ts +39 -0
- package/dist/internal/cli-convert-automation.d.ts.map +1 -0
- package/dist/internal/cli-convert-automation.js +280 -0
- package/dist/internal/cli-deploy.d.ts +2 -0
- package/dist/internal/cli-deploy.d.ts.map +1 -1
- package/dist/internal/cli-deploy.js +1 -1
- package/dist/internal/cli-mcp-oauth.d.ts +23 -0
- package/dist/internal/cli-mcp-oauth.d.ts.map +1 -1
- package/dist/internal/cli-mcp-oauth.js +57 -33
- package/dist/internal/convert-automation/convert-workflow.d.ts +10 -0
- package/dist/internal/convert-automation/convert-workflow.d.ts.map +1 -0
- package/dist/internal/convert-automation/convert-workflow.js +998 -0
- package/dist/internal/convert-automation/index.d.ts +3 -0
- package/dist/internal/convert-automation/index.d.ts.map +1 -0
- package/dist/internal/convert-automation/index.js +1 -0
- package/dist/internal/convert-automation/slug.d.ts +11 -0
- package/dist/internal/convert-automation/slug.d.ts.map +1 -0
- package/dist/internal/convert-automation/slug.js +36 -0
- package/dist/internal/convert-automation/types.d.ts +191 -0
- package/dist/internal/convert-automation/types.d.ts.map +1 -0
- package/dist/internal/convert-automation/types.js +13 -0
- package/dist/internal/deploy-client.d.ts +31 -0
- package/dist/internal/deploy-client.d.ts.map +1 -1
- package/dist/internal/deploy-client.js +48 -0
- package/dist/internal/discovery.d.ts.map +1 -1
- package/dist/internal/discovery.js +3 -32
- package/dist/internal/host-kv.d.ts +6 -2
- package/dist/internal/host-kv.d.ts.map +1 -1
- package/dist/internal/init-project.d.ts +1 -0
- package/dist/internal/init-project.d.ts.map +1 -1
- package/dist/internal/init-project.js +1 -1
- package/dist/internal/mcp-endpoint.d.ts +6 -0
- package/dist/internal/mcp-endpoint.d.ts.map +1 -1
- package/dist/internal/mcp-endpoint.js +168 -0
- package/dist/internal/resolved-connections.d.ts +15 -0
- package/dist/internal/resolved-connections.d.ts.map +1 -1
- package/dist/internal/resolved-connections.js +12 -5
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +75 -7
- package/dist/internal/session-engine.d.ts +56 -3
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +262 -84
- package/dist/internal/storage-coordinator.d.ts +9 -16
- package/dist/internal/storage-coordinator.d.ts.map +1 -1
- package/dist/internal/storage-coordinator.js +7 -52
- package/dist/internal/storage-roles.d.ts +78 -0
- package/dist/internal/storage-roles.d.ts.map +1 -0
- package/dist/internal/storage-roles.js +24 -0
- package/dist/internal/workspace.d.ts +36 -5
- package/dist/internal/workspace.d.ts.map +1 -1
- package/dist/internal/workspace.js +66 -0
- package/dist/memory.d.ts +22 -6
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +100 -8
- package/dist/playground/assets/{index-CVlCAcUx.js → index-D7OV8B_H.js} +50 -50
- package/dist/playground/assets/index-DOb96C0M.css +1 -0
- package/dist/playground/index.html +2 -2
- package/dist/storage.d.ts +0 -4
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +0 -4
- package/dist/types.d.ts +18 -0
- package/dist/types.d.ts.map +1 -1
- package/docs/example-agents/weather-agent.md +29 -11
- package/docs/guides/cloud-runtime.md +6 -4
- package/package.json +3 -1
- package/src/artifacts.ts +0 -6
- package/src/bin/agent-serve.ts +36 -2
- package/src/channels/github/types.ts +10 -7
- package/src/files.ts +27 -0
- package/src/index.ts +6 -1
- package/src/internal/artifacts-store.ts +185 -22
- package/src/internal/cli-convert-automation.ts +352 -0
- package/src/internal/cli-deploy.ts +1 -1
- package/src/internal/cli-mcp-oauth.ts +69 -31
- package/src/internal/convert-automation/convert-workflow.ts +1422 -0
- package/src/internal/convert-automation/index.ts +10 -0
- package/src/internal/convert-automation/slug.ts +38 -0
- package/src/internal/convert-automation/types.ts +199 -0
- package/src/internal/deploy-client.ts +78 -0
- package/src/internal/discovery.ts +3 -37
- package/src/internal/host-kv.ts +6 -2
- package/src/internal/init-project.ts +1 -1
- package/src/internal/mcp-endpoint.ts +243 -0
- package/src/internal/resolved-connections.ts +32 -6
- package/src/internal/server.ts +99 -1
- package/src/internal/session-engine.ts +345 -103
- package/src/internal/storage-coordinator.ts +15 -63
- package/src/internal/storage-roles.ts +86 -0
- package/src/internal/workspace.ts +81 -6
- package/src/memory.ts +126 -10
- package/src/storage.ts +0 -6
- package/src/types.ts +15 -0
- package/dist/docs/assets/chunks/@localSearchIndexroot.B1uHGxBZ.js +0 -1
- package/dist/docs/assets/example-agents_weather-agent.md.Dmrcphhl.lean.js +0 -1
- package/dist/docs/assets/guides_cloud-runtime.md.BZ2GA7Es.js +0 -9
- package/dist/docs/assets/guides_cloud-runtime.md.BZ2GA7Es.lean.js +0 -1
- 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
|
-
|
|
100
|
-
|
|
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:
|
|
106
|
-
resourceUrl:
|
|
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(
|
|
162
|
+
const url = new URL(args.url);
|
|
114
163
|
const requestInit =
|
|
115
|
-
|
|
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 (
|
|
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} "${
|
|
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 "${
|
|
191
|
+
`${LOG_PREFIX} Failed to connect to "${connection}": ${describe(error)}\n`
|
|
145
192
|
);
|
|
146
|
-
return
|
|
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
|
|
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
|
|
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
|
|
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 "${
|
|
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 ${
|
|
235
|
+
`${LOG_PREFIX} Reconnect failed: ${describe(error)}. Re-run \`${CLI} mcp oauth ${connection}\`.\n`
|
|
189
236
|
);
|
|
190
|
-
return
|
|
237
|
+
return { ok: false };
|
|
191
238
|
}
|
|
192
239
|
}
|
|
193
240
|
|
|
194
|
-
|
|
195
|
-
|
|
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
|
-
|
|
206
|
-
out,
|
|
207
|
-
});
|
|
245
|
+
};
|
|
208
246
|
}
|
|
209
247
|
|
|
210
248
|
/**
|