@getmikie/cli 1.1.114 → 1.1.116

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.114",
3
+ "version": "1.1.116",
4
4
  "description": "Native Mikie relay launcher for MCP clients",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -24,10 +24,10 @@
24
24
  "node": ">=22"
25
25
  },
26
26
  "optionalDependencies": {
27
- "@getmikie/darwin-arm64": "1.1.114",
28
- "@getmikie/darwin-x64": "1.1.114",
29
- "@getmikie/linux-x64-gnu": "1.1.114",
30
- "@getmikie/win32-x64": "1.1.114"
27
+ "@getmikie/darwin-arm64": "1.1.116",
28
+ "@getmikie/darwin-x64": "1.1.116",
29
+ "@getmikie/linux-x64-gnu": "1.1.116",
30
+ "@getmikie/win32-x64": "1.1.116"
31
31
  },
32
32
  "publishConfig": {
33
33
  "access": "public",
@@ -101,7 +101,7 @@ function nativeDiagnostic({ code, stdout, stderr }) {
101
101
  return details.join("; ");
102
102
  }
103
103
 
104
- function parseClientRepair({ stdout, stderr, code }) {
104
+ function parseClientRepair({ stdout, stderr, code }, { allowLegacyDeferred = false } = {}) {
105
105
  let receipt;
106
106
  try {
107
107
  receipt = JSON.parse(stdout.trim());
@@ -145,7 +145,18 @@ function parseClientRepair({ stdout, stderr, code }) {
145
145
  receipt.after === receipt.before &&
146
146
  receipt.action === "refused" &&
147
147
  receipt.restart_required === false;
148
- if ((code === 0 && !current && !migrated && !absent) || (code !== 0 && !refused)) {
148
+ const legacyDeferred =
149
+ allowLegacyDeferred &&
150
+ exact &&
151
+ receipt.schema_version === "mikie.claude-hook-repair.v1" &&
152
+ ["foreign_conflict", "unavailable"].includes(receipt.before) &&
153
+ receipt.after === receipt.before &&
154
+ receipt.action === "refused" &&
155
+ receipt.restart_required === false;
156
+ if (
157
+ (code === 0 && !current && !migrated && !absent) ||
158
+ (code !== 0 && !refused && !legacyDeferred)
159
+ ) {
149
160
  throw new Error(
150
161
  `native client reconciliation returned an invalid receipt (${nativeDiagnostic({ code, stdout, stderr })})`,
151
162
  );
@@ -535,7 +546,14 @@ export async function reconcileInstalledClients({
535
546
  capture: true,
536
547
  environment: { ...baseEnvironment, MIKIE_NPM_UPDATE_REPAIR_PHASE: "prepare" },
537
548
  });
538
- const preparedReceipt = parseClientRepair(prepared);
549
+ const preparedReceipt = parseClientRepair(prepared, { allowLegacyDeferred: allowDeferred });
550
+ if (
551
+ allowDeferred &&
552
+ preparedReceipt.schema_version === "mikie.claude-hook-repair.v1" &&
553
+ preparedReceipt.action === "refused"
554
+ ) {
555
+ return { status: "deferred", providerState: preparedReceipt.before };
556
+ }
539
557
  const settlementPhase = preparedReceipt.action === "refused" ? "rollback" : "commit";
540
558
  const committed = await commands.run(binary, CLIENT_REPAIR_ARGUMENTS, {
541
559
  shell: false,