@cursor/july 0.1.47 → 0.1.49

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 (127) hide show
  1. package/dist/bin/agent-serve.js +30 -35
  2. package/dist/docs/404.html +2 -2
  3. package/dist/docs/ab.html +5 -5
  4. package/dist/docs/assets/{ab.md.hdxsvX5M.js → ab.md.DYjwREAP.js} +2 -2
  5. package/dist/docs/assets/{ab.md.hdxsvX5M.lean.js → ab.md.DYjwREAP.lean.js} +1 -1
  6. package/dist/docs/assets/{app.IEXEim5m.js → app.BpWAgjaR.js} +1 -1
  7. package/dist/docs/assets/chunks/@localSearchIndexroot.D00d772K.js +1 -0
  8. package/dist/docs/assets/chunks/{VPLocalSearchBox.78s6nqsH.js → VPLocalSearchBox.CnAktZtG.js} +1 -1
  9. package/dist/docs/assets/chunks/{theme.DroGdz_Q.js → theme.B5IvUxOB.js} +2 -2
  10. package/dist/docs/assets/{evals.md.qeoGgPw0.js → evals.md.CVe_O75-.js} +3 -3
  11. package/dist/docs/assets/{evals.md.qeoGgPw0.lean.js → evals.md.CVe_O75-.lean.js} +1 -1
  12. package/dist/docs/assets/{reference_http-api.md.DGrw_wOu.js → reference_http-api.md.DMbdFGVQ.js} +1 -1
  13. package/dist/docs/assets/{storage.md.CJYd5YmN.js → storage.md.D8NQ389l.js} +3 -3
  14. package/dist/docs/assets/storage.md.D8NQ389l.lean.js +1 -0
  15. package/dist/docs/building-with-agents.html +3 -3
  16. package/dist/docs/concepts.html +3 -3
  17. package/dist/docs/deployment.html +3 -3
  18. package/dist/docs/evals.html +6 -6
  19. package/dist/docs/example-agents/approval-buddy.html +3 -3
  20. package/dist/docs/example-agents/benny.html +3 -3
  21. package/dist/docs/example-agents/bugbot.html +3 -3
  22. package/dist/docs/example-agents/codebase-wiki.html +3 -3
  23. package/dist/docs/example-agents/codeowners-review.html +3 -3
  24. package/dist/docs/example-agents/concierge.html +3 -3
  25. package/dist/docs/example-agents/fsd.html +3 -3
  26. package/dist/docs/example-agents/index.html +3 -3
  27. package/dist/docs/example-agents/knowledge-base.html +3 -3
  28. package/dist/docs/example-agents/oncall.html +3 -3
  29. package/dist/docs/example-agents/security-reviewer.html +3 -3
  30. package/dist/docs/example-agents/slack-agent.html +3 -3
  31. package/dist/docs/example-agents/weather-agent.html +3 -3
  32. package/dist/docs/guides/agent-to-agent.html +3 -3
  33. package/dist/docs/guides/cloud-runtime.html +3 -3
  34. package/dist/docs/guides/github.html +3 -3
  35. package/dist/docs/guides/human-in-the-loop.html +3 -3
  36. package/dist/docs/guides/mcp-oauth.html +3 -3
  37. package/dist/docs/guides/opentelemetry.html +3 -3
  38. package/dist/docs/guides/slack.html +3 -3
  39. package/dist/docs/guides/webhooks.html +3 -3
  40. package/dist/docs/hashmap.json +1 -1
  41. package/dist/docs/hillclimbing.html +3 -3
  42. package/dist/docs/index.html +3 -3
  43. package/dist/docs/quickstart.html +3 -3
  44. package/dist/docs/reference/agent-config.html +3 -3
  45. package/dist/docs/reference/artifacts.html +3 -3
  46. package/dist/docs/reference/channels.html +3 -3
  47. package/dist/docs/reference/cli.html +3 -3
  48. package/dist/docs/reference/connections.html +3 -3
  49. package/dist/docs/reference/hooks.html +3 -3
  50. package/dist/docs/reference/http-api.html +5 -5
  51. package/dist/docs/reference/instructions.html +3 -3
  52. package/dist/docs/reference/playground.html +3 -3
  53. package/dist/docs/reference/project-layout.html +3 -3
  54. package/dist/docs/reference/prompt.html +3 -3
  55. package/dist/docs/reference/schedules.html +3 -3
  56. package/dist/docs/reference/sessions.html +3 -3
  57. package/dist/docs/reference/skills.html +3 -3
  58. package/dist/docs/reference/subagents.html +3 -3
  59. package/dist/docs/reference/tools.html +3 -3
  60. package/dist/docs/scaffolding-agents.html +3 -3
  61. package/dist/docs/storage.html +5 -5
  62. package/dist/docs/templates/triage.html +3 -3
  63. package/dist/docs/troubleshooting.html +3 -3
  64. package/dist/internal/authored-loaders.d.ts +19 -0
  65. package/dist/internal/authored-loaders.d.ts.map +1 -1
  66. package/dist/internal/authored-loaders.js +39 -0
  67. package/dist/internal/cli-deploy.d.ts +2 -1
  68. package/dist/internal/cli-deploy.d.ts.map +1 -1
  69. package/dist/internal/cli-deploy.js +97 -1
  70. package/dist/internal/cli-slack.js +0 -3
  71. package/dist/internal/deploy-client.d.ts +7 -2
  72. package/dist/internal/deploy-client.d.ts.map +1 -1
  73. package/dist/internal/deploy-client.js +12 -0
  74. package/dist/internal/discovery.d.ts.map +1 -1
  75. package/dist/internal/discovery.js +2 -8
  76. package/dist/internal/eval-runner.d.ts.map +1 -1
  77. package/dist/internal/eval-runner.js +3 -8
  78. package/dist/internal/event-log.d.ts +17 -0
  79. package/dist/internal/event-log.d.ts.map +1 -1
  80. package/dist/internal/event-log.js +32 -2
  81. package/dist/internal/logs-client.d.ts +1 -1
  82. package/dist/internal/logs-client.d.ts.map +1 -1
  83. package/dist/internal/logs-client.js +3 -0
  84. package/dist/internal/process-memory-telemetry.d.ts +90 -0
  85. package/dist/internal/process-memory-telemetry.d.ts.map +1 -0
  86. package/dist/internal/process-memory-telemetry.js +259 -0
  87. package/dist/internal/serve-restart.d.ts +42 -0
  88. package/dist/internal/serve-restart.d.ts.map +1 -0
  89. package/dist/internal/serve-restart.js +85 -0
  90. package/dist/internal/server.d.ts.map +1 -1
  91. package/dist/internal/server.js +9 -10
  92. package/dist/internal/session-engine.d.ts +4 -0
  93. package/dist/internal/session-engine.d.ts.map +1 -1
  94. package/dist/internal/session-engine.js +19 -5
  95. package/dist/internal/slack-provision-client.d.ts +4 -4
  96. package/dist/internal/slack-provision-client.js +7 -7
  97. package/dist/playground/assets/index-Dox74yWJ.css +1 -0
  98. package/dist/playground/assets/{index-BgUHfe3L.js → index-Dq_HqyU-.js} +46 -46
  99. package/dist/playground/index.html +2 -2
  100. package/dist/storage.d.ts +36 -10
  101. package/dist/storage.d.ts.map +1 -1
  102. package/dist/storage.js +82 -6
  103. package/docs/ab.md +4 -3
  104. package/docs/evals.md +10 -7
  105. package/docs/reference/http-api.md +4 -3
  106. package/docs/storage.md +38 -22
  107. package/package.json +1 -1
  108. package/skills/setup-slack/SKILL.md +1 -1
  109. package/src/bin/agent-serve.ts +39 -38
  110. package/src/internal/authored-loaders.ts +45 -0
  111. package/src/internal/cli-deploy.ts +103 -1
  112. package/src/internal/cli-slack.ts +0 -5
  113. package/src/internal/deploy-client.ts +19 -1
  114. package/src/internal/discovery.ts +5 -12
  115. package/src/internal/eval-runner.ts +3 -12
  116. package/src/internal/event-log.ts +45 -7
  117. package/src/internal/logs-client.ts +4 -0
  118. package/src/internal/process-memory-telemetry.ts +373 -0
  119. package/src/internal/serve-restart.ts +120 -0
  120. package/src/internal/server.ts +13 -0
  121. package/src/internal/session-engine.ts +20 -1
  122. package/src/internal/slack-provision-client.ts +7 -7
  123. package/src/storage.ts +130 -11
  124. package/dist/docs/assets/chunks/@localSearchIndexroot.D7w61u6Y.js +0 -1
  125. package/dist/docs/assets/storage.md.CJYd5YmN.lean.js +0 -1
  126. package/dist/playground/assets/index-uFaeqVZS.css +0 -1
  127. /package/dist/docs/assets/{reference_http-api.md.DGrw_wOu.lean.js → reference_http-api.md.DMbdFGVQ.lean.js} +0 -0
@@ -0,0 +1,259 @@
1
+ /**
2
+ * Process heap + event-log residency for hosted engines.
3
+ *
4
+ * Pod RSS (`runner_daemon.pod.memory_usage_bytes`) cannot show a V8 heap-cap
5
+ * OOM: the cgroup limit is tens of GB while Node aborts near
6
+ * `--max-old-space-size`. The live path is `/v1/health`: the control plane
7
+ * already probes every engine and emits `cursor.agent_serve.engine.*` gauges.
8
+ * An optional in-process sampler (`AGENT_SDK_MEMORY_METRICS=1`) still logs
9
+ * and, if a Datadog key happens to be in the pod, posts directly.
10
+ *
11
+ * `event_log.events_retained` is the in-process cache size (the OOM
12
+ * suspect). `event_log.events_total` is the durable recorded count. They
13
+ * are equal today; a later consume-and-drop change should split them.
14
+ */
15
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
16
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
17
+ return new (P || (P = Promise))(function (resolve, reject) {
18
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
19
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
20
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
21
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
22
+ });
23
+ };
24
+ import { getHeapStatistics } from "node:v8";
25
+ const DEFAULT_INTERVAL_MS = 15000;
26
+ const DEFAULT_DD_SITE = "us5.datadoghq.com";
27
+ const DEFAULT_TIMEOUT_MS = 5000;
28
+ const MB = 1024 * 1024;
29
+ export const MEMORY_METRIC_PREFIX = "agent_sdk.memory";
30
+ export const EVENT_LOG_METRIC_PREFIX = "agent_sdk.event_log";
31
+ export function shouldStartProcessMemoryTelemetry(env = process.env) {
32
+ var _a;
33
+ const flag = (_a = env.AGENT_SDK_MEMORY_METRICS) === null || _a === void 0 ? void 0 : _a.trim().toLowerCase();
34
+ return flag === "1" || flag === "true";
35
+ }
36
+ export function resolveDatadogMemoryMetricsConfig(env = process.env) {
37
+ var _a, _b, _c;
38
+ const apiKey = ((_a = env.DATADOG_API_KEY) === null || _a === void 0 ? void 0 : _a.trim()) || ((_b = env.DD_API_KEY) === null || _b === void 0 ? void 0 : _b.trim());
39
+ if (apiKey === undefined || apiKey === "") {
40
+ return undefined;
41
+ }
42
+ const site = ((_c = env.DD_SITE) === null || _c === void 0 ? void 0 : _c.trim()) || DEFAULT_DD_SITE;
43
+ return {
44
+ apiKey,
45
+ seriesUrl: `https://api.${site}/api/v1/series`,
46
+ timeoutMs: DEFAULT_TIMEOUT_MS,
47
+ };
48
+ }
49
+ export function sampleProcessMemory(args = {}) {
50
+ var _a, _b;
51
+ var _c, _d;
52
+ const usage = (_c = (_a = args.memoryUsage) === null || _a === void 0 ? void 0 : _a.call(args)) !== null && _c !== void 0 ? _c : process.memoryUsage();
53
+ const heapLimitBytes = (_d = (_b = args.heapSizeLimit) === null || _b === void 0 ? void 0 : _b.call(args)) !== null && _d !== void 0 ? _d : getHeapStatistics().heap_size_limit;
54
+ return {
55
+ heapUsedBytes: usage.heapUsed,
56
+ heapTotalBytes: usage.heapTotal,
57
+ heapLimitBytes,
58
+ rssBytes: usage.rss,
59
+ externalBytes: usage.external,
60
+ };
61
+ }
62
+ export function heapUsedRatio(memory) {
63
+ return memory.heapLimitBytes > 0
64
+ ? memory.heapUsedBytes / memory.heapLimitBytes
65
+ : 0;
66
+ }
67
+ export function sumEventLogStats(stats) {
68
+ let residentSessions = 0;
69
+ let eventsRetained = 0;
70
+ let eventsTotal = 0;
71
+ for (const item of stats) {
72
+ residentSessions += item.residentSessions;
73
+ eventsRetained += item.eventsRetained;
74
+ eventsTotal += item.eventsTotal;
75
+ }
76
+ return { residentSessions, eventsRetained, eventsTotal };
77
+ }
78
+ /** Fields attached to `/v1/health` so the control plane can scrape them. */
79
+ export function buildMemoryHealthFields(eventLog, sample = sampleProcessMemory()) {
80
+ return {
81
+ memory: Object.assign(Object.assign({}, sample), { heapUsedRatio: heapUsedRatio(sample) }),
82
+ eventLog,
83
+ };
84
+ }
85
+ /**
86
+ * Best-effort health payload. Sampling or event-log stats must never fail
87
+ * `/v1/health`; omit the fields instead.
88
+ */
89
+ export function collectMemoryHealthFields(args) {
90
+ try {
91
+ return buildMemoryHealthFields(args.eventLog(), args.sample === undefined ? sampleProcessMemory() : args.sample());
92
+ }
93
+ catch (_a) {
94
+ return {};
95
+ }
96
+ }
97
+ export function formatMemoryLogLine(args) {
98
+ const ratio = heapUsedRatio(args.memory);
99
+ return (`[agent-sdk:memory] agent=${args.agentName}` +
100
+ ` heap_used_mb=${mb(args.memory.heapUsedBytes)}` +
101
+ ` heap_total_mb=${mb(args.memory.heapTotalBytes)}` +
102
+ ` heap_limit_mb=${mb(args.memory.heapLimitBytes)}` +
103
+ ` heap_used_ratio=${ratio.toFixed(3)}` +
104
+ ` rss_mb=${mb(args.memory.rssBytes)}` +
105
+ ` event_log.sessions=${args.eventLog.residentSessions}` +
106
+ ` event_log.retained=${args.eventLog.eventsRetained}` +
107
+ ` event_log.total=${args.eventLog.eventsTotal}`);
108
+ }
109
+ export function buildDatadogGaugeSeries(args) {
110
+ const tags = [`agent_sdk.agent:${sanitizeTag(args.agentName)}`];
111
+ const heapRatio = heapUsedRatio(args.memory);
112
+ const points = [
113
+ {
114
+ name: `${MEMORY_METRIC_PREFIX}.heap_used_bytes`,
115
+ value: args.memory.heapUsedBytes,
116
+ },
117
+ {
118
+ name: `${MEMORY_METRIC_PREFIX}.heap_total_bytes`,
119
+ value: args.memory.heapTotalBytes,
120
+ },
121
+ {
122
+ name: `${MEMORY_METRIC_PREFIX}.heap_limit_bytes`,
123
+ value: args.memory.heapLimitBytes,
124
+ },
125
+ { name: `${MEMORY_METRIC_PREFIX}.rss_bytes`, value: args.memory.rssBytes },
126
+ {
127
+ name: `${MEMORY_METRIC_PREFIX}.external_bytes`,
128
+ value: args.memory.externalBytes,
129
+ },
130
+ { name: `${MEMORY_METRIC_PREFIX}.heap_used_ratio`, value: heapRatio },
131
+ {
132
+ name: `${EVENT_LOG_METRIC_PREFIX}.resident_sessions`,
133
+ value: args.eventLog.residentSessions,
134
+ },
135
+ {
136
+ name: `${EVENT_LOG_METRIC_PREFIX}.events_retained`,
137
+ value: args.eventLog.eventsRetained,
138
+ },
139
+ {
140
+ name: `${EVENT_LOG_METRIC_PREFIX}.events_total`,
141
+ value: args.eventLog.eventsTotal,
142
+ },
143
+ ];
144
+ return points.map((point) => ({
145
+ metric: point.name,
146
+ type: "gauge",
147
+ points: [[args.timestampSec, point.value]],
148
+ tags,
149
+ }));
150
+ }
151
+ /** Start the sampler. Returns a stop function. */
152
+ export function startProcessMemoryTelemetry(options) {
153
+ var _a, _b, _c;
154
+ const env = (_a = options.env) !== null && _a !== void 0 ? _a : process.env;
155
+ const logger = (_b = options.logger) !== null && _b !== void 0 ? _b : (() => { });
156
+ const intervalMs = (_c = options.intervalMs) !== null && _c !== void 0 ? _c : DEFAULT_INTERVAL_MS;
157
+ const datadog = resolveDatadogMemoryMetricsConfig(env);
158
+ const attributes = { "agent_sdk.agent": options.agentName };
159
+ let stopped = false;
160
+ let inFlight;
161
+ const sample = () => {
162
+ var _a;
163
+ var _b, _c;
164
+ if (stopped) {
165
+ return;
166
+ }
167
+ const memory = sampleProcessMemory({
168
+ memoryUsage: options.memoryUsage,
169
+ heapSizeLimit: options.heapSizeLimit,
170
+ });
171
+ const eventLog = options.getEventLogStats();
172
+ logger(formatMemoryLogLine({ agentName: options.agentName, memory, eventLog }));
173
+ recordOtel(options.meter, memory, eventLog, attributes);
174
+ if (datadog === undefined) {
175
+ return;
176
+ }
177
+ const body = JSON.stringify({
178
+ series: buildDatadogGaugeSeries({
179
+ agentName: options.agentName,
180
+ memory,
181
+ eventLog,
182
+ timestampSec: Math.floor(((_b = (_a = options.now) === null || _a === void 0 ? void 0 : _a.call(options)) !== null && _b !== void 0 ? _b : Date.now()) / 1000),
183
+ }),
184
+ });
185
+ const post = (_c = options.postSeries) !== null && _c !== void 0 ? _c : defaultPostSeries;
186
+ inFlight = post(datadog, body).catch((error) => {
187
+ const message = error instanceof Error ? error.message : String(error);
188
+ logger(`[agent-sdk:memory] datadog flush failed: ${message}`);
189
+ });
190
+ };
191
+ sample();
192
+ const timer = setInterval(sample, intervalMs);
193
+ timer.unref();
194
+ return () => {
195
+ stopped = true;
196
+ clearInterval(timer);
197
+ void inFlight;
198
+ };
199
+ }
200
+ function recordOtel(meter, memory, eventLog, attributes) {
201
+ if (meter === undefined) {
202
+ return;
203
+ }
204
+ histogram(meter, `${MEMORY_METRIC_PREFIX}.heap_used_bytes`).record(memory.heapUsedBytes, attributes);
205
+ histogram(meter, `${MEMORY_METRIC_PREFIX}.heap_limit_bytes`).record(memory.heapLimitBytes, attributes);
206
+ histogram(meter, `${MEMORY_METRIC_PREFIX}.rss_bytes`).record(memory.rssBytes, attributes);
207
+ histogram(meter, `${EVENT_LOG_METRIC_PREFIX}.events_retained`).record(eventLog.eventsRetained, attributes);
208
+ histogram(meter, `${EVENT_LOG_METRIC_PREFIX}.events_total`).record(eventLog.eventsTotal, attributes);
209
+ histogram(meter, `${EVENT_LOG_METRIC_PREFIX}.resident_sessions`).record(eventLog.residentSessions, attributes);
210
+ }
211
+ const histograms = new WeakMap();
212
+ function histogram(meter, name) {
213
+ let byName = histograms.get(meter);
214
+ if (byName === undefined) {
215
+ byName = new Map();
216
+ histograms.set(meter, byName);
217
+ }
218
+ const existing = byName.get(name);
219
+ if (existing !== undefined) {
220
+ return existing;
221
+ }
222
+ const unit = name.endsWith("_bytes") ? "By" : "{count}";
223
+ const created = meter.createHistogram(name, { unit });
224
+ byName.set(name, created);
225
+ return created;
226
+ }
227
+ function defaultPostSeries(config, body) {
228
+ return __awaiter(this, void 0, void 0, function* () {
229
+ const controller = new AbortController();
230
+ const timer = setTimeout(() => controller.abort(), config.timeoutMs);
231
+ try {
232
+ const response = yield fetch(config.seriesUrl, {
233
+ method: "POST",
234
+ headers: {
235
+ "Content-Type": "application/json",
236
+ "DD-API-KEY": config.apiKey,
237
+ },
238
+ body,
239
+ signal: controller.signal,
240
+ });
241
+ if (!response.ok) {
242
+ throw new Error(`HTTP ${response.status}`);
243
+ }
244
+ }
245
+ finally {
246
+ clearTimeout(timer);
247
+ }
248
+ });
249
+ }
250
+ function mb(bytes) {
251
+ return (bytes / MB).toFixed(1);
252
+ }
253
+ function sanitizeTag(value) {
254
+ const normalized = value
255
+ .trim()
256
+ .toLowerCase()
257
+ .replace(/[^a-z0-9_\-./:]+/g, "_");
258
+ return normalized === "" ? "unknown" : normalized;
259
+ }
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Enter-to-restart for `serve` / `dev` on a TTY.
3
+ *
4
+ * In-process close+re-serve cannot reload every authored change: Node ESM
5
+ * caches transitive imports, and module-level state (tsx, singletons) survives.
6
+ * The parent process therefore supervises a worker and respawns it when the
7
+ * worker exits with {@link ENTER_RESTART_EXIT_CODE}.
8
+ */
9
+ export declare const ENTER_RESTART_EXIT_CODE = 75;
10
+ export declare const SERVE_RESTART_WORKER_ENV = "AGENT_SERVE_RESTART_WORKER";
11
+ export interface ServeRestartProcess {
12
+ execPath: string;
13
+ execArgv: readonly string[];
14
+ argv: readonly string[];
15
+ env: NodeJS.ProcessEnv;
16
+ }
17
+ export interface ServeRestartSpawnPlan {
18
+ command: string;
19
+ args: string[];
20
+ env: NodeJS.ProcessEnv;
21
+ }
22
+ export interface ServeRestartWorkerChild {
23
+ once(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): void;
24
+ }
25
+ export declare function isServeRestartWorker(env?: NodeJS.ProcessEnv): boolean;
26
+ export declare function serveRestartSpawnPlan(proc: ServeRestartProcess): ServeRestartSpawnPlan;
27
+ export declare function shouldRespawnServeWorker(code: number | null, signal: NodeJS.Signals | null): boolean;
28
+ /**
29
+ * Run the TTY Enter-to-restart supervisor: spawn this CLI as a worker, and
30
+ * respawn whenever the worker exits asking for a restart. Other exits
31
+ * (Ctrl-C drain, crash, bind failure) propagate to the caller.
32
+ */
33
+ export declare function runEnterRestartSupervisor(options: {
34
+ spawn: (command: string, args: string[], spawnOptions: {
35
+ stdio: "inherit";
36
+ env: NodeJS.ProcessEnv;
37
+ }) => ServeRestartWorkerChild;
38
+ proc?: ServeRestartProcess;
39
+ onRestart?: () => void;
40
+ installSignalGuards?: (handler: () => void) => () => void;
41
+ }): Promise<number>;
42
+ //# sourceMappingURL=serve-restart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve-restart.d.ts","sourceRoot":"","sources":["../../src/internal/serve-restart.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,eAAO,MAAM,wBAAwB,+BAA+B,CAAC;AAErE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,CACF,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,KAAK,IAAI,GACrE,IAAI,CAAC;CACT;AAED,wBAAgB,oBAAoB,CAClC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAET;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,mBAAmB,GACxB,qBAAqB,CAMvB;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,GAC5B,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,KAAK,EAAE,CACL,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,YAAY,EAAE;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;KAAE,KACvD,uBAAuB,CAAC;IAC7B,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;CAC3D,GAAG,OAAO,CAAC,MAAM,CAAC,CA8BlB"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Enter-to-restart for `serve` / `dev` on a TTY.
3
+ *
4
+ * In-process close+re-serve cannot reload every authored change: Node ESM
5
+ * caches transitive imports, and module-level state (tsx, singletons) survives.
6
+ * The parent process therefore supervises a worker and respawns it when the
7
+ * worker exits with {@link ENTER_RESTART_EXIT_CODE}.
8
+ */
9
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
10
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
11
+ return new (P || (P = Promise))(function (resolve, reject) {
12
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
13
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
14
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
15
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
16
+ });
17
+ };
18
+ export const ENTER_RESTART_EXIT_CODE = 75;
19
+ export const SERVE_RESTART_WORKER_ENV = "AGENT_SERVE_RESTART_WORKER";
20
+ export function isServeRestartWorker(env = process.env) {
21
+ return env[SERVE_RESTART_WORKER_ENV] === "1";
22
+ }
23
+ export function serveRestartSpawnPlan(proc) {
24
+ return {
25
+ command: proc.execPath,
26
+ args: [...proc.execArgv, ...proc.argv.slice(1)],
27
+ env: Object.assign(Object.assign({}, proc.env), { [SERVE_RESTART_WORKER_ENV]: "1" }),
28
+ };
29
+ }
30
+ export function shouldRespawnServeWorker(code, signal) {
31
+ return signal === null && code === ENTER_RESTART_EXIT_CODE;
32
+ }
33
+ /**
34
+ * Run the TTY Enter-to-restart supervisor: spawn this CLI as a worker, and
35
+ * respawn whenever the worker exits asking for a restart. Other exits
36
+ * (Ctrl-C drain, crash, bind failure) propagate to the caller.
37
+ */
38
+ export function runEnterRestartSupervisor(options) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ var _a;
41
+ var _b, _c;
42
+ const proc = (_b = options.proc) !== null && _b !== void 0 ? _b : {
43
+ execPath: process.execPath,
44
+ execArgv: process.execArgv,
45
+ argv: process.argv,
46
+ env: process.env,
47
+ };
48
+ const plan = serveRestartSpawnPlan(proc);
49
+ const uninstallSignals = ((_c = options.installSignalGuards) !== null && _c !== void 0 ? _c : installDefaultSignalGuards)(() => undefined);
50
+ try {
51
+ for (;;) {
52
+ const child = options.spawn(plan.command, plan.args, {
53
+ stdio: "inherit",
54
+ env: plan.env,
55
+ });
56
+ const { code, signal } = yield waitForExit(child);
57
+ if (!shouldRespawnServeWorker(code, signal)) {
58
+ if (signal !== null) {
59
+ return 1;
60
+ }
61
+ return code !== null && code !== void 0 ? code : 1;
62
+ }
63
+ (_a = options.onRestart) === null || _a === void 0 ? void 0 : _a.call(options);
64
+ }
65
+ }
66
+ finally {
67
+ uninstallSignals();
68
+ }
69
+ });
70
+ }
71
+ function waitForExit(child) {
72
+ return new Promise((resolve) => {
73
+ child.once("exit", (code, signal) => {
74
+ resolve({ code, signal });
75
+ });
76
+ });
77
+ }
78
+ function installDefaultSignalGuards(handler) {
79
+ process.on("SIGINT", handler);
80
+ process.on("SIGTERM", handler);
81
+ return () => {
82
+ process.off("SIGINT", handler);
83
+ process.off("SIGTERM", handler);
84
+ };
85
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/internal/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6BH,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAOhB,YAAY,EACb,MAAM,aAAa,CAAC;AAyGrB,OAAO,EACL,KAAK,WAAW,EAGjB,MAAM,iBAAiB,CAAC;AAiBzB,8EAA8E;AAC9E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,CAAC;CACvB;AAaD,6EAA6E;AAC7E,MAAM,WAAW,0BAA0B;IACzC,oEAAoE;IACpE,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,UAAU,EAAE,EACpB,OAAO,GAAE,YAAY,GAAG,0BAA+B,GACtD,OAAO,CAAC,gBAAgB,CAAC,CAwvB3B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/internal/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6BH,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAOhB,YAAY,EACb,MAAM,aAAa,CAAC;AA6GrB,OAAO,EACL,KAAK,WAAW,EAGjB,MAAM,iBAAiB,CAAC;AAwBzB,8EAA8E;AAC9E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,CAAC;CACvB;AAaD,6EAA6E;AAC7E,MAAM,WAAW,0BAA0B;IACzC,oEAAoE;IACpE,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,UAAU,EAAE,EACpB,OAAO,GAAE,YAAY,GAAG,0BAA+B,GACtD,OAAO,CAAC,gBAAgB,CAAC,CAyvB3B"}
@@ -68,6 +68,7 @@ import { PLATFORM_SCHEDULE_CATALOG_FILENAME, syncHostedPlatformSchedules, } from
68
68
  import { createCursorHostedPlatformTimers } from "./platform-timers.js";
69
69
  import { renderAgentsIndexHtml, renderPlaygroundAsset, renderPlaygroundIndexHtml, } from "./playground/static.js";
70
70
  import { ensurePlaygroundBundle, playgroundDevBaseFromEnv, playgroundDevBasePath, startPlaygroundDevServer, } from "./playground/toolchain.js";
71
+ import { collectMemoryHealthFields, sumEventLogStats, } from "./process-memory-telemetry.js";
71
72
  import { ReminderRunner, ReminderValidationError, UnknownReminderError, } from "./reminder-runner.js";
72
73
  import { assertAccountConnectionsNotAnonymous, resolveMountConnections, validateMountConnectionsConfig, } from "./resolved-connections.js";
73
74
  import { Router } from "./router.js";
@@ -75,6 +76,11 @@ import { ScheduleRunner, UnknownScheduleError } from "./schedule-runner.js";
75
76
  import { CursorSdkRunner, resolveServeWorkspaceScanCacheTtlMs, } from "./sdk-runner.js";
76
77
  import { SessionAuthError, SessionBusyError, SessionEngine, ToolInputError, ToolNotDirectlyCallableError, UnknownToolError, } from "./session-engine.js";
77
78
  import { sessionUrlsForRequest } from "./session-urls.js";
79
+ function memoryHealthFields(engines) {
80
+ return collectMemoryHealthFields({
81
+ eventLog: () => sumEventLogStats(engines.map((engine) => engine.eventLogMemoryStats())),
82
+ });
83
+ }
78
84
  const MAX_BODY_BYTES = 32 * 1024 * 1024;
79
85
  /** `GET /v1/artifacts` limit defaults / ceiling. */
80
86
  const ARTIFACTS_LIST_DEFAULT_LIMIT = 200;
@@ -418,13 +424,10 @@ export function startServer(mounts_1) {
418
424
  method: "GET",
419
425
  pattern: "/v1/health",
420
426
  auth: "none",
421
- handler: () => jsonResponse({
422
- ok: true,
423
- agents: runtimes.map(({ slug, project }) => ({
427
+ handler: () => jsonResponse(Object.assign({ ok: true, agents: runtimes.map(({ slug, project }) => ({
424
428
  slug,
425
429
  name: project.name,
426
- })),
427
- }),
430
+ })) }, memoryHealthFields(runtimes.map((runtime) => runtime.engine)))),
428
431
  });
429
432
  }
430
433
  // Orienting `/` for every layout (single empty-slug and multi).
@@ -784,11 +787,7 @@ function mountAgentRoutes(router, runtime, args) {
784
787
  // Temporal consumes this response before promoting a newly deployed pod.
785
788
  // Include the framework build there so deploy observability gets the
786
789
  // version from the process that will serve turns, with no second request.
787
- handler: () => jsonResponse({
788
- ok: true,
789
- name: project.name,
790
- version: packageVersion(),
791
- }),
790
+ handler: () => jsonResponse(Object.assign({ ok: true, name: project.name, version: packageVersion() }, memoryHealthFields([engine]))),
792
791
  });
793
792
  // Bootstrap the SPA can't derive from its own URL (agent name, dev mode, and
794
793
  // — in multi-agent mode — where the agents index lives).
@@ -12,6 +12,7 @@ import { SlackAskDedupeStore, SlackNudgeStore } from "../channels/slack/nudge-st
12
12
  import { type AgentProject, type ApprovalDecision, type ArtifactListFilter, type ArtifactRecord, type ArtifactsApi, type AuthContext, type CallToolOptions, type ChannelDefinition, type ChannelSession, type ConnectionTransport, type HostContext, type HostKvApi, type HttpChannelDefinition, type JsonValue, type PendingApproval, type ReceiveInput, type SendMessageOptions, type SessionEvent, type SessionInfo, type SessionListSource, type SessionRecord, type SessionSummary, type ToolCallOutcome, type TurnOutcome } from "../types.js";
13
13
  import { type ABSnapshot } from "./ab-snapshot.js";
14
14
  import { type CloudAgentUsage } from "./cloud-turn-cost.js";
15
+ import { type EventLogMemoryStats } from "./event-log.js";
15
16
  import { type HostPlatforms } from "./host-platforms.js";
16
17
  import type { OtelCollector } from "./otel/collector.js";
17
18
  import type { AgentRunner } from "./sdk-runner.js";
@@ -176,6 +177,7 @@ export declare class SessionEngine {
176
177
  private readonly abCollector;
177
178
  private readonly otel;
178
179
  private readonly otelHost;
180
+ private readonly stopMemoryTelemetry;
179
181
  private reminderApi;
180
182
  private evalsApi;
181
183
  private readonly kvApi;
@@ -616,6 +618,8 @@ export declare class SessionEngine {
616
618
  */
617
619
  private materializeSession;
618
620
  trackBackground(promise: Promise<unknown>): void;
621
+ /** In-process event-log residency (OOM-suspect cache vs durable count). */
622
+ eventLogMemoryStats(): EventLogMemoryStats;
619
623
  /** Drain running turns, dispatches, and pending writes, then dispose. */
620
624
  close(): Promise<void>;
621
625
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session-engine.d.ts","sourceRoot":"","sources":["../../src/internal/session-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-engine.d.ts","sourceRoot":"","sources":["../../src/internal/session-engine.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,7 @@ import { formatContinuationToken, newContinuationKey, newSessionId, newToolCallI
46
46
  import { validateToolInput } from "./json-schema.js";
47
47
  import { LedgerServing, newLedgerPodId } from "./ledger-serving.js";
48
48
  import { McpHost } from "./mcp-host.js";
49
+ import { shouldStartProcessMemoryTelemetry, startProcessMemoryTelemetry, } from "./process-memory-telemetry.js";
49
50
  import { buildSessionContextBlock, SCHEDULE_CHANNEL_PREFIX, } from "./prompt-context.js";
50
51
  import { assertCloudCanHonorAccountServersFilters } from "./resolved-connections.js";
51
52
  import { SessionStore } from "./session-store.js";
@@ -211,6 +212,14 @@ export class SessionEngine {
211
212
  }
212
213
  this.ledgerServing = this.buildLedgerServing(options);
213
214
  (_a = this.ledgerServing) === null || _a === void 0 ? void 0 : _a.start();
215
+ this.stopMemoryTelemetry = shouldStartProcessMemoryTelemetry()
216
+ ? startProcessMemoryTelemetry({
217
+ agentName: options.project.name,
218
+ getEventLogStats: () => this.logs.memoryStats(),
219
+ logger: this.logger,
220
+ meter: options.otelMeter,
221
+ })
222
+ : undefined;
214
223
  }
215
224
  /**
216
225
  * Ledger-mode wiring (`serving: "ledger"`): resolve a CAS-capable
@@ -2538,22 +2547,27 @@ export class SessionEngine {
2538
2547
  this.backgroundWork.delete(promise);
2539
2548
  });
2540
2549
  }
2550
+ /** In-process event-log residency (OOM-suspect cache vs durable count). */
2551
+ eventLogMemoryStats() {
2552
+ return this.logs.memoryStats();
2553
+ }
2541
2554
  /** Drain running turns, dispatches, and pending writes, then dispose. */
2542
2555
  close() {
2543
2556
  return __awaiter(this, void 0, void 0, function* () {
2544
- var _a, _b, _c, _d, _e;
2557
+ var _a, _b, _c, _d, _e, _f;
2558
+ (_a = this.stopMemoryTelemetry) === null || _a === void 0 ? void 0 : _a.call(this);
2545
2559
  this.approvals.cancelAll("deny");
2546
2560
  // Ledger deliveries spawn turns, so settle them before activeTurns.
2547
- yield (_a = this.ledgerServing) === null || _a === void 0 ? void 0 : _a.close();
2561
+ yield (_b = this.ledgerServing) === null || _b === void 0 ? void 0 : _b.close();
2548
2562
  yield Promise.allSettled([...this.activeTurns.values()]);
2549
2563
  yield Promise.allSettled([...this.backgroundWork]);
2550
2564
  yield Promise.allSettled([...this.dispatchChains.values()]);
2551
2565
  yield Promise.allSettled([...this.updateChains.values()]);
2552
2566
  yield this.logs.flushAll();
2553
- yield (_b = this.storage) === null || _b === void 0 ? void 0 : _b.close();
2567
+ yield (_c = this.storage) === null || _c === void 0 ? void 0 : _c.close();
2554
2568
  yield this.mcpHost.close();
2555
- yield (_d = (_c = this.runner).dispose) === null || _d === void 0 ? void 0 : _d.call(_c);
2556
- (_e = this.otel) === null || _e === void 0 ? void 0 : _e.close();
2569
+ yield (_e = (_d = this.runner).dispose) === null || _e === void 0 ? void 0 : _e.call(_d);
2570
+ (_f = this.otel) === null || _f === void 0 ? void 0 : _f.close();
2557
2571
  });
2558
2572
  }
2559
2573
  }
@@ -6,11 +6,11 @@
6
6
  *
7
7
  * Auth is the user API key sent directly as the bearer (the routes are
8
8
  * `wrapUserApiRoute` on the backend); there is no token exchange here.
9
- * The endpoints are gated on the `agent_serve_slack_provisioning` Statsig
10
- * gate and 404 when it is off — the error mapping says so instead of
11
- * "not found". Expected provisioning failures carry a stable JSON `code`
9
+ * The endpoints ride `requireAgentServeAccess` and 404 `{ error: "Not found" }`
10
+ * when Agent Serve is off — same mapping as other agent-sdk deploy 404s.
11
+ * Expected provisioning failures carry a stable JSON `code`
12
12
  * (`not_connected`, `insufficient_scopes`, `manager_reauth_required`,
13
- * `app_conflict`, `app_cap_reached`, `ratelimited`, `invalid_app_id`, …)
13
+ * `app_conflict`, `ratelimited`, `invalid_app_id`, …)
14
14
  * which flows through on {@link SlackProvisionApiError.code} so the CLI
15
15
  * can branch.
16
16
  */
@@ -6,11 +6,11 @@
6
6
  *
7
7
  * Auth is the user API key sent directly as the bearer (the routes are
8
8
  * `wrapUserApiRoute` on the backend); there is no token exchange here.
9
- * The endpoints are gated on the `agent_serve_slack_provisioning` Statsig
10
- * gate and 404 when it is off — the error mapping says so instead of
11
- * "not found". Expected provisioning failures carry a stable JSON `code`
9
+ * The endpoints ride `requireAgentServeAccess` and 404 `{ error: "Not found" }`
10
+ * when Agent Serve is off — same mapping as other agent-sdk deploy 404s.
11
+ * Expected provisioning failures carry a stable JSON `code`
12
12
  * (`not_connected`, `insufficient_scopes`, `manager_reauth_required`,
13
- * `app_conflict`, `app_cap_reached`, `ratelimited`, `invalid_app_id`, …)
13
+ * `app_conflict`, `ratelimited`, `invalid_app_id`, …)
14
14
  * which flows through on {@link SlackProvisionApiError.code} so the CLI
15
15
  * can branch.
16
16
  */
@@ -257,15 +257,15 @@ function mapErrorResponse(response, bodyText, context) {
257
257
  if (/Route \S+ not found/i.test(bodyText)) {
258
258
  return new SlackProvisionApiError(`Agent Serve Slack API not found on this host — use the default api.cursor.com (unset CURSOR_API_BASE_URL), or point CURSOR_API_BASE_URL at a backend that mounts /internal/agent-serve/*.`, { status: 404 });
259
259
  }
260
- // The gate-off body is exactly {error: "Not found"}; anything else
261
- // (e.g. "App not found" on delete) is a real not-found to surface.
260
+ // `{ error: "Not found" }` is Agent Serve off (`requireAgentServeAccess`),
261
+ // not a Slack-only enrollment bar.
262
262
  if (serverError !== undefined && serverError !== "Not found") {
263
263
  return new SlackProvisionApiError(serverError, {
264
264
  status: 404,
265
265
  code: body.code,
266
266
  });
267
267
  }
268
- return new SlackProvisionApiError(`Not found — Cursor's "Add to Slack" provisioning (the agent_serve_slack_provisioning feature gate) is not enabled for this account yet.`, { status: 404 });
268
+ return new SlackProvisionApiError(`Not found — the agent_serve_mvp feature gate may not be enabled for your team.`, { status: 404 });
269
269
  }
270
270
  case 429: {
271
271
  const retryAfterHeader = response.headers.get("retry-after");