@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.
- package/README.md +3 -0
- package/dashboard/dist/index.html +2 -2
- package/dist/core/config.d.ts +1 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/doctor.d.ts.map +1 -1
- package/dist/core/doctor.js +51 -3
- package/dist/core/doctor.js.map +1 -1
- package/dist/core/updater.d.ts +16 -0
- package/dist/core/updater.d.ts.map +1 -1
- package/dist/core/updater.js +85 -0
- package/dist/core/updater.js.map +1 -1
- package/dist/core/version-check.d.ts +2 -0
- package/dist/core/version-check.d.ts.map +1 -1
- package/dist/core/version-check.js +154 -26
- package/dist/core/version-check.js.map +1 -1
- package/dist/skills-manifest.json +6 -6
- package/dist/transports/cli/cli.js +11 -5
- package/dist/transports/cli/cli.js.map +1 -1
- package/dist/transports/http/server.d.ts.map +1 -1
- package/dist/transports/http/server.js +7 -1
- package/dist/transports/http/server.js.map +1 -1
- package/dist/transports/schemas.d.ts +2 -2
- package/package.json +1 -1
- package/plugin.json +1 -1
- package/scripts/hooks/_shared.js +29 -0
- package/scripts/hooks/session-start.js +659 -8
package/dist/core/config.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/core/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;
|
|
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;
|
|
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"}
|
package/dist/core/doctor.js
CHANGED
|
@@ -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
|
|
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
|
}
|
package/dist/core/doctor.js.map
CHANGED
|
@@ -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":"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"}
|
package/dist/core/updater.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/core/updater.js
CHANGED
|
@@ -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;
|
package/dist/core/updater.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updater.js","sourceRoot":"","sources":["../../src/core/updater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,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;
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
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:
|
|
216
|
+
latestVersion: previous?.latestVersion ?? null,
|
|
116
217
|
lastAttemptAt: attemptedAt,
|
|
117
|
-
lastSuccessfulCheckAt:
|
|
118
|
-
lastError:
|
|
119
|
-
checkSucceeded:
|
|
218
|
+
lastSuccessfulCheckAt: previous?.lastSuccessfulCheckAt ?? null,
|
|
219
|
+
lastError: summarizeError(latestOutcome.error),
|
|
220
|
+
checkSucceeded: false,
|
|
221
|
+
currentVersionDeprecation: resolvedDeprecation,
|
|
120
222
|
};
|
|
121
|
-
writeStoredUpdateCheck(stored, updateCheckPath);
|
|
122
|
-
|
|
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.
|
|
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() {
|