@pcircle/memesh 4.1.2 → 4.1.3

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.
@@ -8,6 +8,7 @@ export interface MeMeshConfig {
8
8
  autoCapture?: boolean;
9
9
  sessionLimit?: number;
10
10
  enableAgenticOrchestration?: boolean;
11
+ autoUpdate?: 'off' | 'patch' | 'minor' | 'major';
11
12
  theme?: 'light' | 'dark';
12
13
  tips?: {
13
14
  smartModeHint?: 'shown';
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IAMtB,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,IAAI,CAAC;IACnB,OAAO,EAAE,IAAI,CAAC;IACd,kBAAkB,EAAE,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;IACjE,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;CACpB;AAWD,wBAAgB,UAAU,IAAI,YAAY,CAOzC;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAatD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CASzE;AAID,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG9C;AAsCD,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY,CAkBtE;AA+BD,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAQnE;AAQD,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAM3D;AAID,wBAAgB,YAAY,IAAI,MAAM,CAAuB;AAC7D,wBAAgB,aAAa,IAAI,MAAM,CAAwB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IAMtB,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAWrC,UAAU,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IACjD,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,IAAI,CAAC;IACnB,OAAO,EAAE,IAAI,CAAC;IACd,kBAAkB,EAAE,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;IACjE,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;CACpB;AAWD,wBAAgB,UAAU,IAAI,YAAY,CAOzC;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAatD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CASzE;AAID,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG9C;AAsCD,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY,CAkBtE;AA+BD,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAQnE;AAQD,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAM3D;AAID,wBAAgB,YAAY,IAAI,MAAM,CAAuB;AAC7D,wBAAgB,aAAa,IAAI,MAAM,CAAwB"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/core/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAIpB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAE1F,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACzD,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,oBAAoB,GAAG,MAAM,CAAC;AAEzE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAUD,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,YAAY,CAAC;IACvC,iBAAiB,CAAC,EAAE,OAAO,aAAa,CAAC;IACzC,sBAAsB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IACnD,iBAAiB,CAAC,EAAE,OAAO,aAAa,CAAC;IACzC,kBAAkB,CAAC,EAAE,OAAO,cAAc,CAAC;IAC3C,4BAA4B,CAAC,EAAE,OAAO,wBAAwB,CAAC;IAC/D,4BAA4B,CAAC,EAAE,OAAO,wBAAwB,CAAC;IAC/D,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC;IACtC,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC;IAC1C,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AA6ZD,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CA6F7E;AAaD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAazF"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/core/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAIpB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAE1F,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACzD,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,oBAAoB,GAAG,MAAM,CAAC;AAEzE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAUD,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,YAAY,CAAC;IACvC,iBAAiB,CAAC,EAAE,OAAO,aAAa,CAAC;IACzC,sBAAsB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IACnD,iBAAiB,CAAC,EAAE,OAAO,aAAa,CAAC;IACzC,kBAAkB,CAAC,EAAE,OAAO,cAAc,CAAC;IAC3C,4BAA4B,CAAC,EAAE,OAAO,wBAAwB,CAAC;IAC/D,4BAA4B,CAAC,EAAE,OAAO,wBAAwB,CAAC;IAC/D,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC;IACtC,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC;IAC1C,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAkgBD,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CA6F7E;AAaD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAazF"}
@@ -122,11 +122,59 @@ function inspectDashboardArtifact(packageRoot, existsSyncImpl) {
122
122
  }
123
123
  return createCheck('dashboard', 'Dashboard artifact', 'pass', 'dashboard/dist/index.html is present.');
124
124
  }
125
- async function inspectUpdateStatus(packageVersion, getUpdateCheckImpl) {
125
+ async function inspectUpdateStatus(packageVersion, getUpdateCheckImpl, installSupport) {
126
126
  const update = await getUpdateCheckImpl(packageVersion, { preferFresh: false });
127
- if (!update || update.freshness === 'unavailable') {
127
+ if (!update) {
128
128
  return createCheck('update-status', 'Update status', 'warn', 'No successful cached npm update check is available yet.', 'Run `memesh status` once while online to populate update status.');
129
129
  }
130
+ if (update.currentVersionDeprecated && update.deprecationMessage) {
131
+ const target = update.latestVersion && update.latestVersion !== packageVersion
132
+ ? ` -> ${update.latestVersion}`
133
+ : '';
134
+ const hasUpgradeTarget = update.latestVersion
135
+ && update.latestVersion !== packageVersion;
136
+ let fix;
137
+ if (installSupport?.canSelfUpdate) {
138
+ fix = hasUpgradeTarget
139
+ ? `Run \`memesh update\`${target}.`
140
+ : 'Run `memesh update` to refresh the registry lookup and apply any newly-published fix.';
141
+ }
142
+ else if (installSupport?.guidance) {
143
+ fix = installSupport.guidance + (hasUpgradeTarget
144
+ ? ` Upgrade target: ${update.latestVersion}.`
145
+ : ' Upgrade target uncertain — re-check `memesh status` while online.');
146
+ }
147
+ else {
148
+ fix = `Upgrade via your install method (see \`memesh status\`).`;
149
+ }
150
+ return createCheck('update-status', 'Update status', 'fail', `Installed version ${packageVersion} is DEPRECATED by maintainers: ${update.deprecationMessage}`, fix);
151
+ }
152
+ if (update.freshness === 'unavailable') {
153
+ return createCheck('update-status', 'Update status', 'warn', 'No successful cached npm update check is available yet.', 'Run `memesh status` once while online to populate update status.');
154
+ }
155
+ if (update.checkSucceeded && update.lastError) {
156
+ const hasUpdate = Boolean(update.updateAvailable && update.latestVersion);
157
+ const summary = hasUpdate
158
+ ? `Deprecation status unknown for ${packageVersion}: ${update.lastError}. Update ${update.latestVersion} is available.`
159
+ : `Deprecation status unknown for ${packageVersion}: ${update.lastError}.`;
160
+ let upgradeHint;
161
+ if (hasUpdate) {
162
+ if (installSupport?.canSelfUpdate) {
163
+ upgradeHint = `, or \`memesh update\` to apply ${update.latestVersion}`;
164
+ }
165
+ else if (installSupport?.guidance) {
166
+ upgradeHint = `. Upgrade target ${update.latestVersion} via your install method: ${installSupport.guidance}`;
167
+ }
168
+ else {
169
+ upgradeHint = `. Upgrade target: ${update.latestVersion}.`;
170
+ }
171
+ }
172
+ else {
173
+ upgradeHint = '';
174
+ }
175
+ const fix = `Run \`memesh status\` while online to retry the deprecation lookup${upgradeHint}.`;
176
+ return createCheck('update-status', 'Update status', 'warn', summary, fix);
177
+ }
130
178
  if (update.updateAvailable && update.latestVersion) {
131
179
  return createCheck('update-status', 'Update status', 'warn', `Update available: ${packageVersion} -> ${update.latestVersion} (${update.freshness}).`, 'Run `memesh update` for npm-global installs, or follow the install-method guidance from `memesh status`.');
132
180
  }
@@ -230,7 +278,7 @@ export async function runDoctor(options) {
230
278
  checks.push(verifySkillsManifest(packageRoot, existsSyncImpl, readFileSyncImpl));
231
279
  const capabilities = detectCapabilitiesImpl();
232
280
  checks.push(createCheck('capabilities', 'Capabilities', 'pass', `Search level ${capabilities.searchLevel} (${capabilities.searchLevel === 1 ? 'Smart Mode' : 'Core'}); embeddings: ${capabilities.embeddings}; LLM: ${capabilities.llm ? `${capabilities.llm.provider} (${capabilities.llm.model ?? 'default'})` : 'not configured'}.`));
233
- checks.push(await inspectUpdateStatus(packageVersion, getUpdateCheckImpl));
281
+ checks.push(await inspectUpdateStatus(packageVersion, getUpdateCheckImpl, installSupport));
234
282
  if (probeHttp) {
235
283
  checks.push(await inspectHttpProbe(httpBaseUrl, fetchImpl));
236
284
  }
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/core/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/core/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AA6C1F,MAAM,mBAAmB,GAAG,CAAC,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAEhG,SAAS,mBAAmB;IAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,WAAW,CAClB,EAAU,EACV,KAAa,EACb,MAAyB,EACzB,OAAe,EACf,GAAY;IAEZ,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AAC7C,CAAC;AAED,SAAS,aAAa,CACpB,QAAgB,EAChB,gBAAwC;IAExC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC;QAC9D,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAmB,EAAE,CAAC;IAClD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB;SAClE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,cAAoC,EACpC,gBAAwC,EACxC,iBAAuC;IAEvC,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,OAAO,WAAW,CAChB,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,uBAAuB,UAAU,iEAAiE,EAClG,mGAAmG,CACpG,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAC3D,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,WAAW,CAChB,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,kCAAkC,UAAU,GAAG,EAC/C,iBAAiB,UAAU,gEAAgE,CAC5F,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAChB,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,8BAA8B,UAAU,GAAG,CAC5C,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,WAAmB,EACnB,cAAoC,EACpC,gBAAwC;IAExC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACpD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,WAAW,CAChB,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,uBAAuB,EACvB,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,WAAW,CAChB,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,8BAA8B,EAC9B,OAAO,OAAO,qDAAqD,CACpE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAI,MAAM,CAAC,KAAK,CAAC,UAAqC,EAAE,MAAgC,CAAC;IACrG,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAClD,OAAO,WAAW,CAChB,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,+DAA+D,EAC/D,2EAA2E,CAC5E,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAChB,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,yDAAyD,CAC1D,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,WAAuB,EAAE,WAAmB;IAC1E,MAAM,KAAK,GAAG,WAAW,CAAC,KAAmF,CAAC;IAC9G,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAEtB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,KAAK,MAAM,KAAK,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;YAClC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;gBACrC,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;oBAAE,SAAS;gBAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;gBACnE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,kBAAkB,CACzB,WAAmB,EACnB,QAAyB,EACzB,cAAoC,EACpC,gBAAwC,EACxC,YAAgC;IAEhC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAChE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO;YACL,WAAW,CACT,cAAc,EACd,cAAc,EACd,MAAM,EACN,8BAA8B,EAC9B,kEAAkE,CACnE;SACF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO;YACL,WAAW,CACT,cAAc,EACd,cAAc,EACd,MAAM,EACN,qCAAqC,EACrC,OAAO,SAAS,gDAAgD,CACjE;SACF,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAE,MAAM,CAAC,KAAK,CAAC,KAAgC,IAAI,EAAE,CAAC,CAAC;IACpF,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC;QACzC,CAAC,CAAC,WAAW,CACX,cAAc,EACd,cAAc,EACd,MAAM,EACN,oDAAoD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAC9E,6DAA6D,CAC9D;QACD,CAAC,CAAC,WAAW,CACX,cAAc,EACd,cAAc,EACd,MAAM,EACN,oCAAoC,SAAS,CAAC,MAAM,yBAAyB,CAC9E,CAAC;IAEJ,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACtE,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IACvF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,WAAW;YACX,WAAW,CACT,cAAc,EACd,cAAc,EACd,MAAM,EACN,yBAAyB,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EACvG,iEAAiE,CAClE;SACF,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;YACtD,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;YAC3C,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACL,WAAW;gBACX,WAAW,CACT,cAAc,EACd,cAAc,EACd,MAAM,EACN,oCAAoC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EACjH,iGAAiG,CAClG;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW;QACX,WAAW,CACT,cAAc,EACd,cAAc,EACd,MAAM,EACN,OAAO,WAAW,CAAC,MAAM,4BAA4B,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,GAAG,CACtG;KACF,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,WAAmB,EACnB,cAAoC;IAEpC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAChF,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;QACnC,OAAO,WAAW,CAChB,WAAW,EACX,oBAAoB,EACpB,MAAM,EACN,uCAAuC,EACvC,+HAA+H,CAChI,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAChB,WAAW,EACX,oBAAoB,EACpB,MAAM,EACN,uCAAuC,CACxC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,cAAsB,EACtB,kBAAyC,EACzC,cAAqE;IAErE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,cAAc,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IAChF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,WAAW,CAChB,eAAe,EACf,eAAe,EACf,MAAM,EACN,yDAAyD,EACzD,kEAAkE,CACnE,CAAC;IACJ,CAAC;IAeD,IAAI,MAAM,CAAC,wBAAwB,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,KAAK,cAAc;YAC5E,CAAC,CAAC,OAAO,MAAM,CAAC,aAAa,EAAE;YAC/B,CAAC,CAAC,EAAE,CAAC;QAOP,MAAM,gBAAgB,GAAG,MAAM,CAAC,aAAa;eACxC,MAAM,CAAC,aAAa,KAAK,cAAc,CAAC;QAY7C,IAAI,GAAW,CAAC;QAChB,IAAI,cAAc,EAAE,aAAa,EAAE,CAAC;YAClC,GAAG,GAAG,gBAAgB;gBACpB,CAAC,CAAC,wBAAwB,MAAM,GAAG;gBACnC,CAAC,CAAC,uFAAuF,CAAC;QAC9F,CAAC;aAAM,IAAI,cAAc,EAAE,QAAQ,EAAE,CAAC;YACpC,GAAG,GAAG,cAAc,CAAC,QAAQ,GAAG,CAAC,gBAAgB;gBAC/C,CAAC,CAAC,oBAAoB,MAAM,CAAC,aAAa,GAAG;gBAC7C,CAAC,CAAC,oEAAoE,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,0DAA0D,CAAC;QACnE,CAAC;QACD,OAAO,WAAW,CAChB,eAAe,EACf,eAAe,EACf,MAAM,EACN,qBAAqB,cAAc,kCAAkC,MAAM,CAAC,kBAAkB,EAAE,EAChG,GAAG,CACJ,CAAC;IACJ,CAAC;IAKD,IAAI,MAAM,CAAC,SAAS,KAAK,aAAa,EAAE,CAAC;QACvC,OAAO,WAAW,CAChB,eAAe,EACf,eAAe,EACf,MAAM,EACN,yDAAyD,EACzD,kEAAkE,CACnE,CAAC;IACJ,CAAC;IASD,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAG,SAAS;YACvB,CAAC,CAAC,kCAAkC,cAAc,KAAK,MAAM,CAAC,SAAS,YAAY,MAAM,CAAC,aAAa,gBAAgB;YACvH,CAAC,CAAC,kCAAkC,cAAc,KAAK,MAAM,CAAC,SAAS,GAAG,CAAC;QAG7E,IAAI,WAAmB,CAAC;QACxB,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,cAAc,EAAE,aAAa,EAAE,CAAC;gBAClC,WAAW,GAAG,mCAAmC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC1E,CAAC;iBAAM,IAAI,cAAc,EAAE,QAAQ,EAAE,CAAC;gBACpC,WAAW,GAAG,oBAAoB,MAAM,CAAC,aAAa,6BAA6B,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC/G,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,qBAAqB,MAAM,CAAC,aAAa,GAAG,CAAC;YAC7D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,EAAE,CAAC;QACnB,CAAC;QACD,MAAM,GAAG,GAAG,qEAAqE,WAAW,GAAG,CAAC;QAChG,OAAO,WAAW,CAAC,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACnD,OAAO,WAAW,CAChB,eAAe,EACf,eAAe,EACf,MAAM,EACN,qBAAqB,cAAc,OAAO,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,SAAS,IAAI,EACvF,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAChB,eAAe,EACf,eAAe,EACf,MAAM,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAC9C,WAAW,cAAc,cAAc,MAAM,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,GAAG,EAAE,EAClH,MAAM,CAAC,SAAS,KAAK,OAAO;QAC1B,CAAC,CAAC,qEAAqE;QACvE,CAAC,CAAC,SAAS,CACd,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,WAAmB,EACnB,SAAuB;IAEvB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;QAChF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,WAAW,CAChB,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,8BAA8B,QAAQ,CAAC,MAAM,OAAO,WAAW,GAAG,EAClE,iFAAiF,CAClF,CAAC;QACJ,CAAC;QAED,OAAO,WAAW,CAChB,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,+BAA+B,WAAW,GAAG,CAC9C,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,WAAW,CAChB,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,sCAAsC,WAAW,GAAG,EACpD,6FAA6F,CAC9F,CAAC;IACJ,CAAC;AACH,CAAC;AAcD,SAAS,oBAAoB,CAC3B,WAAmB,EACnB,cAAoC,EACpC,gBAAwC;IAExC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAC5E,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;QAClC,OAAO,WAAW,CAChB,iBAAiB,EACjB,0BAA0B,EAC1B,MAAM,EACN,2GAA2G,EAC3G,uFAAuF,CACxF,CAAC;IACJ,CAAC;IACD,IAAI,QAA+D,CAAC;IACpE,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,WAAW,CAChB,iBAAiB,EACjB,0BAA0B,EAC1B,MAAM,EACN,uCAAuC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,IAAI,EAC7F,iGAAiG,CAClG,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;IACvC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,WAAW,CAChB,iBAAiB,EACjB,0BAA0B,EAC1B,MAAM,EACN,6CAA6C,EAC7C,0DAA0D,CAC3D,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAClE,IAAI,UAAkB,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACnC,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,iBAAiB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;YACjG,SAAS;QACX,CAAC;QACD,IAAI,UAAU,KAAK,KAAK,CAAC,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,WAAW,CAChB,iBAAiB,EACjB,0BAA0B,EAC1B,MAAM,EACN,GAAG,OAAO,CAAC,MAAM,sEAAsE,CACxF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG;QACb,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,aAAa,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;QACvJ,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,cAAc,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;KACxK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,WAAW,CAChB,iBAAiB,EACjB,0BAA0B,EAC1B,MAAM,EACN,iCAAiC,MAAM,GAAG,EAC1C,2LAA2L,CAC5L,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAqB;IACnD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACnE,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC;QAAE,OAAO,oBAAoB,CAAC;IACjF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAsB;IACpD,MAAM,EACJ,WAAW,EACX,cAAc,EACd,SAAS,GAAG,KAAK,EACjB,WAAW,GAAG,uBAAuB,EACrC,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAC3B,gBAAgB,GAAG,YAAY,EAC/B,iBAAiB,GAAG,aAAa,EACjC,sBAAsB,GAAG,kBAAkB,EAC3C,iBAAiB,GAAG,aAAa,EACjC,kBAAkB,GAAG,cAAc,EACnC,4BAA4B,GAAG,wBAAwB,EACvD,4BAA4B,GAAG,wBAAwB,EACvD,cAAc,GAAG,EAAE,CAAC,UAAU,EAC9B,gBAAgB,GAAG,EAAE,CAAC,YAAY,EAClC,YAAY,GAAG,EAAE,CAAC,QAAQ,EAC1B,SAAS,GAAG,KAAK,GAClB,GAAG,OAAO,CAAC;IAEZ,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,MAAM,OAAO,GAAG,4BAA4B,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,CAAC,IAAI,CACT,WAAW,CACT,iBAAiB,EACjB,gBAAgB,EAChB,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EACvC,4BAA4B,cAAc,CAAC,KAAK,GAAG,EACnD,OAAO,KAAK,SAAS;QACnB,CAAC,CAAC,8IAA8I;QAChJ,CAAC,CAAC,SAAS,CACd,CACF,CAAC;IAEF,MAAM,YAAY,GAAG,mBAAmB,EAAE,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,gBAAgB,CAAC,YAAY,CAA4B,CAAC;QACrE,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5E,MAAM,CAAC,IAAI,CACT,WAAW,CACT,UAAU,EACV,UAAU,EACV,MAAM,EACN,mCAAmC,YAAY,KAAK,KAAK,aAAa,CACvE,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAC9E,MAAM,CAAC,IAAI,CACT,WAAW,CACT,UAAU,EACV,UAAU,EACV,MAAM,EACN,mCAAmC,YAAY,KAAK,OAAO,IAAI,EAC/D,2FAA2F,YAAY,cAAc,CACtH,CACF,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,iBAAiB,EAAE,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACpF,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC7E,MAAM,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC;IAC1G,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IACnE,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEjF,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAC;IAC9C,MAAM,CAAC,IAAI,CACT,WAAW,CACT,cAAc,EACd,cAAc,EACd,MAAM,EACN,gBAAgB,YAAY,CAAC,WAAW,KAAK,YAAY,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,kBAAkB,YAAY,CAAC,UAAU,UAAU,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,GAAG,CAAC,KAAK,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,gBAAgB,GAAG,CACvQ,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,MAAM,mBAAmB,CAAC,cAAc,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC,CAAC;IAE3F,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,MAAM,gBAAgB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO;QACL,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC;QACtC,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,MAAyB;IAC9C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAoB,EAAE,cAAsB;IAC7E,MAAM,KAAK,GAAG,CAAC,kBAAkB,cAAc,EAAE,EAAE,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAEhF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -3,6 +3,22 @@ type ExecFileSyncLike = typeof execFileSync;
3
3
  interface RunGlobalUpdateOptions {
4
4
  execFileSyncImpl?: ExecFileSyncLike;
5
5
  }
6
+ export type AutoUpdatePolicy = 'off' | 'patch' | 'minor' | 'major';
7
+ export declare function parseAutoUpdatePolicy(value: unknown): AutoUpdatePolicy | null;
8
+ export declare function classifyBump(from: string, to: string): 'patch' | 'minor' | 'major' | null;
9
+ export interface AutoUpdateDecisionInput {
10
+ currentVersion: string;
11
+ latestVersion: string | null;
12
+ policy: AutoUpdatePolicy;
13
+ currentVersionDeprecated: boolean;
14
+ }
15
+ export interface AutoUpdateDecision {
16
+ shouldUpdate: boolean;
17
+ bump: 'patch' | 'minor' | 'major' | null;
18
+ reason: string;
19
+ deprecationOverride: boolean;
20
+ }
21
+ export declare function decideAutoUpdate(input: AutoUpdateDecisionInput): AutoUpdateDecision;
6
22
  export declare function getInstalledGlobalVersion(options?: RunGlobalUpdateOptions): string | null;
7
23
  export declare function runGlobalUpdate(latestVersion: string, options?: RunGlobalUpdateOptions): {
8
24
  installedVersion: string;
@@ -1 +1 @@
1
- {"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../../src/core/updater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,KAAK,gBAAgB,GAAG,OAAO,YAAY,CAAC;AAE5C,UAAU,sBAAsB;IAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAWD,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,sBAA2B,GACnC,MAAM,GAAG,IAAI,CAaf;AAED,wBAAgB,eAAe,CAC7B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,sBAA2B,GACnC;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAkB9B"}
1
+ {"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../../src/core/updater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,KAAK,gBAAgB,GAAG,OAAO,YAAY,CAAC;AAE5C,UAAU,sBAAsB;IAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAoBD,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AASnE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAM7E;AA4BD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAUzF;AAeD,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,gBAAgB,CAAC;IAEzB,wBAAwB,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IAEjC,YAAY,EAAE,OAAO,CAAC;IAEtB,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;IAEzC,MAAM,EAAE,MAAM,CAAC;IAMf,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAOD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,GAAG,kBAAkB,CA0CnF;AAOD,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,sBAA2B,GACnC,MAAM,GAAG,IAAI,CAaf;AAED,wBAAgB,eAAe,CAC7B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,sBAA2B,GACnC;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAkB9B"}
@@ -1,4 +1,89 @@
1
1
  import { execFileSync } from 'child_process';
2
+ const VALID_AUTO_UPDATE_POLICIES = new Set([
3
+ 'off',
4
+ 'patch',
5
+ 'minor',
6
+ 'major',
7
+ ]);
8
+ export function parseAutoUpdatePolicy(value) {
9
+ if (typeof value !== 'string')
10
+ return null;
11
+ const lowered = value.toLowerCase();
12
+ return VALID_AUTO_UPDATE_POLICIES.has(lowered)
13
+ ? lowered
14
+ : null;
15
+ }
16
+ function parseSemver(version) {
17
+ const m = /^(\d+)\.(\d+)\.(\d+)(?:[-+].+)?$/.exec(version.trim());
18
+ if (!m)
19
+ return null;
20
+ return {
21
+ major: Number(m[1]),
22
+ minor: Number(m[2]),
23
+ patch: Number(m[3]),
24
+ };
25
+ }
26
+ export function classifyBump(from, to) {
27
+ const a = parseSemver(from);
28
+ const b = parseSemver(to);
29
+ if (!a || !b)
30
+ return null;
31
+ if (b.major > a.major)
32
+ return 'major';
33
+ if (b.major < a.major)
34
+ return null;
35
+ if (b.minor > a.minor)
36
+ return 'minor';
37
+ if (b.minor < a.minor)
38
+ return null;
39
+ if (b.patch > a.patch)
40
+ return 'patch';
41
+ return null;
42
+ }
43
+ const POLICY_RANK = {
44
+ off: 0,
45
+ patch: 1,
46
+ minor: 2,
47
+ major: 3,
48
+ };
49
+ const BUMP_RANK = {
50
+ patch: 1,
51
+ minor: 2,
52
+ major: 3,
53
+ };
54
+ export function decideAutoUpdate(input) {
55
+ const { currentVersion, latestVersion, policy, currentVersionDeprecated } = input;
56
+ if (!latestVersion) {
57
+ return { shouldUpdate: false, bump: null, reason: 'no latest version available', deprecationOverride: false };
58
+ }
59
+ const bump = classifyBump(currentVersion, latestVersion);
60
+ if (!bump) {
61
+ return { shouldUpdate: false, bump: null, reason: 'already at or above latest', deprecationOverride: false };
62
+ }
63
+ const policyAllows = POLICY_RANK[policy] >= BUMP_RANK[bump];
64
+ if (policyAllows) {
65
+ return {
66
+ shouldUpdate: true,
67
+ bump,
68
+ reason: `policy '${policy}' permits ${bump} bump`,
69
+ deprecationOverride: false,
70
+ };
71
+ }
72
+ if (currentVersionDeprecated && bump === 'patch') {
73
+ return {
74
+ shouldUpdate: true,
75
+ bump,
76
+ reason: `installed ${currentVersion} is deprecated; security override forces patch upgrade despite policy '${policy}'`,
77
+ deprecationOverride: true,
78
+ };
79
+ }
80
+ return {
81
+ shouldUpdate: false,
82
+ bump,
83
+ reason: `policy '${policy}' does not permit ${bump} bump`,
84
+ deprecationOverride: false,
85
+ };
86
+ }
2
87
  function parseInstalledGlobalVersion(raw) {
3
88
  const parsed = JSON.parse(raw);
4
89
  return parsed.dependencies?.['@pcircle/memesh']?.version ?? null;
@@ -1 +1 @@
1
- {"version":3,"file":"updater.js","sourceRoot":"","sources":["../../src/core/updater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAY7C,SAAS,2BAA2B,CAAC,GAAW;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAC;IACvD,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,UAAkC,EAAE;IAEpC,MAAM,EAAE,gBAAgB,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;IAEpD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,gBAAgB,CAC1B,KAAK,EACL,CAAC,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,CAAC,EACtD,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;QACF,OAAO,2BAA2B,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,aAAqB,EACrB,UAAkC,EAAE;IAEpC,MAAM,EAAE,gBAAgB,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;IAEpD,gBAAgB,CACd,KAAK,EACL,CAAC,SAAS,EAAE,IAAI,EAAE,mBAAmB,aAAa,EAAE,CAAC,EACrD,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;IAEF,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACzE,IAAI,gBAAgB,KAAK,aAAa,EAAE,CAAC;QACvC,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,YAAY,aAAa,qBAAqB,gBAAgB,eAAe,CAAC,CAAC;QACjG,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"updater.js","sourceRoot":"","sources":["../../src/core/updater.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ export interface UpdateCheck {
12
12
  checkSucceeded: boolean;
13
13
  source: UpdateCheckSource;
14
14
  freshness: UpdateCheckFreshness;
15
+ currentVersionDeprecated: boolean;
16
+ deprecationMessage: string | null;
15
17
  }
16
18
  interface CheckForUpdateOptions {
17
19
  execFileImpl?: typeof execFile;
@@ -1 +1 @@
1
- {"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../../src/core/version-check.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAOzC,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,OAAO,CAAC;AAClD,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAC;AAWhF,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,oBAAoB,CAAC;CACjC;AAED,UAAU,qBAAqB;IAC7B,YAAY,CAAC,EAAE,OAAO,QAAQ,CAAC;IAC/B,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,UAAU,qBAAsB,SAAQ,qBAAqB;IAC3D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA6GD,wBAAsB,cAAc,CAClC,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,WAAW,CAAC,CAiDtB;AAOD,wBAAgB,kBAAkB,CAChC,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAO,GACrD,WAAW,GAAG,IAAI,CAIpB;AAMD,wBAAsB,cAAc,CAClC,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAS7B;AAeD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM,EAAE,CAqB5E;AAED,wBAAgB,0BAA0B,IAAI,MAAM,CAEnD"}
1
+ {"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../../src/core/version-check.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAOzC,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,OAAO,CAAC;AAClD,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAC;AAkBhF,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,oBAAoB,CAAC;IAEhC,wBAAwB,EAAE,OAAO,CAAC;IAElC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,UAAU,qBAAqB;IAC7B,YAAY,CAAC,EAAE,OAAO,QAAQ,CAAC;IAC/B,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,UAAU,qBAAsB,SAAQ,qBAAqB;IAC3D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAkND,wBAAsB,cAAc,CAClC,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,WAAW,CAAC,CAsKtB;AAOD,wBAAgB,kBAAkB,CAChC,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAO,GACrD,WAAW,GAAG,IAAI,CAIpB;AAMD,wBAAsB,cAAc,CAClC,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAS7B;AAeD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM,EAAE,CA2E5E;AAED,wBAAgB,0BAA0B,IAAI,MAAM,CAEnD"}
@@ -6,8 +6,15 @@ const UPDATE_CHECK_PATH = path.join(os.homedir(), '.memesh', 'update-check.json'
6
6
  const DEFAULT_TIMEOUT_MS = 5000;
7
7
  const STALE_AFTER_MS = 24 * 60 * 60 * 1000;
8
8
  const MAX_ERROR_LENGTH = 160;
9
- function getUpdateCheckPath(updateCheckPath) {
10
- return updateCheckPath ?? process.env.MEMESH_UPDATE_CHECK_PATH ?? UPDATE_CHECK_PATH;
9
+ function getUpdateCheckPath(updateCheckPath, currentVersion) {
10
+ if (updateCheckPath)
11
+ return updateCheckPath;
12
+ if (process.env.MEMESH_UPDATE_CHECK_PATH)
13
+ return process.env.MEMESH_UPDATE_CHECK_PATH;
14
+ const versionTag = currentVersion && /^[0-9A-Za-z.+-]+$/.test(currentVersion)
15
+ ? currentVersion
16
+ : 'unknown';
17
+ return path.join(os.homedir(), '.memesh', `update-check.${versionTag}.json`);
11
18
  }
12
19
  function parseIsoDate(value) {
13
20
  if (!value)
@@ -30,17 +37,22 @@ function determineFreshness(source, checkSucceeded, lastSuccessfulCheckAt, now)
30
37
  return now.getTime() - successfulAt > STALE_AFTER_MS ? 'stale' : 'cached';
31
38
  }
32
39
  function buildResult(currentVersion, stored, source, now) {
40
+ const versionMatches = stored.currentVersion === currentVersion;
41
+ const deprecationMessage = versionMatches ? stored.currentVersionDeprecation : null;
42
+ const lastError = versionMatches ? stored.lastError : null;
33
43
  return {
34
44
  currentVersion,
35
45
  latestVersion: stored.latestVersion,
36
46
  checkedAt: stored.lastAttemptAt,
37
47
  lastAttemptAt: stored.lastAttemptAt,
38
48
  lastSuccessfulCheckAt: stored.lastSuccessfulCheckAt,
39
- lastError: stored.lastError,
49
+ lastError,
40
50
  updateAvailable: stored.latestVersion !== null && stored.latestVersion !== currentVersion,
41
51
  checkSucceeded: stored.checkSucceeded,
42
52
  source,
43
53
  freshness: determineFreshness(source, stored.checkSucceeded, stored.lastSuccessfulCheckAt, now),
54
+ currentVersionDeprecated: deprecationMessage !== null,
55
+ deprecationMessage,
44
56
  };
45
57
  }
46
58
  function parseStoredUpdateCheck(raw) {
@@ -62,6 +74,8 @@ function parseStoredUpdateCheck(raw) {
62
74
  return null;
63
75
  if ('currentVersion' in candidate && candidate.currentVersion !== null && typeof candidate.currentVersion !== 'string')
64
76
  return null;
77
+ if ('currentVersionDeprecation' in candidate && candidate.currentVersionDeprecation !== null && typeof candidate.currentVersionDeprecation !== 'string')
78
+ return null;
65
79
  const normalizedLatestVersion = latestVersion ?? null;
66
80
  const normalizedLastAttemptAt = lastAttemptAt ?? null;
67
81
  const normalizedLastSuccessfulCheckAt = lastSuccessfulCheckAt ?? null;
@@ -75,11 +89,14 @@ function parseStoredUpdateCheck(raw) {
75
89
  lastSuccessfulCheckAt: normalizedLastSuccessfulCheckAt,
76
90
  lastError: typeof candidate.lastError === 'string' ? candidate.lastError : null,
77
91
  checkSucceeded,
92
+ currentVersionDeprecation: typeof candidate.currentVersionDeprecation === 'string'
93
+ ? candidate.currentVersionDeprecation
94
+ : null,
78
95
  };
79
96
  }
80
- function readStoredUpdateCheck(updateCheckPath) {
97
+ function readStoredUpdateCheck(updateCheckPath, currentVersion) {
81
98
  try {
82
- const targetPath = getUpdateCheckPath(updateCheckPath);
99
+ const targetPath = getUpdateCheckPath(updateCheckPath, currentVersion);
83
100
  if (!fs.existsSync(targetPath))
84
101
  return null;
85
102
  return parseStoredUpdateCheck(JSON.parse(fs.readFileSync(targetPath, 'utf8')));
@@ -88,38 +105,124 @@ function readStoredUpdateCheck(updateCheckPath) {
88
105
  return null;
89
106
  }
90
107
  }
91
- function writeStoredUpdateCheck(stored, updateCheckPath) {
108
+ function writeStoredUpdateCheck(stored, updateCheckPath, currentVersion) {
92
109
  try {
93
- const targetPath = getUpdateCheckPath(updateCheckPath);
110
+ const targetPath = getUpdateCheckPath(updateCheckPath, currentVersion);
94
111
  fs.mkdirSync(path.dirname(targetPath), { recursive: true });
95
- fs.writeFileSync(targetPath, JSON.stringify(stored, null, 2));
112
+ const tempPath = `${targetPath}.${process.pid}.${Math.random().toString(36).slice(2, 10)}.tmp`;
113
+ fs.writeFileSync(tempPath, JSON.stringify(stored, null, 2));
114
+ try {
115
+ fs.renameSync(tempPath, targetPath);
116
+ }
117
+ catch (renameErr) {
118
+ const REPLACEABLE_ERRS = new Set(['EEXIST', 'EACCES', 'EPERM', 'EBUSY', 'ENOTEMPTY']);
119
+ if (!REPLACEABLE_ERRS.has(renameErr?.code)) {
120
+ try {
121
+ fs.unlinkSync(tempPath);
122
+ }
123
+ catch { }
124
+ throw renameErr;
125
+ }
126
+ try {
127
+ fs.unlinkSync(targetPath);
128
+ }
129
+ catch (err) {
130
+ if (err?.code !== 'ENOENT') {
131
+ try {
132
+ fs.unlinkSync(tempPath);
133
+ }
134
+ catch { }
135
+ throw renameErr;
136
+ }
137
+ }
138
+ try {
139
+ fs.renameSync(tempPath, targetPath);
140
+ }
141
+ catch (secondErr) {
142
+ try {
143
+ fs.unlinkSync(tempPath);
144
+ }
145
+ catch { }
146
+ throw secondErr;
147
+ }
148
+ }
96
149
  }
97
150
  catch {
98
151
  }
99
152
  }
100
153
  export async function checkForUpdate(currentVersion, options = {}) {
101
154
  const { execFileImpl = execFile, now = new Date(), timeoutMs = DEFAULT_TIMEOUT_MS, updateCheckPath, } = options;
102
- const previous = readStoredUpdateCheck(updateCheckPath);
155
+ const previous = readStoredUpdateCheck(updateCheckPath, currentVersion);
103
156
  const attemptedAt = now.toISOString();
104
157
  try {
105
- const latest = await new Promise((resolve, reject) => {
106
- execFileImpl('npm', ['show', '@pcircle/memesh', 'version'], { timeout: timeoutMs }, (err, stdout) => {
107
- if (err)
108
- reject(err);
109
- else
110
- resolve(stdout.trim());
111
- });
112
- });
158
+ const [latestOutcome, deprecationOutcome] = await Promise.all([
159
+ new Promise((resolve) => {
160
+ execFileImpl('npm', ['show', '@pcircle/memesh', 'version'], { timeout: timeoutMs }, (err, stdout) => {
161
+ if (err)
162
+ resolve({ outcome: 'failed', error: err });
163
+ else
164
+ resolve({ outcome: 'ok', latest: stdout.trim() });
165
+ });
166
+ }),
167
+ new Promise((resolve) => {
168
+ execFileImpl('npm', ['view', `@pcircle/memesh@${currentVersion}`, 'deprecated'], { timeout: timeoutMs }, (err, stdout, stderr) => {
169
+ if (err) {
170
+ const errText = [
171
+ stderr,
172
+ err.stderr,
173
+ err.message,
174
+ ].filter((v) => typeof v === 'string').join(' ');
175
+ if (/E404|404 Not Found/i.test(errText)) {
176
+ resolve({ outcome: 'ok', message: null });
177
+ return;
178
+ }
179
+ resolve({ outcome: 'failed' });
180
+ return;
181
+ }
182
+ const trimmed = (stdout || '').trim();
183
+ resolve({ outcome: 'ok', message: trimmed.length > 0 ? trimmed : null });
184
+ });
185
+ }),
186
+ ]);
187
+ const needsInherited = deprecationOutcome.outcome === 'failed' || latestOutcome.outcome === 'failed';
188
+ const refreshed = needsInherited ? readStoredUpdateCheck(updateCheckPath, currentVersion) : null;
189
+ const inheritedDeprecation = refreshed?.currentVersion === currentVersion
190
+ ? refreshed?.currentVersionDeprecation ?? null
191
+ : previous?.currentVersion === currentVersion
192
+ ? previous?.currentVersionDeprecation ?? null
193
+ : null;
194
+ const hasInheritablePrior = inheritedDeprecation !== null;
195
+ const resolvedDeprecation = deprecationOutcome.outcome === 'ok'
196
+ ? deprecationOutcome.message
197
+ : inheritedDeprecation;
198
+ if (latestOutcome.outcome === 'ok') {
199
+ const partialDeprecationFailure = deprecationOutcome.outcome === 'failed' && !hasInheritablePrior;
200
+ const stored = {
201
+ currentVersion,
202
+ latestVersion: latestOutcome.latest,
203
+ lastAttemptAt: attemptedAt,
204
+ lastSuccessfulCheckAt: attemptedAt,
205
+ lastError: partialDeprecationFailure
206
+ ? 'deprecation lookup failed (status unknown)'
207
+ : null,
208
+ checkSucceeded: true,
209
+ currentVersionDeprecation: resolvedDeprecation,
210
+ };
211
+ writeStoredUpdateCheck(stored, updateCheckPath, currentVersion);
212
+ return buildResult(currentVersion, stored, 'fresh', now);
213
+ }
113
214
  const stored = {
114
215
  currentVersion,
115
- latestVersion: latest,
216
+ latestVersion: previous?.latestVersion ?? null,
116
217
  lastAttemptAt: attemptedAt,
117
- lastSuccessfulCheckAt: attemptedAt,
118
- lastError: null,
119
- checkSucceeded: true,
218
+ lastSuccessfulCheckAt: previous?.lastSuccessfulCheckAt ?? null,
219
+ lastError: summarizeError(latestOutcome.error),
220
+ checkSucceeded: false,
221
+ currentVersionDeprecation: resolvedDeprecation,
120
222
  };
121
- writeStoredUpdateCheck(stored, updateCheckPath);
122
- return buildResult(currentVersion, stored, 'fresh', now);
223
+ writeStoredUpdateCheck(stored, updateCheckPath, currentVersion);
224
+ const source = stored.lastSuccessfulCheckAt ? 'cache' : 'fresh';
225
+ return buildResult(currentVersion, stored, source, now);
123
226
  }
124
227
  catch (err) {
125
228
  const stored = {
@@ -129,14 +232,17 @@ export async function checkForUpdate(currentVersion, options = {}) {
129
232
  lastSuccessfulCheckAt: previous?.lastSuccessfulCheckAt ?? null,
130
233
  lastError: summarizeError(err),
131
234
  checkSucceeded: false,
235
+ currentVersionDeprecation: previous?.currentVersion === currentVersion
236
+ ? previous?.currentVersionDeprecation ?? null
237
+ : null,
132
238
  };
133
- writeStoredUpdateCheck(stored, updateCheckPath);
239
+ writeStoredUpdateCheck(stored, updateCheckPath, currentVersion);
134
240
  const source = stored.lastSuccessfulCheckAt ? 'cache' : 'fresh';
135
241
  return buildResult(currentVersion, stored, source, now);
136
242
  }
137
243
  }
138
244
  export function getLastUpdateCheck(currentVersion, options = {}) {
139
- const stored = readStoredUpdateCheck(options.updateCheckPath);
245
+ const stored = readStoredUpdateCheck(options.updateCheckPath, currentVersion);
140
246
  if (!stored)
141
247
  return null;
142
248
  return buildResult(currentVersion, stored, 'cache', options.now ?? new Date());
@@ -167,12 +273,31 @@ export function formatUpdateCheckStatus(update) {
167
273
  return ['Update check: unavailable'];
168
274
  }
169
275
  const lines = [];
170
- if (update.freshness === 'unavailable') {
276
+ if (update.currentVersionDeprecated && update.deprecationMessage) {
277
+ lines.push(`⚠️ Installed version ${update.currentVersion} is DEPRECATED by maintainers: ${update.deprecationMessage}`);
278
+ }
279
+ if (update.currentVersionDeprecated) {
280
+ if (update.updateAvailable && update.latestVersion) {
281
+ lines.push(`🔄 Update available: ${update.latestVersion} (${formatFreshness(update)}; run: memesh update)`);
282
+ }
283
+ else if (update.latestVersion
284
+ && update.latestVersion === update.currentVersion
285
+ && update.freshness === 'fresh') {
286
+ lines.push(`Update check: deprecated, no upgrade target yet (${formatFreshness(update)})`);
287
+ }
288
+ else {
289
+ lines.push(`Update check: deprecated, upgrade target unknown — try \`memesh update\` (${formatFreshness(update)})`);
290
+ }
291
+ }
292
+ else if (update.freshness === 'unavailable') {
171
293
  lines.push('Update check: unavailable');
172
294
  }
173
295
  else if (update.updateAvailable && update.latestVersion) {
174
296
  lines.push(`🔄 Update available: ${update.latestVersion} (${formatFreshness(update)}; run: memesh update)`);
175
297
  }
298
+ else if (update.checkSucceeded && update.lastError) {
299
+ lines.push(`Update check: partial — deprecation status unknown (${formatFreshness(update)})`);
300
+ }
176
301
  else if (update.latestVersion) {
177
302
  lines.push(`Update check: up to date (${formatFreshness(update)}; latest ${update.latestVersion})`);
178
303
  }
@@ -182,6 +307,9 @@ export function formatUpdateCheckStatus(update) {
182
307
  if (!update.checkSucceeded && update.lastError) {
183
308
  lines.push(`Last update check failed: ${update.lastError}`);
184
309
  }
310
+ else if (update.checkSucceeded && update.lastError) {
311
+ lines.push(`⚠️ Update check partial: ${update.lastError}`);
312
+ }
185
313
  return lines;
186
314
  }
187
315
  export function getUpdateCheckPathForTests() {