@cursor/july 0.1.46 → 0.1.47
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/docs/404.html +1 -1
- package/dist/docs/ab.html +2 -2
- package/dist/docs/assets/{app.C2NFTb-h.js → app.IEXEim5m.js} +1 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.D7w61u6Y.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.o1_FJGip.js → VPLocalSearchBox.78s6nqsH.js} +1 -1
- package/dist/docs/assets/chunks/{theme.BcGduE7g.js → theme.DroGdz_Q.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/opentelemetry.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/artifacts.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/templates/triage.html +2 -2
- package/dist/docs/troubleshooting.html +2 -2
- package/dist/internal/sdk-runner.d.ts +21 -0
- package/dist/internal/sdk-runner.d.ts.map +1 -1
- package/dist/internal/sdk-runner.js +34 -1
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +7 -2
- package/dist/playground/assets/index-uFaeqVZS.css +1 -0
- package/dist/playground/index.html +2 -2
- package/package.json +1 -1
- package/src/internal/sdk-runner.ts +46 -1
- package/src/internal/server.ts +11 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.B-FxvuoI.js +0 -1
- package/dist/playground/assets/index-CSRYDAFw.css +0 -1
- /package/dist/playground/assets/{index-6wW6SAc4.js → index-BgUHfe3L.js} +0 -0
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
/>
|
|
9
9
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
10
10
|
<title>agent-serve playground</title>
|
|
11
|
-
<script type="module" crossorigin src="./assets/index-
|
|
12
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
11
|
+
<script type="module" crossorigin src="./assets/index-BgUHfe3L.js"></script>
|
|
12
|
+
<link rel="stylesheet" crossorigin href="./assets/index-uFaeqVZS.css">
|
|
13
13
|
</head>
|
|
14
14
|
<body>
|
|
15
15
|
<div id="root"></div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cursor/july",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.47",
|
|
4
4
|
"description": "(early alpha) Filesystem-first framework for defining Cursor agents as markdown and TypeScript and serving them over channels with the Cursor SDK.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"repository": {
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
type AgentDefinition,
|
|
13
13
|
type AgentOptions,
|
|
14
14
|
type CloudAgentOptions,
|
|
15
|
+
Cursor,
|
|
15
16
|
createAgentPlatform,
|
|
16
17
|
JsonlLocalAgentStore,
|
|
17
18
|
type LocalAgentStore,
|
|
@@ -75,6 +76,36 @@ type MaybePrewarmingPlatform = {
|
|
|
75
76
|
) => Promise<() => Promise<void>>;
|
|
76
77
|
};
|
|
77
78
|
|
|
79
|
+
/**
|
|
80
|
+
* How long a non-`--dev` serve holds workspace scans (rules, skills,
|
|
81
|
+
* `AGENTS.md`, ignore files). The SDK default is 20s for an editor whose
|
|
82
|
+
* files move under it; agent-serve checkouts only change on deploy, so a
|
|
83
|
+
* missed mid-process edit is the right trade. `CURSOR_RIPWALK_CACHE_TTL_MS`
|
|
84
|
+
* still wins when set. `--dev` leaves the 20s default so skill edits show up.
|
|
85
|
+
*/
|
|
86
|
+
export const SERVE_WORKSPACE_SCAN_CACHE_TTL_MS: number = 24 * 60 * 60 * 1000;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Resolve the SDK workspace-scan TTL for this serve. `undefined` means "do
|
|
90
|
+
* not call `Cursor.configure`" and leave the SDK at its 20s editor default.
|
|
91
|
+
*/
|
|
92
|
+
export function resolveServeWorkspaceScanCacheTtlMs(args: {
|
|
93
|
+
dev: boolean;
|
|
94
|
+
env?: NodeJS.ProcessEnv;
|
|
95
|
+
}): number | undefined {
|
|
96
|
+
const raw = (args.env ?? process.env).CURSOR_RIPWALK_CACHE_TTL_MS?.trim();
|
|
97
|
+
if (raw !== undefined && raw !== "") {
|
|
98
|
+
const parsed = Number(raw);
|
|
99
|
+
if (Number.isFinite(parsed) && parsed > 0) {
|
|
100
|
+
return parsed;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
if (args.dev) {
|
|
104
|
+
return undefined;
|
|
105
|
+
}
|
|
106
|
+
return SERVE_WORKSPACE_SCAN_CACHE_TTL_MS;
|
|
107
|
+
}
|
|
108
|
+
|
|
78
109
|
export interface CursorSdkRunnerOptions {
|
|
79
110
|
/** Cursor API key. Defaults to the `CURSOR_API_KEY` environment variable. */
|
|
80
111
|
apiKey?: string;
|
|
@@ -86,6 +117,11 @@ export interface CursorSdkRunnerOptions {
|
|
|
86
117
|
store?: LocalAgentStore;
|
|
87
118
|
/** Diagnostics for degraded paths (resume-miss fallback). */
|
|
88
119
|
logger?: (line: string) => void;
|
|
120
|
+
/**
|
|
121
|
+
* Hold workspace scans this long (ms). Applied via `Cursor.configure` so
|
|
122
|
+
* each new local executor reuses the walk. Omit to keep the SDK 20s default.
|
|
123
|
+
*/
|
|
124
|
+
workspaceScanCacheTtlMs?: number;
|
|
89
125
|
}
|
|
90
126
|
|
|
91
127
|
/**
|
|
@@ -128,7 +164,16 @@ export class CursorSdkRunner implements AgentRunner {
|
|
|
128
164
|
private readonly stores = new Map<string, Promise<LocalAgentStore>>();
|
|
129
165
|
private readonly prewarmReleases: Array<() => Promise<void>> = [];
|
|
130
166
|
|
|
131
|
-
constructor(private readonly options: CursorSdkRunnerOptions = {}) {
|
|
167
|
+
constructor(private readonly options: CursorSdkRunnerOptions = {}) {
|
|
168
|
+
if (options.workspaceScanCacheTtlMs !== undefined) {
|
|
169
|
+
Cursor.configure({
|
|
170
|
+
local: { workspaceScanCacheTtlMs: options.workspaceScanCacheTtlMs },
|
|
171
|
+
});
|
|
172
|
+
this.log(
|
|
173
|
+
`[agent-sdk] workspace scan cache ttl=${options.workspaceScanCacheTtlMs}ms`
|
|
174
|
+
);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
132
177
|
|
|
133
178
|
async runTurn(request: RunnerTurnRequest): Promise<TurnOutcome> {
|
|
134
179
|
let sawUpdate = false;
|
package/src/internal/server.ts
CHANGED
|
@@ -147,7 +147,11 @@ import {
|
|
|
147
147
|
} from "./resolved-connections.js";
|
|
148
148
|
import { Router } from "./router.js";
|
|
149
149
|
import { ScheduleRunner, UnknownScheduleError } from "./schedule-runner.js";
|
|
150
|
-
import {
|
|
150
|
+
import {
|
|
151
|
+
type AgentRunner,
|
|
152
|
+
CursorSdkRunner,
|
|
153
|
+
resolveServeWorkspaceScanCacheTtlMs,
|
|
154
|
+
} from "./sdk-runner.js";
|
|
151
155
|
import {
|
|
152
156
|
SessionAuthError,
|
|
153
157
|
SessionBusyError,
|
|
@@ -364,11 +368,17 @@ export async function startServer(
|
|
|
364
368
|
"[agent-sdk] warning: --allow-anonymous admits every HTTP caller as the same principal; use only on a trusted network (e.g. Tailscale) and prefer --bearer-token for shared hosts"
|
|
365
369
|
);
|
|
366
370
|
}
|
|
371
|
+
const workspaceScanCacheTtlMs = resolveServeWorkspaceScanCacheTtlMs({
|
|
372
|
+
dev,
|
|
373
|
+
});
|
|
367
374
|
const runner =
|
|
368
375
|
options.runner ??
|
|
369
376
|
new CursorSdkRunner({
|
|
370
377
|
...(accountKey === undefined ? {} : { apiKey: accountKey.apiKey }),
|
|
371
378
|
logger,
|
|
379
|
+
...(workspaceScanCacheTtlMs === undefined
|
|
380
|
+
? {}
|
|
381
|
+
: { workspaceScanCacheTtlMs }),
|
|
372
382
|
});
|
|
373
383
|
|
|
374
384
|
const router = new Router();
|