snow-flow 8.3.2 → 8.4.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 (45) hide show
  1. package/OPENCODE-SETUP.md +312 -0
  2. package/OPENCODE-TROUBLESHOOTING.md +381 -0
  3. package/dist/agents/index.d.ts +2 -2
  4. package/dist/agents/index.d.ts.map +1 -1
  5. package/dist/agents/index.js +2 -4
  6. package/dist/agents/index.js.map +1 -1
  7. package/dist/cli.js +208 -244
  8. package/dist/cli.js.map +1 -1
  9. package/dist/memory/session-memory.d.ts +80 -0
  10. package/dist/memory/session-memory.d.ts.map +1 -0
  11. package/dist/memory/session-memory.js +468 -0
  12. package/dist/memory/session-memory.js.map +1 -0
  13. package/dist/sdk/claude-agent-sdk-integration.d.ts +4 -1
  14. package/dist/sdk/claude-agent-sdk-integration.d.ts.map +1 -1
  15. package/dist/sdk/claude-agent-sdk-integration.js.map +1 -1
  16. package/dist/sdk/index.d.ts +2 -7
  17. package/dist/sdk/index.d.ts.map +1 -1
  18. package/dist/sdk/index.js +2 -7
  19. package/dist/sdk/index.js.map +1 -1
  20. package/dist/snow-flow-system.d.ts +3 -7
  21. package/dist/snow-flow-system.d.ts.map +1 -1
  22. package/dist/snow-flow-system.js +59 -40
  23. package/dist/snow-flow-system.js.map +1 -1
  24. package/dist/utils/mcp-output-formatter.d.ts +128 -0
  25. package/dist/utils/mcp-output-formatter.d.ts.map +1 -0
  26. package/dist/utils/mcp-output-formatter.js +442 -0
  27. package/dist/utils/mcp-output-formatter.js.map +1 -0
  28. package/dist/utils/opencode-output-interceptor.d.ts +40 -0
  29. package/dist/utils/opencode-output-interceptor.d.ts.map +1 -0
  30. package/dist/utils/opencode-output-interceptor.js +258 -0
  31. package/dist/utils/opencode-output-interceptor.js.map +1 -0
  32. package/package.json +4 -2
  33. package/scripts/bulk-optimize-tools.js +486 -0
  34. package/scripts/cleanup-mcp-servers.js +115 -0
  35. package/scripts/generate-mcp-config.js +45 -0
  36. package/scripts/mcp-server-manager.sh +320 -0
  37. package/scripts/optimize-mcp-tools.ts +410 -0
  38. package/scripts/reset-mcp-servers.js +266 -0
  39. package/scripts/safe-mcp-cleanup.js +151 -0
  40. package/scripts/setup-mcp.js +106 -0
  41. package/scripts/start-mcp-proper.js +76 -0
  42. package/scripts/start-opencode.sh +123 -0
  43. package/scripts/start-sysprops-mcp.js +43 -0
  44. package/scripts/test-todowrite-timeout.js +108 -0
  45. package/scripts/update-version.js +31 -0
@@ -0,0 +1,258 @@
1
+ "use strict";
2
+ /**
3
+ * OpenCode Output Interceptor
4
+ * Captures and reformats OpenCode's output to show beautiful MCP tool execution
5
+ *
6
+ * Detects patterns like:
7
+ * - Shell Create incident dashboard via MCP server
8
+ * - MCP tool execution scripts
9
+ * - JSON-RPC messages
10
+ *
11
+ * And reformats them using MCPOutputFormatter for clean, structured display
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.OpenCodeOutputInterceptor = void 0;
15
+ exports.interceptOpenCodeOutput = interceptOpenCodeOutput;
16
+ const stream_1 = require("stream");
17
+ const mcp_output_formatter_js_1 = require("./mcp-output-formatter.js");
18
+ class OpenCodeOutputInterceptor extends stream_1.Transform {
19
+ constructor(options) {
20
+ super({ objectMode: false });
21
+ this.buffer = '';
22
+ this.inShellBlock = false;
23
+ this.inMCPExecution = false;
24
+ this.shellBlockLines = [];
25
+ this.formatter = new mcp_output_formatter_js_1.MCPOutputFormatter({ quiet: options?.quiet || false });
26
+ this.quiet = options?.quiet || false;
27
+ }
28
+ _transform(chunk, encoding, callback) {
29
+ const text = chunk.toString();
30
+ this.buffer += text;
31
+ // Process line by line
32
+ const lines = this.buffer.split('\n');
33
+ this.buffer = lines.pop() || ''; // Keep incomplete line in buffer
34
+ for (const line of lines) {
35
+ this.processLine(line + '\n');
36
+ }
37
+ callback();
38
+ }
39
+ _flush(callback) {
40
+ // Process any remaining buffer
41
+ if (this.buffer.length > 0) {
42
+ this.processLine(this.buffer);
43
+ }
44
+ callback();
45
+ }
46
+ processLine(line) {
47
+ // Detect start of shell MCP execution
48
+ if (line.match(/^Shell\s+(Create|Execute|Query|Update|Delete|Test|Validate)\s+.+via\s+MCP/i)) {
49
+ this.startMCPExecution(line);
50
+ return;
51
+ }
52
+ // Detect shell command block
53
+ if (line.match(/^\$\s+cat\s+>\s+\/tmp\/.*\.js\s+<<\s+'EOF'/)) {
54
+ this.inShellBlock = true;
55
+ this.shellBlockLines = [];
56
+ return; // Don't output this line
57
+ }
58
+ // Detect end of shell block
59
+ if (this.inShellBlock && line.trim() === 'EOF') {
60
+ this.inShellBlock = false;
61
+ this.handleShellBlock();
62
+ return; // Don't output this line
63
+ }
64
+ // Collect shell block lines
65
+ if (this.inShellBlock) {
66
+ this.shellBlockLines.push(line);
67
+ return; // Don't output during collection
68
+ }
69
+ // Detect MCP tool execution patterns in shell output
70
+ if (line.includes('tools/call') && line.includes('params')) {
71
+ this.extractMCPToolCall(line);
72
+ return;
73
+ }
74
+ // Detect MCP server output
75
+ if (line.match(/MCP (Error|Info|Debug):/i) && this.inMCPExecution) {
76
+ // Suppress internal MCP logs during execution
77
+ return;
78
+ }
79
+ // Detect JSON-RPC responses
80
+ if (this.tryParseJSONRPC(line)) {
81
+ return; // Handled by JSON-RPC parser
82
+ }
83
+ // Detect success markers
84
+ if (line.match(/Tool result:|Result:|✓|✅|Success/i) && this.inMCPExecution) {
85
+ this.handleMCPSuccess(line);
86
+ return;
87
+ }
88
+ // Detect error markers
89
+ if (line.match(/Error:|❌|Failed|Exception/i) && this.inMCPExecution) {
90
+ this.handleMCPError(line);
91
+ return;
92
+ }
93
+ // Pass through other lines unchanged
94
+ if (!this.quiet) {
95
+ this.push(line);
96
+ }
97
+ }
98
+ startMCPExecution(line) {
99
+ this.inMCPExecution = true;
100
+ // Extract tool description from line like:
101
+ // "Shell Create incident dashboard via MCP server"
102
+ const match = line.match(/^Shell\s+(.+?)\s+via\s+MCP/i);
103
+ const description = match ? match[1] : 'MCP tool execution';
104
+ this.currentExecution = {
105
+ description,
106
+ startTime: Date.now(),
107
+ status: 'pending'
108
+ };
109
+ // Don't show the original shell line
110
+ }
111
+ handleShellBlock() {
112
+ // Parse the shell script to extract MCP tool details
113
+ const scriptContent = this.shellBlockLines.join('\n');
114
+ // Extract server name
115
+ const serverMatch = scriptContent.match(/\/([^\/]+)\/index\.js/);
116
+ const server = serverMatch ? serverMatch[1] : 'servicenow-unified';
117
+ // Extract tool call from script
118
+ const toolMatch = scriptContent.match(/name:\s*['"]([^'"]+)['"]/);
119
+ const tool = toolMatch ? toolMatch[1] : 'unknown';
120
+ // Extract parameters
121
+ let params = {};
122
+ const paramsMatch = scriptContent.match(/arguments:\s*({[\s\S]*?})/);
123
+ if (paramsMatch) {
124
+ try {
125
+ // Clean up the params string and parse
126
+ const paramsStr = paramsMatch[1]
127
+ .replace(/(['"])?([a-zA-Z0-9_]+)(['"])?\s*:/g, '"$2":') // Quote keys
128
+ .replace(/'/g, '"'); // Replace single quotes with double quotes
129
+ params = JSON.parse(paramsStr);
130
+ }
131
+ catch (e) {
132
+ // If parsing fails, extract key params manually
133
+ const lines = scriptContent.split('\n');
134
+ for (const line of lines) {
135
+ const kvMatch = line.match(/^\s*([a-zA-Z_]+):\s*['"]?([^'"]+)['"]?/);
136
+ if (kvMatch) {
137
+ params[kvMatch[1]] = kvMatch[2];
138
+ }
139
+ }
140
+ }
141
+ }
142
+ // Update current execution with details
143
+ if (this.currentExecution) {
144
+ this.currentExecution.server = server;
145
+ this.currentExecution.tool = tool;
146
+ this.currentExecution.params = params;
147
+ this.currentExecution.status = 'executing';
148
+ // Show beautiful formatted header
149
+ this.formatter.startToolCall({
150
+ server,
151
+ tool,
152
+ params,
153
+ description: this.currentExecution.description
154
+ });
155
+ }
156
+ }
157
+ extractMCPToolCall(line) {
158
+ // Try to parse JSON-RPC tool call
159
+ try {
160
+ const jsonMatch = line.match(/({.*})/);
161
+ if (jsonMatch) {
162
+ const rpc = JSON.parse(jsonMatch[1]);
163
+ if (rpc.method === 'tools/call' && rpc.params) {
164
+ if (this.currentExecution) {
165
+ this.currentExecution.tool = rpc.params.name;
166
+ this.currentExecution.params = rpc.params.arguments;
167
+ }
168
+ }
169
+ }
170
+ }
171
+ catch (e) {
172
+ // Ignore parse errors
173
+ }
174
+ }
175
+ tryParseJSONRPC(line) {
176
+ try {
177
+ const trimmed = line.trim();
178
+ if (!trimmed.startsWith('{'))
179
+ return false;
180
+ const rpc = JSON.parse(trimmed);
181
+ // Handle RPC result
182
+ if (rpc.result && this.inMCPExecution && this.currentExecution) {
183
+ this.handleMCPSuccess(JSON.stringify(rpc.result, null, 2));
184
+ return true;
185
+ }
186
+ // Handle RPC error
187
+ if (rpc.error && this.inMCPExecution) {
188
+ this.handleMCPError(rpc.error.message || JSON.stringify(rpc.error));
189
+ return true;
190
+ }
191
+ }
192
+ catch (e) {
193
+ // Not valid JSON, return false
194
+ }
195
+ return false;
196
+ }
197
+ handleMCPSuccess(resultLine) {
198
+ if (!this.currentExecution)
199
+ return;
200
+ const duration = this.currentExecution.startTime
201
+ ? (Date.now() - this.currentExecution.startTime) / 1000
202
+ : 0;
203
+ // Try to extract result data
204
+ let resultData;
205
+ try {
206
+ const jsonMatch = resultLine.match(/({[\s\S]*})/);
207
+ if (jsonMatch) {
208
+ resultData = JSON.parse(jsonMatch[1]);
209
+ }
210
+ }
211
+ catch (e) {
212
+ resultData = { message: resultLine.trim() };
213
+ }
214
+ // Show beautiful formatted result
215
+ this.formatter.showToolResult({
216
+ server: this.currentExecution.server || 'servicenow-unified',
217
+ tool: this.currentExecution.tool || 'unknown',
218
+ params: this.currentExecution.params || {},
219
+ description: this.currentExecution.description
220
+ }, {
221
+ success: true,
222
+ data: resultData,
223
+ executionTime: duration
224
+ });
225
+ // Reset state
226
+ this.inMCPExecution = false;
227
+ this.currentExecution = undefined;
228
+ }
229
+ handleMCPError(errorLine) {
230
+ if (!this.currentExecution)
231
+ return;
232
+ const duration = this.currentExecution.startTime
233
+ ? (Date.now() - this.currentExecution.startTime) / 1000
234
+ : 0;
235
+ // Show beautiful formatted error
236
+ this.formatter.showToolResult({
237
+ server: this.currentExecution.server || 'servicenow-unified',
238
+ tool: this.currentExecution.tool || 'unknown',
239
+ params: this.currentExecution.params || {},
240
+ description: this.currentExecution.description
241
+ }, {
242
+ success: false,
243
+ error: errorLine.trim(),
244
+ executionTime: duration
245
+ });
246
+ // Reset state
247
+ this.inMCPExecution = false;
248
+ this.currentExecution = undefined;
249
+ }
250
+ }
251
+ exports.OpenCodeOutputInterceptor = OpenCodeOutputInterceptor;
252
+ /**
253
+ * Convenience function to pipe OpenCode output through the interceptor
254
+ */
255
+ function interceptOpenCodeOutput(options) {
256
+ return new OpenCodeOutputInterceptor(options);
257
+ }
258
+ //# sourceMappingURL=opencode-output-interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode-output-interceptor.js","sourceRoot":"","sources":["../../src/utils/opencode-output-interceptor.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.2",
3
+ "version": "8.4.0",
4
4
  "description": "ServiceNow development with OpenCode - 75+ LLM providers (Claude, GPT, Gemini, Llama, Mistral, DeepSeek, Groq, Ollama) • 410 Optimized Tools • 2 MCP Servers • Native Predictive Intelligence builder • Multi-agent orchestration • Use ANY AI coding assistant",
5
5
  "main": "dist/index.js",
6
6
  "type": "commonjs",
@@ -10,7 +10,7 @@
10
10
  "files": [
11
11
  "dist/",
12
12
  "bin/",
13
- "scripts/postinstall.js",
13
+ "scripts/",
14
14
  ".env.example",
15
15
  ".mcp.json.template",
16
16
  "opencode-config.example.json",
@@ -18,6 +18,8 @@
18
18
  "README.md",
19
19
  "CLAUDE.md",
20
20
  "THEMES.md",
21
+ "OPENCODE-SETUP.md",
22
+ "OPENCODE-TROUBLESHOOTING.md",
21
23
  "LICENSE"
22
24
  ],
23
25
  "scripts": {