snow-flow 8.37.27 → 8.38.0
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/.snow-code/agent/deployment-specialist.md +346 -0
- package/.snow-code/agent/orchestrator.md +286 -0
- package/.snow-code/agent/risk-assessor.md +454 -0
- package/.snow-code/agent/solution-architect.md +582 -0
- package/.snow-code/agent/validator.md +503 -0
- package/.snow-code/opencode.json +49 -0
- package/README.md +16 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +93 -256
- package/dist/cli.js.map +1 -1
- package/dist/utils/sync-mcp-configs.d.ts +7 -5
- package/dist/utils/sync-mcp-configs.d.ts.map +1 -1
- package/dist/utils/sync-mcp-configs.js +19 -74
- package/dist/utils/sync-mcp-configs.js.map +1 -1
- package/package.json +2 -3
- package/scripts/check-binary-updates.js +0 -169
- package/scripts/check-npm-version.js +0 -92
- package/scripts/classify-all-tools.ts +0 -446
- package/scripts/classify-edge-cases.ts +0 -275
- package/scripts/classify-operations-tools.sh +0 -96
- package/scripts/cleanup-mcp-servers.js +0 -115
- package/scripts/diagnose-mcp.js +0 -299
- package/scripts/generate-mcp-config.js +0 -45
- package/scripts/mcp-server-manager.sh +0 -320
- package/scripts/postinstall.js +0 -75
- package/scripts/reset-mcp-servers.js +0 -266
- package/scripts/safe-mcp-cleanup.js +0 -151
- package/scripts/setup-mcp.js +0 -106
- package/scripts/start-mcp-proper.js +0 -76
- package/scripts/start-snowcode.sh +0 -123
- package/scripts/start-sysprops-mcp.js +0 -43
- package/scripts/sync-snow-code-version.js +0 -74
- package/scripts/test-auth-flow.js +0 -172
- package/scripts/test-auth-location-fix.js +0 -84
- package/scripts/test-mcp-manual.js +0 -140
- package/scripts/test-todowrite-timeout.js +0 -108
- package/scripts/update-dependencies.js +0 -90
- package/scripts/update-mcp-config.js +0 -96
- package/scripts/update-snow-code.js +0 -146
- package/scripts/verify-snowcode-fork.sh +0 -141
- package/templates/snow-code-package.json +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-mcp-configs.js","sourceRoot":"","sources":["../../src/utils/sync-mcp-configs.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"sync-mcp-configs.js","sourceRoot":"","sources":["../../src/utils/sync-mcp-configs.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.
|
|
3
|
+
"version": "8.38.0",
|
|
4
4
|
"description": "ServiceNow development with SnowCode - 75+ LLM providers (Claude, GPT, Gemini, Llama, Mistral, DeepSeek, Groq, Ollama) • 395 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",
|
|
@@ -11,11 +11,10 @@
|
|
|
11
11
|
"files": [
|
|
12
12
|
"dist/",
|
|
13
13
|
"bin/",
|
|
14
|
-
"scripts/",
|
|
15
|
-
"templates/",
|
|
16
14
|
"patches/",
|
|
17
15
|
".env.example",
|
|
18
16
|
".mcp.json.template",
|
|
17
|
+
".snow-code/",
|
|
19
18
|
"snow-code-config.example.json",
|
|
20
19
|
"themes/",
|
|
21
20
|
"README.md",
|
|
@@ -1,169 +0,0 @@
|
|
|
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 };
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Check if current package version already exists on npm
|
|
5
|
-
* If it does, automatically bump to next available version
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
const { execSync } = require('child_process');
|
|
9
|
-
const fs = require('fs');
|
|
10
|
-
const path = require('path');
|
|
11
|
-
|
|
12
|
-
function getCurrentVersion() {
|
|
13
|
-
const packageJsonPath = path.join(__dirname, '..', 'package.json');
|
|
14
|
-
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
15
|
-
return packageJson.version;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
function getPublishedVersions() {
|
|
19
|
-
try {
|
|
20
|
-
const versionsJson = execSync('npm view snow-flow versions --json', {
|
|
21
|
-
encoding: 'utf8',
|
|
22
|
-
stdio: ['pipe', 'pipe', 'pipe']
|
|
23
|
-
});
|
|
24
|
-
return JSON.parse(versionsJson);
|
|
25
|
-
} catch (error) {
|
|
26
|
-
// Package might not exist yet
|
|
27
|
-
return [];
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function bumpVersion(type = 'patch') {
|
|
32
|
-
console.log(`🔄 Bumping ${type} version...`);
|
|
33
|
-
execSync(`npm version ${type} --no-git-tag-version`, {
|
|
34
|
-
stdio: 'inherit',
|
|
35
|
-
cwd: path.join(__dirname, '..')
|
|
36
|
-
});
|
|
37
|
-
return getCurrentVersion();
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
function updateVersionFile(version) {
|
|
41
|
-
const versionFilePath = path.join(__dirname, '..', 'src', 'version.ts');
|
|
42
|
-
const versionContent = `// Auto-generated by npm version command
|
|
43
|
-
export const VERSION = '${version}';
|
|
44
|
-
`;
|
|
45
|
-
fs.writeFileSync(versionFilePath, versionContent, 'utf-8');
|
|
46
|
-
console.log(`✅ Updated version.ts to ${version}`);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
async function main() {
|
|
50
|
-
const currentVersion = getCurrentVersion();
|
|
51
|
-
const publishedVersions = getPublishedVersions();
|
|
52
|
-
|
|
53
|
-
console.log(`📦 Current version: ${currentVersion}`);
|
|
54
|
-
console.log(`📚 Checking npm registry...`);
|
|
55
|
-
|
|
56
|
-
if (publishedVersions.includes(currentVersion)) {
|
|
57
|
-
console.log(`⚠️ Version ${currentVersion} already exists on npm!`);
|
|
58
|
-
console.log(`🔄 Auto-bumping to next patch version...`);
|
|
59
|
-
|
|
60
|
-
const newVersion = bumpVersion('patch');
|
|
61
|
-
updateVersionFile(newVersion);
|
|
62
|
-
|
|
63
|
-
console.log(`✅ Bumped to version ${newVersion}`);
|
|
64
|
-
console.log(`📝 Committing version bump...`);
|
|
65
|
-
|
|
66
|
-
try {
|
|
67
|
-
execSync('git add package.json src/version.ts', {
|
|
68
|
-
cwd: path.join(__dirname, '..')
|
|
69
|
-
});
|
|
70
|
-
execSync(`git commit -m "chore: Auto-bump version to ${newVersion} (${currentVersion} already published)"`, {
|
|
71
|
-
cwd: path.join(__dirname, '..'),
|
|
72
|
-
stdio: 'inherit'
|
|
73
|
-
});
|
|
74
|
-
console.log(`✅ Version bump committed`);
|
|
75
|
-
} catch (err) {
|
|
76
|
-
console.log(`⚠️ Git commit failed (might already be committed)`);
|
|
77
|
-
}
|
|
78
|
-
} else {
|
|
79
|
-
console.log(`✅ Version ${currentVersion} is available for publishing`);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
process.exit(0);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
if (require.main === module) {
|
|
86
|
-
main().catch(error => {
|
|
87
|
-
console.error('❌ Error:', error.message);
|
|
88
|
-
process.exit(1);
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
module.exports = { getCurrentVersion, getPublishedVersions };
|