@tryglen/cli 0.37.1 → 0.38.0

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 (798) hide show
  1. package/README.md +21 -4
  2. package/dist/_generated/contract/index.js +3 -0
  3. package/dist/_generated/contract/index.js.map +1 -0
  4. package/dist/_generated/contract/procedures.gen.js +34 -0
  5. package/dist/_generated/contract/procedures.gen.js.map +1 -0
  6. package/dist/_generated/contract/types.gen.js +3 -0
  7. package/dist/_generated/contract/types.gen.js.map +1 -0
  8. package/dist/_generated/contract/zod.gen.js +799 -0
  9. package/dist/_generated/contract/zod.gen.js.map +1 -0
  10. package/dist/bin.js +137 -560
  11. package/dist/bin.js.map +1 -1
  12. package/dist/clients/agents/agent-bin.js +67 -0
  13. package/dist/clients/agents/agent-bin.js.map +1 -0
  14. package/dist/clients/agents/agent-path-overrides.js +23 -0
  15. package/dist/clients/agents/agent-path-overrides.js.map +1 -0
  16. package/dist/clients/agents/agents-table.js +91 -0
  17. package/dist/clients/agents/agents-table.js.map +1 -0
  18. package/dist/{_utils → clients/agents}/managed-block.js +8 -4
  19. package/dist/clients/agents/managed-block.js.map +1 -0
  20. package/dist/clients/agents/normalize-transcript-timestamp.js.map +1 -0
  21. package/dist/clients/agents/plugin-status.js +74 -0
  22. package/dist/clients/agents/plugin-status.js.map +1 -0
  23. package/dist/clients/agents/run-agent-steps.js +21 -0
  24. package/dist/clients/agents/run-agent-steps.js.map +1 -0
  25. package/dist/{_utils → clients/claude}/extract-claude-segments.js +9 -5
  26. package/dist/clients/claude/extract-claude-segments.js.map +1 -0
  27. package/dist/clients/claude/parse-claude-transcript.js +114 -0
  28. package/dist/clients/claude/parse-claude-transcript.js.map +1 -0
  29. package/dist/clients/codex/codex-app-server.js +102 -0
  30. package/dist/clients/codex/codex-app-server.js.map +1 -0
  31. package/dist/clients/codex/codex-hooks-file.js +65 -0
  32. package/dist/clients/codex/codex-hooks-file.js.map +1 -0
  33. package/dist/clients/codex/codex-hooks-merge.js +9 -0
  34. package/dist/clients/codex/codex-hooks-merge.js.map +1 -0
  35. package/dist/clients/codex/codex-hooks-setup.js +167 -0
  36. package/dist/clients/codex/codex-hooks-setup.js.map +1 -0
  37. package/dist/clients/codex/codex-paths.js +13 -0
  38. package/dist/clients/codex/codex-paths.js.map +1 -0
  39. package/dist/clients/codex/codex-repair-trace.js +36 -0
  40. package/dist/clients/codex/codex-repair-trace.js.map +1 -0
  41. package/dist/clients/codex/codex-rules-setup.js +27 -0
  42. package/dist/clients/codex/codex-rules-setup.js.map +1 -0
  43. package/dist/{_utils → clients/codex}/codex-trust-toml.js +6 -5
  44. package/dist/clients/codex/codex-trust-toml.js.map +1 -0
  45. package/dist/clients/codex/extract-codex-segments.js +64 -0
  46. package/dist/clients/codex/extract-codex-segments.js.map +1 -0
  47. package/dist/clients/codex/parse-codex-transcript.js +123 -0
  48. package/dist/clients/codex/parse-codex-transcript.js.map +1 -0
  49. package/dist/clients/cursor/parse-cursor-db.js +185 -0
  50. package/dist/clients/cursor/parse-cursor-db.js.map +1 -0
  51. package/dist/clients/git/canonical-remote-url.js +13 -0
  52. package/dist/clients/git/canonical-remote-url.js.map +1 -0
  53. package/dist/clients/git/git-context.js +60 -0
  54. package/dist/clients/git/git-context.js.map +1 -0
  55. package/dist/clients/git/git-hook-setup.js +128 -0
  56. package/dist/clients/git/git-hook-setup.js.map +1 -0
  57. package/dist/{_utils → clients/git}/pr-review-link.js +5 -4
  58. package/dist/clients/git/pr-review-link.js.map +1 -0
  59. package/dist/clients/glen-api/config.js +11 -0
  60. package/dist/clients/glen-api/config.js.map +1 -0
  61. package/dist/clients/glen-api/glen-api.js +199 -0
  62. package/dist/clients/glen-api/glen-api.js.map +1 -0
  63. package/dist/{_utils → clients/glen-api}/glen-headers.js +1 -1
  64. package/dist/clients/glen-api/glen-headers.js.map +1 -0
  65. package/dist/clients/glen-api/refresh-control-state.js +18 -0
  66. package/dist/clients/glen-api/refresh-control-state.js.map +1 -0
  67. package/dist/clients/glen-api/report-cli-install.js +20 -0
  68. package/dist/clients/glen-api/report-cli-install.js.map +1 -0
  69. package/dist/clients/glen-api/sync-mode-from-server.js +45 -0
  70. package/dist/clients/glen-api/sync-mode-from-server.js.map +1 -0
  71. package/dist/clients/indicator/indicator-app.js +127 -0
  72. package/dist/clients/indicator/indicator-app.js.map +1 -0
  73. package/dist/clients/indicator/indicator-health.js +40 -0
  74. package/dist/clients/indicator/indicator-health.js.map +1 -0
  75. package/dist/clients/jcode/jcode-bundle.js +19 -0
  76. package/dist/clients/jcode/jcode-bundle.js.map +1 -0
  77. package/dist/clients/jcode/jcode-event.js +74 -0
  78. package/dist/clients/jcode/jcode-event.js.map +1 -0
  79. package/dist/{_utils → clients/jcode}/jcode-hook-lines.js +1 -1
  80. package/dist/clients/jcode/jcode-hook-lines.js.map +1 -0
  81. package/dist/{_utils → clients/jcode}/jcode-hooks-toml.js +21 -29
  82. package/dist/clients/jcode/jcode-hooks-toml.js.map +1 -0
  83. package/dist/clients/jcode/jcode-paths.js +14 -0
  84. package/dist/clients/jcode/jcode-paths.js.map +1 -0
  85. package/dist/clients/jcode/jcode-setup.js +148 -0
  86. package/dist/clients/jcode/jcode-setup.js.map +1 -0
  87. package/dist/clients/jcode/jcode-skills-sync.js +84 -0
  88. package/dist/clients/jcode/jcode-skills-sync.js.map +1 -0
  89. package/dist/{_utils → clients/jcode}/parse-jcode-session.js +38 -35
  90. package/dist/clients/jcode/parse-jcode-session.js.map +1 -0
  91. package/dist/clients/npm/semver-newer.js +8 -0
  92. package/dist/clients/npm/semver-newer.js.map +1 -0
  93. package/dist/clients/npm/update.js +147 -0
  94. package/dist/clients/npm/update.js.map +1 -0
  95. package/dist/{_utils → clients/pi}/extract-pi-segments.js +7 -3
  96. package/dist/clients/pi/extract-pi-segments.js.map +1 -0
  97. package/dist/clients/pi/parse-pi-transcript.js +149 -0
  98. package/dist/clients/pi/parse-pi-transcript.js.map +1 -0
  99. package/dist/clients/telemetry/send-events.js +32 -0
  100. package/dist/clients/telemetry/send-events.js.map +1 -0
  101. package/dist/commands/_utils/forget-or-restore-observation-or-message.js +41 -0
  102. package/dist/commands/_utils/forget-or-restore-observation-or-message.js.map +1 -0
  103. package/dist/commands/artifact/_utils/explain-artifact-error.js +31 -0
  104. package/dist/commands/artifact/_utils/explain-artifact-error.js.map +1 -0
  105. package/dist/commands/artifact/_utils/require-slug.js +14 -0
  106. package/dist/commands/artifact/_utils/require-slug.js.map +1 -0
  107. package/dist/commands/artifact/artifact.options.js +43 -0
  108. package/dist/commands/artifact/artifact.options.js.map +1 -0
  109. package/dist/commands/artifact/create.js +87 -0
  110. package/dist/commands/artifact/create.js.map +1 -0
  111. package/dist/commands/artifact/delete.js +18 -0
  112. package/dist/commands/artifact/delete.js.map +1 -0
  113. package/dist/commands/artifact/get.js +21 -0
  114. package/dist/commands/artifact/get.js.map +1 -0
  115. package/dist/commands/artifact/list.js +4 -0
  116. package/dist/commands/artifact/list.js.map +1 -0
  117. package/dist/commands/artifact/search.js +25 -0
  118. package/dist/commands/artifact/search.js.map +1 -0
  119. package/dist/commands/artifact/share.js +42 -0
  120. package/dist/commands/artifact/share.js.map +1 -0
  121. package/dist/commands/code-search/code-search.options.js +10 -0
  122. package/dist/commands/code-search/code-search.options.js.map +1 -0
  123. package/dist/commands/code-search/index.js +106 -0
  124. package/dist/commands/code-search/index.js.map +1 -0
  125. package/dist/commands/dependency/dependency.options.js +10 -0
  126. package/dist/commands/dependency/dependency.options.js.map +1 -0
  127. package/dist/commands/dependency/index.js +25 -0
  128. package/dist/commands/dependency/index.js.map +1 -0
  129. package/dist/{_utils → commands/doctor/_utils}/ingest-diagnosis.js +16 -17
  130. package/dist/commands/doctor/_utils/ingest-diagnosis.js.map +1 -0
  131. package/dist/commands/doctor/_utils/login-check.js +48 -0
  132. package/dist/commands/doctor/_utils/login-check.js.map +1 -0
  133. package/dist/commands/doctor/doctor.options.js +17 -0
  134. package/dist/commands/doctor/doctor.options.js.map +1 -0
  135. package/dist/commands/doctor/index.js +366 -0
  136. package/dist/commands/doctor/index.js.map +1 -0
  137. package/dist/commands/feedback/feedback.options.js +82 -0
  138. package/dist/commands/feedback/feedback.options.js.map +1 -0
  139. package/dist/commands/feedback/index.js +64 -0
  140. package/dist/commands/feedback/index.js.map +1 -0
  141. package/dist/commands/forget/forget.options.js +12 -0
  142. package/dist/commands/forget/forget.options.js.map +1 -0
  143. package/dist/commands/forget/index.js +30 -0
  144. package/dist/commands/forget/index.js.map +1 -0
  145. package/dist/commands/git-hooks/git-hooks.options.js +17 -0
  146. package/dist/commands/git-hooks/git-hooks.options.js.map +1 -0
  147. package/dist/commands/git-hooks/index.js +21 -0
  148. package/dist/commands/git-hooks/index.js.map +1 -0
  149. package/dist/commands/git-hooks/write-commit-trailer.js +38 -0
  150. package/dist/commands/git-hooks/write-commit-trailer.js.map +1 -0
  151. package/dist/commands/import/_utils/collect-import-files.js +54 -0
  152. package/dist/commands/import/_utils/collect-import-files.js.map +1 -0
  153. package/dist/commands/import/_utils/detect-transcript-format.js +46 -0
  154. package/dist/commands/import/_utils/detect-transcript-format.js.map +1 -0
  155. package/dist/{_utils → commands/import/_utils}/parse-harbor-atif.js +28 -51
  156. package/dist/commands/import/_utils/parse-harbor-atif.js.map +1 -0
  157. package/dist/{_utils → commands/import/_utils}/resolve-import-workspace.js +12 -17
  158. package/dist/commands/import/_utils/resolve-import-workspace.js.map +1 -0
  159. package/dist/{_utils → commands/import/_utils}/transcript-turns.js +47 -52
  160. package/dist/commands/import/_utils/transcript-turns.js.map +1 -0
  161. package/dist/commands/import/import.options.js +18 -0
  162. package/dist/commands/import/import.options.js.map +1 -0
  163. package/dist/commands/import/import.schema.js +28 -0
  164. package/dist/commands/import/import.schema.js.map +1 -0
  165. package/dist/commands/import/index.js +284 -0
  166. package/dist/commands/import/index.js.map +1 -0
  167. package/dist/commands/incognito/incognito.options.js +7 -0
  168. package/dist/commands/incognito/incognito.options.js.map +1 -0
  169. package/dist/commands/incognito/index.js +5 -0
  170. package/dist/commands/incognito/index.js.map +1 -0
  171. package/dist/commands/indicator/index.js +59 -0
  172. package/dist/commands/indicator/index.js.map +1 -0
  173. package/dist/commands/indicator/indicator.options.js +7 -0
  174. package/dist/commands/indicator/indicator.options.js.map +1 -0
  175. package/dist/commands/ingest/_utils/agent-adapter.js +37 -0
  176. package/dist/commands/ingest/_utils/agent-adapter.js.map +1 -0
  177. package/dist/{_utils → commands/ingest/_utils}/build-turn-body.js +8 -6
  178. package/dist/commands/ingest/_utils/build-turn-body.js.map +1 -0
  179. package/dist/{_utils → commands/ingest/_utils}/format-turn-nudges.js +14 -31
  180. package/dist/commands/ingest/_utils/format-turn-nudges.js.map +1 -0
  181. package/dist/commands/ingest/_utils/idempotency-key.js +4 -0
  182. package/dist/commands/ingest/_utils/idempotency-key.js.map +1 -0
  183. package/dist/commands/ingest/_utils/ingest-failure-memo.js +58 -0
  184. package/dist/commands/ingest/_utils/ingest-failure-memo.js.map +1 -0
  185. package/dist/commands/ingest/_utils/parse-transcript.js +76 -0
  186. package/dist/commands/ingest/_utils/parse-transcript.js.map +1 -0
  187. package/dist/commands/ingest/_utils/turn-cache.js +73 -0
  188. package/dist/commands/ingest/_utils/turn-cache.js.map +1 -0
  189. package/dist/commands/ingest/index.js +379 -0
  190. package/dist/commands/ingest/index.js.map +1 -0
  191. package/dist/commands/ingest/ingest.options.js +13 -0
  192. package/dist/commands/ingest/ingest.options.js.map +1 -0
  193. package/dist/commands/install/_utils/claude-statusline.js +58 -0
  194. package/dist/commands/install/_utils/claude-statusline.js.map +1 -0
  195. package/dist/commands/install/_utils/codex-post-install.js +56 -0
  196. package/dist/commands/install/_utils/codex-post-install.js.map +1 -0
  197. package/dist/{_utils → commands/install/_utils}/ensure-global-cli.js +49 -52
  198. package/dist/commands/install/_utils/ensure-global-cli.js.map +1 -0
  199. package/dist/commands/install/_utils/finish-install.js +67 -0
  200. package/dist/commands/install/_utils/finish-install.js.map +1 -0
  201. package/dist/commands/install/_utils/jcode-install.js +29 -0
  202. package/dist/commands/install/_utils/jcode-install.js.map +1 -0
  203. package/dist/{_utils → commands/install/_utils}/npm-error-cause.js +1 -2
  204. package/dist/commands/install/_utils/npm-error-cause.js.map +1 -0
  205. package/dist/commands/install/_utils/prepare-machine.js +85 -0
  206. package/dist/commands/install/_utils/prepare-machine.js.map +1 -0
  207. package/dist/commands/install/codex-hooks-repair.js +17 -0
  208. package/dist/commands/install/codex-hooks-repair.js.map +1 -0
  209. package/dist/commands/install/index.js +186 -0
  210. package/dist/commands/install/index.js.map +1 -0
  211. package/dist/commands/install/install.options.js +41 -0
  212. package/dist/commands/install/install.options.js.map +1 -0
  213. package/dist/commands/invite/index.js +47 -0
  214. package/dist/commands/invite/index.js.map +1 -0
  215. package/dist/commands/invite/invite.options.js +24 -0
  216. package/dist/commands/invite/invite.options.js.map +1 -0
  217. package/dist/commands/login/_utils/open-browser.js +9 -0
  218. package/dist/commands/login/_utils/open-browser.js.map +1 -0
  219. package/dist/commands/login/_utils/parse-start.js +25 -0
  220. package/dist/commands/login/_utils/parse-start.js.map +1 -0
  221. package/dist/commands/login/_utils/poll-for-approval.js +55 -0
  222. package/dist/commands/login/_utils/poll-for-approval.js.map +1 -0
  223. package/dist/commands/login/index.js +101 -0
  224. package/dist/commands/login/index.js.map +1 -0
  225. package/dist/commands/login/login.options.js +12 -0
  226. package/dist/commands/login/login.options.js.map +1 -0
  227. package/dist/commands/logout/index.js +16 -0
  228. package/dist/commands/logout/index.js.map +1 -0
  229. package/dist/commands/logout/logout.options.js +4 -0
  230. package/dist/commands/logout/logout.options.js.map +1 -0
  231. package/dist/commands/onboard/index.js +20 -0
  232. package/dist/commands/onboard/index.js.map +1 -0
  233. package/dist/commands/org/_utils/apply-switch.js +37 -0
  234. package/dist/commands/org/_utils/apply-switch.js.map +1 -0
  235. package/dist/commands/org/_utils/fetch-orgs.js +19 -0
  236. package/dist/commands/org/_utils/fetch-orgs.js.map +1 -0
  237. package/dist/commands/org/list.js +14 -0
  238. package/dist/commands/org/list.js.map +1 -0
  239. package/dist/commands/org/org.options.js +10 -0
  240. package/dist/commands/org/org.options.js.map +1 -0
  241. package/dist/commands/org/switch.js +37 -0
  242. package/dist/commands/org/switch.js.map +1 -0
  243. package/dist/commands/pr-link/_utils/is-commit-command.js +14 -0
  244. package/dist/commands/pr-link/_utils/is-commit-command.js.map +1 -0
  245. package/dist/commands/pr-link/_utils/record-commit-anchor.js +46 -0
  246. package/dist/commands/pr-link/_utils/record-commit-anchor.js.map +1 -0
  247. package/dist/commands/pr-link/index.js +74 -0
  248. package/dist/commands/pr-link/index.js.map +1 -0
  249. package/dist/commands/pr-link/pr-link.options.js +13 -0
  250. package/dist/commands/pr-link/pr-link.options.js.map +1 -0
  251. package/dist/commands/restore/index.js +27 -0
  252. package/dist/commands/restore/index.js.map +1 -0
  253. package/dist/commands/restore/restore.options.js +12 -0
  254. package/dist/commands/restore/restore.options.js.map +1 -0
  255. package/dist/{_utils → commands/search/_utils}/format-search-result.js +5 -4
  256. package/dist/commands/search/_utils/format-search-result.js.map +1 -0
  257. package/dist/commands/search/_utils/runtime-timezone.js +12 -0
  258. package/dist/commands/search/_utils/runtime-timezone.js.map +1 -0
  259. package/dist/commands/search/index.js +36 -0
  260. package/dist/commands/search/index.js.map +1 -0
  261. package/dist/commands/search/search.options.js +7 -0
  262. package/dist/commands/search/search.options.js.map +1 -0
  263. package/dist/commands/session-start/index.js +119 -0
  264. package/dist/commands/session-start/index.js.map +1 -0
  265. package/dist/commands/session-start/session-start.options.js +13 -0
  266. package/dist/commands/session-start/session-start.options.js.map +1 -0
  267. package/dist/commands/set-mode/index.js +38 -0
  268. package/dist/commands/set-mode/index.js.map +1 -0
  269. package/dist/commands/set-mode/set-mode.options.js +8 -0
  270. package/dist/commands/set-mode/set-mode.options.js.map +1 -0
  271. package/dist/commands/skill/_utils/download-file.js +28 -0
  272. package/dist/commands/skill/_utils/download-file.js.map +1 -0
  273. package/dist/commands/skill/_utils/explain-skill-error.js +31 -0
  274. package/dist/commands/skill/_utils/explain-skill-error.js.map +1 -0
  275. package/dist/commands/skill/_utils/skill-cache.js +136 -0
  276. package/dist/commands/skill/_utils/skill-cache.js.map +1 -0
  277. package/dist/commands/skill/create/_utils/pack-skill-dir.js +160 -0
  278. package/dist/commands/skill/create/_utils/pack-skill-dir.js.map +1 -0
  279. package/dist/commands/skill/create/index.js +108 -0
  280. package/dist/commands/skill/create/index.js.map +1 -0
  281. package/dist/commands/skill/search.js +38 -0
  282. package/dist/commands/skill/search.js.map +1 -0
  283. package/dist/commands/skill/share.js +52 -0
  284. package/dist/commands/skill/share.js.map +1 -0
  285. package/dist/commands/skill/skill.options.js +58 -0
  286. package/dist/commands/skill/skill.options.js.map +1 -0
  287. package/dist/commands/skill/use.js +72 -0
  288. package/dist/commands/skill/use.js.map +1 -0
  289. package/dist/commands/status/index.js +33 -0
  290. package/dist/commands/status/index.js.map +1 -0
  291. package/dist/commands/status/status.options.js +4 -0
  292. package/dist/commands/status/status.options.js.map +1 -0
  293. package/dist/commands/statusline/index.js +33 -0
  294. package/dist/commands/statusline/index.js.map +1 -0
  295. package/dist/commands/statusline/statusline.options.js +4 -0
  296. package/dist/commands/statusline/statusline.options.js.map +1 -0
  297. package/dist/commands/suggestions/index.js +36 -0
  298. package/dist/commands/suggestions/index.js.map +1 -0
  299. package/dist/commands/suggestions/suggestions.options.js +12 -0
  300. package/dist/commands/suggestions/suggestions.options.js.map +1 -0
  301. package/dist/commands/takeover/_utils/agent-paths.js +13 -7
  302. package/dist/commands/takeover/_utils/agent-paths.js.map +1 -1
  303. package/dist/commands/takeover/_utils/agent-process.js +111 -0
  304. package/dist/commands/takeover/_utils/agent-process.js.map +1 -0
  305. package/dist/commands/takeover/_utils/archive-codex-desktop-thread.js +17 -58
  306. package/dist/commands/takeover/_utils/archive-codex-desktop-thread.js.map +1 -1
  307. package/dist/commands/takeover/_utils/canonical-digest.js +2 -2
  308. package/dist/commands/takeover/_utils/canonical-digest.js.map +1 -1
  309. package/dist/commands/takeover/_utils/codex-desktop-recovery.js +77 -95
  310. package/dist/commands/takeover/_utils/codex-desktop-recovery.js.map +1 -1
  311. package/dist/commands/takeover/_utils/context-fit.js +7 -4
  312. package/dist/commands/takeover/_utils/context-fit.js.map +1 -1
  313. package/dist/commands/takeover/_utils/cursor-store.js +333 -281
  314. package/dist/commands/takeover/_utils/cursor-store.js.map +1 -1
  315. package/dist/commands/takeover/_utils/import-codex-desktop-thread.js +138 -282
  316. package/dist/commands/takeover/_utils/import-codex-desktop-thread.js.map +1 -1
  317. package/dist/commands/takeover/_utils/launch-desktop-url.js +19 -24
  318. package/dist/commands/takeover/_utils/launch-desktop-url.js.map +1 -1
  319. package/dist/commands/takeover/_utils/native-file.js +86 -73
  320. package/dist/commands/takeover/_utils/native-file.js.map +1 -1
  321. package/dist/commands/takeover/_utils/probe-agent.js +12 -9
  322. package/dist/commands/takeover/_utils/probe-agent.js.map +1 -1
  323. package/dist/commands/takeover/_utils/staged-session.js +18 -17
  324. package/dist/commands/takeover/_utils/staged-session.js.map +1 -1
  325. package/dist/commands/takeover/_utils/write-claude-session.js +10 -13
  326. package/dist/commands/takeover/_utils/write-claude-session.js.map +1 -1
  327. package/dist/commands/takeover/_utils/write-codex-desktop-session.js +39 -37
  328. package/dist/commands/takeover/_utils/write-codex-desktop-session.js.map +1 -1
  329. package/dist/commands/takeover/_utils/write-codex-session.js +34 -25
  330. package/dist/commands/takeover/_utils/write-codex-session.js.map +1 -1
  331. package/dist/commands/takeover/_utils/write-cursor-session.js +8 -19
  332. package/dist/commands/takeover/_utils/write-cursor-session.js.map +1 -1
  333. package/dist/commands/takeover/_utils/write-pi-session.js +34 -22
  334. package/dist/commands/takeover/_utils/write-pi-session.js.map +1 -1
  335. package/dist/commands/takeover/index.js +129 -164
  336. package/dist/commands/takeover/index.js.map +1 -1
  337. package/dist/commands/takeover/takeover.options.js +6 -0
  338. package/dist/commands/takeover/takeover.options.js.map +1 -0
  339. package/dist/commands/takeover/takeover.schema.js +17 -55
  340. package/dist/commands/takeover/takeover.schema.js.map +1 -1
  341. package/dist/commands/telemetry/index.js +33 -0
  342. package/dist/commands/telemetry/index.js.map +1 -0
  343. package/dist/commands/telemetry/send.js +7 -0
  344. package/dist/commands/telemetry/send.js.map +1 -0
  345. package/dist/commands/telemetry/telemetry.options.js +12 -0
  346. package/dist/commands/telemetry/telemetry.options.js.map +1 -0
  347. package/dist/commands/uninstall/_utils/purge-agent-plugins.js +58 -0
  348. package/dist/commands/uninstall/_utils/purge-agent-plugins.js.map +1 -0
  349. package/dist/commands/uninstall/_utils/purge-claude-statusline.js +51 -0
  350. package/dist/commands/uninstall/_utils/purge-claude-statusline.js.map +1 -0
  351. package/dist/commands/uninstall/_utils/purge-local-state.js +52 -0
  352. package/dist/commands/uninstall/_utils/purge-local-state.js.map +1 -0
  353. package/dist/commands/uninstall/index.js +138 -0
  354. package/dist/commands/uninstall/index.js.map +1 -0
  355. package/dist/commands/uninstall/uninstall.options.js +4 -0
  356. package/dist/commands/uninstall/uninstall.options.js.map +1 -0
  357. package/dist/commands/update/index.js +117 -0
  358. package/dist/commands/update/index.js.map +1 -0
  359. package/dist/commands/update/self-update.js +7 -0
  360. package/dist/commands/update/self-update.js.map +1 -0
  361. package/dist/commands/update/update.options.js +7 -0
  362. package/dist/commands/update/update.options.js.map +1 -0
  363. package/dist/core/errors/cli-error.js +22 -0
  364. package/dist/core/errors/cli-error.js.map +1 -0
  365. package/dist/core/errors/result.js +21 -0
  366. package/dist/core/errors/result.js.map +1 -0
  367. package/dist/core/errors/settle.js +18 -0
  368. package/dist/core/errors/settle.js.map +1 -0
  369. package/dist/core/json/is-record.js +3 -0
  370. package/dist/core/json/is-record.js.map +1 -0
  371. package/dist/core/json/json-field.js +5 -0
  372. package/dist/core/json/json-field.js.map +1 -0
  373. package/dist/core/json/jsonl-records.js +15 -0
  374. package/dist/core/json/jsonl-records.js.map +1 -0
  375. package/dist/core/json/parse-json.js +4 -0
  376. package/dist/core/json/parse-json.js.map +1 -0
  377. package/dist/core/run/cli-input.js +116 -0
  378. package/dist/core/run/cli-input.js.map +1 -0
  379. package/dist/core/run/hook-agents.js +4 -0
  380. package/dist/core/run/hook-agents.js.map +1 -0
  381. package/dist/{_utils → core/run}/normalize-boolean-flags.js +0 -1
  382. package/dist/core/run/normalize-boolean-flags.js.map +1 -0
  383. package/dist/core/run/run-hook.js +18 -0
  384. package/dist/core/run/run-hook.js.map +1 -0
  385. package/dist/core/run/run.js +16 -0
  386. package/dist/core/run/run.js.map +1 -0
  387. package/dist/core/state/credentials.js +34 -0
  388. package/dist/core/state/credentials.js.map +1 -0
  389. package/dist/core/state/ephemeral-session.js +11 -0
  390. package/dist/core/state/ephemeral-session.js.map +1 -0
  391. package/dist/core/state/glen-home.js +9 -0
  392. package/dist/core/state/glen-home.js.map +1 -0
  393. package/dist/core/state/ingest-heartbeat.js +56 -0
  394. package/dist/core/state/ingest-heartbeat.js.map +1 -0
  395. package/dist/core/state/install-receipt.js +174 -0
  396. package/dist/core/state/install-receipt.js.map +1 -0
  397. package/dist/core/state/session-map.js +22 -0
  398. package/dist/core/state/session-map.js.map +1 -0
  399. package/dist/core/state/state-line-memo.js +52 -0
  400. package/dist/core/state/state-line-memo.js.map +1 -0
  401. package/dist/{_utils → core/state}/state-line.js +1 -1
  402. package/dist/core/state/state-line.js.map +1 -0
  403. package/dist/core/state/state.js +51 -0
  404. package/dist/core/state/state.js.map +1 -0
  405. package/dist/core/system/env.js +74 -0
  406. package/dist/core/system/env.js.map +1 -0
  407. package/dist/core/system/files.js +102 -0
  408. package/dist/core/system/files.js.map +1 -0
  409. package/dist/core/system/glen-base-url.js +4 -0
  410. package/dist/core/system/glen-base-url.js.map +1 -0
  411. package/dist/core/system/http.js +146 -0
  412. package/dist/core/system/http.js.map +1 -0
  413. package/dist/core/system/run-program.js +55 -0
  414. package/dist/core/system/run-program.js.map +1 -0
  415. package/dist/core/system/sha256-hex.js +4 -0
  416. package/dist/core/system/sha256-hex.js.map +1 -0
  417. package/dist/{_utils → core/system}/shell-profile.js +43 -56
  418. package/dist/core/system/shell-profile.js.map +1 -0
  419. package/dist/core/system/spawn-detached.js +10 -0
  420. package/dist/core/system/spawn-detached.js.map +1 -0
  421. package/dist/core/system/spawn-self.js +5 -0
  422. package/dist/core/system/spawn-self.js.map +1 -0
  423. package/dist/core/system/sqlite.js +55 -0
  424. package/dist/core/system/sqlite.js.map +1 -0
  425. package/dist/core/system/version.js +16 -0
  426. package/dist/core/system/version.js.map +1 -0
  427. package/dist/core/telemetry/build-event.js +27 -0
  428. package/dist/core/telemetry/build-event.js.map +1 -0
  429. package/dist/core/telemetry/events-store.js +62 -0
  430. package/dist/core/telemetry/events-store.js.map +1 -0
  431. package/dist/core/telemetry/finish-telemetry.js +32 -0
  432. package/dist/core/telemetry/finish-telemetry.js.map +1 -0
  433. package/dist/core/telemetry/install-id.js +18 -0
  434. package/dist/core/telemetry/install-id.js.map +1 -0
  435. package/dist/core/telemetry/note-if-err.js +8 -0
  436. package/dist/core/telemetry/note-if-err.js.map +1 -0
  437. package/dist/core/telemetry/record-event.js +7 -0
  438. package/dist/core/telemetry/record-event.js.map +1 -0
  439. package/dist/core/telemetry/telemetry-context.js +10 -0
  440. package/dist/core/telemetry/telemetry-context.js.map +1 -0
  441. package/dist/core/telemetry/telemetry-settings.js +32 -0
  442. package/dist/core/telemetry/telemetry-settings.js.map +1 -0
  443. package/dist/core/terminal/attention-summary.js +14 -0
  444. package/dist/core/terminal/attention-summary.js.map +1 -0
  445. package/dist/core/terminal/out.js +86 -0
  446. package/dist/core/terminal/out.js.map +1 -0
  447. package/dist/core/terminal/prompt.js +34 -0
  448. package/dist/core/terminal/prompt.js.map +1 -0
  449. package/dist/core/terminal/read-hook-event.js +17 -0
  450. package/dist/core/terminal/read-hook-event.js.map +1 -0
  451. package/dist/core/terminal/read-stdin.js +23 -0
  452. package/dist/core/terminal/read-stdin.js.map +1 -0
  453. package/dist/jcode/plugin.json +1 -1
  454. package/dist/jcode/skills/feedback/SKILL.md +8 -8
  455. package/dist/jcode/skills/invite/SKILL.md +4 -4
  456. package/dist/jcode/skills/setup/SKILL.md +6 -4
  457. package/dist/macos/glen.app/Contents/MacOS/glen +0 -0
  458. package/package.json +16 -7
  459. package/dist/_utils/agent-adapter.d.ts +0 -9
  460. package/dist/_utils/agent-adapter.js +0 -49
  461. package/dist/_utils/agent-adapter.js.map +0 -1
  462. package/dist/_utils/agents-table.d.ts +0 -11
  463. package/dist/_utils/agents-table.js +0 -35
  464. package/dist/_utils/agents-table.js.map +0 -1
  465. package/dist/_utils/build-turn-body.d.ts +0 -17
  466. package/dist/_utils/build-turn-body.js.map +0 -1
  467. package/dist/_utils/cli-error.d.ts +0 -12
  468. package/dist/_utils/cli-error.js +0 -21
  469. package/dist/_utils/cli-error.js.map +0 -1
  470. package/dist/_utils/codex-app-server.d.ts +0 -11
  471. package/dist/_utils/codex-app-server.js +0 -94
  472. package/dist/_utils/codex-app-server.js.map +0 -1
  473. package/dist/_utils/codex-hooks-merge.d.ts +0 -22
  474. package/dist/_utils/codex-hooks-merge.js +0 -60
  475. package/dist/_utils/codex-hooks-merge.js.map +0 -1
  476. package/dist/_utils/codex-hooks-setup.d.ts +0 -14
  477. package/dist/_utils/codex-hooks-setup.js +0 -162
  478. package/dist/_utils/codex-hooks-setup.js.map +0 -1
  479. package/dist/_utils/codex-paths.d.ts +0 -5
  480. package/dist/_utils/codex-paths.js +0 -10
  481. package/dist/_utils/codex-paths.js.map +0 -1
  482. package/dist/_utils/codex-repair-trace.d.ts +0 -11
  483. package/dist/_utils/codex-repair-trace.js +0 -39
  484. package/dist/_utils/codex-repair-trace.js.map +0 -1
  485. package/dist/_utils/codex-rules-setup.d.ts +0 -4
  486. package/dist/_utils/codex-rules-setup.js +0 -34
  487. package/dist/_utils/codex-rules-setup.js.map +0 -1
  488. package/dist/_utils/codex-trust-toml.d.ts +0 -7
  489. package/dist/_utils/codex-trust-toml.js.map +0 -1
  490. package/dist/_utils/collect-import-files.d.ts +0 -4
  491. package/dist/_utils/collect-import-files.js +0 -50
  492. package/dist/_utils/collect-import-files.js.map +0 -1
  493. package/dist/_utils/config.d.ts +0 -45
  494. package/dist/_utils/config.js +0 -47
  495. package/dist/_utils/config.js.map +0 -1
  496. package/dist/_utils/confirm.d.ts +0 -7
  497. package/dist/_utils/confirm.js +0 -35
  498. package/dist/_utils/confirm.js.map +0 -1
  499. package/dist/_utils/credentials.d.ts +0 -15
  500. package/dist/_utils/credentials.js +0 -62
  501. package/dist/_utils/credentials.js.map +0 -1
  502. package/dist/_utils/detect-transcript-format.d.ts +0 -2
  503. package/dist/_utils/detect-transcript-format.js +0 -57
  504. package/dist/_utils/detect-transcript-format.js.map +0 -1
  505. package/dist/_utils/ensure-global-cli.d.ts +0 -4
  506. package/dist/_utils/ensure-global-cli.js.map +0 -1
  507. package/dist/_utils/ephemeral-session.d.ts +0 -2
  508. package/dist/_utils/ephemeral-session.js +0 -12
  509. package/dist/_utils/ephemeral-session.js.map +0 -1
  510. package/dist/_utils/extract-claude-segments.d.ts +0 -2
  511. package/dist/_utils/extract-claude-segments.js.map +0 -1
  512. package/dist/_utils/extract-codex-segments.d.ts +0 -2
  513. package/dist/_utils/extract-codex-segments.js +0 -65
  514. package/dist/_utils/extract-codex-segments.js.map +0 -1
  515. package/dist/_utils/extract-pi-segments.d.ts +0 -2
  516. package/dist/_utils/extract-pi-segments.js.map +0 -1
  517. package/dist/_utils/find-bin.d.ts +0 -7
  518. package/dist/_utils/find-bin.js +0 -89
  519. package/dist/_utils/find-bin.js.map +0 -1
  520. package/dist/_utils/format-search-result.d.ts +0 -2
  521. package/dist/_utils/format-search-result.js.map +0 -1
  522. package/dist/_utils/format-turn-nudges.d.ts +0 -2
  523. package/dist/_utils/format-turn-nudges.js.map +0 -1
  524. package/dist/_utils/git-context.d.ts +0 -13
  525. package/dist/_utils/git-context.js +0 -82
  526. package/dist/_utils/git-context.js.map +0 -1
  527. package/dist/_utils/git-hook-setup.d.ts +0 -18
  528. package/dist/_utils/git-hook-setup.js +0 -115
  529. package/dist/_utils/git-hook-setup.js.map +0 -1
  530. package/dist/_utils/glen-headers.d.ts +0 -8
  531. package/dist/_utils/glen-headers.js.map +0 -1
  532. package/dist/_utils/http.d.ts +0 -23
  533. package/dist/_utils/http.js +0 -97
  534. package/dist/_utils/http.js.map +0 -1
  535. package/dist/_utils/idempotency-key.d.ts +0 -2
  536. package/dist/_utils/idempotency-key.js +0 -7
  537. package/dist/_utils/idempotency-key.js.map +0 -1
  538. package/dist/_utils/indicator-app.d.ts +0 -9
  539. package/dist/_utils/indicator-app.js +0 -91
  540. package/dist/_utils/indicator-app.js.map +0 -1
  541. package/dist/_utils/indicator-health.d.ts +0 -8
  542. package/dist/_utils/indicator-health.js +0 -37
  543. package/dist/_utils/indicator-health.js.map +0 -1
  544. package/dist/_utils/ingest-diagnosis.d.ts +0 -24
  545. package/dist/_utils/ingest-diagnosis.js.map +0 -1
  546. package/dist/_utils/ingest-failure-memo.d.ts +0 -2
  547. package/dist/_utils/ingest-failure-memo.js +0 -58
  548. package/dist/_utils/ingest-failure-memo.js.map +0 -1
  549. package/dist/_utils/ingest-heartbeat.d.ts +0 -9
  550. package/dist/_utils/ingest-heartbeat.js +0 -48
  551. package/dist/_utils/ingest-heartbeat.js.map +0 -1
  552. package/dist/_utils/install-receipt.d.ts +0 -51
  553. package/dist/_utils/install-receipt.js +0 -202
  554. package/dist/_utils/install-receipt.js.map +0 -1
  555. package/dist/_utils/jcode-bundle.d.ts +0 -3
  556. package/dist/_utils/jcode-bundle.js +0 -16
  557. package/dist/_utils/jcode-bundle.js.map +0 -1
  558. package/dist/_utils/jcode-event.d.ts +0 -3
  559. package/dist/_utils/jcode-event.js +0 -66
  560. package/dist/_utils/jcode-event.js.map +0 -1
  561. package/dist/_utils/jcode-hook-lines.d.ts +0 -5
  562. package/dist/_utils/jcode-hook-lines.js.map +0 -1
  563. package/dist/_utils/jcode-hooks-toml.d.ts +0 -8
  564. package/dist/_utils/jcode-hooks-toml.js.map +0 -1
  565. package/dist/_utils/jcode-paths.d.ts +0 -7
  566. package/dist/_utils/jcode-paths.js +0 -10
  567. package/dist/_utils/jcode-paths.js.map +0 -1
  568. package/dist/_utils/jcode-setup.d.ts +0 -27
  569. package/dist/_utils/jcode-setup.js +0 -151
  570. package/dist/_utils/jcode-setup.js.map +0 -1
  571. package/dist/_utils/jcode-skills-sync.d.ts +0 -8
  572. package/dist/_utils/jcode-skills-sync.js +0 -74
  573. package/dist/_utils/jcode-skills-sync.js.map +0 -1
  574. package/dist/_utils/login-check.d.ts +0 -2
  575. package/dist/_utils/login-check.js +0 -57
  576. package/dist/_utils/login-check.js.map +0 -1
  577. package/dist/_utils/managed-block.d.ts +0 -4
  578. package/dist/_utils/managed-block.js.map +0 -1
  579. package/dist/_utils/normalize-boolean-flags.d.ts +0 -2
  580. package/dist/_utils/normalize-boolean-flags.js.map +0 -1
  581. package/dist/_utils/normalize-transcript-timestamp.d.ts +0 -2
  582. package/dist/_utils/normalize-transcript-timestamp.js.map +0 -1
  583. package/dist/_utils/npm-error-cause.d.ts +0 -5
  584. package/dist/_utils/npm-error-cause.js.map +0 -1
  585. package/dist/_utils/open-browser.d.ts +0 -2
  586. package/dist/_utils/open-browser.js +0 -18
  587. package/dist/_utils/open-browser.js.map +0 -1
  588. package/dist/_utils/parse-claude-transcript.d.ts +0 -3
  589. package/dist/_utils/parse-claude-transcript.js +0 -145
  590. package/dist/_utils/parse-claude-transcript.js.map +0 -1
  591. package/dist/_utils/parse-codex-transcript.d.ts +0 -3
  592. package/dist/_utils/parse-codex-transcript.js +0 -132
  593. package/dist/_utils/parse-codex-transcript.js.map +0 -1
  594. package/dist/_utils/parse-cursor-db.d.ts +0 -5
  595. package/dist/_utils/parse-cursor-db.js +0 -212
  596. package/dist/_utils/parse-cursor-db.js.map +0 -1
  597. package/dist/_utils/parse-harbor-atif.d.ts +0 -3
  598. package/dist/_utils/parse-harbor-atif.js.map +0 -1
  599. package/dist/_utils/parse-jcode-session.d.ts +0 -14
  600. package/dist/_utils/parse-jcode-session.js.map +0 -1
  601. package/dist/_utils/parse-pi-transcript.d.ts +0 -3
  602. package/dist/_utils/parse-pi-transcript.js +0 -164
  603. package/dist/_utils/parse-pi-transcript.js.map +0 -1
  604. package/dist/_utils/parse-transcript.d.ts +0 -14
  605. package/dist/_utils/parse-transcript.js +0 -94
  606. package/dist/_utils/parse-transcript.js.map +0 -1
  607. package/dist/_utils/plugin-status.d.ts +0 -4
  608. package/dist/_utils/plugin-status.js +0 -76
  609. package/dist/_utils/plugin-status.js.map +0 -1
  610. package/dist/_utils/post-route.d.ts +0 -6
  611. package/dist/_utils/post-route.js +0 -66
  612. package/dist/_utils/post-route.js.map +0 -1
  613. package/dist/_utils/pr-review-link.d.ts +0 -11
  614. package/dist/_utils/pr-review-link.js.map +0 -1
  615. package/dist/_utils/proactive-ticket-log.d.ts +0 -3
  616. package/dist/_utils/proactive-ticket-log.js +0 -21
  617. package/dist/_utils/proactive-ticket-log.js.map +0 -1
  618. package/dist/_utils/purge-agent-plugins.d.ts +0 -8
  619. package/dist/_utils/purge-agent-plugins.js +0 -62
  620. package/dist/_utils/purge-agent-plugins.js.map +0 -1
  621. package/dist/_utils/purge-claude-statusline.d.ts +0 -12
  622. package/dist/_utils/purge-claude-statusline.js +0 -57
  623. package/dist/_utils/purge-claude-statusline.js.map +0 -1
  624. package/dist/_utils/purge-local-state.d.ts +0 -7
  625. package/dist/_utils/purge-local-state.js +0 -40
  626. package/dist/_utils/purge-local-state.js.map +0 -1
  627. package/dist/_utils/record-commit-anchor.d.ts +0 -8
  628. package/dist/_utils/record-commit-anchor.js +0 -73
  629. package/dist/_utils/record-commit-anchor.js.map +0 -1
  630. package/dist/_utils/refresh-control-state.d.ts +0 -6
  631. package/dist/_utils/refresh-control-state.js +0 -30
  632. package/dist/_utils/refresh-control-state.js.map +0 -1
  633. package/dist/_utils/render-callback-page.d.ts +0 -2
  634. package/dist/_utils/render-callback-page.js +0 -90
  635. package/dist/_utils/render-callback-page.js.map +0 -1
  636. package/dist/_utils/report-cli-install.d.ts +0 -2
  637. package/dist/_utils/report-cli-install.js +0 -17
  638. package/dist/_utils/report-cli-install.js.map +0 -1
  639. package/dist/_utils/resolve-import-workspace.d.ts +0 -4
  640. package/dist/_utils/resolve-import-workspace.js.map +0 -1
  641. package/dist/_utils/result.d.ts +0 -14
  642. package/dist/_utils/result.js +0 -12
  643. package/dist/_utils/result.js.map +0 -1
  644. package/dist/_utils/run-bin.d.ts +0 -14
  645. package/dist/_utils/run-bin.js +0 -60
  646. package/dist/_utils/run-bin.js.map +0 -1
  647. package/dist/_utils/runtime-timezone.d.ts +0 -1
  648. package/dist/_utils/runtime-timezone.js +0 -13
  649. package/dist/_utils/runtime-timezone.js.map +0 -1
  650. package/dist/_utils/session-map.d.ts +0 -4
  651. package/dist/_utils/session-map.js +0 -38
  652. package/dist/_utils/session-map.js.map +0 -1
  653. package/dist/_utils/shell-profile.d.ts +0 -13
  654. package/dist/_utils/shell-profile.js.map +0 -1
  655. package/dist/_utils/state-line-memo.d.ts +0 -2
  656. package/dist/_utils/state-line-memo.js +0 -47
  657. package/dist/_utils/state-line-memo.js.map +0 -1
  658. package/dist/_utils/state-line.d.ts +0 -3
  659. package/dist/_utils/state-line.js.map +0 -1
  660. package/dist/_utils/state.d.ts +0 -15
  661. package/dist/_utils/state.js +0 -53
  662. package/dist/_utils/state.js.map +0 -1
  663. package/dist/_utils/sync-mode-from-server.d.ts +0 -3
  664. package/dist/_utils/sync-mode-from-server.js +0 -44
  665. package/dist/_utils/sync-mode-from-server.js.map +0 -1
  666. package/dist/_utils/transcript-turns.d.ts +0 -51
  667. package/dist/_utils/transcript-turns.js.map +0 -1
  668. package/dist/_utils/turn-cache.d.ts +0 -7
  669. package/dist/_utils/turn-cache.js +0 -56
  670. package/dist/_utils/turn-cache.js.map +0 -1
  671. package/dist/_utils/update.d.ts +0 -19
  672. package/dist/_utils/update.js +0 -196
  673. package/dist/_utils/update.js.map +0 -1
  674. package/dist/_utils/version.d.ts +0 -2
  675. package/dist/_utils/version.js +0 -18
  676. package/dist/_utils/version.js.map +0 -1
  677. package/dist/_utils/which.d.ts +0 -2
  678. package/dist/_utils/which.js +0 -4
  679. package/dist/_utils/which.js.map +0 -1
  680. package/dist/_utils/write-commit-trailer.d.ts +0 -2
  681. package/dist/_utils/write-commit-trailer.js +0 -25
  682. package/dist/_utils/write-commit-trailer.js.map +0 -1
  683. package/dist/bin.d.ts +0 -2
  684. package/dist/commands/_utils/materialize-skill.d.ts +0 -30
  685. package/dist/commands/_utils/materialize-skill.js +0 -207
  686. package/dist/commands/_utils/materialize-skill.js.map +0 -1
  687. package/dist/commands/_utils/mutate-evidence.d.ts +0 -17
  688. package/dist/commands/_utils/mutate-evidence.js +0 -80
  689. package/dist/commands/_utils/mutate-evidence.js.map +0 -1
  690. package/dist/commands/_utils/pack-skill-dir.d.ts +0 -15
  691. package/dist/commands/_utils/pack-skill-dir.js +0 -169
  692. package/dist/commands/_utils/pack-skill-dir.js.map +0 -1
  693. package/dist/commands/artifact.d.ts +0 -18
  694. package/dist/commands/artifact.js +0 -139
  695. package/dist/commands/artifact.js.map +0 -1
  696. package/dist/commands/code-search.d.ts +0 -4
  697. package/dist/commands/code-search.js +0 -164
  698. package/dist/commands/code-search.js.map +0 -1
  699. package/dist/commands/dependency.d.ts +0 -4
  700. package/dist/commands/dependency.js +0 -23
  701. package/dist/commands/dependency.js.map +0 -1
  702. package/dist/commands/doctor.d.ts +0 -7
  703. package/dist/commands/doctor.js +0 -243
  704. package/dist/commands/doctor.js.map +0 -1
  705. package/dist/commands/feedback.d.ts +0 -15
  706. package/dist/commands/feedback.js +0 -112
  707. package/dist/commands/feedback.js.map +0 -1
  708. package/dist/commands/forget.d.ts +0 -4
  709. package/dist/commands/forget.js +0 -29
  710. package/dist/commands/forget.js.map +0 -1
  711. package/dist/commands/git-hooks.d.ts +0 -9
  712. package/dist/commands/git-hooks.js +0 -18
  713. package/dist/commands/git-hooks.js.map +0 -1
  714. package/dist/commands/import.d.ts +0 -8
  715. package/dist/commands/import.js +0 -414
  716. package/dist/commands/import.js.map +0 -1
  717. package/dist/commands/incognito.d.ts +0 -4
  718. package/dist/commands/incognito.js +0 -13
  719. package/dist/commands/incognito.js.map +0 -1
  720. package/dist/commands/indicator.d.ts +0 -4
  721. package/dist/commands/indicator.js +0 -65
  722. package/dist/commands/indicator.js.map +0 -1
  723. package/dist/commands/ingest.d.ts +0 -3
  724. package/dist/commands/ingest.js +0 -367
  725. package/dist/commands/ingest.js.map +0 -1
  726. package/dist/commands/install.d.ts +0 -9
  727. package/dist/commands/install.js +0 -431
  728. package/dist/commands/install.js.map +0 -1
  729. package/dist/commands/invite.d.ts +0 -4
  730. package/dist/commands/invite.js +0 -61
  731. package/dist/commands/invite.js.map +0 -1
  732. package/dist/commands/login.d.ts +0 -4
  733. package/dist/commands/login.js +0 -145
  734. package/dist/commands/login.js.map +0 -1
  735. package/dist/commands/logout.d.ts +0 -4
  736. package/dist/commands/logout.js +0 -26
  737. package/dist/commands/logout.js.map +0 -1
  738. package/dist/commands/onboard.d.ts +0 -4
  739. package/dist/commands/onboard.js +0 -18
  740. package/dist/commands/onboard.js.map +0 -1
  741. package/dist/commands/org.d.ts +0 -5
  742. package/dist/commands/org.js +0 -157
  743. package/dist/commands/org.js.map +0 -1
  744. package/dist/commands/pr-link.d.ts +0 -2
  745. package/dist/commands/pr-link.js +0 -69
  746. package/dist/commands/pr-link.js.map +0 -1
  747. package/dist/commands/restore.d.ts +0 -4
  748. package/dist/commands/restore.js +0 -23
  749. package/dist/commands/restore.js.map +0 -1
  750. package/dist/commands/search.d.ts +0 -4
  751. package/dist/commands/search.js +0 -85
  752. package/dist/commands/search.js.map +0 -1
  753. package/dist/commands/session-start.d.ts +0 -2
  754. package/dist/commands/session-start.js +0 -114
  755. package/dist/commands/session-start.js.map +0 -1
  756. package/dist/commands/set-mode.d.ts +0 -5
  757. package/dist/commands/set-mode.js +0 -96
  758. package/dist/commands/set-mode.js.map +0 -1
  759. package/dist/commands/skill.d.ts +0 -18
  760. package/dist/commands/skill.js +0 -309
  761. package/dist/commands/skill.js.map +0 -1
  762. package/dist/commands/status.d.ts +0 -4
  763. package/dist/commands/status.js +0 -33
  764. package/dist/commands/status.js.map +0 -1
  765. package/dist/commands/statusline.d.ts +0 -2
  766. package/dist/commands/statusline.js +0 -37
  767. package/dist/commands/statusline.js.map +0 -1
  768. package/dist/commands/suggestions.d.ts +0 -4
  769. package/dist/commands/suggestions.js +0 -84
  770. package/dist/commands/suggestions.js.map +0 -1
  771. package/dist/commands/takeover/_utils/agent-paths.d.ts +0 -6
  772. package/dist/commands/takeover/_utils/archive-codex-desktop-thread.d.ts +0 -5
  773. package/dist/commands/takeover/_utils/canonical-digest.d.ts +0 -5
  774. package/dist/commands/takeover/_utils/codex-desktop-recovery.d.ts +0 -16
  775. package/dist/commands/takeover/_utils/context-fit.d.ts +0 -18
  776. package/dist/commands/takeover/_utils/cursor-store.d.ts +0 -49
  777. package/dist/commands/takeover/_utils/import-codex-desktop-thread.d.ts +0 -14
  778. package/dist/commands/takeover/_utils/launch-desktop-url.d.ts +0 -4
  779. package/dist/commands/takeover/_utils/native-file.d.ts +0 -14
  780. package/dist/commands/takeover/_utils/probe-agent.d.ts +0 -20
  781. package/dist/commands/takeover/_utils/provenance-context.d.ts +0 -7
  782. package/dist/commands/takeover/_utils/staged-session.d.ts +0 -64
  783. package/dist/commands/takeover/_utils/write-claude-desktop-session.d.ts +0 -47
  784. package/dist/commands/takeover/_utils/write-claude-session.d.ts +0 -53
  785. package/dist/commands/takeover/_utils/write-codex-desktop-session.d.ts +0 -96
  786. package/dist/commands/takeover/_utils/write-codex-session.d.ts +0 -52
  787. package/dist/commands/takeover/_utils/write-cursor-session.d.ts +0 -57
  788. package/dist/commands/takeover/_utils/write-pi-session.d.ts +0 -52
  789. package/dist/commands/takeover/index.d.ts +0 -21
  790. package/dist/commands/takeover/takeover.schema.d.ts +0 -24
  791. package/dist/commands/uninstall.d.ts +0 -8
  792. package/dist/commands/uninstall.js +0 -130
  793. package/dist/commands/uninstall.js.map +0 -1
  794. package/dist/commands/update.d.ts +0 -4
  795. package/dist/commands/update.js +0 -127
  796. package/dist/commands/update.js.map +0 -1
  797. package/dist/jcode/skills/session-takeover/SKILL.md +0 -67
  798. /package/dist/{_utils → clients/agents}/normalize-transcript-timestamp.js +0 -0
@@ -1,90 +0,0 @@
1
- const GLEN_LOGO_BASE64 = "iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABmJLR0QA/wD/AP+gvaeTAAAE4ElEQVR4nO3bTUxcVRQH8P+5DyiM0kKdeQN0VEhMaEJI1KaYJkZAMMAMJTU6rR900aqNZWWMujA1tosuZNHEmDQ2ph/0ATUTE9NEiW60MSbGr40LVyaatCt0KXQYZt5xgd2QQpnH/XiQ81vzzrmZ//DmvnvvA4QQQgghhBBCCCGEEEIIIYQQQgghhBDbDbkewHaUvDjWqOqWBwAaBtADYO/80bnE3f62xu7AtrdkMNzpkZpgLr8C0H0buUYC0KBlZrQn5PAsGIPM1V0rAWxCy6WRVFhL58IwfBkRb+cSQESpIHs4BJ8H8MBm6kgAVcoU8g2l4uKHAL+mYw4jAVQhGQy1Li0tXCfCfl01JYANSk9nu8MQXxLhQZ11JYANSAYHH2eufE2EpO7aSnfB7cafGj2gUPkG0P/hAxLAulquDHWBwi8A7DLVQ25Ba9g9PZIJmeYA7DbZZ80A/CD7B5jmofhPZv4tDNWvjWHq+7+OXSmaHFAcpAp991NJfQXwQ6Z7rfcfkABxOxjtBOr3FGPRm7/tX81+FxJ9/k9mYQ79N8qmB2gdg9RM4hIzd9loV91vAKMBhCEF/jh1K/GDP52baC7kjd0fXfCnR04xI2+rX+QfYQL2gPlU7dK/P/pB7mRXIV+nc2AupK4OPwnQ+zZ7apgF0U6A3/u7uHjDnxo+sPl6bjQXBneRUgEAz2ZffdNQ4nYoVfCD7Js4fXrLTW9ri3XnwWi33Vf3B+UBeMt/5KcgeXGsUXNtY/xg5BAIL7nobeabyuinHeXryWCo1Uh9jVa+KPSRq/7GbhXE2KvY+8z/ZCBtqocOXu3yWQAZV/3N3qsJHdxQ/2mmMGT0aTKq1NTIY0w04XIMxn8sibmztKQu7/vlRK3pXtUijyZhedazmqXZCu2/9fvNSTu9NiYZ5HJgDLoeh7XpIhMdSV/Ljdnqt65C3lOED1wPA7C8HM3lcDIOM6N0cTEPS2s992L5gYl2EtecAzs8kccgJn7XWf9VrD+xEnFvcnb4iO2+d/hB7lkA3a76r+ZkyUCF6kxmanSPi94gfsdJ3zW4WrNpXCa2uuoIrGyuA3jCdt/1OFs0Y+LR1Ez2KZs9FVXesNlvI9yuWjKdwbd9Vvalmy4faoLFjZaNchoAMXembibGbfTaUVN6HkC9jV7VcL5uT8Rv29jWZOBF0z2icB4AQM01pYWTJjv8//DXa7JHVDEIACDGq22zfUZOngGAx94LcLzotpZYBAAgUSknXjdVPKR43n6A+AQAJhz3Z8e0b960zmQfJug7Tq5bbAIAUI/ysvbNkbBCzpec1xOnAABF47p3z5h4QGc93eIVAKOhVFTHNNYjAP3a6hkQrwAAgHC87cLBu77UXK10kOsC0KKjlinxCwDUvNxQOayjUgh+Wkcdk2IYAECKTug4XUdEPTrGY1IsAwBze7Lj580/uRIe1TAao+IZAABP8dHNXJ8p5BvA3KlrPKbENgAwBjezgV9evt2NLfAKVmwDYEKNIhX5wGwlDGNx6uFeYhvAChrHhX2RTtQRqEP3aEyIdwCMdCqRjvYkS9yudzBmxDsAAESI9mPs4GWLKGIfABi9yWvPtEW4MtbH4u+IfwCAUpW6QxGua9I+EgO2QgAA83MRrtpWr88KIYQQQgghhBBCCCGEEEIISTX9B+l2HtJhmbi6AAAAAElFTkSuQmCC";
2
- const CHECK_PATH = "M20 6 9 17l-5-5";
3
- const CROSS_PATH = "M18 6 6 18M6 6l12 12";
4
- const escapeHtml = (s) => s.replace(/[&<>]/g, (c) => ({ "&": "&amp;", "<": "&lt;", ">": "&gt;" })[c] ?? c);
5
- const renderCallbackPage = (ok) => {
6
- const title = ok ? "Connected to glen" : "Connection didn't complete";
7
- const message = ok
8
- ? ""
9
- : "Something interrupted the sign-in. Head back to your terminal and run it again.";
10
- const iconPath = ok ? CHECK_PATH : CROSS_PATH;
11
- const badgeClass = ok ? "badge badge--ok" : "badge badge--err";
12
- const messageHtml = message
13
- ? `<p class="message">${escapeHtml(message)}</p>`
14
- : "";
15
- return `<!doctype html>
16
- <html lang="en">
17
- <head>
18
- <meta charset="utf-8" />
19
- <meta name="viewport" content="width=device-width, initial-scale=1" />
20
- <title>glen</title>
21
- <link rel="preconnect" href="https://fonts.googleapis.com" />
22
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
23
- <link href="https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700&display=swap" rel="stylesheet" />
24
- <style>
25
- :root {
26
- --page: oklch(0.985 0.001 106.423);
27
- --card: oklch(1 0 0);
28
- --fg: oklch(0.147 0.004 49.25);
29
- --muted-fg: oklch(0.553 0.013 58.071);
30
- --border: oklch(0.923 0.003 48.717);
31
- --primary: oklch(0.8 0.17 152);
32
- --primary-fg: oklch(0.16 0.04 150);
33
- --destructive: oklch(0.577 0.245 27.325);
34
- --on-destructive: oklch(0.985 0 0);
35
- }
36
- @media (prefers-color-scheme: dark) {
37
- :root {
38
- --page: oklch(0.147 0.004 49.25);
39
- --card: oklch(0.216 0.006 56.043);
40
- --fg: oklch(0.985 0.001 106.423);
41
- --muted-fg: oklch(0.709 0.01 56.259);
42
- --border: oklch(1 0 0 / 12%);
43
- --destructive: oklch(0.704 0.191 22.216);
44
- --on-destructive: oklch(0.16 0.02 25);
45
- }
46
- }
47
- * { box-sizing: border-box; }
48
- html, body { height: 100%; margin: 0; }
49
- body {
50
- font-family: "Hanken Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
51
- background: var(--page); color: var(--fg);
52
- display: grid; place-items: center; padding: 24px;
53
- -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
54
- }
55
- .card {
56
- width: 100%; max-width: 400px; background: var(--card);
57
- border: 1px solid var(--border); /* sharp corners — the app's --radius is 0 */
58
- padding: 48px 40px; text-align: center;
59
- box-shadow: 0 1px 2px oklch(0 0 0 / 4%), 0 24px 48px -28px oklch(0 0 0 / 22%);
60
- }
61
- .logo { width: 38px; height: 38px; margin: 0 auto 28px; display: block; }
62
- .badge {
63
- width: 52px; height: 52px; margin: 0 auto 24px;
64
- display: grid; place-items: center;
65
- }
66
- .badge svg { width: 26px; height: 26px; }
67
- .badge--ok { background: var(--primary); }
68
- .badge--ok svg { stroke: var(--primary-fg); }
69
- .badge--err { background: var(--destructive); }
70
- .badge--err svg { stroke: var(--on-destructive); }
71
- h1 { font-size: 21px; font-weight: 600; letter-spacing: -0.014em; margin: 0; }
72
- .message { font-size: 14.5px; line-height: 1.55; color: var(--muted-fg); margin: 12px 0 0; }
73
- .hint { font-size: 13px; color: var(--muted-fg); margin: 28px 0 0; }
74
- </style>
75
- </head>
76
- <body>
77
- <main class="card" role="status" aria-live="polite">
78
- <img class="logo" src="data:image/png;base64,${GLEN_LOGO_BASE64}" alt="glen" />
79
- <div class="${badgeClass}">
80
- <svg viewBox="0 0 24 24" fill="none" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="${iconPath}" /></svg>
81
- </div>
82
- <h1>${title}</h1>
83
- ${messageHtml}
84
- <p class="hint">You can close this tab.</p>
85
- </main>
86
- </body>
87
- </html>`;
88
- };
89
- export { renderCallbackPage };
90
- //# sourceMappingURL=render-callback-page.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"render-callback-page.js","sourceRoot":"","sources":["../../src/_utils/render-callback-page.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GACpB,suDAAsuD,CAAC;AAEzuD,MAAM,UAAU,GAAG,iBAAiB,CAAC;AACrC,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAE1C,MAAM,UAAU,GAAG,CAAC,CAAS,EAAU,EAAE,CACvC,CAAC,CAAC,OAAO,CACP,QAAQ,EACR,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAC5D,CAAC;AAEJ,MAAM,kBAAkB,GAAG,CAAC,EAAW,EAAU,EAAE;IACjD,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,4BAA4B,CAAC;IACtE,MAAM,OAAO,GAAG,EAAE;QAChB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,iFAAiF,CAAC;IACtF,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;IAC9C,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAC/D,MAAM,WAAW,GAAG,OAAO;QACzB,CAAC,CAAC,sBAAsB,UAAU,CAAC,OAAO,CAAC,MAAM;QACjD,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDA+D0C,gBAAgB;kBACjD,UAAU;2IAC+G,QAAQ;;UAEzI,KAAK;MACT,WAAW;;;;QAIT,CAAC;AACT,CAAC,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,2 +0,0 @@
1
- declare const reportCliInstall: () => Promise<"none" | "pending" | "reported">;
2
- export { reportCliInstall };
@@ -1,17 +0,0 @@
1
- import { config } from "./config.js";
2
- import { installReceipt } from "./install-receipt.js";
3
- import { postRoute } from "./post-route.js";
4
- const reportCliInstall = async () => {
5
- const pending = (await installReceipt.read())?.pendingInstall;
6
- if (!pending)
7
- return "none";
8
- const posted = await postRoute(config.recordCliInstallUrl, pending, {
9
- reexecOn426: false,
10
- });
11
- if (!posted.ok)
12
- return "pending";
13
- const cleared = await installReceipt.clearPendingInstall();
14
- return cleared.ok ? "reported" : "pending";
15
- };
16
- export { reportCliInstall };
17
- //# sourceMappingURL=report-cli-install.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"report-cli-install.js","sourceRoot":"","sources":["../../src/_utils/report-cli-install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;IAClC,MAAM,OAAO,GAAG,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,cAAc,CAAC;IAC9D,IAAI,CAAC,OAAO;QAAE,OAAO,MAAe,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,mBAAmB,EAAE,OAAO,EAAE;QAClE,WAAW,EAAE,KAAK;KACnB,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,SAAkB,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,mBAAmB,EAAE,CAAC;IAC3D,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAE,UAAoB,CAAC,CAAC,CAAE,SAAmB,CAAC;AACnE,CAAC,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,4 +0,0 @@
1
- export declare const resolveImportWorkspace: (cwd: string | undefined, branch: string | undefined) => {
2
- readonly repoName: string;
3
- readonly remoteUrl: string;
4
- } | null;
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-import-workspace.js","sourceRoot":"","sources":["../../src/_utils/resolve-import-workspace.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- type Ok<T> = {
2
- readonly ok: true;
3
- readonly value: T;
4
- };
5
- type Err<E> = {
6
- readonly ok: false;
7
- readonly error: E;
8
- };
9
- type Result<T, E = unknown> = Ok<T> | Err<E>;
10
- declare const ok: <T>(value: T) => Ok<T>;
11
- declare const err: <E>(error: E) => Err<E>;
12
- declare const fromPromise: <T>(promise: Promise<T>) => Promise<Result<T, unknown>>;
13
- export { ok, err, fromPromise };
14
- export type { Result };
@@ -1,12 +0,0 @@
1
- const ok = (value) => ({ ok: true, value });
2
- const err = (error) => ({ ok: false, error });
3
- const fromPromise = async (promise) => {
4
- try {
5
- return ok(await promise);
6
- }
7
- catch (e) {
8
- return err(e);
9
- }
10
- };
11
- export { ok, err, fromPromise };
12
- //# sourceMappingURL=result.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/_utils/result.ts"],"names":[],"mappings":"AAIA,MAAM,EAAE,GAAG,CAAI,KAAQ,EAAS,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACzD,MAAM,GAAG,GAAG,CAAI,KAAQ,EAAU,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAE5D,MAAM,WAAW,GAAG,KAAK,EACvB,OAAmB,EACU,EAAE;IAC/B,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,MAAM,OAAO,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;AACH,CAAC,CAAC;AAEF,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC"}
@@ -1,14 +0,0 @@
1
- import { type Result } from "./result.js";
2
- type RunBinFailure = {
3
- readonly code: number | null;
4
- readonly stderr: string;
5
- readonly stderrTail: string;
6
- readonly spawnError?: string;
7
- };
8
- declare const runBin: (bin: string, args: readonly string[], opts?: {
9
- timeoutMs?: number;
10
- }) => Result<{
11
- stdout: string;
12
- }, RunBinFailure>;
13
- export { runBin };
14
- export type { RunBinFailure };
@@ -1,60 +0,0 @@
1
- import { execFileSync } from "node:child_process";
2
- import { err, ok } from "./result.js";
3
- const tail = (s) => s
4
- .split("\n")
5
- .map((l) => l.trim())
6
- .filter(Boolean)
7
- .slice(-3)
8
- .join(" · ")
9
- .slice(0, 400);
10
- const runBin = (bin, args, opts = {}) => {
11
- try {
12
- const stdout = execFileSync(bin, args, {
13
- encoding: "utf8",
14
- stdio: ["ignore", "pipe", "pipe"],
15
- timeout: opts.timeoutMs ?? 60_000,
16
- });
17
- return ok({ stdout });
18
- }
19
- catch (e) {
20
- const ex = e;
21
- if (ex.code === "ENOENT") {
22
- return err({
23
- code: null,
24
- stderr: "",
25
- stderrTail: "",
26
- spawnError: `ENOENT: ${bin} not found`,
27
- });
28
- }
29
- const stderr = typeof ex.stderr === "string"
30
- ? ex.stderr
31
- : (ex.stderr?.toString("utf8") ?? "");
32
- if (ex.code === "ETIMEDOUT") {
33
- return err({
34
- code: ex.status ?? null,
35
- stderr,
36
- stderrTail: tail(stderr),
37
- spawnError: `ETIMEDOUT: ${bin} ${args[0] ?? ""} timed out`.trim(),
38
- });
39
- }
40
- if (ex.signal) {
41
- return err({
42
- code: ex.status ?? null,
43
- stderr,
44
- stderrTail: tail(stderr),
45
- spawnError: `killed by ${ex.signal}`,
46
- });
47
- }
48
- if (ex.status == null && typeof ex.code === "string") {
49
- return err({
50
- code: null,
51
- stderr,
52
- stderrTail: tail(stderr),
53
- spawnError: `${ex.code}: ${bin} couldn't start`,
54
- });
55
- }
56
- return err({ code: ex.status ?? null, stderr, stderrTail: tail(stderr) });
57
- }
58
- };
59
- export { runBin };
60
- //# sourceMappingURL=run-bin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-bin.js","sourceRoot":"","sources":["../../src/_utils/run-bin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAe,GAAG,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AASnD,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CACjC,CAAC;KACE,KAAK,CAAC,IAAI,CAAC;KACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;KACpB,MAAM,CAAC,OAAO,CAAC;KACf,KAAK,CAAC,CAAC,CAAC,CAAC;KACT,IAAI,CAAC,KAAK,CAAC;KACX,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAEnB,MAAM,MAAM,GAAG,CACb,GAAW,EACX,IAAuB,EACvB,OAA+B,EAAE,EACU,EAAE;IAC7C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,IAAgB,EAAE;YACjD,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,OAAO,EAAE,IAAI,CAAC,SAAS,IAAI,MAAM;SAClC,CAAC,CAAC;QACH,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,EAAE,GAAG,CAIV,CAAC;QACF,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzB,OAAO,GAAG,CAAC;gBACT,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,EAAE;gBACV,UAAU,EAAE,EAAE;gBACd,UAAU,EAAE,WAAW,GAAG,YAAY;aACvC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,MAAM,GACV,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ;YAC3B,CAAC,CAAC,EAAE,CAAC,MAAM;YACX,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,IAAI,EAAE,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC5B,OAAO,GAAG,CAAC;gBACT,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,IAAI;gBACvB,MAAM;gBACN,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,cAAc,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE;aAClE,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YACd,OAAO,GAAG,CAAC;gBACT,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,IAAI;gBACvB,MAAM;gBACN,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,aAAa,EAAE,CAAC,MAAM,EAAE;aACrC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,OAAO,GAAG,CAAC;gBACT,IAAI,EAAE,IAAI;gBACV,MAAM;gBACN,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,GAAG,iBAAiB;aAChD,CAAC,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- export declare const runtimeTimezone: () => string | undefined;
@@ -1,13 +0,0 @@
1
- export const runtimeTimezone = () => {
2
- try {
3
- const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
4
- if (!timezone)
5
- return undefined;
6
- Intl.DateTimeFormat(undefined, { timeZone: timezone });
7
- return timezone;
8
- }
9
- catch {
10
- return undefined;
11
- }
12
- };
13
- //# sourceMappingURL=runtime-timezone.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-timezone.js","sourceRoot":"","sources":["../../src/_utils/runtime-timezone.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,GAAuB,EAAE;IACtD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;QAClE,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- declare const mapPath: () => string;
2
- declare const recordSession: (cwd: string, sessionId: string) => Promise<void>;
3
- declare const readSessionForCwd: (cwd: string) => Promise<string | null>;
4
- export { recordSession, readSessionForCwd, mapPath };
@@ -1,38 +0,0 @@
1
- import { mkdir, readFile, rename, writeFile } from "node:fs/promises";
2
- import { homedir } from "node:os";
3
- import { dirname, join } from "node:path";
4
- import { fromPromise } from "./result.js";
5
- const mapPath = () => process.env.GLEN_SESSION_MAP_PATH ??
6
- join(homedir(), ".glen", "sessions.json");
7
- const readMap = async () => {
8
- const raw = await fromPromise(readFile(mapPath(), "utf-8"));
9
- if (!raw.ok)
10
- return {};
11
- const parsed = await fromPromise(new Promise((resolve) => resolve(JSON.parse(raw.value))));
12
- if (!parsed.ok || !parsed.value || typeof parsed.value !== "object")
13
- return {};
14
- const out = {};
15
- for (const [k, v] of Object.entries(parsed.value))
16
- if (typeof v === "string")
17
- out[k] = v;
18
- return out;
19
- };
20
- const recordSession = async (cwd, sessionId) => {
21
- const map = await readMap();
22
- map[cwd] = sessionId;
23
- const filePath = mapPath();
24
- const mk = await fromPromise(mkdir(dirname(filePath), { recursive: true, mode: 0o700 }));
25
- if (!mk.ok)
26
- return;
27
- const tmp = `${filePath}.${process.pid}.tmp`;
28
- const w = await fromPromise(writeFile(tmp, JSON.stringify(map, null, 2)));
29
- if (!w.ok)
30
- return;
31
- await fromPromise(rename(tmp, filePath));
32
- };
33
- const readSessionForCwd = async (cwd) => {
34
- const map = await readMap();
35
- return map[cwd] ?? null;
36
- };
37
- export { recordSession, readSessionForCwd, mapPath };
38
- //# sourceMappingURL=session-map.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-map.js","sourceRoot":"","sources":["../../src/_utils/session-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,OAAO,GAAG,GAAW,EAAE,CAC3B,OAAO,CAAC,GAAG,CAAC,qBAAqB;IACjC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;AAE5C,MAAM,OAAO,GAAG,KAAK,IAAqC,EAAE;IAC1D,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE,CAC/B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAY,CAAC,CAC1C,CACF,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;QACjE,OAAO,EAAE,CAAC;IACZ,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAgC,CAAC;QAC1E,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxC,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EAAE,GAAW,EAAE,SAAiB,EAAiB,EAAE;IAC5E,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;IAC5B,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACrB,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC;IAC3B,MAAM,EAAE,GAAG,MAAM,WAAW,CAC1B,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAC3D,CAAC;IACF,IAAI,CAAC,EAAE,CAAC,EAAE;QAAE,OAAO;IACnB,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;IAC7C,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO;IAClB,MAAM,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,KAAK,EAAE,GAAW,EAA0B,EAAE;IACtE,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;IAC5B,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;AAC1B,CAAC,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC"}
@@ -1,13 +0,0 @@
1
- import { type CliError } from "./cli-error.js";
2
- import { type Result } from "./result.js";
3
- declare const loginProfileForShell: () => {
4
- shell: "zsh" | "bash";
5
- profilePath: string;
6
- } | null;
7
- declare const glenPathBlock: (binDir: string) => string;
8
- declare const glenPathBlockPresent: (profileText: string) => boolean;
9
- declare const addGlenPathBlock: (profilePath: string, binDir: string) => Promise<Result<"added" | "updated" | "already-present", CliError>>;
10
- declare const removeGlenPathBlock: (profilePath: string) => Promise<Result<"removed" | "absent", CliError>>;
11
- declare const addGlenLoginCheckBlock: (profilePath: string) => Promise<Result<"added" | "updated" | "already-present", CliError>>;
12
- declare const removeGlenLoginCheckBlock: (profilePath: string) => Promise<Result<"removed" | "absent", CliError>>;
13
- export { addGlenLoginCheckBlock, addGlenPathBlock, glenPathBlock, glenPathBlockPresent, loginProfileForShell, removeGlenLoginCheckBlock, removeGlenPathBlock, };
@@ -1 +0,0 @@
1
- {"version":3,"file":"shell-profile.js","sourceRoot":"","sources":["../../src/_utils/shell-profile.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- declare const rememberStateLine: (sessionId: string, line: string) => Promise<boolean>;
2
- export { rememberStateLine };
@@ -1,47 +0,0 @@
1
- // Emit the state line only when it changes: Codex shows every injected context as a visible card.
2
- // On any fs failure report "changed": fail toward showing the line, never hiding it.
3
- import { mkdir, readFile, rename, writeFile } from "node:fs/promises";
4
- import { homedir } from "node:os";
5
- import { dirname, join } from "node:path";
6
- const MAX_SESSIONS = 200;
7
- const MAX_AGE_MS = 48 * 60 * 60 * 1000;
8
- const memoPath = () => join(process.env.GLEN_STATE_PATH
9
- ? dirname(process.env.GLEN_STATE_PATH)
10
- : join(homedir(), ".glen"), "state-line-memo.json");
11
- const readMemo = async () => {
12
- try {
13
- const raw = await readFile(memoPath(), "utf8");
14
- const parsed = JSON.parse(raw);
15
- if (parsed && typeof parsed === "object")
16
- return parsed;
17
- return {};
18
- }
19
- catch {
20
- return {};
21
- }
22
- };
23
- const writeMemo = async (memo) => {
24
- const now = Date.now();
25
- const entries = Object.entries(memo)
26
- .filter(([, e]) => now - e.updatedAt < MAX_AGE_MS)
27
- .sort(([idA, a], [idB, b]) => b.updatedAt - a.updatedAt || (idA > idB ? -1 : idA < idB ? 1 : 0))
28
- .slice(0, MAX_SESSIONS);
29
- try {
30
- const path = memoPath();
31
- await mkdir(dirname(path), { recursive: true });
32
- const tmp = `${path}.${process.pid}.tmp`;
33
- await writeFile(tmp, JSON.stringify(Object.fromEntries(entries)));
34
- await rename(tmp, path);
35
- }
36
- catch { }
37
- };
38
- const rememberStateLine = async (sessionId, line) => {
39
- const memo = await readMemo();
40
- if (memo[sessionId]?.line === line)
41
- return false;
42
- memo[sessionId] = { line, updatedAt: Date.now() };
43
- await writeMemo(memo);
44
- return true;
45
- };
46
- export { rememberStateLine };
47
- //# sourceMappingURL=state-line-memo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state-line-memo.js","sourceRoot":"","sources":["../../src/_utils/state-line-memo.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { GlenState } from "./state.js";
2
- declare const formatStateLine: (state: GlenState | null) => string | null;
3
- export { formatStateLine };
@@ -1 +0,0 @@
1
- {"version":3,"file":"state-line.js","sourceRoot":"","sources":["../../src/_utils/state-line.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG,CAAC,KAAuB,EAAiB,EAAE;IACjE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACjE,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,WAAW,CAAC;IAC5E,OAAO,KAAK,CAAC,IAAI,KAAK,WAAW;QAC/B,CAAC,CAAC,eAAe,GAAG,2DAA2D;QAC/E,CAAC,CAAC,eAAe,GAAG,cAAc,CAAC;AACvC,CAAC,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1,15 +0,0 @@
1
- import type { Result } from "./result.js";
2
- type GlenMode = "on" | "off" | "incognito" | "silent";
3
- type GlenState = {
4
- readonly activeOrgId: string;
5
- readonly activeOrgSlug: string | null;
6
- readonly activeOrgName: string | null;
7
- readonly mode: GlenMode;
8
- readonly modeUpdatedAt?: string;
9
- };
10
- declare const statePath: () => string;
11
- declare const readState: () => Promise<GlenState | null>;
12
- declare const writeState: (state: GlenState) => Promise<Result<void, unknown>>;
13
- declare const clearState: () => Promise<Result<void, unknown>>;
14
- export { statePath, readState, writeState, clearState };
15
- export type { GlenState, GlenMode };
@@ -1,53 +0,0 @@
1
- import { mkdir, readFile, rename, unlink, writeFile } from "node:fs/promises";
2
- import { homedir } from "node:os";
3
- import { dirname, join } from "node:path";
4
- import { fromPromise } from "./result.js";
5
- const isGlenMode = (v) => v === "on" || v === "off" || v === "incognito" || v === "silent";
6
- const statePath = () => process.env.GLEN_STATE_PATH ?? join(homedir(), ".glen", "state.json");
7
- const readState = async () => {
8
- const raw = await fromPromise(readFile(statePath(), "utf-8"));
9
- if (!raw.ok)
10
- return null;
11
- const parsed = await fromPromise(new Promise((resolve) => resolve(JSON.parse(raw.value))));
12
- if (!parsed.ok)
13
- return null;
14
- const d = parsed.value;
15
- if (!d || typeof d.activeOrgId !== "string")
16
- return null;
17
- const mode = isGlenMode(d.mode)
18
- ? d.mode
19
- : d.incognito === true
20
- ? "incognito"
21
- : "on";
22
- return {
23
- activeOrgId: d.activeOrgId,
24
- activeOrgSlug: typeof d.activeOrgSlug === "string" ? d.activeOrgSlug : null,
25
- activeOrgName: typeof d.activeOrgName === "string" ? d.activeOrgName : null,
26
- mode,
27
- ...(typeof d.modeUpdatedAt === "string"
28
- ? { modeUpdatedAt: d.modeUpdatedAt }
29
- : {}),
30
- };
31
- };
32
- const writeState = async (state) => {
33
- const filePath = statePath();
34
- const mk = await fromPromise(mkdir(dirname(filePath), { recursive: true, mode: 0o700 }));
35
- if (!mk.ok)
36
- return mk;
37
- const tmp = `${filePath}.${process.pid}.tmp`;
38
- const w = await fromPromise(writeFile(tmp, JSON.stringify(state, null, 2)));
39
- if (!w.ok)
40
- return w;
41
- const mv = await fromPromise(rename(tmp, filePath));
42
- if (!mv.ok)
43
- return mv;
44
- return { ok: true, value: undefined };
45
- };
46
- const clearState = async () => {
47
- const r = await fromPromise(unlink(statePath()));
48
- if (!r.ok && r.error.code !== "ENOENT")
49
- return r;
50
- return { ok: true, value: undefined };
51
- };
52
- export { statePath, readState, writeState, clearState };
53
- //# sourceMappingURL=state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/_utils/state.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { type GlenState } from "./state.js";
2
- declare const syncModeFromServer: (json: unknown) => Promise<GlenState | null>;
3
- export { syncModeFromServer };
@@ -1,44 +0,0 @@
1
- import { readState, writeState } from "./state.js";
2
- // Last-writer-wins on server timestamps: apply only echoes strictly newer than modeUpdatedAt,
3
- // so a stale in-flight turn can't undo a mode change. A null server updatedAt is not authoritative.
4
- const syncModeFromServer = async (json) => {
5
- const state = await readState();
6
- if (!state)
7
- return state;
8
- const d = json;
9
- if (!d)
10
- return state;
11
- const canonical = d.serverMode === "on" ||
12
- d.serverMode === "off" ||
13
- d.serverMode === "incognito" ||
14
- d.serverMode === "silent"
15
- ? d.serverMode
16
- : d.mode === "on" ||
17
- d.mode === "off" ||
18
- d.mode === "incognito" ||
19
- d.mode === "silent"
20
- ? d.mode
21
- : null;
22
- if (canonical === null && typeof d.serverIncognito !== "boolean")
23
- return state;
24
- const updatedAt = typeof d.updatedAt === "string"
25
- ? d.updatedAt
26
- : typeof d.serverIncognitoUpdatedAt === "string"
27
- ? d.serverIncognitoUpdatedAt
28
- : null;
29
- if (updatedAt === null)
30
- return state;
31
- const desired = canonical ??
32
- (d.serverIncognito
33
- ? "incognito"
34
- : d.serverSilent === true
35
- ? "silent"
36
- : "on");
37
- if (state.modeUpdatedAt !== undefined && updatedAt <= state.modeUpdatedAt)
38
- return state;
39
- const next = { ...state, mode: desired, modeUpdatedAt: updatedAt };
40
- const w = await writeState(next);
41
- return w.ok ? next : state;
42
- };
43
- export { syncModeFromServer };
44
- //# sourceMappingURL=sync-mode-from-server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-mode-from-server.js","sourceRoot":"","sources":["../../src/_utils/sync-mode-from-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnE,8FAA8F;AAC9F,oGAAoG;AACpG,MAAM,kBAAkB,GAAG,KAAK,EAAE,IAAa,EAA6B,EAAE;IAC5E,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,CAAC,GAAG,IAOF,CAAC;IACT,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,MAAM,SAAS,GACb,CAAC,CAAC,UAAU,KAAK,IAAI;QACrB,CAAC,CAAC,UAAU,KAAK,KAAK;QACtB,CAAC,CAAC,UAAU,KAAK,WAAW;QAC5B,CAAC,CAAC,UAAU,KAAK,QAAQ;QACvB,CAAC,CAAC,CAAC,CAAC,UAAU;QACd,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI;YACb,CAAC,CAAC,IAAI,KAAK,KAAK;YAChB,CAAC,CAAC,IAAI,KAAK,WAAW;YACtB,CAAC,CAAC,IAAI,KAAK,QAAQ;YACrB,CAAC,CAAC,CAAC,CAAC,IAAI;YACR,CAAC,CAAC,IAAI,CAAC;IACb,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,eAAe,KAAK,SAAS;QAC9D,OAAO,KAAK,CAAC;IACf,MAAM,SAAS,GACb,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;QAC7B,CAAC,CAAC,CAAC,CAAC,SAAS;QACb,CAAC,CAAC,OAAO,CAAC,CAAC,wBAAwB,KAAK,QAAQ;YAC9C,CAAC,CAAC,CAAC,CAAC,wBAAwB;YAC5B,CAAC,CAAC,IAAI,CAAC;IACb,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACrC,MAAM,OAAO,GACX,SAAS;QACT,CAAC,CAAC,CAAC,eAAe;YAChB,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,CAAC,CAAC,YAAY,KAAK,IAAI;gBACvB,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,IAAI,CAAC,CAAC;IACd,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,SAAS,IAAI,KAAK,CAAC,aAAa;QACvE,OAAO,KAAK,CAAC;IACf,MAAM,IAAI,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;IACnE,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7B,CAAC,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,51 +0,0 @@
1
- type Segment = {
2
- readonly kind: "text" | "thinking" | "tool_call" | "tool_result" | "compaction";
3
- readonly text?: string;
4
- readonly jsonContent?: Record<string, unknown>;
5
- };
6
- type TranscriptMessage = {
7
- readonly role: "user" | "assistant";
8
- readonly text: string;
9
- readonly occurredAt?: string;
10
- readonly segments?: readonly Segment[];
11
- };
12
- type BenchmarkRun = {
13
- readonly benchmark: string;
14
- readonly taskId: string;
15
- readonly role: "seed" | "target";
16
- readonly trialId: string;
17
- readonly condition: "off" | "incognito";
18
- readonly reward: number | null;
19
- readonly tokens: {
20
- readonly input: number | null;
21
- readonly cachedInput: number | null;
22
- readonly output: number | null;
23
- readonly reasoning: number | null;
24
- readonly total: number | null;
25
- };
26
- readonly costUsd: number | null;
27
- readonly durationMs: number | null;
28
- };
29
- type ParsedTranscript = {
30
- readonly sessionId: string;
31
- readonly agent: "claude-code" | "codex" | "cursor" | "pi" | "jcode";
32
- readonly cwd: string | undefined;
33
- readonly branch: string | undefined;
34
- readonly model: string | undefined;
35
- readonly messages: readonly TranscriptMessage[];
36
- readonly format?: "harbor-atif";
37
- readonly agentVersion?: string;
38
- readonly repoName?: string;
39
- readonly commit?: string;
40
- readonly remoteUrl?: string;
41
- readonly benchmarkRun?: BenchmarkRun;
42
- };
43
- type TranscriptTurn = readonly {
44
- readonly role: "user" | "assistant";
45
- readonly content: string;
46
- readonly occurredAt?: string;
47
- readonly segments?: readonly Segment[];
48
- }[];
49
- declare const buildTranscriptTurns: (messages: readonly TranscriptMessage[]) => TranscriptTurn[];
50
- export { buildTranscriptTurns };
51
- export type { BenchmarkRun, TranscriptMessage, ParsedTranscript, TranscriptTurn, Segment, };
@@ -1 +0,0 @@
1
- {"version":3,"file":"transcript-turns.js","sourceRoot":"","sources":["../../src/_utils/transcript-turns.ts"],"names":[],"mappings":"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"}