@stigmer/runner 3.0.8-dev.20260612100207 → 3.0.8-dev.20260613041848

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 (31) hide show
  1. package/dist/.build-fingerprint +1 -1
  2. package/dist/activities/execute-cursor/approval-state.d.ts +25 -13
  3. package/dist/activities/execute-cursor/approval-state.js +33 -24
  4. package/dist/activities/execute-cursor/approval-state.js.map +1 -1
  5. package/dist/activities/execute-cursor/hook-script.d.ts +16 -1
  6. package/dist/activities/execute-cursor/hook-script.js +50 -1
  7. package/dist/activities/execute-cursor/hook-script.js.map +1 -1
  8. package/dist/activities/execute-cursor/index.js +60 -12
  9. package/dist/activities/execute-cursor/index.js.map +1 -1
  10. package/dist/activities/execute-cursor/session-lifecycle.js +6 -0
  11. package/dist/activities/execute-cursor/session-lifecycle.js.map +1 -1
  12. package/dist/activities/execute-cursor/skill-resolver.d.ts +9 -0
  13. package/dist/activities/execute-cursor/skill-resolver.js +24 -1
  14. package/dist/activities/execute-cursor/skill-resolver.js.map +1 -1
  15. package/dist/activities/execute-cursor/workspace-setup.d.ts +79 -21
  16. package/dist/activities/execute-cursor/workspace-setup.js +171 -51
  17. package/dist/activities/execute-cursor/workspace-setup.js.map +1 -1
  18. package/dist/shared/workspace/platform-dir.d.ts +26 -5
  19. package/dist/shared/workspace/platform-dir.js +38 -7
  20. package/dist/shared/workspace/platform-dir.js.map +1 -1
  21. package/package.json +2 -2
  22. package/src/activities/execute-cursor/__tests__/hitl-ledger.test.ts +4 -3
  23. package/src/activities/execute-cursor/__tests__/hook-script.test.ts +51 -2
  24. package/src/activities/execute-cursor/__tests__/workspace-setup.test.ts +204 -0
  25. package/src/activities/execute-cursor/approval-state.ts +33 -24
  26. package/src/activities/execute-cursor/hook-script.ts +54 -1
  27. package/src/activities/execute-cursor/index.ts +65 -16
  28. package/src/activities/execute-cursor/session-lifecycle.ts +6 -0
  29. package/src/activities/execute-cursor/skill-resolver.ts +26 -1
  30. package/src/activities/execute-cursor/workspace-setup.ts +228 -51
  31. package/src/shared/workspace/platform-dir.ts +41 -7
@@ -1 +1 @@
1
- {"hash":"fbb008e1ad9ac26c","builtAt":"2026-06-12T10:03:59.435Z","fileCount":193}
1
+ {"hash":"6d487ab26cf2b9d2","builtAt":"2026-06-13T04:20:20.143Z","fileCount":193}
@@ -2,8 +2,9 @@
2
2
  * Approval state management for the hook-deny + reinvoke HITL model.
3
3
  *
4
4
  * Before starting a Cursor Agent run, the cursor-runner writes a state file
5
- * to the workspace. The preToolUse hook script reads this file to decide
6
- * whether to allow or deny each tool call.
5
+ * into the session's runner-owned HITL directory (outside the user's
6
+ * workspace). The preToolUse hook script reads this file to decide whether to
7
+ * allow or deny each tool call.
7
8
  *
8
9
  * State file format (JSON):
9
10
  * {
@@ -40,7 +41,7 @@
40
41
  *
41
42
  * Denial ledger (hook → runner):
42
43
  * The state file is the runner's INPUT to the hook. Its symmetric OUTPUT is the
43
- * denial ledger (stigmer-denials.jsonl): when the hook denies a tool, it appends
44
+ * denial ledger (denials.jsonl): when the hook denies a tool, it appends
44
45
  * the call's identity token to this file. The runner reads the ledger after the
45
46
  * run to learn which tool calls were gated — the hook is the only component that
46
47
  * actually makes the per-call allow/deny decision, so its ledger is the
@@ -127,14 +128,21 @@ export declare function buildApprovalGrants(pendingApprovals: PendingApproval[],
127
128
  */
128
129
  export declare function buildApprovalState(mergedPolicies: Map<string, MergedToolPolicy>, autoApproveAll: boolean, grants?: ApprovalGrant[]): ApprovalStateFile;
129
130
  /**
130
- * Write the approval state file to the workspace for the hook script to read.
131
+ * Write the approval state file into the session's HITL directory for the hook
132
+ * script to read.
133
+ *
134
+ * The HITL directory is runner-owned and lives outside the user's workspace
135
+ * (`~/.stigmer/sessions/{id}/hitl/`), so this file never lands in the attached
136
+ * repo — only a minimal `.cursor/hooks.json` pointing here by absolute path does
137
+ * (see issue #173). The hook reads this file fresh on every tool call, so its
138
+ * dynamic policy is always current even if the SDK caches `hooks.json`.
131
139
  *
132
140
  * Written as COMPACT JSON (no indentation): the bash hook parses it with
133
141
  * line-oriented grep patterns that assume `"key":value` with no spaces or
134
142
  * newlines (e.g. `"autoApproveAll":true`, `"name":{...}`). Pretty-printing
135
143
  * would break every lookup.
136
144
  */
137
- export declare function writeApprovalStateFile(workspaceRoot: string, state: ApprovalStateFile): Promise<string>;
145
+ export declare function writeApprovalStateFile(hitlDir: string, state: ApprovalStateFile): Promise<string>;
138
146
  /**
139
147
  * One denial recorded by the preToolUse hook. `token` is the call's identity in
140
148
  * the same space as grantToken() (base64 of `toolName \n salientArg`), used to
@@ -145,24 +153,28 @@ export interface DeniedLedgerEntry {
145
153
  toolName: string;
146
154
  token: string;
147
155
  }
148
- /** Absolute path of the per-turn denial ledger the hook appends to. */
149
- export declare function denialLedgerPath(workspaceRoot: string): string;
156
+ /**
157
+ * Absolute path of the per-turn denial ledger the hook appends to, inside the
158
+ * session's runner-owned HITL directory (never the user's workspace).
159
+ */
160
+ export declare function denialLedgerPath(hitlDir: string): string;
150
161
  /**
151
162
  * Truncate the denial ledger to empty for a fresh turn, returning its path.
152
163
  *
153
- * Called every turn alongside writeApprovalStateFile (the workspace is durable
154
- * and reused across HITL reinvocations), so the runner only ever reads denials
155
- * produced by the current run. A Temporal activity retry re-runs this reset
156
- * before re-running the agent, so the read stays deterministic under retries.
164
+ * Called every turn alongside writeApprovalStateFile (the HITL directory is
165
+ * durable and reused across HITL reinvocations), so the runner only ever reads
166
+ * denials produced by the current run. A Temporal activity retry re-runs this
167
+ * reset before re-running the agent, so the read stays deterministic under
168
+ * retries.
157
169
  */
158
- export declare function resetDenialLedger(workspaceRoot: string): Promise<string>;
170
+ export declare function resetDenialLedger(hitlDir: string): Promise<string>;
159
171
  /**
160
172
  * Read the denial ledger written by the hook during the turn. Missing file →
161
173
  * no denials. Blank or partially-written lines are tolerated (the hook appends
162
174
  * line-by-line and a run can be interrupted), so a malformed tail never hides
163
175
  * the valid denials before it.
164
176
  */
165
- export declare function readDenialLedger(workspaceRoot: string): Promise<DeniedLedgerEntry[]>;
177
+ export declare function readDenialLedger(hitlDir: string): Promise<DeniedLedgerEntry[]>;
166
178
  /**
167
179
  * Reconstruct the adjudicated approvals for a HITL reinvocation directly from
168
180
  * the tool calls in messages.
@@ -2,8 +2,9 @@
2
2
  * Approval state management for the hook-deny + reinvoke HITL model.
3
3
  *
4
4
  * Before starting a Cursor Agent run, the cursor-runner writes a state file
5
- * to the workspace. The preToolUse hook script reads this file to decide
6
- * whether to allow or deny each tool call.
5
+ * into the session's runner-owned HITL directory (outside the user's
6
+ * workspace). The preToolUse hook script reads this file to decide whether to
7
+ * allow or deny each tool call.
7
8
  *
8
9
  * State file format (JSON):
9
10
  * {
@@ -40,7 +41,7 @@
40
41
  *
41
42
  * Denial ledger (hook → runner):
42
43
  * The state file is the runner's INPUT to the hook. Its symmetric OUTPUT is the
43
- * denial ledger (stigmer-denials.jsonl): when the hook denies a tool, it appends
44
+ * denial ledger (denials.jsonl): when the hook denies a tool, it appends
44
45
  * the call's identity token to this file. The runner reads the ledger after the
45
46
  * run to learn which tool calls were gated — the hook is the only component that
46
47
  * actually makes the per-call allow/deny decision, so its ledger is the
@@ -139,43 +140,51 @@ export function buildApprovalState(mergedPolicies, autoApproveAll, grants) {
139
140
  approvedGrantTokens: approvedGrants.map((g) => grantToken(g.key, g.salient)),
140
141
  };
141
142
  }
142
- const STATE_FILE_DIR = ".cursor/hooks";
143
- const STATE_FILE_NAME = "stigmer-approval-state.json";
143
+ const STATE_FILE_NAME = "approval-state.json";
144
144
  /**
145
- * Write the approval state file to the workspace for the hook script to read.
145
+ * Write the approval state file into the session's HITL directory for the hook
146
+ * script to read.
147
+ *
148
+ * The HITL directory is runner-owned and lives outside the user's workspace
149
+ * (`~/.stigmer/sessions/{id}/hitl/`), so this file never lands in the attached
150
+ * repo — only a minimal `.cursor/hooks.json` pointing here by absolute path does
151
+ * (see issue #173). The hook reads this file fresh on every tool call, so its
152
+ * dynamic policy is always current even if the SDK caches `hooks.json`.
146
153
  *
147
154
  * Written as COMPACT JSON (no indentation): the bash hook parses it with
148
155
  * line-oriented grep patterns that assume `"key":value` with no spaces or
149
156
  * newlines (e.g. `"autoApproveAll":true`, `"name":{...}`). Pretty-printing
150
157
  * would break every lookup.
151
158
  */
152
- export async function writeApprovalStateFile(workspaceRoot, state) {
153
- const dir = join(workspaceRoot, STATE_FILE_DIR);
154
- await mkdir(dir, { recursive: true });
155
- const filePath = join(dir, STATE_FILE_NAME);
159
+ export async function writeApprovalStateFile(hitlDir, state) {
160
+ await mkdir(hitlDir, { recursive: true });
161
+ const filePath = join(hitlDir, STATE_FILE_NAME);
156
162
  await writeFile(filePath, JSON.stringify(state), "utf-8");
157
163
  return filePath;
158
164
  }
159
165
  // ─────────────────────────────────────────────────────────────────────────────
160
166
  // Denial ledger (hook → runner): the authoritative record of what the hook gated
161
167
  // ─────────────────────────────────────────────────────────────────────────────
162
- const DENIAL_LEDGER_FILE = "stigmer-denials.jsonl";
163
- /** Absolute path of the per-turn denial ledger the hook appends to. */
164
- export function denialLedgerPath(workspaceRoot) {
165
- return join(workspaceRoot, STATE_FILE_DIR, DENIAL_LEDGER_FILE);
168
+ const DENIAL_LEDGER_FILE = "denials.jsonl";
169
+ /**
170
+ * Absolute path of the per-turn denial ledger the hook appends to, inside the
171
+ * session's runner-owned HITL directory (never the user's workspace).
172
+ */
173
+ export function denialLedgerPath(hitlDir) {
174
+ return join(hitlDir, DENIAL_LEDGER_FILE);
166
175
  }
167
176
  /**
168
177
  * Truncate the denial ledger to empty for a fresh turn, returning its path.
169
178
  *
170
- * Called every turn alongside writeApprovalStateFile (the workspace is durable
171
- * and reused across HITL reinvocations), so the runner only ever reads denials
172
- * produced by the current run. A Temporal activity retry re-runs this reset
173
- * before re-running the agent, so the read stays deterministic under retries.
179
+ * Called every turn alongside writeApprovalStateFile (the HITL directory is
180
+ * durable and reused across HITL reinvocations), so the runner only ever reads
181
+ * denials produced by the current run. A Temporal activity retry re-runs this
182
+ * reset before re-running the agent, so the read stays deterministic under
183
+ * retries.
174
184
  */
175
- export async function resetDenialLedger(workspaceRoot) {
176
- const dir = join(workspaceRoot, STATE_FILE_DIR);
177
- await mkdir(dir, { recursive: true });
178
- const filePath = denialLedgerPath(workspaceRoot);
185
+ export async function resetDenialLedger(hitlDir) {
186
+ await mkdir(hitlDir, { recursive: true });
187
+ const filePath = denialLedgerPath(hitlDir);
179
188
  await writeFile(filePath, "", "utf-8");
180
189
  return filePath;
181
190
  }
@@ -185,10 +194,10 @@ export async function resetDenialLedger(workspaceRoot) {
185
194
  * line-by-line and a run can be interrupted), so a malformed tail never hides
186
195
  * the valid denials before it.
187
196
  */
188
- export async function readDenialLedger(workspaceRoot) {
197
+ export async function readDenialLedger(hitlDir) {
189
198
  let raw;
190
199
  try {
191
- raw = await readFile(denialLedgerPath(workspaceRoot), "utf-8");
200
+ raw = await readFile(denialLedgerPath(hitlDir), "utf-8");
192
201
  }
193
202
  catch {
194
203
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"approval-state.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/approval-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approval-state.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/approval-state.ts"],"names":[],"mappings":"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"}
@@ -70,5 +70,20 @@
70
70
  *
71
71
  * The identity token encoding (`base64(key \n salient)`) must stay byte-identical
72
72
  * to grantToken() in approval-state.ts.
73
+ *
74
+ * Scope guard (the crux of issue #173): the Cursor SDK loads project hooks from
75
+ * `<workspace>/.cursor/hooks.json`, which is the SAME per-repo surface every
76
+ * Cursor client reads. When a session runs against the user's real repo, the
77
+ * user's own interactive Cursor IDE would otherwise load and run this hook too —
78
+ * gating the IDE, polluting the denial ledger with the IDE's tool calls, and (in
79
+ * multi-root windows) failing closed. We make the gate apply ONLY to the
80
+ * runner's own agent by baking in the runner process PID and checking, on every
81
+ * invocation, whether the runner is an ancestor of the hook process. The SDK
82
+ * runs hooks in-process via child_process, so the runner's own agent (and its
83
+ * delegated sub-agents) spawn the hook as a descendant of the runner; any other
84
+ * Cursor client spawns it under a different process tree. A non-descendant
85
+ * invocation is allowed immediately and never touches the ledger. This also
86
+ * makes a leftover hooks.json self-neutralizing: once the runner exits, no
87
+ * invocation can match its (now-dead) PID, so the gate is inert.
73
88
  */
74
- export declare function generateHookScript(stateFilePath: string, ledgerFilePath: string): string;
89
+ export declare function generateHookScript(stateFilePath: string, ledgerFilePath: string, runnerPid: number): string;
@@ -125,8 +125,23 @@ function buildNodeIdentityScript() {
125
125
  *
126
126
  * The identity token encoding (`base64(key \n salient)`) must stay byte-identical
127
127
  * to grantToken() in approval-state.ts.
128
+ *
129
+ * Scope guard (the crux of issue #173): the Cursor SDK loads project hooks from
130
+ * `<workspace>/.cursor/hooks.json`, which is the SAME per-repo surface every
131
+ * Cursor client reads. When a session runs against the user's real repo, the
132
+ * user's own interactive Cursor IDE would otherwise load and run this hook too —
133
+ * gating the IDE, polluting the denial ledger with the IDE's tool calls, and (in
134
+ * multi-root windows) failing closed. We make the gate apply ONLY to the
135
+ * runner's own agent by baking in the runner process PID and checking, on every
136
+ * invocation, whether the runner is an ancestor of the hook process. The SDK
137
+ * runs hooks in-process via child_process, so the runner's own agent (and its
138
+ * delegated sub-agents) spawn the hook as a descendant of the runner; any other
139
+ * Cursor client spawns it under a different process tree. A non-descendant
140
+ * invocation is allowed immediately and never touches the ledger. This also
141
+ * makes a leftover hooks.json self-neutralizing: once the runner exits, no
142
+ * invocation can match its (now-dead) PID, so the gate is inert.
128
143
  */
129
- export function generateHookScript(stateFilePath, ledgerFilePath) {
144
+ export function generateHookScript(stateFilePath, ledgerFilePath, runnerPid) {
130
145
  const salientFields = SALIENT_ARG_FIELDS.join(" ");
131
146
  const categoryCaseArms = buildCategoryCaseArms();
132
147
  const nodeIdentityScript = buildNodeIdentityScript();
@@ -145,6 +160,40 @@ INPUT=$(cat)
145
160
 
146
161
  STATE_FILE="${stateFilePath}"
147
162
  LEDGER_FILE="${ledgerFilePath}"
163
+ RUNNER_PID="${runnerPid}"
164
+
165
+ # --- Scope guard: gate ONLY the runner's own agent (issue #173) -------------
166
+ # The Cursor SDK runs hooks in-process, so the runner's own agent invocations
167
+ # spawn this script as a DESCENDANT of the runner process (RUNNER_PID); the
168
+ # user's interactive IDE — sharing the same repo .cursor/hooks.json — spawns it
169
+ # under a different process tree. Walk the parent-PID chain: if the runner is an
170
+ # ancestor, apply the gate; otherwise allow immediately and DO NOT write the
171
+ # ledger (so foreign tool calls never appear as phantom approvals). Pure bash so
172
+ # it works even when the Node identity binary below is unavailable.
173
+ __stigmer_ppid() {
174
+ _p="$1"
175
+ if [ -r "/proc/$_p/status" ]; then
176
+ awk '/^PPid:/{print $2; exit}' "/proc/$_p/status" 2>/dev/null || true
177
+ else
178
+ ps -o ppid= -p "$_p" 2>/dev/null | tr -d ' ' || true
179
+ fi
180
+ }
181
+ __stigmer_is_own_agent() {
182
+ _cur="$$"
183
+ _i=0
184
+ while [ "$_i" -lt 64 ]; do
185
+ if [ -z "$_cur" ]; then return 1; fi
186
+ if [ "$_cur" = "$RUNNER_PID" ]; then return 0; fi
187
+ if [ "$_cur" = "1" ] || [ "$_cur" = "0" ]; then return 1; fi
188
+ _cur="$(__stigmer_ppid "$_cur")"
189
+ _i=$((_i + 1))
190
+ done
191
+ return 1
192
+ }
193
+ if ! __stigmer_is_own_agent; then
194
+ echo '{"permission":"allow"}'
195
+ exit 0
196
+ fi
148
197
 
149
198
  # --- Canonical identity: tool_name / category / identity token / MCP token ---
150
199
  # Computed by the same Node.js binary that runs the cursor-runner (absolute path
@@ -1 +1 @@
1
- {"version":3,"file":"hook-script.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/hook-script.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AAEH,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAErF,MAAM,+BAA+B,GACnC,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,sCAAsC,CAAC;AAEzC;;;;GAIG;AACH,SAAS,qBAAqB;IAC5B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,yBAAyB,EAAE,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,SAAS,OAAO,eAAe,QAAQ,MAAM,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,uBAAuB;IAC9B,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,yBAAyB,EAAE,EAAE,CAAC;QAC3D,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IAC/B,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAClD,OAAO;QACL,2DAA2D;QAC3D,0DAA0D;QAC1D,cAAc,UAAU,cAAc;QACtC,yEAAyE;QACzE,WAAW;QACX,kBAAkB,MAAM,wDAAwD;QAChF,wDAAwD;QACxD,gFAAgF;KACjF,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAAC,aAAqB,EAAE,cAAsB;IAC9E,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,gBAAgB,GAAG,qBAAqB,EAAE,CAAC;IACjD,MAAM,kBAAkB,GAAG,uBAAuB,EAAE,CAAC;IACrD,OAAO;;;;;;;;;;;;;cAaK,aAAa;eACZ,cAAc;;;;;;;;;YASjB,OAAO,CAAC,QAAQ;2EAC+C,kBAAkB;;;;;;;;;;;;;;;iBAe5E,aAAa;;;;;;EAM5B,gBAAgB;;;;;;;;;gDAS8B,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;gDA2B/B,+BAA+B;;;;;;;;;;;;;;;;;;;;;kDAqB7B,+BAA+B;;;;;;;;;;;CAWhF,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"hook-script.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/hook-script.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AAEH,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAErF,MAAM,+BAA+B,GACnC,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,sCAAsC,CAAC;AAEzC;;;;GAIG;AACH,SAAS,qBAAqB;IAC5B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,yBAAyB,EAAE,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,SAAS,OAAO,eAAe,QAAQ,MAAM,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,uBAAuB;IAC9B,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,yBAAyB,EAAE,EAAE,CAAC;QAC3D,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IAC/B,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAClD,OAAO;QACL,2DAA2D;QAC3D,0DAA0D;QAC1D,cAAc,UAAU,cAAc;QACtC,yEAAyE;QACzE,WAAW;QACX,kBAAkB,MAAM,wDAAwD;QAChF,wDAAwD;QACxD,gFAAgF;KACjF,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,kBAAkB,CAChC,aAAqB,EACrB,cAAsB,EACtB,SAAiB;IAEjB,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,gBAAgB,GAAG,qBAAqB,EAAE,CAAC;IACjD,MAAM,kBAAkB,GAAG,uBAAuB,EAAE,CAAC;IACrD,OAAO;;;;;;;;;;;;;cAaK,aAAa;eACZ,cAAc;cACf,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA0CX,OAAO,CAAC,QAAQ;2EAC+C,kBAAkB;;;;;;;;;;;;;;;iBAe5E,aAAa;;;;;;EAM5B,gBAAgB;;;;;;;;;gDAS8B,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;gDA2B/B,+BAA+B;;;;;;;;;;;;;;;;;;;;;kDAqB7B,+BAA+B;;;;;;;;;;;CAWhF,CAAC;AACF,CAAC"}
@@ -48,10 +48,11 @@ import { backfillMcpServersIfNeeded } from "./connect-backfill.js";
48
48
  import { resolveExecutionEnv } from "./env-resolver.js";
49
49
  import { resolveBlueprint } from "./blueprint-resolver.js";
50
50
  import { buildCursorSubAgentDefinitions } from "./subagent-config.js";
51
- import { resolveSkills } from "./skill-resolver.js";
51
+ import { resolveSkills, removeStigmerSymlink } from "./skill-resolver.js";
52
52
  import { resolveAttachments } from "./attachment-resolver.js";
53
53
  import { buildEnhancedPrompt, buildReinvocationPrompt } from "./prompt-builder.js";
54
- import { writeHooksToWorkspace } from "./workspace-setup.js";
54
+ import { installHitlGate, removeHitlGate } from "./workspace-setup.js";
55
+ import { ensureHitlDir } from "../../shared/workspace/platform-dir.js";
55
56
  import { buildApprovalState, buildApprovalGrants, readDenialLedger, reconstructAdjudicatedApprovals } from "./approval-state.js";
56
57
  import { provisionCursorWorkspace } from "./workspace-provision.js";
57
58
  import { setInterceptorExecutionId, runWithExecutionContext } from "./fetch-interceptor.js";
@@ -106,6 +107,15 @@ async function executeCursorInner(config, client, executionId, threadId) {
106
107
  let pauseDetected = false;
107
108
  let workerShutdownDetected = false;
108
109
  let periodicHeartbeat;
110
+ // Session HITL directory (runner-owned, outside the workspace) where the hook
111
+ // script, approval-state file, and denial ledger live. Set once the gate is
112
+ // installed; the WAITING_FOR_APPROVAL path reads the denial ledger from here.
113
+ let hitlDir;
114
+ // Teardown for the HITL gate: restores the workspace's .cursor/hooks.json and
115
+ // removes the .stigmer symlink so attaching a real repo leaves it untouched
116
+ // (issue #173). Runs in the finally, covering every success/error/approval
117
+ // exit path. Undefined until the gate is installed.
118
+ let hitlCleanup;
109
119
  // Carries model/mode/agentId out to the outer catch so a thrown CursorSdkError
110
120
  // can be classified with the same context as the run.wait() error path.
111
121
  let errorContext = { model: "default", mode: "local", agentId: "" };
@@ -218,7 +228,36 @@ async function executeCursorInner(config, client, executionId, threadId) {
218
228
  // Phase 5b: Resolve attachments
219
229
  const attachmentResults = await resolveAttachments(spec.attachments, sessionId, primaryWorkspaceDir, config.mode);
220
230
  const attachmentPaths = attachmentResults.map((a) => a.relativePath);
221
- // Phase 5c: Ensure model pricing registry is populated before validation
231
+ // Phase 5c: Install the HITL approval gate BEFORE resolving the agent.
232
+ //
233
+ // The gate's runtime artifacts (hook script, approval-state file, denial
234
+ // ledger) live in the session HITL directory OUTSIDE the workspace; only a
235
+ // minimal, merged, transient .cursor/hooks.json is written into the repo,
236
+ // pointing at the hook script by absolute path. The hook is scoped to this
237
+ // runner's own process so the user's interactive IDE — sharing the same repo
238
+ // hooks.json — is never gated (issue #173). Installing here (rather than
239
+ // after agent create/resume) guarantees the hook is present no matter when
240
+ // the SDK reads hook config, and the finally restores the repo afterward.
241
+ //
242
+ // On reinvocation, turn the user's approvals into tool-identity grants so
243
+ // the resumed agent's re-attempt (which carries a fresh tool-call id) is
244
+ // allowed through.
245
+ hitlDir = await ensureHitlDir(sessionId);
246
+ const approvalGrants = approvalDecisions
247
+ ? buildApprovalGrants(adjudicatedApprovals, approvalDecisions)
248
+ : undefined;
249
+ const approvalState = buildApprovalState(mergedPolicies, effectiveAutoApproveAll, approvalGrants);
250
+ const hitlGate = await installHitlGate({
251
+ workspaceRoot: primaryWorkspaceDir,
252
+ hitlDir,
253
+ approvalState,
254
+ runnerPid: process.pid,
255
+ });
256
+ hitlCleanup = async () => {
257
+ await removeHitlGate(hitlGate);
258
+ await removeStigmerSymlink(primaryWorkspaceDir);
259
+ };
260
+ // Phase 5d: Ensure model pricing registry is populated before validation
222
261
  await ensurePricingLoaded();
223
262
  // Phase 6: Validate model selection
224
263
  const requestedModel = spec.executionConfig?.modelName || "default";
@@ -274,14 +313,7 @@ async function executeCursorInner(config, client, executionId, threadId) {
274
313
  `agentId=${resolution.agentId}, resumed=${resolution.resumed}` +
275
314
  (resolution.resumeFailureDetail ? `, failureDetail=${resolution.resumeFailureDetail}` : ""));
276
315
  errorContext = { model: validatedModel, mode: agentMode, agentId: resolution.agentId };
277
- // Phase 8: Write hooks for HITL with policy-aware state. On reinvocation,
278
- // turn the user's approvals into tool-identity grants so the resumed agent's
279
- // re-attempt (which carries a fresh tool-call id) is allowed through.
280
- const approvalGrants = approvalDecisions
281
- ? buildApprovalGrants(adjudicatedApprovals, approvalDecisions)
282
- : undefined;
283
- const approvalState = buildApprovalState(mergedPolicies, effectiveAutoApproveAll, approvalGrants);
284
- await writeHooksToWorkspace(primaryWorkspaceDir, approvalState);
316
+ // (HITL approval gate already installed in Phase 5c, before agent resolution.)
285
317
  // Phase 9: Store new agentId as harness_state_id and persist cursor_mode
286
318
  if (resolution.isNew && resolution.agentId) {
287
319
  try {
@@ -578,7 +610,7 @@ async function executeCursorInner(config, client, executionId, threadId) {
578
610
  // harness — the approval surface is driven entirely by tool-call status. We
579
611
  // deliberately do NOT set status.pendingApprovals here: any value would be
580
612
  // discarded by the backend's recompute on the next updateStatus.
581
- const deniedLedger = await readDenialLedger(primaryWorkspaceDir);
613
+ const deniedLedger = await readDenialLedger(hitlDir ?? "");
582
614
  const deniedToolCalls = reconcileDeniedToolCalls(status.messages, deniedLedger, mergedPolicies);
583
615
  if (deniedToolCalls.length > 0) {
584
616
  status.phase = ExecutionPhase.EXECUTION_WAITING_FOR_APPROVAL;
@@ -1006,6 +1038,22 @@ async function executeCursorInner(config, client, executionId, threadId) {
1006
1038
  }
1007
1039
  return slimStatus(status);
1008
1040
  }
1041
+ finally {
1042
+ // Tear down the HITL gate on EVERY exit path (success, error, approval
1043
+ // pause, cancellation) so attaching a real repo leaves the user's
1044
+ // .cursor/hooks.json and workspace untouched between turns (issue #173).
1045
+ // Best-effort: a leftover hooks.json is inert because the scope guard
1046
+ // allows all invocations once this runner PID is gone.
1047
+ if (hitlCleanup) {
1048
+ try {
1049
+ await hitlCleanup();
1050
+ }
1051
+ catch (cleanupErr) {
1052
+ console.warn(`ExecuteCursor HITL gate teardown failed (non-fatal): ` +
1053
+ `execution=${executionId}, error=${cleanupErr instanceof Error ? cleanupErr.message : cleanupErr}`);
1054
+ }
1055
+ }
1056
+ }
1009
1057
  }
1010
1058
  // ---------------------------------------------------------------------------
1011
1059
  // Structured Output Extraction (Cursor Harness Tier 2)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/index.ts"],"names":[],"mappings":"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"}