mossbear 0.1.0-alpha.63 → 0.1.0-alpha.65

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 (70) hide show
  1. package/dist/codex-trust.d.ts +58 -0
  2. package/dist/codex-trust.d.ts.map +1 -0
  3. package/dist/codex-trust.js +187 -0
  4. package/dist/codex-trust.js.map +1 -0
  5. package/dist/commands/doctor.d.ts.map +1 -1
  6. package/dist/commands/doctor.js +13 -11
  7. package/dist/commands/doctor.js.map +1 -1
  8. package/dist/commands/init.d.ts.map +1 -1
  9. package/dist/commands/init.js +20 -17
  10. package/dist/commands/init.js.map +1 -1
  11. package/dist/commands/search.d.ts +59 -0
  12. package/dist/commands/search.d.ts.map +1 -0
  13. package/dist/commands/search.js +152 -0
  14. package/dist/commands/search.js.map +1 -0
  15. package/dist/harness-formats/opencode-shim-block.d.ts +42 -0
  16. package/dist/harness-formats/opencode-shim-block.d.ts.map +1 -0
  17. package/dist/harness-formats/opencode-shim-block.js +118 -0
  18. package/dist/harness-formats/opencode-shim-block.js.map +1 -0
  19. package/dist/harness-formats/opencode.d.ts +123 -0
  20. package/dist/harness-formats/opencode.d.ts.map +1 -0
  21. package/dist/harness-formats/opencode.js +343 -0
  22. package/dist/harness-formats/opencode.js.map +1 -0
  23. package/dist/harness-manifest-schema.d.ts +3 -1
  24. package/dist/harness-manifest-schema.d.ts.map +1 -1
  25. package/dist/harness-manifest-schema.js +3 -0
  26. package/dist/harness-manifest-schema.js.map +1 -1
  27. package/dist/harness-writers.d.ts +12 -43
  28. package/dist/harness-writers.d.ts.map +1 -1
  29. package/dist/harness-writers.js +12 -75
  30. package/dist/harness-writers.js.map +1 -1
  31. package/dist/harnesses.d.ts +30 -15
  32. package/dist/harnesses.d.ts.map +1 -1
  33. package/dist/harnesses.js +64 -24
  34. package/dist/harnesses.js.map +1 -1
  35. package/dist/hook-bin.js +1 -1
  36. package/dist/hook-logger.d.ts.map +1 -1
  37. package/dist/hook-logger.js +21 -5
  38. package/dist/hook-logger.js.map +1 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +2 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/init/wire-harnesses.d.ts +16 -3
  43. package/dist/init/wire-harnesses.d.ts.map +1 -1
  44. package/dist/init/wire-harnesses.js +92 -30
  45. package/dist/init/wire-harnesses.js.map +1 -1
  46. package/dist/lifecycle/operations.d.ts +8 -1
  47. package/dist/lifecycle/operations.d.ts.map +1 -1
  48. package/dist/lifecycle/operations.js +19 -1
  49. package/dist/lifecycle/operations.js.map +1 -1
  50. package/dist/mcp/server.d.ts +6 -3
  51. package/dist/mcp/server.d.ts.map +1 -1
  52. package/dist/mcp/server.js +75 -12
  53. package/dist/mcp/server.js.map +1 -1
  54. package/dist/nested-claude.d.ts +20 -0
  55. package/dist/nested-claude.d.ts.map +1 -0
  56. package/dist/nested-claude.js +76 -0
  57. package/dist/nested-claude.js.map +1 -0
  58. package/dist/project-hooks.d.ts +3 -2
  59. package/dist/project-hooks.d.ts.map +1 -1
  60. package/dist/project-hooks.js +20 -3
  61. package/dist/project-hooks.js.map +1 -1
  62. package/dist/search-client.d.ts +32 -0
  63. package/dist/search-client.d.ts.map +1 -0
  64. package/dist/search-client.js +35 -0
  65. package/dist/search-client.js.map +1 -0
  66. package/dist/skill-template.d.ts +2 -2
  67. package/dist/skill-template.d.ts.map +1 -1
  68. package/dist/skill-template.js +10 -3
  69. package/dist/skill-template.js.map +1 -1
  70. package/package.json +4 -4
@@ -0,0 +1,58 @@
1
+ /** Codex's config-state label for an event: `PostToolUse` → `post_tool_use`. */
2
+ export declare function codexEventKeyLabel(event: string): string;
3
+ /**
4
+ * True when a Codex handler runs a Mossbear command — `mossbear-hook` or a
5
+ * `mossbear` verb — bare or inside the `bash -lc '…'` wrapper `init` writes.
6
+ */
7
+ export declare function isMossbearHandler(command: unknown): boolean;
8
+ export type CodexTrustReport = {
9
+ /** `null` when Codex has no trust decision recorded for any path it would look up. */
10
+ project: 'trusted' | 'untrusted' | null;
11
+ /** Events whose Mossbear hooks have no recorded review, in file order. */
12
+ unreviewedEvents: string[];
13
+ /** Events whose Mossbear hooks the user switched off in `/hooks`. */
14
+ disabledEvents: string[];
15
+ };
16
+ type Table = Record<string, unknown>;
17
+ /**
18
+ * The pure half: read the user's parsed Codex config against the project's
19
+ * parsed hooks.
20
+ *
21
+ * `configPaths` and `projectPaths` are each a set of spellings of one path —
22
+ * as given and with symlinks resolved — because Codex keys on the path it
23
+ * discovered, which this cannot know exactly. Any spelling with a record
24
+ * counts.
25
+ */
26
+ export declare function codexTrustReport(input: {
27
+ userConfig: Table;
28
+ projectHooks: Table;
29
+ configPaths: readonly string[];
30
+ projectPaths: readonly string[];
31
+ }): CodexTrustReport;
32
+ /** Where Codex keeps its user config: `$CODEX_HOME/config.toml`, else `~/.codex/config.toml`. */
33
+ export declare function codexUserConfigPath(env?: NodeJS.ProcessEnv): string;
34
+ /**
35
+ * Read Codex's recorded trust for this repo's Mossbear hooks.
36
+ *
37
+ * `null` when there is nothing to say: no user config to read, or one that
38
+ * does not parse. Absence of the file is not a verdict about trust — Codex may
39
+ * be configured somewhere this does not look — so it reports nothing rather
40
+ * than "untrusted".
41
+ */
42
+ export declare function readCodexTrust(input: {
43
+ /** The directories Codex could key project trust on: the working directory and the repo root. */
44
+ projectDirs: readonly string[];
45
+ projectConfigPath: string;
46
+ projectHooks: Table;
47
+ env?: NodeJS.ProcessEnv;
48
+ }): Promise<CodexTrustReport | null>;
49
+ /**
50
+ * The lines `doctor` prints about Codex trust for the repo at `cwd`.
51
+ *
52
+ * Each names a step the user still owes and where to take it. With nothing
53
+ * readable, the general note stands in; with nothing missing, one line says
54
+ * what is recorded without claiming the hooks are trusted.
55
+ */
56
+ export declare function codexTrustLines(cwd: string, env?: NodeJS.ProcessEnv): Promise<string[]>;
57
+ export {};
58
+ //# sourceMappingURL=codex-trust.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-trust.d.ts","sourceRoot":"","sources":["../src/codex-trust.ts"],"names":[],"mappings":"AAoCA,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAG3D;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,sFAAsF;IACtF,OAAO,EAAE,SAAS,GAAG,WAAW,GAAG,IAAI,CAAA;IACvC,0EAA0E;IAC1E,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,qEAAqE;IACrE,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,CAAA;AAED,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAQpC;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,UAAU,EAAE,KAAK,CAAA;IACjB,YAAY,EAAE,KAAK,CAAA;IACnB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;IAC9B,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CAChC,GAAG,gBAAgB,CAuCnB;AAED,iGAAiG;AACjG,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAGhF;AAWD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE;IAC1C,iGAAiG;IACjG,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;IAC9B,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,KAAK,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CACxB,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAgBnC;AAQD;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,MAAM,EAAE,CAAC,CA2CnB"}
@@ -0,0 +1,187 @@
1
+ /**
2
+ * What Codex's own state says about running this repo's Mossbear hooks.
3
+ *
4
+ * Codex puts two gates in front of a hook in a project's `.codex/config.toml`,
5
+ * and both are recorded in the user's `~/.codex/config.toml` (or
6
+ * `$CODEX_HOME/config.toml`):
7
+ *
8
+ * - **Project trust.** The project's `.codex/` layer loads only for a trusted
9
+ * project: `[projects."<path>"] trust_level = "trusted"`.
10
+ * - **Per-hook review.** A non-managed hook runs only once the user has
11
+ * reviewed it in `/hooks`, which records `[hooks.state."<key>"] trusted_hash`.
12
+ * The hash covers the hook's definition, so a changed hook — including one
13
+ * `mossbear init` migrated — is skipped until it is reviewed again
14
+ * (openai/codex `codex-rs/hooks/src/engine/discovery.rs`, `hook_trust_status`).
15
+ *
16
+ * The key is `<config path>:<event>:<group index>:<handler index>`, with the
17
+ * event in snake case (`hook_key` in `codex-rs/hooks/src/lib.rs`).
18
+ *
19
+ * **What this can and cannot tell.** A missing record is certain: Codex will
20
+ * skip that hook. A present one is not proof of trust, because the hash is
21
+ * Codex's own normalized identity and this does not recompute it — a hook
22
+ * changed since its review carries a stale record. So this reports only what
23
+ * is missing, and never says a hook is trusted. It never writes Codex's state
24
+ * either: recording trust for the user would bypass the review the gate exists
25
+ * for.
26
+ */
27
+ import { readFile, realpath } from 'node:fs/promises';
28
+ import { homedir } from 'node:os';
29
+ import { join } from 'node:path';
30
+ import { parse as parseToml } from 'smol-toml';
31
+ import { CODEX_TRUST_NOTE } from './harnesses.js';
32
+ import { readHarnessHooks } from './project-hooks.js';
33
+ import { resolveRepoRoot } from './repo-root.js';
34
+ /** Codex's config-state label for an event: `PostToolUse` → `post_tool_use`. */
35
+ export function codexEventKeyLabel(event) {
36
+ return event.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toLowerCase();
37
+ }
38
+ /**
39
+ * True when a Codex handler runs a Mossbear command — `mossbear-hook` or a
40
+ * `mossbear` verb — bare or inside the `bash -lc '…'` wrapper `init` writes.
41
+ */
42
+ export function isMossbearHandler(command) {
43
+ if (typeof command !== 'string')
44
+ return false;
45
+ return /(^|[\s'"(;&|])mossbear(-hook)?(?=[\s'";&|)]|$)/.test(command);
46
+ }
47
+ function table(value) {
48
+ return typeof value === 'object' && value !== null && !Array.isArray(value)
49
+ ? value
50
+ : null;
51
+ }
52
+ /**
53
+ * The pure half: read the user's parsed Codex config against the project's
54
+ * parsed hooks.
55
+ *
56
+ * `configPaths` and `projectPaths` are each a set of spellings of one path —
57
+ * as given and with symlinks resolved — because Codex keys on the path it
58
+ * discovered, which this cannot know exactly. Any spelling with a record
59
+ * counts.
60
+ */
61
+ export function codexTrustReport(input) {
62
+ const projects = table(input.userConfig['projects']) ?? {};
63
+ let project = null;
64
+ for (const path of input.projectPaths) {
65
+ const level = table(projects[path])?.['trust_level'];
66
+ if (level === 'trusted' || level === 'untrusted') {
67
+ project = level;
68
+ break;
69
+ }
70
+ }
71
+ const state = table(table(input.userConfig['hooks'])?.['state']) ?? {};
72
+ const unreviewedEvents = [];
73
+ const disabledEvents = [];
74
+ for (const [event, groups] of Object.entries(input.projectHooks)) {
75
+ if (!Array.isArray(groups))
76
+ continue;
77
+ groups.forEach((group, groupIndex) => {
78
+ const handlers = table(group)?.['hooks'];
79
+ if (!Array.isArray(handlers))
80
+ return;
81
+ handlers.forEach((handler, handlerIndex) => {
82
+ if (!isMossbearHandler(table(handler)?.['command']))
83
+ return;
84
+ const records = input.configPaths
85
+ .map((path) => table(state[`${path}:${codexEventKeyLabel(event)}:${groupIndex}:${handlerIndex}`]))
86
+ .filter((record) => record !== null);
87
+ if (records.some((record) => record['enabled'] === false)) {
88
+ if (!disabledEvents.includes(event))
89
+ disabledEvents.push(event);
90
+ }
91
+ else if (!records.some((record) => typeof record['trusted_hash'] === 'string')) {
92
+ if (!unreviewedEvents.includes(event))
93
+ unreviewedEvents.push(event);
94
+ }
95
+ });
96
+ });
97
+ }
98
+ return { project, unreviewedEvents, disabledEvents };
99
+ }
100
+ /** Where Codex keeps its user config: `$CODEX_HOME/config.toml`, else `~/.codex/config.toml`. */
101
+ export function codexUserConfigPath(env = process.env) {
102
+ const codexHome = env['CODEX_HOME']?.trim();
103
+ return join(codexHome ? codexHome : join(homedir(), '.codex'), 'config.toml');
104
+ }
105
+ async function spellings(path) {
106
+ try {
107
+ const resolved = await realpath(path);
108
+ return resolved === path ? [path] : [path, resolved];
109
+ }
110
+ catch {
111
+ return [path];
112
+ }
113
+ }
114
+ /**
115
+ * Read Codex's recorded trust for this repo's Mossbear hooks.
116
+ *
117
+ * `null` when there is nothing to say: no user config to read, or one that
118
+ * does not parse. Absence of the file is not a verdict about trust — Codex may
119
+ * be configured somewhere this does not look — so it reports nothing rather
120
+ * than "untrusted".
121
+ */
122
+ export async function readCodexTrust(input) {
123
+ let userConfig;
124
+ try {
125
+ const parsed = parseToml(await readFile(codexUserConfigPath(input.env), 'utf8'));
126
+ userConfig = parsed;
127
+ }
128
+ catch {
129
+ return null;
130
+ }
131
+ return codexTrustReport({
132
+ userConfig,
133
+ projectHooks: input.projectHooks,
134
+ configPaths: await spellings(input.projectConfigPath),
135
+ projectPaths: [
136
+ ...new Set((await Promise.all(input.projectDirs.map(spellings))).flat()),
137
+ ],
138
+ });
139
+ }
140
+ function listEvents(events) {
141
+ return events.length <= 1
142
+ ? (events[0] ?? '')
143
+ : `${events.slice(0, -1).join(', ')} and ${events.at(-1)}`;
144
+ }
145
+ /**
146
+ * The lines `doctor` prints about Codex trust for the repo at `cwd`.
147
+ *
148
+ * Each names a step the user still owes and where to take it. With nothing
149
+ * readable, the general note stands in; with nothing missing, one line says
150
+ * what is recorded without claiming the hooks are trusted.
151
+ */
152
+ export async function codexTrustLines(cwd, env = process.env) {
153
+ const projectHooks = await readHarnessHooks(cwd, 'codex');
154
+ const report = projectHooks
155
+ ? await readCodexTrust({
156
+ projectDirs: [cwd, resolveRepoRoot(cwd)],
157
+ projectConfigPath: join(cwd, '.codex', 'config.toml'),
158
+ projectHooks,
159
+ env,
160
+ })
161
+ : null;
162
+ if (!report)
163
+ return [CODEX_TRUST_NOTE];
164
+ const lines = [];
165
+ if (report.project === 'untrusted') {
166
+ lines.push('Codex has this project marked untrusted, so it skips .codex/config.toml and ' +
167
+ 'nothing here is recorded. Trust the project in Codex to turn Mossbear on.');
168
+ }
169
+ else if (report.project === null) {
170
+ lines.push('Codex has no trust recorded for this project, so it may be skipping ' +
171
+ '.codex/config.toml. Trust the project when Codex asks.');
172
+ }
173
+ if (report.unreviewedEvents.length > 0) {
174
+ lines.push(`Codex has not reviewed the Mossbear hooks for ${listEvents(report.unreviewedEvents)}, ` +
175
+ 'so it skips them. Open /hooks in Codex and trust them.');
176
+ }
177
+ if (report.disabledEvents.length > 0) {
178
+ lines.push(`The Mossbear hooks for ${listEvents(report.disabledEvents)} are switched off in ` +
179
+ "Codex's /hooks, so Codex skips them.");
180
+ }
181
+ if (lines.length === 0) {
182
+ lines.push('Codex has trust recorded for this project and its Mossbear hooks. A hook ' +
183
+ 'changed since you reviewed it still waits for another look in /hooks.');
184
+ }
185
+ return lines;
186
+ }
187
+ //# sourceMappingURL=codex-trust.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-trust.js","sourceRoot":"","sources":["../src/codex-trust.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAyEA,eAAO,MAAM,aAAa;;;;;;;;;;;;EA6iBxB,CAAA"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AA0EA,eAAO,MAAM,aAAa;;;;;;;;;;;;EA8iBxB,CAAA"}
@@ -1,12 +1,13 @@
1
1
  import { sanitizeCommand } from '@mossbear/eval-core';
2
2
  import { defineCommand } from 'citty';
3
+ import { codexTrustLines } from '../codex-trust.js';
3
4
  import { MOSSBEAR_TOKEN_ENV, readEnvToken, resolveDashboardUrl, resolveToken, } from '../config.js';
4
5
  import { describeDashboardHealth } from '../dashboard-health.js';
5
6
  import { inspectClaudeMd } from '../docs/claude-md-import.js';
6
7
  import { describeGuideDelivery } from '../docs/delivery-check.js';
7
8
  import { classifyUnresolvedSubscription, repoBundleIds, unresolvedSubscriptionMessage, } from '../docs/delivery.js';
8
9
  import { collidesWithHomeConfig, readRepoDocsConfig } from '../docs/repo-config.js';
9
- import { CODEX_TRUST_NOTE, harnessDefinition } from '../harnesses.js';
10
+ import { harnessDefinition } from '../harnesses.js';
10
11
  import { MOSSBEAR_HOOK_COMMAND, MOSSBEAR_REPORT_COMMAND, RETIRED_HOOK_COMMANDS, retiredCommandsAmong, sessionStartHookRefreshes, sessionStartHookUpdatesCli, stopHookUploadsActions, } from '../hooks-settings.js';
11
12
  import { createContextClient } from '../mcp/client.js';
12
13
  import { resolveOnPath } from '../path-resolve.js';
@@ -434,16 +435,17 @@ export const doctorCommand = defineCommand({
434
435
  if (unverified)
435
436
  allVerified = false;
436
437
  }
437
- // Codex loads a *project's* config as a disabled layer until the project is
438
- // trusted, so a correctly written `.codex/config.toml` still fires nothing
439
- // until the user acts. Deliberately an `i` line rather than a ✓/✗ check:
440
- // the trust decision lives in Codex's own state, not in any file this reads,
441
- // so a check would have to assert something it cannot know — and `✓ Codex
442
- // project trusted` over an untrusted project is precisely the false green
443
- // this is here to prevent. Printed only when Codex is wired in this repo;
444
- // one that does not use Codex has no step outstanding.
445
- if (codexWired)
446
- console.log(` i ${CODEX_TRUST_NOTE}`);
438
+ // Codex runs a project's hooks only once the project is trusted and each
439
+ // hook has been reviewed in `/hooks`, and it records both in the user's own
440
+ // Codex config. Informational `i` lines rather than ✓/✗ checks: a missing
441
+ // record is certain, but Codex keys on paths this can only approximate, and
442
+ // a recorded review may be stale — so this reports what is missing and never
443
+ // says a hook is trusted (`codex-trust.ts`). Printed only when Codex is
444
+ // wired in this repo; one that does not use Codex has no step outstanding.
445
+ if (codexWired) {
446
+ for (const line of await codexTrustLines(process.cwd()))
447
+ console.log(` i ${line}`);
448
+ }
447
449
  // Informational, never fails the run — the CLI is fully functional
448
450
  // locally without a dashboard connection. When a token IS stored the
449
451
  // dashboard is probed, so a silently-401ing (expired/revoked) token
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AA6bA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAksDtB,CAAA"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAwbA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAksDtB,CAAA"}
@@ -17,7 +17,7 @@ import { resolveInitSubscriptionSelection, subscribeBundleSelections, } from '..
17
17
  import { formatDocsRetirementLines, formatDocsSyncLine, syncSubscribedDocs, } from '../docs/sync-docs.js';
18
18
  import { resolveWorkspaceDeclarationSelection, shareableWorkspaces, } from '../docs/workspace-declaration.js';
19
19
  import { errText } from '../err-text.js';
20
- import { CODEX_SESSION_END_EVENT, CODEX_SESSION_END_TIMEOUT_SECONDS, CODEX_SESSION_START_EVENT, LEGACY_CODEX_SESSION_END_TIMEOUT_SECONDS, } from '../harness-writers.js';
20
+ import { CODEX_SESSION_START_EVENT } from '../harness-writers.js';
21
21
  import { detectHarnesses, harnessDefinition, harnessOffers, harnessReportLines, loggerCommand, parseHarnessSelection, parsePlatformFlag, resolveHarnessSelection, } from '../harnesses.js';
22
22
  import { MOSSBEAR_COMPLETE_COMMAND, MOSSBEAR_LEGACY_SESSION_START_YES_COMMAND, MOSSBEAR_REPORT_COMMAND, MOSSBEAR_SESSION_START_COMMAND, MOSSBEAR_SESSION_START_NO_UPDATE_COMMAND, guardedSessionStartCommand, hookGroupsHaveCommand, mergeMossbearHookEntry, mergeMossbearLoggerHook, missingHookPathWarning, pruneStaleHooks, sessionStartHookRefreshes, sessionStartSpellingNote, staleHookWarning, stopHookUploadsActions, } from '../hooks-settings.js';
23
23
  import { summarizeNoOps } from '../init/no-ops.js';
@@ -357,7 +357,7 @@ export const initCommand = defineCommand({
357
357
  },
358
358
  platform: {
359
359
  type: 'string',
360
- description: 'Comma-separated harnesses to wire, overriding detection: claude_code, codex. Required when there is no TTY and the repo has no harness config to detect',
360
+ description: 'Comma-separated harnesses to wire, overriding detection: claude_code, codex, antigravity, opencode. Required when there is no TTY and the repo has no harness config to detect',
361
361
  valueHint: 'list',
362
362
  default: '',
363
363
  },
@@ -748,9 +748,8 @@ export const initCommand = defineCommand({
748
748
  // `mossbear-hook`.** It is what stamps `metadata.harness` on every action
749
749
  // this hook logs, which is how a run records the tool that produced it
750
750
  // (`run-source-linking` slice 1). Reading the payload would survive
751
- // without it — Codex and OpenCode send Claude Code's field names too, and
752
- // that is exactly the problem: a bare entry cannot say which of the three
753
- // sent it, so the hook stamps nothing at all rather than guessing.
751
+ // without it — Codex sends Claude Code's field names too, and that is
752
+ // exactly the problem: a bare entry cannot say which of the two sent it, so the hook stamps nothing at all rather than guessing.
754
753
  command: loggerCommand(harnessDefinition('claude_code')),
755
754
  timeout: 5,
756
755
  };
@@ -1178,18 +1177,6 @@ export const initCommand = defineCommand({
1178
1177
  reason: 'already-installed',
1179
1178
  });
1180
1179
  }
1181
- // Two independent migrations can land in the same `migrated` list —
1182
- // the SessionEnd budget raise and the SessionStart spelling swap —
1183
- // and `written.migrated` says which. A blanket "raised the budget"
1184
- // note was accurate while SessionEnd was the only thing this array
1185
- // could ever hold; naming it for a SessionStart-only migration would
1186
- // claim an outcome the run did not produce.
1187
- if (written.migrated.includes(CODEX_SESSION_END_EVENT)) {
1188
- // A note about a budget that changed, not a warning about something
1189
- // failing: the entry was not broken, it was merely too tight for the
1190
- // artifact push-back `complete` now performs.
1191
- console.log(note(`raised the SessionEnd upload budget in ${written.path} from ${LEGACY_CODEX_SESSION_END_TIMEOUT_SECONDS}s to ${CODEX_SESSION_END_TIMEOUT_SECONDS}s`));
1192
- }
1193
1180
  if (written.migrated.includes(CODEX_SESSION_START_EVENT)) {
1194
1181
  // Covers both spelling swaps this migrates: the ordinary
1195
1182
  // auto-update / `--no-auto-update` toggle, and an older `--yes`
@@ -1197,6 +1184,22 @@ export const initCommand = defineCommand({
1197
1184
  // specifically would misdescribe the other.
1198
1185
  console.log(note(`updated the SessionStart install clause's spelling in ${written.path}`));
1199
1186
  }
1187
+ // Any other harness's in-place rewrite (the OpenCode plugin's logger
1188
+ // stamp and session-start spelling), named by the event it changed so a
1189
+ // file that moved under the user is never moved silently.
1190
+ const otherMigrated = written.migrated.filter((event) => event !== CODEX_SESSION_START_EVENT);
1191
+ if (otherMigrated.length > 0) {
1192
+ console.log(note(`updated ${otherMigrated.join(', ')} in ${written.path}`));
1193
+ }
1194
+ // A rewritten hook owes the same step a new one does: Codex keys its
1195
+ // review on the hook's definition, so a migrated entry is skipped until
1196
+ // it is reviewed again. Printed once — the install branch above has
1197
+ // already said it when this run also added entries.
1198
+ if (written.migrated.length > 0 && written.installed.length === 0) {
1199
+ const writeNote = harnessDefinition(id).outbound?.writeNote;
1200
+ if (writeNote)
1201
+ console.log(note(writeNote));
1202
+ }
1200
1203
  if (written.installed.length > 0 || written.present.length > 0) {
1201
1204
  hooksWired.push(harnessDefinition(id).label);
1202
1205
  }