@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
@@ -15,9 +15,6 @@ const messageOf = (e) => e.message !== null && typeof e.message === "object"
15
15
  ? e.message
16
16
  : null;
17
17
  const str = (v) => (typeof v === "string" ? v : "");
18
- // A pi `toolResult`/`bashExecution` message's output text: toolResult's
19
- // `content` is a string OR an array of {text} blocks; bashExecution's
20
- // `output` is always a flat string.
21
18
  const outputTextOf = (content) => {
22
19
  if (typeof content === "string")
23
20
  return content;
@@ -28,9 +25,6 @@ const outputTextOf = (content) => {
28
25
  .join("\n");
29
26
  return "";
30
27
  };
31
- // toolResult/bashExecution are separate pi ENTRY types (not content blocks
32
- // inside a message), so they cannot flow through extractPiSegments — build
33
- // their tool_result segment directly from the entry's message payload.
34
28
  const toolResultSegmentOf = (message) => {
35
29
  if (message.role === "toolResult") {
36
30
  const output = outputTextOf(message.content);
@@ -60,11 +54,6 @@ const toolResultSegmentOf = (message) => {
60
54
  }
61
55
  return null;
62
56
  };
63
- // Append a lifted tool_result segment onto the trailing assistant message
64
- // (toolResult/bashExecution entries always follow the assistant turn that
65
- // invoked them). If there is no trailing assistant message yet, start one
66
- // carrying only segments — Task 6's segment-only-message handling lets it
67
- // survive downstream folding with an empty `text`.
68
57
  const appendToolResultSegment = (messages, segment) => {
69
58
  const last = messages[messages.length - 1];
70
59
  if (last && last.role === "assistant") {
@@ -76,9 +65,6 @@ const appendToolResultSegment = (messages, segment) => {
76
65
  }
77
66
  messages.push({ role: "assistant", text: "", segments: [segment] });
78
67
  };
79
- // Text of a pi message: a plain string (typical human prompt) or the
80
- // concatenated `text` content blocks (assistant output; thinking/toolCall/
81
- // image blocks are not conversation text).
82
68
  const textOf = (content) => {
83
69
  if (typeof content === "string")
84
70
  return content;
@@ -92,14 +78,6 @@ const textOf = (content) => {
92
78
  .map((p) => p.text)
93
79
  .join("\n");
94
80
  };
95
- // Pi entries form a tree via id → parentId (branching via /fork and tree
96
- // navigation creates alternates). Follow the chain up from the active leaf —
97
- // the last CONVERSATION entry (a message whose role is user/assistant) that is
98
- // nobody's parent — so abandoned branches aren't imported twice. Restricting
99
- // leaf candidates to conversation entries matters: bookkeeping entries
100
- // (labels, custom extension state, model changes) can trail the file as
101
- // childless nodes, and picking one of those would walk a one-entry branch.
102
- // Falls back to file order when the chain is unwalkable (format drift).
103
81
  const activeBranch = (entries) => {
104
82
  const withId = entries.filter((e) => typeof e.id === "string");
105
83
  const byId = new Map(withId.map((e) => [e.id, e]));
@@ -125,17 +103,7 @@ const activeBranch = (entries) => {
125
103
  const chain = walk(leaf, [], new Set());
126
104
  return chain.length > 0 ? chain : entries;
127
105
  };
128
- // Parse one pi session file (~/.pi/agent/sessions/<munged-cwd>/
129
- // <timestamp>_<uuid>.jsonl) into the normalized transcript shape. The first
130
- // line is a {type:"session"} header carrying the session id and cwd; entry
131
- // lines wrap AgentMessages ({type:"message", id, parentId, message}).
132
- // user/assistant messages are conversation text; toolResult/bashExecution are
133
- // separate entry types (not content blocks) whose output is lifted onto the
134
- // preceding assistant message as a tool_result segment. Custom-role messages
135
- // are extension-injected context (glen's own per-turn recall arrives as
136
- // customType "glen-context"; importing it would feed glen's output back in as
137
- // memory). Tolerant by design: unknown entry types, missing fields, and
138
- // unparseable lines are skipped, never fatal.
106
+ // Skip custom-role messages: glen's own recall arrives as customType "glen-context", and importing it would feed it back as memory.
139
107
  const parsePiTranscript = (lines, fallbackSessionId) => {
140
108
  const entries = lines.map(parseLine).filter((e) => e !== null);
141
109
  const header = entries.find((e) => e.type === "session");
@@ -178,8 +146,6 @@ const parsePiTranscript = (lines, fallbackSessionId) => {
178
146
  }
179
147
  if (messages.every((m) => m.text.trim() === "" && (m.segments?.length ?? 0) === 0))
180
148
  return null;
181
- // Assistant messages carry the model that produced them; the last one wins
182
- // (the model can change mid-session via /model).
183
149
  const lastModel = [...conversation]
184
150
  .reverse()
185
151
  .map((e) => messageOf(e)?.model)
@@ -1 +1 @@
1
- {"version":3,"file":"parse-pi-transcript.js","sourceRoot":"","sources":["../../src/_utils/parse-pi-transcript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-pi-transcript.js","sourceRoot":"","sources":["../../src/_utils/parse-pi-transcript.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,6 @@ const roleOf = (e) => e?.message?.role ??
13
13
  e?.role;
14
14
  const contentOf = (e) => extractText(e?.message?.content ?? e?.content);
15
15
  const messageObjOf = (e) => e?.message ?? e ?? {};
16
- // Claude returns tool OUTPUTS as their own `user`-role lines: a top-level
17
- // `toolUseResult` field, or a `tool_result` block in the content array.
18
16
  const isToolResultLine = (e) => {
19
17
  const m = messageObjOf(e);
20
18
  if (e.toolUseResult !== undefined)
@@ -23,8 +21,6 @@ const isToolResultLine = (e) => {
23
21
  return (Array.isArray(content) &&
24
22
  content.some((p) => p?.type === "tool_result"));
25
23
  };
26
- // Aggregate every assistant block + lifted tool_result across [promptIndex..end]
27
- // — the full completed turn's tool I/O, matching the import parser.
28
24
  const spanAssistantSegments = (span) => span.flatMap((e) => {
29
25
  if (roleOf(e) === "assistant")
30
26
  return extractClaudeSegments(messageObjOf(e));
@@ -63,8 +59,6 @@ const parseTranscript = (lines) => {
63
59
  if (assistantIndex < 0)
64
60
  return null;
65
61
  const priorMessages = messages.slice(0, assistantIndex);
66
- // The completed turn's "user prompt" is the last user line that is NOT
67
- // a tool-result line (tool outputs arrive as their own user-role lines).
68
62
  const userIndex = (() => {
69
63
  const reversedIndex = [...priorMessages]
70
64
  .reverse()
@@ -78,9 +72,7 @@ const parseTranscript = (lines) => {
78
72
  if (!userMessage || !assistantMessage)
79
73
  return null;
80
74
  const span = messages.slice(userIndex);
81
- // userMessageIndex feeds the Stop-hook idempotency key and MUST keep its
82
- // pre-Task-6 value: the last user line of ANY type before the assistant
83
- // (not the filtered, non-tool-result userIndex above).
75
+ // userMessageIndex feeds the Stop-hook idempotency key: it must count user lines of any type, or keys collide with earlier turns.
84
76
  const originalUserIndex = lastIndexOfRole(priorMessages, "user");
85
77
  return {
86
78
  user: contentOf(userMessage),
@@ -1 +1 @@
1
- {"version":3,"file":"parse-transcript.js","sourceRoot":"","sources":["../../src/_utils/parse-transcript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-transcript.js","sourceRoot":"","sources":["../../src/_utils/parse-transcript.ts"],"names":[],"mappings":"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"}
@@ -6,21 +6,9 @@ import { GLEN_JCODE_HOOK_LINES } from "./jcode-hook-lines.js";
6
6
  import { hasHookLines, readHooksTable } from "./jcode-hooks-toml.js";
7
7
  import { jcodeConfigTomlPath } from "./jcode-paths.js";
8
8
  import { runBin } from "./run-bin.js";
9
- // A line whose first token is the glen plugin: claude lists `❯ glen@glen`
10
- // entries (selection marker before the name), codex lists plugin names
11
- // (`glen — …`) — match exactly `glen` (optionally `@<marketplace>`) at line
12
- // start, tolerating common list markers (`❯`, `>`, `•`, `*`, `-`) before the
13
- // name, so `foo@glen`, `glenda`, or a description merely mentioning glen
14
- // never false-positives.
15
9
  const GLEN_PLUGIN_LINE = /^[\s>❯•*-]*glen(@\S+)?(\s|$)/im;
16
- // Pi settings path (GLEN_PI_SETTINGS_PATH env var is for test overrides only).
17
10
  const piSettingsPath = () => process.env.GLEN_PI_SETTINGS_PATH ??
18
11
  join(homedir(), ".pi", "agent", "settings.json");
19
- // Pi has no `plugin list` — `pi install` records the package in the `packages`
20
- // array of ~/.pi/agent/settings.json (string or `{ source }` object entries),
21
- // so that file is the source of truth. A missing file means pi has no packages
22
- // at all (fresh install) → not-installed; an unreadable/corrupt file → unknown
23
- // (callers fall back to attempting an install, which is idempotent).
24
12
  const piPluginStatus = () => {
25
13
  const raw = (() => {
26
14
  try {
@@ -51,9 +39,6 @@ const piPluginStatus = () => {
51
39
  return "unknown";
52
40
  }
53
41
  };
54
- // jcode has no plugin CLI — the two glen hook lines in ~/.jcode/config.toml
55
- // ARE the install. Missing file → not-installed; unparseable → unknown (the
56
- // installer refuses to touch it and says why).
57
42
  const jcodePluginStatus = () => {
58
43
  const raw = (() => {
59
44
  try {
@@ -74,10 +59,6 @@ const jcodePluginStatus = () => {
74
59
  ? "installed"
75
60
  : "not-installed";
76
61
  };
77
- // Detects whether the glen plugin is installed for an agent — by parsing
78
- // `<agent> plugin list` output (claude/codex), or by reading pi's settings
79
- // file (pi has no plugin-list CLI). "unknown" (agent missing or check failed)
80
- // lets callers fall back to attempting an install.
81
62
  const glenPluginStatus = (agentBin) => {
82
63
  if (agentBin === "jcode")
83
64
  return jcodePluginStatus();
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-status.js","sourceRoot":"","sources":["../../src/_utils/plugin-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC,0EAA0E;AAC1E,uEAAuE;AACvE,4EAA4E;AAC5E,6EAA6E;AAC7E,yEAAyE;AACzE,yBAAyB;AACzB,MAAM,gBAAgB,GAAG,gCAAgC,CAAC;AAE1D,+EAA+E;AAC/E,MAAM,cAAc,GAAG,GAAW,EAAE,CAClC,OAAO,CAAC,GAAG,CAAC,qBAAqB;IACjC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;AAEnD,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,+EAA+E;AAC/E,qEAAqE;AACrE,MAAM,cAAc,GAAG,GAAiB,EAAE;IACxC,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE;QAChB,IAAI,CAAC;YACH,OAAO,YAAY,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAQ,CAA2B,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IACL,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACnC,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,eAAe,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA2B,CAAC;QACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YACzC,MAAM,MAAM,GACV,OAAO,KAAK,KAAK,QAAQ;gBACvB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;oBAC3C,CAAC,CAAE,KAA8B,CAAC,MAAM;oBACxC,CAAC,CAAC,SAAS,CAAC;YAClB,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,4EAA4E;AAC5E,4EAA4E;AAC5E,+CAA+C;AAC/C,MAAM,iBAAiB,GAAG,GAAiB,EAAE;IAC3C,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE;QAChB,IAAI,CAAC;YACH,OAAO,YAAY,CAAC,mBAAmB,EAAE,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAQ,CAA2B,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IACL,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACnC,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,eAAe,CAAC;IACvC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAChC,OAAO,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,qBAAqB,CAAC;QACrD,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,eAAe,CAAC;AACtB,CAAC,CAAC;AAEF,yEAAyE;AACzE,2EAA2E;AAC3E,8EAA8E;AAC9E,mDAAmD;AACnD,MAAM,gBAAgB,GAAG,CACvB,QAA6C,EAC/B,EAAE;IAChB,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,iBAAiB,EAAE,CAAC;IACrD,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,cAAc,EAAE,CAAC;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;IACjE,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAC5B,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC;AAC/E,CAAC,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"plugin-status.js","sourceRoot":"","sources":["../../src/_utils/plugin-status.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,6 @@ import { err, ok } from "./result.js";
7
7
  import { readState } from "./state.js";
8
8
  import { handle426AndReexec, maybeSpawnBackgroundUpdate } from "./update.js";
9
9
  import { cliVersion } from "./version.js";
10
- // Shared POST to a /api/mcp/route/* endpoint with the standard glen auth
11
- // headers + 426/401/403 handling. The HTTP bridge maps typed errors to
12
- // statuses + a JSON { error } body, so CONFLICT/NOT_FOUND surfaces its
13
- // message instead of an opaque 500.
14
10
  const postRoute = async (url, body, options = {}) => {
15
11
  void maybeSpawnBackgroundUpdate();
16
12
  const creds = await readCredentials();
@@ -40,15 +36,12 @@ const postRoute = async (url, body, options = {}) => {
40
36
  what: "no active organization",
41
37
  remedy: "run `glen org switch`",
42
38
  }));
43
- // If the server sent a JSON { error } body, surface it — it's a permission/ownership
44
- // error (e.g. "Only the skill's author can update it."), not a session expiry.
45
39
  const serverMsg = res.value.json?.error;
46
40
  if (typeof serverMsg === "string")
47
41
  return err(cliErr({
48
42
  what: serverMsg,
49
43
  remedy: "ask the skill's author, or use a different name",
50
44
  }));
51
- // No JSON body → bodyless edge-auth failure; prompt re-login.
52
45
  return err(cliErr({
53
46
  what: "your connection expired",
54
47
  remedy: "run `glen login` to reconnect",
@@ -1 +1 @@
1
- {"version":3,"file":"post-route.js","sourceRoot":"","sources":["../../src/_utils/post-route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post-route.js","sourceRoot":"","sources":["../../src/_utils/post-route.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
1
  import { config } from "./config.js";
2
- // owner/repo segments stop at the first char that isn't a GitHub-name char,
3
- // so a trailing ")"/"."/"," after the number is naturally excluded.
4
2
  const PR_URL_RE = /https?:\/\/github\.com\/([A-Za-z0-9._-]+)\/([A-Za-z0-9._-]+)\/pull\/(\d+)/g;
5
3
  const extractPrUrls = (text) => {
6
4
  const seen = new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"pr-review-link.js","sourceRoot":"","sources":["../../src/_utils/pr-review-link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,4EAA4E;AAC5E,oEAAoE;AACpE,MAAM,SAAS,GACb,4EAA4E,CAAC;AAE/E,MAAM,aAAa,GAAG,CACpB,IAAY,EAC4C,EAAE;IAC1D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACjD,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,EAIvB,EAAU,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"pr-review-link.js","sourceRoot":"","sources":["../../src/_utils/pr-review-link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,SAAS,GACb,4EAA4E,CAAC;AAE/E,MAAM,aAAa,GAAG,CACpB,IAAY,EAC4C,EAAE;IAC1D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACjD,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,EAIvB,EAAU,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC"}
@@ -2,15 +2,7 @@ import { mkdir, stat, writeFile } from "node:fs/promises";
2
2
  import { homedir } from "node:os";
3
3
  import { dirname, join } from "node:path";
4
4
  import { fromPromise } from "./result.js";
5
- // One agent-noticed defect per session is signal; the same one re-reported
6
- // every turn is noise. The slot is claimed once the request comes back
7
- // accepted — a transport failure or an off-the-record refusal leaves it open,
8
- // but a deployment with no Slack configured burns it, since retrying there
9
- // can't reach anyone either.
10
- //
11
- // Claims expire: the fallback key below is the cwd, not a session, so without
12
- // a window one proactive ticket would silence a directory permanently rather
13
- // than for the session the cap is meant to cover.
5
+ // Claims expire: the fallback key is the cwd, so without a TTL one ticket would silence a directory forever.
14
6
  const CLAIM_TTL_MS = 8 * 60 * 60 * 1000;
15
7
  const slotFor = (key) => join(process.env.GLEN_PROACTIVE_TICKET_DIR ??
16
8
  join(homedir(), ".glen", "proactive-tickets"), `${key.replace(/[^\w.-]/g, "_").slice(-120)}.claimed`);
@@ -18,8 +10,6 @@ const proactiveSlotTaken = async (key) => {
18
10
  const found = await fromPromise(stat(slotFor(key)));
19
11
  return found.ok && Date.now() - found.value.mtimeMs < CLAIM_TTL_MS;
20
12
  };
21
- // Best-effort: if we can't record the claim, the next proactive filing goes
22
- // through. A duplicate ticket beats a silently dropped one.
23
13
  const takeProactiveSlot = async (key) => {
24
14
  const slot = slotFor(key);
25
15
  const made = await fromPromise(mkdir(dirname(slot), { recursive: true, mode: 0o700 }));
@@ -1 +1 @@
1
- {"version":3,"file":"proactive-ticket-log.js","sourceRoot":"","sources":["../../src/_utils/proactive-ticket-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,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,2EAA2E;AAC3E,uEAAuE;AACvE,8EAA8E;AAC9E,2EAA2E;AAC3E,6BAA6B;AAC7B,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,kDAAkD;AAClD,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAExC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAU,EAAE,CACtC,IAAI,CACF,OAAO,CAAC,GAAG,CAAC,yBAAyB;IACnC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,mBAAmB,CAAC,EAC/C,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,CACtD,CAAC;AAEJ,MAAM,kBAAkB,GAAG,KAAK,EAAE,GAAW,EAAoB,EAAE;IACjE,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC;AACrE,CAAC,CAAC;AAEF,4EAA4E;AAC5E,4DAA4D;AAC5D,MAAM,iBAAiB,GAAG,KAAK,EAAE,GAAW,EAAiB,EAAE;IAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,MAAM,WAAW,CAC5B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CACvD,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO;IACrB,MAAM,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"proactive-ticket-log.js","sourceRoot":"","sources":["../../src/_utils/proactive-ticket-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,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,6GAA6G;AAC7G,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAExC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAU,EAAE,CACtC,IAAI,CACF,OAAO,CAAC,GAAG,CAAC,yBAAyB;IACnC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,mBAAmB,CAAC,EAC/C,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,CACtD,CAAC;AAEJ,MAAM,kBAAkB,GAAG,KAAK,EAAE,GAAW,EAAoB,EAAE;IACjE,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,KAAK,EAAE,GAAW,EAAiB,EAAE;IAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,MAAM,WAAW,CAC5B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CACvD,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO;IACrB,MAAM,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -7,11 +7,7 @@ import { httpJson } from "./http.js";
7
7
  import { readSessionForCwd } from "./session-map.js";
8
8
  import { readState } from "./state.js";
9
9
  import { cliVersion } from "./version.js";
10
- // True when `command` contains a `git … commit` invocation — allowing flags and
11
- // `-C <path>` between `git` and `commit`, in any &&/;/|-separated segment — but
12
- // not `git commit --dry-run`. Tokenized rather than one big regex: a repeated
13
- // alternation like `(\s+-C\s+\S+|\s+-[^\s]+)*` is prone to catastrophic
14
- // backtracking (ReDoS). Splitting on whitespace/separators is strictly linear.
10
+ // Tokenized, not one regex: a repeated alternation here is prone to catastrophic backtracking (ReDoS).
15
11
  const VALUE_FLAGS = new Set(["-C", "-c", "--git-dir", "--work-tree"]);
16
12
  const segmentIsGitCommit = (segment) => {
17
13
  const tokens = segment.trim().split(/\s+/).filter(Boolean);
@@ -19,8 +15,6 @@ const segmentIsGitCommit = (segment) => {
19
15
  if (gitIdx === -1)
20
16
  return false;
21
17
  const rest = tokens.slice(gitIdx + 1);
22
- // The git subcommand is the first token that is neither a flag nor the value
23
- // of a value-taking flag (e.g. the path after `-C`).
24
18
  const subcommand = rest.find((t, i) => !t.startsWith("-") && !VALUE_FLAGS.has(rest[i - 1] ?? ""));
25
19
  return subcommand === "commit" && !rest.includes("--dry-run");
26
20
  };
@@ -65,7 +59,6 @@ const recordCommitAnchor = async (event) => {
65
59
  conversationId,
66
60
  ...(ctx.branch ? { branch: ctx.branch } : {}),
67
61
  };
68
- // httpJson never throws (returns a Result); we ignore the outcome — best-effort.
69
62
  await httpJson(config.commitAnchorUrl, {
70
63
  method: "POST",
71
64
  headers: {
@@ -1 +1 @@
1
- {"version":3,"file":"record-commit-anchor.js","sourceRoot":"","sources":["../../src/_utils/record-commit-anchor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record-commit-anchor.js","sourceRoot":"","sources":["../../src/_utils/record-commit-anchor.ts"],"names":[],"mappings":"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"}
@@ -3,13 +3,7 @@ import { buildGlenHeaders } from "./glen-headers.js";
3
3
  import { httpJson } from "./http.js";
4
4
  import { syncModeFromServer } from "./sync-mode-from-server.js";
5
5
  import { cliVersion } from "./version.js";
6
- // Content-free account-state poll used before a locally-off hook short-circuits.
7
- // Best-effort and privacy-safe: an unavailable or invalid server response leaves
8
- // the current local mode in place.
9
- //
10
- // teamMemoryBlock is not schema-validated here and is injected verbatim into a
11
- // model's context downstream, so extraction is defensive: anything but a
12
- // string (missing, null, wrong type) becomes null.
6
+ // teamMemoryBlock isn't schema-validated and is injected verbatim into model context, so accept strings only.
13
7
  const extractTeamMemoryBlock = (json) => {
14
8
  const block = json?.teamMemoryBlock;
15
9
  return typeof block === "string" ? block : null;
@@ -1 +1 @@
1
- {"version":3,"file":"refresh-control-state.js","sourceRoot":"","sources":["../../src/_utils/refresh-control-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,iFAAiF;AACjF,iFAAiF;AACjF,mCAAmC;AACnC,EAAE;AACF,+EAA+E;AAC/E,yEAAyE;AACzE,mDAAmD;AACnD,MAAM,sBAAsB,GAAG,CAAC,IAAa,EAAiB,EAAE;IAC9D,MAAM,KAAK,GAAI,IAA6C,EAAE,eAAe,CAAC;IAC9E,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,KAAK,EAC/B,GAAW,EACX,KAAgB,EAC+C,EAAE;IACjE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE;QACvD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,gBAAgB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;SACzD;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC,sBAAsB;KACzC,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;QACnD,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,CAAC,MAAM,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;IAC3E,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,eAAe,EAAE,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;KAC7D,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"refresh-control-state.js","sourceRoot":"","sources":["../../src/_utils/refresh-control-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,8GAA8G;AAC9G,MAAM,sBAAsB,GAAG,CAAC,IAAa,EAAiB,EAAE;IAC9D,MAAM,KAAK,GAAI,IAA6C,EAAE,eAAe,CAAC;IAC9E,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,KAAK,EAC/B,GAAW,EACX,KAAgB,EAC+C,EAAE;IACjE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE;QACvD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,gBAAgB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;SACzD;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC,sBAAsB;KACzC,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;QACnD,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,CAAC,MAAM,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;IAC3E,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,eAAe,EAAE,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;KAC7D,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -1,10 +1,3 @@
1
- // The HTML the browser lands on after the OAuth handoff redirects to our loopback.
2
- // Themed to match the glen dashboard: Hanken Grotesk, glen green, stone neutrals,
3
- // sharp corners (the app's --radius is 0), light/dark via prefers-color-scheme.
4
- // Two variants: success (code received) and error (provider bounced back, no code).
5
- // The Glen mark — base64 transparent PNG (96×96), embedded so the mark always
6
- // renders (mirrors the dashboard/email mark). Fonts load from Google (the browser
7
- // is online right after the OAuth round-trip) with a system fallback.
8
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";
9
2
  const CHECK_PATH = "M20 6 9 17l-5-5";
10
3
  const CROSS_PATH = "M18 6 6 18M6 6l12 12";
@@ -1 +1 @@
1
- {"version":3,"file":"render-callback-page.js","sourceRoot":"","sources":["../../src/_utils/render-callback-page.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,kFAAkF;AAClF,gFAAgF;AAChF,oFAAoF;AAEpF,8EAA8E;AAC9E,kFAAkF;AAClF,sEAAsE;AACtE,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
+ {"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,10 +1,3 @@
1
- /** The repo a historical transcript ran in, recovered from the `cwd` it
2
- * recorded. A checkout that still exists answers for itself. A checkout that
3
- * is gone — overwhelmingly a cleaned-up worktree, which lives inside the repo
4
- * it was forked from — is recovered from its nearest surviving ancestor, but
5
- * only when that ancestor knows the branch the transcript recorded; without
6
- * that proof the ancestor could be an unrelated repo the session merely sat
7
- * inside. */
8
1
  export declare const resolveImportWorkspace: (cwd: string | undefined, branch: string | undefined) => {
9
2
  readonly repoName: string;
10
3
  readonly remoteUrl: string;
@@ -17,10 +17,7 @@ const gitOut = (dir, args) => {
17
17
  }
18
18
  };
19
19
  const repoCache = new Map();
20
- // `origin` unconditionally, never the tracked branch's remote: the branch
21
- // checked out today has nothing to do with the session being imported. For the
22
- // same reason nothing here reads HEAD — today's commit would be a lie about a
23
- // historical turn, so the transcript's own branch is the only ref we keep.
20
+ // Always `origin`, and never read HEAD: today's checkout says nothing about the historical session being imported.
24
21
  const repoAt = (dir) => {
25
22
  const cached = repoCache.get(dir);
26
23
  if (cached !== undefined)
@@ -60,18 +57,9 @@ const nearestExistingAncestor = (path) => {
60
57
  return null;
61
58
  return existsSync(parent) ? parent : nearestExistingAncestor(parent);
62
59
  };
63
- /** The repo a historical transcript ran in, recovered from the `cwd` it
64
- * recorded. A checkout that still exists answers for itself. A checkout that
65
- * is gone — overwhelmingly a cleaned-up worktree, which lives inside the repo
66
- * it was forked from — is recovered from its nearest surviving ancestor, but
67
- * only when that ancestor knows the branch the transcript recorded; without
68
- * that proof the ancestor could be an unrelated repo the session merely sat
69
- * inside. */
70
60
  export const resolveImportWorkspace = (cwd, branch) => {
71
61
  if (!cwd)
72
62
  return null;
73
- // An existing path inside a checkout resolves via git's own upward walk, so
74
- // a miss here means there is no repo above it either.
75
63
  if (existsSync(cwd)) {
76
64
  const direct = repoAt(cwd);
77
65
  return direct && { repoName: direct.repoName, remoteUrl: direct.remoteUrl };
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-import-workspace.js","sourceRoot":"","sources":["../../src/_utils/resolve-import-workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-import-workspace.js","sourceRoot":"","sources":["../../src/_utils/resolve-import-workspace.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,6 @@ const tail = (s) => s
7
7
  .slice(-3)
8
8
  .join(" · ")
9
9
  .slice(0, 400);
10
- // Synchronous on purpose: install/update steps are sequential UX with a
11
- // ✓/✗ per line. 60s default timeout.
12
10
  const runBin = (bin, args, opts = {}) => {
13
11
  try {
14
12
  const stdout = execFileSync(bin, args, {
@@ -1 +1 @@
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;AAQnD,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,wEAAwE;AACxE,qCAAqC;AACrC,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,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,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,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,aAAa,EAAE,CAAC,MAAM,EAAE;aACrC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;AACH,CAAC,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
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;AAQnD,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,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,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,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,aAAa,EAAE,CAAC,MAAM,EAAE;aACrC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;AACH,CAAC,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -2,10 +2,6 @@ import { mkdir, readFile, rename, writeFile } from "node:fs/promises";
2
2
  import { homedir } from "node:os";
3
3
  import { dirname, join } from "node:path";
4
4
  import { fromPromise } from "./result.js";
5
- // cwd → agent session id. Written by the hooks (which receive session_id on stdin),
6
- // read by `glen search` (which only gets a query, no session id). Keyed by cwd so
7
- // distinct sessions in distinct dirs don't collide; same-cwd concurrent sessions are
8
- // last-writer-wins (accepted; Claude Code exposes no session-id env var).
9
5
  const mapPath = () => process.env.GLEN_SESSION_MAP_PATH ??
10
6
  join(homedir(), ".glen", "sessions.json");
11
7
  const readMap = async () => {
@@ -21,7 +17,6 @@ const readMap = async () => {
21
17
  out[k] = v;
22
18
  return out;
23
19
  };
24
- // Best-effort: a write failure must never break a hook.
25
20
  const recordSession = async (cwd, sessionId) => {
26
21
  const map = await readMap();
27
22
  map[cwd] = sessionId;
@@ -1 +1 @@
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,oFAAoF;AACpF,kFAAkF;AAClF,qFAAqF;AACrF,0EAA0E;AAC1E,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,wDAAwD;AACxD,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
+ {"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"}