@cursor/july 0.1.28 → 0.1.30
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/dist/bin/agent-serve.js +20 -2
- package/dist/channels/slack/slack-channel.d.ts +19 -1
- package/dist/channels/slack/slack-channel.d.ts.map +1 -1
- package/dist/channels/slack/slack-channel.js +29 -0
- package/dist/docs/404.html +1 -1
- package/dist/docs/ab.html +2 -2
- package/dist/docs/assets/{app.CqjrYaT2.js → app.Cm4lsMc4.js} +1 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.CbQshWFK.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.ag-MwUel.js → VPLocalSearchBox.CYUFXspH.js} +1 -1
- package/dist/docs/assets/chunks/{theme.BS-DJWat.js → theme.CTjkX9vc.js} +2 -2
- package/dist/docs/building-with-agents.html +2 -2
- package/dist/docs/concepts.html +2 -2
- package/dist/docs/deployment.html +2 -2
- package/dist/docs/evals.html +2 -2
- package/dist/docs/example-agents/approval-buddy.html +2 -2
- package/dist/docs/example-agents/benny.html +2 -2
- package/dist/docs/example-agents/bugbot.html +2 -2
- package/dist/docs/example-agents/codebase-wiki.html +2 -2
- package/dist/docs/example-agents/codeowners-review.html +2 -2
- package/dist/docs/example-agents/concierge.html +2 -2
- package/dist/docs/example-agents/fsd.html +2 -2
- package/dist/docs/example-agents/index.html +2 -2
- package/dist/docs/example-agents/knowledge-base.html +2 -2
- package/dist/docs/example-agents/oncall.html +2 -2
- package/dist/docs/example-agents/security-reviewer.html +2 -2
- package/dist/docs/example-agents/slack-agent.html +2 -2
- package/dist/docs/example-agents/weather-agent.html +2 -2
- package/dist/docs/guides/agent-to-agent.html +2 -2
- package/dist/docs/guides/cloud-runtime.html +2 -2
- package/dist/docs/guides/github.html +2 -2
- package/dist/docs/guides/human-in-the-loop.html +2 -2
- package/dist/docs/guides/mcp-oauth.html +2 -2
- package/dist/docs/guides/slack.html +2 -2
- package/dist/docs/guides/webhooks.html +2 -2
- package/dist/docs/hillclimbing.html +2 -2
- package/dist/docs/index.html +2 -2
- package/dist/docs/quickstart.html +2 -2
- package/dist/docs/reference/agent-config.html +2 -2
- package/dist/docs/reference/channels.html +2 -2
- package/dist/docs/reference/cli.html +2 -2
- package/dist/docs/reference/connections.html +2 -2
- package/dist/docs/reference/hooks.html +2 -2
- package/dist/docs/reference/http-api.html +2 -2
- package/dist/docs/reference/instructions.html +2 -2
- package/dist/docs/reference/playground.html +2 -2
- package/dist/docs/reference/project-layout.html +2 -2
- package/dist/docs/reference/prompt.html +2 -2
- package/dist/docs/reference/schedules.html +2 -2
- package/dist/docs/reference/sessions.html +2 -2
- package/dist/docs/reference/skills.html +2 -2
- package/dist/docs/reference/subagents.html +2 -2
- package/dist/docs/reference/tools.html +2 -2
- package/dist/docs/scaffolding-agents.html +2 -2
- package/dist/docs/storage.html +2 -2
- package/dist/docs/troubleshooting.html +2 -2
- package/dist/internal/cloud-turn-cost.d.ts +34 -0
- package/dist/internal/cloud-turn-cost.d.ts.map +1 -0
- package/dist/internal/cloud-turn-cost.js +106 -0
- package/dist/internal/discovery.d.ts.map +1 -1
- package/dist/internal/discovery.js +1 -1
- package/dist/internal/event-log.d.ts +6 -0
- package/dist/internal/event-log.d.ts.map +1 -1
- package/dist/internal/event-log.js +16 -0
- package/dist/internal/host-platforms.d.ts +13 -0
- package/dist/internal/host-platforms.d.ts.map +1 -1
- package/dist/internal/host-platforms.js +25 -16
- package/dist/internal/http-channel.d.ts.map +1 -1
- package/dist/internal/http-channel.js +3 -1
- package/dist/internal/local-control-plane.d.ts +25 -0
- package/dist/internal/local-control-plane.d.ts.map +1 -0
- package/dist/internal/local-control-plane.js +172 -0
- package/dist/internal/platform-schedule-sync.d.ts +17 -0
- package/dist/internal/platform-schedule-sync.d.ts.map +1 -0
- package/dist/internal/platform-schedule-sync.js +72 -0
- package/dist/internal/platform-timers.d.ts +28 -0
- package/dist/internal/platform-timers.d.ts.map +1 -0
- package/dist/internal/platform-timers.js +120 -0
- package/dist/internal/reminder-runner.d.ts +16 -12
- package/dist/internal/reminder-runner.d.ts.map +1 -1
- package/dist/internal/reminder-runner.js +112 -61
- package/dist/internal/reminder-store.d.ts +5 -4
- package/dist/internal/reminder-store.d.ts.map +1 -1
- package/dist/internal/reminder-store.js +5 -4
- package/dist/internal/sdk-runner.d.ts.map +1 -1
- package/dist/internal/sdk-runner.js +44 -1
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +105 -11
- package/dist/internal/session-engine.d.ts +22 -1
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +110 -4
- package/dist/internal/storage-coordinator.d.ts +4 -15
- package/dist/internal/storage-coordinator.d.ts.map +1 -1
- package/dist/internal/storage-coordinator.js +4 -30
- package/dist/playground/assets/index-CquRB-l0.js +85 -0
- package/dist/playground/assets/{index-Bul1WfrB.css → index-Dj0bWpkn.css} +1 -1
- package/dist/playground/index.html +2 -2
- package/dist/storage.d.ts +0 -3
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +0 -3
- package/dist/types.d.ts +11 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/bin/agent-serve.ts +21 -2
- package/src/channels/slack/slack-channel.ts +46 -0
- package/src/internal/cloud-turn-cost.ts +158 -0
- package/src/internal/discovery.ts +1 -0
- package/src/internal/event-log.ts +17 -0
- package/src/internal/host-platforms.ts +40 -18
- package/src/internal/http-channel.ts +3 -1
- package/src/internal/local-control-plane.ts +188 -0
- package/src/internal/platform-schedule-sync.ts +81 -0
- package/src/internal/platform-timers.ts +173 -0
- package/src/internal/reminder-runner.ts +131 -67
- package/src/internal/reminder-store.ts +5 -4
- package/src/internal/sdk-runner.ts +49 -1
- package/src/internal/server.ts +121 -6
- package/src/internal/session-engine.ts +138 -3
- package/src/internal/storage-coordinator.ts +4 -41
- package/src/storage.ts +0 -5
- package/src/types.ts +11 -2
- package/dist/docs/assets/chunks/@localSearchIndexroot.VWQoPFJ1.js +0 -1
- package/dist/playground/assets/index-CkN74U_L.js +0 -87
package/dist/bin/agent-serve.js
CHANGED
|
@@ -270,6 +270,9 @@ Options:
|
|
|
270
270
|
connections (defineConnection({ agent })) on cloud-runtime
|
|
271
271
|
turns; local turns always use loopback.
|
|
272
272
|
--no-schedules Disable the cron runner outside dev mode.
|
|
273
|
+
--no-control-plane serve: do not start the bundled control plane (schedule
|
|
274
|
+
and reminder clocks). Cursor hosting passes this so the
|
|
275
|
+
kit uses the Cursor backend instead.
|
|
273
276
|
--team deploy/deployments/deployment/stop/rotate-token and
|
|
274
277
|
chat/resume/run/call/eval/logs/sessions/session/playground
|
|
275
278
|
--prod: Cursor team id. Defaults to the account's team when
|
|
@@ -369,6 +372,17 @@ Options:
|
|
|
369
372
|
playground-openable). github replay: write synthesized
|
|
370
373
|
payloads as fixtures.
|
|
371
374
|
`;
|
|
375
|
+
function writeStdout(text) {
|
|
376
|
+
return new Promise((resolve, reject) => {
|
|
377
|
+
process.stdout.write(text, (error) => {
|
|
378
|
+
if (error) {
|
|
379
|
+
reject(error);
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
382
|
+
resolve();
|
|
383
|
+
});
|
|
384
|
+
});
|
|
385
|
+
}
|
|
372
386
|
function main(argv) {
|
|
373
387
|
return __awaiter(this, void 0, void 0, function* () {
|
|
374
388
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
@@ -378,11 +392,13 @@ function main(argv) {
|
|
|
378
392
|
command === "help" ||
|
|
379
393
|
command === "--help" ||
|
|
380
394
|
command === "-h") {
|
|
381
|
-
process.
|
|
395
|
+
// Await the write: HELP is larger than a pipe buffer, and process.exit
|
|
396
|
+
// after main() would otherwise truncate --help under execFile / CI.
|
|
397
|
+
yield writeStdout(HELP);
|
|
382
398
|
return command === undefined ? 1 : 0;
|
|
383
399
|
}
|
|
384
400
|
if (command === "version" || command === "--version" || command === "-V") {
|
|
385
|
-
|
|
401
|
+
yield writeStdout(`${CLI} ${packageVersion()}\n`);
|
|
386
402
|
return 0;
|
|
387
403
|
}
|
|
388
404
|
// `session --events` means "dump raw events" (boolean). Rewrite so it does
|
|
@@ -408,6 +424,7 @@ function main(argv) {
|
|
|
408
424
|
"allow-anonymous-cursor-account-mcp": { type: "boolean", default: false },
|
|
409
425
|
"cursor-github-proxy": { type: "boolean", default: false },
|
|
410
426
|
"no-schedules": { type: "boolean", default: false },
|
|
427
|
+
"no-control-plane": { type: "boolean", default: false },
|
|
411
428
|
"no-playground": { type: "boolean", default: false },
|
|
412
429
|
"no-docs": { type: "boolean", default: false },
|
|
413
430
|
url: { type: "string" },
|
|
@@ -961,6 +978,7 @@ function main(argv) {
|
|
|
961
978
|
: undefined,
|
|
962
979
|
cursorGithubProxy: values["cursor-github-proxy"] === true ? true : undefined,
|
|
963
980
|
schedules: values["no-schedules"] === true ? false : undefined,
|
|
981
|
+
noControlPlane: values["no-control-plane"] === true ? true : undefined,
|
|
964
982
|
playground: values["no-playground"] === true ? false : undefined,
|
|
965
983
|
docs: values["no-docs"] === true ? false : undefined,
|
|
966
984
|
publicUrl: values["public-url"],
|
|
@@ -7,7 +7,25 @@
|
|
|
7
7
|
* envelopes.
|
|
8
8
|
*/
|
|
9
9
|
import type { ChannelDefinition } from "../../types.js";
|
|
10
|
-
import { type SlackChannelOptions, type SlackChannelState, type SlackCursorAgentName } from "./types.js";
|
|
10
|
+
import { type SlackChannelOptions, type SlackChannelState, type SlackCredentials, type SlackCursorAgentName } from "./types.js";
|
|
11
|
+
/**
|
|
12
|
+
* Recover the {@link SlackChannelOptions} used to build a channel definition,
|
|
13
|
+
* if it was created via {@link slackChannel}.
|
|
14
|
+
*/
|
|
15
|
+
export declare function getSlackChannelOptions(definition: object): SlackChannelOptions | undefined;
|
|
16
|
+
/** Dedicated Socket Mode credentials for `ctx.host.slack.getClient()`. */
|
|
17
|
+
export interface SlackChannelHostBinding {
|
|
18
|
+
credentials: SlackCredentials;
|
|
19
|
+
envPrefix?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* First dedicated (Socket Mode) Slack channel on a project. Skips
|
|
23
|
+
* `cursorAccount` channels — those have no local bot token for
|
|
24
|
+
* {@link HostContext.slack.getClient}.
|
|
25
|
+
*/
|
|
26
|
+
export declare function resolveDedicatedSlackHostBinding(channels: ReadonlyArray<{
|
|
27
|
+
definition: object;
|
|
28
|
+
}>): SlackChannelHostBinding | undefined;
|
|
11
29
|
/**
|
|
12
30
|
* Create a Slack channel. Author as `agent/channels/slack.ts` default export.
|
|
13
31
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slack-channel.d.ts","sourceRoot":"","sources":["../../../src/channels/slack/slack-channel.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAEV,iBAAiB,EAMlB,MAAM,gBAAgB,CAAC;AA+CxB,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"slack-channel.d.ts","sourceRoot":"","sources":["../../../src/channels/slack/slack-channel.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAEV,iBAAiB,EAMlB,MAAM,gBAAgB,CAAC;AA+CxB,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAC;AAQpB;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,GACjB,mBAAmB,GAAG,SAAS,CAEjC;AAED,0EAA0E;AAC1E,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,aAAa,CAAC;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,GAC9C,uBAAuB,GAAG,SAAS,CAYrC;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,EAC7D,OAAO,GAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,GAAG;IAChD,SAAS,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;CACnC,GACL,iBAAiB,CAAC,iBAAiB,CAAC,CAgftC"}
|
|
@@ -29,6 +29,34 @@ import { createSlackLogger } from "./log.js";
|
|
|
29
29
|
import { startSlackSocketMode, } from "./socket-mode.js";
|
|
30
30
|
import { buildToolApprovalEvents } from "./tool-approval-events.js";
|
|
31
31
|
import { assertSlackCursorAgentName, } from "./types.js";
|
|
32
|
+
/** Options used to construct a slack channel — for host-level credential binding. */
|
|
33
|
+
const slackChannelOptionsByDefinition = new WeakMap();
|
|
34
|
+
/**
|
|
35
|
+
* Recover the {@link SlackChannelOptions} used to build a channel definition,
|
|
36
|
+
* if it was created via {@link slackChannel}.
|
|
37
|
+
*/
|
|
38
|
+
export function getSlackChannelOptions(definition) {
|
|
39
|
+
return slackChannelOptionsByDefinition.get(definition);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* First dedicated (Socket Mode) Slack channel on a project. Skips
|
|
43
|
+
* `cursorAccount` channels — those have no local bot token for
|
|
44
|
+
* {@link HostContext.slack.getClient}.
|
|
45
|
+
*/
|
|
46
|
+
export function resolveDedicatedSlackHostBinding(channels) {
|
|
47
|
+
var _a;
|
|
48
|
+
for (const channel of channels) {
|
|
49
|
+
const options = slackChannelOptionsByDefinition.get(channel.definition);
|
|
50
|
+
if (options === undefined || options.cursorAccount === true) {
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
credentials: (_a = options.credentials) !== null && _a !== void 0 ? _a : credentialsFromEnv(options.envPrefix),
|
|
55
|
+
envPrefix: options.envPrefix,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
32
60
|
/**
|
|
33
61
|
* Create a Slack channel. Author as `agent/channels/slack.ts` default export.
|
|
34
62
|
*
|
|
@@ -396,6 +424,7 @@ export function slackChannel(options = {}) {
|
|
|
396
424
|
yield (_a = options.onStop) === null || _a === void 0 ? void 0 : _a.call(options);
|
|
397
425
|
}),
|
|
398
426
|
});
|
|
427
|
+
slackChannelOptionsByDefinition.set(definition, options);
|
|
399
428
|
if (accountTransport !== undefined) {
|
|
400
429
|
// Serve-time seam: the host discovers cursor-account channels through
|
|
401
430
|
// this registry, binds the outbound transport, and dispatches relayed
|
package/dist/docs/404.html
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<link rel="preload stylesheet" href="/docs/assets/style.Bj-IXa5W.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.Cm4lsMc4.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>
|
package/dist/docs/ab.html
CHANGED
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
<link rel="preload stylesheet" href="/docs/assets/style.Bj-IXa5W.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.Cm4lsMc4.js"></script>
|
|
13
13
|
<link rel="preload" href="/docs/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
|
14
|
-
<link rel="modulepreload" href="/docs/assets/chunks/theme.
|
|
14
|
+
<link rel="modulepreload" href="/docs/assets/chunks/theme.CTjkX9vc.js">
|
|
15
15
|
<link rel="modulepreload" href="/docs/assets/chunks/framework.CAZyNGu9.js">
|
|
16
16
|
<link rel="modulepreload" href="/docs/assets/ab.md.BMCZ6Hd7.lean.js">
|
|
17
17
|
<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>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as p}from"./chunks/theme.
|
|
1
|
+
import{t as p}from"./chunks/theme.CTjkX9vc.js";import{R as s,a2 as i,a3 as u,a4 as c,a5 as l,a6 as f,a7 as d,a8 as m,a9 as h,aa as g,ab as A,d as v,u as y,v as C,s as P,ac as b,ad as w,ae as R,af as E}from"./chunks/framework.CAZyNGu9.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const n=r(p),S=v({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=y();return C(()=>{P(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&b(),w(),R(),n.setup&&n.setup(),()=>E(n.Layout)}});async function T(){globalThis.__VITEPRESS__=!0;const e=_(),a=D();a.provide(u,e);const t=c(e.route);return a.provide(l,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),n.enhanceApp&&await n.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function D(){return A(S)}function _(){let e=s;return h(a=>{let t=g(a),o=null;return t&&(e&&(t=t.replace(/\.js$/,".lean.js")),o=import(t)),s&&(e=!1),o},n.NotFound)}s&&T().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{T as createApp};
|