snow-flow 8.30.21 → 8.30.23
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/dist/cli/auth.d.ts.map +1 -1
- package/dist/cli/auth.js +8 -0
- package/dist/cli/auth.js.map +1 -1
- package/package.json +5 -3
- package/scripts/check-binary-updates.js +169 -0
package/dist/cli/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2GpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAqJpD"}
|
package/dist/cli/auth.js
CHANGED
|
@@ -86,6 +86,14 @@ async function updateMCPServerConfig() {
|
|
|
86
86
|
try {
|
|
87
87
|
// Read SnowCode auth.json
|
|
88
88
|
const authPath = path_1.default.join(os_1.default.homedir(), '.local', 'share', 'snow-code', 'auth.json');
|
|
89
|
+
// Check if auth.json exists
|
|
90
|
+
try {
|
|
91
|
+
await promises_1.default.access(authPath);
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
authLogger.debug('auth.json does not exist yet, skipping MCP config update');
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
89
97
|
const authJson = JSON.parse(await promises_1.default.readFile(authPath, 'utf-8'));
|
|
90
98
|
// Check if ServiceNow credentials exist
|
|
91
99
|
const servicenowCreds = authJson['servicenow'];
|
package/dist/cli/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "snow-flow",
|
|
3
|
-
"version": "8.30.
|
|
3
|
+
"version": "8.30.23",
|
|
4
4
|
"description": "ServiceNow development with SnowCode - 75+ LLM providers (Claude, GPT, Gemini, Llama, Mistral, DeepSeek, Groq, Ollama) • 393 Optimized Tools • 2 MCP Servers • Multi-agent orchestration • Use ANY AI coding assistant (ML tools moved to Enterprise)",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "commonjs",
|
|
@@ -52,8 +52,10 @@
|
|
|
52
52
|
"test:unified": "node dist/mcp/servicenow-mcp-unified/scripts/validate-tools.js",
|
|
53
53
|
"test:integration": "npm run build && node dist/tests/integration-test.js",
|
|
54
54
|
"update-deps": "node scripts/update-dependencies.js",
|
|
55
|
+
"check-binaries": "node scripts/check-binary-updates.js",
|
|
56
|
+
"update-binaries": "node scripts/check-binary-updates.js --auto-update",
|
|
55
57
|
"postbuild-disabled": "npm run setup-mcp",
|
|
56
|
-
"postinstall": "patch-package && node scripts/postinstall.js || true",
|
|
58
|
+
"postinstall": "patch-package && node scripts/postinstall.js && node scripts/check-binary-updates.js --silent || true",
|
|
57
59
|
"version": "node scripts/update-version.js && npm run build && git add src/version.ts",
|
|
58
60
|
"postversion": "git push temp main && git push temp --tags"
|
|
59
61
|
},
|
|
@@ -540,7 +542,7 @@
|
|
|
540
542
|
"typescript": "5.9.3"
|
|
541
543
|
},
|
|
542
544
|
"peerDependencies": {
|
|
543
|
-
"@groeimetai/snow-code": "^0.18.
|
|
545
|
+
"@groeimetai/snow-code": "^0.18.22"
|
|
544
546
|
},
|
|
545
547
|
"peerDependenciesMeta": {
|
|
546
548
|
"@groeimetai/snow-code": {
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Check for and install updated snow-code binary packages
|
|
5
|
+
* Runs at runtime to ensure users always have the latest binaries
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const { execSync } = require('child_process');
|
|
9
|
+
const fs = require('fs');
|
|
10
|
+
const path = require('path');
|
|
11
|
+
|
|
12
|
+
const BINARY_PACKAGES = [
|
|
13
|
+
'@groeimetai/snow-code-darwin-arm64',
|
|
14
|
+
'@groeimetai/snow-code-darwin-x64',
|
|
15
|
+
'@groeimetai/snow-code-linux-arm64',
|
|
16
|
+
'@groeimetai/snow-code-linux-x64',
|
|
17
|
+
'@groeimetai/snow-code-windows-x64'
|
|
18
|
+
];
|
|
19
|
+
|
|
20
|
+
async function getLatestVersionFromNPM(packageName) {
|
|
21
|
+
try {
|
|
22
|
+
const version = execSync(`npm view ${packageName} version 2>/dev/null`, {
|
|
23
|
+
encoding: 'utf8',
|
|
24
|
+
stdio: ['pipe', 'pipe', 'ignore'] // Suppress stderr
|
|
25
|
+
}).trim();
|
|
26
|
+
return version || null;
|
|
27
|
+
} catch (error) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
async function getInstalledVersion(packageName) {
|
|
33
|
+
try {
|
|
34
|
+
const packageJsonPath = path.join(__dirname, '..', 'node_modules', packageName, 'package.json');
|
|
35
|
+
if (!fs.existsSync(packageJsonPath)) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
39
|
+
return packageJson.version;
|
|
40
|
+
} catch (error) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
async function checkBinaryUpdates(options = {}) {
|
|
46
|
+
const { silent = false, autoUpdate = false } = options;
|
|
47
|
+
|
|
48
|
+
if (!silent) {
|
|
49
|
+
console.log('🔍 Checking for snow-code binary updates...\n');
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const updates = [];
|
|
53
|
+
const errors = [];
|
|
54
|
+
|
|
55
|
+
for (const packageName of BINARY_PACKAGES) {
|
|
56
|
+
try {
|
|
57
|
+
const [latest, installed] = await Promise.all([
|
|
58
|
+
getLatestVersionFromNPM(packageName),
|
|
59
|
+
getInstalledVersion(packageName)
|
|
60
|
+
]);
|
|
61
|
+
|
|
62
|
+
if (!latest) {
|
|
63
|
+
if (!silent) {
|
|
64
|
+
console.log(`⚠️ ${packageName}: Not available on npm`);
|
|
65
|
+
}
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
if (!installed) {
|
|
70
|
+
if (!silent) {
|
|
71
|
+
console.log(`📦 ${packageName}: Not installed (latest: ${latest})`);
|
|
72
|
+
}
|
|
73
|
+
updates.push({ package: packageName, from: null, to: latest });
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if (installed !== latest) {
|
|
78
|
+
if (!silent) {
|
|
79
|
+
console.log(`🔄 ${packageName}: ${installed} → ${latest}`);
|
|
80
|
+
}
|
|
81
|
+
updates.push({ package: packageName, from: installed, to: latest });
|
|
82
|
+
} else {
|
|
83
|
+
if (!silent) {
|
|
84
|
+
console.log(`✅ ${packageName}: ${installed} (up to date)`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
} catch (error) {
|
|
88
|
+
errors.push({ package: packageName, error: error.message });
|
|
89
|
+
if (!silent) {
|
|
90
|
+
console.log(`❌ ${packageName}: Error checking version`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
console.log('');
|
|
96
|
+
|
|
97
|
+
if (updates.length === 0) {
|
|
98
|
+
if (!silent) {
|
|
99
|
+
console.log('✨ All binaries are up to date!\n');
|
|
100
|
+
}
|
|
101
|
+
return { updates: [], errors, updated: false };
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
if (!silent) {
|
|
105
|
+
console.log(`📥 Found ${updates.length} update(s) available\n`);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
if (autoUpdate) {
|
|
109
|
+
if (!silent) {
|
|
110
|
+
console.log('⚡ Auto-updating binaries...\n');
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
for (const { package: packageName, to } of updates) {
|
|
114
|
+
try {
|
|
115
|
+
if (!silent) {
|
|
116
|
+
console.log(` Installing ${packageName}@${to}...`);
|
|
117
|
+
}
|
|
118
|
+
execSync(`npm install --no-save --prefer-offline ${packageName}@${to}`, {
|
|
119
|
+
encoding: 'utf8',
|
|
120
|
+
stdio: silent ? 'ignore' : 'inherit'
|
|
121
|
+
});
|
|
122
|
+
} catch (error) {
|
|
123
|
+
errors.push({ package: packageName, error: error.message });
|
|
124
|
+
if (!silent) {
|
|
125
|
+
console.log(` ❌ Failed to install ${packageName}`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
if (!silent) {
|
|
131
|
+
console.log('\n✅ Binary updates completed!\n');
|
|
132
|
+
}
|
|
133
|
+
return { updates, errors, updated: true };
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// If not auto-updating, show instructions
|
|
137
|
+
if (!silent) {
|
|
138
|
+
console.log('To update binaries, run:\n');
|
|
139
|
+
console.log(' npm run update-binaries\n');
|
|
140
|
+
console.log('Or manually:');
|
|
141
|
+
for (const { package: packageName, to } of updates) {
|
|
142
|
+
console.log(` npm install ${packageName}@${to}`);
|
|
143
|
+
}
|
|
144
|
+
console.log('');
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
return { updates, errors, updated: false };
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
// CLI interface
|
|
151
|
+
if (require.main === module) {
|
|
152
|
+
const args = process.argv.slice(2);
|
|
153
|
+
const silent = args.includes('--silent') || args.includes('-s');
|
|
154
|
+
const autoUpdate = args.includes('--auto-update') || args.includes('-u');
|
|
155
|
+
|
|
156
|
+
checkBinaryUpdates({ silent, autoUpdate })
|
|
157
|
+
.then(result => {
|
|
158
|
+
if (result.errors.length > 0 && !silent) {
|
|
159
|
+
console.log(`⚠️ ${result.errors.length} error(s) occurred during check`);
|
|
160
|
+
}
|
|
161
|
+
process.exit(0);
|
|
162
|
+
})
|
|
163
|
+
.catch(error => {
|
|
164
|
+
console.error('❌ Failed to check binary updates:', error.message);
|
|
165
|
+
process.exit(1);
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
module.exports = { checkBinaryUpdates };
|