@getmikie/cli 1.1.142 → 1.1.143
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getmikie/cli",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.143",
|
|
4
4
|
"description": "Coding-agent context optimization for Codex and Claude Code with MCP retrieval and usage receipts.",
|
|
5
5
|
"homepage": "https://getmikie.com",
|
|
6
6
|
"keywords": [
|
|
@@ -31,13 +31,13 @@
|
|
|
31
31
|
"node": ">=22"
|
|
32
32
|
},
|
|
33
33
|
"optionalDependencies": {
|
|
34
|
-
"@getmikie/darwin-arm64": "1.1.
|
|
35
|
-
"@getmikie/linux-x64-gnu": "1.1.
|
|
36
|
-
"@getmikie/win32-x64": "1.1.
|
|
34
|
+
"@getmikie/darwin-arm64": "1.1.143",
|
|
35
|
+
"@getmikie/linux-x64-gnu": "1.1.143",
|
|
36
|
+
"@getmikie/win32-x64": "1.1.143"
|
|
37
37
|
},
|
|
38
38
|
"publishConfig": {
|
|
39
39
|
"access": "public",
|
|
40
40
|
"registry": "https://registry.npmjs.org"
|
|
41
41
|
},
|
|
42
|
-
"mikieReleaseNote": "
|
|
42
|
+
"mikieReleaseNote": "Mikie setup now finishes a change an interrupted update left behind, and updates record why client setup could not be refreshed."
|
|
43
43
|
}
|
|
@@ -103,6 +103,35 @@ function nativeDiagnostic({ code, stdout, stderr }) {
|
|
|
103
103
|
return details.join("; ");
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
+
/**
|
|
107
|
+
* Keep why an update could not bring the clients' setup up to date, next to
|
|
108
|
+
* the marker folder (never inside it: that folder holds only markers). The
|
|
109
|
+
* native output is redacted as in error messages. Best effort: recording
|
|
110
|
+
* never changes the outcome.
|
|
111
|
+
*/
|
|
112
|
+
async function recordDeferral(markerRoot, { version, prepared, preparedReceipt, setup }) {
|
|
113
|
+
try {
|
|
114
|
+
const logs = path.join(path.dirname(markerRoot), "logs");
|
|
115
|
+
await mkdir(logs, { recursive: true });
|
|
116
|
+
const record = {
|
|
117
|
+
at: new Date().toISOString(),
|
|
118
|
+
version,
|
|
119
|
+
prepare: {
|
|
120
|
+
before: preparedReceipt.before,
|
|
121
|
+
action: preparedReceipt.action,
|
|
122
|
+
diagnostic: nativeDiagnostic(prepared),
|
|
123
|
+
},
|
|
124
|
+
setup: setup.map(({ client, ok }) => ({ client, ok })),
|
|
125
|
+
};
|
|
126
|
+
await writeFile(
|
|
127
|
+
path.join(logs, "client-setup-deferred.json"),
|
|
128
|
+
`${JSON.stringify(record, null, 2)}\n`,
|
|
129
|
+
);
|
|
130
|
+
} catch {
|
|
131
|
+
// The deferral itself is still reported to the person.
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
106
135
|
function parseClientRepair({ stdout, stderr, code }, { allowLegacyDeferred = false } = {}) {
|
|
107
136
|
let receipt;
|
|
108
137
|
try {
|
|
@@ -642,6 +671,7 @@ export async function reconcileInstalledClients({
|
|
|
642
671
|
preparedReceipt.schema_version === "mikie.claude-hook-repair.v1" &&
|
|
643
672
|
preparedReceipt.action === "refused"
|
|
644
673
|
) {
|
|
674
|
+
await recordDeferral(markerRoot, { version, prepared, preparedReceipt, setup: [] });
|
|
645
675
|
return { status: "deferred", providerState: preparedReceipt.before };
|
|
646
676
|
}
|
|
647
677
|
const settlementPhase = preparedReceipt.action === "refused" ? "rollback" : "commit";
|
|
@@ -662,6 +692,7 @@ export async function reconcileInstalledClients({
|
|
|
662
692
|
finalLauncher,
|
|
663
693
|
};
|
|
664
694
|
}
|
|
695
|
+
await recordDeferral(markerRoot, { version, prepared, preparedReceipt, setup });
|
|
665
696
|
return { status: "deferred", providerState: preparedReceipt.before };
|
|
666
697
|
}
|
|
667
698
|
throw new Error(
|