@tryglen/cli 0.36.0 → 0.36.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 (221) hide show
  1. package/README.md +39 -27
  2. package/dist/_utils/agent-adapter.d.ts +0 -15
  3. package/dist/_utils/agent-adapter.js +0 -20
  4. package/dist/_utils/agent-adapter.js.map +1 -1
  5. package/dist/_utils/agents-table.js +1 -9
  6. package/dist/_utils/agents-table.js.map +1 -1
  7. package/dist/_utils/cli-error.js +0 -3
  8. package/dist/_utils/cli-error.js.map +1 -1
  9. package/dist/_utils/codex-app-server.js +0 -2
  10. package/dist/_utils/codex-app-server.js.map +1 -1
  11. package/dist/_utils/codex-hooks-merge.js +0 -11
  12. package/dist/_utils/codex-hooks-merge.js.map +1 -1
  13. package/dist/_utils/codex-hooks-setup.js +0 -18
  14. package/dist/_utils/codex-hooks-setup.js.map +1 -1
  15. package/dist/_utils/codex-paths.js +0 -3
  16. package/dist/_utils/codex-paths.js.map +1 -1
  17. package/dist/_utils/codex-repair-trace.js +0 -3
  18. package/dist/_utils/codex-repair-trace.js.map +1 -1
  19. package/dist/_utils/codex-trust-toml.js +1 -9
  20. package/dist/_utils/codex-trust-toml.js.map +1 -1
  21. package/dist/_utils/collect-import-files.js +0 -7
  22. package/dist/_utils/collect-import-files.js.map +1 -1
  23. package/dist/_utils/config.js +0 -4
  24. package/dist/_utils/config.js.map +1 -1
  25. package/dist/_utils/confirm.js +2 -10
  26. package/dist/_utils/confirm.js.map +1 -1
  27. package/dist/_utils/credentials.js +0 -3
  28. package/dist/_utils/credentials.js.map +1 -1
  29. package/dist/_utils/detect-transcript-format.js +0 -7
  30. package/dist/_utils/detect-transcript-format.js.map +1 -1
  31. package/dist/_utils/ensure-global-cli.d.ts +0 -12
  32. package/dist/_utils/ensure-global-cli.js +1 -28
  33. package/dist/_utils/ensure-global-cli.js.map +1 -1
  34. package/dist/_utils/ephemeral-session.js +3 -24
  35. package/dist/_utils/ephemeral-session.js.map +1 -1
  36. package/dist/_utils/extract-claude-segments.js +1 -5
  37. package/dist/_utils/extract-claude-segments.js.map +1 -1
  38. package/dist/_utils/extract-codex-segments.js +0 -9
  39. package/dist/_utils/extract-codex-segments.js.map +1 -1
  40. package/dist/_utils/extract-pi-segments.js +1 -5
  41. package/dist/_utils/extract-pi-segments.js.map +1 -1
  42. package/dist/_utils/find-bin.js +0 -8
  43. package/dist/_utils/find-bin.js.map +1 -1
  44. package/dist/_utils/format-search-result.js +3 -19
  45. package/dist/_utils/format-search-result.js.map +1 -1
  46. package/dist/_utils/format-turn-nudges.js +2 -20
  47. package/dist/_utils/format-turn-nudges.js.map +1 -1
  48. package/dist/_utils/git-context.d.ts +0 -2
  49. package/dist/_utils/git-context.js +1 -33
  50. package/dist/_utils/git-context.js.map +1 -1
  51. package/dist/_utils/git-hook-setup.js +0 -1
  52. package/dist/_utils/git-hook-setup.js.map +1 -1
  53. package/dist/_utils/glen-headers.js +1 -4
  54. package/dist/_utils/glen-headers.js.map +1 -1
  55. package/dist/_utils/http.js +1 -8
  56. package/dist/_utils/http.js.map +1 -1
  57. package/dist/_utils/idempotency-key.js +1 -4
  58. package/dist/_utils/idempotency-key.js.map +1 -1
  59. package/dist/_utils/indicator-app.js +4 -26
  60. package/dist/_utils/indicator-app.js.map +1 -1
  61. package/dist/_utils/indicator-health.js +0 -6
  62. package/dist/_utils/indicator-health.js.map +1 -1
  63. package/dist/_utils/ingest-diagnosis.js +0 -5
  64. package/dist/_utils/ingest-diagnosis.js.map +1 -1
  65. package/dist/_utils/ingest-heartbeat.js +1 -6
  66. package/dist/_utils/ingest-heartbeat.js.map +1 -1
  67. package/dist/_utils/install-receipt.js +0 -3
  68. package/dist/_utils/install-receipt.js.map +1 -1
  69. package/dist/_utils/jcode-bundle.js +0 -7
  70. package/dist/_utils/jcode-bundle.js.map +1 -1
  71. package/dist/_utils/jcode-event.js +2 -18
  72. package/dist/_utils/jcode-event.js.map +1 -1
  73. package/dist/_utils/jcode-hook-lines.js +1 -5
  74. package/dist/_utils/jcode-hook-lines.js.map +1 -1
  75. package/dist/_utils/jcode-hooks-toml.js +1 -9
  76. package/dist/_utils/jcode-hooks-toml.js.map +1 -1
  77. package/dist/_utils/jcode-paths.js +0 -3
  78. package/dist/_utils/jcode-paths.js.map +1 -1
  79. package/dist/_utils/jcode-setup.js +0 -7
  80. package/dist/_utils/jcode-setup.js.map +1 -1
  81. package/dist/_utils/jcode-skills-sync.js +1 -6
  82. package/dist/_utils/jcode-skills-sync.js.map +1 -1
  83. package/dist/_utils/login-check.js +1 -4
  84. package/dist/_utils/login-check.js.map +1 -1
  85. package/dist/_utils/managed-block.js +0 -4
  86. package/dist/_utils/managed-block.js.map +1 -1
  87. package/dist/_utils/normalize-boolean-flags.js +2 -7
  88. package/dist/_utils/normalize-boolean-flags.js.map +1 -1
  89. package/dist/_utils/open-browser.js +1 -3
  90. package/dist/_utils/open-browser.js.map +1 -1
  91. package/dist/_utils/parse-claude-transcript.js +4 -24
  92. package/dist/_utils/parse-claude-transcript.js.map +1 -1
  93. package/dist/_utils/parse-codex-transcript.js +1 -22
  94. package/dist/_utils/parse-codex-transcript.js.map +1 -1
  95. package/dist/_utils/parse-cursor-db.js +2 -21
  96. package/dist/_utils/parse-cursor-db.js.map +1 -1
  97. package/dist/_utils/parse-jcode-session.js +0 -15
  98. package/dist/_utils/parse-jcode-session.js.map +1 -1
  99. package/dist/_utils/parse-pi-transcript.js +1 -35
  100. package/dist/_utils/parse-pi-transcript.js.map +1 -1
  101. package/dist/_utils/parse-transcript.js +1 -9
  102. package/dist/_utils/parse-transcript.js.map +1 -1
  103. package/dist/_utils/plugin-status.js +0 -19
  104. package/dist/_utils/plugin-status.js.map +1 -1
  105. package/dist/_utils/post-route.js +0 -7
  106. package/dist/_utils/post-route.js.map +1 -1
  107. package/dist/_utils/pr-review-link.js +0 -2
  108. package/dist/_utils/pr-review-link.js.map +1 -1
  109. package/dist/_utils/proactive-ticket-log.js +1 -11
  110. package/dist/_utils/proactive-ticket-log.js.map +1 -1
  111. package/dist/_utils/record-commit-anchor.js +1 -8
  112. package/dist/_utils/record-commit-anchor.js.map +1 -1
  113. package/dist/_utils/refresh-control-state.js +1 -7
  114. package/dist/_utils/refresh-control-state.js.map +1 -1
  115. package/dist/_utils/render-callback-page.js +0 -7
  116. package/dist/_utils/render-callback-page.js.map +1 -1
  117. package/dist/_utils/resolve-import-workspace.d.ts +0 -7
  118. package/dist/_utils/resolve-import-workspace.js +1 -13
  119. package/dist/_utils/resolve-import-workspace.js.map +1 -1
  120. package/dist/_utils/run-bin.js +0 -2
  121. package/dist/_utils/run-bin.js.map +1 -1
  122. package/dist/_utils/session-map.js +0 -5
  123. package/dist/_utils/session-map.js.map +1 -1
  124. package/dist/_utils/shell-profile.js +1 -28
  125. package/dist/_utils/shell-profile.js.map +1 -1
  126. package/dist/_utils/state-line-memo.d.ts +0 -6
  127. package/dist/_utils/state-line-memo.js +3 -18
  128. package/dist/_utils/state-line-memo.js.map +1 -1
  129. package/dist/_utils/state-line.js +0 -4
  130. package/dist/_utils/state-line.js.map +1 -1
  131. package/dist/_utils/state.js +0 -5
  132. package/dist/_utils/state.js.map +1 -1
  133. package/dist/_utils/sync-mode-from-server.d.ts +0 -18
  134. package/dist/_utils/sync-mode-from-server.js +2 -21
  135. package/dist/_utils/sync-mode-from-server.js.map +1 -1
  136. package/dist/_utils/transcript-turns.js +1 -51
  137. package/dist/_utils/transcript-turns.js.map +1 -1
  138. package/dist/_utils/turn-cache.js +1 -8
  139. package/dist/_utils/turn-cache.js.map +1 -1
  140. package/dist/_utils/update.d.ts +0 -10
  141. package/dist/_utils/update.js +8 -30
  142. package/dist/_utils/update.js.map +1 -1
  143. package/dist/_utils/version.js +3 -6
  144. package/dist/_utils/version.js.map +1 -1
  145. package/dist/_utils/which.d.ts +0 -5
  146. package/dist/_utils/which.js +0 -5
  147. package/dist/_utils/which.js.map +1 -1
  148. package/dist/_utils/write-commit-trailer.js +1 -5
  149. package/dist/_utils/write-commit-trailer.js.map +1 -1
  150. package/dist/bin.js +6 -25
  151. package/dist/bin.js.map +1 -1
  152. package/dist/commands/_utils/materialize-skill.js +4 -34
  153. package/dist/commands/_utils/materialize-skill.js.map +1 -1
  154. package/dist/commands/_utils/pack-skill-dir.js +6 -27
  155. package/dist/commands/_utils/pack-skill-dir.js.map +1 -1
  156. package/dist/commands/artifact.js +2 -5
  157. package/dist/commands/artifact.js.map +1 -1
  158. package/dist/commands/code-search.js +0 -6
  159. package/dist/commands/code-search.js.map +1 -1
  160. package/dist/commands/doctor.d.ts +0 -17
  161. package/dist/commands/doctor.js +15 -79
  162. package/dist/commands/doctor.js.map +1 -1
  163. package/dist/commands/feedback.js +2 -10
  164. package/dist/commands/feedback.js.map +1 -1
  165. package/dist/commands/git-hooks.js +0 -3
  166. package/dist/commands/git-hooks.js.map +1 -1
  167. package/dist/commands/import.js +5 -27
  168. package/dist/commands/import.js.map +1 -1
  169. package/dist/commands/incognito.d.ts +0 -5
  170. package/dist/commands/incognito.js +0 -5
  171. package/dist/commands/incognito.js.map +1 -1
  172. package/dist/commands/indicator.d.ts +0 -1
  173. package/dist/commands/indicator.js +0 -1
  174. package/dist/commands/indicator.js.map +1 -1
  175. package/dist/commands/ingest.js +37 -111
  176. package/dist/commands/ingest.js.map +1 -1
  177. package/dist/commands/install.js +7 -93
  178. package/dist/commands/install.js.map +1 -1
  179. package/dist/commands/invite.d.ts +0 -6
  180. package/dist/commands/invite.js +0 -16
  181. package/dist/commands/invite.js.map +1 -1
  182. package/dist/commands/login.js +0 -15
  183. package/dist/commands/login.js.map +1 -1
  184. package/dist/commands/onboard.js +0 -6
  185. package/dist/commands/onboard.js.map +1 -1
  186. package/dist/commands/org.js +0 -2
  187. package/dist/commands/org.js.map +1 -1
  188. package/dist/commands/pr-link.js +2 -15
  189. package/dist/commands/pr-link.js.map +1 -1
  190. package/dist/commands/search.js +0 -5
  191. package/dist/commands/search.js.map +1 -1
  192. package/dist/commands/session-start.d.ts +0 -21
  193. package/dist/commands/session-start.js +6 -65
  194. package/dist/commands/session-start.js.map +1 -1
  195. package/dist/commands/set-mode.d.ts +0 -6
  196. package/dist/commands/set-mode.js +2 -12
  197. package/dist/commands/set-mode.js.map +1 -1
  198. package/dist/commands/skill.js +5 -35
  199. package/dist/commands/skill.js.map +1 -1
  200. package/dist/commands/statusline.d.ts +0 -13
  201. package/dist/commands/statusline.js +0 -15
  202. package/dist/commands/statusline.js.map +1 -1
  203. package/dist/commands/suggestions.d.ts +0 -6
  204. package/dist/commands/suggestions.js +0 -7
  205. package/dist/commands/suggestions.js.map +1 -1
  206. package/dist/commands/takeover/_utils/agent-paths.js +2 -3
  207. package/dist/commands/takeover/_utils/agent-paths.js.map +1 -1
  208. package/dist/commands/takeover/_utils/cursor-store.js +1 -3
  209. package/dist/commands/takeover/_utils/cursor-store.js.map +1 -1
  210. package/dist/commands/takeover/_utils/write-codex-desktop-session.js +1 -4
  211. package/dist/commands/takeover/_utils/write-codex-desktop-session.js.map +1 -1
  212. package/dist/commands/takeover/_utils/write-codex-session.js +1 -2
  213. package/dist/commands/takeover/_utils/write-codex-session.js.map +1 -1
  214. package/dist/commands/uninstall.d.ts +0 -1
  215. package/dist/commands/uninstall.js +3 -7
  216. package/dist/commands/uninstall.js.map +1 -1
  217. package/dist/commands/update.d.ts +0 -10
  218. package/dist/commands/update.js +4 -32
  219. package/dist/commands/update.js.map +1 -1
  220. package/dist/jcode/plugin.json +1 -1
  221. package/package.json +1 -1
@@ -33,7 +33,6 @@ const writeCredentials = async (creds) => {
33
33
  const mkdirResult = await fromPromise(mkdir(dir, { recursive: true, mode: 0o700 }));
34
34
  if (!mkdirResult.ok)
35
35
  return mkdirResult;
36
- // pid-suffixed so concurrent writers never clobber each other's tmp file.
37
36
  const tmpPath = `${filePath}.${process.pid}.tmp`;
38
37
  const json = JSON.stringify(creds, null, 2);
39
38
  const writeResult = await fromPromise(writeFile(tmpPath, json, { mode: 0o600 }));
@@ -47,8 +46,6 @@ const writeCredentials = async (creds) => {
47
46
  return renameResult;
48
47
  return { ok: true, value: undefined };
49
48
  };
50
- // ENOENT counts as success (nothing to clear); any other failure is returned
51
- // so the caller can tell the user the file is still on disk.
52
49
  const clearCredentials = async () => {
53
50
  const r = await fromPromise(unlink(credentialsPath()));
54
51
  if (!r.ok && r.error.code !== "ENOENT")
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/_utils/credentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/_utils/credentials.ts"],"names":[],"mappings":"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"}
@@ -16,13 +16,6 @@ const CODEX_ENVELOPE_TYPES = new Set([
16
16
  "turn_context",
17
17
  "compacted",
18
18
  ]);
19
- // Sniff which agent wrote a transcript file. Cursor is identified by its
20
- // SQLite container; the JSONL formats are told apart by their envelopes:
21
- // Claude Code lines carry uuid/parentUuid tree fields, Codex rollout lines a
22
- // {timestamp, type, payload} wrapper (or, pre-envelope, bare Responses-API
23
- // message items with input_text/output_text parts), and pi session files a
24
- // {type:"session", version, cwd} header plus id/parentId entries wrapping a
25
- // nested message object.
26
19
  const detectTranscriptFormat = (filePath, sampleLines) => {
27
20
  if (filePath.endsWith(".vscdb"))
28
21
  return "cursor";
@@ -1 +1 @@
1
- {"version":3,"file":"detect-transcript-format.js","sourceRoot":"","sources":["../../src/_utils/detect-transcript-format.ts"],"names":[],"mappings":"AAEA,MAAM,SAAS,GAAG,CAAC,IAAY,EAAgB,EAAE;IAC/C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QAC3C,OAAO,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;YAClD,CAAC,CAAE,MAAgB;YACnB,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,cAAc;IACd,eAAe;IACf,WAAW;IACX,cAAc;IACd,WAAW;CACZ,CAAC,CAAC;AAEH,yEAAyE;AACzE,yEAAyE;AACzE,6EAA6E;AAC7E,2EAA2E;AAC3E,2EAA2E;AAC3E,4EAA4E;AAC5E,yBAAyB;AACzB,MAAM,sBAAsB,GAAG,CAC7B,QAAgB,EAChB,WAA8B,EAC8B,EAAE;IAC9D,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjD,OAAO,CACL,WAAW;SACR,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,GAAG,CAAC,SAAS,CAAC;SACd,MAAM,CAAC,CAAC,CAAC,EAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;SACrC,GAAG,CAAC,CAAC,CAAC,EAAyC,EAAE;QAChD,IAAI,YAAY,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC;YAAE,OAAO,aAAa,CAAC;QAC/D,IACE,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;YAC/B,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;YAErE,OAAO,aAAa,CAAC;QACvB,IACE,CAAC,CAAC,IAAI,KAAK,SAAS;YACpB,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;YAC7B,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ;YAEzB,OAAO,IAAI,CAAC;QACd,IACE,CAAC,CAAC,IAAI,KAAK,SAAS;YACpB,UAAU,IAAI,CAAC;YACf,CAAC,CAAC,OAAO,KAAK,IAAI;YAClB,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;YAE7B,OAAO,IAAI,CAAC;QACd,IACE,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;YAC1B,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAChC,SAAS,IAAI,CAAC;YAEd,OAAO,OAAO,CAAC;QACjB,IACE,CAAC,CAAC,IAAI,KAAK,SAAS;YACpB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YACxB,CAAC,CAAC,OAAO,CAAC,IAAI,CACZ,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,KAAK,IAAI;gBACV,OAAO,CAAC,KAAK,QAAQ;gBACrB,CAAE,CAAW,CAAC,IAAI,KAAK,YAAY;oBAChC,CAAW,CAAC,IAAI,KAAK,aAAa,CAAC,CACzC;YAED,OAAO,OAAO,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CACnC,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"detect-transcript-format.js","sourceRoot":"","sources":["../../src/_utils/detect-transcript-format.ts"],"names":[],"mappings":"AAEA,MAAM,SAAS,GAAG,CAAC,IAAY,EAAgB,EAAE;IAC/C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QAC3C,OAAO,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;YAClD,CAAC,CAAE,MAAgB;YACnB,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,cAAc;IACd,eAAe;IACf,WAAW;IACX,cAAc;IACd,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,CAC7B,QAAgB,EAChB,WAA8B,EAC8B,EAAE;IAC9D,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjD,OAAO,CACL,WAAW;SACR,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,GAAG,CAAC,SAAS,CAAC;SACd,MAAM,CAAC,CAAC,CAAC,EAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;SACrC,GAAG,CAAC,CAAC,CAAC,EAAyC,EAAE;QAChD,IAAI,YAAY,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC;YAAE,OAAO,aAAa,CAAC;QAC/D,IACE,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;YAC/B,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;YAErE,OAAO,aAAa,CAAC;QACvB,IACE,CAAC,CAAC,IAAI,KAAK,SAAS;YACpB,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;YAC7B,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ;YAEzB,OAAO,IAAI,CAAC;QACd,IACE,CAAC,CAAC,IAAI,KAAK,SAAS;YACpB,UAAU,IAAI,CAAC;YACf,CAAC,CAAC,OAAO,KAAK,IAAI;YAClB,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;YAE7B,OAAO,IAAI,CAAC;QACd,IACE,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;YAC1B,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAChC,SAAS,IAAI,CAAC;YAEd,OAAO,OAAO,CAAC;QACjB,IACE,CAAC,CAAC,IAAI,KAAK,SAAS;YACpB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YACxB,CAAC,CAAC,OAAO,CAAC,IAAI,CACZ,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,KAAK,IAAI;gBACV,OAAO,CAAC,KAAK,QAAQ;gBACrB,CAAE,CAAW,CAAC,IAAI,KAAK,YAAY;oBAChC,CAAW,CAAC,IAAI,KAAK,aAAa,CAAC,CACzC;YAED,OAAO,OAAO,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CACnC,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -11,17 +11,5 @@ type Outcome = {
11
11
  readonly permission: boolean;
12
12
  readonly hadExisting: boolean;
13
13
  };
14
- /**
15
- * Make sure a current, PERSISTENT `glen` binary is reachable on PATH,
16
- * installing or updating it globally via npm when it isn't. `npx
17
- * @tryglen/cli install` runs this CLI from npx's transient cache without ever
18
- * linking a global binary — without this step the plugins' hooks would have
19
- * no `glen` to call and silently do nothing. We deliberately ignore npx's own
20
- * ephemeral shim (see persistentGlenPath) so a fresh machine always gets a
21
- * real global install.
22
- *
23
- * `onInstallStart(hadExisting)` fires just before the (slow) npm install so
24
- * the caller can print a progress line first.
25
- */
26
14
  declare const ensureGlobalCli: (onInstallStart?: (hadExisting: boolean) => void) => Outcome;
27
15
  export { ensureGlobalCli };
@@ -4,11 +4,7 @@ import { basename, dirname, isAbsolute, join } from "node:path";
4
4
  import { newer } from "./update.js";
5
5
  import { cliVersion } from "./version.js";
6
6
  import { isInstalled } from "./which.js";
7
- // True when a path is an npx/transient package-runner shim — by its literal
8
- // path (`…/_npx/…`, the cheap fast path) or by its resolved realpath (a
9
- // symlink on PATH that points into the npx cache). npx runs this CLI from
10
- // such a shim, which vanishes on exit; treating it as a real global would
11
- // skip the global install a fresh machine needs.
7
+ // npx runs this CLI from a shim that vanishes on exit; counting it as a real global would skip the install a fresh machine needs.
12
8
  const isEphemeralRunnerPath = (candidate) => {
13
9
  if (candidate.includes("/_npx/"))
14
10
  return true;
@@ -19,14 +15,6 @@ const isEphemeralRunnerPath = (candidate) => {
19
15
  return false;
20
16
  }
21
17
  };
22
- /**
23
- * Path to a PERSISTENT global `glen` on PATH, or null when the only matches
24
- * are npx's transient shims. `npx @tryglen/cli install` runs this CLI from
25
- * `~/.npm/_npx/<hash>/…/glen`, on PATH *only* while npx runs — it vanishes on
26
- * exit, leaving the agents' hooks (which call bare `glen`) with nothing to
27
- * run. We list every PATH match with `which -a` and ignore any ephemeral
28
- * runner shim (by literal path or resolved realpath).
29
- */
30
18
  const persistentGlenPath = () => {
31
19
  try {
32
20
  const out = execFileSync("which", ["-a", "glen"], {
@@ -42,7 +30,6 @@ const persistentGlenPath = () => {
42
30
  return null;
43
31
  }
44
32
  };
45
- /** Version reported by the `glen` at `glenPath`, or null when unreadable. */
46
33
  const versionAt = (glenPath) => {
47
34
  try {
48
35
  const out = execFileSync(glenPath, ["--version"], {
@@ -98,24 +85,10 @@ const installGlobally = (target) => {
98
85
  };
99
86
  }
100
87
  };
101
- /**
102
- * Make sure a current, PERSISTENT `glen` binary is reachable on PATH,
103
- * installing or updating it globally via npm when it isn't. `npx
104
- * @tryglen/cli install` runs this CLI from npx's transient cache without ever
105
- * linking a global binary — without this step the plugins' hooks would have
106
- * no `glen` to call and silently do nothing. We deliberately ignore npx's own
107
- * ephemeral shim (see persistentGlenPath) so a fresh machine always gets a
108
- * real global install.
109
- *
110
- * `onInstallStart(hadExisting)` fires just before the (slow) npm install so
111
- * the caller can print a progress line first.
112
- */
113
88
  const ensureGlobalCli = (onInstallStart) => {
114
89
  const existing = persistentGlenPath();
115
90
  if (existing) {
116
91
  const version = versionAt(existing);
117
- // Up to date (or ahead, e.g. a dev build) — nothing to do. A stale or
118
- // unreadable version falls through to a reinstall.
119
92
  if (version && !newer(cliVersion, version))
120
93
  return { status: "present" };
121
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-global-cli.js","sourceRoot":"","sources":["../../src/_utils/ensure-global-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ensure-global-cli.js","sourceRoot":"","sources":["../../src/_utils/ensure-global-cli.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,6 @@
1
- // Machine-spawned ephemeral sessions must be invisible to glen. Fleet drivers
2
- // (e.g. Codex app-server `thread/start { ephemeral: true }`) open a fresh
3
- // session per spawned agent; injecting context there leaks "[glen] …" lines
4
- // into the spawned thread's streamed output — a parent orchestrator reads
5
- // them as a fake system directive in the thread's "result" and voids the
6
- // run — and ingesting them floods team memory with one-shot machine turns
7
- // (July 7 2026 Composio incident: 69 junk conversations in one night).
8
- //
9
- // SIGNAL — empirically verified on Codex 0.143.0 (see the harness in the PR
10
- // description). The `ephemeral` flag is a `thread/start` PARAMETER; it does
11
- // NOT propagate into the hook payload, so we can't read it. What DOES differ
12
- // is `transcript_path`:
13
- // - normal Codex session (codex exec, app-server ephemeral:false) → a real
14
- // rollout file path
15
- // - ephemeral app-server thread (ephemeral:true, in-memory only) → null
16
- // So for Codex, `transcript_path === null` is the reliable — and only —
17
- // ephemeral marker. It is scoped to `agent === "codex"`: Claude Code always
18
- // has a transcript file, and Cursor payloads legitimately carry a null
19
- // transcript (gating them would wrongly silence Cursor).
20
- //
21
- // The check is `=== null` (present-and-null), never absent: an older Codex
22
- // that omits the key entirely fails open to normal behavior. We also honor an
23
- // explicit `ephemeral: true` from any agent, so a future harness that states
24
- // it outright is covered without a code change.
1
+ // For Codex, transcript_path === null is the only ephemeral marker (the ephemeral flag isn't in the hook payload).
2
+ // Codex only: Cursor legitimately sends null transcripts. Check present-and-null so an older Codex without the key fails open.
3
+ // Injecting into ephemeral threads breaks the parent orchestrator; ingesting them floods memory with junk.
25
4
  const isEphemeralSession = (agent, event) => {
26
5
  if (!event)
27
6
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"ephemeral-session.js","sourceRoot":"","sources":["../../src/_utils/ephemeral-session.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,0EAA0E;AAC1E,4EAA4E;AAC5E,0EAA0E;AAC1E,yEAAyE;AACzE,0EAA0E;AAC1E,uEAAuE;AACvE,EAAE;AACF,4EAA4E;AAC5E,4EAA4E;AAC5E,6EAA6E;AAC7E,wBAAwB;AACxB,8EAA8E;AAC9E,wBAAwB;AACxB,4EAA4E;AAC5E,wEAAwE;AACxE,4EAA4E;AAC5E,uEAAuE;AACvE,yDAAyD;AACzD,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,6EAA6E;AAC7E,gDAAgD;AAChD,MAAM,kBAAkB,GAAG,CACzB,KAAyB,EACzB,KAAqC,EAC5B,EAAE;IACX,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC;AAC7D,CAAC,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"ephemeral-session.js","sourceRoot":"","sources":["../../src/_utils/ephemeral-session.ts"],"names":[],"mappings":"AAAA,mHAAmH;AACnH,+HAA+H;AAC/H,2GAA2G;AAC3G,MAAM,kBAAkB,GAAG,CACzB,KAAyB,EACzB,KAAqC,EAC5B,EAAE;IACX,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC;AAC7D,CAAC,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,6 +1,4 @@
1
1
  const str = (v) => (typeof v === "string" ? v : "");
2
- // A Claude tool_result's `content` is a string OR an array of {type:"text",text}
3
- // blocks — flatten to a string projection.
4
2
  const resultText = (content) => {
5
3
  if (typeof content === "string")
6
4
  return content;
@@ -35,11 +33,9 @@ const blockToSegment = (b) => {
35
33
  },
36
34
  };
37
35
  default:
38
- return null; // images/unknown block kinds are not conversation segments
36
+ return null;
39
37
  }
40
38
  };
41
- // Map one Claude message's content into ordered segments. A plain-string content
42
- // (typical human prompt) becomes a single text segment.
43
39
  export const extractClaudeSegments = (message) => {
44
40
  const content = message.content;
45
41
  if (typeof content === "string")
@@ -1 +1 @@
1
- {"version":3,"file":"extract-claude-segments.js","sourceRoot":"","sources":["../../src/_utils/extract-claude-segments.ts"],"names":[],"mappings":"AAIA,MAAM,GAAG,GAAG,CAAC,CAAU,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAErE,iFAAiF;AACjF,2CAA2C;AAC3C,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAU,EAAE;IAC9C,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,OAAO,OAAO;aACX,MAAM,CACL,CAAC,CAAC,EAAyB,EAAE,CAAC,OAAQ,CAAW,EAAE,IAAI,KAAK,QAAQ,CACrE;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,CAAQ,EAAkB,EAAE;IAClD,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,KAAK,UAAU;YACb,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CACzE,CAAC,EACD,GAAG,CACJ;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE;aACnE,CAAC;QACJ,KAAK,aAAa;YAChB,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBACzC,WAAW,EAAE;oBACX,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;oBAC9B,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC7B,OAAO,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI;oBAC5B,GAAG,EAAE,CAAC;iBACP;aACF,CAAC;QACJ;YACE,OAAO,IAAI,CAAC,CAAC,2DAA2D;IAC5E,CAAC;AACH,CAAC,CAAC;AAEF,iFAAiF;AACjF,wDAAwD;AACxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,OAAgC,EACrB,EAAE;IACb,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAU,CAAC,CAAC;SACtC,MAAM,CAAC,CAAC,CAAC,EAAgB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC"}
1
+ {"version":3,"file":"extract-claude-segments.js","sourceRoot":"","sources":["../../src/_utils/extract-claude-segments.ts"],"names":[],"mappings":"AAIA,MAAM,GAAG,GAAG,CAAC,CAAU,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAErE,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAU,EAAE;IAC9C,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,OAAO,OAAO;aACX,MAAM,CACL,CAAC,CAAC,EAAyB,EAAE,CAAC,OAAQ,CAAW,EAAE,IAAI,KAAK,QAAQ,CACrE;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,CAAQ,EAAkB,EAAE;IAClD,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,KAAK,UAAU;YACb,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CACzE,CAAC,EACD,GAAG,CACJ;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE;aACnE,CAAC;QACJ,KAAK,aAAa;YAChB,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBACzC,WAAW,EAAE;oBACX,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;oBAC9B,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC7B,OAAO,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI;oBAC5B,GAAG,EAAE,CAAC;iBACP;aACF,CAAC;QACJ;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,OAAgC,EACrB,EAAE;IACb,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAU,CAAC,CAAC;SACtC,MAAM,CAAC,CAAC,CAAC,EAAgB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC"}
@@ -1,7 +1,4 @@
1
1
  const str = (v) => (typeof v === "string" ? v : "");
2
- // A Responses-API message item's content: `input_text` (user) / `output_text`
3
- // (assistant) parts are conversation text; other part kinds (images,
4
- // refusals) are not.
5
2
  const messageText = (content) => {
6
3
  if (!Array.isArray(content))
7
4
  return "";
@@ -14,8 +11,6 @@ const messageText = (content) => {
14
11
  .map((p) => p.text)
15
12
  .join("\n");
16
13
  };
17
- // A `reasoning` item carries either a flat `text` or a `summary` array of
18
- // {text} parts, depending on Codex version.
19
14
  const reasoningText = (item) => {
20
15
  if (typeof item.text === "string")
21
16
  return item.text;
@@ -28,10 +23,6 @@ const reasoningText = (item) => {
28
23
  .join("\n");
29
24
  return "";
30
25
  };
31
- // Map one Codex Responses-API item into ordered segments. `message` items
32
- // yield a text segment; `reasoning` yields thinking; `function_call`/
33
- // `function_call_output` yield tool_call/tool_result, keeping the raw item
34
- // under jsonContent.raw so nothing is lost.
35
26
  export const extractCodexSegments = (item) => {
36
27
  switch (item.type) {
37
28
  case "message": {
@@ -1 +1 @@
1
- {"version":3,"file":"extract-codex-segments.js","sourceRoot":"","sources":["../../src/_utils/extract-codex-segments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract-codex-segments.js","sourceRoot":"","sources":["../../src/_utils/extract-codex-segments.ts"],"names":[],"mappings":"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"}
@@ -17,13 +17,9 @@ const blockToSegment = (b) => {
17
17
  },
18
18
  };
19
19
  default:
20
- return null; // unknown block kinds are not conversation segments
20
+ return null;
21
21
  }
22
22
  };
23
- // Map one pi message's content into ordered segments. A plain-string content
24
- // (typical human prompt) becomes a single text segment. Pi's toolResult/
25
- // bashExecution are separate ENTRY types, not content blocks here — the
26
- // parser lifts those onto the preceding assistant message's segments.
27
23
  export const extractPiSegments = (message) => {
28
24
  const content = message.content;
29
25
  if (typeof content === "string")
@@ -1 +1 @@
1
- {"version":3,"file":"extract-pi-segments.js","sourceRoot":"","sources":["../../src/_utils/extract-pi-segments.ts"],"names":[],"mappings":"AAIA,MAAM,GAAG,GAAG,CAAC,CAAU,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAErE,MAAM,cAAc,GAAG,CAAC,CAAQ,EAAkB,EAAE;IAClD,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,KAAK,UAAU;YACb,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CACjF,CAAC,EACD,GAAG,CACJ;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;oBACjB,KAAK,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;oBAC1B,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrB,GAAG,EAAE,CAAC;iBACP;aACF,CAAC;QACJ;YACE,OAAO,IAAI,CAAC,CAAC,oDAAoD;IACrE,CAAC;AACH,CAAC,CAAC;AAEF,6EAA6E;AAC7E,yEAAyE;AACzE,wEAAwE;AACxE,sEAAsE;AACtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAgC,EACrB,EAAE;IACb,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAU,CAAC,CAAC;SACtC,MAAM,CAAC,CAAC,CAAC,EAAgB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC"}
1
+ {"version":3,"file":"extract-pi-segments.js","sourceRoot":"","sources":["../../src/_utils/extract-pi-segments.ts"],"names":[],"mappings":"AAIA,MAAM,GAAG,GAAG,CAAC,CAAU,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAErE,MAAM,cAAc,GAAG,CAAC,CAAQ,EAAkB,EAAE;IAClD,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,KAAK,UAAU;YACb,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CACjF,CAAC,EACD,GAAG,CACJ;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;oBACjB,KAAK,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;oBAC1B,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrB,GAAG,EAAE,CAAC;iBACP;aACF,CAAC;QACJ;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAgC,EACrB,EAAE;IACb,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAU,CAAC,CAAC;SACtC,MAAM,CAAC,CAAC,CAAC,EAAgB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC"}
@@ -28,10 +28,6 @@ const readOverrides = () => {
28
28
  }
29
29
  };
30
30
  const BUNDLED_CODEX_PATH = "/Applications/ChatGPT.app/Contents/Resources/codex";
31
- // Codex Desktop (the macOS ChatGPT app) bundles a full codex CLI inside the
32
- // app bundle rather than on PATH. Checked as findBin's last resort so a
33
- // user-installed CLI always wins; GLEN_CODEX_DESKTOP_BIN overrides for
34
- // non-standard installs (same knob the desktop takeover flow honors).
35
31
  const desktopAppBin = (bin) => {
36
32
  if (bin !== "codex")
37
33
  return null;
@@ -45,10 +41,6 @@ const WELL_KNOWN_DIRS = [
45
41
  join(homedir(), ".local", "bin"),
46
42
  join(homedir(), "bin"),
47
43
  ];
48
- // Resolves an agent binary: persisted override → which → well-known macOS
49
- // dirs → login-shell PATH probe. Returns null when nothing works — the
50
- // caller owns the actionable "run `which codex` then
51
- // `glen install --codex-path <path>`" message.
52
44
  const findBin = (bin) => {
53
45
  // Only simple binary names — guards the shell-interpolated login probe and dir joins.
54
46
  if (!/^[A-Za-z0-9._-]+$/.test(bin))
@@ -1 +1 @@
1
- {"version":3,"file":"find-bin.js","sourceRoot":"","sources":["../../src/_utils/find-bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"find-bin.js","sourceRoot":"","sources":["../../src/_utils/find-bin.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,10 @@
1
- // `answer` is already fully rendered server-side (render-answer.ts appends the
2
- // "Sources:"/"Couldn't verify:" sections), so print it as-is — re-deriving
3
- // bullets/gaps here would double-render those sections.
4
- // Calibrated-trust footer, not a hedge. Measured (glen-sequential-pr-eval,
5
- // beta waves 2026-08): the old "may be outdated … confirm with the user …
6
- // validate against current code" wording made agents re-verify recalled
7
- // decisions against the code, adding a reconciliation pass that erased the
8
- // wall-clock benefit of recall (+20% wall at quality parity). Blind trust is
9
- // worse (quality collapses — verification of what you touch is load-bearing).
10
- // This wording is the measured middle: build on recalled decisions without
11
- // re-deriving them; verify only what you directly modify.
1
+ // `answer` is already rendered server-side; print it as-is or its sections render twice.
2
+ // CAVEAT wording was measured: softer wording made agents re-verify everything, blind trust hurt quality.
12
3
  const CAVEAT = "(Recalled from past sessions — these are decisions your teammates already " +
13
4
  "made, implemented, and verified. Build on them directly: don't re-derive " +
14
5
  "or re-litigate them, and don't explore beyond the scope they describe. Do " +
15
6
  "verify the specifics of any code you directly modify before changing it.)";
16
- // Rides the result (Bash `glen search` loads no skill). The agent fills only the
17
- // body row; the one-line/no-`|` rule keeps the one-column table from collapsing.
18
- // The two-beat action framing is deliberate: banner audits showed flat receipts
19
- // ("Glen confirmed X") read as neutral — the banner must say what the recall let
20
- // the agent DO. The FINAL-message parenthetical is load-bearing: harnesses don't
21
- // reliably show text emitted between tool calls, so a bare "BEGIN your reply"
22
- // let agents drop the banner into an invisible mid-turn message and count the
23
- // contract as satisfied.
7
+ // The FINAL-message wording is load-bearing: text between tool calls isn't reliably shown, so agents hid the banner mid-turn.
24
8
  const BANNER = "If the answer above is genuinely useful for the user's current request, " +
25
9
  "BEGIN your reply with the three-line banner below at the top of your FINAL " +
26
10
  "message (text emitted between tool calls is not reliably shown to the user, " +
@@ -1 +1 @@
1
- {"version":3,"file":"format-search-result.js","sourceRoot":"","sources":["../../src/_utils/format-search-result.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,2EAA2E;AAC3E,wDAAwD;AACxD,2EAA2E;AAC3E,0EAA0E;AAC1E,wEAAwE;AACxE,2EAA2E;AAC3E,6EAA6E;AAC7E,8EAA8E;AAC9E,2EAA2E;AAC3E,0DAA0D;AAC1D,MAAM,MAAM,GACV,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,2EAA2E,CAAC;AAE9E,iFAAiF;AACjF,iFAAiF;AACjF,gFAAgF;AAChF,iFAAiF;AACjF,iFAAiF;AACjF,8EAA8E;AAC9E,8EAA8E;AAC9E,yBAAyB;AACzB,MAAM,MAAM,GACV,0EAA0E;IAC1E,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,qFAAqF;IACrF,mFAAmF;IACnF,gFAAgF;IAChF,mFAAmF;IACnF,oFAAoF;IACpF,wEAAwE;IACxE,wEAAwE;IACxE,8DAA8D;IAC9D,IAAI;IACJ,4BAA4B;IAC5B,WAAW;IACX,2GAA2G,CAAC;AAE9G,MAAM,kBAAkB,GAAG,CAAC,MAAe,EAAiB,EAAE;IAC5D,MAAM,MAAM,GAAI,MAAyC,EAAE,MAAM,CAAC;IAClE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAEpE,OAAO,4BAA4B,MAAM,OAAO,MAAM,OAAO,MAAM,EAAE,CAAC;AACxE,CAAC,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"format-search-result.js","sourceRoot":"","sources":["../../src/_utils/format-search-result.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,0GAA0G;AAC1G,MAAM,MAAM,GACV,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,2EAA2E,CAAC;AAE9E,8HAA8H;AAC9H,MAAM,MAAM,GACV,0EAA0E;IAC1E,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,qFAAqF;IACrF,mFAAmF;IACnF,gFAAgF;IAChF,mFAAmF;IACnF,oFAAoF;IACpF,wEAAwE;IACxE,wEAAwE;IACxE,8DAA8D;IAC9D,IAAI;IACJ,4BAA4B;IAC5B,WAAW;IACX,2GAA2G,CAAC;AAE9G,MAAM,kBAAkB,GAAG,CAAC,MAAe,EAAiB,EAAE;IAC5D,MAAM,MAAM,GAAI,MAAyC,EAAE,MAAM,CAAC;IAClE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAEpE,OAAO,4BAA4B,MAAM,OAAO,MAAM,OAAO,MAAM,EAAE,CAAC;AACxE,CAAC,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,21 +1,6 @@
1
- // Formats the per-turn nudges the server still sends: skill offers and the
2
- // artifact suggestion. The per-turn search questions and skill-create nudge
3
- // were retired by the universal session-start rollout — the server returns
4
- // them permanently empty (`questions: []`, `skillSuggestion: null`) for older
5
- // CLIs, and the session-start team-memory block owns that guidance now.
6
1
  const isObject = (value) => typeof value === "object" && value !== null;
7
- // Forward-looking offer nudge: the server already searched the org's skill library
8
- // and returned up to two close matches for a workflow the user is starting. When a
9
- // skill genuinely fits, the agent surfaces it as a user-visible banner (same
10
- // one-column-table pattern as format-search-result.ts's "Glen recalled" banner)
11
- // that doubles as the consent ask. Both tiers carry a HARD consent gate — no
12
- // `glen skill use` and no following the skill until the user agrees (a request
13
- // already naming it counts). A 2026-07 production audit of 124 offer→use
14
- // conversions showed the earlier soft wording ("consider offering") produced zero
15
- // asks, while the create-skill nudge's imperative gate is consistently obeyed —
16
- // keep this imperative. Names/descriptions come from org data, so they're
17
- // JSON.stringify'd and flagged as labels, not instructions (the standard
18
- // prompt-injection guard).
2
+ // Keep the consent gate imperative: softer wording produced zero asks in production.
3
+ // Skill names come from org data, so they are JSON-quoted as labels, not instructions (prompt-injection guard).
19
4
  const skillsToOfferText = (result) => {
20
5
  if (!isObject(result) || !("skillsToOffer" in result))
21
6
  return null;
@@ -51,9 +36,6 @@ const skillsToOfferText = (result) => {
51
36
  const bullets = parsed
52
37
  .map((s) => `- ${JSON.stringify(s.name)} — ${JSON.stringify(s.description)} (\`glen skill use ${s.slug}\`)`)
53
38
  .join("\n");
54
- // Same banner + gate in both tiers; only the lead-in strength differs (results
55
- // best-first). The agent fills only the body row; the one-line/no-`|` rule keeps
56
- // the one-column table from collapsing (same contract as the recall banner).
57
39
  const bannerGate = "If one of these genuinely fits the user's current request, BEGIN your reply with the three-line banner below at the top of your FINAL message (text emitted between tool calls is not reliably shown to the user, so a banner placed mid-turn does not count — it must open the last message you output this turn, after all tool calls) — copy it exactly, replacing only the angle-bracketed text (ONE line, never a \"|\" or line break inside it) — and wait for the user's answer. " +
58
40
  "Do NOT run `glen skill use` or follow a skill until they agree (their request already naming it or asking for exactly its workflow counts as a yes — then skip the banner and just use it). " +
59
41
  "If none fit, or you're already following a skill, no banner — don't mention these. " +
@@ -1 +1 @@
1
- {"version":3,"file":"format-turn-nudges.js","sourceRoot":"","sources":["../../src/_utils/format-turn-nudges.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format-turn-nudges.js","sourceRoot":"","sources":["../../src/_utils/format-turn-nudges.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
1
  declare const canonicalRemoteUrl: (raw: string) => string | null;
2
- /** Outcome of the `rev-parse --show-toplevel` probe that gates every other git
3
- * field. Reported to the server so a dropped repo/branch ref is attributable. */
4
2
  type WorkspaceProbe = "ok" | "not_a_repo" | "git_missing" | "git_timeout" | "git_denied" | "git_empty_output" | "git_failed";
5
3
  type WorkspaceContext = {
6
4
  readonly cwd?: string;
@@ -1,28 +1,9 @@
1
1
  import { execFileSync } from "node:child_process";
2
2
  import { basename } from "node:path";
3
- /** Ceiling for any ONE git invocation. The old value was 150ms flat, and
4
- * production said that was too tight: over 5,481 turns, 57 lost their repo
5
- * provenance to `git_timeout` across 6 users in 3 orgs. It was intermittent for
6
- * every one of them — each affected user succeeded on the same machines and
7
- * repos the overwhelming majority of the time (39/477, 8/788, 5/130, then three
8
- * at ~0.3%) — so this is a budget clipped by transient load, not a broken
9
- * environment. */
10
3
  const GIT_CALL_TIMEOUT_MS = 500;
11
- /** Ceiling for ALL git work in one gitContext call.
12
- *
13
- * A per-call bump alone would have been the wrong fix: gitContext issues up to
14
- * FIVE git commands, so raising the per-call limit to 1s would license a 5s
15
- * worst case — on a hook that runs on every UserPromptSubmit and Stop, directly
16
- * in the user's critical path. The deadline bounds total wall time no matter how
17
- * many calls run or how slow each one is.
18
- *
19
- * Typical cost is unchanged: rev-parse measures 10-20ms against a 69MB .git, so
20
- * a healthy repo spends ~50-100ms across all five and never approaches either
21
- * limit. These only bind on the pathological runs that are currently failing. */
4
+ // Caps total git time: up to five calls run on every prompt hook, in the user's critical path.
22
5
  const GIT_TOTAL_BUDGET_MS = 1200;
23
6
  const runGit = (cwd, args, deadline) => {
24
- // Budget already gone — fail as a timeout rather than spawning a process whose
25
- // result we have no time left to use.
26
7
  const remaining = deadline - Date.now();
27
8
  if (remaining <= 0)
28
9
  return { output: null, probe: "git_timeout" };
@@ -32,21 +13,12 @@ const runGit = (cwd, args, deadline) => {
32
13
  timeout: Math.min(remaining, GIT_CALL_TIMEOUT_MS),
33
14
  encoding: "utf8",
34
15
  }).trim() || null;
35
- // Exit 0 with nothing on stdout shouldn't happen for the commands we run;
36
- // classify it rather than silently folding it into "not a repo".
37
16
  return { output, probe: output ? "ok" : "git_empty_output" };
38
17
  }
39
18
  catch (error) {
40
19
  return { output: null, probe: classifyGitFailure(error) };
41
20
  }
42
21
  };
43
- /** Why `git` did not answer. Every one of these currently collapses to the same
44
- * observable state — a workspace with a cwd and no repoName — and they need
45
- * completely different responses, so they are reported separately.
46
- *
47
- * `git_timeout` is kept reported after raising the budget, deliberately: it is
48
- * how we confirm the new limits actually removed the timeouts instead of
49
- * assuming they did. */
50
22
  const classifyGitFailure = (error) => {
51
23
  const err = error;
52
24
  if (err?.code === "ENOENT")
@@ -55,8 +27,6 @@ const classifyGitFailure = (error) => {
55
27
  return "git_timeout";
56
28
  if (err?.code === "EACCES")
57
29
  return "git_denied";
58
- // A non-zero exit from `rev-parse --show-toplevel` is git working correctly
59
- // and telling us this path is not inside a checkout.
60
30
  if (typeof err?.status === "number" && err.status !== 0)
61
31
  return "not_a_repo";
62
32
  return "git_failed";
@@ -83,8 +53,6 @@ const canonicalRemoteUrl = (raw) => {
83
53
  return null;
84
54
  };
85
55
  const gitContext = (cwd) => {
86
- // One deadline for the whole context: every call below draws from it, so the
87
- // five commands together can never outlast GIT_TOTAL_BUDGET_MS.
88
56
  const deadline = Date.now() + GIT_TOTAL_BUDGET_MS;
89
57
  const top = runGit(cwd, ["rev-parse", "--show-toplevel"], deadline);
90
58
  const toplevel = top.output;
@@ -1 +1 @@
1
- {"version":3,"file":"git-context.js","sourceRoot":"","sources":["../../src/_utils/git-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC;;;;;;kBAMkB;AAClB,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC;;;;;;;;;;iFAUiF;AACjF,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC,MAAM,MAAM,GAAG,CACb,GAAW,EACX,IAAc,EACd,QAAgB,EACkC,EAAE;IACpD,+EAA+E;IAC/E,sCAAsC;IACtC,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACxC,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IAClE,IAAI,CAAC;QACH,MAAM,MAAM,GACV,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE;YACxC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;YACnC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,mBAAmB,CAAC;YACjD,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;QACpB,0EAA0E;QAC1E,iEAAiE;QACjE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5D,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;wBAMwB;AACxB,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAkB,EAAE;IAC5D,MAAM,GAAG,GAAG,KAIX,CAAC;IACF,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ;QAAE,OAAO,aAAa,CAAC;IACjD,IAAI,GAAG,EAAE,IAAI,KAAK,WAAW,IAAI,GAAG,EAAE,MAAM,KAAK,IAAI;QAAE,OAAO,aAAa,CAAC;IAC5E,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC;IAChD,4EAA4E;IAC5E,qDAAqD;IACrD,IAAI,OAAO,GAAG,EAAE,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC;IAC7E,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,IAAc,EAAE,QAAgB,EAAiB,EAAE,CAC3E,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC;AAErC,MAAM,WAAW,GAAG,2DAA2D,CAAC;AAChF,MAAM,aAAa,GAAG,yDAAyD,CAAC;AAEhF,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAiB,EAAE;IACxD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAE3B,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACxC,OAAO,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1C,OAAO,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAsBF,MAAM,UAAU,GAAG,CAAC,GAAW,EAAoB,EAAE;IACnD,6EAA6E;IAC7E,gEAAgE;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,mBAAmB,CAAC;IAClD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC;IAC5B,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpE,MAAM,cAAc,GAClB,MAAM,IAAI,MAAM,KAAK,MAAM;QACzB,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,MAAM,SAAS,CAAC,EAAE,QAAQ,CAAC;QACpE,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,iBAAiB,GAAG,cAAc;QACtC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,cAAc,MAAM,CAAC,EAAE,QAAQ,CAAC;QACzE,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,MAAM,GACV,iBAAiB;QACjB,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,mBAAmB,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,OAAO;QACL,GAAG;QACH,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;QAC5B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjD,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"git-context.js","sourceRoot":"","sources":["../../src/_utils/git-context.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,6 @@ const git = (cwd, args) => {
17
17
  return null;
18
18
  }
19
19
  };
20
- // Effective hooks dir: honour core.hooksPath (Husky v9), else .git/hooks.
21
20
  const hooksDir = (cwd) => {
22
21
  const configured = git(cwd, ["config", "--get", "core.hooksPath"]);
23
22
  if (configured)
@@ -1 +1 @@
1
- {"version":3,"file":"git-hook-setup.js","sourceRoot":"","sources":["../../src/_utils/git-hook-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-hook-setup.js","sourceRoot":"","sources":["../../src/_utils/git-hook-setup.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,7 @@ const buildGlenHeaders = ({ key, state, version, }) => ({
2
2
  "x-api-key": key,
3
3
  "x-glen-cli-version": version,
4
4
  ...(state?.activeOrgId ? { "x-glen-org-id": state.activeOrgId } : {}),
5
- // The no-record modes ride the same server header: `incognito` records
6
- // nothing while still injecting, and `off` records nothing too (its hooks
7
- // also skip injection client-side). `silent` must NOT send it — silent
8
- // RECORDS; the server-side preference suppresses the surfacing instead.
5
+ // silent must NOT send this header: silent still records. Only incognito and off record nothing.
9
6
  ...(state && (state.mode === "incognito" || state.mode === "off")
10
7
  ? { "x-glen-incognito": "true" }
11
8
  : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"glen-headers.js","sourceRoot":"","sources":["../../src/_utils/glen-headers.ts"],"names":[],"mappings":"AAQA,MAAM,gBAAgB,GAAG,CAAC,EACxB,GAAG,EACH,KAAK,EACL,OAAO,GACS,EAA0B,EAAE,CAAC,CAAC;IAC9C,WAAW,EAAE,GAAG;IAChB,oBAAoB,EAAE,OAAO;IAC7B,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,uEAAuE;IACvE,0EAA0E;IAC1E,uEAAuE;IACvE,wEAAwE;IACxE,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC;QAC/D,CAAC,CAAC,EAAE,kBAAkB,EAAE,MAAM,EAAE;QAChC,CAAC,CAAC,EAAE,CAAC;CACR,CAAC,CAAC;AAEH,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"glen-headers.js","sourceRoot":"","sources":["../../src/_utils/glen-headers.ts"],"names":[],"mappings":"AAQA,MAAM,gBAAgB,GAAG,CAAC,EACxB,GAAG,EACH,KAAK,EACL,OAAO,GACS,EAA0B,EAAE,CAAC,CAAC;IAC9C,WAAW,EAAE,GAAG;IAChB,oBAAoB,EAAE,OAAO;IAC7B,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,iGAAiG;IACjG,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC;QAC/D,CAAC,CAAC,EAAE,kBAAkB,EAAE,MAAM,EAAE;QAChC,CAAC,CAAC,EAAE,CAAC;CACR,CAAC,CAAC;AAEH,OAAO,EAAE,gBAAgB,EAAE,CAAC"}