@stigmer/runner 3.4.1 → 3.5.1

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 (123) hide show
  1. package/dist/.build-fingerprint +1 -1
  2. package/dist/activities/attach-session.d.ts +34 -0
  3. package/dist/activities/attach-session.js +95 -0
  4. package/dist/activities/attach-session.js.map +1 -0
  5. package/dist/activities/discover-mcp-server.d.ts +9 -0
  6. package/dist/activities/discover-mcp-server.js +6 -1
  7. package/dist/activities/discover-mcp-server.js.map +1 -1
  8. package/dist/activities/execute-cursor/connect-backfill.d.ts +2 -1
  9. package/dist/activities/execute-cursor/connect-backfill.js +2 -2
  10. package/dist/activities/execute-cursor/connect-backfill.js.map +1 -1
  11. package/dist/activities/execute-cursor/fetch-interceptor.js +31 -0
  12. package/dist/activities/execute-cursor/fetch-interceptor.js.map +1 -1
  13. package/dist/activities/execute-cursor/index.js +70 -3
  14. package/dist/activities/execute-cursor/index.js.map +1 -1
  15. package/dist/activities/execute-cursor/mcp-resolver.d.ts +7 -1
  16. package/dist/activities/execute-cursor/mcp-resolver.js +15 -2
  17. package/dist/activities/execute-cursor/mcp-resolver.js.map +1 -1
  18. package/dist/activities/execute-cursor/sdk-warmup.d.ts +44 -0
  19. package/dist/activities/execute-cursor/sdk-warmup.js +61 -0
  20. package/dist/activities/execute-cursor/sdk-warmup.js.map +1 -0
  21. package/dist/activities/execute-deep-agent/setup.js +48 -5
  22. package/dist/activities/execute-deep-agent/setup.js.map +1 -1
  23. package/dist/activities/execute-deep-agent/subagent-transformer.d.ts +9 -1
  24. package/dist/activities/execute-deep-agent/subagent-transformer.js +19 -5
  25. package/dist/activities/execute-deep-agent/subagent-transformer.js.map +1 -1
  26. package/dist/client/stigmer-client.d.ts +13 -1
  27. package/dist/client/stigmer-client.js +40 -5
  28. package/dist/client/stigmer-client.js.map +1 -1
  29. package/dist/client/token-claims.d.ts +9 -6
  30. package/dist/client/token-claims.js +22 -6
  31. package/dist/client/token-claims.js.map +1 -1
  32. package/dist/main.d.ts +8 -1
  33. package/dist/main.js +122 -2
  34. package/dist/main.js.map +1 -1
  35. package/dist/middleware/index.d.ts +0 -1
  36. package/dist/middleware/index.js +0 -1
  37. package/dist/middleware/index.js.map +1 -1
  38. package/dist/otel-metrics.d.ts +10 -1
  39. package/dist/otel-metrics.js +22 -1
  40. package/dist/otel-metrics.js.map +1 -1
  41. package/dist/pool-member.d.ts +61 -0
  42. package/dist/pool-member.js +51 -0
  43. package/dist/pool-member.js.map +1 -0
  44. package/dist/runner-manager.d.ts +7 -0
  45. package/dist/runner-manager.js +39 -1
  46. package/dist/runner-manager.js.map +1 -1
  47. package/dist/runner.js +15 -1
  48. package/dist/runner.js.map +1 -1
  49. package/dist/shared/cold-start-timing.d.ts +89 -0
  50. package/dist/shared/cold-start-timing.js +166 -0
  51. package/dist/shared/cold-start-timing.js.map +1 -0
  52. package/dist/shared/connect-backfill.d.ts +2 -1
  53. package/dist/shared/connect-backfill.js +4 -2
  54. package/dist/shared/connect-backfill.js.map +1 -1
  55. package/dist/shared/mcp-manager.d.ts +5 -15
  56. package/dist/shared/mcp-manager.js +5 -32
  57. package/dist/shared/mcp-manager.js.map +1 -1
  58. package/dist/shared/mcp-resolver.d.ts +15 -5
  59. package/dist/shared/mcp-resolver.js +23 -6
  60. package/dist/shared/mcp-resolver.js.map +1 -1
  61. package/dist/shared/mcp-transport-guard.d.ts +53 -0
  62. package/dist/shared/mcp-transport-guard.js +70 -0
  63. package/dist/shared/mcp-transport-guard.js.map +1 -0
  64. package/dist/shared/tool-kind.js +6 -0
  65. package/dist/shared/tool-kind.js.map +1 -1
  66. package/dist/tools/index.d.ts +27 -0
  67. package/dist/tools/index.js +27 -0
  68. package/dist/tools/index.js.map +1 -0
  69. package/dist/tools/think-tool.js.map +1 -0
  70. package/dist/tools/url-guard.d.ts +64 -0
  71. package/dist/tools/url-guard.js +211 -0
  72. package/dist/tools/url-guard.js.map +1 -0
  73. package/dist/tools/web-fetch-tool.d.ts +53 -0
  74. package/dist/tools/web-fetch-tool.js +216 -0
  75. package/dist/tools/web-fetch-tool.js.map +1 -0
  76. package/package.json +4 -2
  77. package/src/__tests__/otel-metrics.test.ts +6 -0
  78. package/src/__tests__/pool-member.test.ts +76 -0
  79. package/src/activities/__tests__/attach-session.test.ts +133 -0
  80. package/src/activities/__tests__/discover-mcp-server.test.ts +34 -11
  81. package/src/activities/attach-session.ts +112 -0
  82. package/src/activities/discover-mcp-server.ts +19 -1
  83. package/src/activities/execute-cursor/__tests__/fetch-interceptor.test.ts +77 -0
  84. package/src/activities/execute-cursor/__tests__/sdk-warmup.test.ts +45 -0
  85. package/src/activities/execute-cursor/connect-backfill.ts +3 -0
  86. package/src/activities/execute-cursor/fetch-interceptor.ts +39 -0
  87. package/src/activities/execute-cursor/index.ts +72 -3
  88. package/src/activities/execute-cursor/mcp-resolver.ts +21 -2
  89. package/src/activities/execute-cursor/sdk-warmup.ts +68 -0
  90. package/src/activities/execute-deep-agent/__tests__/subagent-transformer.test.ts +24 -0
  91. package/src/activities/execute-deep-agent/setup.ts +48 -7
  92. package/src/activities/execute-deep-agent/subagent-transformer.ts +27 -2
  93. package/src/client/__tests__/stigmer-client.test.ts +77 -2
  94. package/src/client/__tests__/token-claims.test.ts +15 -1
  95. package/src/client/stigmer-client.ts +51 -6
  96. package/src/client/token-claims.ts +29 -6
  97. package/src/main.ts +139 -2
  98. package/src/middleware/index.ts +0 -1
  99. package/src/otel-metrics.ts +25 -1
  100. package/src/pool-member.ts +99 -0
  101. package/src/runner-manager.ts +52 -0
  102. package/src/runner.ts +15 -0
  103. package/src/shared/__tests__/cold-start-timing.test.ts +271 -0
  104. package/src/shared/__tests__/connect-backfill.test.ts +11 -11
  105. package/src/shared/__tests__/mcp-manager.test.ts +2 -73
  106. package/src/shared/__tests__/mcp-resolver.test.ts +108 -0
  107. package/src/shared/__tests__/mcp-transport-guard.test.ts +71 -0
  108. package/src/shared/cold-start-timing.ts +197 -0
  109. package/src/shared/connect-backfill.ts +5 -1
  110. package/src/shared/mcp-manager.ts +4 -41
  111. package/src/shared/mcp-resolver.ts +29 -6
  112. package/src/shared/mcp-transport-guard.ts +81 -0
  113. package/src/shared/tool-kind.ts +6 -0
  114. package/src/tools/__tests__/url-guard.test.ts +137 -0
  115. package/src/tools/__tests__/web-fetch-tool.test.ts +193 -0
  116. package/src/tools/index.ts +28 -0
  117. package/src/tools/url-guard.ts +232 -0
  118. package/src/tools/web-fetch-tool.ts +275 -0
  119. package/dist/middleware/think-tool.js.map +0 -1
  120. /package/dist/{middleware → tools}/think-tool.d.ts +0 -0
  121. /package/dist/{middleware → tools}/think-tool.js +0 -0
  122. /package/src/{middleware → tools}/__tests__/think-tool.test.ts +0 -0
  123. /package/src/{middleware → tools}/think-tool.ts +0 -0
@@ -1 +1 @@
1
- {"hash":"7b739efb803e973d","builtAt":"2026-07-29T10:08:07.519Z","fileCount":257}
1
+ {"hash":"e6e8aaaa8f1d32b4","builtAt":"2026-08-01T13:18:00.076Z","fileCount":265}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Warm-pool attach activities.
3
+ *
4
+ * Registered in the standard activity set (both runner and runner-manager
5
+ * copies) but functional only inside a pool member: they read the pool
6
+ * context registered by the pool boot path (see pool-member.ts) and fail
7
+ * fast everywhere else. The control plane schedules them on the member's
8
+ * control queue `sandbox:{memberId}`, which only a pool member ever polls.
9
+ *
10
+ * Activity contracts (invoked by the cloud ClaimPoolMemberWorkflow):
11
+ *
12
+ * Name: "ProbePoolMember"
13
+ * Input: none
14
+ * Output: string (the member id — proof the member is booted and polling)
15
+ *
16
+ * Name: "AttachSession"
17
+ * Input: (sessionId: string)
18
+ * Output: string (the session task queue now being polled)
19
+ *
20
+ * AttachSession is the claim hand-off: exchange the member's pool_sandbox
21
+ * credential for the session's sandbox token (the control plane authorizes
22
+ * against the claim record), push the session token to every credential sink
23
+ * via the manager, then start the session worker. From the returned ack
24
+ * onward the member serves `session:{sessionId}` like any provisioned
25
+ * sandbox. The control worker keeps polling its (now permanently idle)
26
+ * control queue — the claim deleted the pool row, so nothing dispatches
27
+ * there again, and the worker disappears with the next pod restart; tearing
28
+ * down the worker an activity is running on would deadlock the teardown.
29
+ */
30
+ import type { Config } from "../config.js";
31
+ export declare function createAttachSessionActivities(config: Config): {
32
+ ProbePoolMember: () => Promise<string>;
33
+ AttachSession: (sessionId: string) => Promise<string>;
34
+ };
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Warm-pool attach activities.
3
+ *
4
+ * Registered in the standard activity set (both runner and runner-manager
5
+ * copies) but functional only inside a pool member: they read the pool
6
+ * context registered by the pool boot path (see pool-member.ts) and fail
7
+ * fast everywhere else. The control plane schedules them on the member's
8
+ * control queue `sandbox:{memberId}`, which only a pool member ever polls.
9
+ *
10
+ * Activity contracts (invoked by the cloud ClaimPoolMemberWorkflow):
11
+ *
12
+ * Name: "ProbePoolMember"
13
+ * Input: none
14
+ * Output: string (the member id — proof the member is booted and polling)
15
+ *
16
+ * Name: "AttachSession"
17
+ * Input: (sessionId: string)
18
+ * Output: string (the session task queue now being polled)
19
+ *
20
+ * AttachSession is the claim hand-off: exchange the member's pool_sandbox
21
+ * credential for the session's sandbox token (the control plane authorizes
22
+ * against the claim record), push the session token to every credential sink
23
+ * via the manager, then start the session worker. From the returned ack
24
+ * onward the member serves `session:{sessionId}` like any provisioned
25
+ * sandbox. The control worker keeps polling its (now permanently idle)
26
+ * control queue — the claim deleted the pool row, so nothing dispatches
27
+ * there again, and the worker disappears with the next pod restart; tearing
28
+ * down the worker an activity is running on would deadlock the teardown.
29
+ */
30
+ import { StigmerClient } from "../client/stigmer-client.js";
31
+ import { activityStarted, activityFinished } from "../idle-watchdog.js";
32
+ import { getPoolMemberContext } from "../pool-member.js";
33
+ import { TimingRecorder, emitTimingLog } from "../shared/cold-start-timing.js";
34
+ export function createAttachSessionActivities(config) {
35
+ const client = new StigmerClient({
36
+ endpoint: config.stigmerBackendEndpoint,
37
+ token: config.stigmerToken,
38
+ tokenRef: config.stigmerTokenRef,
39
+ runnerTokenRef: config.stigmerRunnerTokenRef,
40
+ });
41
+ return {
42
+ ProbePoolMember: async () => {
43
+ activityStarted();
44
+ try {
45
+ const pool = getPoolMemberContext();
46
+ if (!pool) {
47
+ throw new Error("ProbePoolMember invoked outside a pool member (no pool context registered)");
48
+ }
49
+ return pool.memberId;
50
+ }
51
+ finally {
52
+ activityFinished();
53
+ }
54
+ },
55
+ AttachSession: async (sessionId) => {
56
+ activityStarted();
57
+ const timing = new TimingRecorder();
58
+ try {
59
+ const pool = getPoolMemberContext();
60
+ if (!pool) {
61
+ throw new Error("AttachSession invoked outside a pool member (no pool context registered)");
62
+ }
63
+ if (!sessionId) {
64
+ throw new Error("AttachSession requires a session id");
65
+ }
66
+ const scoped = await client.getRunnerScopedToken({ poolClaimSessionId: sessionId }, pool.poolToken);
67
+ timing.mark("exchange_token");
68
+ if (!scoped) {
69
+ // Unlike the desktop exchange, there is no credential to fall back
70
+ // to: a pool token cannot serve session work, so an empty mint is a
71
+ // hard failure and the control plane discards this member.
72
+ throw new Error("control plane minted no session token for the pool claim " +
73
+ `(member=${pool.memberId}, session=${sessionId})`);
74
+ }
75
+ pool.manager.updateToken(scoped.token);
76
+ timing.mark("token_applied");
77
+ await pool.manager.addSession(sessionId);
78
+ timing.mark("session_worker_added");
79
+ const taskQueue = `session:${sessionId}`;
80
+ emitTimingLog("pool_attach", {
81
+ pool_member_id: pool.memberId,
82
+ session_id: sessionId,
83
+ task_queue: taskQueue,
84
+ }, timing);
85
+ console.log(`[attach-session] Pool member ${pool.memberId} attached to session ` +
86
+ `${sessionId} (queue=${taskQueue})`);
87
+ return taskQueue;
88
+ }
89
+ finally {
90
+ activityFinished();
91
+ }
92
+ },
93
+ };
94
+ }
95
+ //# sourceMappingURL=attach-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attach-session.js","sourceRoot":"","sources":["../../src/activities/attach-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/E,MAAM,UAAU,6BAA6B,CAAC,MAAc;IAC1D,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC,sBAAsB;QACvC,KAAK,EAAE,MAAM,CAAC,YAAY;QAC1B,QAAQ,EAAE,MAAM,CAAC,eAAe;QAChC,cAAc,EAAE,MAAM,CAAC,qBAAqB;KAC7C,CAAC,CAAC;IAEH,OAAO;QACL,eAAe,EAAE,KAAK,IAAqB,EAAE;YAC3C,eAAe,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;gBACpC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;gBACJ,CAAC;gBACD,OAAO,IAAI,CAAC,QAAQ,CAAC;YACvB,CAAC;oBAAS,CAAC;gBACT,gBAAgB,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;QAED,aAAa,EAAE,KAAK,EAAE,SAAiB,EAAmB,EAAE;YAC1D,eAAe,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;gBACpC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBACzD,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAC9C,EAAE,kBAAkB,EAAE,SAAS,EAAE,EACjC,IAAI,CAAC,SAAS,CACf,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,mEAAmE;oBACnE,oEAAoE;oBACpE,2DAA2D;oBAC3D,MAAM,IAAI,KAAK,CACb,2DAA2D;wBACzD,WAAW,IAAI,CAAC,QAAQ,aAAa,SAAS,GAAG,CACpD,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAE7B,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBAEpC,MAAM,SAAS,GAAG,WAAW,SAAS,EAAE,CAAC;gBACzC,aAAa,CAAC,aAAa,EAAE;oBAC3B,cAAc,EAAE,IAAI,CAAC,QAAQ;oBAC7B,UAAU,EAAE,SAAS;oBACrB,UAAU,EAAE,SAAS;iBACtB,EAAE,MAAM,CAAC,CAAC;gBACX,OAAO,CAAC,GAAG,CACT,gCAAgC,IAAI,CAAC,QAAQ,uBAAuB;oBAClE,GAAG,SAAS,WAAW,SAAS,GAAG,CACtC,CAAC;gBACF,OAAO,SAAS,CAAC;YACnB,CAAC;oBAAS,CAAC;gBACT,gBAAgB,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -18,6 +18,7 @@
18
18
  * Output: DiscoverMcpServerOutput
19
19
  */
20
20
  import { StigmerClient } from "../client/stigmer-client.js";
21
+ import { type McpTransportPosture } from "../shared/mcp-transport-guard.js";
21
22
  import type { McpServer } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/api_pb";
22
23
  import type { Config } from "../config.js";
23
24
  export interface DiscoverMcpServerInput {
@@ -64,6 +65,14 @@ export declare function extractPreviousState(mcpServer: McpServer): PreviousStat
64
65
  export declare function injectPlatformEnv(declaredEnvKeys: Set<string>, envVars: Record<string, string>): Record<string, string>;
65
66
  export interface DiscoverDeps {
66
67
  stigmerClient: StigmerClient;
68
+ /**
69
+ * Whether stdio servers may be spawned here (derive via
70
+ * resolveMcpTransportPosture(config.mode)). Discovery spawns the same
71
+ * subprocess an execution would, so it enforces the same
72
+ * local-runner-only rule — a cloud runner refuses stdio even for
73
+ * tool enumeration.
74
+ */
75
+ transportPosture: McpTransportPosture;
67
76
  }
68
77
  export declare function discoverMcpServer(input: DiscoverMcpServerInput, deps: DiscoverDeps): Promise<DiscoverMcpServerOutput>;
69
78
  export declare function createDiscoverMcpServerActivities(config: Config): {
@@ -23,6 +23,7 @@ import { activityStarted, activityFinished } from "../idle-watchdog.js";
23
23
  import { StigmerClient } from "../client/stigmer-client.js";
24
24
  import { mcpServerToResolved } from "../shared/mcp-resolver.js";
25
25
  import { toMcpClientConfig } from "../shared/mcp-manager.js";
26
+ import { assertTransportAllowed, resolveMcpTransportPosture, } from "../shared/mcp-transport-guard.js";
26
27
  import { detectOAuthChallenge } from "../shared/mcp-oauth-detect.js";
27
28
  import { withTimeout } from "../shared/with-timeout.js";
28
29
  const SESSION_INIT_TIMEOUT_MS = 270_000;
@@ -137,6 +138,7 @@ export async function discoverMcpServer(input, deps) {
137
138
  throw new Error(`MCP server '${slug}' has no valid server type configured ` +
138
139
  `(must specify either 'stdio' or 'http' in the spec)`);
139
140
  }
141
+ assertTransportAllowed(resolved.slug, resolved.connectionType, deps.transportPosture);
140
142
  const connectionConfig = toMcpClientConfig([resolved]);
141
143
  const { tools, resourceTemplates } = await connectAndDiscover(slug, connectionConfig);
142
144
  const newFp = toolsFingerprint(tools);
@@ -278,7 +280,10 @@ export function createDiscoverMcpServerActivities(config) {
278
280
  DiscoverMcpServerCapabilities: async (input) => {
279
281
  activityStarted();
280
282
  try {
281
- return await discoverMcpServer(input, { stigmerClient });
283
+ return await discoverMcpServer(input, {
284
+ stigmerClient,
285
+ transportPosture: resolveMcpTransportPosture(config.mode),
286
+ });
282
287
  }
283
288
  finally {
284
289
  activityFinished();
@@ -1 +1 @@
1
- {"version":3,"file":"discover-mcp-server.js","sourceRoot":"","sources":["../../src/activities/discover-mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discover-mcp-server.js","sourceRoot":"","sources":["../../src/activities/discover-mcp-server.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,10 @@
10
10
  */
11
11
  import type { McpResolutionResult } from "./mcp-resolver.js";
12
12
  import type { StigmerClient } from "../../client/stigmer-client.js";
13
+ import type { McpTransportPosture } from "../../shared/mcp-transport-guard.js";
13
14
  import type { McpServerUsage } from "@stigmer/protos/ai/stigmer/agentic/agent/v1/spec_pb";
14
15
  /**
15
16
  * Run connect backfill and return an updated cursor-specific
16
17
  * McpResolutionResult with rebuilt cursorConfig.
17
18
  */
18
- export declare function backfillMcpServersIfNeeded(client: StigmerClient, currentResult: McpResolutionResult, usages: McpServerUsage[], envVars: Record<string, string>, org: string, onHeartbeat?: () => void, secretKeys?: ReadonlySet<string>): Promise<McpResolutionResult>;
19
+ export declare function backfillMcpServersIfNeeded(client: StigmerClient, currentResult: McpResolutionResult, usages: McpServerUsage[], envVars: Record<string, string>, org: string, transportPosture: McpTransportPosture, onHeartbeat?: () => void, secretKeys?: ReadonlySet<string>): Promise<McpResolutionResult>;
@@ -14,8 +14,8 @@ import { backfillMcpServersIfNeeded as sharedBackfill } from "../../shared/conne
14
14
  * Run connect backfill and return an updated cursor-specific
15
15
  * McpResolutionResult with rebuilt cursorConfig.
16
16
  */
17
- export async function backfillMcpServersIfNeeded(client, currentResult, usages, envVars, org, onHeartbeat, secretKeys) {
18
- const updatedServers = await sharedBackfill(client, currentResult.resolvedServers, usages, envVars, org, onHeartbeat, secretKeys);
17
+ export async function backfillMcpServersIfNeeded(client, currentResult, usages, envVars, org, transportPosture, onHeartbeat, secretKeys) {
18
+ const updatedServers = await sharedBackfill(client, currentResult.resolvedServers, usages, envVars, org, transportPosture, onHeartbeat, secretKeys);
19
19
  if (updatedServers === currentResult.resolvedServers) {
20
20
  return currentResult;
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connect-backfill.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/connect-backfill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,0BAA0B,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEhG;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAqB,EACrB,aAAkC,EAClC,MAAwB,EACxB,OAA+B,EAC/B,GAAW,EACX,WAAwB,EACxB,UAAgC;IAEhC,MAAM,cAAc,GAAG,MAAM,cAAc,CACzC,MAAM,EACN,aAAa,CAAC,eAAe,EAC7B,MAAM,EACN,OAAO,EACP,GAAG,EACH,WAAW,EACX,UAAU,CACX,CAAC;IAEF,IAAI,cAAc,KAAK,aAAa,CAAC,eAAe,EAAE,CAAC;QACrD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,OAAO;QACL,YAAY,EAAE,iBAAiB,CAAC,cAAc,CAAC;QAC/C,eAAe,EAAE,cAAc;KAChC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"connect-backfill.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/connect-backfill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAItD,OAAO,EAAE,0BAA0B,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEhG;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAqB,EACrB,aAAkC,EAClC,MAAwB,EACxB,OAA+B,EAC/B,GAAW,EACX,gBAAqC,EACrC,WAAwB,EACxB,UAAgC;IAEhC,MAAM,cAAc,GAAG,MAAM,cAAc,CACzC,MAAM,EACN,aAAa,CAAC,eAAe,EAC7B,MAAM,EACN,OAAO,EACP,GAAG,EACH,gBAAgB,EAChB,WAAW,EACX,UAAU,CACX,CAAC;IAEF,IAAI,cAAc,KAAK,aAAa,CAAC,eAAe,EAAE,CAAC;QACrD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,OAAO;QACL,YAAY,EAAE,iBAAiB,CAAC,cAAc,CAAC;QAC/C,eAAe,EAAE,cAAc;KAChC,CAAC;AACJ,CAAC"}
@@ -15,6 +15,16 @@
15
15
  * When STIGMER_PROXY_ENDPOINT is not set, this module is a no-op.
16
16
  */
17
17
  import { AsyncLocalStorage } from "node:async_hooks";
18
+ import { TimingRecorder, emitTimingLog } from "../../shared/cold-start-timing.js";
19
+ /**
20
+ * The one REST path worth timing individually: the Cursor SDK calls
21
+ * GET /v1/models inside Agent.create/Agent.resume purely to validate the
22
+ * model id, and in proxy mode that is a runner → Stigmer → Cursor double
23
+ * hop sitting inside the resolve_agent setup segment (issue #209). The
24
+ * emitted `cursor_models_fetch` timeline splits that network cost out of
25
+ * the segment total without touching the SDK.
26
+ */
27
+ const MODELS_PATH = "/v1/models";
18
28
  const CURSOR_DOMAINS = [
19
29
  "api2.cursor.sh",
20
30
  "api.cursor.com",
@@ -215,8 +225,12 @@ async function fetchWithUrlRewrite(url, init, config) {
215
225
  const rewrittenUrl = rewriteUrl(url, config.proxyEndpoint);
216
226
  const rewrittenInit = replaceAuth(init, config);
217
227
  const path = extractPath(url);
228
+ const modelsTiming = path === MODELS_PATH ? new TimingRecorder() : undefined;
218
229
  try {
219
230
  const response = await originalFetch(rewrittenUrl, rewrittenInit);
231
+ if (modelsTiming) {
232
+ emitModelsFetchTiming(modelsTiming, config, response.status);
233
+ }
220
234
  if (!response.ok) {
221
235
  if (isNonCriticalPath(path)) {
222
236
  console.debug(`[proxy-interceptor] Non-critical Cursor request failed (expected): ${init?.method ?? "GET"} ${path} → proxy status=${response.status}`);
@@ -233,6 +247,23 @@ async function fetchWithUrlRewrite(url, init, config) {
233
247
  throw err;
234
248
  }
235
249
  }
250
+ /**
251
+ * Emit the `cursor_models_fetch` timeline for one proxied GET /v1/models.
252
+ *
253
+ * `execution_id` comes from the AsyncLocalStorage execution context — the
254
+ * whole ExecuteCursor activity runs inside runWithExecutionContext, so the
255
+ * value is correct even with concurrent activities on one runner process.
256
+ * `recordTimingMetric` deliberately ignores this event (no mapped OTel
257
+ * instrument): it is a forensic stdout line only, joined to the
258
+ * execution_setup timeline by execution_id in cold-start-baseline analysis.
259
+ */
260
+ function emitModelsFetchTiming(timing, config, httpStatus) {
261
+ timing.mark("models_fetch");
262
+ emitTimingLog("cursor_models_fetch", {
263
+ execution_id: executionContext.getStore()?.executionId ?? config.executionId,
264
+ http_status: httpStatus,
265
+ }, timing);
266
+ }
236
267
  /**
237
268
  * Connect-RPC-via-fetch path: inject x-stigmer-auth for BiDi proxy
238
269
  * authentication without rewriting the URL or replacing authorization.
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-interceptor.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/fetch-interceptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch-interceptor.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/fetch-interceptor.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,7 @@ import { CursorMode } from "@stigmer/protos/ai/stigmer/agentic/session/v1/enum_p
37
37
  import { determineCursorMode, isCloudMode } from "./cursor-mode.js";
38
38
  import { MessageAccumulator, cancelInProgressSubAgentProtos, collapseRedundantToolCallTwins } from "./message-translator.js";
39
39
  import { utcTimestamp, persistStatus, reportSetupProgress, slimStatus } from "../../shared/status.js";
40
+ import { TimingRecorder, emitTimingLog } from "../../shared/cold-start-timing.js";
40
41
  import { readContextBridge } from "../../shared/context-bridge.js";
41
42
  import { readSenderIdentity } from "../../shared/sender-identity.js";
42
43
  import { readSessionContext } from "../../shared/session-context.js";
@@ -49,6 +50,7 @@ import { TodoTracker } from "./todo-tracker.js";
49
50
  import { StreamingUpdateScheduler, loadStreamingConfig } from "../../shared/streaming-scheduler.js";
50
51
  import { createCursorEventRecorder } from "./cursor-event-recorder.js";
51
52
  import { resolveMcpServers, toCursorMcpConfig, validateMcpServerEnv } from "./mcp-resolver.js";
53
+ import { resolveMcpTransportPosture } from "../../shared/mcp-transport-guard.js";
52
54
  import { injectDatastoreAttachment, synthesizeDatastoreAttachment, } from "../../shared/datastore-attachment.js";
53
55
  import { mergeApprovalPolicies } from "./approval-policy.js";
54
56
  import { deriveActiveLeases, isUnattendedApprovalMode } from "../../shared/approval-policy.js";
@@ -135,6 +137,11 @@ turnSeq) {
135
137
  phase: ExecutionPhase.EXECUTION_IN_PROGRESS,
136
138
  startedAt: utcTimestamp(),
137
139
  });
140
+ // Cold-start timeline of this turn's setup (warm-agent-surfaces Phase 0):
141
+ // one mark after each phase, emitted as a single structured log line once
142
+ // the Cursor agent is resolved (early returns skip it — partial setups are
143
+ // not comparable cold-start samples).
144
+ const setupTiming = new TimingRecorder();
138
145
  // Artifact storage for offloading oversized tool outputs (screenshots, giant
139
146
  // dumps) out of the persisted status, and for publishing the plan artifact.
140
147
  // Resolved once here so it is available to EVERY persist below. Best-effort via
@@ -143,6 +150,7 @@ turnSeq) {
143
150
  // local path). An absent store disables offload (persistStatus still enforces
144
151
  // the aggregate size cap) and flips capture mode off (deny-gate fallback).
145
152
  const artifactStorage = await resolveUsableArtifactStorage(loadArtifactStorageConfig(config), { executionId });
153
+ setupTiming.mark("resolve_artifact_storage");
146
154
  const statusOffload = artifactStorage
147
155
  ? { artifactStorage, executionId }
148
156
  : undefined;
@@ -231,15 +239,18 @@ turnSeq) {
231
239
  const execution = await client.getExecution(executionId);
232
240
  const spec = execution.spec;
233
241
  sessionId = spec.sessionId;
242
+ setupTiming.mark("fetch_execution");
234
243
  // Phase 2: Load session and resolve full agent blueprint
235
244
  await reportSetupProgress(client, executionId, "Resolving agent blueprint");
236
245
  session = await client.getSession(sessionId);
237
246
  const blueprint = await resolveBlueprint(client, session, config.workspaceRootDir);
247
+ setupTiming.mark("resolve_blueprint");
238
248
  // Phase 2b: Resolve execution environment (MCP server credentials)
239
249
  heartbeatPhase = "resolving_environment";
240
250
  await reportSetupProgress(client, executionId, "Resolving environment");
241
251
  const { envVars, secretKeys } = await resolveExecutionEnv(client, executionId);
242
252
  heartbeat();
253
+ setupTiming.mark("resolve_environment");
243
254
  // Phase 2c: Provision the workspace (clone git repos / mount local paths)
244
255
  // so the LOCAL Cursor agent operates on the actual repo. Cursor previously
245
256
  // relied on cloud agents to clone git-repo workspace entries; with cloud
@@ -251,6 +262,7 @@ turnSeq) {
251
262
  const workspaceProvision = await provisionCursorWorkspace(config, session, envVars, sessionId ?? "");
252
263
  blueprint.workspaceDirs = workspaceProvision.workspaceDirs;
253
264
  heartbeat();
265
+ setupTiming.mark("provision_workspace");
254
266
  // Git write-back: pushes the session's APPROVED tree to the session
255
267
  // branch (stigmer/<session-id>) and keeps one PR open — the same
256
268
  // approval-gated model as the deep-agent harness (its
@@ -337,6 +349,7 @@ turnSeq) {
337
349
  }
338
350
  }
339
351
  heartbeat();
352
+ setupTiming.mark("acquire_workspace_lock");
340
353
  // Set OTel baggage so downstream calls carry execution context.
341
354
  try {
342
355
  const { setBaggage, BAGGAGE_EXECUTION_ID, BAGGAGE_SESSION_ID, BAGGAGE_ORG_ID } = await import("../../otel.js");
@@ -495,11 +508,14 @@ turnSeq) {
495
508
  }
496
509
  // Phase 4: Resolve MCP servers with approval policies
497
510
  await reportSetupProgress(client, executionId, "Resolving MCP servers");
498
- let mcpResolution = await resolveMcpServers(client, blueprint.mergedMcpServerUsages, envVars);
511
+ const transportPosture = resolveMcpTransportPosture(config.mode);
512
+ let mcpResolution = await resolveMcpServers(client, blueprint.mergedMcpServerUsages, envVars, transportPosture);
513
+ setupTiming.mark("resolve_mcp_servers");
499
514
  // Phase 4a: Connect backfill for undiscovered MCP servers
500
515
  heartbeatPhase = "resolving_mcp_servers";
501
516
  const sessionOrg = session.metadata?.org ?? "";
502
- mcpResolution = await backfillMcpServersIfNeeded(client, mcpResolution, blueprint.mergedMcpServerUsages, envVars, sessionOrg, heartbeat, secretKeys);
517
+ mcpResolution = await backfillMcpServersIfNeeded(client, mcpResolution, blueprint.mergedMcpServerUsages, envVars, sessionOrg, transportPosture, heartbeat, secretKeys);
518
+ setupTiming.mark("backfill_mcp");
503
519
  // Phase 4a2: Synthesize the datastore records attachment (T05).
504
520
  // Deliberately AFTER resolve + backfill: the attachment has no
505
521
  // McpServerUsage and reports discovered capabilities, so the
@@ -552,6 +568,7 @@ turnSeq) {
552
568
  primaryWorkspaceDir,
553
569
  });
554
570
  heartbeat();
571
+ setupTiming.mark("resolve_skills");
555
572
  // Phase 5b: Resolve attachments (fail-hard — explicit user inputs; see
556
573
  // attachment-resolver.ts). Downloads by storage key through the same
557
574
  // artifactStorage resolved for status offload above.
@@ -562,6 +579,7 @@ turnSeq) {
562
579
  storage: artifactStorage,
563
580
  });
564
581
  const attachmentPaths = attachmentResults.map((a) => a.relativePath);
582
+ setupTiming.mark("resolve_attachments");
565
583
  // Phase 5b3: Exact-apply approved whole-file writes (HITL "what you approve
566
584
  // is what gets applied"). The Cursor deny-only harness reinvokes the model,
567
585
  // which regenerates content, so a resource grant alone cannot guarantee the
@@ -673,6 +691,7 @@ turnSeq) {
673
691
  stopDenialWatcher = watchDenialLedger(hitlDir, () => {
674
692
  turnState.denialLedgerDirty = true;
675
693
  });
694
+ setupTiming.mark("install_hitl_gate");
676
695
  // Mid-run live capture (DD-32 / DD-33): choose the progress substrate for this
677
696
  // turn's workspace shape ONCE (git / non-git CAS / hybrid). It owns its own
678
697
  // short-circuit cache across the loop's persists; the floor lives in
@@ -689,6 +708,7 @@ turnSeq) {
689
708
  });
690
709
  // Phase 5d: Ensure model pricing registry is populated before validation
691
710
  await ensurePricingLoaded();
711
+ setupTiming.mark("load_pricing");
692
712
  // Phase 6: Validate model selection
693
713
  const requestedModel = spec.executionConfig?.modelName || "default";
694
714
  const validatedModel = resolveModelId(requestedModel);
@@ -747,6 +767,12 @@ turnSeq) {
747
767
  // the activity returns rather than throws, and maximumAttempts is 1).
748
768
  heartbeatPhase = "resolving_agent";
749
769
  const resolveTimeoutSeconds = Math.round(config.agentResolveTimeoutMs / 1000);
770
+ // Close the span since load_pricing here so the resolve_agent segment
771
+ // below measures the SDK Agent.create/resume call alone, not the
772
+ // progress-report gRPC + options assembly above (issue #209: resolve_agent
773
+ // is the largest user-visible setup segment; this split keeps its
774
+ // historical meaning — the SDK call was already 98%+ of it).
775
+ setupTiming.mark("prepare_agent");
750
776
  let resolution = await resolveAgentWithTransportRecovery({
751
777
  harnessStateId: threadId,
752
778
  createOptions,
@@ -765,6 +791,17 @@ turnSeq) {
765
791
  `reason=${resolution.reason}, mode=${resolution.mode}, ` +
766
792
  `agentId=${resolution.agentId}, resumed=${resolution.resumed}` +
767
793
  (resolution.resumeFailureDetail ? `, failureDetail=${resolution.resumeFailureDetail}` : ""));
794
+ setupTiming.mark("resolve_agent");
795
+ emitTimingLog("execution_setup", {
796
+ execution_id: executionId,
797
+ session_id: sessionId,
798
+ harness: "cursor",
799
+ agent_resumed: resolution.resumed,
800
+ cursor_mode: agentMode,
801
+ mcp_server_count: blueprint.mergedMcpServerUsages.length,
802
+ skill_count: blueprint.mergedSkillRefs.length,
803
+ workspace_entry_count: session.spec?.workspaceEntries?.length ?? 0,
804
+ }, setupTiming);
768
805
  errorContext = { model: validatedModel, mode: agentMode, agentId: resolution.agentId };
769
806
  // (HITL approval gate already installed in Phase 5c, before agent resolution.)
770
807
  // Phase 9: Store new agentId as harness_state_id and persist cursor_mode
@@ -905,12 +942,42 @@ turnSeq) {
905
942
  // Fallback: if the Temporal signal doesn't support setMaxListeners
906
943
  // (e.g. older SDK), the warning is harmless — ignore.
907
944
  }
945
+ // Issue #209 forensics: the SDK acquires the local executor — the piece
946
+ // that actually spawns stdio MCP servers — inside send(), AFTER the
947
+ // execution_setup timeline above has already been emitted. This one-shot
948
+ // timeline makes that previously invisible window measurable:
949
+ // `send_returned` covers the send() call itself, `first_delta` the wait
950
+ // until the SDK's first delta. Primary send only — the recovery retries
951
+ // below rebuild the agent and would skew the user-perceived turn start
952
+ // this measures. No delta (immediate pause/failure) → no line.
953
+ const turnStartTiming = new TimingRecorder();
954
+ let turnFirstEventEmitted = false;
955
+ const primaryOnDelta = makeCursorTurnOnDelta(onDeltaDeps);
908
956
  // The stall watchdog is armed inside consumeCursorTurnStream (it needs the
909
957
  // run to cancel), stored on turnState.stallWatchdog so this shared onDelta can
910
958
  // reset it and the activity's finally can stop it as a backstop.
911
959
  const run = await resolution.agent.send(effectivePrompt, {
912
- onDelta: makeCursorTurnOnDelta(onDeltaDeps),
960
+ onDelta: (event) => {
961
+ if (!turnFirstEventEmitted) {
962
+ turnFirstEventEmitted = true;
963
+ turnStartTiming.mark("first_delta");
964
+ emitTimingLog("turn_first_event", {
965
+ execution_id: executionId,
966
+ session_id: sessionId,
967
+ harness: "cursor",
968
+ agent_resumed: resolution.resumed,
969
+ mcp_server_count: blueprint.mergedMcpServerUsages.length,
970
+ }, turnStartTiming);
971
+ }
972
+ primaryOnDelta(event);
973
+ },
913
974
  });
975
+ // Normally send() resolves before any delta arrives, making send_returned
976
+ // the first segment; if a delta beat it, the line is already emitted and
977
+ // adding a mark now would be meaningless.
978
+ if (!turnFirstEventEmitted) {
979
+ turnStartTiming.mark("send_returned");
980
+ }
914
981
  // Everything at an index >= this was produced by THIS turn's stream — the
915
982
  // positional turn boundary the approved-command provenance (DD-28) scopes
916
983
  // its qualification to. Snapshotted before the accumulator can append.