mossbear 0.1.0-alpha.64 → 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 (44) 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 +11 -14
  10. package/dist/commands/init.js.map +1 -1
  11. package/dist/harness-formats/opencode-shim-block.d.ts +42 -0
  12. package/dist/harness-formats/opencode-shim-block.d.ts.map +1 -0
  13. package/dist/harness-formats/opencode-shim-block.js +118 -0
  14. package/dist/harness-formats/opencode-shim-block.js.map +1 -0
  15. package/dist/harness-formats/opencode.d.ts +37 -40
  16. package/dist/harness-formats/opencode.d.ts.map +1 -1
  17. package/dist/harness-formats/opencode.js +168 -59
  18. package/dist/harness-formats/opencode.js.map +1 -1
  19. package/dist/harness-writers.d.ts +12 -43
  20. package/dist/harness-writers.d.ts.map +1 -1
  21. package/dist/harness-writers.js +12 -75
  22. package/dist/harness-writers.js.map +1 -1
  23. package/dist/harnesses.d.ts +13 -10
  24. package/dist/harnesses.d.ts.map +1 -1
  25. package/dist/harnesses.js +26 -17
  26. package/dist/harnesses.js.map +1 -1
  27. package/dist/hook-logger.d.ts.map +1 -1
  28. package/dist/hook-logger.js +4 -2
  29. package/dist/hook-logger.js.map +1 -1
  30. package/dist/init/wire-harnesses.d.ts +2 -3
  31. package/dist/init/wire-harnesses.d.ts.map +1 -1
  32. package/dist/init/wire-harnesses.js +5 -30
  33. package/dist/init/wire-harnesses.js.map +1 -1
  34. package/dist/lifecycle/operations.d.ts +8 -1
  35. package/dist/lifecycle/operations.d.ts.map +1 -1
  36. package/dist/lifecycle/operations.js +19 -1
  37. package/dist/lifecycle/operations.js.map +1 -1
  38. package/dist/nested-claude.d.ts +20 -0
  39. package/dist/nested-claude.d.ts.map +1 -0
  40. package/dist/nested-claude.js +76 -0
  41. package/dist/nested-claude.js.map +1 -0
  42. package/dist/project-hooks.js +2 -1
  43. package/dist/project-hooks.js.map +1 -1
  44. 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":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,YAAY,GACb,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EACL,8BAA8B,EAC9B,aAAa,EACb,6BAA6B,GAE9B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAA0B,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,mBAAmB,GACpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAA;AAE1B;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CAAC,KAAqC;IAC7D,OAAO,sBAAsB,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;IACzC,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,gDAAgD;KAC9D;IACD,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,+BAA+B;YAC5C,OAAO,EAAE,KAAK;SACf;QACD,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,uHAAuH;YACzH,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,EAAE;SACZ;KACF;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAChB,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QAC1D,2EAA2E;QAC3E,uEAAuE;QACvE,0EAA0E;QAC1E,oEAAoE;QACpE,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QAC5D,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAC7E,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,CAAA;QAC3E,2EAA2E;QAC3E,qEAAqE;QACrE,6CAA6C;QAC7C,4EAA4E;QAC5E,kDAAkD;QAClD,EAAE;QACF,yEAAyE;QACzE,qEAAqE;QACrE,4EAA4E;QAC5E,yEAAyE;QACzE,mEAAmE;QACnE,yEAAyE;QACzE,qEAAqE;QACrE,sDAAsD;QACtD,MAAM,kBAAkB,GAAG,cAAc;aACtC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACf,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAA;YAClC,MAAM,MAAM,GAAG,QAAQ;gBACrB,CAAC,CAAC,GAAG,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,UAAU,qBAAqB,GAAG;gBACvF,CAAC,CAAC,GAAG,qBAAqB,OAAO,CAAA;YACnC,uEAAuE;YACvE,oEAAoE;YACpE,iEAAiE;YACjE,oEAAoE;YACpE,gDAAgD;YAChD,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU;gBAC/B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,0BAA0B,QAAQ,CAAC,EAAE,6DAA6D,CAAA;YACtG,OAAO,GAAG,QAAQ,CAAC,KAAK,MAAM,MAAM,GAAG,MAAM,EAAE,CAAA;QACjD,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAA;QACb,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAA;QACjD,2EAA2E;QAC3E,wEAAwE;QACxE,4EAA4E;QAC5E,yEAAyE;QACzE,2EAA2E;QAC3E,yDAAyD;QACzD,MAAM,eAAe,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,aAAa,CAAC,CAAA;QACtF,MAAM,qBAAqB,GACzB,gBAAgB,CAAC,YAAY,EAAE,oBAAoB,CAAC,KAAK,IAAI,CAAA;QAC/D,uEAAuE;QACvE,uEAAuE;QACvE,4EAA4E;QAC5E,wEAAwE;QACxE,kEAAkE;QAClE,yBAAyB;QACzB,MAAM,gBAAgB,GACpB,gBAAgB,CAAC,YAAY,CAAC;YAC9B,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAC1D,yEAAyE;QACzE,0EAA0E;QAC1E,sEAAsE;QACtE,6DAA6D;QAC7D,MAAM,gBAAgB,GAAG;YACvB,GAAG,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,cAAc;iBACd,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,EAAE,KAAK,aAAa,CAAC;iBAC3E,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC;iBACvE,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;SACxD,CAAA;QACD,0EAA0E;QAC1E,kEAAkE;QAClE,6CAA6C;QAC7C,MAAM,qBAAqB,GAAG,yBAAyB,CACrD,YAAY,EAAE,CAAC,cAAc,CAAC,CAC/B,CAAA;QACD,0EAA0E;QAC1E,2EAA2E;QAC3E,kDAAkD;QAClD,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,YAAY,EAAE,CAAC,cAAc,CAAC,CAAC,CAAA;QACtF,0EAA0E;QAC1E,qEAAqE;QACrE,yEAAyE;QACzE,2EAA2E;QAC3E,uEAAuE;QACvE,sEAAsE;QACtE,sEAAsE;QACtE,4EAA4E;QAC5E,gEAAgE;QAChE,MAAM,YAAY,GAAG,oBAAoB,CAAC;YACxC,GAAG,mBAAmB,CAAC,YAAY,CAAC;YACpC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACpC,OAAO,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CACrD;SACF,CAAC,CAAA;QACF,MAAM,WAAW,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAAA;QACxD,uEAAuE;QACvE,+DAA+D;QAC/D,MAAM,eAAe,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;QACjD,6EAA6E;QAC7E,0EAA0E;QAC1E,wEAAwE;QACxE,MAAM,QAAQ,GAAG,WAAW,KAAK,IAAI,CAAA;QAErC,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QAE/D,gEAAgE;QAChE,6EAA6E;QAC7E,yEAAyE;QACzE,qDAAqD;QACrD,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC,CAAA;QACvD,2EAA2E;QAC3E,4EAA4E;QAC5E,uEAAuE;QACvE,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC;YAC1C,GAAG,EAAE,YAAY;YACjB,mBAAmB,EAAE,KAAK;SAC3B,CAAC;aACC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;aAC3C,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC7C,4EAA4E;QAC5E,4EAA4E;QAC5E,8CAA8C;QAC9C,MAAM,aAAa,GAAG,MAAM,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;QAC1D,4EAA4E;QAC5E,yEAAyE;QACzE,yEAAyE;QACzE,mEAAmE;QACnE,oEAAoE;QACpE,2EAA2E;QAC3E,MAAM,YAAY,GAAG,aAAa;YAChC,CAAC,CAAC,MAAM,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAClD,CAAC,CAAC,EAAE,CAAA;QACN,uEAAuE;QACvE,wEAAwE;QACxE,wBAAwB;QACxB,MAAM,YAAY,GAA6B,aAAa;YAC1D,CAAC,CAAC,MAAM,oBAAoB,CAAC,YAAY,EAAE,aAAa,CAAC;YACzD,CAAC,CAAC,IAAI,CAAA;QACR,IAAI,qBAAqB,GAAkB,IAAI,CAAA;QAC/C,wEAAwE;QACxE,kEAAkE;QAClE,sEAAsE;QACtE,4CAA4C;QAC5C,IAAI,uBAAuB,GAAoC,IAAI,CAAA;QACnE,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAA;gBAC1E,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAChD,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CACtC,CAAA;gBACD,qBAAqB,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAC7D,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CACxB,CAAC,MAAM,CAAA;gBACR,uBAAuB,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAC3D,8BAA8B,CAAC,EAAE,EAAE,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,CAC7E,CAAA;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,wEAAwE;gBACxE,sEAAsE;gBACtE,wEAAwE;gBACxE,8BAA8B;YAChC,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,4EAA4E;QAC5E,2EAA2E;QAC3E,0EAA0E;QAC1E,0EAA0E;QAC1E,2EAA2E;QAC3E,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,CAAA;QAEpD,MAAM,QAAQ,GAAG,qBAAqB,CAAC;YACrC,qBAAqB,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM;YACpD,qBAAqB;YACrB,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;YACvC,eAAe,EAAE,QAAQ,CAAC,SAAS;YACnC,eAAe,EAAE,UAAU,CAAC,MAAM;YAClC,aAAa,EAAE,sBAAsB,CAAC,YAAY,CAAC;YACnD,uEAAuE;YACvE,mEAAmE;YACnE,OAAO,EAAE,CAAC,aAAa;SACxB,CAAC,CAAA;QAEF,MAAM,MAAM,GAYP;YACH,sEAAsE;YACtE,mEAAmE;YACnE,qEAAqE;YACrE,sEAAsE;YACtE,uEAAuE;YACvE,wDAAwD;YACxD,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;gBAC3B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE;wBACE,KAAK,EAAE,uBAAuB;wBAC9B,EAAE,EAAE,KAAK;wBACT,MAAM,EACJ,GAAG,YAAY,CAAC,MAAM,mDAAmD;4BACzE,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;4BAC5E,gFAAgF;4BAChF,+EAA+E;4BAC/E,8EAA8E;4BAC9E,gDAAgD;4BAChD,GAAG,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBACpD;iBACF,CAAC;YACN;gBACE,KAAK,EAAE,gBAAgB;gBACvB,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC5B;YACD,+DAA+D;YAC/D,yEAAyE;YACzE,6CAA6C;YAC7C,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,WAAW,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ;gBAC/D,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE;wBACE,KAAK,EAAE,6BAA6B;wBACpC,EAAE,EAAE,QAAQ,CAAC,KAAK,KAAK,SAAS;wBAChC,4DAA4D;wBAC5D,iEAAiE;wBACjE,6DAA6D;wBAC7D,wDAAwD;wBACxD,MAAM,EACJ,QAAQ,CAAC,KAAK,KAAK,WAAW;4BAC5B,CAAC,CAAC,6JAA6J;4BAC/J,CAAC,CAAC,QAAQ,CAAC,KAAK,KAAK,gBAAgB;gCACnC,CAAC,CAAC,iIAAiI;gCACnI,CAAC,CAAC,oBAAoB;qBAC7B;iBACF,CAAC;YACN,4EAA4E;YAC5E,0EAA0E;YAC1E,wEAAwE;YACxE,wEAAwE;YACxE,0DAA0D;YAC1D,EAAE;YACF,wEAAwE;YACxE,oEAAoE;YACpE,sEAAsE;YACtE,GAAG,CAAC,uBAAuB,KAAK,IAAI,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;gBACzE,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE;wBACE,KAAK,EAAE,2BAA2B;wBAClC,EAAE,EAAE,uBAAuB,CAAC,MAAM,KAAK,CAAC;wBACxC,MAAM,EACJ,uBAAuB,CAAC,MAAM,KAAK,CAAC;4BAClC,CAAC,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,yBAAyB;4BAC3D,CAAC,CAAC,uBAAuB;iCACpB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;iCACpD,IAAI,CAAC,GAAG,CAAC;qBACnB;iBACF,CAAC;YACN;gBACE,KAAK,EAAE,cAAc;gBACrB,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE;gBAChD,MAAM,EAAE,OAAO,CAAC,OAAO;aACxB;YACD,yEAAyE;YACzE,+DAA+D;YAC/D,iEAAiE;YACjE,wEAAwE;YACxE,2EAA2E;YAC3E,uEAAuE;YACvE,8CAA8C;YAC9C;gBACE,KAAK,EAAE,uBAAuB;gBAC9B,EAAE,EAAE,QAAQ;gBACZ,MAAM,EAAE,QAAQ;oBACd,CAAC,CAAC,CAAC,WAAW,IAAI,qBAAqB,CAAC;oBACxC,CAAC,CAAC,GAAG,qBAAqB,6DAA6D;aAC1F;YACD;gBACE,KAAK,EAAE,wBAAwB;gBAC/B,uEAAuE;gBACvE,oEAAoE;gBACpE,uEAAuE;gBACvE,kCAAkC;gBAClC,EAAE;gBACF,oEAAoE;gBACpE,oEAAoE;gBACpE,uEAAuE;gBACvE,gCAAgC;gBAChC,EAAE,EAAE,eAAe,IAAI,QAAQ;gBAC/B,MAAM,EAAE,CAAC,eAAe;oBACtB,CAAC,CAAC,sDAAsD;oBACxD,CAAC,CAAC,QAAQ;wBACR,CAAC,CAAC,kBAAkB;wBACpB,CAAC,CAAC,GAAG,qBAAqB,6DAA6D;aAC5F;YACD,qEAAqE;YACrE,uEAAuE;YACvE,sEAAsE;YACtE,GAAG,CAAC,eAAe;gBACjB,CAAC,CAAC;oBACE;wBACE,+DAA+D;wBAC/D,8DAA8D;wBAC9D,8DAA8D;wBAC9D,gEAAgE;wBAChE,gEAAgE;wBAChE,+DAA+D;wBAC/D,oDAAoD;wBACpD,KAAK,EAAE,+CAA+C;wBACtD,EAAE,EAAE,qBAAqB,IAAI,QAAQ;wBACrC,MAAM,EAAE,CAAC,qBAAqB;4BAC5B,CAAC,CAAC,2FAA2F;4BAC7F,CAAC,CAAC,QAAQ;gCACR,CAAC,CAAC,sDAAsD,qBAAqB,GAAG;gCAChF,CAAC,CAAC,GAAG,qBAAqB,6DAA6D;qBAC5F;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,eAAe;gBACjB,CAAC,CAAC;oBACE;wBACE,KAAK,EAAE,kCAAkC;wBACzC,8DAA8D;wBAC9D,sEAAsE;wBACtE,iEAAiE;wBACjE,oEAAoE;wBACpE,yDAAyD;wBACzD,EAAE,EAAE,gBAAgB,IAAI,eAAe,KAAK,IAAI;wBAChD,8DAA8D;wBAC9D,iEAAiE;wBACjE,gEAAgE;wBAChE,8DAA8D;wBAC9D,iDAAiD;wBACjD,gEAAgE;wBAChE,+DAA+D;wBAC/D,+DAA+D;wBAC/D,kDAAkD;wBAClD,EAAE;wBACF,iEAAiE;wBACjE,0DAA0D;wBAC1D,wDAAwD;wBACxD,6DAA6D;wBAC7D,+DAA+D;wBAC/D,+DAA+D;wBAC/D,iEAAiE;wBACjE,iEAAiE;wBACjE,8DAA8D;wBAC9D,EAAE;wBACF,0DAA0D;wBAC1D,iEAAiE;wBACjE,gEAAgE;wBAChE,sDAAsD;wBACtD,QAAQ,EAAE,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,IAAI;wBACxD,MAAM,EAAE,CAAC,gBAAgB;4BACvB,CAAC,CAAC,yGAAyG,uBAAuB,mBAAmB,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iEAAiE;4BACrS,CAAC,CAAC,eAAe,KAAK,IAAI;gCACxB,CAAC,CAAC,wJAAwJ;gCAC1J,CAAC,CAAC,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,IAAI;oCAC9C,CAAC,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,uBAAuB,GAAG;oCAC/E,CAAC,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,uBAAuB,4GAA4G;qBAC/L;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAA;QAED,OAAO,CAAC,GAAG,CAAC,cAAc,WAAW,EAAE,CAAC,CAAA;QAExC,IAAI,KAAK,GAAG,IAAI,CAAA;QAChB,IAAI,WAAW,GAAG,IAAI,CAAA;QACtB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,sEAAsE;YACtE,uEAAuE;YACvE,wEAAwE;YACxE,wEAAwE;YACxE,mCAAmC;YACnC,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAA;YAC3C,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;YACrD,MAAM,IAAI,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,KAAK,EAAE,CAAA;YACxC,uEAAuE;YACvE,wEAAwE;YACxE,4DAA4D;YAC5D,EAAE;YACF,oEAAoE;YACpE,uEAAuE;YACvE,+DAA+D;YAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;YACjC,OAAO,CAAC,GAAG,CACT,CAAC,KAAK,CAAC,EAAE,IAAI,UAAU,IAAI,IAAI,CAAC,OAAO;gBACrC,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1C,CAAC,CAAC,IAAI,CACT,CAAA;YACD,IAAI,CAAC,KAAK,CAAC,EAAE;gBAAE,KAAK,GAAG,KAAK,CAAA;YAC5B,IAAI,UAAU;gBAAE,WAAW,GAAG,KAAK,CAAA;QACrC,CAAC;QAED,4EAA4E;QAC5E,2EAA2E;QAC3E,yEAAyE;QACzE,6EAA6E;QAC7E,0EAA0E;QAC1E,0EAA0E;QAC1E,0EAA0E;QAC1E,uDAAuD;QACvD,IAAI,UAAU;YAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,gBAAgB,EAAE,CAAC,CAAA;QAEvD,mEAAmE;QACnE,qEAAqE;QACrE,oEAAoE;QACpE,yEAAyE;QACzE,wEAAwE;QACxE,EAAE;QACF,yEAAyE;QACzE,0EAA0E;QAC1E,wEAAwE;QACxE,2CAA2C;QAC3C,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,QAAQ,uBAAuB,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;QACpE,CAAC;aAAM,CAAC;YACN,wEAAwE;YACxE,yEAAyE;YACzE,oEAAoE;YACpE,IAAI,YAAY,EAAE,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,oBAAoB,kBAAkB,EAAE,CAAC,CAAA;YACvD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,QAAQ,uBAAuB,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC,CAAA;QAC5E,CAAC;QAED,0EAA0E;QAC1E,2EAA2E;QAC3E,wEAAwE;QACxE,wEAAwE;QACxE,yCAAyC;QACzC,KAAK,MAAM,IAAI,IAAI,oBAAoB,CAAC;YACtC,SAAS,EAAE,qBAAqB;YAChC,WAAW,EAAE,mBAAmB;YAChC,SAAS,EAAE,eAAe,KAAK,IAAI;SACpC,CAAC,EAAE,CAAC;YACH,wEAAwE;YACxE,uBAAuB;YACvB,EAAE;YACF,yEAAyE;YACzE,yEAAyE;YACzE,uEAAuE;YACvE,sEAAsE;YACtE,0EAA0E;YAC1E,kBAAkB;YAClB,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,CACrC,IAAI;YACJ,2DAA2D;YAC3D,oEAAoE;YACpE,oEAAoE;YACpE,mEAAmE;YACnE,qEAAqE;YACrE,mEAAmE;YACnE,kCAAkC;YAClC,aAAa,EAAE,GAAG,gBAAgB,CACnC,CAAC,OAAO,EAAE,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,OAAO,EAAE,CAC9E,CAAA;YACH,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,4EAA4E;QAC5E,0EAA0E;QAC1E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACtD,OAAO,CAAC,GAAG,CACT,uDAAuD,KAAK,IAAI;gBAC9D,sFAAsF,CACzF,CAAA;QACH,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,qEAAqE;YACrE,oEAAoE;YACpE,wDAAwD;YACxD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;YACpC,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAA;YAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,2EAA2E;QAC3E,wEAAwE;QACxE,wEAAwE;QACxE,EAAE;QACF,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,0EAA0E;QAC1E,4EAA4E;QAC5E,wEAAwE;QACxE,oDAAoD;QACpD,OAAO,CAAC,GAAG,CACT,YAAY,KAAK,UAAU;YACzB,CAAC,CAAC,oHAAoH;YACtH,CAAC,CAAC,WAAW;gBACX,CAAC,CAAC,sBAAsB;gBACxB,CAAC,CAAC,iGAAiG,CACxG,CAAA;QAED,yEAAyE;QACzE,uEAAuE;QACvE,yEAAyE;QACzE,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAA;QACrC,IAAI,CAAC,MAAM;YAAE,OAAM;QAEnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAA;QAChD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;YAAE,OAAM;QAEhC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;QAChE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAA;YACjE,MAAM,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QAC1C,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtC,wEAAwE;YACxE,2DAA2D;YAC3D,OAAO,CAAC,IAAI,CACV,oBAAoB,MAAM,CAAC,MAAM,wBAAwB,MAAM,CAAC,OAAO,EAAE,CAC1E,CAAA;QACH,CAAC;IACH,CAAC;CACF,CAAC,CAAA"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2sDtB,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';
@@ -1177,18 +1177,6 @@ export const initCommand = defineCommand({
1177
1177
  reason: 'already-installed',
1178
1178
  });
1179
1179
  }
1180
- // Two independent migrations can land in the same `migrated` list —
1181
- // the SessionEnd budget raise and the SessionStart spelling swap —
1182
- // and `written.migrated` says which. A blanket "raised the budget"
1183
- // note was accurate while SessionEnd was the only thing this array
1184
- // could ever hold; naming it for a SessionStart-only migration would
1185
- // claim an outcome the run did not produce.
1186
- if (written.migrated.includes(CODEX_SESSION_END_EVENT)) {
1187
- // A note about a budget that changed, not a warning about something
1188
- // failing: the entry was not broken, it was merely too tight for the
1189
- // artifact push-back `complete` now performs.
1190
- 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`));
1191
- }
1192
1180
  if (written.migrated.includes(CODEX_SESSION_START_EVENT)) {
1193
1181
  // Covers both spelling swaps this migrates: the ordinary
1194
1182
  // auto-update / `--no-auto-update` toggle, and an older `--yes`
@@ -1199,10 +1187,19 @@ export const initCommand = defineCommand({
1199
1187
  // Any other harness's in-place rewrite (the OpenCode plugin's logger
1200
1188
  // stamp and session-start spelling), named by the event it changed so a
1201
1189
  // file that moved under the user is never moved silently.
1202
- const otherMigrated = written.migrated.filter((event) => event !== CODEX_SESSION_END_EVENT && event !== CODEX_SESSION_START_EVENT);
1190
+ const otherMigrated = written.migrated.filter((event) => event !== CODEX_SESSION_START_EVENT);
1203
1191
  if (otherMigrated.length > 0) {
1204
1192
  console.log(note(`updated ${otherMigrated.join(', ')} in ${written.path}`));
1205
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
+ }
1206
1203
  if (written.installed.length > 0 || written.present.length > 0) {
1207
1204
  hooksWired.push(harnessDefinition(id).label);
1208
1205
  }