snow-flow 8.32.7 → 8.32.9

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.
@@ -2,7 +2,7 @@
2
2
  * Snow-Flow Health Monitoring API
3
3
  * Real-time system health and monitoring endpoints
4
4
  */
5
- declare const app: import("express-serve-static-core").Express;
5
+ declare const app: any;
6
6
  declare function start(): Promise<void>;
7
7
  export { app, start };
8
8
  //# sourceMappingURL=health-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"health-api.d.ts","sourceRoot":"","sources":["../../src/api/health-api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,QAAA,MAAM,GAAG,6CAAY,CAAC;AAyQtB,iBAAe,KAAK,kBAanB;AAoCD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"health-api.d.ts","sourceRoot":"","sources":["../../src/api/health-api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,QAAA,MAAM,GAAG,KAAY,CAAC;AAyQtB,iBAAe,KAAK,kBAanB;AAoCD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC"}
@@ -2,6 +2,6 @@
2
2
  * Snow-Flow Simple Health Monitoring API
3
3
  * Lightweight real-time system health endpoints
4
4
  */
5
- declare const app: import("express-serve-static-core").Express;
5
+ declare const app: any;
6
6
  export { app };
7
7
  //# sourceMappingURL=simple-health-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"simple-health-api.d.ts","sourceRoot":"","sources":["../../src/api/simple-health-api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,QAAA,MAAM,GAAG,6CAAY,CAAC;AAkhBtB,OAAO,EAAE,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"simple-health-api.d.ts","sourceRoot":"","sources":["../../src/api/simple-health-api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,QAAA,MAAM,GAAG,KAAY,CAAC;AAkhBtB,OAAO,EAAE,GAAG,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "snow-flow",
3
- "version": "8.32.7",
3
+ "version": "8.32.9",
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",
@@ -498,7 +498,7 @@
498
498
  "@anthropic-ai/claude-agent-sdk": "0.1.1",
499
499
  "@anthropic-ai/sdk": "0.67.0",
500
500
  "@clack/prompts": "^0.11.0",
501
- "@groeimetai/snow-code": "^0.19.3",
501
+ "@groeimetai/snow-code": "^1.0.37",
502
502
  "@modelcontextprotocol/sdk": "1.20.1",
503
503
  "@tensorflow/tfjs": "^4.22.0",
504
504
  "@types/node-fetch": "^2.6.13",
@@ -1,76 +0,0 @@
1
- /**
2
- * SnowCode Configuration Management
3
- * Manages ~/.snowcode/config.json for MCP server configuration
4
- */
5
- /**
6
- * SnowCode MCP Server Configuration
7
- * Format matches OpenCode/SnowCode MCP server configuration
8
- */
9
- export interface SnowCodeMcpServer {
10
- command: string;
11
- args: string[];
12
- env?: Record<string, string>;
13
- }
14
- export interface SnowCodeConfig {
15
- mcpServers?: Record<string, SnowCodeMcpServer>;
16
- servers?: Record<string, SnowCodeMcpServer>;
17
- }
18
- /**
19
- * Enterprise MCP server configuration options
20
- */
21
- export interface EnterpriseMcpConfig {
22
- licenseKey: string;
23
- serverUrl?: string;
24
- credentials?: {
25
- jira?: {
26
- host: string;
27
- email: string;
28
- apiToken: string;
29
- };
30
- azure?: {
31
- organization: string;
32
- pat: string;
33
- };
34
- confluence?: {
35
- host: string;
36
- email: string;
37
- apiToken: string;
38
- };
39
- };
40
- }
41
- /**
42
- * Get the SnowCode config file path
43
- */
44
- export declare function getSnowCodeConfigPath(): string;
45
- /**
46
- * Check if SnowCode config file exists
47
- */
48
- export declare function snowCodeConfigExists(): boolean;
49
- /**
50
- * Read SnowCode configuration file
51
- * @returns SnowCode configuration or empty object if file doesn't exist
52
- */
53
- export declare function readSnowCodeConfig(): Promise<SnowCodeConfig>;
54
- /**
55
- * Write SnowCode configuration file
56
- * @param config - Configuration to write
57
- */
58
- export declare function writeSnowCodeConfig(config: SnowCodeConfig): Promise<void>;
59
- /**
60
- * Add or update enterprise MCP server in SnowCode config
61
- * @param config - Enterprise MCP server configuration
62
- */
63
- export declare function addEnterpriseMcpServer(config: EnterpriseMcpConfig): Promise<void>;
64
- /**
65
- * Remove enterprise MCP server from SnowCode config
66
- */
67
- export declare function removeEnterpriseMcpServer(): Promise<void>;
68
- /**
69
- * Check if enterprise MCP server is configured in SnowCode config
70
- */
71
- export declare function isEnterpriseMcpConfigured(): Promise<boolean>;
72
- /**
73
- * Get enterprise MCP server configuration from SnowCode config
74
- */
75
- export declare function getEnterpriseMcpConfig(): Promise<SnowCodeMcpServer | null>;
76
- //# sourceMappingURL=snowcode-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snowcode-config.d.ts","sourceRoot":"","sources":["../../src/config/snowcode-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAE/C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE;QACZ,IAAI,CAAC,EAAE;YACL,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,KAAK,CAAC,EAAE;YACN,YAAY,EAAE,MAAM,CAAC;YACrB,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,UAAU,CAAC,EAAE;YACX,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,cAAc,CAAC,CAkBlE;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB/E;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4DvF;AAED;;GAEG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CA2B/D;AAED;;GAEG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,CAWlE;AA8DD;;GAEG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAoBhF"}
@@ -1,225 +0,0 @@
1
- "use strict";
2
- /**
3
- * SnowCode Configuration Management
4
- * Manages ~/.snowcode/config.json for MCP server configuration
5
- */
6
- var __importDefault = (this && this.__importDefault) || function (mod) {
7
- return (mod && mod.__esModule) ? mod : { "default": mod };
8
- };
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.getSnowCodeConfigPath = getSnowCodeConfigPath;
11
- exports.snowCodeConfigExists = snowCodeConfigExists;
12
- exports.readSnowCodeConfig = readSnowCodeConfig;
13
- exports.writeSnowCodeConfig = writeSnowCodeConfig;
14
- exports.addEnterpriseMcpServer = addEnterpriseMcpServer;
15
- exports.removeEnterpriseMcpServer = removeEnterpriseMcpServer;
16
- exports.isEnterpriseMcpConfigured = isEnterpriseMcpConfigured;
17
- exports.getEnterpriseMcpConfig = getEnterpriseMcpConfig;
18
- const path_1 = __importDefault(require("path"));
19
- const os_1 = __importDefault(require("os"));
20
- const promises_1 = __importDefault(require("fs/promises"));
21
- const fs_1 = require("fs");
22
- const logger_js_1 = require("../utils/logger.js");
23
- const logger = new logger_js_1.Logger('snowcode-config');
24
- /**
25
- * Get the SnowCode config file path
26
- */
27
- function getSnowCodeConfigPath() {
28
- return path_1.default.join(os_1.default.homedir(), '.snowcode', 'config.json');
29
- }
30
- /**
31
- * Check if SnowCode config file exists
32
- */
33
- function snowCodeConfigExists() {
34
- return (0, fs_1.existsSync)(getSnowCodeConfigPath());
35
- }
36
- /**
37
- * Read SnowCode configuration file
38
- * @returns SnowCode configuration or empty object if file doesn't exist
39
- */
40
- async function readSnowCodeConfig() {
41
- const configPath = getSnowCodeConfigPath();
42
- try {
43
- if (!(0, fs_1.existsSync)(configPath)) {
44
- logger.debug('SnowCode config file does not exist yet');
45
- return {};
46
- }
47
- const content = await promises_1.default.readFile(configPath, 'utf-8');
48
- const config = JSON.parse(content);
49
- logger.debug('Successfully read SnowCode config');
50
- return config;
51
- }
52
- catch (error) {
53
- logger.error(`Failed to read SnowCode config: ${error.message}`);
54
- return {};
55
- }
56
- }
57
- /**
58
- * Write SnowCode configuration file
59
- * @param config - Configuration to write
60
- */
61
- async function writeSnowCodeConfig(config) {
62
- const configPath = getSnowCodeConfigPath();
63
- const configDir = path_1.default.dirname(configPath);
64
- try {
65
- // Ensure .snowcode directory exists
66
- if (!(0, fs_1.existsSync)(configDir)) {
67
- await promises_1.default.mkdir(configDir, { recursive: true });
68
- logger.debug('Created .snowcode directory');
69
- }
70
- // Write configuration file
71
- await promises_1.default.writeFile(configPath, JSON.stringify(config, null, 2), 'utf-8');
72
- logger.info('Successfully wrote SnowCode config');
73
- }
74
- catch (error) {
75
- logger.error(`Failed to write SnowCode config: ${error.message}`);
76
- throw error;
77
- }
78
- }
79
- /**
80
- * Add or update enterprise MCP server in SnowCode config
81
- * @param config - Enterprise MCP server configuration
82
- */
83
- async function addEnterpriseMcpServer(config) {
84
- try {
85
- const snowCodeConfig = await readSnowCodeConfig();
86
- // Determine which key to use (mcpServers is preferred, fallback to servers)
87
- const serversKey = snowCodeConfig.mcpServers !== undefined ? 'mcpServers' : 'servers';
88
- if (!snowCodeConfig[serversKey]) {
89
- snowCodeConfig[serversKey] = {};
90
- }
91
- // Get the path to the enterprise proxy entry point
92
- // This needs to be the compiled dist file
93
- const enterpriseProxyPath = getEnterpriseProxyPath();
94
- // Build environment variables
95
- const env = {
96
- SNOW_LICENSE_KEY: config.licenseKey,
97
- };
98
- // Add server URL if provided
99
- if (config.serverUrl) {
100
- env.SNOW_ENTERPRISE_URL = config.serverUrl;
101
- }
102
- // Add credentials if provided (local mode)
103
- if (config.credentials) {
104
- if (config.credentials.jira) {
105
- env.JIRA_HOST = config.credentials.jira.host;
106
- env.JIRA_EMAIL = config.credentials.jira.email;
107
- env.JIRA_API_TOKEN = config.credentials.jira.apiToken;
108
- }
109
- if (config.credentials.azure) {
110
- env.AZURE_DEVOPS_ORG = config.credentials.azure.organization;
111
- env.AZURE_DEVOPS_PAT = config.credentials.azure.pat;
112
- }
113
- if (config.credentials.confluence) {
114
- env.CONFLUENCE_HOST = config.credentials.confluence.host;
115
- env.CONFLUENCE_EMAIL = config.credentials.confluence.email;
116
- env.CONFLUENCE_API_TOKEN = config.credentials.confluence.apiToken;
117
- }
118
- }
119
- // Add or update enterprise MCP server
120
- snowCodeConfig[serversKey]['snow-flow-enterprise'] = {
121
- command: 'node',
122
- args: [enterpriseProxyPath],
123
- env,
124
- };
125
- // Write updated configuration
126
- await writeSnowCodeConfig(snowCodeConfig);
127
- logger.info('Successfully added enterprise MCP server to SnowCode config');
128
- }
129
- catch (error) {
130
- logger.error(`Failed to add enterprise MCP server: ${error.message}`);
131
- throw error;
132
- }
133
- }
134
- /**
135
- * Remove enterprise MCP server from SnowCode config
136
- */
137
- async function removeEnterpriseMcpServer() {
138
- try {
139
- const snowCodeConfig = await readSnowCodeConfig();
140
- // Check both possible keys
141
- let removed = false;
142
- if (snowCodeConfig.mcpServers?.['snow-flow-enterprise']) {
143
- delete snowCodeConfig.mcpServers['snow-flow-enterprise'];
144
- removed = true;
145
- }
146
- if (snowCodeConfig.servers?.['snow-flow-enterprise']) {
147
- delete snowCodeConfig.servers['snow-flow-enterprise'];
148
- removed = true;
149
- }
150
- if (removed) {
151
- await writeSnowCodeConfig(snowCodeConfig);
152
- logger.info('Successfully removed enterprise MCP server from SnowCode config');
153
- }
154
- else {
155
- logger.debug('Enterprise MCP server not found in config');
156
- }
157
- }
158
- catch (error) {
159
- logger.error(`Failed to remove enterprise MCP server: ${error.message}`);
160
- throw error;
161
- }
162
- }
163
- /**
164
- * Check if enterprise MCP server is configured in SnowCode config
165
- */
166
- async function isEnterpriseMcpConfigured() {
167
- try {
168
- const snowCodeConfig = await readSnowCodeConfig();
169
- return !!(snowCodeConfig.mcpServers?.['snow-flow-enterprise'] ||
170
- snowCodeConfig.servers?.['snow-flow-enterprise']);
171
- }
172
- catch (error) {
173
- return false;
174
- }
175
- }
176
- /**
177
- * Get the path to the enterprise proxy entry point
178
- * Tries to find the compiled dist file, falls back to source if in development
179
- */
180
- function getEnterpriseProxyPath() {
181
- // First try to find in node_modules (installed package)
182
- const nodeModulesPath = path_1.default.join(process.cwd(), 'node_modules', 'snow-flow', 'dist', 'mcp', 'enterprise-proxy', 'index.js');
183
- if ((0, fs_1.existsSync)(nodeModulesPath)) {
184
- logger.debug('Using enterprise proxy from node_modules');
185
- return nodeModulesPath;
186
- }
187
- // Try global installation
188
- const globalNodeModulesPath = path_1.default.join(os_1.default.homedir(), '.npm', 'lib', 'node_modules', 'snow-flow', 'dist', 'mcp', 'enterprise-proxy', 'index.js');
189
- if ((0, fs_1.existsSync)(globalNodeModulesPath)) {
190
- logger.debug('Using enterprise proxy from global installation');
191
- return globalNodeModulesPath;
192
- }
193
- // Fallback to development path (when running from source)
194
- const devPath = path_1.default.join(__dirname, '..', '..', 'dist', 'mcp', 'enterprise-proxy', 'index.js');
195
- if ((0, fs_1.existsSync)(devPath)) {
196
- logger.debug('Using enterprise proxy from development build');
197
- return devPath;
198
- }
199
- // Last resort - relative to current file location
200
- logger.warn('Enterprise proxy not found in standard locations, using relative path');
201
- return path_1.default.join(__dirname, '..', '..', 'dist', 'mcp', 'enterprise-proxy', 'index.js');
202
- }
203
- /**
204
- * Get enterprise MCP server configuration from SnowCode config
205
- */
206
- async function getEnterpriseMcpConfig() {
207
- try {
208
- const snowCodeConfig = await readSnowCodeConfig();
209
- const server = snowCodeConfig.mcpServers?.['snow-flow-enterprise'] ||
210
- snowCodeConfig.servers?.['snow-flow-enterprise'] ||
211
- null;
212
- if (server) {
213
- logger.debug('Found enterprise MCP server configuration');
214
- }
215
- else {
216
- logger.debug('Enterprise MCP server not configured');
217
- }
218
- return server;
219
- }
220
- catch (error) {
221
- logger.error(`Failed to get enterprise MCP config: ${error.message}`);
222
- return null;
223
- }
224
- }
225
- //# sourceMappingURL=snowcode-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snowcode-config.js","sourceRoot":"","sources":["../../src/config/snowcode-config.ts"],"names":[],"mappings":"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"}