@mmnto/cli 1.120.0 → 1.122.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.
- package/dist/artifact-vocabulary.d.ts +23 -0
- package/dist/artifact-vocabulary.d.ts.map +1 -0
- package/dist/artifact-vocabulary.js +23 -0
- package/dist/artifact-vocabulary.js.map +1 -0
- package/dist/commands/config-drift.test.js +26 -2
- package/dist/commands/config-drift.test.js.map +1 -1
- package/dist/commands/doctor-parity.d.ts.map +1 -1
- package/dist/commands/doctor-parity.js +21 -6
- package/dist/commands/doctor-parity.js.map +1 -1
- package/dist/commands/doctor-parity.test.js +14 -7
- package/dist/commands/doctor-parity.test.js.map +1 -1
- package/dist/commands/doctor.d.ts +21 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +167 -9
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/doctor.test.js +234 -6
- package/dist/commands/doctor.test.js.map +1 -1
- package/dist/commands/ecl-gc.d.ts.map +1 -1
- package/dist/commands/ecl-gc.js +38 -5
- package/dist/commands/ecl-gc.js.map +1 -1
- package/dist/commands/ecl-gc.test.js +71 -0
- package/dist/commands/ecl-gc.test.js.map +1 -1
- package/dist/commands/eject-totemdir.test.d.ts +8 -0
- package/dist/commands/eject-totemdir.test.d.ts.map +1 -0
- package/dist/commands/eject-totemdir.test.js +101 -0
- package/dist/commands/eject-totemdir.test.js.map +1 -0
- package/dist/commands/eject.d.ts +30 -5
- package/dist/commands/eject.d.ts.map +1 -1
- package/dist/commands/eject.js +145 -31
- package/dist/commands/eject.js.map +1 -1
- package/dist/commands/eject.test.js +3 -3
- package/dist/commands/eject.test.js.map +1 -1
- package/dist/commands/hook-totemdir-render.test.d.ts +23 -0
- package/dist/commands/hook-totemdir-render.test.d.ts.map +1 -0
- package/dist/commands/hook-totemdir-render.test.js +288 -0
- package/dist/commands/hook-totemdir-render.test.js.map +1 -0
- package/dist/commands/init-templates.d.ts +4 -4
- package/dist/commands/init-templates.d.ts.map +1 -1
- package/dist/commands/init-templates.js +3 -3
- package/dist/commands/install-hooks-exit-contract.test.js +6 -6
- package/dist/commands/install-hooks-exit-contract.test.js.map +1 -1
- package/dist/commands/install-hooks.d.ts +162 -12
- package/dist/commands/install-hooks.d.ts.map +1 -1
- package/dist/commands/install-hooks.js +521 -88
- package/dist/commands/install-hooks.js.map +1 -1
- package/dist/commands/install-hooks.test.js +922 -147
- package/dist/commands/install-hooks.test.js.map +1 -1
- package/dist/commands/link.d.ts.map +1 -1
- package/dist/commands/link.js +71 -16
- package/dist/commands/link.js.map +1 -1
- package/dist/commands/link.test.d.ts +9 -0
- package/dist/commands/link.test.d.ts.map +1 -0
- package/dist/commands/link.test.js +92 -0
- package/dist/commands/link.test.js.map +1 -0
- package/dist/commands/mail.d.ts +48 -2
- package/dist/commands/mail.d.ts.map +1 -1
- package/dist/commands/mail.js +76 -2
- package/dist/commands/mail.js.map +1 -1
- package/dist/commands/mail.test.js +177 -0
- package/dist/commands/mail.test.js.map +1 -1
- package/dist/commands/pre-push-gate-matrix.test.js +9 -2
- package/dist/commands/pre-push-gate-matrix.test.js.map +1 -1
- package/dist/commands/shield.js +1 -1
- package/dist/commands/shield.js.map +1 -1
- package/dist/commands/spec-cli-wiring.test.d.ts +19 -0
- package/dist/commands/spec-cli-wiring.test.d.ts.map +1 -0
- package/dist/commands/spec-cli-wiring.test.js +90 -0
- package/dist/commands/spec-cli-wiring.test.js.map +1 -0
- package/dist/commands/spec-templates.d.ts +18 -0
- package/dist/commands/spec-templates.d.ts.map +1 -1
- package/dist/commands/spec-templates.js +21 -0
- package/dist/commands/spec-templates.js.map +1 -1
- package/dist/commands/spec.d.ts +168 -1
- package/dist/commands/spec.d.ts.map +1 -1
- package/dist/commands/spec.js +448 -7
- package/dist/commands/spec.js.map +1 -1
- package/dist/commands/spec.test.js +903 -20
- package/dist/commands/spec.test.js.map +1 -1
- package/dist/commands/tools-hook-parity.test.js +7 -3
- package/dist/commands/tools-hook-parity.test.js.map +1 -1
- package/dist/index.js +16 -2
- package/dist/index.js.map +1 -1
- package/dist/services/run-artifacts.d.ts +12 -1
- package/dist/services/run-artifacts.d.ts.map +1 -1
- package/dist/services/run-artifacts.js +48 -3
- package/dist/services/run-artifacts.js.map +1 -1
- package/dist/services/run-artifacts.test.js +97 -1
- package/dist/services/run-artifacts.test.js.map +1 -1
- package/dist/utils.d.ts +22 -3
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +4 -0
- package/dist/utils.js.map +1 -1
- package/dist/utils.test.js +65 -1
- package/dist/utils.test.js.map +1 -1
- package/package.json +2 -2
|
@@ -46,6 +46,112 @@ export declare function resolveGitRootForHookPath(cwd: string): {
|
|
|
46
46
|
export declare function getFallbackCommand(cwd: string): string;
|
|
47
47
|
/** @deprecated Use {@link getFallbackCommand} instead. Kept for backwards compatibility. */
|
|
48
48
|
export declare function detectTotemPrefix(cwd: string): string;
|
|
49
|
+
/** The `totemDir` every hook renders when the repo configures none. */
|
|
50
|
+
export declare const DEFAULT_TOTEM_DIR = ".totem";
|
|
51
|
+
/**
|
|
52
|
+
* Everything the four hook templates render FROM.
|
|
53
|
+
*
|
|
54
|
+
* Every field is REQUIRED on purpose. A defaulted parameter is exactly how a
|
|
55
|
+
* writer keeps rendering `.totem` under a repo that configured something else —
|
|
56
|
+
* the mmnto-ai/totem#2692 class, where the strict pre-commit reader and `totem
|
|
57
|
+
* spec`'s writer named different trees and the gate failed closed forever. With
|
|
58
|
+
* no default, the compiler forces every call site to thread the resolved value.
|
|
59
|
+
*/
|
|
60
|
+
export interface HookRenderOptions {
|
|
61
|
+
/** Enforcement tier the hook is generated at. */
|
|
62
|
+
tier: 'strict' | 'standard';
|
|
63
|
+
/** Repo-relative Totem directory the hook must name (config `totemDir`). */
|
|
64
|
+
totemDir: string;
|
|
65
|
+
/** Package-manager fallback invocation for the runtime resolve block. */
|
|
66
|
+
fallbackCmd: string;
|
|
67
|
+
}
|
|
68
|
+
/** {@link HookRenderOptions} plus the config file they were derived from. */
|
|
69
|
+
export interface ResolvedHookRenderOptions extends HookRenderOptions {
|
|
70
|
+
/** The config that supplied the values; undefined when none resolved. */
|
|
71
|
+
configPath?: string;
|
|
72
|
+
/** Set when a config RESOLVED but would not load: the values are the defaults
|
|
73
|
+
* and the failure was printed (mmnto-ai/totem#2692 amendment A8). */
|
|
74
|
+
configError?: string;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Whether `value` carries a character that cannot be rendered SAFELY into the
|
|
78
|
+
* managed hooks: a single quote (breaks the `sh` single-quoted word AND the
|
|
79
|
+
* single-quoted `node -e '…'` reader), a double quote or a backslash (breaks the
|
|
80
|
+
* JS string literal inside that reader), a dollar sign or a backtick (the only
|
|
81
|
+
* characters that stay ACTIVE inside the double-quoted `sh` words every guard
|
|
82
|
+
* uses — refusing them is what lets those sites keep the one plain
|
|
83
|
+
* double-quoted form `tools/*` ships; mmnto-ai/totem#2692 amendment A2), or a
|
|
84
|
+
* control character / newline (breaks both, and can forge lines in the hook
|
|
85
|
+
* body).
|
|
86
|
+
*
|
|
87
|
+
* Written as a code-point walk rather than a regex with escape literals so the
|
|
88
|
+
* predicate carries no escape sequence of its own to mis-author.
|
|
89
|
+
*/
|
|
90
|
+
export declare function hasUnrenderableTotemDirChar(value: string): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Why `totemDir` cannot be rendered into the managed hooks, or `null` when it
|
|
93
|
+
* can (mmnto-ai/totem#2692 C4 + amendment A7). Two classes:
|
|
94
|
+
*
|
|
95
|
+
* - CHARACTERS the quoting regimes cannot carry (see
|
|
96
|
+
* {@link hasUnrenderableTotemDirChar}) — the `@mmnto/totem` schema refuses
|
|
97
|
+
* the same set, so a validated config never reaches this arm.
|
|
98
|
+
* - SHAPES the hooks could never govern, which the schema deliberately still
|
|
99
|
+
* accepts because other verbs can use them (`.` is the global profile's own
|
|
100
|
+
* spelling): empty, a trailing slash, `.`, a `.` or empty segment, a `..`
|
|
101
|
+
* segment, a leading `-`. Each of these renders a hook whose post-merge /
|
|
102
|
+
* post-checkout diff filter (`grep -q '<dir>/…'` over the repo-relative
|
|
103
|
+
* paths git prints) can never match, or — for the empty value — an ABSOLUTE
|
|
104
|
+
* run-store path in the strict pre-commit reader. The schema normalises a
|
|
105
|
+
* trailing slash away; a raw value reaching a builder directly is refused,
|
|
106
|
+
* never normalised here (a builder is a pure function of its options).
|
|
107
|
+
*/
|
|
108
|
+
export declare function hookTotemDirProblem(totemDir: string): string | null;
|
|
109
|
+
/**
|
|
110
|
+
* Refuse — loudly, naming the value and the reason — a `totemDir` the hook
|
|
111
|
+
* templates cannot render (mmnto-ai/totem#2692 C4/A7). Called by the resolver
|
|
112
|
+
* on the configured value and by every builder as the render-path backstop for
|
|
113
|
+
* direct-API and hand-threaded call sites.
|
|
114
|
+
*
|
|
115
|
+
* Throws rather than degrades: a hook rendered from a value we could not quote
|
|
116
|
+
* is a shell-injection surface, and silently falling back to `.totem` would
|
|
117
|
+
* re-create the very writer/reader split this slice closes (Tenet 4).
|
|
118
|
+
*/
|
|
119
|
+
export declare function assertRenderableTotemDir(totemDir: string): void;
|
|
120
|
+
/**
|
|
121
|
+
* THE resolver: config → the options every hook writer renders from
|
|
122
|
+
* (mmnto-ai/totem#2692 C1).
|
|
123
|
+
*
|
|
124
|
+
* `tier` = explicit flag > `hooks.tier` from config > `'standard'` (the
|
|
125
|
+
* precedence `hooksCommand` already implemented, moved here so `totem init`,
|
|
126
|
+
* `installHooksNonInteractive` and the silent pre-push upgrade honor it too) —
|
|
127
|
+
* from whichever config resolves, global profile included, exactly as before.
|
|
128
|
+
*
|
|
129
|
+
* `totemDir` = the REPO-LOCAL config's `totemDir` > `.totem`. Repo-local only,
|
|
130
|
+
* and deliberately asymmetric with `tier`: the value is a path rendered into a
|
|
131
|
+
* hook that runs at the worktree top, so only this project's config can name it.
|
|
132
|
+
* The global `~/.totem/` profile `totem init --global` writes declares
|
|
133
|
+
* `totemDir: '.'` — describing that profile directory itself — and honoring it
|
|
134
|
+
* here would silently re-render every config-less repo's hooks against the
|
|
135
|
+
* checkout root on any machine that has a profile (the mmnto-ai/totem#2692 C3
|
|
136
|
+
* "no consumer's hooks drift on upgrade" invariant, and the same
|
|
137
|
+
* machine-dependence `doctor --parity` guards with `isGlobalConfigPath`).
|
|
138
|
+
*
|
|
139
|
+
* `fallbackCmd` = the lockfile probe anchored at `cwd` — pass the GIT ROOT, the
|
|
140
|
+
* anchor the installer has always used, so a hook installed from a subdirectory
|
|
141
|
+
* still names the repo's package manager.
|
|
142
|
+
*
|
|
143
|
+
* No config at all → the defaults, silently: a config-less repo installing hooks
|
|
144
|
+
* is a supported path, not an error. A config that RESOLVES but will not LOAD
|
|
145
|
+
* (a syntax error, a `totemDir` the schema refines out) → the defaults, LOUDLY:
|
|
146
|
+
* one line names the file and the failure, so a repo whose config says
|
|
147
|
+
* `knowledge/` never gets `.totem/` hooks without a word (mmnto-ai/totem#2692
|
|
148
|
+
* amendment A8 — the silent→loud shape of mmnto-ai/totem#2685). A config that
|
|
149
|
+
* loads but names a `totemDir` the hooks cannot govern (`.`, a `..` segment, a
|
|
150
|
+
* leading `-`) REFUSES — {@link assertRenderableTotemDir}.
|
|
151
|
+
*/
|
|
152
|
+
export declare function resolveHookRenderOptions(cwd: string, flags?: {
|
|
153
|
+
tier?: 'strict' | 'standard';
|
|
154
|
+
}): Promise<ResolvedHookRenderOptions>;
|
|
49
155
|
/**
|
|
50
156
|
* Build a POSIX shell block that resolves the totem command at runtime.
|
|
51
157
|
*
|
|
@@ -59,16 +165,25 @@ export declare function detectTotemPrefix(cwd: string): string;
|
|
|
59
165
|
* `[ -n "$TOTEM_CMD" ]`. Never exits early, to avoid killing chained user hooks.
|
|
60
166
|
*/
|
|
61
167
|
export declare function buildResolveBlock(fallbackCmd: string): string;
|
|
62
|
-
export declare function buildHookContent(
|
|
63
|
-
|
|
168
|
+
export declare function buildHookContent(options: {
|
|
169
|
+
fallbackCmd: string;
|
|
170
|
+
totemDir: string;
|
|
171
|
+
}): string;
|
|
172
|
+
export declare function buildPostCheckoutHookContent(options: {
|
|
173
|
+
fallbackCmd: string;
|
|
174
|
+
totemDir: string;
|
|
175
|
+
}): string;
|
|
64
176
|
/**
|
|
65
|
-
* Generate helper shell scripts under
|
|
66
|
-
* These scripts contain the full guard logic (diff checks, null-SHA
|
|
67
|
-
* bare inline commands would skip.
|
|
177
|
+
* Generate helper shell scripts under `<totemDir>/hooks/` for hook manager
|
|
178
|
+
* integration. These scripts contain the full guard logic (diff checks, null-SHA
|
|
179
|
+
* guards) that bare inline commands would skip.
|
|
180
|
+
*
|
|
181
|
+
* Takes the RESOLVED {@link HookRenderOptions} rather than resolving config
|
|
182
|
+
* itself: both callers already hold the one resolution for this invocation, and
|
|
183
|
+
* a required parameter is the same compiler-enforced thread the builders use
|
|
184
|
+
* (mmnto-ai/totem#2692 C1/C2).
|
|
68
185
|
*/
|
|
69
|
-
export declare function generateHookHelpers(gitRoot: string,
|
|
70
|
-
tier?: 'strict' | 'standard';
|
|
71
|
-
}): void;
|
|
186
|
+
export declare function generateHookHelpers(gitRoot: string, render: HookRenderOptions): void;
|
|
72
187
|
export declare function installPostMergeHook(cwd: string, rl: readline.Interface, options?: {
|
|
73
188
|
tier?: 'strict' | 'standard';
|
|
74
189
|
/** Threaded from init's single non-interactive predicate (mmnto-ai/totem#2601);
|
|
@@ -77,8 +192,35 @@ export declare function installPostMergeHook(cwd: string, rl: readline.Interface
|
|
|
77
192
|
* mutations already landed. */
|
|
78
193
|
interactive?: boolean;
|
|
79
194
|
}): Promise<void>;
|
|
80
|
-
export declare function buildPreCommitHook(
|
|
81
|
-
|
|
195
|
+
export declare function buildPreCommitHook(options: {
|
|
196
|
+
tier: 'strict' | 'standard';
|
|
197
|
+
totemDir: string;
|
|
198
|
+
}): string;
|
|
199
|
+
export declare function buildPrePushHook(options: {
|
|
200
|
+
fallbackCmd: string;
|
|
201
|
+
tier: 'strict' | 'standard';
|
|
202
|
+
totemDir: string;
|
|
203
|
+
}): string;
|
|
204
|
+
/**
|
|
205
|
+
* Whether an existing hook is a totem-OWNED whole file (generated verbatim by a
|
|
206
|
+
* `build*Hook` template) rather than a user hook with a totem block appended into
|
|
207
|
+
* it. Ownership is the precondition for a no-force drift-repair overwrite: only a
|
|
208
|
+
* whole file totem itself authored may be replaced without `--force`.
|
|
209
|
+
*
|
|
210
|
+
* A bounded totem region is REQUIRED — all four hook templates now emit both a
|
|
211
|
+
* start marker and an end marker, so `endMarker` is a required parameter:
|
|
212
|
+
* - The totem marker must open the file (only a shebang + comment-start before it),
|
|
213
|
+
* so no user content precedes the block.
|
|
214
|
+
* - The end marker must be present. A LEGACY hook written by an old template that
|
|
215
|
+
* predates the pre-commit / pre-push end markers carries no in-file end marker →
|
|
216
|
+
* NOT owned → drift-repair declines and the hook takes the one
|
|
217
|
+
* `totem hook install --force` the changeset prescribes (after which the
|
|
218
|
+
* regenerated file carries the end marker and self-repair works bounded).
|
|
219
|
+
* - The user must not have added content AFTER the totem end marker — a whole-file
|
|
220
|
+
* overwrite would clobber it, so such a file is NOT owned (only trailing
|
|
221
|
+
* whitespace may follow the end marker).
|
|
222
|
+
*/
|
|
223
|
+
export declare function isTotemOwnedWholeFile(content: string, marker: string, endMarker: string): boolean;
|
|
82
224
|
/**
|
|
83
225
|
* Install a single git hook with idempotency and chain preservation.
|
|
84
226
|
* Returns the action taken.
|
|
@@ -120,10 +262,14 @@ export interface HooksCommandResult {
|
|
|
120
262
|
/**
|
|
121
263
|
* Non-interactive hook installer for `totem hooks` and `prepare` scripts.
|
|
122
264
|
* Installs pre-commit, pre-push, and post-merge hooks without prompting.
|
|
265
|
+
*
|
|
266
|
+
* Async since mmnto-ai/totem#2692: the hook text is rendered from the repo's
|
|
267
|
+
* CONFIGURED `totemDir` (and `hooks.tier`), which means one config read —
|
|
268
|
+
* {@link resolveHookRenderOptions} — before anything is written.
|
|
123
269
|
*/
|
|
124
270
|
export declare function installHooksNonInteractive(cwd: string, force?: boolean, options?: {
|
|
125
271
|
tier?: 'strict' | 'standard';
|
|
126
|
-
}): HooksCommandResult | null
|
|
272
|
+
}): Promise<HooksCommandResult | null>;
|
|
127
273
|
/**
|
|
128
274
|
* Check that all Totem hooks are installed. Returns true if all present.
|
|
129
275
|
*/
|
|
@@ -251,6 +397,10 @@ export declare function migrateGeminiHookRegistration(cwd: string): {
|
|
|
251
397
|
* stateless format that runs verify-manifest + lint directly.
|
|
252
398
|
*
|
|
253
399
|
* Returns true if the hook was upgraded, false otherwise.
|
|
400
|
+
*
|
|
401
|
+
* Async since mmnto-ai/totem#2692: the spliced block is rendered from the repo's
|
|
402
|
+
* configured `totemDir` and `hooks.tier` like every other writer, so it no
|
|
403
|
+
* longer silently downgrades a strict hook to standard on the upgrade path.
|
|
254
404
|
*/
|
|
255
|
-
export declare function upgradePrePushHookIfNeeded(cwd: string): boolean
|
|
405
|
+
export declare function upgradePrePushHookIfNeeded(cwd: string): Promise<boolean>;
|
|
256
406
|
//# sourceMappingURL=install-hooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-hooks.d.ts","sourceRoot":"","sources":["../../src/commands/install-hooks.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"install-hooks.d.ts","sourceRoot":"","sources":["../../src/commands/install-hooks.ts"],"names":[],"mappings":"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"}
|