mthds 0.6.3 → 0.7.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.
@@ -7,6 +7,7 @@ import { BINARY_RECOVERY, buildInstallCommand } from "../binaries.js";
7
7
  import { checkBinaryVersion } from "../../installer/runtime/version-check.js";
8
8
  import { listConfig } from "../../config/config.js";
9
9
  import { inspectCodexConfig } from "./codex-config.js";
10
+ import { inspectLegacyCodexHook } from "./codex.js";
10
11
  // ── Output format ───────────────────────────────────────────────────
11
12
  export const OutputFormat = {
12
13
  MARKDOWN: "markdown",
@@ -27,7 +28,7 @@ function getBinaryPath(bin) {
27
28
  function escapeCell(value) {
28
29
  return value.replace(/\|/g, "\\|");
29
30
  }
30
- function formatDoctorMarkdown(healthy, dependencies, config, issues, codex) {
31
+ function formatDoctorMarkdown(healthy, dependencies, config, issues, codex, legacyHook) {
31
32
  const lines = [];
32
33
  lines.push(`# Doctor Report`);
33
34
  lines.push("");
@@ -64,21 +65,33 @@ function formatDoctorMarkdown(healthy, dependencies, config, issues, codex) {
64
65
  lines.push("## Codex");
65
66
  lines.push("");
66
67
  if (!codex.exists) {
67
- lines.push(`- No ~/.codex/config.toml found. Run \`mthds-agent codex apply-config\` to create one with sandbox network access.`);
68
+ lines.push(`- No ~/.codex/config.toml found. Run \`mthds-agent codex apply-config\` to create one.`);
68
69
  }
69
70
  else if (codex.parse_error) {
70
71
  lines.push(`- [ERROR] Could not parse ${codex.config_file}: ${codex.parse_error}`);
71
72
  }
72
73
  else {
73
- if (codex.needs_change) {
74
- lines.push(`- [WARN] Sandbox network access not enabled. Run \`mthds-agent codex apply-config\` to add \`[${codex.needs_change.table}] ${codex.needs_change.key} = ${codex.needs_change.value}\`.`);
74
+ if (codex.needs_changes.length > 0) {
75
+ const keys = codex.needs_changes
76
+ .map((change) => `[${change.table}] ${change.key} = ${change.value}`)
77
+ .join(", ");
78
+ lines.push(`- [WARN] Required config not set (${keys}). Run \`mthds-agent codex apply-config\`.`);
75
79
  }
76
80
  else {
77
- lines.push(`- Sandbox network access: ok`);
81
+ lines.push(`- Required config: ok`);
78
82
  }
79
- for (const w of codex.warnings) {
80
- lines.push(`- [WARN] ${w.message}`);
83
+ for (const conflict of codex.conflicts) {
84
+ lines.push(`- [ERROR] [${conflict.table}] ${conflict.key} = ${conflict.current} conflicts with the mthds plugin (needs ${conflict.required}). Fix it by hand.`);
81
85
  }
86
+ for (const warning of codex.warnings) {
87
+ lines.push(`- [WARN] ${warning.message}`);
88
+ }
89
+ }
90
+ if (legacyHook.parse_error) {
91
+ lines.push(`- [WARN] Could not read ${legacyHook.hooks_file}: ${legacyHook.parse_error}`);
92
+ }
93
+ else if (legacyHook.has_legacy_entry) {
94
+ lines.push(`- [WARN] Obsolete mthds hook entry in ${legacyHook.hooks_file}. Run \`mthds-agent codex apply-config\` to remove it — the hook now ships with the plugin.`);
82
95
  }
83
96
  lines.push("");
84
97
  // Issues
@@ -177,16 +190,25 @@ export async function agentDoctor(format = OutputFormat.MARKDOWN) {
177
190
  });
178
191
  }
179
192
  }
180
- // Codex sandbox config (read-only inspection — doctor never writes).
193
+ // Codex config + hooks (read-only inspection — doctor never writes).
181
194
  const codex = inspectCodexConfig();
182
- if (codex.needs_change) {
195
+ if (codex.needs_changes.length > 0) {
196
+ const keys = codex.needs_changes
197
+ .map((change) => `[${change.table}] ${change.key} = ${change.value}`)
198
+ .join(", ");
183
199
  issues.push({
184
200
  severity: "warning",
185
- message: `Codex sandbox network not enabled in ${codex.config_file}. Run \`mthds-agent codex apply-config\`.`,
201
+ message: `Codex config missing required keys (${keys}) in ${codex.config_file}. Run \`mthds-agent codex apply-config\`.`,
202
+ });
203
+ }
204
+ for (const conflict of codex.conflicts) {
205
+ issues.push({
206
+ severity: "error",
207
+ message: `Codex config conflict: [${conflict.table}] ${conflict.key} = ${conflict.current} (the mthds plugin needs ${conflict.required}). Fix it by hand in ${codex.config_file}.`,
186
208
  });
187
209
  }
188
- for (const w of codex.warnings) {
189
- issues.push({ severity: "warning", message: `Codex: ${w.message}` });
210
+ for (const warning of codex.warnings) {
211
+ issues.push({ severity: "warning", message: `Codex: ${warning.message}` });
190
212
  }
191
213
  if (codex.parse_error) {
192
214
  issues.push({
@@ -194,6 +216,19 @@ export async function agentDoctor(format = OutputFormat.MARKDOWN) {
194
216
  message: `Codex config parse error in ${codex.config_file}: ${codex.parse_error}`,
195
217
  });
196
218
  }
219
+ const legacyHook = inspectLegacyCodexHook();
220
+ if (legacyHook.has_legacy_entry) {
221
+ issues.push({
222
+ severity: "warning",
223
+ message: `Obsolete mthds hook entry in ${legacyHook.hooks_file}. Run \`mthds-agent codex apply-config\` to remove it — the hook now ships with the plugin.`,
224
+ });
225
+ }
226
+ if (legacyHook.parse_error) {
227
+ issues.push({
228
+ severity: "warning",
229
+ message: `Could not read ${legacyHook.hooks_file} to check for an obsolete mthds hook entry: ${legacyHook.parse_error}`,
230
+ });
231
+ }
197
232
  const hasErrors = issues.some((issue) => issue.severity === "error");
198
233
  const healthy = !hasErrors;
199
234
  if (format === OutputFormat.JSON) {
@@ -203,10 +238,11 @@ export async function agentDoctor(format = OutputFormat.MARKDOWN) {
203
238
  config: configEntries,
204
239
  issues,
205
240
  codex,
241
+ legacy_hook: legacyHook,
206
242
  });
207
243
  }
208
244
  else {
209
- process.stdout.write(formatDoctorMarkdown(healthy, dependencies, configEntries, issues, codex));
245
+ process.stdout.write(formatDoctorMarkdown(healthy, dependencies, configEntries, issues, codex, legacyHook));
210
246
  }
211
247
  }
212
248
  //# sourceMappingURL=doctor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/agent/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/agent/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -9,20 +9,17 @@
9
9
  * The preamble captures stdout via: mthds-agent update-check 2>/dev/null || true
10
10
  * and checks for the presence of these keywords. Plain text, not agentSuccess JSON.
11
11
  */
12
- import { readFileSync, unlinkSync } from "node:fs";
13
- import { join } from "node:path";
14
12
  import { createRequire } from "node:module";
15
13
  import { agentSuccess } from "../output.js";
16
14
  import { BINARY_RECOVERY } from "../binaries.js";
17
15
  import { checkBinaryVersion } from "../../installer/runtime/version-check.js";
18
16
  import { loadConfig } from "../../config/config.js";
19
17
  import { Runners } from "../../runners/types.js";
20
- import { readCache, writeCache, clearCache, computeAggregate, STATE_DIR, } from "../update-cache.js";
18
+ import { readCache, writeCache, clearCache, computeAggregate, readAndClearUpgradeMarker, } from "../update-cache.js";
21
19
  import { isSnoozed, writeSnooze, clearSnooze, computeVersionKey, } from "../snooze.js";
22
20
  import { checkPluginVersion, detectHost } from "../plugin-version.js";
23
21
  const require = createRequire(import.meta.url);
24
22
  const pkg = require("../../../package.json");
25
- const JUST_UPGRADED_PATH = join(STATE_DIR, "just-upgraded-from");
26
23
  // ── Main ───────────────────────────────────────────────────────────
27
24
  export async function agentUpdateCheck(options) {
28
25
  // Let errors propagate to non-zero exit so the preamble's
@@ -153,32 +150,6 @@ function getOrRefreshPayload(runner) {
153
150
  writeCache({ aggregate, payload });
154
151
  return payload;
155
152
  }
156
- function readAndClearUpgradeMarker() {
157
- let content;
158
- try {
159
- content = readFileSync(JUST_UPGRADED_PATH, "utf-8");
160
- }
161
- catch {
162
- return null; // File doesn't exist or unreadable
163
- }
164
- // Delete marker before parsing — even corrupt markers should be consumed
165
- try {
166
- unlinkSync(JUST_UPGRADED_PATH);
167
- }
168
- catch {
169
- // ignore
170
- }
171
- try {
172
- const parsed = JSON.parse(content);
173
- if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
174
- return null;
175
- }
176
- return parsed;
177
- }
178
- catch {
179
- return null;
180
- }
181
- }
182
153
  function payloadVersions(payload) {
183
154
  const result = {
184
155
  mthds_agent: payload.mthds_agent.v,
@@ -1 +1 @@
1
- {"version":3,"file":"update-check.js","sourceRoot":"","sources":["../../../src/agent/commands/update-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-check.js","sourceRoot":"","sources":["../../../src/agent/commands/update-check.ts"],"names":[],"mappings":"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"}
@@ -14,13 +14,11 @@
14
14
  * depends on the configured runner: always plxt; add pipelex-agent when
15
15
  * runner === "pipelex".
16
16
  */
17
- import { writeFileSync } from "node:fs";
18
- import { join } from "node:path";
19
17
  import { requireUv, uvToolInstallSync } from "../../installer/runtime/installer.js";
20
18
  import { checkBinaryVersion } from "../../installer/runtime/version-check.js";
21
19
  import { BINARY_RECOVERY } from "../binaries.js";
22
20
  import { agentError, AGENT_ERROR_DOMAINS } from "../output.js";
23
- import { clearCache, ensureStateDir, STATE_DIR } from "../update-cache.js";
21
+ import { clearCache, writeUpgradeMarker } from "../update-cache.js";
24
22
  import { clearSnooze } from "../snooze.js";
25
23
  import { loadConfig } from "../../config/config.js";
26
24
  import { Runners } from "../../runners/types.js";
@@ -128,15 +126,8 @@ export async function agentUpgrade() {
128
126
  const allSucceeded = failed.size === 0;
129
127
  const allFailed = succeeded.size === 0;
130
128
  if (allSucceeded) {
131
- // Write marker, clear cache + snooze
132
- try {
133
- ensureStateDir();
134
- writeFileSync(join(STATE_DIR, "just-upgraded-from"), JSON.stringify(markerData), "utf-8");
135
- }
136
- catch (err) {
137
- // Marker write failure should not prevent reporting success
138
- process.stderr.write(`Warning: could not write upgrade marker: ${errorMsg(err)}.\n`);
139
- }
129
+ // Write marker (sandbox-aware via $TMPDIR fallback), clear cache + snooze
130
+ writeUpgradeMarker(markerData);
140
131
  clearCache();
141
132
  clearSnooze();
142
133
  process.stdout.write("UPGRADE_COMPLETE " + JSON.stringify({ upgraded: upgradedEntries }) + "\n");
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/agent/commands/upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/agent/commands/upgrade.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@
11
11
  */
12
12
  import type { BinaryCheckEntry } from "./update-cache.js";
13
13
  /** Minimum plugin version this mthds-agent release requires. */
14
- export declare const MIN_PLUGIN_VERSION = ">=0.10.2";
14
+ export declare const MIN_PLUGIN_VERSION = ">=0.11.0";
15
15
  /** Keys in installed_plugins.json for the mthds plugin (prod and dev targets). */
16
16
  export declare const PLUGIN_KEYS: readonly ["mthds@mthds-plugins", "mthds-dev@mthds-plugins"];
17
17
  /** Path to Claude Code's installed plugins registry. */
@@ -21,25 +21,27 @@ export type PluginHost = "claude" | "codex";
21
21
  /**
22
22
  * Detect the host that this mthds-agent process is running under.
23
23
  *
24
- * `$CODEX_HOME` alone is not enough to claim Codex a user might export it
25
- * in their shell profile for customization while running from Claude Code, in
26
- * which case picking "codex" would surface a wrong `missing` warning and an
27
- * irrelevant upgrade command. We require the cache directory to exist as
28
- * corroborating evidence (Codex creates it on first plugin install).
24
+ * `CLAUDECODE=1` is the strongest signal: it's set by Claude Code at runtime
25
+ * (not something users would export in a shell profile), so if it's present
26
+ * we are definitively running inside Claude Code. We trust it even when the
27
+ * Claude registry file is absent that just means no plugin is installed
28
+ * yet (fresh Claude Code install, or a session that never installed
29
+ * anything). In that case `checkPluginVersion("claude")` returns null and
30
+ * nothing is emitted; importantly we avoid falling through to "codex" and
31
+ * surfacing the wrong upgrade command (e.g. "/plugins install mthds") to a
32
+ * Claude Code user just because a leftover Codex cache dir happens to exist
33
+ * on disk.
29
34
  *
30
- * When a user has *both* hosts installed (Codex cache dir AND Claude
31
- * registry both present), filesystem state alone can't tell us which one
32
- * is currently running us. We use `CLAUDECODE=1` set by Claude Code at
33
- * runtime, not something users would set in a shell profile — as the
34
- * tiebreaker. Codex doesn't have an equivalent runtime-only env var we
35
- * can trust the same way, so absence of `CLAUDECODE` falls back to the
36
- * filesystem-based preference (Codex cache wins).
35
+ * `$CODEX_HOME` alone is not enough to claim Codex a user might export it
36
+ * in their shell profile for customization. We require the cache directory
37
+ * to exist as corroborating evidence (Codex creates it on first plugin
38
+ * install).
37
39
  *
38
40
  * Order of checks:
39
- * 1. CLAUDECODE=1 AND ~/.claude/plugins/installed_plugins.json exists → "claude"
40
- * 2. ~/.codex/plugins/cache/ exists (honoring $CODEX_HOME) → "codex"
41
- * 3. ~/.claude/plugins/installed_plugins.json exists → "claude"
42
- * 4. neither → null
41
+ * 1. CLAUDECODE=1 → "claude"
42
+ * 2. ~/.codex/plugins/cache/ exists (honoring $CODEX_HOME) → "codex"
43
+ * 3. ~/.claude/plugins/installed_plugins.json exists → "claude"
44
+ * 4. none of the above → null
43
45
  */
44
46
  export declare function detectHost(): PluginHost | null;
45
47
  /** Command to run inside the host to install / upgrade the plugin. */
@@ -15,7 +15,7 @@ import { homedir } from "node:os";
15
15
  import semver from "semver";
16
16
  // ── Constants ──────────────────────────────────────────────────────
17
17
  /** Minimum plugin version this mthds-agent release requires. */
18
- export const MIN_PLUGIN_VERSION = ">=0.10.2";
18
+ export const MIN_PLUGIN_VERSION = ">=0.11.0";
19
19
  /** Keys in installed_plugins.json for the mthds plugin (prod and dev targets). */
20
20
  export const PLUGIN_KEYS = [
21
21
  "mthds@mthds-plugins",
@@ -39,33 +39,34 @@ function codexCacheDir() {
39
39
  /**
40
40
  * Detect the host that this mthds-agent process is running under.
41
41
  *
42
- * `$CODEX_HOME` alone is not enough to claim Codex a user might export it
43
- * in their shell profile for customization while running from Claude Code, in
44
- * which case picking "codex" would surface a wrong `missing` warning and an
45
- * irrelevant upgrade command. We require the cache directory to exist as
46
- * corroborating evidence (Codex creates it on first plugin install).
42
+ * `CLAUDECODE=1` is the strongest signal: it's set by Claude Code at runtime
43
+ * (not something users would export in a shell profile), so if it's present
44
+ * we are definitively running inside Claude Code. We trust it even when the
45
+ * Claude registry file is absent that just means no plugin is installed
46
+ * yet (fresh Claude Code install, or a session that never installed
47
+ * anything). In that case `checkPluginVersion("claude")` returns null and
48
+ * nothing is emitted; importantly we avoid falling through to "codex" and
49
+ * surfacing the wrong upgrade command (e.g. "/plugins install mthds") to a
50
+ * Claude Code user just because a leftover Codex cache dir happens to exist
51
+ * on disk.
47
52
  *
48
- * When a user has *both* hosts installed (Codex cache dir AND Claude
49
- * registry both present), filesystem state alone can't tell us which one
50
- * is currently running us. We use `CLAUDECODE=1` set by Claude Code at
51
- * runtime, not something users would set in a shell profile — as the
52
- * tiebreaker. Codex doesn't have an equivalent runtime-only env var we
53
- * can trust the same way, so absence of `CLAUDECODE` falls back to the
54
- * filesystem-based preference (Codex cache wins).
53
+ * `$CODEX_HOME` alone is not enough to claim Codex a user might export it
54
+ * in their shell profile for customization. We require the cache directory
55
+ * to exist as corroborating evidence (Codex creates it on first plugin
56
+ * install).
55
57
  *
56
58
  * Order of checks:
57
- * 1. CLAUDECODE=1 AND ~/.claude/plugins/installed_plugins.json exists → "claude"
58
- * 2. ~/.codex/plugins/cache/ exists (honoring $CODEX_HOME) → "codex"
59
- * 3. ~/.claude/plugins/installed_plugins.json exists → "claude"
60
- * 4. neither → null
59
+ * 1. CLAUDECODE=1 → "claude"
60
+ * 2. ~/.codex/plugins/cache/ exists (honoring $CODEX_HOME) → "codex"
61
+ * 3. ~/.claude/plugins/installed_plugins.json exists → "claude"
62
+ * 4. none of the above → null
61
63
  */
62
64
  export function detectHost() {
63
- const claudeInstalled = existsSync(INSTALLED_PLUGINS_PATH);
64
- if (process.env.CLAUDECODE === "1" && claudeInstalled)
65
+ if (process.env.CLAUDECODE === "1")
65
66
  return "claude";
66
67
  if (existsSync(codexCacheDir()))
67
68
  return "codex";
68
- if (claudeInstalled)
69
+ if (existsSync(INSTALLED_PLUGINS_PATH))
69
70
  return "claude";
70
71
  return null;
71
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-version.js","sourceRoot":"","sources":["../../src/agent/plugin-version.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-version.js","sourceRoot":"","sources":["../../src/agent/plugin-version.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,20 @@
1
1
  /**
2
2
  * Snooze state for update-check upgrade prompts.
3
3
  *
4
- * Manages ~/.mthds/state/update-snoozed — a single-line file:
4
+ * Manages a single-line file:
5
5
  * <versionKey> <level> <epoch>
6
6
  *
7
+ * Primary location: ~/.mthds/state/update-snoozed.
8
+ * Fallback location: $TMPDIR/mthds-agent/update-snoozed — used when the
9
+ * primary location is not writable (Codex `workspaceWrite` sandbox permits
10
+ * writes only under cwd / configured roots / $TMPDIR, not under the user's
11
+ * home dir). Same dual-path policy as the update-check cache and the
12
+ * just-upgraded marker — see update-cache.ts.
13
+ *
14
+ * Reads consult both paths and prefer the newer mtime, so escalation
15
+ * (level 1 → 2 → 3+) stays correct as sessions move between sandboxed and
16
+ * non-sandboxed contexts.
17
+ *
7
18
  * Version key is a plain concatenation of binary statuses (human-readable).
8
19
  * Escalating backoff: level 1 = 24h, level 2 = 48h, level 3+ = 7d.
9
20
  * Snooze resets when the version key changes (any binary constraint updated).
@@ -20,13 +31,28 @@ export interface SnoozeState {
20
31
  * Changes whenever any binary's status or constraint changes.
21
32
  */
22
33
  export declare function computeVersionKey(payload: CachePayload): string;
23
- /** Read current snooze state. Returns null if missing or corrupt. */
34
+ /**
35
+ * Read current snooze state. Returns null if missing or corrupt.
36
+ *
37
+ * Inspects both the primary and the fallback path; when both have valid
38
+ * contents, the one with the newer mtime wins. This keeps escalation
39
+ * correct when a session moves between sandboxed and non-sandboxed contexts:
40
+ * the older file is a stale snapshot from before the redirect happened.
41
+ */
24
42
  export declare function readSnooze(): SnoozeState | null;
25
43
  /**
26
- * Write snooze state. Escalates level if same versionKey, resets if different.
44
+ * Write snooze state. Escalates level if same versionKey, resets to 1 if
45
+ * different. Sandbox-aware: falls back to $TMPDIR when ~/.mthds/state/ is
46
+ * not writable. Write failures emit a one-shot stderr warning per process.
27
47
  */
28
48
  export declare function writeSnooze(versionKey: string): void;
29
49
  /** Check if snooze is active for the given versionKey. */
30
50
  export declare function isSnoozed(versionKey: string): boolean;
31
- /** Clear snooze file. */
51
+ /**
52
+ * Clear snooze. Hits both primary and fallback paths. When unlink is blocked
53
+ * (sandbox EPERM), overwrites with empty content so the next read parses as
54
+ * null. Warns at most once per process when a present file cannot be cleared
55
+ * by either route. Silent when both paths were absent to begin with — no
56
+ * spurious 0-byte file is created in that case.
57
+ */
32
58
  export declare function clearSnooze(): void;