@getmikie/cli 1.1.128 → 1.1.130
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/README.md +6 -5
- package/bin/mikie.mjs +22 -5
- package/lib/launcher.mjs +2 -1
- package/package.json +6 -8
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ npx --yes --ignore-scripts --registry=https://registry.npmjs.org @getmikie/cli@1
|
|
|
9
9
|
For a persistent command path on Windows PowerShell:
|
|
10
10
|
|
|
11
11
|
```powershell
|
|
12
|
-
npm.cmd install --global @getmikie/cli@1.1.108 --
|
|
12
|
+
npm.cmd install --global @getmikie/cli@1.1.108 --registry=https://registry.npmjs.org
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
Mikie does not change your PowerShell execution policy. Keep the exact package
|
|
@@ -19,12 +19,13 @@ incorrectly targets the current directory.
|
|
|
19
19
|
For a persistent command path on macOS or Linux:
|
|
20
20
|
|
|
21
21
|
```sh
|
|
22
|
-
npm install --global @getmikie/cli@1.1.108 --
|
|
22
|
+
npm install --global @getmikie/cli@1.1.108 --registry=https://registry.npmjs.org
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
Keep `--global`: Mikie is a command-line tool, not a project dependency.
|
|
26
|
+
The package has no npm install script, so there is nothing to allow; the
|
|
27
|
+
first `mikie` command finishes setting up the runtime and client hooks.
|
|
28
|
+
These commands pin the public npm registry.
|
|
28
29
|
The public OS installers additionally authenticate exact wrapper
|
|
29
30
|
and native tarball bytes, install them offline, and explicitly run only Mikie's
|
|
30
31
|
authenticated reconciliation script.
|
package/bin/mikie.mjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { createRequire } from "node:module";
|
|
4
4
|
import { homedir } from "node:os";
|
|
5
|
-
import { access } from "node:fs/promises";
|
|
5
|
+
import { access, mkdir, writeFile } from "node:fs/promises";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
import { fileURLToPath } from "node:url";
|
|
8
8
|
|
|
@@ -61,6 +61,23 @@ const packageMetadata = require("../package.json");
|
|
|
61
61
|
const arguments_ = process.argv.slice(2);
|
|
62
62
|
// Updating Codex/Claude Code registrations can wait for a busy client; the
|
|
63
63
|
// command itself still runs and the update is retried on the next command.
|
|
64
|
+
/**
|
|
65
|
+
* Say once per installed version that client setup is unfinished, not on
|
|
66
|
+
* every command: the message repeated for as long as it stayed deferred.
|
|
67
|
+
*/
|
|
68
|
+
async function reportDeferredOnce(version) {
|
|
69
|
+
const marker = path.join(homedir(), ".mikie", `client-setup-deferred-${version}`);
|
|
70
|
+
try {
|
|
71
|
+
await access(marker);
|
|
72
|
+
return;
|
|
73
|
+
} catch {}
|
|
74
|
+
console.error(CLIENT_REPAIR_DEFERRED);
|
|
75
|
+
try {
|
|
76
|
+
await mkdir(path.dirname(marker), { recursive: true });
|
|
77
|
+
await writeFile(marker, "");
|
|
78
|
+
} catch {}
|
|
79
|
+
}
|
|
80
|
+
|
|
64
81
|
const CLIENT_REPAIR_DEFERRED =
|
|
65
82
|
"mikie: Mikie will finish updating its Codex and Claude Code setup next time. If Mikie stops working there, run `mikie setup codex` or `mikie setup claude`.";
|
|
66
83
|
const singleFlag = arguments_.length === 1 ? arguments_[0].toLowerCase() : null;
|
|
@@ -136,11 +153,11 @@ Account:
|
|
|
136
153
|
const spec = `@getmikie/cli@${resolved.version}`;
|
|
137
154
|
const reinstall = await commands.run(
|
|
138
155
|
"npm",
|
|
139
|
-
["install", "--global", spec
|
|
156
|
+
["install", "--global", spec],
|
|
140
157
|
{ shell: false, capture: true },
|
|
141
158
|
);
|
|
142
159
|
if (reinstall.code !== 0) {
|
|
143
|
-
throw new Error(`reinstalling the CLI failed; run: npm install --global ${spec}
|
|
160
|
+
throw new Error(`reinstalling the CLI failed; run: npm install --global ${spec}`);
|
|
144
161
|
}
|
|
145
162
|
console.log(`Reinstalled Mikie ${resolved.version}. Run \`mikie doctor\` to check client setup.`);
|
|
146
163
|
process.exit(0);
|
|
@@ -325,7 +342,7 @@ Account:
|
|
|
325
342
|
allowDeferred: nativeArguments[0] === "serve",
|
|
326
343
|
});
|
|
327
344
|
if (clients.status === "deferred") {
|
|
328
|
-
|
|
345
|
+
await reportDeferredOnce(packageMetadata.version);
|
|
329
346
|
}
|
|
330
347
|
} else if (shouldCompleteSkippedInstall(nativeArguments)) {
|
|
331
348
|
// An invalid install fails here, once, before any client repair.
|
|
@@ -333,7 +350,7 @@ Account:
|
|
|
333
350
|
try {
|
|
334
351
|
const clients = await completeSkippedInstall({ version: packageMetadata.version });
|
|
335
352
|
if (clients.status === "deferred") {
|
|
336
|
-
|
|
353
|
+
await reportDeferredOnce(packageMetadata.version);
|
|
337
354
|
}
|
|
338
355
|
} catch (error) {
|
|
339
356
|
const reason = error instanceof Error ? error.message : "unavailable";
|
package/lib/launcher.mjs
CHANGED
|
@@ -521,7 +521,8 @@ export function shouldReconcileInstalledClients(arguments_) {
|
|
|
521
521
|
|
|
522
522
|
/**
|
|
523
523
|
* Return whether a customer command first finishes an install whose npm
|
|
524
|
-
*
|
|
524
|
+
* install setup has not run yet: the package has no npm install script, so
|
|
525
|
+
* the first command a person types finishes it.
|
|
525
526
|
* Only commands a person types: hook and internal entrypoints (for example
|
|
526
527
|
* `efficiency-hook`, run on every prompt) and read-only doctor never do.
|
|
527
528
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getmikie/cli",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.130",
|
|
4
4
|
"description": "Native Mikie relay launcher for MCP clients",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -11,9 +11,6 @@
|
|
|
11
11
|
"bin": {
|
|
12
12
|
"mikie": "bin/mikie.mjs"
|
|
13
13
|
},
|
|
14
|
-
"scripts": {
|
|
15
|
-
"postinstall": "node ./scripts/reconcile-install.mjs"
|
|
16
|
-
},
|
|
17
14
|
"files": [
|
|
18
15
|
"bin",
|
|
19
16
|
"lib",
|
|
@@ -24,12 +21,13 @@
|
|
|
24
21
|
"node": ">=22"
|
|
25
22
|
},
|
|
26
23
|
"optionalDependencies": {
|
|
27
|
-
"@getmikie/darwin-arm64": "1.1.
|
|
28
|
-
"@getmikie/linux-x64-gnu": "1.1.
|
|
29
|
-
"@getmikie/win32-x64": "1.1.
|
|
24
|
+
"@getmikie/darwin-arm64": "1.1.130",
|
|
25
|
+
"@getmikie/linux-x64-gnu": "1.1.130",
|
|
26
|
+
"@getmikie/win32-x64": "1.1.130"
|
|
30
27
|
},
|
|
31
28
|
"publishConfig": {
|
|
32
29
|
"access": "public",
|
|
33
30
|
"registry": "https://registry.npmjs.org"
|
|
34
|
-
}
|
|
31
|
+
},
|
|
32
|
+
"mikieReleaseNote": "mikie update works again, and Codex keeps its hook approval across updates"
|
|
35
33
|
}
|