MCPcopy Create free account
hub / github.com/ShipSecAI/studio / enforceVersionCheck

Function enforceVersionCheck

backend/src/main.ts:82–120  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

80}
81
82async function enforceVersionCheck() {
83 if (isVersionCheckDisabled(process.env)) {
84 console.warn('[version-check] Skipping version validation (disabled via env).');
85 return;
86 }
87
88 try {
89 const result = await performVersionCheck();
90 const currentVersion =
91 process.env.SHIPSEC_VERSION_CHECK_VERSION ?? result.response.min_supported_version;
92 const latest = result.response.latest_version;
93
94 if (result.outcome === 'unsupported') {
95 console.error(
96 `[version-check] Version ${currentVersion} is no longer supported. Latest available: ${latest}.`,
97 );
98 if (result.response.upgrade_url) {
99 console.error(`[version-check] Upgrade URL: ${result.response.upgrade_url}`);
100 }
101 process.exit(1);
102 }
103
104 if (result.outcome === 'upgrade') {
105 console.warn(
106 `[version-check] Version ${latest} is available. You are running ${currentVersion}.`,
107 );
108 if (result.response.upgrade_url) {
109 console.warn(`[version-check] Upgrade URL: ${result.response.upgrade_url}`);
110 }
111 } else if (result.outcome === 'ok') {
112 console.log(`[version-check] Version ${currentVersion} is supported.`);
113 }
114 } catch (error) {
115 console.warn(
116 '[version-check] Failed to contact version service. Continuing without enforcement.',
117 error,
118 );
119 }
120}
121
122bootstrap().catch((error) => {
123 console.error('Failed to bootstrap ShipSec backend', error);

Callers 1

bootstrapFunction · 0.85

Calls 4

isVersionCheckDisabledFunction · 0.90
performVersionCheckFunction · 0.90
warnMethod · 0.80
errorMethod · 0.80

Tested by

no test coverage detected