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.
Files changed (41) hide show
  1. package/.snow-code/agent/deployment-specialist.md +346 -0
  2. package/.snow-code/agent/orchestrator.md +286 -0
  3. package/.snow-code/agent/risk-assessor.md +454 -0
  4. package/.snow-code/agent/solution-architect.md +582 -0
  5. package/.snow-code/agent/validator.md +503 -0
  6. package/.snow-code/opencode.json +49 -0
  7. package/README.md +16 -0
  8. package/dist/cli.d.ts.map +1 -1
  9. package/dist/cli.js +93 -256
  10. package/dist/cli.js.map +1 -1
  11. package/dist/utils/sync-mcp-configs.d.ts +7 -5
  12. package/dist/utils/sync-mcp-configs.d.ts.map +1 -1
  13. package/dist/utils/sync-mcp-configs.js +19 -74
  14. package/dist/utils/sync-mcp-configs.js.map +1 -1
  15. package/package.json +2 -3
  16. package/scripts/check-binary-updates.js +0 -169
  17. package/scripts/check-npm-version.js +0 -92
  18. package/scripts/classify-all-tools.ts +0 -446
  19. package/scripts/classify-edge-cases.ts +0 -275
  20. package/scripts/classify-operations-tools.sh +0 -96
  21. package/scripts/cleanup-mcp-servers.js +0 -115
  22. package/scripts/diagnose-mcp.js +0 -299
  23. package/scripts/generate-mcp-config.js +0 -45
  24. package/scripts/mcp-server-manager.sh +0 -320
  25. package/scripts/postinstall.js +0 -75
  26. package/scripts/reset-mcp-servers.js +0 -266
  27. package/scripts/safe-mcp-cleanup.js +0 -151
  28. package/scripts/setup-mcp.js +0 -106
  29. package/scripts/start-mcp-proper.js +0 -76
  30. package/scripts/start-snowcode.sh +0 -123
  31. package/scripts/start-sysprops-mcp.js +0 -43
  32. package/scripts/sync-snow-code-version.js +0 -74
  33. package/scripts/test-auth-flow.js +0 -172
  34. package/scripts/test-auth-location-fix.js +0 -84
  35. package/scripts/test-mcp-manual.js +0 -140
  36. package/scripts/test-todowrite-timeout.js +0 -108
  37. package/scripts/update-dependencies.js +0 -90
  38. package/scripts/update-mcp-config.js +0 -96
  39. package/scripts/update-snow-code.js +0 -146
  40. package/scripts/verify-snowcode-fork.sh +0 -141
  41. 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":"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"}
1
+ {"version":3,"file":"sync-mcp-configs.js","sourceRoot":"","sources":["../../src/utils/sync-mcp-configs.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;AAiBH,wCAwDC;AAQD,kDAsBC;AArGD,2DAA6B;AAC7B,2BAAgC;AAChC,gDAAwB;AACxB,2CAAqC;AAErC,MAAM,MAAM,GAAG,IAAI,kBAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7C;;;;;;;GAOG;AACI,KAAK,UAAU,cAAc,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IACtE,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAExD,4BAA4B;QAC5B,IAAI,CAAC,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,iBAAiB;QACjB,MAAM,cAAc,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAE7C,oDAAoD;QACpD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,IAAI,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC;QAE5D,wDAAwD;QACxD,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QACzD,MAAM,kBAAkB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAEjE,qCAAqC;QACrC,IAAI,CAAC,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,MAAM,kBAAE,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC,iCAAiC,WAAW,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,kDAAkD;QAClD,MAAM,cAAc,GAAQ;YAC1B,SAAS,EAAE,iCAAiC;YAC5C,GAAG,EAAE,EAAE;SACR,CAAC;QAEF,mCAAmC;QACnC,KAAK,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACjE,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;QAChD,CAAC;QAED,kCAAkC;QAClC,MAAM,kBAAE,CAAC,SAAS,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAEzF,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAE3D,gCAAgC;QAChC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;aAC3C,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAgB,EAAE,EAAE,CAAE,MAAc,CAAC,OAAO,KAAK,KAAK,CAAC;aACzE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAEzB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,oBAAoB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;IAEH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,mBAAmB,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IAC3E,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,gDAAgD;QAChD,MAAM,kBAAkB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;QAE/E,IAAI,CAAC,IAAA,eAAU,EAAC,kBAAkB,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YAEvD,MAAM,WAAW,GAAG,cAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YACrD,IAAI,CAAC,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;gBAC7B,MAAM,kBAAE,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,kBAAE,CAAC,SAAS,CAChB,kBAAkB,EAClB,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,iCAAiC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAClF,OAAO,CACR,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "snow-flow",
3
- "version": "8.37.27",
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 };